@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:is(.stage,.flat-stage,.print-overlay,.cover-board){--page:#eadcc0;--wood-1:#ead6b6;--wood-2:#dcc29b;--wood-3:#c9a97c;--glass:#2a25200a;--glass-strong:#fffc;--panel:#fbf3e1;--card:#fffaef;--line:#2d201624;--text:#2d2016;--muted:#5a4935;--faint:#7c6851;--gold:#d9a233;--gold-light:#f2cf7c;--accent:#138f9f;--accent-strong:#0e7482;--accent-soft:#138f9f1f;--cover:#4d6b4a;--paper:#fbf5e8;--paper-2:#efe3c9;--ink:#2d2016;--ink-muted:#5f5547;--ink-rgb:45 32 22;--rule:var(--ink);--shadow:var(--ink);--shadow-rgb:70 48 25;--surface-rgb:255 250 239;--sheet:#ece3d6;--tip-bg:var(--ink);--tip-text:#fbf3e1;--field:#fff;--code:#fbf8f1;--page-rgb:234 220 192;--glow:#fff8e8e6;--sheen:#ffffffe6;--edge:1.5px solid var(--rule);--lift:0 2px 0 var(--shadow);--lift-panel:0 3px 0 var(--shadow), 0 14px 30px rgb(var(--shadow-rgb) / .16);--font-display:"Fraunces Variable", Georgia, serif;--display-soft:"SOFT" 100, "WONK" 1;--font-ui:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text)}:root[data-theme=dark]{--page:#17120e;--glass:#fff0dc0a;--glass-strong:#282019d9;--panel:#241d17;--card:#2d251e;--line:#ffecd221;--text:#f1e6d4;--muted:#c9b79d;--faint:#9c8a73;--accent:#2fb3c4;--accent-strong:#5cc8d6;--accent-soft:#2fb3c429;--paper:#2a221b;--paper-2:#33291f;--ink:#f1e6d4;--ink-muted:#c9b79d;--ink-rgb:241 230 212;--rule:#5d4c3b;--shadow:#0b0806;--shadow-rgb:0 0 0;--surface-rgb:44 36 29;--sheet:#1d1712;--tip-bg:#f1e6d4;--tip-text:#1d1712;--field:#1c1611;--code:#1c1611;--page-rgb:23 18 14;--glow:#d9a2331a;--sheen:#ffeccd0d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--page);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button{font:inherit;color:inherit}.app{background:var(--page);height:100vh;position:relative;overflow:hidden}.stage,.flat-stage{position:absolute;inset:0}.stage canvas{display:block}.stage:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(75% 70% at 50% 48%,#0000 60%,#6e482429);position:absolute;inset:0}:root[data-theme=dark] :is(.gen-reason,.dream-problem,.room-problem,.account-problem){color:#f0a27e!important}:root[data-theme=dark] .ghost.favorite.on{color:#f2c65e;background:#d9a23329;border-color:#f2c65e73}:root[data-theme=dark] .tok-string{color:#8fc47f}:root[data-theme=dark] .stage:after{background:radial-gradient(80% 75% at 50% 48%,#0000 50%,#0c080599)}.flat-stage{padding-top:76px;padding-bottom:18px;transition:padding .45s;display:flex}.flat-stage>.table{flex:1;margin:0 18px}.topbar{z-index:30;background:linear-gradient(180deg, rgb(var(--page-rgb) / .95), rgb(var(--page-rgb) / .7) 60%, rgb(var(--page-rgb) / 0));pointer-events:none;align-items:center;gap:4px;padding:10px 16px 20px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand{font-family:var(--font-display);font-variation-settings:var(--display-soft);letter-spacing:.01em;align-items:center;gap:10px;font-size:23px;font-weight:650;display:flex}.brand-mark{filter:drop-shadow(0 2px 6px #e6b64a59);flex-shrink:0;width:30px;height:30px}.field select{appearance:none;font:inherit;text-transform:none;letter-spacing:0;color:var(--text);background:var(--card) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232d2016' stroke-width='2.5'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 12px center;border:var(--edge);cursor:pointer;border-radius:999px;padding:7px 34px 7px 14px;font-size:14px}.ghost{border:1.5px solid rgb(var(--ink-rgb) / .28);background:rgb(var(--surface-rgb) / .75);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.ghost:hover:not(:disabled){background:var(--card);border-color:var(--rule)}.ghost:active:not(:disabled){transform:translateY(1px)}.ghost:disabled{opacity:.55;cursor:default}.ghost.on{color:var(--accent-strong);background:var(--accent-soft)}.ghost.icon-only{padding:7px 9px}.ghost.danger{color:#fbf3e1;background:#b4432f}.ghost.danger:hover:not(:disabled){background:#9c3826}button.link{color:var(--accent-strong);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.gen-keep{text-align:center;color:var(--muted);margin:8px 0 0;font-size:12.5px}.sidebar{z-index:25;scrollbar-width:none;flex-direction:column;gap:14px;width:290px;transition:transform .5s cubic-bezier(.3,.8,.3,1),opacity .4s;display:flex;position:absolute;top:72px;bottom:18px;overflow-y:auto}.sidebar.left{left:18px}.sidebar.right{right:18px}.panel{background:var(--panel);border:var(--edge);box-shadow:var(--lift-panel);border-radius:16px;flex-direction:column;gap:14px;padding:18px;display:flex}.panel h2{font-family:var(--font-display);font-variation-settings:var(--display-soft);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.panel h2 svg{color:var(--accent)}.hint{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.status-line{color:var(--text)}textarea,.field input[type=number]{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);resize:vertical;border-radius:12px;outline:none;padding:10px 12px;transition:border-color .2s}textarea:focus,.field input[type=number]:focus{border-color:var(--accent)}.create textarea{field-sizing:content;min-height:118px;max-height:210px}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.field-row{justify-content:space-between;display:flex}.field-row output{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}input[type=range]{width:100%;accent-color:var(--accent)}.segmented{background:rgb(var(--ink-rgb) / .06);border:var(--edge);border-radius:12px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:7px 4px;font-size:12.5px;font-weight:600}.segmented button.on{background:var(--card);color:var(--text);box-shadow:0 0 0 1.5px var(--rule)}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:10px;font-size:12.5px;display:flex}.toggle input{opacity:0;position:absolute}.toggle-track{background:rgb(var(--ink-rgb) / .18);border-radius:999px;flex:none;width:34px;height:20px;transition:background .2s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(14px)}.stats,.log{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stats li{color:var(--muted);align-items:center;gap:8px;display:flex}.stats b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.profile{flex-direction:column;gap:11px;margin:0 0 10px;padding:0;list-style:none;display:flex}.profile li{flex-direction:column;gap:5px;display:flex}.profile-row{justify-content:space-between;font-weight:600;display:flex}.profile-row b{font-variant-numeric:tabular-nums}.profile small{color:var(--muted);font-size:12px;line-height:1.4}.meter{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.meter i{height:100%;width:calc(var(--fill) * 100%);background:var(--accent);border-radius:3px;transition:width .4s;display:block}.log li{color:var(--muted);align-items:baseline;gap:7px;font-size:12.5px;line-height:1.4;display:flex}.log li:first-child,.log b{color:var(--text)}.seat-dot{background:var(--seat,var(--faint));width:9px;height:9px;box-shadow:0 0 10px var(--seat,transparent);border-radius:50%;flex:none}.action{border:var(--edge);background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--lift), inset 0 1.5px 0 #ffffff40;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.action:hover{box-shadow:0 3px 0 var(--shadow), inset 0 1.5px 0 #ffffff40;transform:translateY(-1px)}.action:active:not(:disabled){box-shadow:0 1px 0 var(--shadow);transform:translateY(1px)}.action:disabled{opacity:.6;cursor:default;transform:none}.action.wide{width:100%;padding:11px 16px}.action.secondary{background:rgb(var(--surface-rgb) / .75);color:var(--text);border:1.5px solid rgb(var(--ink-rgb) / .28);box-shadow:none;padding:6px 13px;font-weight:600}.action.secondary:hover{background:var(--card);border-color:var(--rule);box-shadow:none}.field.inline{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;display:grid}.create .field select{text-overflow:ellipsis;width:100%;padding:6px 30px 6px 12px;font-size:13px}.create .field select:disabled{cursor:default;opacity:.6}.asked{flex-wrap:wrap;gap:6px;display:flex}.asked button{background:var(--accent-soft);color:var(--accent-strong);font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:4px;padding:4px 8px 4px 10px;font-size:12px;font-weight:600;display:inline-flex}.create-actions{z-index:1;background:linear-gradient(#fffcf700, var(--panel) 22px);border-radius:0 0 18px 18px;gap:8px;margin:0 -18px -18px;padding:22px 18px 18px;display:grid;position:sticky;bottom:0}.create-actions .action{padding:10px 16px}.table{background:radial-gradient(ellipse 90% 75% at 50% 38%, var(--wood-1), var(--wood-2) 55%, var(--wood-3));min-height:0;box-shadow:inset 0 0 0 1px #fff6, inset 0 0 120px #7850282e, 0 18px 40px rgb(var(--shadow-rgb) / .18);scrollbar-width:thin;border-radius:26px;flex-direction:column;gap:16px;padding:20px 22px;display:flex;position:relative;overflow-y:auto}.table:before{content:"";pointer-events:none;opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.35 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.table>*{position:relative}.rivals{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.seat-chip{box-shadow:0 4px 14px rgb(var(--shadow-rgb) / .12);border:1px solid var(--line);background:#fffcf7eb;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-weight:600;transition:box-shadow .3s;display:inline-flex}.seat-chip.active{box-shadow:0 0 0 1px var(--seat), 0 0 22px -4px var(--seat)}.center{flex-wrap:wrap;flex:1 0 auto;justify-content:center;align-items:center;gap:22px;display:flex}.board{width:min(100%,760px);max-height:64vh;overflow:visible}.mat{border:1px solid var(--line);box-shadow:0 6px 18px rgb(var(--shadow-rgb) / .12);background:#fffcf7c7;border-radius:18px;padding:12px 14px;transition:box-shadow .35s;position:relative}.mat:before{content:"";background:var(--seat);border-radius:0 0 4px 4px;height:3px;position:absolute;top:0;left:16px;right:16px}.mat.active{box-shadow:0 0 0 1px var(--seat), 0 0 30px -6px var(--seat)}.mat.compact{flex:260px;max-width:400px}.mat-head{align-items:center;gap:9px;display:flex}.mat-name{font-family:var(--font-display);font-size:17px;font-weight:600}.mat-turn{text-transform:uppercase;letter-spacing:.1em;color:var(--seat);font-size:10.5px;font-weight:700;animation:1.6s ease-in-out infinite breathe}.mat-head .chip.score{margin-left:auto}.mat-counters{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.mat-cards{flex-wrap:wrap;gap:8px;margin-top:12px;padding:2px 2px 4px;display:flex}.mat-note{color:var(--muted);margin:8px 0 0;font-size:12px}.chip{border:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--text);background:#ffffffd9;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 3px;font-size:13px;font-weight:700;display:inline-flex}.chip.plain{gap:5px;padding:4px 11px}.chip-label{color:var(--muted);font-weight:500}.chip-icon{color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;box-shadow:inset 0 -2px #0003,0 1px 3px #0000004d}.chip.score .chip-icon{color:#3b2a05}button.chip{cursor:pointer}.chip.target{border-color:var(--accent);animation:1.8s ease-in-out infinite glow}.chip.target:hover{background:var(--accent-soft)}.card{--w:150px;width:var(--w);border:var(--edge);background:linear-gradient(180deg, var(--paper), var(--paper-2));color:var(--ink);text-align:left;box-shadow:var(--lift), 0 8px 20px rgb(var(--shadow-rgb) / .2);border-radius:14px;flex-direction:column;flex:none;gap:6px;padding:9px 9px 10px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.card:before{content:"";border:2px solid color-mix(in srgb, var(--tag) 50%, transparent);pointer-events:none;border-radius:10px;position:absolute;inset:3px}.card-top{justify-content:space-between;align-items:center;gap:4px;min-height:21px;display:flex}.card-cost{flex-wrap:wrap;gap:3px;display:flex}.pip{color:#fff;border-radius:999px;align-items:center;gap:2px;padding:2px 6px 2px 4px;font-size:11px;display:inline-flex;box-shadow:inset 0 -1.5px #00000038}.card-points{color:var(--gold-light);background:#2d261c;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:12px;font-weight:800;display:inline-flex}.card-art{color:#ffffffeb;background:radial-gradient(circle at 28% 22%, color-mix(in srgb, var(--tag) 45%, white), transparent 55%), linear-gradient(160deg, var(--tag), color-mix(in srgb, var(--tag) 65%, black));border-radius:10px;place-items:center;height:72px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014,inset 0 -10px 20px #00000026}.card-art svg{filter:drop-shadow(0 2px 3px #00000040)}.card-art img{object-fit:cover;width:100%;height:100%}.card-title{font-family:var(--font-display);font-size:15.5px;font-weight:650;line-height:1.1}.card-tags{letter-spacing:.09em;text-transform:uppercase;gap:7px;font-size:9.5px;font-weight:800;display:flex}.card-text{color:var(--ink-muted);margin:0;font-size:11px;line-height:1.38}.card-type{background:var(--type);color:#fff;border:1.5px solid var(--ink);pointer-events:none;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-5px;left:-5px;box-shadow:inset 0 0 0 2px #ffffff59}.card.compact .card-type{width:18px;height:18px;bottom:-4px;left:-4px}.card.compact{--w:94px;gap:4px;padding:6px 6px 7px}.card.compact .card-cost{display:none}.card.compact .card-top{z-index:1;min-height:0;position:absolute;top:9px;right:9px}.card.compact .card-art{height:48px}.card.compact .card-title{font-size:12px}button.card{cursor:pointer}.card.target{box-shadow:0 0 0 2px var(--accent), 0 0 22px -2px #138f9fb3, 0 12px 26px rgb(var(--shadow-rgb) / .3)}.card.target:hover{z-index:3;transform:translateY(-10px)scale(1.04)}.card.face-down{background:repeating-linear-gradient(45deg,#2d3550 0 7px,#252c44 7px 14px);height:200px}.shared{border:1px solid var(--line);background:#fffcf78c;border-radius:20px;padding:14px 16px 16px}.shared-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.shared-head h3{font-family:var(--font-display);margin:0;font-size:18px;font-weight:600}.shared-note{color:var(--muted);font-size:12.5px}.shared-counters{gap:6px;margin-left:auto;display:flex}.shared-cards{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.hand{justify-content:center;align-items:flex-end;padding:10px 0 4px;display:flex}.hand .card{transform:rotate(var(--tilt)) translateY(var(--lift));margin:0 -5px}.hand .card.target:hover{transform:rotate(0)translateY(-14px)scale(1.05)}.action-bar{border:1px solid var(--line);background:#fffcf7b3;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;padding:10px 14px;display:flex}.table>.action-bar{z-index:2;box-shadow:0 -6px 18px rgb(var(--shadow-rgb) / .12);background:#fffcf7;position:sticky;bottom:-20px}.action-dock{z-index:26;pointer-events:none;flex-direction:column;align-items:center;padding:0 12px;transition:left .45s,right .45s;display:flex;position:absolute;bottom:20px}.action-dock .action-bar{pointer-events:auto;background:var(--panel);border:var(--edge);max-width:min(880px,100%);box-shadow:var(--lift-panel);border-radius:999px;padding:10px 12px 10px 20px;animation:.4s rise}.status{color:var(--text);margin-right:6px;font-weight:600}.choice-menu{z-index:40;background:var(--panel);border:var(--edge);min-width:180px;max-height:60vh;box-shadow:var(--lift-panel);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:fixed;overflow-y:auto;transform:translate(-50%,10px)}.choice-menu.up{transform:translate(-50%,calc(-100% - 10px))}.choice-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:9px 12px}.choice-menu button:hover{background:var(--accent-soft)}.overlay{z-index:35;background:rgb(var(--shadow-rgb) / .28);place-items:center;animation:.4s fade;display:grid;position:absolute;inset:0}.table-fallback{z-index:2;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.table-fallback-card{background:var(--panel);border:2px solid var(--rule);max-width:420px;box-shadow:var(--lift-panel);text-align:center;border-radius:20px;padding:26px 30px}.table-fallback-card h3{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:0 0 8px;font-size:22px}.table-fallback-card p{color:var(--muted);margin:0 0 18px;line-height:1.5}.table-fallback-card .table-fallback-detail{color:var(--muted);overflow-wrap:anywhere;margin:16px 0 0;font-family:ui-monospace,monospace;font-size:12px}.result{text-align:center;background:var(--panel);border:2px solid var(--rule);min-width:300px;box-shadow:0 4px 0 var(--shadow), 0 30px 70px rgb(var(--shadow-rgb) / .3);border-radius:22px;padding:30px 38px;animation:.45s cubic-bezier(.2,.9,.3,1.2) rise}.result-icon{color:var(--gold)}.result h3{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:8px 0 16px;font-size:34px;font-weight:650}.result-scores{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.result-scores li{align-items:center;gap:10px;font-weight:600;display:flex}.result-scores b{font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px}.board-base{fill:url(#board-paper)}.cell{fill:#f1e7d1;stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:fill .2s}.cell.ladder{fill:#cfe4c4}.cell.snake{fill:#f1cfc6}.cell.forest{fill:#8fb47c}.cell.quarry{fill:#bdbcb5}.cell.fields{fill:#ead27f}.cell.reef{fill:#93c3e2}.cell.lagoon{fill:#b5e0da}.cell.vertex,.cell.edge{fill:#f7f0e2}.cell.label{fill:none;stroke:none;pointer-events:none}.board .wedges{pointer-events:none}.board .cell.target{fill:#f7dd93;cursor:pointer;animation:1.6s ease-in-out infinite cell-glow}.board .cell.target:hover{fill:#f2c65e}.cell-label,.piece-label{text-anchor:middle;dominant-baseline:central;pointer-events:none}.cell-label{font-family:var(--font-display);fill:var(--ink);stroke:#fbf3e1b3;stroke-width:.05px;stroke-linejoin:round;paint-order:stroke;font-weight:600}.cell-rim{fill:none;stroke-width:.09px;pointer-events:none}.cell-token{pointer-events:none}.cell-token circle{fill:#fbf3e1;stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cell-token text{font-family:var(--font-display);fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-weight:700}.piece{pointer-events:none;transform-box:fill-box;transform-origin:50%;animation:.32s cubic-bezier(.2,.9,.3,1.35) pop}.piece-label{fill:#fff;font-weight:800}.piece-motif{color:#fff;pointer-events:none}.piece-motif.neutral{color:var(--ink)}.piece-label.neutral{fill:var(--ink);stroke:none}.seat-strip{z-index:26;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;display:flex;position:absolute}.labels{z-index:20;pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{visibility:hidden;will-change:transform;position:absolute;top:0;left:0}.label:not(.mark)>*{zoom:var(--chip-scale,1)}.mat-badge{max-width:var(--room,none);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex;transform:translate(-100%,-50%)}.mat-badge.wrap{width:var(--room,auto);flex-wrap:wrap;justify-content:flex-end;row-gap:6px;transform:translate(-100%)}.mat-badge.wrap.start{justify-content:flex-start}.badge-chip,.badge-note,.turn-pill{height:26px;color:var(--text);background:var(--card);border:var(--edge);box-shadow:var(--lift);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}button.badge-chip{font:inherit;font-size:13px;font-weight:700}.badge-chip.target{pointer-events:auto;cursor:pointer;box-shadow:var(--lift), 0 0 0 2.5px var(--accent), 0 0 14px #138f9f80}.badge-chip small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:600}.badge-chip.score{color:#fbf3e1;background:var(--ink);font-size:14px}.badge-chip,.turn-pill{flex-shrink:0}.badge-note{min-width:0;max-width:300px;height:auto;min-height:26px;color:var(--muted);pointer-events:auto;border-radius:13px;flex:0 auto;padding:3px 11px;font-size:12px;font-weight:600}.badge-note>span{-webkit-line-clamp:4;white-space:normal;text-wrap:balance;-webkit-box-orient:vertical;line-height:13px;display:-webkit-box;overflow:hidden}.turn-pill{color:#fff;background:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;animation:1.8s ease-in-out infinite breathe}.pile-count,.tag-count{color:#fff;font-variant-numeric:tabular-nums;border:var(--edge);box-shadow:var(--lift);text-shadow:0 1px 0 rgb(var(--ink-rgb) / .45);white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 7px 3px 6px;font-size:12.5px;font-weight:800;display:inline-flex;transform:translate(-50%,-50%)}button.pile-count{font:inherit;font-size:12.5px;font-weight:800}button.pile-count:disabled{cursor:default}button.pile-count.target{pointer-events:auto;cursor:pointer}.pile-count.target{box-shadow:var(--lift), 0 0 0 2.5px var(--accent), 0 0 16px #138f9f99}.tag-count{background:var(--ink);color:#f3d58c}.card-preview{z-index:38;pointer-events:none;height:auto;box-shadow:0 0 0 1px rgb(var(--ink-rgb) / .08), 0 24px 50px rgb(var(--shadow-rgb) / .35);border-radius:16px;animation:.18s ease-out pop-in;position:fixed}.tooltip{z-index:38;color:#fbf3e1;background:var(--ink);pointer-events:none;border-radius:10px;padding:6px 11px;font-size:13px;font-weight:600;position:fixed}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}}.progress{background:rgb(var(--ink-rgb) / .07);border-radius:999px;place-items:center;height:30px;font-size:12.5px;font-weight:600;display:grid;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#138f9f40,#138f9f73);transition:width .4s;position:absolute;inset:0 auto 0 0}.progress span{position:relative}.progress.indeterminate .progress-bar{width:40%;animation:1.4s ease-in-out infinite sweep}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.align-report{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.align-report svg{color:var(--accent)}.speech{z-index:3;background:var(--card);width:max-content;max-width:280px;color:var(--text);white-space:normal;border:var(--edge);box-shadow:var(--lift), 0 10px 26px rgb(var(--shadow-rgb) / .28);border-radius:14px;padding:9px 13px;font-size:13.5px;font-weight:600;line-height:1.35;animation:.35s cubic-bezier(.2,.9,.3,1.3) speech-in;position:absolute}.speech:before{content:"✦ ";color:var(--accent)}.speech.above{bottom:22px;right:0}.speech.below{top:calc(100% + 10px);left:50%;translate:-50%}.seat-chip{position:relative}.log-say{color:var(--accent-strong);margin-top:2px;font-style:italic;display:block}@keyframes speech-in{0%{opacity:0;transform:translateY(6px)scale(.92)}}@keyframes glow{0%,to{box-shadow:0 0 0 2px #138f9f40}50%{box-shadow:0 0 0 3px #138f9f8c,0 0 18px #138f9f59}}@keyframes cell-glow{0%,to{opacity:.85}50%{opacity:1}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.96)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.library{z-index:60;background:var(--sheet);padding:32px 20px 48px;position:fixed;inset:0;overflow-y:auto}.library-sheet{flex-direction:column;gap:22px;max-width:1240px;margin:0 auto;display:flex}.library-group{font-family:var(--font-display);font-variation-settings:var(--display-soft);align-items:center;gap:10px;margin:0 0 12px;font-size:20px;display:flex}.library-group-name{cursor:help;border-radius:6px;outline:none;align-items:center;gap:7px;display:inline-flex;position:relative}.library-group-name>svg{color:var(--faint);transition:color .12s}.library-group-name:hover>svg,.library-group-name:focus-visible>svg{color:var(--ink)}.library-group-name:focus-visible{box-shadow:0 0 0 2px var(--accent)}.library-tip{z-index:5;background:var(--tip-bg);width:max-content;max-width:min(340px,100vw - 48px);color:var(--tip-text);font-family:var(--font-ui);font-variation-settings:normal;box-shadow:0 10px 24px rgb(var(--shadow-rgb) / .25);opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-3px)}.library-group-name:hover>.library-tip,.library-group-name:focus>.library-tip{opacity:1;visibility:visible;transform:none}.ghost.favorite.on{color:#c8891a;background:#fbf0d6;border-color:#c8891a80}.ghost.favorite:hover:not(:disabled){color:#b7832a}.game-card-foot .favorite{margin-left:auto}.library-count{border:var(--edge);background:var(--card);font-family:var(--font-ui);border-radius:999px;padding:1px 9px;font-size:12px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.game-card{border:var(--edge);background:var(--panel);box-shadow:var(--lift-panel);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.game-card.playing{outline:3px solid var(--accent);outline-offset:2px}.game-chips{flex-wrap:wrap;gap:6px;display:flex}.game-chips span{border:1px solid var(--line);background:var(--card);color:var(--ink-muted);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600}.game-card-body{flex-direction:column;flex:1;gap:8px;padding:14px 16px 6px;display:flex}.game-card-body h3{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:0;font-size:19px;line-height:1.2}.game-card-summary{color:var(--ink-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.game-card-idea{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.game-card-foot{justify-content:space-between;align-items:center;gap:10px;padding:10px 16px 16px;display:flex}.game-card-foot .action{padding:8px 18px}.game-card-playing{color:var(--accent-strong);font-size:13px;font-weight:700}.game-card-ask{text-align:center;background:rgb(var(--surface-rgb) / .94);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.game-card-ask p{margin:0;font-size:15px}.game-card-ask div{gap:10px;display:flex}.results{z-index:60;background:var(--sheet);padding:32px 16px;position:fixed;inset:0;overflow-y:auto}.results-sheet{flex-direction:column;gap:18px;max-width:1000px;margin:0 auto;display:flex}.results-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.results-head h1{font-family:var(--font-display);align-items:center;gap:10px;margin:0 0 6px;font-size:30px;font-weight:600;display:flex}.results-head h1 svg{color:var(--accent)}.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat,.results-section{background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px rgb(var(--shadow-rgb) / .08);border-radius:16px}.stat{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat-label{color:var(--muted);font-size:12.5px;font-weight:600}.stat-value{letter-spacing:-.01em;font-size:30px;font-weight:650}.stat-note{color:var(--muted);font-size:12px;line-height:1.4}.results-section{flex-direction:column;gap:12px;padding:20px 22px;display:flex}.results-section h2{font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:19px;font-weight:600;display:flex}.results-section h2 a{font-family:var(--font-ui);color:var(--accent-strong);font-size:12.5px;font-weight:600;text-decoration:none}.results-section h2 a:hover{text-decoration:underline}.results-table{border-collapse:collapse;width:100%;font-size:13.5px}.results-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:0 10px 8px 0;font-size:12px;font-weight:600}.results-table td{border-bottom:1px solid var(--line);padding:9px 10px 9px 0}.results-table tr:last-child td{border-bottom:0}.results-table .num{text-align:right;font-variant-numeric:tabular-nums}.results-table .uneven{font-weight:700}.score-cell{align-items:center;gap:8px;display:flex}.score-cell b{font-variant-numeric:tabular-nums;width:26px}.score-cell .meter{flex:1;max-width:120px}.bars{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:220px 1fr;align-items:center;gap:12px;display:grid;position:relative}.bar-label{color:var(--text);font-size:13px}.bar-track{height:22px;margin-right:56px;position:relative}.bar{background:rgb(var(--ink-rgb) / .22);border-radius:0 4px 4px 0;height:100%;display:block}.bar.best{background:var(--accent)}.bar-track b{font-variant-numeric:tabular-nums;font-size:13px;position:absolute;top:50%;transform:translate(8px,-50%)}.bar-tip{z-index:2;background:var(--text);color:#fff;white-space:nowrap;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;top:-34px;left:232px}.bar-axis{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;margin:0 56px 0 232px;padding-top:6px;font-size:11.5px;display:flex}@media (width<=640px){.bar-row{grid-template-columns:1fr;gap:4px}.bar-axis{margin-left:0}.bar-tip{left:0}.results-table{font-size:12.5px}}.rules-overlay{z-index:55;padding:24px 16px;position:fixed}.rules-card{background:var(--panel);border:2px solid var(--rule);width:min(560px,100%);max-height:calc(100vh - 48px);box-shadow:0 4px 0 var(--shadow), 0 30px 70px rgb(var(--shadow-rgb) / .3);border-radius:22px;padding:26px 30px 24px;animation:.4s cubic-bezier(.2,.9,.3,1.2) rise;overflow-y:auto}.rules-kicker{color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}.rules-card h3{font-family:var(--font-display);margin:6px 0 4px;font-size:30px;font-weight:650}.rules-summary{color:var(--muted);margin:0 0 14px;line-height:1.5}.rules-card h4{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;font-size:13px}.rules-list,.rules-controls{flex-direction:column;gap:7px;margin:0;padding-left:20px;line-height:1.5;display:flex}.rules-controls{color:var(--muted);font-size:13px}.rules-card .action{margin-top:20px}.hint-button{padding:6px 12px}.hint-text{max-width:360px;color:var(--text);align-items:center;gap:6px;font-weight:600;display:inline-flex}.hint-text svg{color:var(--gold);flex-shrink:0}.print-overlay{z-index:70;background:#d9d2c6;padding:0 16px 40px;position:fixed;inset:0;overflow-y:auto}.print-toolbar{z-index:1;border-bottom:1px solid var(--line);background:#fffcf7f7;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin:0 -16px 24px;padding:12px 16px;display:flex;position:sticky;top:0}.print-page{box-sizing:border-box;color:#1d1914;width:210mm;min-height:297mm;box-shadow:0 8px 30px rgb(var(--shadow-rgb) / .25);background:#fff;margin:0 auto 24px;padding:12mm}.print-page h1{font-family:var(--font-display);margin:0 0 4mm;font-size:30pt}.print-page h2{font-family:var(--font-display);margin:8mm 0 3mm;font-size:15pt}.print-page ol,.print-page ul{margin:0;padding-left:6mm;font-size:11pt;line-height:1.5}.print-page li+li{margin-top:2mm}.print-lede{margin:0;font-size:13pt;line-height:1.45}.print-meta{color:#6b6257;margin:2mm 0 0;font-size:10pt}.print-board{place-items:center;width:297mm;min-height:210mm;display:grid}.print-board .board{width:100%;max-height:180mm}.print-cards{grid-template-columns:repeat(3,63mm);grid-auto-rows:88mm;place-content:start center;gap:0;padding:10mm 0;display:grid}.print-card{box-sizing:border-box;outline-offset:-.1mm;outline:.2mm dashed #9a8f82;width:63mm;height:88mm;padding:2.5mm}.print-card .card{--w:100%;height:100%;box-shadow:none;border:.3mm solid #d8cfbf}.print-card .card-art{height:28mm}.print-card .card-title{font-size:12pt}.print-card .card-text{font-size:8.5pt}@media print{@page{size:A4;margin:0}@page landscape{size:A4 landscape;margin:0}body{background:#fff}.app{background:0 0;height:auto;overflow:visible}.app>:not(.print-overlay),.print-toolbar{display:none!important}.print-overlay{background:0 0;padding:0;position:static;overflow:visible}.print-page{box-shadow:none;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0}.print-board{page:landscape}}.revision{flex-direction:column;gap:8px;display:flex}.revision-table{border-collapse:collapse;width:100%;font-size:12.5px}.revision-table th{text-align:right;color:var(--muted);padding-bottom:4px;font-weight:600}.revision-table td{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;padding:4px 0}.revision-table td+td{text-align:right;font-weight:600}.revision h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:4px 0 0;font-size:12px}.revision ul{margin:0;padding-left:18px;font-size:12.5px;line-height:1.45}.app.making .sidebar.right{opacity:0;pointer-events:none;transform:translate(calc(100% + 30px))}.panel.making{gap:12px}.making-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.gen-clock{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.gen-bar{background:rgb(var(--ink-rgb) / .08);border-radius:999px;height:8px;overflow:hidden}.gen-bar span{border-radius:inherit;background:linear-gradient(90deg, #1aa3b4, var(--accent-strong), #1aa3b4);background-size:200% 100%;height:100%;transition:width .35s ease-out;animation:2.4s linear infinite gen-flow;display:block}@keyframes gen-flow{0%{background-position:200% 0}to{background-position:0 0}}.gen-idea{border-left:3px solid var(--gold);background:var(--paper);font-family:var(--font-display);-webkit-line-clamp:4;border-radius:0 10px 10px 0;-webkit-box-orient:vertical;margin:0;padding:8px 12px;font-size:13px;font-style:italic;line-height:1.45;display:-webkit-box;overflow:hidden}.gen-timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gen-item{gap:10px;padding-bottom:12px;animation:.35s ease-out both gen-in;display:flex;position:relative}.gen-item:not(:last-child):before{content:"";background:rgb(var(--ink-rgb) / .1);width:2px;position:absolute;top:24px;bottom:2px;left:11px}.gen-item.done:not(:last-child):before{background:#138f9f59}.gen-mark{width:24px;height:24px;color:var(--faint);background:rgb(var(--ink-rgb) / .05);border-radius:50%;flex:none;place-items:center;display:grid}.gen-item.done .gen-mark{color:#fff;background:var(--accent)}.gen-item.now .gen-mark{color:#fff;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:1.6s ease-in-out infinite breathe}.gen-item.warn .gen-mark{color:#fff;background:#c98a2b}.gen-item-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:3px;display:flex}.gen-item-head{justify-content:space-between;gap:6px;font-size:13px;display:flex}.gen-item.later .gen-item-head strong{color:var(--faint);font-weight:600}.gen-model{width:fit-content;color:var(--accent);white-space:nowrap;background:#138f9f1f;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin:2px 0 3px;padding:1px 8px 1px 6px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.gen-model i{background:currentColor;border-radius:50%;width:6px;height:6px}.gen-item.now .gen-model i{animation:1.1s ease-in-out infinite model-live}@keyframes model-live{50%{opacity:.25;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.gen-item.now .gen-model i{animation:none}}.gen-item.later .gen-model{background:rgb(var(--ink-rgb) / .06);color:var(--faint)}.gen-item-head span{white-space:nowrap;color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.gen-item-body p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.gen-reason{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45;color:#9a5a12!important}.gen-code{background:var(--code);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 8px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:10.5px;line-height:1.45}.gen-line{white-space:pre;text-overflow:ellipsis;overflow:hidden}.tok-comment{color:var(--faint);font-style:italic}.tok-string{color:#3f7d3a}.tok-keyword{color:var(--accent-strong);font-weight:600}.gen-caret{vertical-align:-2px;background:var(--accent);width:6px;height:11px;margin-left:1px;animation:1s steps(2,end) infinite gen-blink;display:inline-block}@keyframes gen-blink{50%{opacity:0}}.gen-dots{gap:3px;margin-left:2px;display:inline-flex}.gen-dots i{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite gen-bounce}.gen-dots i:nth-child(2){animation-delay:.15s}.gen-dots i:nth-child(3){animation-delay:.3s}@keyframes gen-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.gen-grid{width:100%;height:auto}.gen-grid rect{fill:rgb(var(--ink-rgb) / .08)}.gen-grid rect.played{fill:var(--accent)}.gen-grid rect.fresh{fill:var(--gold)}.gen-stats{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;line-height:1.4;list-style:none;display:flex}.gen-stats strong{font-family:var(--font-display);color:var(--accent-strong);margin-right:3px;font-size:15px}@keyframes gen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.gen-stage{z-index:20;scrollbar-width:thin;justify-content:center;align-items:flex-start;padding:6px 4px 12px;display:flex;position:absolute;inset:72px 18px 18px 326px;overflow-y:auto}.stage-sheet{background:radial-gradient(circle at 18% 0%, var(--sheen), transparent 55%), var(--paper);border:2px solid var(--rule);width:min(1600px,100%);box-shadow:0 4px 0 var(--shadow), 0 24px 60px rgb(var(--shadow-rgb) / .18);border-radius:24px;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-areas:"cover mechanics""parts mechanics""rules mechanics""ribbon ribbon";gap:18px 26px;padding:30px 34px 26px;animation:.45s cubic-bezier(.2,.9,.3,1.2) rise;display:grid}.stage-sheet h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0 0 10px;font-size:12px;display:flex}.stage-cover{background:linear-gradient(160deg, #5a7c55, var(--cover));color:#f6efe1;border:2px solid var(--rule);box-shadow:inset 0 0 0 4px #f1e3c259, 0 3px 0 var(--shadow), 0 10px 24px rgb(var(--ink-rgb) / .2);border-radius:18px;grid-area:cover;padding:22px 24px}.stage-cover .rules-kicker{color:var(--gold-light)}.stage-cover h1{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:8px 0 6px;font-size:36px;font-weight:700;line-height:1.1;animation:.5s ease-out both gen-in}.stage-pitch,.stage-idea{color:#f6efe1d9;margin:0 0 14px;font-size:14.5px;line-height:1.5}.stage-idea{font-family:var(--font-display);font-size:16px;font-style:italic}.gen-chips{flex-wrap:wrap;gap:6px;display:flex}.gen-chips span{color:var(--gold-light);border:1px solid #f2cf7c80;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600}.stage-mechanics{grid-area:mechanics}.stage-mechanics ul{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.stage-mechanics li{background:var(--card);border:var(--edge);border-top:6px solid var(--gold);min-height:132px;box-shadow:var(--lift), 0 6px 14px rgb(var(--shadow-rgb) / .12);transform:rotate(var(--tilt,0deg));border-radius:12px;flex-direction:column;gap:6px;padding:12px 12px 10px;animation:.5s cubic-bezier(.2,.9,.3,1.2) both deal;display:flex}@keyframes deal{0%{opacity:0;transform:translate(40px,-30px)rotate(12deg)}to{opacity:1;transform:rotate(var(--tilt,0deg))}}.stage-mechanics strong{font-family:var(--font-display);font-size:14px;line-height:1.25}.stage-mechanics span{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.stage-parts{grid-area:parts}.stage-board{align-items:flex-start;gap:8px;margin:0 0 10px;font-size:13.5px;line-height:1.45;animation:.4s both rise;display:flex}.stage-board svg{color:var(--accent);flex-shrink:0;margin-top:2px}.stage-parts ul{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.stage-parts li{background:rgb(var(--surface-rgb) / .8);border:1.5px dashed rgb(var(--ink-rgb) / .35);border-radius:10px;align-items:flex-start;gap:8px;padding:9px 10px;font-size:12.5px;line-height:1.35;animation:.4s ease-out both gen-in;display:flex}.stage-parts li>span{overflow-wrap:anywhere;min-width:0}.stage-parts li svg{color:var(--accent-strong);flex:none;margin-top:1px}.stage-rules{grid-area:rules}.stage-rules ol{flex-direction:column;gap:7px;margin:0;padding-left:20px;font-size:13.5px;line-height:1.5;display:flex}.stage-rules li,.stage-win{animation:.4s ease-out both gen-in}.stage-win{margin:12px 0 0;font-size:13.5px;line-height:1.5}.stage-ribbon{background:var(--accent-soft);color:var(--accent-strong);text-align:center;border-radius:12px;grid-area:ribbon;margin:0;padding:10px 14px;font-size:13px;font-weight:600}.gen-skeleton{flex-direction:column;gap:10px;display:flex}.gen-skeleton i{background:linear-gradient(90deg, rgb(var(--ink-rgb) / .06), rgb(var(--ink-rgb) / .12), rgb(var(--ink-rgb) / .06));background-size:200% 100%;border-radius:7px;height:14px;animation:1.4s linear infinite gen-flow;display:block}.stage-cover .gen-skeleton i{background:linear-gradient(90deg,#ffffff14,#fff3,#ffffff14) 0 0/200% 100%}.gen-skeleton i:nth-child(2n){width:80%}.gen-skeleton.cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gen-skeleton.cards i{border-radius:12px;width:100%;height:132px}.stage-label{z-index:20;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 24px rgb(var(--shadow-rgb) / .14);border-radius:14px;flex-direction:column;gap:2px;padding:10px 16px;animation:.4s ease-out both gen-in;display:flex;position:absolute;top:78px;left:344px}.stage-label strong{font-family:var(--font-display);font-size:18px}.stage-label span{color:var(--muted);font-size:12.5px}@media (prefers-reduced-motion:reduce){.gen-bar span,.gen-skeleton i,.gen-item.now .gen-mark,.gen-caret,.gen-dots i,.stage-mechanics li{animation:none}}.quiet{color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.quiet:hover:not(:disabled){background:rgb(var(--ink-rgb) / .08)}.quiet.on{background:var(--accent-soft);color:var(--accent-strong)}.quiet:disabled{opacity:.5;cursor:default}.quiet.icon-only{padding:7px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app.home-screen{background:radial-gradient(ellipse 60% 45% at 50% 22%, var(--glow), transparent 70%), var(--page);overflow-y:auto}.home{flex-direction:column;min-height:100%;display:flex}.home-bar{justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.home-bar nav{gap:4px;display:flex}.home-main{flex-direction:column;flex:1;justify-content:center;gap:clamp(40px,8vh,80px);width:min(1180px,100%);margin:0 auto;padding:clamp(16px,4vh,48px) 20px;display:flex}.home-hero{text-align:center;width:min(880px,100%);margin:0 auto;container-type:inline-size}.home-hero h1{white-space:nowrap;width:max-content;font-family:var(--font-display);font-variation-settings:var(--display-soft), "opsz" 72;letter-spacing:-.015em;margin:0 0 min(.9em,5.5vh);font-size:6.57895cqi;font-weight:650;line-height:1.04;position:relative;left:50%;transform:translate(-50%)}.home-note{color:var(--muted);margin:14px 0 0;font-size:13.5px}.home-making{border:2px solid var(--rule);background:var(--card);box-shadow:0 4px 0 var(--shadow), 0 24px 60px rgb(var(--shadow-rgb) / .16);border-radius:22px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;padding:20px;font-size:16px;display:flex}.home-making .spin{color:var(--accent)}.dream{text-align:left}.dream-box{border:1.5px solid var(--rule);background:var(--card);box-shadow:0 4px 0 var(--shadow), 0 24px 60px rgb(var(--shadow-rgb) / .16);border-radius:22px;padding:16px 16px 10px;transition:box-shadow .2s}.dream-box:focus-within{box-shadow:0 4px 0 var(--shadow), 0 0 0 5px #138f9f2e, 0 24px 60px rgb(var(--shadow-rgb) / .16)}.dream-box textarea{resize:none;background:0 0;border:none;outline:none;width:100%;min-height:84px;padding:2px 4px;font-size:18px;line-height:1.5;display:block}.dream-box textarea::placeholder{color:var(--faint)}.dream-box.locked textarea{color:var(--muted)}.dream-box{position:relative;overflow:hidden}.dream-progress{background:linear-gradient(90deg, var(--accent), #3cc6d6);border-radius:0 3px 3px 0;width:0;height:4px;transition:width 14s cubic-bezier(.15,.6,.3,1);position:absolute;top:0;left:0;overflow:hidden}.dream-progress.going{width:92%}.dream-progress.done{opacity:0;width:100%;transition:width .3s,opacity .3s .35s}.dream-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.4s ease-in-out infinite dream-glint;position:absolute;inset:0;transform:translate(-100%)}@keyframes dream-glint{to{transform:translate(100%)}}.dream-dice.rolling{animation:.9s ease-in-out infinite dream-roll}@keyframes dream-roll{50%{transform:rotate(180deg)scale(1.1)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dream-progress:after,.dream-dice.rolling{animation:none}}.dream-row{border-top:1.5px dashed rgb(var(--ink-rgb) / .16);align-items:center;gap:4px;margin-top:8px;padding-top:10px;display:flex}.dream-go{margin-left:auto;padding:10px 20px;font-size:15px}.dream-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;line-height:18px}.dream-chevron{transition:transform .2s}[aria-expanded=true]>.dream-chevron{transform:rotate(180deg)}.dream-examples{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:760px;margin:18px auto 0;display:flex}.dream-examples>span{color:var(--muted);font-size:13px;font-weight:600}.dream-examples button{border:1.5px solid rgb(var(--ink-rgb) / .22);background:rgb(var(--surface-rgb) / .65);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 13px;font-size:13px;transition:border-color .15s,background .15s}.dream-examples button:hover:not(:disabled){border-color:var(--rule);background:var(--card)}.dream-problem{text-align:center;color:#9c3826;margin:12px 0 0;font-size:13.5px}.dream-options{border:var(--edge);background:var(--panel);box-shadow:0 2px 6px rgb(var(--shadow-rgb) / .08), 0 14px 30px rgb(var(--shadow-rgb) / .16);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px 24px;margin-top:18px;padding:20px;animation:.3s rise;display:grid}.dream-mechanics{grid-column:1/-1}.dream-reset{grid-column:1/-1;justify-self:start}.home-shelf-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.home-shelf h2{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:0;font-size:22px;font-weight:650}.home-games{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;gap:18px;margin:-4px -4px -14px;padding:4px 4px 14px;display:grid;overflow-x:auto}.home-game{scroll-snap-align:start}@media (width>=1100px){.home-games{overflow:visible}}.home-game{border:var(--edge);background:var(--panel);box-shadow:0 2px 6px rgb(var(--shadow-rgb) / .08), 0 14px 30px rgb(var(--shadow-rgb) / .16);color:var(--text);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;padding:0;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.home-game:hover:not(:disabled) .cover img{transform:scale(1.14)}.home-game:hover:not(:disabled){box-shadow:0 4px 10px rgb(var(--shadow-rgb) / .1), 0 18px 36px rgb(var(--shadow-rgb) / .2);transform:translateY(-3px)}.home-game:disabled{cursor:default;opacity:.6}.home-game-body{flex-direction:column;gap:3px;padding:10px 14px 14px;display:flex}.home-game-body strong{font-family:var(--font-display);font-variation-settings:var(--display-soft);font-size:16.5px;font-weight:650;line-height:1.2}.home-game-body span{color:var(--muted);font-size:12.5px}.home-game-play{border:var(--edge);background:var(--accent);color:#fff;opacity:0;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;font-weight:700;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;top:10px;right:10px;transform:translateY(-4px)}.home-game:hover .home-game-play,.home-game:focus-visible .home-game-play{opacity:1;transform:none}@media (width<=640px){.home-bar{padding:12px 14px}.home-bar nav .quiet{padding:8px 9px}.home-bar .btn-label{display:none}.home-main{padding-inline:16px}.home-lede{font-size:15.5px}.dream-box textarea{font-size:16px}.dream-row{flex-wrap:wrap}.dream-go{width:100%;margin-top:4px}.home-games{grid-auto-columns:62%;gap:12px}}.cover{aspect-ratio:3/2;background:var(--cover-paper,var(--paper-2));border-bottom:var(--edge);position:relative;overflow:hidden}.cover img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .4s,transform .5s;position:absolute;inset:0;transform:scale(1.09)}.cover.painted img{opacity:1}.cover-board{opacity:0;pointer-events:none;background:radial-gradient(at 50% 45%,#f5ead2,#e6d5b1);transition:opacity .35s;position:absolute;inset:0}.cover-board .board{width:86%;height:86%;max-height:none;position:absolute;top:7%;left:7%}.cover.has-board:hover .cover-board{opacity:1}.cover.has-board:hover img{transform:scale(1.14)}@media (prefers-reduced-motion:reduce){.cover-board,.cover img{transition:none}}.cover-motif{width:100%;height:100%;position:absolute;inset:0}.cover-motif pattern *{fill:none;stroke:var(--cover-ink);stroke-width:2px;stroke-linejoin:round;opacity:.45}.cover-title{color:#fffaf0;font-family:var(--font-display);background:linear-gradient(#0000,#1e140cb3);padding:26px 14px 10px;font-weight:650;position:absolute;inset:auto 0 0}.game-chips .game-chip-version{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.brand-home{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:12px;padding:4px 10px 4px 4px;font-size:21px;transition:background .15s}.brand-home:hover{background:rgb(var(--ink-rgb) / .07)}.table-title{border-left:1.5px solid rgb(var(--ink-rgb) / .2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:0 0 0 4px;padding-left:14px;font-size:19px;font-weight:600;overflow:hidden}.table-title small{background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-ui);vertical-align:3px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.topbar-gap{flex:1}.topbar .quiet,.topbar .action{flex-shrink:0}.topbar-new{margin-left:6px}.more{position:relative}.menu{z-index:40;border:var(--edge);background:var(--panel);min-width:236px;box-shadow:var(--lift-panel);border-radius:14px;flex-direction:column;padding:6px;animation:.2s rise;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.menu button:hover:not(:disabled){background:var(--accent-soft)}.menu button:disabled{opacity:.5;cursor:default}.menu-check{color:var(--accent-strong);margin-left:auto}.menu hr{border:none;border-top:1px solid var(--line);margin:4px 8px}@media (width<=900px){.topbar .btn-label{display:none}.topbar .quiet:not(.icon-only),.topbar-new{padding:8px 9px}}@media (width<=640px){.topbar{gap:2px;padding:8px 8px 14px}.brand-home span{display:none}.table-title{padding-left:8px;font-size:16px}}.designer{z-index:27;border:var(--edge);background:var(--panel);width:330px;box-shadow:var(--lift-panel);border-radius:18px;flex-direction:column;transition:transform .45s cubic-bezier(.3,.8,.3,1);display:flex;position:absolute;top:66px;bottom:14px;right:14px;transform:translate(calc(100% + 30px))}.designer.open{transform:none}.designer-head{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:10px 8px 10px 10px;display:flex}.designer-head [role=tablist]{background:rgb(var(--ink-rgb) / .07);border-radius:999px;flex:1;gap:2px;padding:3px;display:flex}.designer-head [role=tab]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:6px 8px;font-size:13px;font-weight:600}.designer-head [role=tab].on{background:var(--card);color:var(--text);box-shadow:0 1px 0 rgb(var(--ink-rgb) / .35)}.designer-body{flex:1;padding:0 18px 12px;overflow-y:auto}.designer .panel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:16px 0}.designer .panel+.panel{border-top:1.5px dashed rgb(var(--ink-rgb) / .16)}@media (width<=760px){.designer{width:auto;inset:58px 8px 8px}}.action-dock .action-bar.mine{padding-left:12px}.turn-tag{background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-right:10px;padding:3px 10px;font-size:11.5px;font-weight:800;display:inline-block}.todo{font-weight:600}.guide{pointer-events:auto;border:var(--edge);background:var(--card);width:min(660px,100%);box-shadow:var(--lift-panel);border-radius:18px;align-items:center;gap:18px;margin-bottom:10px;padding:12px 14px 12px 18px;animation:.45s rise;display:flex}.guide-kicker{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.guide p{margin:0 0 4px;line-height:1.4}.guide .guide-tip{color:var(--muted);font-size:13px}.guide-actions{flex-direction:column-reverse;flex-shrink:0;align-items:stretch;gap:4px;display:flex}@media (width<=640px){.guide{flex-direction:column;align-items:stretch;gap:6px;padding:10px 14px;font-size:13.5px}.guide .guide-tip{display:none}.guide-actions{flex-direction:row-reverse;justify-content:flex-start}}.label.mark{pointer-events:none}.target-ring{left:calc(-1 * var(--span,12px));top:calc(-1 * var(--span,12px));width:calc(2 * var(--span,12px));height:calc(2 * var(--span,12px));border:2.5px solid #fff;border-radius:50%;animation:1.7s ease-out infinite ring-pulse;position:absolute;box-shadow:0 0 0 2.5px #19b4c6,0 0 12px 2px #19b4c68c}.target-ring.hint{border-color:#fff6dc;animation-duration:1.2s;box-shadow:0 0 0 3.5px #f0a91c,0 0 16px 4px #f0a91c99}@keyframes ring-pulse{0%{opacity:0;transform:scale(.75)}15%{opacity:1}to{opacity:0;transform:scale(1.8)}}.target-ring.hint:after{content:"";border:3.5px solid #f0a91c;border-radius:50%;animation:1.2s ease-out infinite ring-steady;position:absolute;inset:-4px}@keyframes ring-steady{0%,to{opacity:1;transform:scale(1.33)}}.hint-flag{left:0;top:calc(-1 * var(--span,12px) - 8px);border:var(--edge);box-shadow:var(--lift);color:var(--ink);white-space:nowrap;background:#f6c453;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800;animation:.3s rise;position:absolute;transform:translate(-50%,-100%)}.badge-chip.hinted{outline-offset:2px;outline:3px solid #f0a91c}@media (prefers-reduced-motion:reduce){.target-ring{animation:none;transform:scale(.9)}}.badge-chip,.pile-count{position:relative}.chip-delta{z-index:3;border:1.5px solid var(--rule);background:var(--card);box-shadow:0 2px 0 var(--shadow);letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;border-radius:999px;padding:1px 7px;font-size:13px;font-weight:800;line-height:1.3;animation:1.6s cubic-bezier(.2,.8,.3,1) forwards chip-delta;position:absolute;bottom:100%;left:50%}.chip-delta.up{color:#2d7a3a}.chip-delta.down{color:#b4432f}@keyframes chip-delta{0%{opacity:0;transform:translate(-50%,8px)scale(.6)}14%{opacity:1;transform:translate(-50%,-2px)scale(1.12)}70%{opacity:1;transform:translate(-50%,-14px)scale(1)}to{opacity:0;transform:translate(-50%,-24px)scale(1)}}@media (prefers-reduced-motion:reduce){.chip-delta{animation-name:chip-delta-still}@keyframes chip-delta-still{0%,80%{opacity:1;transform:translate(-50%,-4px)}to{opacity:0;transform:translate(-50%,-4px)}}}a.brand,a.quiet,a.action{text-decoration:none}a.brand,a.quiet{color:var(--text)}.modal{z-index:60;background:rgb(var(--shadow-rgb) / .32);place-items:center;padding:16px;animation:.25s fade;display:grid;position:fixed;inset:0}.account-close{position:absolute;top:14px;right:14px}.account-card{border:var(--edge);background:var(--panel);width:min(380px,100%);box-shadow:var(--lift-panel);border-radius:20px;flex-direction:column;gap:14px;padding:26px 28px 22px;animation:.3s rise;display:flex;position:relative}.account-card h2{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:0;font-size:26px;font-weight:650}.account-why{color:var(--muted);margin:-6px 0 0;font-size:14px;line-height:1.45}.account-note{color:var(--muted);margin:0;font-size:13px}.account-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.account-field input,.room-link input{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:12px;outline:none;padding:10px 12px;font-size:15px}.account-field input:focus,.room-link input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #138f9f26}.account-problem,.room-problem{color:#a2381f;margin:0;font-size:13.5px}.account-go{padding:10px 16px}.account-switch{align-self:center}.avatar{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12.5px;font-weight:700;display:inline-grid}.account-me{padding-left:7px}.room-main{flex:1;place-items:start center;padding:clamp(16px,6vh,64px) 16px 48px;display:grid}.room-card{border:var(--edge);background:var(--panel);width:min(560px,100%);box-shadow:var(--lift-panel);border-radius:22px;animation:.35s rise;overflow:hidden}.room-cover{aspect-ratio:16/7;object-fit:cover;border-bottom:var(--edge);width:100%;display:block}.room-body{flex-direction:column;gap:14px;padding:22px 26px 24px;display:flex}.room-card-note .room-body{padding:28px 30px}.room-kicker{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12.5px;font-weight:700}.room-body h1{font-family:var(--font-display);font-variation-settings:var(--display-soft);margin:-8px 0 0;font-size:34px;font-weight:650;line-height:1.1}.room-card-note .room-body h1{margin:0;font-size:28px}.room-summary{color:var(--muted);margin:-4px 0 0;line-height:1.5}.room-seats{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.room-seats li{border:1px solid var(--line);background:rgb(var(--surface-rgb) / .55);border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex}.room-seats li.open{color:var(--faint);background:0 0;border-style:dashed}.room-seat-name{flex:1}.room-tag{background:rgb(var(--ink-rgb) / .08);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.room-tag.you{background:var(--accent-soft);color:var(--accent-strong)}.room-invite{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.room-link{gap:8px;display:flex}.room-link input{flex:1;min-width:0;font-size:13.5px}.room-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:4px;display:flex}.room-actions .action{padding:10px 20px}.room-wait,.result-wait{color:var(--muted);margin:0;font-size:14px}.room-home{align-self:flex-start;padding:10px 20px}.room-players{flex-wrap:wrap;gap:6px;margin:0 6px 0 0;padding:0;list-style:none;display:flex}.room-players li{border:1px solid var(--line);background:rgb(var(--surface-rgb) / .88);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:13px;font-weight:600;transition:box-shadow .2s,border-color .2s;display:inline-flex}.room-players li.active{border-color:var(--seat);box-shadow:0 0 0 1px var(--seat), 0 0 14px -4px var(--seat)}.room-toast{z-index:40;border:var(--edge);background:var(--panel);max-width:min(520px,100% - 32px);box-shadow:var(--lift-panel);border-radius:12px;padding:10px 16px;font-size:14px;position:absolute;bottom:112px;left:50%;transform:translate(-50%)}@media (width<=720px){.room-players{display:none}}.mochi,.mochi-tab{z-index:26;position:fixed}.mochi{--m-line:#33241a;--m-edge:#33241a;--m-hard:#33241a;--m-paper:#f3e5c5;--m-tray:#ead6ac;--m-tile-a:#f8ecd2;--m-tile-b:#efdcb4;--m-frame:#33241a73;--m-band:#c8553d;--m-band-text:#fff3dc;--m-badge:#fffaf0;--m-ochre:#d9a233;--m-rust:#c8553d;--m-disc:#e2c592;--m-shadow:#33241a33;--m-puff:#fffaf0f2;border-top:2.5px solid var(--m-edge);background:var(--m-paper);height:230px;box-shadow:0 -3px 0 #33241a38, 0 -10px 30px rgb(var(--shadow-rgb) / .14);border-radius:18px 18px 0 0;flex-direction:column;animation:.35s rise;display:flex;bottom:0;left:0;right:0}:root[data-theme=dark] .mochi{--m-edge:#120d09;--m-hard:#0b0806;--m-paper:#2d251e;--m-tray:#3f3326;--m-tile-a:#6b5741;--m-tile-b:#5e4c39;--m-frame:#f1e6d429;--m-band:#a8452f;--m-badge:#3a2f25;--m-disc:#6b5741;--m-shadow:#00000059;--m-puff:#fff4e1cc}.mochi:after{content:"";border:1.5px solid var(--m-frame);pointer-events:none;border-radius:10px;position:absolute;inset:42px 8px 6px}.mochi-head{border-bottom:2.5px solid var(--m-edge);background:var(--m-band);min-width:0;height:36px;color:var(--m-band-text);white-space:nowrap;border-radius:16px 16px 0 0;flex:none;align-items:center;gap:10px;padding:0 14px 0 22px;font-size:13px;display:flex}.mochi-head strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;margin-right:4px;font-size:19px;font-style:italic;font-weight:700}.mochi-head .icon-only{color:var(--m-band-text)}.mochi-badge{border:1.5px solid var(--m-edge);background:var(--m-badge);box-shadow:0 2px 0 var(--m-hard);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:1px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.mochi-badge.dark{color:#fff3dc;background:#33241a}.mochi-star-icon{color:#b5791c;fill:#f3c95a}.mochi-coin-icon{color:#a8741c;fill:#f3c95a}.mochi-shop{position:relative}.mochi-shop-open{cursor:pointer}.mochi-shop-open:hover,.mochi-shop-open[aria-expanded=true]{color:#33241a;background:#f3c95a}.mochi-shop-menu{z-index:5;border:2px solid var(--m-edge);background:var(--card);width:330px;box-shadow:0 4px 0 var(--m-hard);color:var(--text);white-space:normal;border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 14px);left:0}.mochi-shop-menu button{border:1.5px solid var(--m-edge);background:var(--m-tile-a);box-shadow:0 2px 0 var(--m-hard);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:7px 10px;display:grid}.mochi-shop-menu button:hover:not(:disabled){background:var(--m-tile-b)}.mochi-shop-menu button:disabled{box-shadow:none;cursor:default;opacity:.6}.mochi-shop-menu small{color:var(--faint);grid-column:1;font-size:12px}.mochi-shop-menu b{font-variant-numeric:tabular-nums;grid-area:1/2/span 3;align-items:center;gap:4px;font-size:13px;display:inline-flex}.mochi-shop-name{align-items:center;gap:8px;display:flex}.mochi-shop-name strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:15px}.mochi-levels{gap:3px;display:inline-flex}.mochi-levels i{border:1.5px solid var(--m-edge);background:var(--m-badge);border-radius:50%;width:9px;height:9px}.mochi-levels i.on{background:var(--m-ochre)}.mochi-shop-menu p{color:var(--faint);margin:2px 4px 0;font-size:12px}.mochi-tip{text-overflow:ellipsis;opacity:.92;min-width:0;overflow:hidden}.mochi-gap{flex:1}.mochi-body{flex:1;justify-content:center;align-items:center;gap:30px;min-height:0;padding:6px 20px 10px;display:flex}.mochi-stove{flex-direction:column;align-items:center;gap:9px;display:flex}.mochi-steamer{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;width:100px;padding:0;display:flex;position:relative}.mochi-steamer svg{width:100%;height:auto;display:block}.mochi-lid,.mochi-basket{width:100%;transition:transform .15s;display:block}.mochi-lid{z-index:1;margin-bottom:-4px;position:relative}.mochi-steamer:hover .mochi-lid{transform:translateY(-3px)}.mochi-steamer:active .mochi-basket{transform:scale(.96,.92)}.mochi-steamer:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:14px}.mochi-lid.hop{animation:.45s mochi-hop}.mochi-basket.shake{animation:.4s mochi-shake}.mochi-steam{position:absolute;top:-6px;left:50%}.mochi-steam i{background:var(--m-puff);opacity:0;border-radius:50%;width:14px;height:14px;margin-left:-7px;animation:2.4s ease-out infinite mochi-steam;position:absolute;box-shadow:0 0 0 1.5px #33241a2e}.mochi-steam i:nth-child(2){animation-delay:.8s;left:-15px}.mochi-steam i:nth-child(3){animation-delay:1.6s;left:14px}.mochi-steamer.full .mochi-steam{opacity:.3}.mochi-timer{border:1.5px solid var(--m-edge);background:var(--m-badge);border-radius:5px;width:78px;height:9px;overflow:hidden}.mochi-timer i{background:var(--m-ochre);transform-origin:0;height:100%;animation:mochi-fill var(--steam) linear forwards;display:block}.mochi-board{--cell:60px;grid-template-columns:repeat(8, var(--cell));grid-auto-rows:var(--cell);border:2px solid var(--m-edge);background:var(--m-tray);box-shadow:0 3px 0 var(--m-hard);border-radius:10px;gap:7px;padding:7px;display:grid}.mochi-spot{border:1.5px solid var(--m-edge);background:var(--m-tile-a);box-shadow:0 2px 0 var(--m-hard);cursor:pointer;border-radius:7px;justify-content:center;align-items:flex-end;padding:0;transition:box-shadow .15s,border-color .15s;display:flex;position:relative}.mochi-spot:nth-of-type(-n+8):nth-of-type(2n),.mochi-spot:nth-of-type(n+9):nth-of-type(odd){background:var(--m-tile-b)}.mochi-spot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mochi-spot.taken{cursor:grab;touch-action:none}.mochi-spot.locked,.mochi-spot.locked:nth-of-type(n){background:repeating-linear-gradient(135deg, var(--m-tile-b) 0 6px, var(--m-tray) 6px 12px);box-shadow:none;color:var(--faint);align-items:center}.mochi-spot.locked.affordable{box-shadow:0 0 0 3px var(--m-ochre);color:var(--text)}.mochi-lock{flex-direction:column;align-items:center;gap:1px;display:flex}.mochi-lock small{border:1.2px solid var(--m-edge);background:var(--m-badge);color:var(--text);border-radius:999px;align-items:center;gap:2px;padding:0 5px;font-size:10.5px;font-weight:700;display:inline-flex}.mochi-lock.shake,.mochi-order.shake{animation:.4s mochi-shake}.mochi-spot.taken:before{content:"";width:calc(var(--cell) * .56);height:7px;margin-left:calc(var(--cell) * -.28);background:var(--m-shadow);border-radius:50%;position:absolute;bottom:5px;left:50%}.mochi-lift{z-index:1;width:calc(var(--cell) * (.72 + var(--f) * .024));pointer-events:none;margin-bottom:4px;transition:transform .15s;position:relative}.mochi-spot.taken:hover .mochi-lift,.mochi-spot.lifted .mochi-lift{transform:translateY(-5px)}.mochi-spot.lifted,.mochi-spot.over{border:2.5px solid var(--m-rust)}.mochi-spot.dragged{z-index:3;cursor:grabbing}.mochi-spot.dragged .mochi-lift{transition:none}.mochi-spot.match,.mochi-spot.hint{box-shadow:0 2px 0 var(--m-hard), 0 0 0 3px var(--m-ochre)}.mochi-spot.hint .mochi-lift{animation:.8s 2 mochi-wiggle}.mochi-friend{transform-origin:50% 96%;animation:mochi-breathe 3s ease-in-out var(--delay) infinite;display:block}.mochi-friend svg{width:100%;height:auto;display:block}.mochi-friend.steam{animation:.45s cubic-bezier(.3,1.4,.5,1) both mochi-drop,3s ease-in-out .45s infinite mochi-breathe}.mochi-friend.merge{animation:.5s both mochi-pop,3s ease-in-out .5s infinite mochi-breathe}.mochi-friend.move{animation:.3s both mochi-plop,3s ease-in-out .3s infinite mochi-breathe}.mochi-burst{z-index:2;pointer-events:none;position:absolute;inset:0}.mochi-burst.hearts svg{--a:calc(-54deg + var(--k) * 36deg);color:#33241a;fill:var(--m-rust);margin:-7px;animation:.9s ease-out forwards mochi-heart;position:absolute;top:38%;left:50%}.mochi-burst.puff i{--x:calc((var(--k) - 1) * 18px);background:var(--m-puff);border-radius:50%;width:16px;height:16px;margin-left:-8px;animation:.6s ease-out forwards mochi-puff;position:absolute;bottom:8px;left:50%;box-shadow:0 0 0 1.5px #33241a2e}.mochi-burst.text b{color:#33241a;white-space:nowrap;background:#f3c95a;border:1.5px solid #33241a;border-radius:999px;padding:1px 7px;font-size:11px;animation:1.1s ease-out forwards mochi-rise-text;position:absolute;top:0;left:50%}.mochi-burst.star svg{margin-left:-15px;animation:1.1s ease-out forwards mochi-star;position:absolute;top:24%;left:50%}.mochi-news{z-index:4;border:2px solid var(--m-edge);background:var(--card);box-shadow:0 4px 0 var(--m-hard);white-space:nowrap;pointer-events:none;border-radius:12px;align-items:center;gap:12px;padding:10px 20px 10px 12px;animation:3.4s forwards mochi-news;display:flex;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%)}.mochi-news-art{width:58px;height:58px}.mochi-news span{flex-direction:column;line-height:1.25;display:flex}.mochi-news small{color:var(--m-rust);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:800}.mochi-news strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;font-size:20px}.mochi-news em{color:var(--faint);font-size:12.5px;font-style:normal}.mochi-orders{flex-direction:column;flex:none;gap:6px;width:256px;display:flex}.mochi-order-slot{position:relative}.mochi-order{border:1.5px solid var(--m-edge);background:var(--m-tile-a);height:44px;box-shadow:0 2px 0 var(--m-hard);border-radius:8px;align-items:center;transition:box-shadow .15s;display:flex}.mochi-order.ready,.mochi-order.wanted{box-shadow:0 2px 0 var(--m-hard), 0 0 0 3px var(--m-ochre)}.mochi-order.over{border:2.5px solid var(--m-rust)}.mochi-order-main{min-width:0;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 2px 0 6px;display:flex}.mochi-wants{flex:none;gap:1px;display:flex}.mochi-want{place-items:center;width:30px;height:30px;display:grid;position:relative}.mochi-want>svg:first-child{width:30px;height:30px}.mochi-want.got>svg:first-child{opacity:.3}.mochi-want.got>svg+svg{color:#5f7f2e;position:absolute}.mochi-order-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.mochi-order-text strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.mochi-order-text small{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}.mochi-order-x{color:var(--faint);flex:none;margin-right:3px}.mochi-order.waiting,.mochi-order.later{box-shadow:none;color:var(--faint);background:0 0;border-style:dashed;padding:0 10px;font-size:12px;line-height:1.25}.mochi-paid{color:#8a5a12;pointer-events:none;align-items:center;gap:3px;font-size:15px;font-weight:800;animation:1.3s ease-out forwards mochi-paid;display:inline-flex;position:absolute;top:2px;right:34px}:root[data-theme=dark] .mochi-paid{color:#f3c95a}.mochi-shelf{flex-direction:column;gap:6px;width:222px;display:flex}.mochi-shelf h3{font-family:var(--font-display);font-variation-settings:"SOFT" 100;margin:0;font-size:14px;font-weight:700}.mochi-shelf-grid{grid-template-columns:repeat(5,38px);gap:6px;display:grid}.mochi-met{border:1.5px solid var(--m-edge);background:var(--m-disc);width:38px;height:38px;box-shadow:0 2px 0 var(--m-hard);border-radius:50%;place-items:center;display:grid}.mochi-met svg{width:31px;height:31px}.mochi-met.unknown{background:var(--m-tile-a);box-shadow:none;color:var(--faint);font-family:var(--font-display);border-style:dashed;font-size:15px;font-weight:700}.mochi-shelf-note{color:var(--faint);margin:0;font-size:12px;line-height:1.3}.mochi-tab{border:var(--edge);background:var(--panel);box-shadow:var(--lift);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 14px 4px 8px;font-weight:600;display:inline-flex;bottom:14px;left:340px}.mochi-tab-art{width:28px;height:28px}.mochi-test,.mochi-test-open{z-index:4;border:2px solid var(--m-edge);background:var(--card);box-shadow:0 4px 0 var(--m-hard);color:var(--text);position:absolute;bottom:calc(100% + 14px);right:16px}.mochi-test{border-radius:12px;flex-direction:column;gap:6px;width:340px;padding:8px 10px 10px;font-size:12.5px;display:flex}.mochi-test-open{cursor:pointer;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700}.mochi-test-head{justify-content:space-between;align-items:center;display:flex}.mochi-test-head strong{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:15px}.mochi-test-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mochi-test-row button,.mochi-test-row select{border:1.5px solid var(--m-edge);background:var(--m-tile-a);box-shadow:0 2px 0 var(--m-hard);color:inherit;font:inherit;cursor:pointer;border-radius:7px;padding:3px 9px}.mochi-test-row button:hover:not(:disabled){background:var(--m-tile-b)}.mochi-test-row button:disabled{box-shadow:none;cursor:default;opacity:.55}.mochi-test-row button.danger{background:var(--m-rust);color:#fff3dc}.mochi-test-row label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.app.has-mochi :is(.gen-stage,.sidebar.left){bottom:246px}@keyframes mochi-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045,.95)}}@keyframes mochi-drop{0%{opacity:0;transform:translateY(-26px)scale(.4)}60%{opacity:1}to{transform:none}}@keyframes mochi-pop{0%{transform:scale(.5)}55%{transform:scale(1.22,.9)}80%{transform:scale(.95,1.06)}to{transform:none}}@keyframes mochi-plop{0%{transform:scale(1.12,.86)}to{transform:none}}@keyframes mochi-wiggle{0%,to{transform:none}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}@keyframes mochi-hop{0%,to{transform:none}35%{transform:translateY(-13px)rotate(-6deg)}65%{transform:translateY(-2px)rotate(3deg)}}@keyframes mochi-shake{0%,to{transform:none}20%{transform:translate(-4px)rotate(-3deg)}40%{transform:translate(4px)rotate(3deg)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes mochi-steam{0%{opacity:0;transform:translateY(16px)scale(.5)}30%{opacity:.85}to{opacity:0;transform:translateY(-16px)scale(1.3)}}@keyframes mochi-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mochi-heart{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.4)}to{opacity:0;transform:rotate(var(--a)) translateY(-38px) scale(1.1)}}@keyframes mochi-puff{0%{opacity:1;transform:translate(0)scale(.3)}to{opacity:0;transform:translate(var(--x), -8px) scale(1.5)}}@keyframes mochi-star{0%{opacity:1;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-80px)scale(1.25)}}@keyframes mochi-rise-text{0%{opacity:1;transform:translate(-50%,6px)scale(.8)}20%{transform:translate(-50%,-6px)scale(1.05)}to{opacity:0;transform:translate(-50%,-26px)}}@keyframes mochi-paid{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-22px)}}@keyframes mochi-news{0%{opacity:0;transform:translate(-50%,14px)scale(.9)}10%{opacity:1;transform:translate(-50%)scale(1.03)}16%,86%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)}}@media (prefers-reduced-motion:reduce){.mochi,.mochi-friend,.mochi-friend.steam,.mochi-friend.merge,.mochi-friend.move,.mochi-lid.hop,.mochi-basket.shake,.mochi-spot.hint .mochi-lift,.mochi-news,.mochi-paid,.mochi-lock.shake,.mochi-order.shake{animation:none}.mochi-steam,.mochi-burst{display:none}}@media (width<=1300px){.mochi-shelf{display:none}}@media (width<=1180px){.mochi-tip{display:none}}@media (width<=1020px){.mochi-body{gap:20px}.mochi-board{--cell:52px}.mochi-steamer{width:84px}.mochi-orders{width:210px}.mochi-meal{display:none}}@media (width<=900px){.mochi-tab{left:12px}.mochi-body{gap:14px;padding-inline:14px}.mochi-board{--cell:46px}.mochi-steamer{width:68px}.mochi-timer{width:60px}.mochi-orders{width:190px}}@media (width<=640px){.mochi{height:196px}.app.has-mochi :is(.gen-stage,.sidebar.left){bottom:212px}.mochi-orders{gap:4px}.mochi-order{height:40px}.mochi-head{gap:7px;padding:0 8px 0 14px}.mochi-head strong{font-size:15px}.mochi-friends{display:none}.mochi-badge{padding:1px 7px;font-size:10.5px}.mochi-body{justify-content:flex-start;padding:2px 14px 8px;overflow-x:auto}.mochi-board{--cell:44px;flex:none;gap:5px;padding:5px}.mochi-steamer{width:64px}.mochi-timer{width:56px}}.effort-head{align-items:center;gap:6px;display:inline-flex}.effort-tip{color:#c8891a;cursor:help;border-radius:999px;align-items:center;display:inline-flex;position:relative}.effort-tip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.effort-tip>.library-tip{text-transform:none;letter-spacing:normal;left:-8px}.effort-tip:hover>.library-tip,.effort-tip:focus>.library-tip{opacity:1;visibility:visible;transform:none}.quiet-hints .card.target:not(:hover),.quiet-hints .badge-chip.target:not(:hover),.quiet-hints .pile-count.target:not(:hover){box-shadow:var(--lift)}.quiet-hints .chip.target:not(:hover){border-color:var(--rule);animation:none}.quiet-hints .board .cell.target:not(:hover){fill:inherit;animation:none}.art-part{color:var(--text);align-items:center;gap:6px;margin:14px 0 6px;font-size:13px;font-weight:700;display:flex}.art-part:first-of-type{margin-top:4px}.print-option{cursor:pointer;align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:inline-flex}.print-option input{width:16px;height:16px;accent-color:var(--accent)}
