:root{font-family:Inter,"Hiragino Kaku Gothic ProN",system-ui,sans-serif;color:#20342d;background:#f7f8f2;--green:#214f41;--muted:#778078;--line:#dde2d8}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #de7b4c;outline-offset:4px}.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:40px 25px;display:flex;flex-direction:column;background:#eff2e9}.brand{font-size:49px;font-weight:800;letter-spacing:-4px}.brand-caption{font-size:8px;letter-spacing:1.5px;margin-top:10px}.nav{margin-top:63px}.nav-item{font-size:13px;padding:15px 12px;border-radius:7px;margin-bottom:10px}.selected{background:#dce7d9;color:var(--green);font-weight:700}.side-note{margin-top:auto;padding-top:110px;white-space:pre-line}.side-note p{font-size:19px;line-height:1.9;font-weight:600}.side-note small{color:var(--muted);line-height:1.9;font-size:11px}.main{padding:0 48px;max-width:1500px;width:100%;margin:auto}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.6px}.connection-state{color:#537d59;background:#e7eddf;padding:9px 12px;border-radius:20px;font-size:9px}.connection-state.offline{background:#f8ded1;color:#923c15}.connection-state.offline:after{content:" · 再接続中"}.hero{padding:54px 0 48px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700}.green{color:#4d7551}.hero h1{font-size:clamp(32px,3.4vw,52px);line-height:1.5;letter-spacing:-1.5px;margin:18px 0 20px;white-space:pre-line}.lead{white-space:pre-line;color:#758077;line-height:2;font-size:13px}.hero-art{position:relative;min-height:250px}.orbit{position:absolute;border:1px solid #d0d9ca;border-radius:50%;width:240px;height:170px;left:10%;top:30px;transform:rotate(-35deg)}.orbit-two{transform:rotate(40deg)}.art-disc{position:absolute;border-radius:50%;display:grid;place-items:center;box-shadow:0 14px 25px #203b2012}.disc-one{width:125px;height:125px;left:10%;top:5px;background:#e9bb67;font-size:76px;font-family:Georgia,serif;transform:rotate(-18deg)}.disc-two{width:103px;height:103px;right:12%;top:75px;background:#284f3d;color:#f0f0d8;font-size:48px;transform:rotate(15deg)}.disc-three{width:76px;height:76px;left:17%;top:145px;background:#e59578;font-size:47px;transform:rotate(10deg)}.art-caption{position:absolute;bottom:0;left:14%;font-size:8px;letter-spacing:2px;color:#929c8d}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.section-heading h2{font-size:19px}.section-heading span{font-size:9px;letter-spacing:1px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.game-card{text-align:left;background:#fffef9;border:1px solid var(--line);border-radius:12px;padding:20px 15px 17px;color:inherit;transition:transform .15s,border-color .15s;min-width:0}.game-card:hover{transform:translateY(-4px)}.game-card.active{border-color:#355e42;box-shadow:0 0 0 1px #355e42}.game-icon{height:66px;width:100%;display:grid;place-items:center;font-size:39px;font-family:Georgia,serif;border-radius:8px;margin-bottom:20px;background:#e5e9d9;color:#537349}.game-wordwolf .game-icon{background:#e8e2f0;color:#706382}.game-quiz .game-icon{background:#f5e6c4;color:#a77b30}.game-mahjong .game-icon{background:#dce9e1;color:#285344}.game-yakyuken .game-icon{background:#f6e0d4;color:#b46a42}.game-card .eyebrow{font-size:7px;letter-spacing:1px}.game-card h3{font-size:16px;margin:9px 0}.game-card p{font-size:10px;line-height:1.85;min-height:38px;color:#7b8278;margin:0 0 16px}.game-meta{font-size:8px;letter-spacing:1px}.rules{font-size:11px;color:#738074;line-height:1.9;margin:17px 0 24px;padding-left:12px;border-left:2px solid #c6d3ba}.start-panel{margin:35px 0 0;background:#e9eee2;border:1px solid #dae1d1;border-radius:13px;padding:28px 30px;display:grid;grid-template-columns:1.4fr 1fr;gap:45px}.start-panel h2{font-size:23px;margin:10px 0}.start-panel p{font-size:11px;line-height:1.8}.join-box{border-left:1px solid #d1dbca;padding-left:30px}.join-box h3{font-size:17px}.join-box small{display:block;line-height:1.8;font-size:10px}.field-label{display:block;font-size:11px;margin:15px 0 7px}.input{border:1px solid #cfd8c8;background:#fffef9;padding:12px;border-radius:6px;width:100%;color:var(--green);font-size:12px}.button{border:1px solid #c8d1c2;border-radius:7px;background:#fffef7;color:var(--green);padding:12px 17px;font-size:12px;font-weight:600;margin:10px 8px 10px 0;line-height:1.5}.primary{background:var(--green);color:#fff;border-color:var(--green)}.secondary{background:#e2e9db}.quiet{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:4px}.footer{font-size:9px;color:#899181;padding:32px 0;line-height:1.8}.muted{color:var(--muted)}.room-heading{display:flex;justify-content:space-between;align-items:center;margin:38px 0 24px;gap:20px}.room-title{font-size:29px;line-height:1.5}.room-tools{display:flex;flex-wrap:wrap;justify-content:flex-end}.space-link{font-size:12px;text-decoration:underline}.people{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0 30px}.person{display:flex;gap:8px;align-items:center;font-size:11px;background:#f0f2e9;border:1px solid var(--line);border-radius:30px;padding:5px 13px 5px 5px}.avatar{height:28px;width:28px;border-radius:50%;background:#e6dfc9;display:grid;place-items:center;font-size:17px}.avatar-1{background:#deebd5}.avatar-2{background:#f1dacd}.avatar-3{background:#e3dce9}.help{display:block;font-size:11px;color:#7b8677;line-height:1.8}.waiting{padding:22px;background:#e9eede;border-radius:8px;font-size:13px}.board{background:#fffef9;border:1px solid var(--line);border-radius:13px;padding:32px;margin:24px 0}.question{font-size:25px;line-height:1.65;margin:24px 0}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.answer{border:1px solid #d9dfd2;border-radius:8px;padding:19px;background:#f5f6ed;color:#2b4c3e;text-align:left;font-size:14px}.answer.picked{border:2px solid #436c49;background:#e6eeda}.answer.correct{background:#dfe9c7;border-color:#789852}.explanation{background:#edf0e2;padding:19px;border-radius:8px;font-size:14px;line-height:1.8}.answer-count{font-size:11px;color:#7f8a7c;margin-top:25px}.scores{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.score{padding:13px;background:#f0f2e9;border-radius:8px;min-width:130px;display:grid;gap:9px;font-size:11px}.score strong{font-size:20px}.bridge-panel{padding:23px 0;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:#61725e}.bridge-panel small{display:block;font-size:10px;line-height:1.9}.secret{text-align:center;background:#ebe8f0;border-radius:12px;padding:32px;margin:24px 0;color:#635670}.secret h2{font-size:32px}.secret small{display:block;font-size:10px}.result-row{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:10px}.hints{line-height:2;font-size:14px;padding-left:24px}.world-map{width:100%;aspect-ratio:2;background:#e9f0ed;border:1px solid #d7e1d8;border-radius:8px;cursor:crosshair}.grid-line{stroke:#d5dfd7;stroke-width:.6}.land{fill:#bdcbb1;stroke:#abbba1;stroke-width:1}.map-pin{fill:#dc8354;stroke:#fff;stroke-width:2}.map-answer{fill:#2d6550;stroke:#fff;stroke-width:2}.geo-controls{display:flex;align-items:end;gap:14px;margin:22px 0}.geo-controls label{width:120px;font-size:11px}.geo-controls .input{margin-top:8px}.geo-controls .button{margin-bottom:0}.veggie-stage{display:flex;justify-content:space-around;padding:20px 0;text-align:center}.veggie{width:170px;height:220px;position:relative}.veggie-body{position:absolute;font-size:130px;top:55px;left:15px}.coat{position:absolute;font-size:83px;top:110px;left:42px}.scarf{position:absolute;font-size:61px;top:85px;left:56px}.hat{position:absolute;font-size:80px;top:0;left:46px}.veggie-card h3{font-size:16px}.veggie-card p{font-size:12px}.hand-choices{display:flex;gap:12px;justify-content:center}.rivers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.river{background:#edf0e3;padding:15px;border-radius:8px;font-size:12px}.discard-tiles{line-height:2.3;margin-top:10px;color:#6b795e;min-height:45px}.tiles{display:flex;gap:5px;flex-wrap:wrap;margin:16px 0}.tile{padding:10px 6px;background:#fffced;border:1px solid #c1caba;border-bottom:4px solid #a6b69a;border-radius:5px;min-width:38px;font-weight:700;color:#394d70;font-size:16px}.suit-1{color:#904d47}.suit-2{color:#426544}.suit-3{color:#705164}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:16px 24px;background:#213e32;color:#fff;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;font-size:13px;z-index:100;max-width:90vw}#toast.shown{opacity:1;transform:translate(-50%,0)}.copy-dialog{max-width:520px;width:90vw;border:1px solid #d6dfcc;border-radius:12px;padding:24px}.copy-dialog textarea{height:130px}.copy-dialog::backdrop{background:#12271b88}@media(min-width:1500px){.main{padding:0 70px}}@media(max-width:1100px){.shell{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding:32px 19px}.main{padding:0 28px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-art{transform:scale(.85)}.hero h1{font-size:36px}.game-card p{min-height:auto}}@media(max-width:760px){.shell{display:block}.sidebar{flex-direction:row;align-items:center;justify-content:space-between;padding:14px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:33px;letter-spacing:-2px}.brand-caption{font-size:7px}.nav,.side-note{display:none}.main{padding:0 20px}.topbar{height:65px;font-size:8px;letter-spacing:.6px}.hero{padding:35px 0;grid-template-columns:1fr}.hero-art{display:none}.hero h1{font-size:37px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading span{font-size:7px}.section-heading h2{font-size:17px}.start-panel{grid-template-columns:1fr;gap:28px;padding:24px}.join-box{border-left:0;border-top:1px solid #d1dbca;padding:24px 0 0}.room-heading{align-items:flex-start;flex-direction:column;gap:0}.room-title{font-size:25px}.room-tools{justify-content:flex-start}.board{padding:20px}.question{font-size:21px}.options{grid-template-columns:1fr}.geo-controls{flex-wrap:wrap}.veggie{transform:scale(.83);margin:-15px;width:150px}.hand-choices{gap:6px}.hand-choices .answer{font-size:11px;padding:14px 8px}.rivers{grid-template-columns:1fr}.scores{gap:8px}.score{min-width:100px}.room-heading{margin-top:28px}.footer{font-size:8px}}

.game-foodvote .game-icon{background:#ede2ce;color:#9a713e}
.food-intro{font-size:13px;line-height:1.9;color:#748074;max-width:650px}.food-status{font-size:11px;padding:12px 16px;background:#eef1e6;border-radius:6px;margin:24px 0}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.food-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fafaf4;min-width:0}.food-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.food-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7e6d7;color:#607051;font-family:Georgia,serif;font-size:19px}.food-card-head .eyebrow{font-size:8px;letter-spacing:1.2px}.food-photo{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:#eeeee5;border-radius:5px}.food-vote{width:100%;margin:4px 0 0}.food-vote:disabled{opacity:1;color:#7a8575;background:#edf0e6}.food-vote.primary:disabled{background:var(--green);color:#fff}.food-picked{border-color:#698154}.food-winner{background:#f3f1df;border-color:#b6a459}.food-winner .food-letter{background:#dccc8f}.food-zoom{font-size:10px;padding:5px 0;margin:7px 0}.food-dish{font-size:17px;margin:12px 0}.food-author{font-size:12px;color:#60705b}.food-result{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 5px;font-size:10px}.food-result strong{font-size:25px;font-weight:500}.food-meter{width:100%;height:8px;display:block;margin-bottom:17px}.food-meter::-webkit-meter-bar{background:#e0e4d5;border:0}.food-meter::-webkit-meter-optimum-value{background:#658259}.food-source{font-size:11px;text-decoration:underline;text-underline-offset:4px}.food-card .help{font-size:9px;margin-top:8px}.food-dialog{max-width:min(95vw,1100px);max-height:95vh;border:0;border-radius:12px;background:#fafaf4;padding:20px}.food-dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.food-dialog::backdrop{background:#15281ce0}@media(max-width:760px){.food-grid{grid-template-columns:1fr;gap:18px}.food-card{padding:13px}.food-status{line-height:1.8}.food-dialog{padding:12px}}
.mahjong-table-info{font-size:11px;line-height:1.8;color:#61745a;margin-top:20px}.river-current{outline:2px solid #648455;outline-offset:-2px}
.room-events{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:12px}.room-events summary{cursor:pointer;color:#52674c}.room-events ol{padding-left:20px;line-height:2}.room-events time{font-size:10px;color:#7b8677;margin-right:14px}
.game-hanafuda .game-icon{background:#f2dedf;color:#a14350}.hana-status{font-size:11px;color:#71806e;line-height:1.8;margin-top:20px}.hana-instruction{font-size:13px;line-height:1.8}.hana-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px;max-width:880px;margin:16px 0}.hana-field{background:#edf1e5;padding:16px;border-radius:10px;min-height:90px}.hana-card{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:space-between;min-height:128px;max-width:120px;padding:10px 5px;border:1px solid #d6ceba;border-radius:6px;background:linear-gradient(155deg,#fffcf3,#eee9dc);color:#324635;box-shadow:0 3px 0 #d7d3c6;text-align:center}.hana-month{font-size:10px;white-space:nowrap}.hana-symbol{font-size:32px;line-height:1.3}.hana-motif{font-size:11px;font-weight:700}.hana-kind{font-size:8px;letter-spacing:1px;color:#778068}.hana-light{border-color:#c7a96a;background:linear-gradient(155deg,#fff9dc,#f0e4bd)}.hana-ribbon{border-top:5px solid #b96165}.hana-seed{border-top:5px solid #677f91}.hana-match{outline:3px solid #ca784f;outline-offset:2px}.hana-card:is(button):hover{transform:translateY(-3px)}.hana-drawn{display:flex;align-items:center;gap:24px;background:#f3ecd9;border-radius:8px;padding:16px;margin:20px 0}.hana-drawn .hana-card{width:90px}.hana-hand{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.hana-decisions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.hana-call{font-size:12px;background:#f4e3d5;color:#924e31;padding:14px;border-radius:6px;line-height:1.8}.hana-piles{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.hana-pile{padding:16px;background:#f1f3e9;border-radius:8px;min-width:0}.hana-pile h3{font-size:13px;margin-top:0}.hana-captured{display:flex;flex-wrap:wrap;gap:5px}.hana-chip{padding:5px 7px;border:1px solid #d4d9c8;border-radius:4px;background:#fcfcf5;font-size:9px}.hana-chip.hana-light{background:#f7edc8}.hana-chip.hana-ribbon{color:#a14350}.hana-guide{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:12px;line-height:1.9}.hana-guide summary{cursor:pointer}.hana-guide dl{display:grid;grid-template-columns:minmax(80px,1fr) 3fr;gap:8px 12px}.hana-guide dd{margin:0;color:#67745d}.hana-guide dt{font-weight:600}@media(max-width:760px){.hana-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.hana-card{min-height:110px}.hana-field{padding:10px}.hana-symbol{font-size:27px}.hana-piles{grid-template-columns:1fr}.hana-guide dl{grid-template-columns:90px 1fr}.hana-drawn{gap:12px}}
.game-shiritori .game-icon{background:#e8e1f0;color:#766288}.word-prompt{display:flex;align-items:center;gap:20px;background:#f0ecf4;padding:20px;border-radius:8px;line-height:1.8;margin:22px 0}.word-seed{font-family:serif;font-size:42px;color:#78668b;flex-shrink:0}.word-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.word-field{min-width:0}.word-field-meaning,.word-form-note{grid-column:1/-1}.word-form .input{width:100%;margin:7px 0 0}.word-form textarea{resize:vertical;font:inherit;line-height:1.7}.word-form .button{justify-self:start;margin:0}.word-featured{background:#f4f0e7;border-left:4px solid #9a886c;border-radius:5px;padding:24px 28px;margin:24px 0}.word-reading{font-size:12px;color:#857a6b;margin:12px 0 4px}.word-title{font-family:serif;font-size:34px;margin:4px 0 14px;line-height:1.5}.word-meaning{font-size:14px;line-height:1.9;white-space:pre-wrap}.word-entry{overflow-wrap:anywhere;min-width:0}.word-votes{display:flex;flex-wrap:wrap;gap:12px}.word-verdict{font-size:20px;line-height:1.7;color:#5e7150}.word-dictionary{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.word-dictionary>h3{font-size:16px}.word-chain{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;counter-reset:word}.word-chain .word-entry{background:#f1f3e9;border:1px solid #dce1cf;border-radius:6px;padding:16px 18px;counter-increment:word}.word-chain .word-entry::before{content:counter(word,decimal-leading-zero);font-size:10px;letter-spacing:2px;color:#778267}.word-chain h4{font-size:20px;margin:4px 0 8px}.word-chain .word-meaning{font-size:12px;margin:8px 0}.word-chain .word-reading{margin-top:8px}@media(max-width:760px){.word-form,.word-chain{grid-template-columns:1fr}.word-prompt{gap:15px;padding:16px;font-size:13px}.word-featured{padding:18px}.word-title{font-size:28px}.word-votes .button{width:100%}.word-form .button{justify-self:stretch}.word-verdict{font-size:18px}}
.game-proof .game-icon{background:#dce9ee;color:#456d80}.proof-verification{font-size:12px;line-height:1.8;color:#536f7c;border-bottom:1px solid #d8e4e9;padding-bottom:16px}.proof-theorem{background:#eaf0f3;border-radius:8px;padding:24px;margin:24px 0 30px}.proof-theorem h2{font-size:24px;font-family:serif}.proof-theorem h3{font-size:12px;color:#627580;margin-top:24px}.proof-math,.proof-claim,.proof-reason,.proof-response,.proof-issue{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.proof-math{font-size:15px}.proof-problems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.proof-problem{background:#edf2f3;border:1px solid #cfdde3;border-radius:8px;padding:20px;text-align:left;color:inherit}.proof-problem:hover{border-color:#648999;background:#e1ebef}.proof-problem h3{font-size:16px;line-height:1.7}.proof-problem p{font-size:12px;line-height:1.9}.proof-problem .eyebrow{font-size:9px;letter-spacing:.5px}.proof-form{display:grid;gap:18px;margin:20px 0 28px}.proof-form .input{width:100%;margin:8px 0 0;font:inherit;line-height:1.8;resize:vertical}.proof-form .button{justify-self:start;margin:0}.proof-field{min-width:0}.proof-refs{border:1px solid #d3dde0;border-radius:6px;padding:14px;font-size:12px;min-width:0}.proof-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.proof-check input{margin-top:6px;flex-shrink:0;accent-color:#54788a}.proof-flow{display:grid;gap:14px}.proof-step{padding:20px 22px;border:1px solid #d4e0e2;border-left:3px solid #7497a2;border-radius:7px;background:#f6f9f7;min-width:0}.proof-step .eyebrow{font-size:10px;letter-spacing:1px}.proof-claim{font-size:18px;margin:14px 0;font-weight:600}.proof-reason{font-size:13px;color:#53635c}.proof-step .button{margin-top:14px}.proof-proposals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.proof-issues{background:#faf1df;border:1px solid #e1d4b7;border-radius:8px;padding:20px;margin:24px 0}.proof-issues h3{font-size:15px;margin-top:0;color:#816a3f}.proof-issue{font-size:13px;padding:12px 0;border-top:1px solid #e5dac5}.proof-issue p{font-size:12px}.proof-response{padding:13px 17px;border-radius:6px;background:#edf2e8;font-size:12px}.proof-response.has-question{background:#faf1df;color:#7d653d}.proof-outcome{font-size:19px;line-height:1.8;color:#4e6f79;margin:24px 0}.proof-question{background:#f7f3e9;padding:20px;border-radius:8px}.proof-details{font-size:12px;border-top:1px solid #dce3df;margin:24px 0;padding-top:18px}.proof-details summary{cursor:pointer;line-height:1.8}.proof-details .proof-step{margin:12px 0}.proof-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.proof-actions .button{margin:0}@media(max-width:760px){.proof-problems,.proof-proposals{grid-template-columns:1fr}.proof-theorem{padding:18px}.proof-theorem h2{font-size:22px}.proof-step{padding:16px}.proof-form .button{justify-self:stretch}.proof-claim{font-size:16px}.proof-issues,.proof-question{padding:16px}}
.proof-export{width:min(90vw,850px);max-height:90vh;border:1px solid #cfdbdd;border-radius:12px;background:#fafcf8;color:var(--ink);padding:28px}.proof-export h2{font-size:22px}.proof-export textarea{width:100%;height:48vh;line-height:1.8;font-size:13px;resize:vertical;box-sizing:border-box}.proof-export::backdrop{background:#203b44b8}.proof-export .proof-actions a{text-decoration:none;display:inline-flex;align-items:center}@media(max-width:760px){.proof-export{padding:18px}.proof-export .proof-actions{gap:8px}}
.game-debate .game-icon{background:#f2e2ce;color:#987137}.debate-note{font-size:12px;line-height:1.9;color:#77674f}.debate-topic{background:#f3eadb;padding:24px;border-radius:8px;margin:24px 0}.debate-topic h2{font-size:23px;line-height:1.7;font-family:serif;overflow-wrap:anywhere}.debate-topic p{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.debate-topic-choice{background:#f4eddf;border-color:#e3d3b6}.debate-teams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.debate-team{padding:16px;border-radius:7px;border:1px solid #d9ded4;min-width:0}.debate-team h3{font-size:14px}.debate-team p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.debate-team .button{font-size:11px;padding:9px 12px;margin:0}.debate-affirmative{background:#edf3ec;border-left:3px solid #7a9677}.debate-negative{background:#edf1f8;border-left:3px solid #7b8ca6}.debate-listener{background:#f4f0e9;border-left:3px solid #a6967f}.debate-route{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:30px 0;font-size:11px}.debate-route li{padding:8px 12px;border-radius:20px;border:1px solid #e0dfd6;color:#859080}.debate-route .current{background:#806b4d;color:#fff;border-color:#806b4d}.debate-turn{padding:22px;border-radius:7px;margin:22px 0}.debate-turn h2{font-size:23px;line-height:1.7}.debate-turn p{font-size:13px;line-height:1.9}.debate-body,.debate-reference{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:13px}.debate-reference{border-left:3px solid #cbbb99;background:#f7f2e8;padding:14px 18px;margin:0}.debate-question{border:1px solid #dfd7c8;border-radius:7px;background:#faf8f1;padding:20px;margin:14px 0}.debate-question .eyebrow{font-size:10px;letter-spacing:1px}.debate-answer{border-top:1px solid #e1dfd4;padding-top:15px;color:#536e60}.debate-reflections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.debate-reflection{padding:22px;background:#f1f3e8;border-radius:8px;min-width:0}.debate-reflection h4{font-size:11px;color:#7b8268;margin-bottom:6px}.debate-reflection .debate-body{margin-top:0}.debate-outcome{font-size:22px;color:#776244;line-height:1.8;margin:28px 0}.debate-record{padding:18px;margin:12px 0;border-radius:6px}.debate-record .eyebrow{font-size:10px;letter-spacing:1px}@media(max-width:760px){.debate-teams,.debate-reflections{grid-template-columns:1fr}.debate-topic,.debate-turn,.debate-question{padding:18px}.debate-topic h2,.debate-turn h2{font-size:21px}.debate-route{gap:5px}.debate-route li{padding:6px 9px;font-size:10px}}
.game-drawing .game-icon{background:#f3dfd3;color:#ad6846}.drawing-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drawing-prompt{border:1px solid #e2cdbb;background:#fbf0e4;color:#745d40;text-align:left;border-radius:9px;padding:24px;font-size:17px;line-height:1.8}.drawing-prompt:hover{background:#f7e5d0}.drawing-custom{margin:24px 0}.drawing-kicker{display:block;color:#ac7348;margin-top:26px}.drawing-title{font-family:serif;font-size:30px;line-height:1.7;overflow-wrap:anywhere}.drawing-editor{background:#f4eee5;padding:18px;border:1px solid #e2d7c8;border-radius:10px}.drawing-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.drawing-palette{display:flex;flex-wrap:wrap;gap:9px;align-items:center;flex:1}.drawing-color{width:34px;height:34px;border-radius:50%;background:var(--ink);border:2px solid #fff;box-shadow:0 0 0 1px #ccc4b7;font-size:22px;color:#435b4e}.drawing-color[aria-pressed=true]{outline:3px solid #876b4d;outline-offset:3px}.drawing-tools .field-label{margin:0}.drawing-size{width:auto;max-width:100%;font-family:inherit}.drawing-canvas{display:block;background:#fff;max-width:100%;width:100%;height:auto;aspect-ratio:4/3;border:1px solid #d2c8b9;border-radius:4px}.drawing-editor .drawing-canvas{touch-action:none;cursor:crosshair}.drawing-canvas:focus-visible,.drawing-size:focus-visible{outline:3px solid #de7b4c;outline-offset:3px}.drawing-actions{display:flex;flex-wrap:wrap;gap:2px;align-items:center}.drawing-actions .primary{margin-left:auto}.drawing-status{min-height:20px;margin:10px 0 0}.drawing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.drawing-art{border:1px solid #e1d6c6;background:#f8f3e9;padding:18px;border-radius:9px;min-width:0}.drawing-art h3{font-size:14px;margin:0 0 16px}.drawing-winner{border-color:#caa55a;background:#fbf1d9;box-shadow:0 0 0 1px #caa55a}.drawing-author{font-size:13px;color:#805f38;margin-bottom:0}.drawing-outcome{font-size:22px;line-height:1.8;color:#826442;margin-top:28px}@media(max-width:760px){.drawing-prompts,.drawing-gallery{grid-template-columns:1fr}.drawing-title{font-size:25px}.drawing-editor{padding:10px}.drawing-palette{flex-basis:100%}.drawing-color{width:32px;height:32px}.drawing-actions .button{font-size:11px;padding:10px}.drawing-actions .primary{margin-left:0}.drawing-art{padding:14px}}
.drawing-export{width:min(780px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #d3c7b5;border-radius:12px;padding:24px;color:#253b36;background:#fffef9}.drawing-export::backdrop{background:#20342d88}.drawing-export h2{font-size:21px;margin:0 0 18px}.drawing-export img{display:block;width:100%;height:auto;border:1px solid #e1d6c6}.drawing-export .button{display:inline-block}

/* Site and setup links remain usable in the compact sidebar too. */
.nav a.nav-item { display: block; }
.nav a.nav-item:hover { background: #e3e9dc; }
@media (max-width: 760px) {
  .sidebar:has(.nav a) { flex-wrap: wrap; gap: 10px; }
  .nav:has(a) { display: flex; flex-basis: 100%; flex-wrap: wrap; gap: 8px; margin-top: 0; }
  .nav:has(a) > div { display: none; }
  .nav a.nav-item { margin: 0; padding: 8px 10px; font-size: 11px; }
}

/* A shared stage: readable cues, clear casting and quiet audience participation. */
.game-drama .game-icon { background: #e6dbf3; color: #69467b; }
.drama-heading { margin: 18px 0 24px; }
.drama-heading .question { margin-bottom: 8px; }
.drama-ticket { display: inline-block; background: #eee6f4; color: #624275; padding: 9px 14px; border-radius: 8px; margin-top: 8px; font-size: 13px; }
.drama-presets, .drama-cast { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 16px; margin: 24px 0; }
.drama-script-card, .drama-role { min-width: 0; border: 1px solid #ddd4e2; padding: 22px; border-radius: 14px; background: #fbf8fd; }
.drama-script-card h3, .drama-role h3 { margin: 12px 0; font-size: 21px; }
.drama-role .button, .drama-role .input { display: block; margin-top: 12px; width: 100%; }
.drama-role.is-mine { border-color: #86669b; background: #f3eafa; }
.drama-form { display: grid; gap: 12px; margin: 20px 0; }
.drama-form textarea { line-height: 1.7; resize: vertical; }
.drama-form .button { justify-self: start; }
.drama-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.drama-details { margin: 18px 0; padding: 16px 0; border-top: 1px solid #e7dfea; }
.drama-details summary { cursor: pointer; color: #624275; font-weight: 600; }
.drama-script { padding-left: 26px; }
.drama-line { padding: 14px; margin: 8px 0; border-radius: 8px; border-left: 3px solid transparent; }
.drama-line p { margin: 6px 0 0; }
.drama-line.is-mine { background: #f0e6f7; }
.drama-line.is-current { border-left-color: #77548c; }
.drama-stage { padding: 32px; border-radius: 18px; background: #30253d; color: #fcf8ef; box-shadow: 0 12px 30px #30253d17; }
.drama-stage.is-mine { background: #473254; }
.drama-stage.is-paused { background: #59525f; }
.drama-stage .eyebrow { color: #d8c5e4; }
.drama-speaker { font-size: 17px; font-weight: 500; color: #ead9f5; margin: 24px 0 16px; }
.drama-cue { font-size: clamp(23px, 2.5vw, 34px); line-height: 1.85; letter-spacing: .02em; margin: 0 0 28px; }
.drama-wait { font-size: 13px; color: #e0d2e9; }
.drama-next { white-space: pre-wrap; color: #75667b; border-left: 2px solid #d6c8df; padding-left: 18px; margin: 26px 0; font-size: 14px; line-height: 1.9; }
.drama-curtain { margin: 24px 0; padding: 28px; border-radius: 16px; background: #eee5f3; }
.drama-curtain h3 { font-size: 26px; line-height: 1.6; margin: 14px 0; }
.drama-review { border-bottom: 1px solid #e7dfea; padding: 18px 0; }
.board-drama p, .board-drama h2, .board-drama h3, .drama-script li { overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 640px) { .drama-stage { padding: 22px; } .drama-actions .button { flex: 1 1 100%; } }

/* Participant counts are independent of the two-player/four-seat layouts. */
.people { max-height: 180px; overflow: auto; }
.veggie-stage { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 16px; max-height: 510px; overflow: auto; padding: 12px 2px; }
.veggie-card { min-width: 0; background: #f1f3e7; border: 1px solid #dce1cf; border-radius: 12px; padding: 12px; overflow-wrap: anywhere; }
.veggie-card .veggie { margin: 0 auto; }
.veggie-self { border-color: #799076; background: #edf4df; }
.veggie-out { background: #f5f3ee; color: #788171; }
.veggie-rule { font-size: 14px; line-height: 1.9; padding: 18px 22px; background: #f5efdb; border-radius: 8px; }
.veggie-results { max-height: 300px; overflow: auto; }
.board-yakyuken h2, .board-yakyuken h3 { overflow-wrap: anywhere; }
.rivers { max-height: 320px; overflow: auto; }
@media (max-width: 640px) { .veggie-stage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .veggie-card { padding: 8px; } .veggie-card h3 { font-size: 13px; } }

/* Oogiri: anonymous answer cards, with names only after voting. */
.game-oogiri .game-icon { background: #f4e0cd; color: #8b522c; }
.oogiri-prompts, .oogiri-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
.oogiri-prompt { font: inherit; line-height: 1.7; text-align: left; padding: 20px; border: 1px solid #dfddd2; border-radius: 13px; background: #faf9f3; cursor: pointer; color: inherit; }
.oogiri-prompt:hover { border-color: #8a9e81; background: #eff3e9; }
.oogiri-form { display: grid; gap: 10px; max-width: 720px; margin: 26px 0; }
.oogiri-form .input { margin: 0; width: 100%; resize: vertical; }
.oogiri-form .button { justify-self: start; }
.oogiri-theme { display: inline-block; font-weight: 700; padding: 5px 14px; margin-top: 22px; border-radius: 20px; background: #e9eddf; color: #536d41; }
.oogiri-title { font-size: clamp(22px, 3vw, 34px); line-height: 1.7; max-width: 850px; margin: 16px 0 22px; overflow-wrap: anywhere; }
.oogiri-answer { display: flex; flex-direction: column; align-items: start; background: #fffdf6; border: 1px solid #e2ddd1; border-radius: 16px; padding: 26px; min-width: 0; }
.oogiri-answer .button, .oogiri-author { margin-top: auto; }
.oogiri-response { font-size: clamp(20px, 2.4vw, 28px); line-height: 1.8; font-weight: 600; padding: 10px 0 22px; overflow-wrap: anywhere; white-space: pre-wrap; }
.oogiri-best { border-color: #a3ae73; box-shadow: inset 0 3px 0 #a3ae73; }
.oogiri-own { padding: 24px; background: #f6f1e7; border-radius: 12px; overflow-wrap: anywhere; }
.oogiri-author { color: #5f704e; font-size: 14px; }
.oogiri-finale { padding: 20px 0; font-size: 24px; }
.oogiri-history { border-top: 1px solid #e2ddd1; padding-top: 22px; margin-top: 32px; overflow-wrap: anywhere; }
.oogiri-history summary { cursor: pointer; }
.oogiri-history p { line-height: 1.8; }
.hana-teams { padding: 16px; background: #f3f0e7; border-radius: 12px; line-height: 1.8; }
@media (max-width: 680px) { .oogiri-prompts, .oogiri-gallery { grid-template-columns: 1fr; } .oogiri-answer { padding: 20px; } }

/* A shared, silent stage for X activity and audience cheers. */
.live-stage { position: relative; overflow: hidden; padding: 28px 30px 24px; border-radius: 20px; border: 1px solid #d7e2cf; background: linear-gradient(125deg, #edf2e6, #f9f5e9); margin: 24px 0 32px; }
.live-stage-top { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.live-stage h2 { margin: 9px 0 0; font-size: clamp(21px, 2.3vw, 28px); letter-spacing: -.04em; }
.live-connection { font-size: 11px; color: #52694d; padding-top: 4px; white-space: nowrap; }
.live-scene { position: relative; height: 100px; margin-top: 12px; }
.live-garden { display: flex; align-items: end; justify-content: center; gap: clamp(18px, 5vw, 60px); height: 100%; padding-bottom: 10px; border-bottom: 2px solid #bdcda4; }
.live-veggie { display: inline-block; font-size: 44px; transform-origin: 50% 100%; filter: drop-shadow(0 9px 2px #57704412); }
.voice-active .live-veggie { animation: live-bob .8s ease-in-out infinite alternate; }
.voice-active .veggie-1, .voice-active .veggie-3 { animation-delay: -.35s; }
.voice-active .veggie-2 { animation-delay: -.6s; }
.voice-active .veggie-4 { animation-delay: -.15s; }
.live-voice { font-size: 13px; font-weight: 600; text-align: center; color: #42654c; margin: 14px 0 6px; }
.live-crowd { text-align: center; font-size: 11px; color: #69756c; margin: 0; }
.live-cue { margin: 24px 0 12px; font-size: 14px; }
.live-cheers { display: flex; flex-wrap: wrap; gap: 9px; }
.live-cheer { border: 1px solid #d9dfcf; background: #ffffffc9; color: #314638; border-radius: 24px; font: inherit; font-size: 14px; padding: 11px 16px; cursor: pointer; transition: background .15s, transform .15s; }
.live-cheer:hover:not(:disabled) { background: #fff; transform: translateY(-2px); }
.live-cheer:disabled { opacity: .5; cursor: default; }
.live-cheer:focus-visible { outline: 3px solid #849c71; outline-offset: 3px; }
.live-meter { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 20px; }
.live-goal { width: 180px; height: 8px; border: none; border-radius: 8px; background: #dde4d4; accent-color: #79964d; }
.live-goal::-webkit-progress-bar { background: #dde4d4; border-radius: 8px; }
.live-goal::-webkit-progress-value { background: #79964d; border-radius: 8px; transition: width .25s; }
.live-goal-label, .live-note { font-size: 11px; color: #6d7767; }
.live-celebration { min-height: 20px; font-weight: 600; color: #775f2a; font-size: 14px; margin: 12px 0 0; }
.live-controls { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.live-controls .button { font-size: 11px; min-height: 34px; padding: 8px 0; margin: 4px 0 10px; }
.live-effects { position: absolute; inset: 0; pointer-events: none; overflow: visible; }
.live-particle { position: absolute; font-size: 32px; left: 10%; bottom: 0; animation: live-float 3.5s ease-out forwards; }
.particle-1 { left: 23%; animation-delay: .08s; } .particle-2 { left: 35%; animation-delay: .12s; } .particle-3 { left: 47%; } .particle-4 { left: 59%; animation-delay: .15s; } .particle-5 { left: 70%; } .particle-6 { left: 81%; } .particle-7 { left: 89%; }
.is-preview { border-style: dashed; }
.is-quiet .live-veggie, .is-quiet .live-particle { animation: none !important; }
.is-quiet .live-effects { display: none; }
.audience-board { margin-top: 24px; }
.audience-phase { display: inline-block; border-radius: 20px; background: #eef1e7; padding: 8px 14px; color: #52654b; font-size: 13px; }
.audience-title { font-size: 24px; line-height: 1.7; overflow-wrap: anywhere; }
.audience-text { line-height: 1.9; overflow-wrap: anywhere; white-space: pre-wrap; }
.audience-card { border: 1px solid #e3e0d4; border-radius: 14px; padding: 22px; margin: 12px 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.audience-card > p { font-size: 19px; line-height: 1.8; }
.audience-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.audience-card .food-image { max-width: 100%; border-radius: 10px; }
@keyframes live-bob { from { transform: rotate(-5deg) translateY(0); } to { transform: rotate(5deg) translateY(-9px); } }
@keyframes live-float { 0% { opacity: 0; transform: translateY(15px) scale(.7); } 15% { opacity: 1; } 75% { opacity: 1; } 100% { opacity: 0; transform: translateY(-130px) rotate(12deg) scale(1.2); } }
@media (prefers-reduced-motion: reduce) { .live-veggie, .live-particle { animation: none !important; } .live-effects { display: none; } .live-cheer, .live-goal::-webkit-progress-value { transition: none; } }
@media (max-width: 680px) { .live-stage { padding: 22px 18px; } .live-stage-top { flex-direction: column; gap: 8px; } .live-veggie { font-size: 35px; } .live-cheer { padding: 10px 13px; } .audience-gallery { grid-template-columns: 1fr; } }
