/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}}:root{--ink:#20231d;--paper:#f1ecdf;--paper-light:#fbf7ec;--red:#a43c2e;--red-dark:#7f251d;--jade:#285347;--jade-dark:#173b31;--line:#cdc3ad;--muted:#766f63}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Songti SC,Noto Serif SC,Georgia,serif}button,input{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #d29457}.landing,.paper{min-height:100vh;padding:28px 6vw}.brand{align-items:center;gap:12px;display:flex}.brand>span,.bigseal{background:var(--red);color:#faefd9;border-radius:5px;place-items:center;width:43px;height:43px;font-size:25px;display:grid;box-shadow:inset 0 0 0 2px #f4dfc255}.brand b{letter-spacing:.18em;font-size:22px}.brand small{color:#7b766b;font-size:11px;display:block}.eyebrow{color:var(--red);letter-spacing:.2em;font-size:13px;font-weight:700}.hero{grid-template-columns:1.25fr .75fr;align-items:center;gap:8vw;max-width:1180px;min-height:70vh;margin:auto;display:grid}.hero h1{letter-spacing:.04em;margin:12px 0 28px;font-size:clamp(54px,7vw,90px);line-height:1.08}.hero em{color:var(--red);border-bottom:3px solid var(--red);font-style:normal}.intro{color:#5d5b53;max-width:590px;font-size:18px;line-height:1.9}.card{background:var(--paper-light);border:1px solid var(--line);padding:34px;box-shadow:10px 12px #263d341b}.card label{color:#777268;font-size:13px}.card>label input{background:0 0;border:0;border-bottom:1px solid #aaa18f;width:100%;margin:5px 0 20px;padding:12px 2px}.primary,.ghost,.join button{cursor:pointer;border:0;padding:14px 18px}.primary{background:var(--jade);color:#f8efde;width:100%}.primary:disabled{cursor:not-allowed;opacity:.38}.ghost{border:1px solid var(--line);background:0 0;width:100%}.tutorial-entry{color:var(--red-dark);border-color:#947c57;margin-top:10px}.join{grid-template-columns:1fr 90px;gap:8px;margin-top:10px;display:grid}.join input{border:1px solid var(--line);min-width:0;margin:0;padding:10px}.join button{background:#ddd3c0}.join button:disabled,.ghost:disabled,.claim-buttons button:disabled,.showcase-actions button:disabled{cursor:not-allowed;opacity:.4}.card>i{color:#9a9285;text-align:center;margin:16px;font-size:12px;display:block}.error{color:var(--red);text-align:center}.landing footer{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:1200px;margin:auto;display:grid}.landing footer div{border-right:1px solid var(--line);align-items:center;gap:14px;padding:22px;display:flex}.landing footer b{color:var(--red);font-size:24px}.landing footer span{color:#69665e;font-size:12px}.tile-library{border:1px solid var(--line);background:#f8f1e3;max-width:1200px;margin:24px auto 10px;box-shadow:6px 7px #263d3410}.tile-library summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;list-style:none;display:flex}.tile-library summary::-webkit-details-marker{display:none}.tile-library summary span,.tile-library summary b,.tile-library summary small{display:block}.tile-library summary small{color:var(--muted);margin-top:4px}.tile-library summary i{color:var(--red);font-size:12px;font-style:normal}.tile-library[open] summary{border-bottom:1px solid var(--line)}.tile-library-intro{color:var(--muted);padding:16px 22px 0;font-size:13px;line-height:1.7}.tile-groups{gap:13px;padding:10px 22px 24px;display:grid}.tile-groups section{border-left:4px solid var(--jade);background:#fffaf0;padding:15px 17px}.tile-groups header{justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.tile-groups header b{color:var(--red)}.tile-groups header span{color:var(--muted);font-size:11px}.tile-groups p{letter-spacing:.13em;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:2}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 22px 24px;display:grid}.mode-grid article{background:#fffaf0;border:1px solid #d8cdb9;min-width:0;padding:15px 17px}.mode-grid article header{justify-content:space-between;align-items:center;gap:10px;display:flex}.mode-grid article header b{color:var(--jade-dark)}.mode-grid article p{color:#5f5a50;min-height:3.4em;margin:10px 0;font-size:12px;line-height:1.7}.mode-grid article small{color:var(--muted);font-size:10px}.mode-frequency{color:var(--muted);border:1px solid #a69b88;border-radius:999px;flex:none;padding:3px 7px;font-size:10px}.mode-frequency.常见{color:var(--jade);background:#e1ebe4;border-color:#668b7d}.mode-frequency.挑战{color:var(--red-dark);background:#f6e6d8;border-color:#c69779}.top{justify-content:space-between;align-items:center;max-width:1300px;margin:auto;display:flex}.top-actions{align-items:center;gap:10px;display:flex}.top-actions>span{color:var(--red);font-weight:700}.top-actions i{border:1px solid var(--line);border-radius:30px;padding:8px 16px;font-style:normal}.top-actions button,.exit-floating{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 10px}.round-goal-card{border:1px solid #c8b99e;border-left:7px solid var(--red);width:min(1300px,100%);color:var(--ink);text-align:left;background:#fff8e9;margin:18px auto 6px;padding:18px 22px;box-shadow:5px 6px #263d3412}.round-goal-card.compact{width:100%;box-shadow:none;margin:18px 0;padding:14px 16px}.goal-heading,.goal-title-row,.goal-rubric{align-items:center;gap:9px;display:flex}.goal-heading{justify-content:space-between}.goal-heading p{color:var(--red);letter-spacing:.16em;margin:0;font-size:11px;font-weight:700}.goal-heading strong{background:var(--red);color:#fff4df;border-radius:999px;padding:4px 10px;font-size:13px}.goal-title-row{margin-top:4px}.goal-title-row h2{color:var(--jade-dark);margin:0;font-size:25px}.goal-title-row .homophone{color:var(--muted);border:1px solid #a69b88;border-radius:999px;padding:3px 8px;font-size:10px}.goal-title-row .homophone.yes{color:var(--jade);background:#e1ebe4;border-color:#668b7d}.goal-instruction{margin:8px 0;font-size:15px;line-height:1.65}.goal-hard-rule,.goal-judging{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.6}.goal-hard-rule b,.goal-judging b,.goal-rubric>b{color:var(--red);margin-right:8px}.goal-rubric{flex-wrap:wrap;margin-top:9px;font-size:11px}.goal-rubric span{color:var(--jade-dark);background:#f5eddd;border:1px solid #d5c9b5;padding:4px 8px}.round-goal-card>small{color:#8a785e;margin-top:7px;font-size:10px;display:block}.round-progress{border:1px solid var(--line);background:#e8e1d2;width:min(1300px,100%);margin:10px auto 0;padding:12px 16px}.round-progress-copy{justify-content:space-between;align-items:center;gap:18px;display:flex}.round-progress-copy p{color:var(--muted);letter-spacing:.12em;margin:0 0 2px;font-size:10px}.round-progress-copy strong{color:var(--jade-dark);font-size:16px}.round-progress-copy>span{color:var(--red);font-size:12px;font-weight:700}.round-progress-track{background:#cfc5b2;border-radius:999px;height:8px;margin:9px 0 7px;position:relative;overflow:visible}.round-progress-track i{border-radius:inherit;background:var(--jade);height:100%;transition:width .25s;display:block}.round-progress-track b{background:var(--red);width:2px;height:16px;position:absolute;top:-4px;left:50%}.round-progress>small{color:var(--muted);font-size:10px}.round-progress.accelerated{background:#f4e4cf;border-color:#b78455}.round-progress.accelerated .round-progress-track i{background:var(--red)}.lobby{text-align:center;max-width:780px;margin:7vh auto}.room{color:var(--jade);letter-spacing:.22em;cursor:pointer;background:0 0;border:0;font-size:62px;font-weight:700}.lobby>p{color:#7e796f}.seats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:32px 0;display:grid}.seats div{color:#918a7f;border:1px dashed #b8af9e;align-items:center;gap:12px;padding:16px;display:flex}.seats div.filled{color:var(--ink);border-style:solid}.seats span,.players>div>span{background:#d9d0bf;border-radius:50%;flex:0 0 39px;place-items:center;width:39px;height:39px;display:grid}.board{background:var(--jade);color:#f7edd9;border:1px solid #bcb3a1;grid-template-columns:250px 1fr 250px;max-width:1300px;min-height:43vh;margin:25px auto 18px;padding:28px;display:grid;box-shadow:inset 0 0 0 8px #20473c}.players>div{opacity:.58;align-items:center;gap:10px;padding:8px;display:flex}.players>div.active{opacity:1;background:#ffffff14}.players p{margin:0}.players b,.players small{display:block}.players small{opacity:.72;margin-top:3px;font-size:11px}.center{text-align:center;flex-direction:column;align-items:center;display:flex}.last{color:#24241f;background:#f7efdc;border:0;border-bottom:5px solid #c7bb9b;border-radius:5px;place-items:center;width:54px;height:72px;margin:16px;font-size:30px;display:grid}.center>small{opacity:.65}.response-progress{color:#ead9b6;border:1px solid #ffffff38;border-radius:999px;margin-top:18px;padding:7px 12px;font-size:11px}.response-timer{background:var(--red-dark);color:#fff5e4;text-align:left;border-radius:999px;align-items:center;gap:9px;width:fit-content;margin:12px auto 0;padding:7px 11px 7px 7px;display:inline-flex;box-shadow:0 0 0 1px #ffffff30}.response-timer>strong{width:35px;height:35px;color:var(--red-dark);font-variant-numeric:tabular-nums;background:#fff5e4;border-radius:50%;place-items:center;font-size:19px;display:grid}.response-timer span,.response-timer small{display:block}.response-timer span{font-size:11px;font-weight:700}.response-timer small{color:#f1cfc3;margin-top:2px;font-size:9px;font-weight:400}.response-timer.urgent{background:#741c17;animation:1s ease-in-out infinite timer-pulse}@keyframes timer-pulse{50%{box-shadow:0 0 0 5px #e9a98c55}}.side-panel{border-left:1px solid #ffffff25;flex-direction:column;gap:24px;max-height:390px;padding-left:20px;display:flex;overflow:auto}.side-panel>section>b{margin-bottom:10px;display:block}.side-panel>section>p{opacity:.65;font-size:12px}.public-meld{border-left:4px solid var(--red);color:var(--ink);background:#f7efdc;margin-bottom:8px;padding:9px 11px}.public-meld small,.public-meld strong{display:block}.public-meld small{color:var(--muted);margin-bottom:4px;font-size:10px}.public-meld strong{letter-spacing:.14em;font-size:20px}.game-log{border-top:1px solid #ffffff25;padding-top:17px}.game-log p{opacity:.68;border-bottom:1px solid #ffffff1f;padding-bottom:7px;font-size:11px}.claim-panel{border:1px solid var(--line);background:var(--paper-light);grid-template-columns:1fr auto;align-items:center;gap:16px;max-width:1100px;margin:0 auto 18px;padding:18px 22px;display:grid;box-shadow:5px 6px #263d3412}.claim-panel>p{text-align:center;grid-column:1/-1;margin:4px}.claim-panel>.error{grid-column:1/-1}.claim-copy b,.claim-copy small{display:block}.claim-copy small{color:#756f65;margin-top:5px;font-size:11px;line-height:1.5}.claim-buttons{gap:7px;display:flex}.claim-buttons button{border:1px solid var(--line);cursor:pointer;background:#e6ddca;min-width:62px;padding:10px 14px}.claim-buttons .pong{border-color:var(--red);background:var(--red);color:#fff}.claim-buttons .claim-win{border-color:var(--red-dark);background:var(--red-dark);color:#fff;font-weight:700}.claim-buttons .draw-choice{border-color:var(--jade);background:var(--jade);color:#fff}.claim-buttons .primary{border-color:var(--jade);background:var(--jade);color:#fff;width:auto}.claim-buttons .pass{background:0 0}.meld-approval-panel{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr)}.meld-review-copy .eyebrow{margin:0 0 6px}.meld-review-copy blockquote{color:var(--jade);letter-spacing:.08em;overflow-wrap:anywhere;margin:0 0 7px;font-size:clamp(27px,4vw,43px);font-weight:700}.meld-review-copy>small{color:var(--muted);line-height:1.6}.meld-reviewers{border-top:1px solid var(--line)}.meld-reviewers>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:8px 2px;font-size:12px;display:flex}.meld-reviewers b{color:var(--jade)}.meld-reviewers b.waiting{color:var(--muted);font-weight:400}.meld-reviewers b.rejected{color:var(--red)}.meld-review-actions{grid-column:1/-1;justify-content:center;gap:9px;display:flex}.meld-review-actions button{border:1px solid var(--line);cursor:pointer;min-width:130px;padding:11px 18px}.meld-review-actions button:disabled{cursor:not-allowed;opacity:.4}.meld-review-actions .approve{border-color:var(--jade);background:var(--jade);color:#fff8e8}.meld-review-actions .reject{color:var(--red);background:0 0}.meld-review-note{color:var(--muted);grid-column:1/-1}.meld-review-note b{color:var(--red);margin:0 3px}.hand{max-width:1300px;margin:auto;padding:6px 0 24px}.hand-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px;display:flex}.hand-heading b,.hand-heading small{display:block}.hand-heading small{color:#777268;margin-top:4px;font-size:11px}.turn-controls{align-items:center;gap:8px;display:flex}.turn-controls button{color:#fff8e8;cursor:pointer;border:0;min-height:43px;padding:10px 18px}.draw-button{background:var(--jade)}.discard-button{background:var(--red)}.win-button-wide{background:var(--red-dark);border-radius:50%;min-width:54px;font-size:19px}.turn-controls button:disabled{cursor:not-allowed;opacity:.42}.rack{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:5px;min-height:88px;padding:10px 8px 5px;display:flex}.rack-tile,.compose-token{color:#20231d;cursor:grab;-webkit-user-select:none;user-select:none;background:#fbf4df;border:1px solid #d6cbb5;border-bottom:5px solid #c7bb9b;border-radius:5px;place-items:center;display:grid}.rack-tile{width:54px;height:72px;font-size:30px;transition:transform .14s,box-shadow .14s,color .14s}.rack-tile:hover{transform:translateY(-5px)}.rack-tile.selected{color:var(--red);box-shadow:0 0 0 3px var(--red);transform:translateY(-12px)}.rack-tools{justify-content:flex-end;align-items:center;gap:7px;min-height:38px;padding-top:8px;display:flex}.rack-tools span{color:var(--muted);margin-right:auto;font-size:11px}.rack-tools button,.composer-tools button,.showcase-actions>button:not(.primary){border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#e6ddca;padding:7px 11px}.rack-tools button:disabled,.composer-tools button:disabled{opacity:.35;cursor:not-allowed}.draw-offer{border:2px solid var(--red);background:#fff3df;grid-template-columns:minmax(210px,.65fr) 1fr;align-items:center;gap:24px;margin:10px 0 18px;padding:18px 22px;display:grid;box-shadow:7px 8px #71322816}.draw-offer h3{margin:4px 0 5px;font-size:23px}.draw-offer p,.draw-offer small{margin:0}.draw-offer>div:first-child>small{color:var(--muted);line-height:1.55}.draw-offer-tiles{justify-content:center;gap:10px;display:flex}.draw-offer-tiles button{min-width:94px;color:var(--ink);cursor:pointer;background:#fbf4df;border:1px solid #cdbb9e;border-bottom:5px solid #b49b72;border-radius:6px;padding:10px;transition:transform .14s,border-color .14s}.draw-offer-tiles button:hover{border-color:var(--red);transform:translateY(-4px)}.draw-offer-tiles button:disabled{cursor:not-allowed;opacity:.45}.draw-offer-tiles span{margin-bottom:5px;font-size:34px;display:block}.draw-offer-tiles small{color:var(--red);font-size:10px}.rack.waiting-for-draw-choice{opacity:.48}.modal-backdrop{z-index:50;background:#102a24d9;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.composer-modal{background:var(--paper-light);border:1px solid #d8cdb6;width:min(920px,100%);max-height:calc(100vh - 48px);padding:34px;position:relative;overflow:auto;box-shadow:14px 16px #09181366}.composer-modal h2{margin:5px 40px 8px 0;font-size:clamp(25px,4vw,38px)}.composer-help{color:var(--muted);margin:0 0 20px;line-height:1.7}.claim-timer-paused{color:var(--jade);background:#dbe8df;border:1px solid #37695b55;justify-content:space-between;align-items:center;gap:16px;margin:-6px 0 18px;padding:11px 14px;display:flex}.claim-timer-paused strong,.claim-timer-paused span{display:block}.claim-timer-paused span{color:#4e655d;font-size:11px;line-height:1.55}.modal-close{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;font-size:25px;position:absolute;top:16px;right:18px}.composer-pool{background:#eee7d8;border:1px dashed #b7ac97;min-height:104px;margin-bottom:18px;padding:12px}.composer-pool>small{color:var(--muted);margin-bottom:9px;display:block}.composer-pool>div{flex-wrap:wrap;gap:5px;display:flex}.composer-pool i{color:#908779;font-size:12px}.sentence-formatting{background:#eee7d8;border:1px solid #c8bda8;margin-bottom:14px;padding:12px}.sentence-formatting>div:first-child{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:9px;display:flex}.sentence-formatting small{color:var(--muted);line-height:1.5}.sentence-mark-buttons{flex-wrap:wrap;gap:6px;display:flex}.sentence-mark-buttons button{min-width:36px;min-height:34px;color:var(--ink);cursor:pointer;background:#fffaf0;border:1px solid #b9ad97;padding:5px 9px}.sentence-mark-buttons button:hover{border-color:var(--red);color:var(--red)}.sentence-mark-buttons button:disabled{cursor:not-allowed;opacity:.35}.sentence-mark-buttons .line-break-button{border-color:var(--jade);color:var(--jade);margin-left:4px}.composer-line{background:#f4eddf;border:2px solid #9c8f78;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:5px;min-height:105px;padding:16px 12px;display:flex}.composer-line>span{color:#9b9285;align-self:center}.compose-token{min-width:49px;height:66px;padding:0 12px;font-size:27px}.compose-token.meld{color:#20473c;letter-spacing:.08em;background:#dce6df;border-color:#78978c #78978c #54786b}.compose-token.discard{border-color:var(--red);border-bottom-color:var(--red-dark);color:#7f2f25;background:#f3d9d3}.compose-token.wish{color:#7d570f;background:#fff3be;border-style:dashed;border-color:#b7852e}.compose-token.punctuation{color:#54455e;background:#eee8f2;border-color:#9388a2 #9388a2 #75687f;min-width:40px;height:52px;padding:0 9px;font-size:23px}.compose-token.lineBreak{width:100%;height:34px;color:var(--jade);background:#e2ebe5;border:1px dashed #78978c;border-radius:2px;flex:1 0 100%;padding:0;font-size:13px}.compose-token.selected{transform:translateY(-5px);box-shadow:0 0 0 3px #d29457}.compose-token.lineBreak.selected{transform:none}.sentence-preview{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;min-height:58px;padding:14px 3px;font-size:20px;line-height:1.5;display:flex}.sentence-preview span{white-space:pre-wrap;overflow-wrap:anywhere}.sentence-preview b{color:var(--red);flex:none;font-size:13px}.goal-format-status{border-left:3px solid var(--jade);color:var(--jade);background:#e3ebe5;margin:8px 0 0;padding:7px 9px;font-size:11px}.goal-format-status.missing{border-left-color:var(--red);color:var(--red-dark);background:#f4dfd9}.composer-tools{align-items:center;gap:7px;margin-top:10px;display:flex}.composer-tools span{color:var(--muted);margin-right:auto;font-size:11px}.composer-submit{margin-top:18px}.wish-input{grid-template-columns:1fr 80px;align-items:center;gap:15px;max-width:360px;margin:0 0 16px;display:grid}.wish-input input{border:1px solid var(--line);width:80px;color:var(--ink);text-align:center;background:#fff;padding:8px}.vote,.result-page{background:var(--jade);place-items:center;min-height:100vh;padding:60px 20px 35px;display:grid}.exit-floating{z-index:40;color:#f7edd9;border:1px solid #ffffff50;border-radius:999px;position:fixed;top:22px;right:24px}.voteCard{text-align:center;width:min(700px,100%);padding:55px}.bigseal{width:70px;height:70px;margin:-90px auto 28px;font-size:37px;transform:rotate(-5deg)}blockquote{margin:28px 0;font-size:clamp(28px,5vw,52px);line-height:1.5}.voteCard blockquote,.round-result blockquote{white-space:pre-wrap;overflow-wrap:anywhere}.voteCard>strong{color:var(--red);font-size:50px;display:block}.sealed-vote-copy{color:var(--jade);letter-spacing:.08em;margin:-12px 0 18px;font-size:12px;font-weight:700}.reveal-card>p:not(.eyebrow):not(.error){color:var(--muted)}.reveal-outcome{color:var(--jade);margin:-8px 0 4px}.voteCard input[type=range]{width:100%;accent-color:var(--red)}.labels{color:#777;justify-content:space-between;margin:4px 0 28px;font-size:11px;display:flex}.named-votes{border-top:1px solid var(--line);margin:20px 0}.named-votes>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:10px 3px;display:flex}.named-votes b{color:var(--red)}.showdown-page{align-items:start}.showdown-compose-card{width:min(760px,100%);margin-top:25px}.showdown-compose-card>h2{color:var(--jade-dark);margin:5px 0 8px}.showdown-help{color:var(--muted);line-height:1.7}.sealed-participants{grid-template-columns:1fr 1fr;gap:8px;margin:22px 0;display:grid}.sealed-participants>div{border:1px solid var(--line);background:#f3ecde;justify-content:space-between;gap:12px;padding:10px 12px;font-size:12px;display:flex}.sealed-participants b{color:var(--jade)}.showdown-actions{justify-content:center;gap:10px;display:flex}.showdown-actions .primary{width:auto}.showdown-actions>button:not(.primary){border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:12px 18px}.showdown-actions button:disabled{cursor:not-allowed;opacity:.4}.showdown-vote-card{width:min(1080px,100%);margin:20px 0}.showdown-vote-heading{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.showdown-vote-heading h1{margin:5px 0 7px}.showdown-vote-heading p:last-child{color:var(--muted);margin:0}.showdown-vote-heading .response-timer{flex:none;margin:0}.showdown-sentence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.showdown-sentence-grid article{border:1px solid var(--line);background:#f6efe1;min-width:0;padding:16px}.showdown-sentence-grid article.mine{background:#e7eee9}.showdown-sentence-grid article header{color:var(--red);justify-content:space-between;gap:12px;font-size:12px;display:flex}.showdown-sentence-grid article header span{color:var(--muted)}.showdown-sentence-grid blockquote{white-space:pre-wrap;overflow-wrap:anywhere;min-height:86px;margin:14px 0;font-size:clamp(20px,3vw,31px)}.showdown-sentence-grid article>small{color:var(--muted)}.showdown-sentence-grid article>strong{color:var(--jade);font-size:12px}.showdown-score-control>div{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.showdown-score-control b{color:var(--red);font-size:16px}.showdown-score-control input{width:100%;accent-color:var(--red)}.showdown-vote-submit{max-width:400px;margin:22px auto 0;display:block}.sealed-waiting{color:var(--jade);text-align:center}.sealed-participants.compact-list{margin-bottom:0}.result-page{align-items:start}.result-card{width:min(980px,100%);margin:25px 0}.round-result{text-align:center}.round-result .bigseal{margin-top:-70px}.round-result blockquote{margin-bottom:10px}.round-result h2{margin:4px 0}.round-result>p:last-child{color:var(--red);margin-top:6px}.result-grid{grid-template-columns:1fr 1fr;gap:30px;margin:36px 0;display:grid}.result-grid h3,.showcase-section h3{margin:0 0 12px}.result-votes{margin-top:0}.leaderboard{border-top:1px solid var(--line)}.leaderboard>div{border-bottom:1px solid var(--line);grid-template-columns:26px 1fr auto 42px;align-items:center;gap:8px;padding:9px 3px;display:grid}.leaderboard>div>span{color:var(--red)}.leaderboard strong{color:var(--jade);font-size:18px}.leaderboard small{color:var(--muted);text-align:right}.showcase-section{border-top:2px solid var(--ink);padding-top:24px}.showcase-heading{justify-content:space-between;gap:20px;display:flex}.showcase-heading p{color:var(--muted);margin:-5px 0 15px;font-size:12px}.showcase-heading>b{color:var(--red);font-size:20px}.showcase-list{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.showcase-list article{border:1px solid var(--line);background:#f5eddd;flex-direction:column;gap:7px;min-height:96px;padding:13px;display:flex}.showcase-list article>b{color:var(--red);font-size:12px}.showcase-list article>strong{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.5}.showcase-list article>span,.showcase-list article>small{color:var(--muted);font-size:12px}.showcase-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.showcase-actions .primary{width:auto}.showcase-section>p{color:var(--muted);text-align:center}.next-round{max-width:320px;margin:22px auto 0;display:block}.showdown-result-card{width:min(1080px,100%)}.showdown-result-card .round-result h1{color:var(--jade-dark);margin-bottom:6px}.showdown-reveal-section{border-top:2px solid var(--ink);margin-top:32px;padding-top:26px}.showdown-reveal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.showdown-reveal-list>article{border:1px solid var(--line);background:#f3ecde;min-width:0;padding:17px}.showdown-reveal-list>article.winner{border:2px solid var(--red);background:#fff3df}.showdown-reveal-list>article.skipped{opacity:.65}.showdown-reveal-list article>header{justify-content:space-between;align-items:center;gap:15px;display:flex}.showdown-reveal-list header>div{align-items:center;gap:8px;display:flex}.showdown-reveal-list header span{background:var(--jade);color:#fff8e8;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.showdown-reveal-list header em{background:var(--red);color:#fff5e4;padding:3px 7px;font-size:10px;font-style:normal}.showdown-reveal-list header>strong{color:var(--red);font-size:20px}.showdown-reveal-list blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 8px;font-size:clamp(23px,3.4vw,37px)}.showdown-reveal-list article>p,.showdown-reveal-list article>small{color:var(--muted);font-size:11px}.showdown-result-votes{margin-bottom:0}.showdown-leaderboard{max-width:650px;margin:32px auto 0}.waiting-next-round{color:var(--muted);text-align:center}.tutorial-page{background:var(--paper);min-height:100vh;padding:28px 5vw 48px}.tutorial-top{justify-content:space-between;align-items:center;width:min(1320px,100%);margin:0 auto;display:flex}.tutorial-top>button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 12px}.tutorial-progress{border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);width:min(1080px,100%);margin:30px auto 24px;display:grid}.tutorial-progress span{color:#999184;justify-items:center;gap:7px;padding-top:17px;font-size:11px;display:grid;position:relative}.tutorial-progress i{border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:25px;height:25px;font-style:normal;display:grid;position:absolute;top:-13px}.tutorial-progress .active{color:var(--red);font-weight:700}.tutorial-progress .active i{border-color:var(--red);background:var(--red);color:#fff3dd}.tutorial-progress .done{color:var(--jade)}.tutorial-progress .done i{border-color:var(--jade);background:var(--jade);color:#fff3dd}.tutorial-layout{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);align-items:start;gap:24px;width:min(1320px,100%);margin:0 auto;display:grid}.tutorial-layout .round-goal-card{margin-top:0}.tutorial-board{background:var(--jade-dark);color:#fff4df;border:1px solid #456b5f;min-height:400px;padding:30px;box-shadow:9px 11px #263d341b}.tutorial-table-heading,.tutorial-side-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.tutorial-table-heading h1{margin:4px 0 0;font-size:27px}.tutorial-wall{color:#d9cdb9;border:1px solid #fff3;border-radius:999px;padding:6px 11px;font-size:11px}.tutorial-rack,.tutorial-ordered-rack{flex-wrap:wrap;justify-content:center;gap:8px;margin:76px auto 42px;display:flex}.tutorial-ordered-rack{gap:13px;display:grid}.tutorial-line{justify-content:center;align-items:center;gap:8px;display:flex}.tutorial-line>b{color:#f4d3a3;width:24px;font-size:28px}.tutorial-tile{width:55px;height:73px;color:var(--ink);background:#fff9eb;border:1px solid #d2c3a5;border-bottom:5px solid #b9aa8c;border-radius:5px;place-items:center;font-size:30px;display:grid;position:relative;box-shadow:3px 4px #0b211a55}.tutorial-tile.drawn{background:#fff1d8;border-color:#d99e66;margin-left:18px}.tutorial-tile small{color:#f2c98b;white-space:nowrap;font-size:10px;position:absolute;top:-26px}.tutorial-explanation{color:#d8cfbe;text-align:center;max-width:670px;margin:0 auto;font-size:14px;line-height:1.8}.tutorial-side{border:1px solid var(--line);background:var(--paper-light);min-height:400px;padding:25px;box-shadow:8px 9px #263d3412}.tutorial-players{gap:9px;display:grid}.tutorial-players>div{border:1px solid var(--line);background:#f4eddf;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.tutorial-players>div.me{background:#e4eee7;border-color:#6f8d82}.tutorial-players>div>span{background:var(--jade);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.tutorial-players small,.tutorial-ratings small{color:var(--muted)}.tutorial-side-heading h2,.tutorial-showcases h2,.tutorial-summary h2{margin:3px 0 16px}.tutorial-side-heading>span{color:var(--red-dark);background:#e3d8c4;padding:5px 9px;font-size:11px}.tutorial-ratings article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.tutorial-ratings article div{gap:4px;display:grid}.tutorial-ratings article strong{background:var(--red);color:#fff6e5;border-radius:50%;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.tutorial-ratings article strong.sealed{background:var(--jade);font-size:14px}.tutorial-rating-note{margin-top:13px;line-height:1.6;display:block}.tutorial-showcases{gap:10px;display:grid}.tutorial-showcases>.eyebrow,.tutorial-showcases>h2{margin-bottom:0}.tutorial-showcases article{border-left:4px solid var(--jade);background:#f3ebdc;padding:12px 14px}.tutorial-showcases article header{justify-content:space-between;gap:10px;display:flex}.tutorial-showcases article header span{color:var(--red);font-size:11px}.tutorial-showcases blockquote{white-space:pre-wrap;margin:10px 0 2px;font-size:18px;line-height:1.45}.tutorial-summary{text-align:center}.tutorial-summary .bigseal{margin:0 auto 18px}.tutorial-summary blockquote{color:var(--jade-dark);margin:24px 0;font-size:28px;line-height:1.55}.tutorial-summary>div{border:1px solid var(--line);justify-content:space-between;padding:13px;display:flex}.tutorial-summary>div strong{color:var(--red)}.tutorial-summary>p{color:var(--muted);font-size:12px;line-height:1.7}.tutorial-actions{gap:9px;margin-top:22px;display:flex}.tutorial-actions .primary,.tutorial-actions .ghost{flex:1;width:auto}@media (width<=800px){.landing,.paper{padding:20px}.round-goal-card{padding:15px 16px}.goal-title-row{justify-content:space-between;align-items:flex-start}.goal-title-row h2{font-size:22px}.hero{grid-template-columns:1fr;padding:42px 0}.hero h1{font-size:50px}.landing footer{grid-template-columns:1fr 1fr}.board{grid-template-columns:1fr;padding:22px}.players{grid-template-columns:1fr 1fr;display:grid}.center{padding:20px 0}.side-panel{border-top:1px solid #ffffff25;border-left:0;max-height:none;padding:16px 0 0}.side-panel .game-log{display:none}.claim-panel{grid-template-columns:1fr;margin-top:12px}.claim-panel>p,.claim-panel>.error{grid-column:1}.meld-approval-panel{grid-template-columns:1fr}.meld-review-actions,.meld-review-note{grid-column:1}.claim-buttons{grid-template-columns:repeat(4,1fr);display:grid}.hand-heading{align-items:flex-start}.turn-controls{flex-wrap:wrap;justify-content:flex-end}.turn-controls button{padding:9px 11px}.rack{justify-content:flex-start}.rack-tile{width:43px;height:59px;font-size:24px}.rack-tools{flex-wrap:wrap}.rack-tools span{width:100%}.draw-offer{grid-template-columns:1fr;gap:14px}.draw-offer-tiles{justify-content:flex-start}.draw-offer-tiles button{min-width:82px}.top-actions i{display:none}.room{font-size:48px}.seats{grid-template-columns:1fr}.modal-backdrop{place-items:end center;padding:0}.composer-modal{border-radius:14px 14px 0 0;width:100%;max-height:92vh;padding:25px 18px}.composer-line{justify-content:flex-start}.compose-token{min-width:43px;height:58px;padding:0 9px;font-size:23px}.compose-token.punctuation{min-width:36px;height:47px;font-size:21px}.compose-token.lineBreak{height:32px;font-size:12px}.sentence-formatting>div:first-child{display:block}.sentence-formatting small{margin-top:4px;display:block}.composer-tools{flex-wrap:wrap}.composer-tools span{width:100%}.result-grid{grid-template-columns:1fr;gap:18px}.showcase-list{grid-template-columns:1fr}.showdown-vote-heading{display:block}.showdown-vote-heading .response-timer{margin:16px auto 0}.showdown-sentence-grid,.showdown-reveal-list{grid-template-columns:1fr}.result-card{padding:26px 18px}.voteCard{padding:48px 24px 30px}.exit-floating{top:14px;right:14px}.tile-groups header{display:block}.tile-groups header span{margin-top:4px;line-height:1.5;display:block}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-page{padding:20px}.tutorial-layout{grid-template-columns:1fr}.tutorial-board{min-height:340px;padding:22px 16px}.tutorial-rack,.tutorial-ordered-rack{margin:58px auto 34px}.tutorial-tile{width:47px;height:64px;font-size:26px}}@media (width<=480px){.landing footer{grid-template-columns:1fr}.landing footer div{border-right:0}.players{grid-template-columns:1fr}.claim-buttons{grid-template-columns:1fr 1fr}.hand-heading{flex-direction:column}.turn-controls{justify-content:flex-start;width:100%}.composer-tools button{flex:1}.showcase-actions{flex-direction:column}.showcase-actions .primary{width:100%}.round-progress-copy{align-items:flex-end}.sealed-participants{grid-template-columns:1fr}.showdown-actions{flex-direction:column}.showdown-actions .primary{width:100%}.draw-offer-tiles{gap:6px}.draw-offer-tiles button{flex:1;min-width:0;padding:8px 5px}.tile-library summary{align-items:flex-start}.tile-library summary i{text-align:right;max-width:95px}.tile-library-intro,.tile-groups{padding-left:14px;padding-right:14px}.mode-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.meld-review-actions{flex-direction:column}.goal-heading,.goal-title-row{align-items:flex-start}.goal-rubric>b{width:100%}.tutorial-progress{grid-template-columns:repeat(6,82px);justify-content:start;overflow-x:auto}.tutorial-table-heading{display:block}.tutorial-wall{margin-top:12px;display:inline-block}.tutorial-rack{justify-content:flex-start}.tutorial-line{gap:5px}.tutorial-tile{width:43px;height:59px;font-size:24px}.tutorial-tile.drawn{margin-left:7px}.tutorial-actions{flex-direction:column}}
