:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--code-kw:#569cd6;--code-str:#ce9178;--code-com:#6a9955;--code-num:#b5cea8;--code-fn:#dcdcaa;--code-type:#4ec9b0;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:32px;--lh-tight:1.25;--lh-normal:1.45;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:600;--tracking-tight:-.01em;--tracking-wide:.04em;--bg:#0e1116;--bg-glow:#0e1116;--surface-1:#131820;--surface-2:#11161d;--surface-3:#172033;--surface-4:#1c2740;--glass:#0e1116db;--glass-strong:#0e1116f0;--scrim:#06080b9e;--border:#1f2630;--border-subtle:#181e27;--border-strong:#2d3644;--text:#d7dde5;--text-strong:#fff;--text-muted:#8a96a5;--text-faint:#5c6775;--text-on-accent:#0e1116;--link:#7cc4ff;--link-hover:#a5d6ff;--accent:#7cc4ff;--accent-grad-top:#7cc4ff;--accent-hover:#a5d6ff;--accent-active:#5fb0f0;--accent-soft:#7cc4ff24;--accent-border:#1f3a5a;--success:#3ddc84;--success-soft:#3ddc8421;--success-border:#3ddc8473;--danger:#f0616d;--danger-hover:#e64c59;--danger-active:#cf3d4a;--danger-soft:#f0616d1f;--danger-border:#f0616d73;--danger-text:#ff9ea6;--warning:#f5c451;--warning-soft:#f5c4511f;--warning-border:#f5c45180;--warning-text:#f6d488;--focus-ring:#7cc4ff;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--shadow-sm:none;--shadow-md:0 4px 14px #00000059;--shadow-lg:none;--shadow-pop:0 10px 30px #00000080;--dur-fast:90ms;--dur:.12s;--ease:cubic-bezier(.2, 0, 0, 1)}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}html{height:100%}body{background:var(--bg);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body.game{background:#14161a;height:100%;overflow:hidden}canvas{display:block}*,:before,:after{box-sizing:border-box}a{color:var(--link);transition:color var(--dur) var(--ease);text-decoration:none}a:hover{color:var(--link-hover);text-underline-offset:2px;text-decoration:underline}h1,h2,h3{letter-spacing:var(--tracking-tight)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--surface-4) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:var(--r-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:padding-box}button,input,select,textarea{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text)}button{transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease)}button:not(:disabled){cursor:pointer}.link-btn{color:var(--text-muted);font-size:var(--fs-sm);background:0 0;border:none;padding:0}.link-btn:hover:not(:disabled){color:var(--text);text-decoration:underline}.link-btn--accent{color:var(--accent)}.link-btn--accent:hover:not(:disabled){color:var(--accent-hover)}.auth-actions button,.account-password-form button[type=submit],.account-create-user button[type=submit],.manage-actions button:not(.manage-open):not(.manage-end):not(.manage-reset-game),.table-seat-switch,.table-chat-send,.table-recenter,.table-help,.editor-testplay,.editor-palette button,.editor-seats-add,.deck-build-btn,.hand-build-btn,.library-table .cell-actions button:not(.link-btn):not(.library-play),.editor-publish-actions button,.action-bar button,.join-submit{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);min-height:34px;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:0 0;padding:8px 14px;line-height:1;display:inline-flex}.auth-actions button:hover:not(:disabled),.manage-actions button:not(.manage-open):not(.manage-end):not(.manage-reset-game):hover:not(:disabled),.table-seat-switch:hover:not(:disabled),.table-chat-send:hover:not(:disabled),.table-recenter:hover:not(:disabled),.table-help:hover:not(:disabled),.editor-testplay:hover:not(:disabled),.editor-palette button:hover:not(:disabled),.editor-seats-add:hover:not(:disabled),.deck-build-btn:hover:not(:disabled),.hand-build-btn:hover:not(:disabled),.library-table .cell-actions button:not(.link-btn):not(.library-play):hover:not(:disabled),.editor-publish-actions button:hover:not(:disabled),.action-bar button:hover:not(:disabled){background:var(--surface-4);border-color:var(--border-strong)}.auth-actions button:active:not(:disabled),.manage-actions button:not(.manage-open):not(.manage-end):not(.manage-reset-game):active:not(:disabled),.table-seat-switch:active:not(:disabled),.table-chat-send:active:not(:disabled),.table-recenter:active:not(:disabled),.table-help:active:not(:disabled),.editor-testplay:active:not(:disabled),.editor-palette button:active:not(:disabled),.editor-seats-add:active:not(:disabled),.deck-build-btn:active:not(:disabled),.hand-build-btn:active:not(:disabled),.library-table .cell-actions button:not(.link-btn):not(.library-play):active:not(:disabled),.editor-publish-actions button:active:not(:disabled),.action-bar button:active:not(:disabled){background:var(--surface-2);transform:translateY(1px)}.auth-actions button[data-action=login],.account-password-form button[type=submit],.account-create-user button[type=submit],.manage-open,.library-play,.editor-publish-open,.publish-submit,.publish-close,.join-submit,.action-bar .action-bar-primary{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);min-height:34px;color:var(--text-on-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:8px 14px;line-height:1;display:inline-flex}.auth-actions button[data-action=login]:hover:not(:disabled),.account-password-form button[type=submit]:hover:not(:disabled),.account-create-user button[type=submit]:hover:not(:disabled),.manage-open:hover:not(:disabled),.library-play:hover:not(:disabled),.editor-publish-open:hover:not(:disabled),.publish-submit:hover:not(:disabled),.publish-close:hover:not(:disabled),.join-submit:hover:not(:disabled),.action-bar .action-bar-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-soft)}.auth-actions button[data-action=login]:active:not(:disabled),.account-password-form button[type=submit]:active:not(:disabled),.account-create-user button[type=submit]:active:not(:disabled),.manage-open:active:not(:disabled),.library-play:active:not(:disabled),.editor-publish-open:active:not(:disabled),.publish-submit:active:not(:disabled),.publish-close:active:not(:disabled),.join-submit:active:not(:disabled),.action-bar .action-bar-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active);box-shadow:none;transform:translateY(1px)}.manage-end,.manage-reset-game,.table-reconnect,.action-bar .action-bar-danger{border:1px solid var(--danger-border);border-radius:var(--r-sm);min-height:34px;color:var(--danger-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:0 0;padding:8px 14px;line-height:1}.manage-end:hover:not(:disabled),.manage-reset-game:hover:not(:disabled),.table-reconnect:hover:not(:disabled),.action-bar .action-bar-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger-text)}.manage-end:active:not(:disabled),.manage-reset-game:active:not(:disabled),.table-reconnect:active:not(:disabled),.action-bar .action-bar-danger:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}.auth-form input,.account-password-form input,.account-create-user input,.join-name,.editor-field input[type=text],.editor-field input[type=number],.editor-field select,.editor-field textarea,.table-chat-input,.table-chat-target{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;color:var(--text);font-size:var(--fs-base);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);padding:8px 10px;line-height:1.4}.auth-form input::placeholder,.account-password-form input::placeholder,.account-create-user input::placeholder,.join-name::placeholder,.editor-field input::placeholder,.editor-field textarea::placeholder,.table-chat-input::placeholder{color:var(--text-faint)}.auth-form input:hover,.account-password-form input:hover,.account-create-user input:hover,.join-name:hover,.editor-field input:hover,.editor-field select:hover,.editor-field textarea:hover,.table-chat-input:hover,.table-chat-target:hover{border-color:var(--border-strong)}.auth-form input:focus,.account-password-form input:focus,.account-create-user input:focus,.join-name:focus,.editor-field input:focus,.editor-field select:focus,.editor-field textarea:focus,.table-chat-input:focus,.table-chat-target:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.mono{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide)}#screen{box-sizing:border-box;min-height:100vh;padding:var(--sp-6);justify-content:center;align-items:center;display:flex}#screen:has(.editor-screen){height:100vh;min-height:0;padding:0;display:block;overflow:hidden}#screen:has(.shell){padding:0;display:block}.auth-screen,.lobby-screen{width:420px;max-width:100%;padding:var(--sp-6);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:none}.auth-screen{width:420px}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-top{align-items:center;gap:var(--sp-4);height:44px;padding:0 var(--sp-5);border-bottom:1px solid var(--border);background:var(--bg);z-index:100;display:flex;position:sticky;top:0}.shell-brand{color:var(--text-strong);font-weight:var(--fw-medium);font-size:var(--fs-sm);letter-spacing:.02em;text-decoration:none}.shell-email{color:var(--text-muted);font-size:var(--fs-sm);margin-left:auto}.shell-logout{color:var(--text-muted);font-size:var(--fs-sm);background:0 0;border:none;padding:0}.shell-logout:hover{color:var(--text)}.shell-body{flex:1;min-height:0;display:flex}.shell-side{box-sizing:border-box;width:180px;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--border);gap:var(--sp-1);font-size:var(--fs-sm);flex-direction:column;flex-shrink:0;display:flex}.shell-item{border-radius:var(--r-sm);color:var(--text-muted);padding:6px 8px;text-decoration:none}.shell-item:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.shell-item.is-active{background:var(--surface-3);color:var(--text-strong)}.shell-legend{margin-top:var(--sp-4);color:var(--text-faint);padding:6px 8px}.shell-side button{text-align:left;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm);background:0 0;padding:6px 8px}.shell-side button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.shell-action-short{display:none}.shell-content{min-width:0;padding:var(--sp-4) var(--sp-5);box-sizing:border-box;flex:1}.page-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.page-head h1{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0}.page-count{color:var(--text-muted)}.shell-picker-overlay{background:var(--scrim);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shell-picker{width:min(520px,92vw);padding:var(--sp-5);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.shell-picker-head{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.shell-picker-head h2{font-size:var(--fs-lg);color:var(--text-strong);margin:0}.shell-picker-close{color:var(--text-muted);font-size:var(--fs-md);background:0 0;border:none}.shell-picker-list{gap:var(--sp-2);flex-direction:column;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.shell-picker-item{align-items:center;gap:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px;display:flex}.shell-picker-main{flex-direction:column;flex:1;gap:2px;display:flex}.shell-picker-meta{color:var(--text-muted)}.auth-screen h1{margin:0 0 var(--sp-5);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.auth-form label,.account-password-form label,.account-create-user label{margin-bottom:var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);display:block}.auth-form input,.account-password-form input,.account-create-user input{margin-top:var(--sp-2)}.auth-error,.account-error,.account-create-error{min-height:18px;margin:var(--sp-1) 0 0;color:var(--danger-text);font-size:var(--fs-sm)}.auth-actions{gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.auth-actions button{flex:1}.lobby-screen{text-align:center;width:420px}.lobby-screen h1{margin:0 0 var(--sp-3);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.lobby-note{color:var(--text-muted);font-size:var(--fs-sm)}.lobby-error{color:var(--danger-text);font-size:var(--fs-sm)}.placeholder{color:var(--text-muted);font-size:var(--fs-base);text-align:center}.landing-screen{width:560px;max-width:100%;padding:var(--sp-6);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:none;text-align:left}.landing-screen h1{margin:0 0 var(--sp-2);font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight)}.landing-tagline{margin:0 0 var(--sp-6);color:var(--text-muted);font-size:var(--fs-lg)}.landing-features{margin:0 0 var(--sp-6);padding-left:var(--sp-5);gap:var(--sp-3);font-size:var(--fs-md);flex-direction:column;display:flex}.landing-access{margin:0 0 var(--sp-6);color:var(--text-muted);font-size:var(--fs-sm)}.landing-cta{border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);min-height:42px;color:var(--text-on-accent);font-size:var(--fs-base);font-weight:var(--fw-semibold);justify-content:center;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}.landing-cta:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-soft)}.lobby-back-link{color:var(--link)}.table-scroll{overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);width:100%;font-size:var(--fs-base);overflow:hidden}.data-table th{text-align:left;background:var(--surface-2);color:var(--text-muted);font-weight:var(--fw-regular);text-transform:uppercase;padding:8px 12px}.data-table td{border-top:1px solid var(--border);vertical-align:middle;padding:10px 12px}.data-table tbody tr:nth-child(2n) td{background:var(--surface-2)}.data-table .row{cursor:pointer}.data-table .row:hover td,.data-table .row.is-selected td{background:var(--surface-3)}.data-table .row.is-selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.data-table .row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.cell-name{color:var(--text-strong);font-weight:var(--fw-medium)}.cell-muted{color:var(--text-muted)}.cell-actions{gap:var(--sp-2);justify-content:flex-end;display:flex}.cell-actions button{font-size:var(--fs-sm);padding:4px 10px}.table-empty{padding:var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r-md)}.state{align-items:center;gap:6px;display:inline-flex}.state .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.state--success .dot{background:var(--success)}.state--warning .dot{background:var(--warning)}.chip{border-radius:var(--r-sm);border:1px solid var(--border-strong);color:var(--text-muted);align-items:center;padding:2px 6px;display:inline-flex}.chip--warning{border-color:var(--warning-border);color:var(--warning-text)}.action-bar{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--surface-3);padding:10px 12px;display:flex}.action-bar-name{color:var(--text-strong);font-weight:var(--fw-medium)}.action-bar-hint{color:var(--text-muted)}.action-bar-spacer{flex:1}.library-toolbar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.library-search{width:200px}.library-players{width:110px}.library-mine-label{color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.library-facets{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.library-facet[aria-pressed=true]{background:var(--surface-3);border-color:var(--accent-border);color:var(--text-strong)}.library-facet[data-count="0"]{opacity:.5}.library-facet-count{color:var(--text-faint);margin-left:4px}.cell-cover{width:44px}.library-cover{object-fit:cover;border-radius:var(--r-xs);background:var(--surface-3);width:44px;height:32px;display:block}.cell-desc{white-space:nowrap;text-overflow:ellipsis;max-width:0;overflow:hidden}.cell-tags{white-space:nowrap}.library-game-tag[aria-pressed=true]{color:var(--accent)}.manage-page{max-width:640px}.section-title{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.manage-actions{gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap;display:flex}body.game #screen{height:100%;min-height:0;padding:0;display:block}.table-screen{width:100%;height:100%;position:relative}.table-unsupported{justify-content:center;align-items:center;gap:var(--sp-4);padding:var(--sp-6);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.table-unsupported h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--text);margin:0}.table-unsupported p{max-width:46ch;font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-muted);margin:0}.table-unsupported button{border:1px solid var(--accent);border-radius:var(--r-sm);background:linear-gradient(180deg, var(--accent-grad-top), var(--accent));min-height:34px;color:var(--text-on-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:8px 18px;line-height:1}.table-unsupported button:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-soft)}.table-topbar{z-index:1;align-items:center;gap:var(--sp-4);height:40px;padding:0 var(--sp-4);box-sizing:border-box;background:var(--glass);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px)saturate(140%);display:flex;position:fixed;top:0;left:0;right:0}.table-back{color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;text-decoration:none}.table-back:hover{color:var(--text);text-decoration:none}.table-testplay-badge{color:var(--warning-text);background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:5px 10px}.table-savedraft,.table-savedraft-done{white-space:nowrap;margin-left:0}.table-turn{z-index:2;background:var(--glass);border:1px solid var(--accent);border-radius:var(--r-pill);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px)saturate(140%);align-items:center;gap:var(--sp-2);padding:6px 14px;display:flex;position:fixed;top:48px;left:50%;transform:translate(-50%)}.table-turn[hidden]{display:none}.table-turn.is-you{background:var(--accent-soft);color:var(--accent)}.table-turn-end{border:none;border-left:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:2px 0 2px var(--sp-2);transition:color var(--dur) var(--ease);background:0 0}.table-turn-end:hover{color:var(--accent)}.table-turn-end[hidden]{display:none}.table-banner{z-index:2;align-items:center;gap:var(--sp-3);background:var(--glass-strong);border:1px solid var(--danger-border);border-radius:var(--r-md);color:var(--danger-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px)saturate(140%);padding:10px 16px;display:flex;position:fixed;top:48px;left:50%;transform:translate(-50%)}.table-banner[hidden]{display:none}.table-error{top:64px;left:var(--sp-3);z-index:1;background:var(--glass);border:1px solid var(--danger-border);border-radius:var(--r-sm);color:var(--danger-text);font-size:var(--fs-sm);pointer-events:none;-webkit-backdrop-filter:blur(8px);padding:6px 12px;position:fixed}.table-error:empty{display:none}.table-roster{gap:6px;margin-left:auto;display:flex;overflow:hidden}.table-roster-chip{border-radius:var(--r-sm);background:var(--glass);border:1px solid var(--border-strong);color:var(--text);white-space:nowrap;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.table-roster-chip .dot,.table-live .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.table-roster-chip.is-you{border-color:var(--accent)}.table-live{color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.table-live .dot{background:var(--warning);width:6px;height:6px}.table-live.is-live .dot{background:var(--success)}.table-recenter,.table-help{z-index:2;border-radius:var(--r-sm);background:var(--glass);border:1px solid var(--border-strong);min-height:28px;color:var(--text);-webkit-backdrop-filter:blur(12px)saturate(140%);align-items:center;gap:4px;padding:5px 10px;display:inline-flex;position:fixed;top:48px}.table-recenter{right:var(--sp-3)}.table-help{right:calc(var(--sp-3) + 96px + var(--sp-2))}.editor-field-group{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim,#8a8f9c);border-top:1px solid var(--border,#2a2d33);margin:14px 0 2px;padding-top:8px;font-size:11px;font-weight:600}.editor-field-hint{color:var(--text-dim,#8a8f9c);margin:2px 0 8px;font-size:11px;line-height:1.4}.table-chat{right:var(--sp-3);bottom:var(--sp-3);z-index:1;width:232px;max-width:calc(100vw - 2 * var(--sp-3));gap:var(--sp-2);background:var(--glass);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px)saturate(140%);flex-direction:column;display:flex;position:fixed}.table-chat-messages{gap:var(--sp-1);height:220px;font-size:var(--fs-sm);color:var(--text);flex-direction:column;line-height:1.45;display:flex;overflow-y:auto}.table-chat-msg{word-wrap:break-word;white-space:pre-wrap}.table-chat-msg-from{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent)}.table-chat-msg--whisper{color:var(--warning-text);font-style:italic}.table-chat-msg--whisper .table-chat-msg-from{color:var(--warning)}.table-chat-msg--system{color:var(--text-muted);font-style:italic}.table-chat-controls{gap:var(--sp-2);flex-wrap:wrap;display:flex}.table-chat-target{width:auto;max-width:none;font-size:var(--fs-xs);flex:1 0 100%;padding:6px 8px}.table-chat-controls.is-whisper .table-chat-target,.table-chat-controls.is-whisper .table-chat-input{border-color:var(--warning-text)}.table-chat-controls.is-whisper .table-chat-input::placeholder{color:var(--warning-text)}.table-chat-input{min-width:0;font-size:var(--fs-sm);flex:1 1 0;padding:6px 10px}.table-chat-send{flex:none;padding:6px 12px}.table-handbar{left:var(--sp-3);bottom:var(--sp-3);z-index:2;align-items:center;gap:var(--sp-3);height:168px;padding:var(--sp-2) var(--sp-3);background:var(--glass);border:1px solid var(--border);border-radius:var(--r-md) var(--r-md) 0 0;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px)saturate(140%);display:flex;position:fixed;right:256px}.table-handbar[hidden]{display:none}.table-handbar.is-drop-target{border-color:var(--seat,var(--accent));box-shadow:var(--shadow-lg), 0 0 0 2px var(--seat,var(--accent)) inset}.table-handbar-label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-medium);writing-mode:vertical-rl;letter-spacing:var(--tracking-wide);text-transform:uppercase;align-self:stretch;align-items:center;display:flex;transform:rotate(180deg)}.table-handbar-cards{align-items:center;gap:var(--sp-2);flex:1;height:100%;display:flex;overflow-x:auto}.table-handbar-empty{color:var(--text-faint);font-size:var(--fs-sm)}.table-handcard{border-radius:var(--r-sm);cursor:grab;min-width:100px;height:146px;box-shadow:var(--shadow-sm);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease);background:#0d0f12;border:2px solid #0000;flex:none}.table-handcard:hover{box-shadow:var(--shadow-md);z-index:5;transform:translateY(-4px)}.table-handbar-cards.is-reordering .table-handcard:hover{box-shadow:var(--shadow-sm);z-index:auto;transform:none}.table-handcard.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-md)}.table-handcard[data-face-down="1"]{border-color:var(--warning-border)}.table-handcard-ghost{border-radius:var(--r-sm);height:150px;box-shadow:var(--shadow-pop);opacity:.9;pointer-events:none;z-index:70;position:fixed;transform:translate(-50%,-50%)}.table-handbar-insert{background:var(--accent);pointer-events:none;z-index:71;border-radius:2px;width:3px;position:fixed}.table-handbar-cards.is-scrolling{scrollbar-width:auto;scrollbar-color:var(--seat,var(--accent)) #ffffff1f}.table-cardpreview{top:64px;left:var(--sp-3);z-index:3;pointer-events:none;position:fixed}.table-cardpreview img{border-radius:var(--r-lg);width:300px;max-width:32vw;box-shadow:var(--shadow-pop);border:1px solid var(--border);display:block}.table-ctxmenu{z-index:4;background:var(--glass-strong);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:168px;padding:var(--sp-1);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(14px)saturate(140%);position:fixed}.table-ctxmenu button{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text);font-size:var(--fs-sm);background:0 0;border:none;padding:8px 12px;display:block}.table-ctxmenu button:hover{background:var(--accent-soft);color:#cfd2ff}.table-note-editor{z-index:5;box-sizing:border-box;border:2px solid var(--accent-border);border-radius:var(--r-sm);color:#1a1a1a;min-width:120px;min-height:80px;font:15px/1.35 var(--font-sans);resize:none;box-shadow:var(--shadow-pop);background:#f5f2e8;outline:none;padding:8px;position:fixed}.table-counter-editor{text-align:center;min-width:60px;min-height:40px;font-size:20px;font-weight:700}.table-bookreader{z-index:6;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.table-bookreader-panel{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.table-bookreader-page{justify-content:safe center;align-items:safe center;max-width:85vw;max-height:78vh;display:flex;overflow:auto}.table-bookreader-page canvas{border-radius:var(--r-sm);box-shadow:var(--shadow-pop);background:#fff;display:block}.table-bookreader-loading{color:var(--text);font-size:var(--fs-md);padding:40px 60px}.table-bookreader-bar{align-items:center;gap:var(--sp-2);display:flex}.table-bookreader-bar button{border-radius:var(--r-sm);background:var(--surface-1);color:var(--text);font-size:var(--fs-md);cursor:pointer;border:none;padding:6px 14px}.table-bookreader-bar button:hover{background:var(--accent-soft);color:#cfd2ff}.table-bookreader-count{color:var(--text);font-size:var(--fs-sm);text-align:center;min-width:64px}.join-screen{text-align:center;max-width:380px;margin:12vh auto 0}.join-screen h1{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.join-sub{color:var(--text-muted);margin-bottom:var(--sp-5)}.join-form{gap:var(--sp-2);display:flex}.join-name{font-size:var(--fs-md);flex:1;padding:10px 12px}.join-submit{font-size:var(--fs-md);flex:none;padding:10px 20px}.join-error{min-height:1.2em;margin-top:var(--sp-3);color:var(--danger-text);font-size:var(--fs-sm)}.editor-screen{width:100%;padding:0 var(--sp-3);box-sizing:border-box;gap:var(--sp-3);flex-direction:column;height:100vh;display:flex;overflow:hidden}.editor-workspace-layout{gap:var(--sp-3);flex:1;min-height:0;display:flex}.editor-asset-rail{gap:var(--sp-2);width:248px;padding:var(--sp-3);box-sizing:border-box;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;flex:0 0 248px;display:flex;overflow-y:auto}.editor-rail-heading{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.editor-rail-heading h2,.editor-workspace-panel h2{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin:0}.editor-assets-drawer,.editor-inspector-drawer{display:none}.editor-asset-empty,.editor-test-panel>p,.editor-publish-panel>p{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.editor-asset-library{gap:var(--sp-2);flex-direction:column;display:flex}.editor-asset-library-actions{display:flex}.editor-asset-library-actions button{width:100%}.editor-asset-search input{box-sizing:border-box;width:100%}.editor-asset-categories{gap:var(--sp-1);flex-wrap:wrap;display:flex}.editor-asset-category{color:var(--text-muted);font-size:var(--fs-xs);background:0 0;padding:3px 7px}.editor-asset-category[aria-selected=true]{color:var(--text);background:var(--accent-soft);border-color:var(--accent)}.editor-asset-dropzone{padding:var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--r-sm);color:var(--text-muted);text-align:center;font-size:var(--fs-xs)}.editor-asset-dropzone.is-dragging{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.editor-asset-library-status{color:var(--text-muted);font-size:var(--fs-xs);margin:0}.editor-asset-cards{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.editor-asset-card{min-width:0;padding:var(--sp-1);color:var(--text);background:var(--surface-2);text-align:left;gap:3px;display:grid;overflow:hidden}.editor-asset-card:active{cursor:grabbing}.editor-asset-thumbnail{background:var(--surface-1);border-radius:var(--r-sm);place-items:center;min-height:56px;display:grid;overflow:hidden}.editor-asset-thumbnail img{object-fit:cover;width:100%;height:64px;display:block}.editor-asset-thumbnail-placeholder{padding:var(--sp-1);color:var(--text-muted);text-align:center;font-size:var(--fs-xs)}.editor-asset-card-label,.editor-asset-card-category{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);overflow:hidden}.editor-asset-card-category{color:var(--text-muted)}.editor-workspace-main,.editor-workspace-panel{flex:1;min-width:0;min-height:0;display:flex}.editor-workspace-panel[hidden]{display:none}.editor-build-panel{gap:var(--sp-2);flex-direction:column}.editor-test-panel,.editor-publish-panel{padding:var(--sp-4);box-sizing:border-box;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);display:block;overflow:auto}.editor-test-panel{justify-content:stretch;padding:0}.editor-test-sandbox{gap:var(--sp-3);min-width:0;min-height:0;padding:var(--sp-4);flex-direction:column;flex:1;display:flex}.editor-test-heading,.editor-test-heading-actions{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.editor-test-heading h2,.editor-test-notice,.editor-test-selection,.editor-test-error{margin:0}.editor-test-notice{color:var(--text-muted);font-size:var(--fs-sm)}.editor-test-layout{gap:var(--sp-3);flex:1;grid-template-columns:minmax(0,1fr) minmax(210px,280px);min-height:0;display:grid}.editor-test-stage,.editor-test-controls{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.editor-test-stage{overflow:auto}.editor-test-object-list,.editor-test-controls,.editor-test-action-grid{gap:var(--sp-2);display:grid}.editor-test-object-list,.editor-test-card-list{margin:0;padding:0;list-style:none}.editor-test-runtime-object{gap:var(--sp-1);display:grid}.editor-test-card-list{padding-left:var(--sp-2);color:var(--text-muted);font-size:var(--fs-xs);flex-wrap:wrap;gap:3px;display:flex}.editor-test-card{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);padding:2px 4px}.editor-test-mini-preview{width:100%;height:100%;overflow:auto}.editor-test-object-list--mini{min-width:max-content;font-size:var(--fs-xs);align-items:flex-start;gap:3px;padding:3px;display:flex}.editor-test-object-list--mini .editor-test-runtime-object{min-width:64px;max-width:96px}.editor-test-object-list--mini .editor-test-object{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.editor-test-object-list--mini .editor-test-card-list{flex-wrap:nowrap;padding-left:0;overflow:hidden}.editor-test-object{text-align:left;color:var(--text-muted);background:var(--surface-1)}.editor-test-object[data-selected=true]{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.editor-test-controls label{gap:var(--sp-1);color:var(--text-muted);font-size:var(--fs-sm);display:grid}.editor-test-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-test-error{color:var(--danger,#d9534f);font-size:var(--fs-sm)}.editor-advanced-tabs{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);flex:none}.editor-advanced-tabs summary{cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm)}.editor-advanced-tabs[open] summary{margin-bottom:var(--sp-1)}.editor-modebar{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0 0;border-top:1px solid var(--border);display:flex}.editor-mode-buttons{gap:var(--sp-1);display:flex}.editor-workspace-mode{color:var(--text-muted);background:0 0}.editor-workspace-mode[data-active=true]{color:var(--text);background:var(--accent-soft);border-color:var(--accent)}.editor-mini-preview{align-items:center;gap:var(--sp-2);display:flex}.editor-mini-preview-stage{width:112px;height:48px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs);place-items:center;display:grid;overflow:hidden}.editor-topbar{align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);display:flex}.editor-back{color:var(--link)}.editor-name-input{font-weight:var(--fw-semibold);font-size:var(--fs-md);min-width:0;color:var(--text);background:0 0;border:none;flex:1;padding:2px 4px;font-family:inherit}.editor-name-input:hover{background:var(--surface-2);border-radius:var(--r-xs)}.editor-name-input:focus{outline:1px solid var(--accent);outline-offset:-1px;border-radius:var(--r-xs);background:var(--surface-2)}.editor-name-error{margin:calc(-1 * var(--sp-2)) 0 0}.editor-save-indicator{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted);border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border);padding:3px 10px}.editor-save-indicator[data-state=error]{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.editor-publish-modal{z-index:3;padding:var(--sp-4);background:var(--scrim);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.editor-publish-modal[hidden]{display:none}.editor-publish-dialog{gap:var(--sp-3);width:100%;max-width:420px;padding:var(--sp-6);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--text);flex-direction:column;display:flex}.editor-publish-dialog h2{margin:0 0 var(--sp-1);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.editor-publish-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.editor-palette{gap:var(--sp-2);padding:var(--sp-2);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.editor-palette button:disabled{opacity:.4}.editor-delete{border-color:var(--danger-border);color:var(--danger-text);background:0 0;margin-left:auto}.editor-delete:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger-text)}.editor-seats{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.editor-seats-label{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.editor-seats-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.editor-seat-chip{align-items:center;gap:var(--sp-1);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-sm);padding:4px 6px 4px 12px;display:inline-flex}.editor-seat-id{color:var(--text);font-size:var(--fs-sm);background:0 0;border:none;width:9ch;min-width:0;padding:0;font-family:inherit}.editor-seat-id:focus{outline:1px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.editor-seat-angle{color:var(--text-muted);font-size:var(--fs-sm);text-align:right;background:0 0;border:none;width:4ch;min-width:0;padding:0;font-family:inherit}.editor-seat-angle:focus{outline:1px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.editor-seat-view{color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:none;padding:2px 6px;line-height:1}.editor-seat-view:hover{color:var(--text);background:var(--surface-2)}.editor-seat-view.is-active{color:var(--accent);background:var(--surface-2)}.editor-seat-remove{color:var(--text-muted);cursor:pointer;font-size:var(--fs-md);border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:none;padding:2px 4px;line-height:1}.editor-seat-remove:hover{color:var(--danger-text);background:var(--danger-soft)}.editor-seats-error{width:100%;color:var(--danger-text);font-size:var(--fs-sm);margin:0}.editor-turns{gap:var(--sp-1);flex-direction:column;display:flex}.editor-turns-toggle{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.editor-turns-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.editor-turns-list{gap:var(--sp-1);margin:var(--sp-1) 0;flex-direction:column;display:flex}.editor-turn-row{align-items:center;gap:var(--sp-2);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 8px;display:flex}.editor-turn-include{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);flex:1;display:flex}.editor-turn-include input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.editor-turn-up,.editor-turn-down{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;padding:2px 8px;line-height:1}.editor-turn-up:hover:not(:disabled),.editor-turn-down:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.editor-turn-up:disabled,.editor-turn-down:disabled{opacity:.35;cursor:default}.editor-turns-error{color:var(--danger-text);font-size:var(--fs-sm);margin:0}.editor-tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);display:flex}.editor-tab{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px}.editor-tab:hover{color:var(--text)}.editor-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.editor-body{gap:var(--sp-3);flex:1;align-items:stretch;min-height:0;display:flex}.editor-panel-table[hidden]{display:none}.editor-panel-script{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.editor-panel-script[hidden]{display:none}.editor-script-host{border:1px solid var(--border);border-radius:var(--r-md);background:#1e1e1e;flex:1;height:auto;min-height:420px;overflow:hidden}.editor-custom-state{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3)}.editor-custom-state summary{cursor:pointer;font-weight:var(--fw-medium);font-size:var(--fs-sm);color:var(--text-muted)}.editor-custom-state[open] summary{margin-bottom:var(--sp-2)}.editor-custom-state .insp-custom-state{min-height:8em}.editor-custom-state .insp-custom-state-apply{margin-top:var(--sp-1)}.editor-script-error{color:var(--danger-text);font-size:var(--fs-sm);margin:0}.editor-canvas{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);flex:1;min-width:0;height:auto;min-height:420px;position:relative;overflow:hidden}.editor-canvas.is-asset-drop-target{outline:2px dashed var(--accent);outline-offset:-6px}.editor-quick-toolbar{z-index:4;top:var(--sp-2);justify-content:center;gap:var(--sp-1);max-width:calc(100% - var(--sp-4));padding:var(--sp-1);border:1px solid var(--border-strong);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface-2) 92%, transparent);box-shadow:var(--shadow-md);flex-wrap:wrap;display:flex;position:absolute;left:50%;transform:translate(-50%)}.editor-quick-toolbar button{min-height:28px;font-size:var(--fs-xs);padding:5px 8px}.editor-inspector{width:260px;padding:var(--sp-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);gap:var(--sp-2);flex-direction:column;flex-shrink:0;max-height:100%;display:flex;overflow-y:auto}.editor-inspector-empty{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.editor-inspector-title{margin:0 0 var(--sp-1);font-size:var(--fs-base);font-weight:var(--fw-semibold);word-break:break-all}.editor-inspector-section,.editor-inspector-bulk{gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--r-sm);background:color-mix(in srgb, var(--surface-2) 45%, transparent);flex-direction:column;display:flex}.editor-inspector-section h4{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin:0}.editor-inspector-section--kind{border-color:var(--border)}.editor-inspector-bulk-note{color:var(--text-muted);font-size:var(--fs-xs);margin:0}.editor-inspector-advanced{padding:var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--r-sm)}.editor-inspector-advanced>summary{cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm)}.editor-inspector-advanced[open]>summary{margin-bottom:var(--sp-2)}.editor-inspector-json{resize:vertical;width:100%;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-normal)}.insp-id{color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-semibold);background:0 0;border:none;width:14ch;min-width:0;padding:0;font-family:inherit}.insp-id:focus{outline:1px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.editor-field--zorder{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-direction:row}.insp-z-row{gap:var(--sp-1);display:flex}.insp-z-front,.insp-z-forward,.insp-z-backward,.insp-z-back{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;padding:4px 8px;line-height:1}.insp-z-front:hover,.insp-z-forward:hover,.insp-z-backward:hover,.insp-z-back:hover{color:var(--text);background:var(--surface-2)}.editor-field{gap:var(--sp-1);font-size:var(--fs-sm);color:var(--text-muted);flex-direction:column;display:flex}.editor-field textarea{resize:vertical;font-family:var(--font-mono);font-size:var(--fs-sm)}.editor-field input[type=file]{color:var(--text-muted);font-size:var(--fs-xs)}.editor-field--checkbox{align-items:center;gap:var(--sp-2);flex-direction:row}.editor-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.editor-field-error{color:var(--danger-text);font-size:var(--fs-xs);margin:-2px 0 0}.insp-bag-contents{gap:var(--sp-1);flex-direction:column;display:flex}.insp-bag-content-row{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.insp-bag-content-label{overflow-wrap:anywhere}.insp-bag-content-remove{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs);border-radius:var(--r-xs);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;flex:none;padding:3px 8px;line-height:1}.insp-bag-content-remove:hover{color:var(--text);background:var(--surface-2)}.insp-grid-fields{gap:var(--sp-2);padding-left:var(--sp-2);border-left:2px solid var(--border);flex-direction:column;display:flex}.editor-deck-summary{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.deck-build-btn,.hand-build-btn{align-self:flex-start}.account-page{max-width:560px}.account-page h1{margin:0 0 var(--sp-6);font-size:var(--fs-2xl)}.account-screen h2{margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-base);font-weight:var(--fw-semibold)}.account-ok{margin:var(--sp-1) 0 0;color:var(--success);font-size:var(--fs-sm)}.account-users{margin:0 0 var(--sp-4);padding:0;list-style:none}.account-users li{padding:var(--sp-2) 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm);color:var(--text)}.account-users li:last-child{border-bottom:none}.account-create-user button[type=submit]{margin-top:var(--sp-2)}@media (pointer:coarse){button,.table-back,.auth-form input,.join-name,.table-chat-input,.table-chat-target,.table-recenter,.table-help,.table-chat-send,.editor-seat-remove,.editor-seat-view,.table-turn-end,.table-ctxmenu button{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){#screen{padding:var(--sp-4)}.shell-body{flex-direction:column}.shell-side{border-right:none;border-bottom:1px solid var(--border);width:auto;padding:var(--sp-2) var(--sp-3);flex-flow:wrap;align-items:center}.shell-legend{padding:var(--sp-2) 8px 2px;flex-basis:100%;margin-top:0}.table-chat{left:var(--sp-2);right:var(--sp-2);width:auto;max-width:none}.table-chat-messages{height:150px}.table-handbar{left:var(--sp-2);right:var(--sp-2);height:140px;bottom:232px}.table-handcard{min-width:84px;height:118px}.table-topbar{gap:var(--sp-2);padding:0 var(--sp-2)}.table-roster{justify-content:flex-end;min-width:0}.editor-body{flex-direction:column;overflow-y:auto}.editor-panel-script{overflow-y:auto}.editor-inspector{width:100%;max-height:none}.editor-canvas,.editor-script-host{width:100%;height:52vh}.editor-workspace-layout{position:relative}.editor-assets-drawer,.editor-inspector-drawer{display:inline-flex}.editor-asset-rail{z-index:4;inset:var(--sp-2) auto var(--sp-2) var(--sp-2);width:min(320px, calc(100vw - (2 * var(--sp-2))));max-width:none;box-shadow:var(--shadow-lg);transition:transform var(--dur) var(--ease);position:fixed}.editor-asset-rail.is-drawer-closed{transform:translateX(calc(-100% - var(--sp-3)))}.editor-inspector-drawer{align-self:flex-end}.editor-build-panel .editor-inspector{z-index:4;inset:var(--sp-2) var(--sp-2) var(--sp-2) auto;width:min(340px, calc(100vw - (2 * var(--sp-2))));box-sizing:border-box;max-height:none;box-shadow:var(--shadow-lg);transition:transform var(--dur) var(--ease);position:fixed}.editor-build-panel .editor-inspector.is-drawer-closed{transform:translateX(calc(100% + var(--sp-3)))}.editor-mini-preview-stage{display:none}.editor-mini-preview{margin-left:auto}}@media (width<=460px){.auth-screen,.lobby-screen,.landing-screen{width:100%;padding:var(--sp-6)}.shell-side button{font-size:var(--fs-xs);padding:6px}.shell-action-long{display:none}.shell-action-short{display:inline}}.manage-reset,.manage-invite-copy,.editor-add,.publish-cancel{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);min-height:34px;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:8px 14px;line-height:1;display:inline-flex}.manage-reset:hover:not(:disabled),.manage-invite-copy:hover:not(:disabled),.editor-add:hover:not(:disabled),.publish-cancel:hover:not(:disabled){background:var(--surface-4);border-color:var(--border-strong)}.shell-picker-start{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);min-height:34px;color:var(--text-on-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:8px 14px;line-height:1;display:inline-flex}.shell-picker-start:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-soft)}.editor-error,.deck-build-error,.deck-face-status,.hand-build-error,.hand-face-status,.publish-error{color:var(--danger-text);font-size:var(--fs-sm);margin:var(--sp-1) 0 0}.manage-invite{gap:var(--sp-2);margin:var(--sp-3) 0;display:flex}.manage-invite-link{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);min-width:0;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);flex:1;padding:6px 10px}.manage-invite-copy,.manage-reset{flex:none}.editor-deck-builder{gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);flex-direction:column;display:flex}.editor-deck-advanced>summary{cursor:pointer;color:var(--text-dim,#8a8f9c);padding:4px 0;font-size:11px}.editor-deck-advanced[open]>summary{margin-bottom:var(--sp-2)}.editor-field-hint code,.editor-field code{background:var(--surface-2,#23262d);border-radius:3px;padding:0 3px;font-size:.92em}.deck-csv,.hand-csv{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;min-height:120px;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical;padding:8px 10px}.deck-face-files,.hand-face-files,.editor-field--upload input[type=file]{color:var(--text-muted);font-size:var(--fs-xs)}.editor-publish-library-link{color:var(--link);font-size:var(--fs-sm)}.editor-inspector input[type=text],.editor-inspector input[type=number],.editor-inspector select,.publish-description,.publish-min,.publish-max{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);font-size:var(--fs-base);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:8px 10px}.editor-inspector input:focus,.editor-inspector select:focus,.publish-description:focus,.publish-min:focus,.publish-max:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.publish-description{resize:vertical;min-height:72px}.publish-min,.publish-max{width:auto}.publish-cover-preview{align-items:center;gap:10px;display:flex}.publish-cover-preview[hidden]{display:none}.publish-cover-img{object-fit:cover;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);width:72px;height:72px}.editor-publish-view{gap:var(--sp-4);width:min(720px,100%);margin:0 auto;display:grid}.editor-publish-view header h2,.editor-publish-view header p,.editor-publish-check p,.editor-publish-status{margin:0}.editor-publish-view header p,.editor-publish-check p{color:var(--text-muted);font-size:var(--fs-sm)}.editor-publish-checklist{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.editor-publish-check{align-items:start;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.editor-publish-check-state{width:20px;height:20px;color:var(--text);background:var(--surface-3);font-weight:var(--fw-semibold);border-radius:50%;place-items:center;display:grid}.editor-publish-check[data-severity=pass] .editor-publish-check-state{color:#0c4c2f;background:#9ee2bd}.editor-publish-check[data-severity=warn]{border-color:#b88026}.editor-publish-check[data-severity=warn] .editor-publish-check-state{color:#503700;background:#f5d56c}.editor-publish-check[data-severity=fail]{border-color:var(--danger-border)}.editor-publish-check[data-severity=fail] .editor-publish-check-state{color:var(--danger-text);background:var(--danger-soft)}.editor-publish-metadata{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);display:grid}.editor-publish-player-counts{gap:var(--sp-3);display:flex}.editor-publish-player-counts .editor-field{flex:1}.editor-publish-metadata textarea,.editor-publish-metadata input[type=number]{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);background:var(--surface-2);padding:8px 10px}.editor-publish-cover-preview{align-items:center;gap:var(--sp-2);display:flex}.editor-publish-cover-preview[hidden]{display:none}.editor-publish-cover-preview img{object-fit:cover;border-radius:var(--r-sm);width:72px;height:72px}.editor-publish-status[data-publish-status=error]{color:var(--danger-text)}.editor-publish-status[data-publish-status=success]{color:var(--text)}.editor-inspector.editor-inspector--deck{width:min(760px,58vw)}.editor-deck-editor{gap:var(--sp-3);flex-direction:column;display:flex}.editor-deck-heading p{margin:0}.editor-deck-save-note,.editor-deck-order-label,.editor-deck-id-warning,.editor-deck-csv-state{color:var(--text-muted);font-size:var(--fs-xs)}.editor-deck-dirty{color:var(--warning-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.editor-deck-defaults{align-items:end;gap:var(--sp-2);display:flex}.editor-deck-defaults label,.editor-deck-bulk label{gap:var(--sp-1);min-width:0;color:var(--text-muted);font-size:var(--fs-xs);flex-direction:column;display:flex}.editor-deck-toolbar,.editor-deck-apply-actions,.editor-deck-csv-actions,.editor-deck-upload-cell,.editor-deck-cell--actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.editor-deck-toolbar,.editor-deck-bulk{padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1)}.editor-deck-toolbar button,.editor-deck-apply-actions button,.editor-deck-csv-actions button,.editor-deck-cell--actions button,.editor-deck-file-button,.editor-deck-drag-handle{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-3);min-height:28px;color:var(--text);cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-medium);justify-content:center;align-items:center;padding:5px 8px;display:inline-flex}.editor-deck-toolbar button:hover,.editor-deck-apply-actions button:hover,.editor-deck-csv-actions button:hover,.editor-deck-cell--actions button:hover,.editor-deck-file-button:hover,.editor-deck-drag-handle:hover{border-color:var(--border-strong);background:var(--surface-4)}.editor-deck-toolbar button:disabled,.editor-deck-apply-actions button:disabled,.editor-deck-csv-actions button:disabled{cursor:not-allowed;opacity:.5}.editor-deck-file-button input[type=file]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.editor-deck-bulk{align-items:end;gap:var(--sp-2);flex-wrap:wrap;margin:0;display:flex}.editor-deck-bulk legend{padding:0 var(--sp-1);color:var(--text-muted);font-size:var(--fs-xs)}.editor-deck-bulk input,.editor-deck-bulk select,.editor-deck-defaults input,.editor-deck-input{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-2);min-width:72px;color:var(--text);font-size:var(--fs-xs);padding:5px 7px}.editor-deck-input::placeholder,.editor-deck-bulk input::placeholder{color:var(--text-faint)}.editor-deck-input:focus,.editor-deck-bulk input:focus,.editor-deck-bulk select:focus,.editor-deck-defaults input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.editor-deck-table-scroll{border:1px solid var(--border);border-radius:var(--r-sm);max-width:100%;max-height:min(52vh,520px);overflow:auto}.editor-deck-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px}.editor-deck-table th,.editor-deck-table td{padding:var(--sp-2);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);vertical-align:top;text-align:left}.editor-deck-table th:last-child,.editor-deck-table td:last-child{border-right:0}.editor-deck-table tbody tr:last-child td{border-bottom:0}.editor-deck-table thead th{z-index:3;background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);position:sticky;top:0}.editor-deck-table-row{background:var(--surface-1)}.editor-deck-table-row:hover{background:var(--surface-2)}.editor-deck-table-row[data-dragging=true]{opacity:.55}.editor-deck-cell--selection,.editor-deck-table thead th:first-child,.editor-deck-cell--order,.editor-deck-table thead th:nth-child(2),.editor-deck-cell--thumbnail,.editor-deck-table thead th:nth-child(3){z-index:2;background:inherit;position:sticky}.editor-deck-cell--selection,.editor-deck-table thead th:first-child{left:0}.editor-deck-cell--order,.editor-deck-table thead th:nth-child(2){min-width:116px;left:43px}.editor-deck-cell--thumbnail,.editor-deck-table thead th:nth-child(3){min-width:78px;left:159px}.editor-deck-table thead th:nth-child(-n+3){z-index:4;background:var(--surface-2)}.editor-deck-cell--order{white-space:nowrap}.editor-deck-order-label{max-width:92px;margin-top:var(--sp-1);white-space:normal;display:block}.editor-deck-thumbnail,.editor-deck-swatch,.editor-deck-text-preview{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-2);width:56px;height:56px;display:block}.editor-deck-thumbnail{object-fit:cover}.editor-deck-text-preview{padding:var(--sp-1);color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-tight);overflow-wrap:anywhere;overflow:hidden}.editor-deck-cell-error{outline:2px solid var(--danger);outline-offset:1px}.editor-deck-inline-error{margin-top:var(--sp-1);color:var(--danger-text);font-size:var(--fs-xs);display:block}.editor-deck-upload-status{color:var(--text-muted);font-size:var(--fs-xs);margin:0}.editor-deck-id-warning{margin-top:var(--sp-1);max-width:170px;font-weight:var(--fw-regular);display:block}.editor-deck-advanced>summary{cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm)}.editor-deck-csv-state[data-state=conflict]{color:var(--warning-text)}.editor-deck-csv-state[data-state=edited],.editor-deck-csv-state[data-state=stale]{color:var(--text-muted)}.editor-deck-workspace-host{z-index:30;padding:var(--sp-4);background:color-mix(in srgb, var(--bg) 90%, transparent);position:fixed;inset:0;overflow:hidden}.editor-deck-workspace{height:calc(100dvh - var(--sp-8));box-sizing:border-box;width:min(1440px,100%);min-height:0;padding:var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--shadow-lg,0 24px 70px #0000004d);flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.editor-deck-workspace-heading,.editor-deck-workspace-preview,.editor-deck-workspace-card-actions,.editor-deck-workspace-properties li{align-items:center;display:flex}.editor-deck-workspace-heading{justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);flex-wrap:wrap}.editor-deck-workspace-heading h2,.editor-deck-workspace-heading p,.editor-deck-workspace-kicker,.editor-deck-workspace-preview h3,.editor-deck-workspace-preview p{margin:0}.editor-deck-workspace-kicker{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase}.editor-deck-workspace-back{align-items:end;gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);flex-wrap:wrap;display:flex}.editor-deck-workspace-back label:first-child{gap:var(--sp-1);color:var(--text-muted);font-size:var(--fs-xs);flex:280px;display:grid}.editor-deck-workspace-back input[type=text]{min-width:0;padding:var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface-1);color:var(--text)}.editor-deck-workspace-layout{align-items:stretch;gap:var(--sp-3);min-height:0;margin-top:var(--sp-3);flex:auto;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) minmax(0,2fr);display:grid}.editor-deck-workspace-rail,.editor-deck-workspace-card-panel,.editor-deck-workspace-editor{min-width:0;max-width:100%;min-height:0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.editor-deck-workspace-rail h3{margin:0 0 var(--sp-2);font-size:var(--fs-sm)}.editor-deck-workspace-rail{flex-direction:column;display:flex;overflow:hidden}.editor-deck-workspace-rail ol{gap:var(--sp-2);overscroll-behavior:contain;flex:auto;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.editor-deck-workspace-rail-item{gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-sm);border:1px solid #0000;grid-template-columns:1fr auto;display:grid}.editor-deck-workspace-rail-item[data-selected=true]{border-color:var(--accent);background:var(--accent-soft)}.editor-deck-workspace-card-select{align-items:center;gap:var(--sp-2);min-width:0;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr);padding:0;display:grid}.editor-deck-workspace-card-select>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-deck-workspace-card-image,.editor-deck-workspace-card-swatch,.editor-deck-workspace-card-text{border-radius:var(--r-xs);background:var(--surface-3);width:44px;height:58px;color:var(--text-muted);font-size:var(--fs-xs);object-fit:cover;overflow-wrap:anywhere;place-items:center;display:grid;overflow:hidden}.editor-deck-workspace-card-actions{flex-direction:column;justify-content:center;gap:2px}.editor-deck-workspace-card-actions button,.editor-deck-workspace-heading>button{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-3);max-width:100%;min-height:26px;color:var(--text);font-size:var(--fs-xs);padding:3px 6px;overflow:hidden}.editor-deck-workspace-preview{align-items:flex-start;gap:var(--sp-3);overflow-wrap:anywhere;min-width:0}.editor-deck-workspace-preview>div{overflow-wrap:anywhere;min-width:0}.editor-deck-workspace-preview>.editor-deck-workspace-card-image,.editor-deck-workspace-preview>.editor-deck-workspace-card-swatch,.editor-deck-workspace-preview>.editor-deck-workspace-card-text{width:144px;height:202px;padding:var(--sp-2);font-size:var(--fs-sm);flex:none}.editor-deck-workspace-properties{gap:var(--sp-1);margin:var(--sp-3) 0 0;padding:0;list-style:none;display:grid}.editor-deck-workspace-properties li{justify-content:space-between;gap:var(--sp-2);overflow-wrap:anywhere;padding:var(--sp-1) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);flex-wrap:wrap}.editor-deck-workspace-properties small{color:var(--text-muted);white-space:nowrap}.editor-deck-workspace-editor{display:flex;overflow:hidden}.editor-deck-workspace-card-panel{overflow:auto}.editor-deck-workspace-editor .editor-deck-editor{flex:auto;width:100%;min-width:0;min-height:0}.editor-deck-scroll-hint{color:var(--text-muted);font-size:var(--fs-xs);margin:0}.editor-deck-workspace-editor .editor-deck-table-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;width:100%;min-width:0;min-height:120px;max-height:none;overflow:auto}@media (width<=1100px){.editor-deck-workspace-layout{grid-template-columns:minmax(160px,.7fr) minmax(200px,.9fr) minmax(0,2fr)}.editor-deck-workspace-preview{flex-direction:column}.editor-deck-workspace-preview>.editor-deck-workspace-card-image,.editor-deck-workspace-preview>.editor-deck-workspace-card-swatch,.editor-deck-workspace-preview>.editor-deck-workspace-card-text{width:96px;height:135px}.editor-deck-workspace-editor .editor-deck-editor{gap:var(--sp-2)}.editor-deck-workspace-editor .editor-deck-toolbar,.editor-deck-workspace-editor .editor-deck-bulk{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.editor-deck-workspace-editor .editor-deck-toolbar button,.editor-deck-workspace-editor .editor-deck-bulk label,.editor-deck-workspace-editor .editor-deck-bulk button,.editor-deck-workspace-editor .editor-deck-bulk input,.editor-deck-workspace-editor .editor-deck-bulk select{width:100%;min-width:0}.editor-deck-workspace-editor .editor-deck-table-scroll{min-height:80px}}@media (width<=680px){.editor-deck-workspace-host{padding:var(--sp-2);overflow:auto}.editor-deck-workspace{height:auto;min-height:calc(100dvh - var(--sp-4));padding:var(--sp-2);overflow:visible}.editor-deck-workspace-heading{flex-direction:column;align-items:flex-start}.editor-deck-workspace-layout{grid-template-columns:1fr}.editor-deck-workspace-rail ol{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:none}.editor-deck-workspace-editor{overflow:visible}.editor-deck-workspace-editor .editor-deck-table-scroll{max-height:55dvh}}@media (width<=900px){.editor-inspector.editor-inspector--deck{width:100%}}@media (prefers-reduced-motion:reduce){.editor-deck-table-row{transition:none}}.table-browse-panel{max-width:min(860px,92vw)}.table-browse-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;max-height:64vh;padding:14px;display:grid;overflow-y:auto}.table-browse-card{aspect-ratio:5/7;color:#16181d;cursor:pointer;background:#f5f0e6;border:1px solid #3a4150;border-radius:8px;padding:0;font:600 14px system-ui,sans-serif;overflow:hidden}.table-browse-card:hover{outline:2px solid #6c7cff}.table-browse-card img{object-fit:cover;width:100%;height:100%;display:block}.table-calc{z-index:4;background:#1c2027;border:1px solid #3a3f4a;border-radius:10px;width:190px;padding:10px;position:absolute;box-shadow:0 8px 24px #00000080}.table-calc-header{color:#9aa4b2;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.table-calc-close{color:#9aa4b2;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px}.table-calc-display{color:#d7e3d0;text-align:right;background:#0d1117;border-radius:6px;margin-bottom:8px;padding:2px 8px;font:20px/1.6 monospace;overflow:hidden}.table-calc-keys{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.table-calc-keys button,.table-calc-clear{color:#e6edf3;cursor:pointer;background:#2a2f3a;border:none;border-radius:6px;padding:8px 0;font-size:15px}.table-calc-keys button:hover,.table-calc-clear:hover{background:#3a4150}.table-calc-clear{width:100%;margin-top:6px;display:block}.feedback-host{z-index:1000;position:relative}.feedback-toasts{bottom:var(--sp-4);z-index:1000;gap:var(--sp-2);width:min(400px, calc(100vw - (var(--sp-4) * 2)));display:grid;position:fixed;left:50%;transform:translate(-50%)}body.game .feedback-toasts{bottom:128px}.feedback-toast{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--shadow-md);color:var(--text);transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.feedback-toast[data-kind=success]{border-left-color:var(--success)}.feedback-toast[data-kind=warning]{border-left-color:var(--warning)}.feedback-toast[data-kind=error]{border-left-color:var(--danger)}.feedback-toast-icon{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.feedback-toast[data-kind=success] .feedback-toast-icon{color:var(--success)}.feedback-toast[data-kind=warning] .feedback-toast-icon{color:var(--warning-text)}.feedback-toast[data-kind=error] .feedback-toast-icon{color:var(--danger-text)}.feedback-toast-message{overflow-wrap:anywhere;min-width:0;margin:0}.feedback-toast-action,.feedback-toast-dismiss,.feedback-dialog-actions button{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);min-height:34px;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);justify-content:center;align-items:center;line-height:1;display:inline-flex}.feedback-toast-action,.feedback-toast-dismiss{padding:8px 10px}.feedback-toast-action:hover,.feedback-toast-dismiss:hover,.feedback-dialog-actions button:hover{background:var(--surface-4);border-color:var(--border-strong)}.feedback-dialog{width:min(420px, calc(100vw - (var(--sp-4) * 2)));color:var(--text);background:0 0;border:0;margin:auto;padding:0}.feedback-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px)}.feedback-dialog--fallback{width:100%;max-width:none;height:100%;padding:var(--sp-4);background:var(--scrim);-webkit-backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.feedback-dialog-panel{gap:var(--sp-3);width:100%;padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.feedback-dialog-panel h2,.feedback-dialog-message,.feedback-dialog-error{margin:0}.feedback-dialog-panel h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.feedback-dialog-message{color:var(--text-muted)}.feedback-dialog-form{gap:var(--sp-3);display:grid}.feedback-dialog-form label{gap:var(--sp-1);color:var(--text-muted);font-size:var(--fs-sm);display:grid}.feedback-dialog-form input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);width:100%;min-height:38px;padding:8px 10px}.feedback-dialog-form input[aria-invalid=true]{border-color:var(--danger-border)}.feedback-dialog-error{color:var(--danger-text);font-size:var(--fs-sm)}.feedback-dialog-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.feedback-dialog-actions button{padding:8px 14px}.feedback-dialog-confirm-button{border-color:var(--accent-border)!important;background:var(--accent)!important;color:var(--text-on-accent)!important}.feedback-dialog-confirm-button:hover{background:var(--accent-hover)!important}.feedback-dialog-confirm[data-danger=true] .feedback-dialog-confirm-button{border-color:var(--danger-border)!important;background:var(--danger)!important}.feedback-dialog-confirm[data-danger=true] .feedback-dialog-confirm-button:hover{background:var(--danger-hover)!important}@media (width<=720px){.feedback-toasts{right:var(--sp-2);left:var(--sp-2);width:auto;transform:none}}@media (pointer:coarse){.feedback-toast-action,.feedback-toast-dismiss,.feedback-dialog-actions button{min-height:44px}}@media (prefers-reduced-motion:reduce){.feedback-toast,.feedback-toast-action,.feedback-toast-dismiss,.feedback-dialog-actions button{transition:none}}.help-dialog{color:var(--text);background:0 0;border:0;max-width:100vw;max-height:100vh;margin:auto;padding:0}.help-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px)}.help-dialog--fallback{width:100%;max-width:none;height:100%;padding:var(--sp-4);background:var(--scrim);-webkit-backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.help-panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);width:min(64rem,92vw);height:min(44rem,86vh);box-shadow:var(--shadow-lg);grid-template-columns:14rem 1fr;display:grid;position:relative;overflow:hidden}.help-nav{padding:var(--sp-4) var(--sp-2);border-right:1px solid var(--border-subtle);flex-direction:column;display:flex;overflow-y:auto}.help-nav-item{text-align:left;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none}.help-nav-item:hover{background:var(--surface-3)}.help-nav-item[aria-current=true]{background:var(--accent-soft);font-weight:var(--fw-semibold)}.help-body{padding:var(--sp-6) var(--sp-8) var(--sp-8);overflow-y:auto}.help-keys{border-collapse:collapse;margin:var(--sp-3) 0;width:100%}.help-keys caption{text-align:left;font-weight:var(--fw-semibold);padding-bottom:var(--sp-2)}.help-keys th{text-align:left;white-space:nowrap;padding:var(--sp-1) var(--sp-4) var(--sp-1) 0;vertical-align:top}.help-keys td{padding:var(--sp-1) 0}.help-key-when{color:var(--text-muted)}.help-markdown pre{padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-1);overflow-x:auto}.help-markdown pre,.help-markdown code{font-family:var(--font-mono)}.help-markdown .tok-kw{color:var(--code-kw)}.help-markdown .tok-str{color:var(--code-str)}.help-markdown .tok-com{color:var(--code-com)}.help-markdown .tok-num{color:var(--code-num)}.help-markdown .tok-fn{color:var(--code-fn)}.help-markdown .tok-type{color:var(--code-type)}.help-markdown table{border-collapse:collapse;width:100%}.help-markdown th,.help-markdown td{text-align:left;padding:var(--sp-1) var(--sp-3) var(--sp-1) 0;vertical-align:top}.help-close{top:var(--sp-3);right:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);min-height:34px;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);justify-content:center;align-items:center;padding:8px 14px;display:inline-flex;position:absolute}.help-close:hover{background:var(--surface-4);border-color:var(--border-strong)}@media (width<=40rem){.help-panel{grid-template-rows:auto 1fr;grid-template-columns:1fr}.help-nav{border-right:none;border-bottom:1px solid var(--border-subtle);flex-direction:row;overflow-x:auto}}@media (pointer:coarse){.help-close{min-height:44px}}@media (prefers-reduced-motion:reduce){.help-nav-item,.help-close{transition:none}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/static/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/static/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/static/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/static/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/static/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/static/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/static/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/static/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/static/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/static/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/static/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/static/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/static/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/static/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/static/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/static/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/static/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/static/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/static/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/static/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/static/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/static/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/static/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/static/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/static/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/static/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/static/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/static/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/static/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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}
