*{box-sizing:border-box;touch-action:manipulation}html{background:#140b22}body{color:#f5eefb;-webkit-tap-highlight-color:transparent;background:#140b22;margin:0;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;font-size:17px;line-height:1.5}::selection{color:#140b22;background:#ff8c1a}button,input{font:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #ffb35c}.app{max-width:560px;margin:0 auto;padding:16px 16px 40px}.header{align-items:center;gap:14px;padding:8px 4px 20px;display:flex}.header h1{letter-spacing:-.01em;color:#ffb35c;margin:0;font-size:42px;line-height:1.05}.tagline{color:#d9c8f0;margin:4px 0 0;font-size:16px}.pumpkin{flex:none;width:56px;height:56px}.ghost{flex:none;width:44px;height:44px;margin-left:auto;animation:3.2s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.ghost{animation:none}}.sound-toggle{color:#f5eefb;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#3a2560;border:2px solid #6b4fa3;border-radius:12px;margin:0 0 14px;padding:11px 14px;font-size:16px;font-weight:800;display:block}.panel{background:#241640;border:2px solid #4a2f7a;border-radius:20px;padding:22px 18px;box-shadow:0 10px 28px #00000073}.panel h2{color:#ffb35c;margin:20px 0 10px;font-size:27px;line-height:1.2}.panel h2:first-child{margin-top:0}.panel h3{color:#f5eefb;margin:22px 0 8px;font-size:19px}.howto{margin:0 0 20px;padding-left:22px}.howto li{margin-bottom:10px}.hint{color:#d9c8f0;font-size:15px}.notice,.error{color:#ffd9cc;background:#3d1a1a;border:2px solid #ff6b4a;border-radius:12px;padding:12px 14px}.banner{color:#d8ffd8;background:#1e3a1e;border:2px solid #5cb85c;border-radius:12px;padding:12px 14px;font-weight:700}.stack{flex-direction:column;gap:12px;margin:16px 0;display:flex}.row{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.row .btn{flex:140px}.btn{cursor:pointer;border:none;border-radius:14px;width:100%;min-height:52px;padding:13px 16px;font-size:17px;font-weight:800;display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#1a0f00;background:#ff8c1a;box-shadow:0 6px 18px #ff8c1a59}.btn-secondary{color:#f5eefb;background:#3a2560;border:2px solid #6b4fa3}.btn-text{color:#d9c8f0;background:0 0;min-height:44px}.field{margin:12px 0;display:block}.field span{color:#f5eefb;margin-bottom:6px;font-weight:700;display:block}.field input{color:#f5eefb;background:#140b22;border:2px solid #6b4fa3;border-radius:12px;width:100%;min-height:52px;padding:12px 14px}.field input::placeholder{color:#a894c4}.player-list,.clue-list{margin:12px 0;padding:0;list-style:none}.player-list li,.clue-list li{background:#140b22;border:1px solid #4a2f7a;border-radius:12px;margin-bottom:8px;padding:11px 14px}.slot{border-top:2px dashed #4a2f7a;margin-top:18px;padding-top:16px}.qr-canvas{border-radius:12px;max-width:100%;height:auto;margin:12px auto;display:block}.fallback{margin-top:14px}.fallback summary{cursor:pointer;color:#ffb35c;padding:8px 0;font-weight:700}.scanner{margin:14px 0}.scanner-video{background:#000;border-radius:12px;width:100%}.scanner-canvas{display:none}.word-card{color:#1a0f00;text-align:center;letter-spacing:-.01em;background:#ff8c1a;border-radius:20px;margin:18px 0;padding:36px 16px;font-size:40px;font-weight:900;box-shadow:0 10px 24px #ff8c1a59}.result-panel h2{color:#ffb35c}@media (width<=380px){.header h1{font-size:34px}.word-card{font-size:32px}}
