:root{--shrine-gold: #d97706;--shrine-gold-light: #fde68a;--shrine-gold-bg: #fef3c7;--shrine-paper: #fffbeb;--shrine-wood-dark: #451a03;--shrine-wood: #78350f;--shrine-wood-mid: #92400e;--shrine-wood-light: #a16207;--shrine-text: #78350f;--shrine-text-light: #b45309}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:linear-gradient(180deg,#1c1917,#292524 30%,#44403c);display:flex;align-items:center;justify-content:center;padding:20px}.card{width:100%;max-width:440px;background:linear-gradient(180deg,var(--shrine-gold-bg) 0%,var(--shrine-paper) 40%,#fff 100%);border-radius:24px;border:3px solid var(--shrine-gold);box-shadow:0 24px 80px #00000080,inset 0 1px #ffffff80;overflow:hidden;position:relative}.header{background:linear-gradient(135deg,var(--shrine-wood-mid) 0%,var(--shrine-wood) 50%,var(--shrine-wood-dark) 100%);padding:28px 24px 20px;text-align:center;position:relative;border-bottom:4px solid var(--shrine-gold)}.header-accent{position:absolute;top:8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--shrine-gold);border-radius:2px;opacity:.6}.header-icon{font-size:48px;margin-bottom:8px;animation:float 3s ease-in-out infinite,glow 2s ease-in-out infinite}.header-title{font-family:Zen Old Mincho,Shippori Mincho,serif;font-size:32px;font-weight:900;color:var(--shrine-gold-bg);letter-spacing:.12em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.header-subtitle{font-family:Noto Sans JP,sans-serif;font-size:12px;color:var(--shrine-gold-light);letter-spacing:.05em;margin-top:8px;line-height:1.7}.header-badge{display:inline-block;margin-top:10px;padding:3px 14px;background:var(--shrine-gold);color:var(--shrine-wood-dark);font-family:Noto Sans JP,sans-serif;font-size:11px;font-weight:700;border-radius:100px;letter-spacing:.05em}.form-body{padding:24px}.field{margin-bottom:16px}.field:last-of-type{margin-bottom:20px}.label{font-family:Shippori Mincho,serif;font-size:14px;font-weight:700;color:var(--shrine-wood);display:block;margin-bottom:6px}.label-optional{font-family:Noto Sans JP,sans-serif;font-size:11px;font-weight:400;color:var(--shrine-wood-light);margin-left:6px}.input,.select,.textarea{width:100%;padding:10px 14px;border:2px solid var(--shrine-gold-light);border-radius:10px;background:var(--shrine-paper);font-family:Noto Sans JP,sans-serif;font-size:14px;color:var(--shrine-text);transition:border-color .2s ease,box-shadow .2s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--shrine-gold);box-shadow:0 0 0 3px #d9770633}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2392400e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.textarea{resize:vertical;line-height:1.6;min-height:100px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.category-btn{padding:8px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:700;color:#888;transition:all .15s ease}.category-btn:hover{border-color:#d1d5db}.category-btn[data-active=true]{border-width:2px}.category-btn[data-category=tool][data-active=true]{background:#3b82f614;border-color:#3b82f6;color:#3b82f6}.category-btn[data-category=bug][data-active=true]{background:#ef444414;border-color:#ef4444;color:#ef4444}.category-btn[data-category=improve][data-active=true]{background:#22c55e14;border-color:#22c55e;color:#22c55e}.category-btn[data-category=other][data-active=true]{background:#8b5cf614;border-color:#8b5cf6;color:#8b5cf6}.submit-btn{width:100%;padding:14px 0;background:linear-gradient(135deg,var(--shrine-gold),#b45309);color:#fff;border:none;border-radius:12px;cursor:pointer;font-family:Shippori Mincho,serif;font-size:18px;font-weight:800;letter-spacing:.1em;box-shadow:0 4px 16px #d9770666;transition:all .2s ease}.submit-btn:hover{box-shadow:0 6px 24px #d9770680;transform:translateY(-1px)}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{background:#d1d5db;cursor:not-allowed;box-shadow:none;transform:none}.footer{padding:12px 24px;background:var(--shrine-paper);border-top:1px solid var(--shrine-gold-light);text-align:center}.footer-text{font-family:Noto Sans JP,sans-serif;font-size:11px;color:var(--shrine-wood-light)}.coin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000004d;display:flex;align-items:center;justify-content:center;transition:background .5s ease}.coin-overlay[data-phase=landing],.coin-overlay[data-phase=result]{background:#00000080}.coin-stage{position:relative;width:280px;height:320px;text-align:center}.coin{position:absolute;left:50%;font-size:48px;filter:drop-shadow(0 4px 12px rgba(217,119,6,.5));animation:coinFly .8s cubic-bezier(.25,.46,.45,.94) forwards}.lantern{position:absolute;bottom:40px;left:50%;transform:translate(-50%);font-size:80px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3));animation:boxShake .3s ease-in-out}.result-card{animation:resultFadeIn .6s ease forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.result-inner{background:linear-gradient(135deg,var(--shrine-gold-bg),var(--shrine-paper));border:3px solid var(--shrine-gold);border-radius:16px;padding:24px 32px;box-shadow:0 12px 40px #d977064d;text-align:center}.result-icon{font-size:42px;margin-bottom:8px}.result-title{font-family:Shippori Mincho,serif;font-size:18px;font-weight:700;color:var(--shrine-wood-mid);margin-bottom:6px}.result-sub{font-family:Noto Sans JP,sans-serif;font-size:12px;color:var(--shrine-wood-light)}.error-msg{font-family:Noto Sans JP,sans-serif;font-size:12px;color:#ef4444;text-align:center;margin-bottom:12px}@keyframes coinFly{0%{top:-60px;transform:translate(-50%) rotate(0) scale(1)}50%{top:80px;transform:translate(-50%) rotate(360deg) scale(1.2)}to{top:200px;transform:translate(-50%) rotate(720deg) scale(.5);opacity:0}}@keyframes boxShake{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-3deg)}75%{transform:translate(-50%) rotate(3deg)}}@keyframes resultFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 8px rgba(217,119,6,.3))}50%{filter:drop-shadow(0 0 20px rgba(217,119,6,.6))}}
