:root{--bg: #17110f;--panel: #241a17;--panel2: #2f2320;--ink: #f6eee6;--dim: #b9a99c;--accent: #e63946;--accent2: #ffb703;--line: #4a3a33;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{background:radial-gradient(ellipse at 50% -10%,#3a2620 0%,var(--bg) 60%) fixed}#app{max-width:560px;margin:0 auto;padding:12px 16px 48px;min-height:100dvh;display:flex;flex-direction:column;gap:12px}h1,h2,h3{margin:0}button{font:inherit;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){border-color:var(--accent2)}button:focus-visible,input:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}button:disabled{opacity:.4;cursor:default}button.on{background:var(--accent);border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);font-weight:700;font-size:1.1rem;padding:14px}button.primary.small{font-size:1rem;padding:10px 14px;white-space:nowrap;flex:none}button.ghost{background:transparent;border-style:dashed;color:var(--dim)}input{font:inherit;font-size:16px;color:var(--ink);background:#120d0b;border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;min-width:0}.bar{display:flex;align-items:center;gap:10px}.bar h1{font-size:1.15rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar .back{padding:6px 12px}.bar .count{color:var(--dim);font-variant-numeric:tabular-nums}.lead{color:var(--dim);margin:0;line-height:1.6}.note{color:var(--dim);font-size:.85rem;margin:0;line-height:1.5}.center{text-align:center}.hero{position:relative;text-align:center;padding:28px 8px 8px}.curtain{position:absolute;inset:0 0 auto 0;height:14px;background:repeating-linear-gradient(90deg,#8d1b23 0,#8d1b23 18px,#b0232d 18px,#b0232d 36px);border-radius:0 0 50% 50%/0 0 100% 100%;opacity:.9}.logo{font-size:2.2rem;letter-spacing:.05em;text-shadow:0 0 24px rgba(255,183,3,.35);margin-bottom:8px}.games{display:grid;gap:10px}.card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;position:relative;display:block;width:100%}.card h2{font-size:1.25rem;margin-bottom:6px}.card p{margin:0;color:var(--dim);line-height:1.5}button.card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.card.soon{opacity:.55}.badge{position:absolute;top:12px;right:12px;font-size:.75rem;background:var(--line);padding:2px 8px;border-radius:99px}.btns{display:flex;flex-wrap:wrap;gap:8px}.btns>*{flex:1 1 auto}.tabs{display:flex;gap:6px}.tabs button{flex:1}.pane,.opts{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row.col{flex-direction:column;align-items:stretch}.lbl{color:var(--dim);font-size:.9rem}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:44px;padding:8px 0}.stepper .val{min-width:1.5em;text-align:center;font-size:1.2rem;font-variant-numeric:tabular-nums}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1 1 auto;padding:8px 10px}.inrow{display:flex;gap:6px;align-items:center}.names{display:flex;flex-direction:column;gap:6px}input.code{text-transform:uppercase;letter-spacing:.2em;font-weight:700}.members{margin:0;padding-left:1.2em;line-height:1.8}.members .off{opacity:.45}.story{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:1.35rem;line-height:1.9;min-height:30vh;max-height:42vh;overflow-y:auto;word-break:break-all}.story.final{max-height:none}.story .pc.new{animation:pop .35s ease-out;text-shadow:0 0 10px currentColor}.story .caret{color:var(--dim);animation:blink 1s steps(2) infinite}@keyframes pop{0%{transform:scale(1.4);display:inline-block;opacity:.2}to{transform:none;opacity:1}}@keyframes blink{50%{opacity:0}}.seats{display:flex;flex-wrap:wrap;gap:6px}.seat{border:1px solid var(--c);color:var(--c);border-radius:99px;padding:3px 10px;font-size:.85rem}.seat.cur{background:var(--c);color:#1a1210;font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}.panel.mine{border-color:var(--accent2);box-shadow:0 0 20px #ffb70326}.turnlbl{font-weight:700;font-size:1.1rem}.timer{height:6px;background:#120d0b;border-radius:3px;overflow:hidden}.timer i{display:block;height:100%;width:0;background:var(--accent2);transition:width .1s linear}.timer.hurry i{background:var(--accent)}.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.chip{text-align:left;padding:10px;font-size:1.05rem}.chip small{color:var(--dim);margin-right:6px;font-size:.75rem}.mic.on{background:var(--accent);animation:blink 1s infinite}button.end{background:transparent;border-color:var(--accent);color:#ff9aa2}.title{text-align:center;font-size:1.3rem}.scores{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.polished h3{font-size:1rem;color:var(--accent2);margin-bottom:4px}.polished p{margin:0;line-height:1.8;background:var(--panel);border-radius:12px;padding:12px}.recs{display:flex;flex-direction:column;gap:10px}.rec{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}.rec .meta{display:flex;justify-content:space-between;gap:8px;color:var(--dim);font-size:.8rem}.rec .meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec h3{font-size:1rem;margin:4px 0}.rec p{margin:0;line-height:1.7}.rec .pol{color:var(--accent2);margin-top:6px;font-size:.9rem}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#000c;color:#fff;padding:10px 16px;border-radius:10px;z-index:100;max-width:90vw}@media(min-width:520px){.chips{grid-template-columns:repeat(3,1fr)}}.chips{grid-template-columns:repeat(3,minmax(0,1fr))!important}.wtabs{display:flex;gap:4px;flex-wrap:wrap}.wtabs button{padding:6px 8px;font-size:.8rem;white-space:nowrap;flex:1 1 auto}.chips{grid-template-columns:repeat(3,1fr)}.chip.flick{position:relative;min-height:60px;padding:14px 16px;overflow:hidden;text-align:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.chip.flick small{position:absolute;left:5px;top:3px;margin:0}.chip.flick .w{font-size:1.05rem;word-break:keep-all}.chip .fh{position:absolute;font-style:normal;font-size:.62rem;color:var(--dim);white-space:nowrap;pointer-events:none}.chip .fh.left{left:4px;top:50%;transform:translateY(-50%)}.chip .fh.right{right:4px;top:50%;transform:translateY(-50%)}.chip .fh.up{top:2px;left:50%;transform:translate(-50%)}.chip .fh.down{bottom:2px;left:50%;transform:translate(-50%)}.flickpop{position:fixed;z-index:90;display:grid;grid-template:1fr 1fr 1fr / 1fr 1fr 1fr;pointer-events:none}.flickpop .fc{display:flex;align-items:center;justify-content:center;text-align:center;background:#3a2b26;border:1px solid var(--line);border-radius:10px;font-size:.95rem;padding:2px;color:var(--ink);box-shadow:0 4px 14px #0008}.flickpop .fc.c{grid-area:2 / 2}.flickpop .fc.left{grid-area:2 / 1}.flickpop .fc.up{grid-area:1 / 2}.flickpop .fc.right{grid-area:2 / 3}.flickpop .fc.down{grid-area:3 / 2}.flickpop .fc.on{background:var(--accent2);color:#1a1210;font-weight:700}.story{min-height:22vh}@media(min-width:520px){.chips{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.chip.flick .w.long{font-size:.85rem}.card.live{border-color:var(--accent)}.card.live .btns{margin-top:12px}.stamps{display:flex;gap:6px;align-items:center}.stamps button{padding:6px 10px;font-size:1.15rem}.stamps .lbl{font-size:.8rem}.float{position:fixed;z-index:95;font-size:2rem;pointer-events:none;animation:floatup 1.1s ease-out forwards;transform:translate(-50%)}@keyframes floatup{to{transform:translate(-50%,-90px);opacity:0}}.story .pc.hid{opacity:.35;letter-spacing:.1em}.story .pc.tap{cursor:pointer}.story sup.lk{font-size:.55em;color:var(--accent2);margin-left:1px}.stage .now{min-height:1.6em;font-weight:700;text-align:center}.story.show .pc.new{animation:pop .35s ease-out}.award{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--accent2);border-radius:12px;padding:10px 12px}.award b{font-size:1.2rem}.guess{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rec a.open{display:inline-block;margin-top:6px;color:var(--accent2)}.secret{font-size:.9rem;color:var(--dim)}.secret b{color:var(--accent2)}button.cardbtn{text-align:left;border-color:var(--accent2);color:var(--accent2);background:transparent;font-size:.9rem}button.cardbtn:not(:disabled){background:var(--accent2);color:#1a1210;font-weight:700}.reveal{display:flex;flex-direction:column;gap:6px;background:var(--panel);border-radius:12px;padding:10px 12px;font-size:.9rem}.air{position:relative;height:150px;background:radial-gradient(ellipse at 50% 120%,#3a2620,transparent 70%);border-radius:14px;overflow:hidden}.bubble{position:absolute;top:10px;transform:translate(-10%);background:var(--accent2);color:#1a1210;font-weight:800;font-size:1.2rem;padding:8px 14px 12px;border-radius:16px;box-shadow:0 6px 16px #000a;animation:fly-in .45s ease-out,bob 2.4s ease-in-out .45s infinite}.bubble i{position:absolute;left:10px;right:10px;bottom:4px;height:4px;background:#1a1210;border-radius:2px;width:100%;max-width:calc(100% - 20px);transition:width .1s linear}.bubble:nth-child(2n){top:70px}.bubble.caught{background:#06d6a0;animation:burst .7s ease-out forwards}.bubble.missed{background:#555;color:#aaa;animation:drop .9s ease-in forwards}@keyframes fly-in{0%{transform:translate(120%,-40px) scale(.4);opacity:0}}@keyframes bob{50%{transform:translate(-10%,6px)}}@keyframes burst{to{transform:scale(1.8);opacity:0}}@keyframes drop{to{transform:translateY(160px) rotate(25deg);opacity:0}}.story.sf{min-height:20vh;font-size:1.05rem}.story.sf p{margin:0 0 6px}.story.sf p.plain{color:var(--dim)}.story.sf b.hit{color:#06d6a0;text-decoration:underline}.interim{min-height:1.2em;color:var(--dim);font-size:.9rem}.sfchips{display:flex;flex-direction:column;gap:6px}.sfchips .chip{text-align:left}.wordlist{display:flex;flex-wrap:wrap;gap:6px}.wordlist span{padding:3px 10px;border-radius:99px;border:1px solid var(--line)}.wordlist .ok{border-color:#06d6a0;color:#06d6a0}.wordlist .ng{color:var(--dim);text-decoration:line-through}.bubble small.by{display:block;font-size:.6rem;font-weight:400;opacity:.7}.elems{display:flex;flex-wrap:wrap;gap:5px}.elems span{padding:2px 9px;border-radius:99px;border:1px dashed var(--line);color:var(--dim);font-size:.85rem}.elems span.ok{border:1px solid #06d6a0;color:#06d6a0;background:#06d6a022}.round{display:flex;flex-direction:column;gap:6px;background:var(--panel);border-radius:12px;padding:10px}.round .story{max-height:none;min-height:0;font-size:1.05rem}.seat.dead{opacity:.35;text-decoration:line-through}.sjstack{display:flex;flex-direction:column;gap:4px}.sjstack .layer{margin-left:calc(var(--i) * 14px);padding:6px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:.9rem}.sjstack .layer.cur{border-color:var(--accent2);background:#3a2b26;font-weight:700}.sjstack .layer.future{opacity:.35}.sjstack .layer.closed{opacity:.5;text-decoration:line-through}.sjcard{background:var(--panel);border:1px solid var(--accent);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px}.sjcard b{font-size:1.3rem}.sjlog p{margin:2px 0}.sjlog .them{color:var(--accent2)}.sjlog .jump{color:#7bdff2;font-weight:700}.soonlist{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.soonlist .soon{padding:3px 10px;border-radius:99px;border:1px dashed var(--line);color:var(--dim);font-size:.85rem}.sjlog.nc{max-height:40vh;overflow-y:auto;background:var(--panel);border-radius:12px;padding:10px}.sjlog .bell{color:#7bdff2;font-weight:700}.sjlog .struck{text-decoration:line-through;opacity:.45}select.voice{font:inherit;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px;width:100%}.sect{font-size:.95rem;color:var(--accent2);margin:6px 0 -4px}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{text-align:left;display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.tile b{font-size:1rem}.tile span{font-size:.78rem;color:var(--dim);line-height:1.4}.tile:hover{border-color:var(--accent)}.relay{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:1.15rem;font-weight:700}.relay span{opacity:0;animation:relayin .4s ease-out forwards;border-bottom:2px solid currentColor}@keyframes relayin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card.live{display:flex;flex-direction:column;gap:8px}.card.live p{font-size:1rem}button.link{background:transparent;border:none;color:var(--dim);text-decoration:underline;padding:4px}.grpbar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.grpbar button{padding:12px 4px;font-size:1rem}.tile b{font-size:1rem;word-break:keep-all;overflow-wrap:anywhere}.tile span{font-size:.9rem}.settings{display:flex;flex-direction:column;gap:8px}.goal{font-size:.85rem;color:var(--dim)}.panel.folded .wtabs,.panel.folded .chips,.panel.folded .inrow,.panel.folded .end,.panel.folded .cardbtn,.panel.folded .secret{display:none!important}.settings[hidden]{display:none}
