@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{--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;--edge:1.5px solid var(--ink);--lift:0 2px 0 var(--ink);--lift-panel:0 3px 0 var(--ink), 0 14px 30px #46301929;--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}*{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}.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;pointer-events:none;background:linear-gradient(#eadcc0f2,#eadcc0b3 60%,#eadcc000);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{cursor:pointer;background:#fffaefbf;border:1.5px solid #2d201647;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(--ink)}.ghost:active:not(:disabled){transform:translateY(1px)}.ghost:disabled{opacity:.55;cursor:default}.ghost.on{color:var(--accent-strong);background:#dff0ec}.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);border:1px solid var(--line);resize:vertical;background:#fff;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{border:var(--edge);background:#2d20160f;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(--ink)}.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:#2a25202e;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(--ink), inset 0 1.5px 0 #ffffff40;transform:translateY(-1px)}.action:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.action:disabled{opacity:.6;cursor:default;transform:none}.action.wide{width:100%;padding:11px 16px}.action.secondary{color:var(--text);box-shadow:none;background:#fffaefbf;border:1.5px solid #2d201647;padding:6px 13px;font-weight:600}.action.secondary:hover{background:var(--card);border-color:var(--ink);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));scrollbar-width:thin;border-radius:26px;flex-direction:column;gap:16px;min-height:0;padding:20px 22px;display:flex;position:relative;overflow-y:auto;box-shadow:inset 0 0 0 1px #fff6,inset 0 0 120px #7850282e,0 18px 40px #4630192e}.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{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;box-shadow:0 4px 14px #4630191f}.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);background:#fffcf7c7;border-radius:18px;padding:12px 14px;transition:box-shadow .35s;position:relative;box-shadow:0 6px 18px #4630191f}.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 #46301933;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.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 #4630194d}.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;background:#fffcf7;position:sticky;bottom:-20px;box-shadow:0 -6px 18px #4630191f}.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:#3c2a1847;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(--ink);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(--ink);min-width:300px;box-shadow:0 4px 0 var(--ink), 0 30px 70px #4630194d;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}.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%)}.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;-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 #2d201673;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;border-radius:16px;height:auto;animation:.18s ease-out pop-in;position:fixed;box-shadow:0 0 0 1px #2a252014,0 24px 50px #46301959}.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:#2a252012;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 #46301947;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:#ece3d6;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(--ink);color:#fbf3e1;width:max-content;max-width:min(340px,100vw - 48px);font-family:var(--font-ui);font-variation-settings:normal;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);box-shadow:0 10px 24px #46301940}.library-group-name:hover>.library-tip,.library-group-name:focus>.library-tip{opacity:1;visibility:visible;transform:none}.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:#fbf3e1f0;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:#ece3d6;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);border-radius:16px;box-shadow:0 8px 24px #46301914}.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:#cfc6b9;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(--ink);width:min(560px,100%);max-height:calc(100vh - 48px);box-shadow:0 4px 0 var(--ink), 0 30px 70px #4630194d;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;background:#fff;width:210mm;min-height:297mm;margin:0 auto 24px;padding:12mm;box-shadow:0 8px 30px #281e1440}.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:#2a252014;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:#2a25201a;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:#2a25200d;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-item-head span{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{border:1px solid var(--line);color:var(--ink);background:#fbf8f1;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:#8b8172;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:#2a252014}.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%, #ffffffe6, #fff0 55%), var(--paper);border:2px solid var(--ink);width:min(1600px,100%);box-shadow:0 4px 0 var(--ink), 0 24px 60px #4630192e;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(--ink);box-shadow:inset 0 0 0 4px #f1e3c259, 0 3px 0 var(--ink), 0 10px 24px #2d201633;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 #4630191f;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:#fffaefcc;border:1.5px dashed #2d201659;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,#2a25200f,#2a25201f,#2a25200f) 0 0/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);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;box-shadow:0 10px 24px #46301924}.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:#2d201614}.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%, #fff8e8e6, 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;gap:clamp(40px,8vh,80px);width:min(1180px,100%);margin:0 auto;padding:clamp(16px,6vh,72px) 20px 56px;display:flex}.home-hero{text-align:center;width:min(760px,100%);margin:0 auto}.home-hero h1{font-family:var(--font-display);font-variation-settings:var(--display-soft);letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(32px,5.2vw,58px);font-weight:650;line-height:1.04}.home-lede{max-width:540px;color:var(--muted);margin:0 auto 28px;font-size:17px;line-height:1.5}.home-note{color:var(--muted);margin:14px 0 0;font-size:13.5px}.home-making{border:2px solid var(--ink);background:var(--card);box-shadow:0 4px 0 var(--ink), 0 24px 60px #46301929;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(--ink);background:var(--card);box-shadow:0 4px 0 var(--ink), 0 24px 60px #46301929;border-radius:22px;padding:16px 16px 10px;transition:box-shadow .2s}.dream-box:focus-within{box-shadow:0 4px 0 var(--ink), 0 0 0 5px #138f9f2e, 0 24px 60px #46301929}.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 #2d201629;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;margin-top:18px;display:flex}.dream-examples>span{color:var(--muted);font-size:13px;font-weight:600}.dream-examples button{color:var(--text);cursor:pointer;background:#fffaefa6;border:1.5px solid #2d201638;border-radius:999px;padding:6px 13px;font-size:13px;transition:border-color .15s,background .15s}.dream-examples button:hover:not(:disabled){border-color:var(--ink);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);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;box-shadow:0 2px 6px #46301914,0 14px 30px #46301929}.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);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;box-shadow:0 2px 6px #46301914,0 14px 30px #46301929}.home-game:hover:not(:disabled) .cover img{transform:scale(1.14)}.home-game:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 4px 10px #4630191a,0 18px 36px #46301933}.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-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:#2d201612}.table-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);font-variation-settings:var(--display-soft);border-left:1.5px solid #2d201633;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:#2d201612;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 #2d201659}.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 #2d201629}@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(--ink);background:var(--card);box-shadow:0 2px 0 var(--ink);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:#3c2a1852;place-items:center;padding:16px;animation:.25s fade;display:grid;position:fixed;inset:0}.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}.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);border:1px solid var(--line);background:#fff;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:#ffffff8c;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{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#2d201614;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:#fffcf7e0;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}}
