@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}:root{color-scheme:light;--canvas:#edf2f8;--canvas-strong:#d8e2f0;--surface:#ffffffc2;--surface-strong:#fcfdffeb;--surface-muted:#e0e8f3b8;--surface-contrast:#111b2ad1;--text:#182433;--text-muted:#5d6c80;--text-soft:#7a8697;--line:#1521301f;--line-strong:#27364c3d;--primary:#3e73ec;--primary-soft:#3e73ec29;--secondary:#0f9e94;--secondary-soft:#0f9e9424;--warning:#d97706;--warning-soft:#d9770626;--danger:#dd6b63;--danger-soft:#dd6b6324;--shadow:0 28px 90px #111b2a24;--shadow-soft:0 18px 44px #111b2a14;--radius-xl:30px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--font-body:"Avenir Next","Trebuchet MS","Segoe UI",sans-serif;--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",serif;--font-mono:"SFMono-Regular","Menlo","Consolas",monospace}html[data-theme=dark]{color-scheme:dark;--canvas:#0d1420;--canvas-strong:#141d2c;--surface:#101825c7;--surface-strong:#151f2df0;--surface-muted:#1b2738e0;--surface-contrast:#f4f7ff1a;--text:#edf3ff;--text-muted:#9dadc2;--text-soft:#7f8ea5;--line:#b7c9e41f;--line-strong:#b7c9e438;--primary:#78a9ff;--primary-soft:#78a9ff2e;--secondary:#39c7ba;--secondary-soft:#39c7ba29;--warning:#f3a53d;--warning-soft:#f3a53d2e;--danger:#ef8c80;--danger-soft:#ef8c802e;--shadow:0 32px 100px #04080e5c;--shadow-soft:0 18px 48px #04080e38}html{min-height:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top left,#588bff29,transparent 28%),radial-gradient(circle at 90% 10%,#38c4b72e,transparent 24%),radial-gradient(circle at 70% 100%,#f4ab571f,transparent 22%),linear-gradient(160deg,var(--canvas)0%,var(--canvas-strong)48%,var(--canvas)100%);margin:0}body:before{content:"";pointer-events:none;opacity:.5;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 82%);mask-image:radial-gradient(circle,#000,#0000 82%)}a{color:inherit}button,input,textarea{font:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:24px;width:min(1600px,100vw - 32px);margin:0 auto;padding:24px 0 32px;display:grid;position:relative}.dashboard-shell{flex-direction:column;gap:24px;width:min(1600px,100vw - 32px);margin:0 auto;padding:24px 0 32px;display:flex}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-lg);position:relative}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.panel-title{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:1.2rem;line-height:1.15}.panel-copy{color:var(--text-muted);margin:4px 0 0;font-size:.92rem;line-height:1.5}.eyebrow{color:var(--text-soft);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;font-size:.74rem;display:inline-flex}.eyebrow:before{content:"";background:var(--line-strong);width:28px;height:1px}.sidebar{flex-direction:column;gap:18px;display:flex}.sidebar-panel{padding:22px}.brand-panel{overflow:hidden}.brand-lockup{align-items:flex-start;gap:14px;display:flex}.dashboard-topbar{z-index:30;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 30px;display:flex}.dashboard-brand{align-items:flex-start;gap:16px;display:flex}.dashboard-topbar-copy{max-width:48rem;color:var(--text-muted);margin:8px 0 0;font-size:.98rem;line-height:1.65}.dashboard-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.auth-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.account-menu{position:relative}.account-menu summary{list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu-trigger{border:1px solid var(--line);background:var(--surface-strong);color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:12px;padding:8px 10px 8px 14px;display:inline-flex}.account-menu-name{letter-spacing:.04em;font-size:.84rem;font-weight:700}.account-menu-icon{border:1px solid var(--line);width:32px;height:32px;color:var(--text-muted);background:#ffffff05;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.account-menu-icon svg{width:16px;height:16px}.account-menu[open] .account-menu-trigger{box-shadow:0 0 0 4px #3e73ec14,var(--shadow-soft)}.account-menu-panel{z-index:40;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);gap:8px;min-width:188px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}@supports (color:color-mix(in lab,red,red)){.account-menu-panel{background:color-mix(in srgb,var(--surface)94%,transparent)}}.account-menu-panel{box-shadow:var(--shadow-soft)}.locale-switcher{align-items:center;gap:10px;display:inline-flex}.locale-switcher form{margin:0}.locale-switcher-label{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.locale-switcher-options{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.locale-switcher-inline .locale-switcher-button{min-width:42px}.locale-switcher-menu{gap:8px;padding:4px 2px 8px;display:grid}.locale-switcher-menu .locale-switcher-options{gap:8px;display:grid}.locale-switcher-menu form{width:100%}.locale-switcher-button{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-soft);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;display:inline-flex}.locale-switcher-button.is-active{color:var(--text);border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.locale-switcher-button.is-active{border-color:color-mix(in srgb,var(--primary)60%,var(--line))}}.locale-switcher-button.is-active{background:var(--primary-soft)}@supports (color:color-mix(in lab,red,red)){.locale-switcher-button.is-active{background:color-mix(in srgb,var(--primary-soft)72%,var(--surface-strong))}}.locale-switcher-code{letter-spacing:.14em;font-size:.74rem;font-weight:800}.account-menu-item{background:var(--surface-strong);width:100%;color:var(--text);cursor:pointer;text-align:left;border:0;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:inline-flex}.account-menu-item svg{width:16px;height:16px;color:var(--text-muted)}.brand-mark{background:linear-gradient(145deg,#4f81fff0,#19c4b5e0);border-radius:18px;flex-shrink:0;width:54px;height:54px;position:relative;box-shadow:inset 0 1px #ffffff52}.brand-mark:before,.brand-mark:after{content:"";border:1px solid #ffffff85;border-radius:12px;position:absolute;inset:10px;transform:rotate(45deg)}.brand-mark:after{opacity:.7;border-radius:8px;inset:17px}.brand-wordmark{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,3vw,2.3rem);line-height:.95}.brand-subtitle{color:var(--text-muted);margin:6px 0 0;font-size:.95rem;line-height:1.5}.brand-meta{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.chip{border:1px solid var(--line);background:var(--surface-strong);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:.77rem;display:inline-flex}.chip-with-tooltip{cursor:help;position:relative}.chip-tooltip{z-index:15;border-radius:var(--radius-sm);border:1px solid var(--line-strong);width:min(260px,42vw);box-shadow:var(--shadow-soft);color:#edf3ff;letter-spacing:.03em;text-transform:none;opacity:0;pointer-events:none;background:#0e1622f5;padding:10px 12px;font-size:.76rem;line-height:1.45;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,8px)}.chip-tooltip strong,.chip-tooltip span{display:block}.chip-tooltip strong+span,.chip-tooltip span+span{margin-top:4px}.chip-tooltip:after{content:"";border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#0e1622f5;width:10px;height:10px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.chip-with-tooltip:hover .chip-tooltip,.chip-with-tooltip:focus-visible .chip-tooltip{opacity:1;transform:translate(-50%)}.chip-strong{color:var(--text);background:linear-gradient(120deg,var(--primary-soft),#ffffff0a);border-color:#0000}.sidebar-nav{gap:10px;display:grid}.nav-pill{border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;transition:all .18s;display:flex}.nav-pill.is-active{background:var(--surface-strong);border-color:var(--line);box-shadow:var(--shadow-soft)}.nav-pill-label{font-size:.93rem;font-weight:600}.nav-pill-copy{color:var(--text-soft);font-size:.8rem}.nav-pill-index{background:var(--primary-soft);width:28px;height:28px;color:var(--primary);border-radius:50%;place-items:center;font-size:.82rem;font-weight:700;display:inline-grid}.sidebar-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sidebar-metric{border-radius:var(--radius-sm);background:var(--surface-strong);border:1px solid var(--line);padding:14px}.sidebar-metric-value{margin:0;font-size:1.4rem;font-weight:700}.sidebar-metric-label{color:var(--text-muted);margin:6px 0 0;font-size:.82rem}.status-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.realtime-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.realtime-badge:before{content:"";opacity:.2;background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px}.realtime-badge.is-live{color:var(--secondary);background:var(--secondary-soft)}.realtime-badge.is-local,.realtime-badge.is-arming{color:var(--warning);background:var(--warning-soft)}.realtime-badge.is-degraded,.realtime-badge.is-offline{color:var(--danger);background:var(--danger-soft)}.sidebar-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.sidebar-list-item{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.sidebar-list-item:first-child{border-top:0;padding-top:0}.sidebar-list-label{margin:0;font-size:.92rem;font-weight:600}.sidebar-list-copy{color:var(--text-muted);margin:4px 0 0;font-size:.82rem}.sidebar-list-meta{color:var(--text-soft);white-space:nowrap;font-size:.8rem}.main-stage{flex-direction:column;gap:24px;display:flex}.hero-panel{padding:28px 30px;overflow:hidden}.hero-panel:after{content:"";pointer-events:none;background:radial-gradient(circle,#3e73ec29,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;inset:auto -10% -18% auto}.hero-topline{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.hero-title{font-family:var(--font-display);margin:0;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1}.hero-copy{max-width:52rem;color:var(--text-muted);margin:14px 0 0;font-size:1rem;line-height:1.7}.hero-session-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.theme-toggle,.segmented-button,.command-button,.ghost-button{cursor:pointer;border:0;transition:transform .18s,box-shadow .18s,background .18s}.theme-toggle:hover,.segmented-button:hover,.command-button:hover,.ghost-button:hover{transform:translateY(-1px)}.theme-toggle{background:var(--surface-strong);box-shadow:var(--shadow-soft);color:var(--text);border-radius:999px;padding:11px 14px}.segmented-control{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;gap:6px;padding:5px;display:inline-flex}.segmented-button{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:999px;padding:10px 16px;font-size:.86rem;font-weight:700}.segmented-button.is-active{background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow-soft)}.hero-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.hero-metric{border-radius:var(--radius-md);background:linear-gradient(160deg,var(--surface-strong),#ffffff05);border:1px solid var(--line);padding:18px}.hero-metric-label{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem}.hero-metric-value{margin:10px 0 0;font-size:1.65rem;font-weight:700}.hero-metric-copy{color:var(--text-muted);margin:8px 0 0;font-size:.84rem}.dashboard-focus-panel{padding:24px}.dashboard-focus-meta,.dashboard-card-meta{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.dashboard-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.dashboard-card{min-height:100%}.panel-header-corner{align-items:flex-start}.panel-corner-button{flex-shrink:0}.panel-corner-button svg{width:18px;height:18px}.dashboard-shell .alert-banner{margin:0}.workspace-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:24px;display:grid}.stack{flex-direction:column;gap:24px;display:flex}.section-panel{padding:24px}.table-shell{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;display:grid}.table-canvas{border-radius:var(--radius-md);background:radial-gradient(circle at 20% 18%,#7093ff4d,#0000 22%),linear-gradient(160deg,#172435e0,#141d2bf0),linear-gradient(90deg,#ffffff0a 1px,#0000 1px) 0 0/56px 56px,linear-gradient(#ffffff0a 1px,#0000 1px) 0 0/56px 56px;min-height:360px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.table-canvas:before{content:"";opacity:.9;background:linear-gradient(130deg,#14a4941f,#0000 30%),linear-gradient(35deg,#0000 42%,#fdbe6624 50%,#0000 60%);position:absolute;inset:0}.table-grid-labels{z-index:2;color:#edf3ffbf;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:8px;font-size:.75rem;display:flex;position:absolute;top:16px;left:16px;right:16px}.table-scanline{filter:blur(.3px);z-index:1;background:linear-gradient(90deg,#0000,#79c9ffcc,#0000);height:2px;position:absolute;inset:auto 12% 18% 18%}.table-fog{z-index:3;pointer-events:none;background:#060a1047;position:absolute;inset:0}.table-fog-west,.table-fog-south{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#04080ce0,#04080c73);position:absolute}.table-fog-west{width:var(--fog-west,38%);clip-path:polygon(0 0,100% 0,76% 100%,0 100%);inset:0 auto 0 0}.table-fog-south{height:var(--fog-south,28%);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);width:56%;inset:auto 0 0 auto}.table-fog-overlay{z-index:5;pointer-events:none;position:absolute;inset:0}.table-fog-overlay.is-editing{pointer-events:auto}.table-fog-brush-layer{pointer-events:none;position:absolute;inset:0}.fog-brush-ghost-layer{position:absolute;inset:0}.fog-brush-preview,.fog-brush-ghost{background:#62ccbe1f;border:1.5px solid #8ae8dce0;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0812184d,0 0 32px #62ccbe2e}.fog-brush-preview{opacity:0;transition:left 35ms linear,top 35ms linear,width 80ms,height 80ms,opacity .12s}.fog-brush-preview.is-visible{opacity:1}.fog-brush-ghost{animation:.22s ease-out forwards fog-brush-ghost}@keyframes fog-brush-ghost{0%{opacity:.34;transform:translate(-50%,-50%)scale(.96)}to{opacity:0;transform:translate(-50%,-50%)scale(1.12)}}.table-fog-svg{width:100%;height:100%;display:block}.table-fog-surface{fill:#04080ce0}.table-fog-surface.is-gm{fill:#04080c7a}.table-fog-surface.is-player{fill:#04080c}.table-measure{z-index:4;background:linear-gradient(90deg,#0000,#ffe293eb,#0000);width:34%;height:2px;position:absolute;top:54%;left:27%}.table-measure:before,.table-measure:after{content:"";border:2px solid #ffe293eb;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px}.table-measure:before{left:0}.table-measure:after{right:0}.table-measure-label{color:#f8faffe6;white-space:nowrap;background:#0a1019e6;border-radius:999px;padding:6px 10px;font-size:.75rem;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.table-token{z-index:5;color:#eef4ff;white-space:nowrap;isolation:isolate;background:#080e18e0;border:2px solid #ffffff2e;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-grid;position:absolute;overflow:visible;transform:translate(-50%,-50%);box-shadow:0 10px 28px #03080e3d}.table-token.is-draggable{cursor:grab}.table-token.is-static{cursor:default;opacity:.92}.table-token.is-selected{z-index:8;border-color:#78a9ffe0;box-shadow:0 0 0 1px #78a9ff3d,0 0 0 8px #78a9ff1f,0 14px 32px #03080e4d}.table-token.is-current-turn{z-index:9;border-color:#f67171eb;box-shadow:0 0 0 1px #f671713d,0 0 0 8px #f671711f,0 14px 32px #03080e52}.table-token-badge{z-index:2;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.88rem;font-weight:800;display:inline-grid;position:relative}.table-token-image{z-index:2;object-fit:cover;border:1px solid #ffffff38;border-radius:50%;width:40px;height:40px;position:relative}.table-token-label{z-index:1;transform-origin:0;opacity:0;pointer-events:none;white-space:nowrap;text-align:left;background:linear-gradient(135deg,#080e18f5,#101827eb);border:1px solid #ffffff1a;border-radius:999px;justify-items:start;gap:1px;width:max-content;max-width:0;min-height:40px;padding:8px 0 8px 30px;transition:opacity .18s,transform .22s,max-width .22s,padding .22s,border-color .18s;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translateY(-50%)scale(.96);box-shadow:0 12px 24px #03080e3d}.table-token-label strong{color:#f3f7ff;font-size:.78rem;font-weight:700;line-height:1.2}.table-token-label span{color:#eef4ff9e;letter-spacing:.06em;text-transform:uppercase;font-size:.64rem}.table-token:hover .table-token-label,.table-token.is-selected .table-token-label,.table-token.is-current-turn .table-token-label{opacity:1;max-width:180px;padding-right:12px;transform:translateY(-50%)scale(1)}.table-token.is-selected .table-token-label{border-color:#78a9ff47}.table-token.is-current-turn .table-token-label{background:linear-gradient(135deg,#2c1114f5,#1a0c0ff0);border-color:#f6717147;box-shadow:0 0 0 1px #f671711a,0 12px 24px #18060952}.table-token.is-current-turn .table-token-label strong{color:#fff3f3}.table-token.is-current-turn .table-token-label span{color:#ffd6d6b3}.table-token.tone-indigo .table-token-badge{color:#9fbeff;background:#7494ff38}.table-token.tone-teal .table-token-badge{color:#84e1d8;background:#39c7ba38}.table-token.tone-amber .table-token-badge{color:#ffd39b;background:#f3a53d33}.table-sidebar{flex-direction:column;gap:14px;display:flex}.surface-card{border-radius:var(--radius-md);background:var(--surface-strong);border:1px solid var(--line);padding:16px}.surface-card-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.82rem}.surface-card-value{margin:10px 0 0;font-size:1.15rem;font-weight:700}.surface-card-copy{color:var(--text-muted);margin:8px 0 0;font-size:.84rem;line-height:1.5}.surface-card-copy-tight{margin-top:12px}.check-history-card{position:relative}.check-history-copy-block{padding-right:58px}.check-history-quick-button{position:absolute;top:16px;right:16px}.check-history-scroll{max-height:440px;margin-top:14px;padding-right:4px;overflow:auto}.actionable-order-grid{gap:14px;margin-top:14px;display:grid}.actionable-bucket-grid{gap:10px;margin-top:12px;display:grid}.actionable-candidate-card.is-active{border-color:#3e73ec5c;box-shadow:0 0 0 4px #3e73ec14}.actionable-flow-card{border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff05;margin-top:14px;padding:16px}.actionable-declaration-grid{align-items:end}.actionable-flow-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;display:flex}.actionable-current-copy{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-strong);padding:14px 16px}.actionable-current-copy strong{font-size:.92rem;display:block}.actionable-current-copy p{color:var(--text-muted);margin:8px 0 0;font-size:.84rem;line-height:1.55}.actionable-order-section{gap:10px;display:grid}.actionable-order-section+.actionable-order-section{border-top:1px solid var(--line);padding-top:14px}.actionable-order-section .check-item{padding:12px 14px}.state-chip-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.sheet-state-row{margin-top:0}.state-chip{background:linear-gradient(160deg,#3e73ec1a,#ffffff05);border:1px solid #3e73ec2e;border-radius:14px;flex-direction:column;gap:4px;padding:10px 12px;display:inline-flex}.state-chip strong{font-size:.8rem}.state-chip span{color:var(--text-soft);font-size:.72rem;line-height:1.35}.actionable-order-section .check-item-header{flex-wrap:wrap;align-items:flex-start}.actionable-order-section .check-item-meta{white-space:normal}.check-list,.activity-list,.trait-list,.inventory-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.check-item,.activity-item{border-radius:var(--radius-sm);background:var(--surface-strong);border:1px solid var(--line);padding:14px 16px}.check-item.is-success{background:linear-gradient(160deg,#0f9e941a,#ffffff05);border-color:#0f9e9438}.check-item.is-failure{background:linear-gradient(160deg,#dd6b631a,#ffffff05);border-color:#dd6b6338}.check-item-header,.activity-item-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.check-item-title,.activity-item-title{margin:0;font-size:.92rem;font-weight:700}.check-item-meta,.activity-item-meta{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.76rem}.check-result-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.result-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:.72rem;font-weight:700;display:inline-flex}.result-badge.is-success{color:var(--secondary);background:#0f9e9424}.result-badge.is-failure{color:var(--danger);background:#dd6b6324}.check-item-copy,.activity-item-copy,.trait-copy{color:var(--text-muted);margin:8px 0 0;font-size:.84rem;line-height:1.55}.check-item-actions{margin-top:14px}.check-result-outcome-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.check-item[data-dice-roll-host].is-concealed .dice-roll-reveal{opacity:0;pointer-events:none;transform:translateY(4px)}.check-item[data-dice-roll-host] .dice-roll-reveal{transition:opacity .22s,transform .22s}.check-item[data-dice-roll-host].is-revealed .dice-roll-reveal{opacity:1;pointer-events:auto;transform:translateY(0)}.sheet-panel{padding:0;overflow:hidden}.sheet-toggle{flex-wrap:wrap;gap:8px;display:flex}.sheet-button{background:var(--surface-muted);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:11px 14px;font-size:.82rem;font-weight:700}.sheet-button.is-active{background:var(--surface-strong);border-color:var(--line);color:var(--text);box-shadow:var(--shadow-soft)}.sheet-card{padding:26px}.settings-toggle-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:22px;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.settings-toggle-card input[type=checkbox]{width:18px;height:18px;accent-color:var(--secondary)}.settings-toggle-copy{color:var(--text-muted);margin-top:6px;font-size:.9rem;line-height:1.5;display:block}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.session-status-panel{margin-bottom:24px}.session-status-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sheet-card-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.sheet-header-main{align-items:center;gap:14px;min-width:0;display:flex}.sheet-portrait-image,.sheet-portrait-fallback{border-radius:20px;flex:none;width:72px;height:72px}.sheet-portrait-image{object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.sheet-portrait-fallback{color:var(--text);letter-spacing:.08em;border:1px solid var(--line);background:linear-gradient(135deg,#3e73ec24,#0f9e9429);place-items:center;font-size:1rem;font-weight:800;display:inline-grid}.sheet-title{font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,2vw,2.1rem);line-height:1}.sheet-subtitle{color:var(--text-muted);margin:8px 0 0;font-size:.92rem}.sheet-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;display:grid}.sheet-column{flex-direction:column;gap:16px;display:flex}.sheet-block{border-radius:var(--radius-md);background:var(--surface-strong);border:1px solid var(--line);padding:18px}.sheet-block-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin:0 0 12px;font-size:.86rem}.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.identity-item{min-width:0}.identity-item-label{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;display:block}.identity-item-value{margin:6px 0 0;font-size:.92rem;line-height:1.5}.attribute-stack{gap:12px;display:grid}.attribute-row{grid-template-columns:minmax(96px,110px) minmax(0,1fr);align-items:center;gap:12px;display:grid}.attribute-key{align-items:center;gap:10px;display:flex}.attribute-abbr{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);letter-spacing:.08em;border-radius:14px;place-items:center;font-size:.86rem;font-weight:800;display:inline-grid}.attribute-title{margin:0;font-size:.92rem;font-weight:700}.attribute-note{color:var(--text-muted);margin:3px 0 0;font-size:.8rem;line-height:1.5}.pip-track{grid-template-columns:repeat(var(--pip-count,5),minmax(0,1fr));gap:6px;display:inline-grid}.pip{border:1px solid var(--line-strong);background:0 0;border-radius:5px;width:100%;min-width:18px;height:18px;box-shadow:inset 0 1px #ffffff14}.pip.is-filled{background:linear-gradient(#5e88f8f5,#3466e7fa);border-color:#0000}html[data-theme=dark] .pip.is-filled{background:linear-gradient(#84b2fff0,#5c8ffffa)}.skill-cluster{border-top:1px solid var(--line);gap:10px;padding:14px 0;display:grid}.skill-cluster:first-child{border-top:0;padding-top:0}.skill-cluster-header{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.skill-cluster-title{margin:0;font-size:.86rem;font-weight:700}.skill-cluster-formula{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.skill-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.skill-row-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.skill-name{font-size:.88rem}.skill-value{width:min(132px,100%)}.narrative-copy{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.65}.narrative-stack{gap:14px;display:grid}.point-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.point-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(160deg,#3e73ec14,#ffffff05);padding:14px}.point-card h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0 0 10px;font-size:.82rem}.point-card strong{margin-bottom:10px;font-size:1.2rem;display:block}.point-track{grid-template-columns:repeat(var(--point-count,6),minmax(0,1fr));gap:6px;display:inline-grid}.point{border:1px solid var(--line-strong);border-radius:4px;width:22px;height:14px}.point.is-filled{background:linear-gradient(#38c4b7f0,#0f9e94fa);border-color:#0000}.injury-grid{gap:10px;display:grid}.injury-item,.trait-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;padding:12px 14px}.injury-header,.trait-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.injury-header strong,.trait-header strong{font-size:.88rem}.injury-header span,.trait-header span{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;padding:12px 14px;font-size:.86rem}.inventory-item-thumb{object-fit:cover;border:1px solid var(--line);vertical-align:middle;border-radius:8px;width:28px;height:28px;margin-right:10px;display:inline-block}.creature-badges,.card-badges{flex-wrap:wrap;gap:8px;display:flex}.tag{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.tag-primary{background:var(--primary-soft);color:var(--primary)}.tag-secondary{background:var(--secondary-soft);color:var(--secondary)}.tag-warning{background:var(--warning-soft);color:var(--warning)}.tag-danger{background:var(--danger-soft);color:var(--danger)}.command-stack{gap:12px;display:grid}.command-button{border-radius:var(--radius-md);background:var(--surface-strong);width:100%;color:var(--text);text-align:left;box-shadow:var(--shadow-soft);border:1px solid #0000;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.command-button.tone-indigo{background:linear-gradient(135deg,#3e73ec24,#ffffff08)}.command-button.tone-teal{background:linear-gradient(135deg,#0f9e9429,#ffffff08)}.command-button.tone-amber{background:linear-gradient(135deg,#d9770629,#ffffff08)}.command-button-title{margin:0;font-size:.94rem;font-weight:700}.command-button-copy{color:var(--text-muted);margin:6px 0 0;font-size:.82rem;line-height:1.5}.command-button-meta{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.76rem}.gm-note,.player-note{border-radius:var(--radius-md);border:1px dashed var(--line-strong);background:#ffffff05;padding:16px}.gm-note strong,.player-note strong{letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.84rem;display:block}.gm-note p,.player-note p{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.6}.notes-grid{gap:12px;display:grid}.ghost-button{border:1px solid var(--line);color:var(--text-muted);background:0 0;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.danger-ghost-button{color:var(--danger);background:var(--danger-soft);border-color:#dd6b633d}.danger-ghost-button:hover{box-shadow:0 0 0 4px #dd6b6314}.ghost-button-small{padding:8px 12px;font-size:.82rem}.ghost-button-compact{letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;font-size:.76rem}.icon-ghost-button{border:1px solid var(--line);width:38px;height:38px;color:var(--text-muted);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-ghost-button svg{width:18px;height:18px}.ghost-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.meta-inline{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.auth-shell{width:min(1420px,100vw - 32px);margin:0 auto;padding:28px 0 36px}.auth-panel{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:24px;padding:28px;display:grid}.auth-copy{flex-direction:column;justify-content:center;gap:18px;display:flex}.auth-card{padding:24px}.session-app-shell{grid-template-columns:minmax(0,1fr);align-items:flex-start;width:min(1720px,100vw - 32px)}.form-stack{gap:16px;display:grid}.form-inline{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.form-grid{gap:14px;display:grid}.form-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-grid{align-items:end}.field{gap:8px;display:grid}.field-grow{flex:260px}.field-label{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:700}.field-input,.field-textarea,.field-select{border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--surface-strong);width:100%;color:var(--text);padding:12px 14px;transition:border-color .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff14}.field-input:focus,.field-textarea:focus,.field-select:focus{border-color:#3e73ec80;outline:none;box-shadow:0 0 0 4px #3e73ec1f}.field-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-soft)50%),linear-gradient(135deg,var(--text-soft)50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px;padding-right:42px}.field-select-compact{min-width:172px}.sheet-tab-shell{gap:16px;display:grid}.sheet-tab-radio{opacity:0;pointer-events:none;position:absolute}.sheet-tab-controls{border:1px solid var(--line);background:#ffffff08;border-radius:999px;flex-wrap:wrap;gap:10px;width:fit-content;max-width:100%;padding:6px;display:inline-flex}.sheet-tab-button{min-height:40px;color:var(--text-muted);letter-spacing:.02em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:.84rem;font-weight:700;transition:background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.sheet-tab-button:hover{color:var(--text)}.sheet-tab-panels{min-width:0}.sheet-tab-panel{display:none}.sheet-tab-shell>.sheet-tab-radio:first-of-type:checked~.sheet-tab-controls .sheet-tab-button:first-of-type,.sheet-tab-shell>.sheet-tab-radio:nth-of-type(2):checked~.sheet-tab-controls .sheet-tab-button:nth-of-type(2),.sheet-tab-shell>.sheet-tab-radio:nth-of-type(3):checked~.sheet-tab-controls .sheet-tab-button:nth-of-type(3){color:var(--text);background:#5f91ff29;box-shadow:inset 0 0 0 1px #5f91ff61}.sheet-tab-shell>.sheet-tab-radio:first-of-type:checked~.sheet-tab-panels .sheet-tab-panel:first-of-type,.sheet-tab-shell>.sheet-tab-radio:nth-of-type(2):checked~.sheet-tab-panels .sheet-tab-panel:nth-of-type(2),.sheet-tab-shell>.sheet-tab-radio:nth-of-type(3):checked~.sheet-tab-panels .sheet-tab-panel:nth-of-type(3){display:block}.inventory-entry-stack{gap:12px;display:grid}.inventory-entry-row{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 14px;display:flex}.inventory-entry-picker{flex:420px;grid-template-columns:minmax(156px,196px) minmax(0,1fr);gap:12px;min-width:0;display:grid}.inventory-entry-quantity{width:120px;min-width:120px}.inventory-entry-type,.inventory-entry-search{min-width:0}.inventory-entry-remove{align-self:flex-end}.inventory-suggestion-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:#0a12228a;gap:8px;margin-top:10px;padding:10px;display:grid}.inventory-suggestion{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .18s,transform .18s,background-color .18s;display:flex}.inventory-suggestion:hover,.inventory-suggestion.is-active{background:#5f91ff1a;border-color:#5f91ff6b;transform:translateY(-1px)}.inventory-suggestion-thumb{border:1px solid var(--line);object-fit:cover;border-radius:12px;flex:none;width:38px;height:38px}.inventory-suggestion-main{gap:4px;min-width:0;display:grid}.inventory-suggestion-title{font-size:.92rem;font-weight:700}.inventory-suggestion-copy{color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.inventory-suggestion-note{color:var(--text-muted);font-size:.82rem;line-height:1.45}.inventory-suggestion-empty{margin-top:10px}.field-textarea{resize:vertical;min-height:112px}.field-error{color:var(--danger);margin:0;font-size:.8rem;line-height:1.45}.builder-portrait-preview{justify-content:flex-start;align-items:center;display:flex}.builder-portrait-image{object-fit:cover;border:1px solid var(--line);width:92px;height:92px;box-shadow:var(--shadow-soft);border-radius:24px}.button-primary{background:linear-gradient(135deg,var(--primary),#5b8cff);color:#fff;box-shadow:var(--shadow-soft);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex}.button-primary:hover{transform:translateY(-1px)}.button-primary.is-disabled,.button-primary:disabled{opacity:.58;cursor:not-allowed;transform:none}.list-stack,.roster-stack{gap:12px;display:grid}.list-button,.roster-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.list-button:hover,.roster-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.list-button.is-active,.roster-card.is-active{box-shadow:0 0 0 4px #3e73ec14,var(--shadow-soft);border-color:#3e73ec6b}.list-button.is-link{cursor:pointer}.list-button-main{flex:auto;gap:4px;min-width:0;display:grid}.list-button-thumb{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:42px;height:42px;margin-bottom:4px}.creature-browser-panel{margin-top:18px}.creature-browser-toolbar{align-items:end;margin-top:18px}.creature-browser-note{margin-top:14px}.creature-browser-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:18px;display:grid}.creature-browser-card{min-height:84px}.creature-browser-main{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.creature-browser-thumb{flex:none;margin-bottom:0}@media(max-width:840px){.inventory-entry-picker,.creature-browser-grid{grid-template-columns:1fr}}.list-button-title{font-size:.94rem;font-weight:700;display:block}.list-button-copy{color:var(--text-muted);margin-top:4px;font-size:.82rem;line-height:1.5;display:block}.list-button-meta{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.76rem}.list-button-static{cursor:default}.list-button-static:hover{transform:none}.list-button-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.empty-state{border-radius:var(--radius-md);border:1px dashed var(--line-strong);background:#ffffff05;padding:18px}.empty-state strong{font-size:.92rem;display:block}.empty-state p{color:var(--text-muted);margin:8px 0 0;font-size:.84rem;line-height:1.55}.map-panel{padding:28px 30px}.map-meta-row{flex-wrap:wrap;gap:8px;margin:20px 0 22px;display:flex}.map-scene-strip{gap:10px;margin-bottom:18px;padding-bottom:6px;display:flex;overflow-x:auto}.map-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.map-toolbar-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fog-toolbar{flex-wrap:wrap}.fog-radius-control{border:1px solid var(--line);background:var(--surface-muted);border-radius:16px;gap:6px;min-width:172px;padding:8px 12px;display:inline-grid}.fog-radius-control span{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.fog-radius-control input[type=range]{width:100%;accent-color:var(--primary)}.board-mode-switch{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;align-items:center;gap:6px;padding:4px;display:inline-flex}.board-mode-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;padding:0 10px;font-size:.74rem;font-weight:700}.board-mode-button{min-height:30px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.76rem;font-weight:700;transition:background .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex}.board-mode-button:hover{transform:translateY(-1px)}.board-mode-button.is-active{background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow-soft)}.map-tool-button,.map-tool-readout{border:1px solid var(--line);background:var(--surface-strong);min-height:34px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.map-tool-button{cursor:pointer;width:34px;padding:0}.map-tool-button:hover,.map-tool-readout:hover{transform:translateY(-1px)}.map-tool-button svg{width:16px;height:16px}.map-tool-button-label{letter-spacing:.08em;text-transform:uppercase;width:auto;padding:0 12px;font-size:.78rem;font-weight:700}.map-tool-readout{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:0 12px;font-size:.78rem;font-weight:700}.table-canvas.is-fog-brush-active,.table-fog-overlay.is-editing{cursor:crosshair}.map-scene-pill{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-strong);min-width:180px;color:var(--text);text-align:left;cursor:pointer;gap:4px;padding:12px 14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.map-scene-pill:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.map-scene-pill.is-active{border-color:#3e73ec5c;box-shadow:0 0 0 4px #3e73ec14}.map-scene-pill-title{font-size:.9rem;font-weight:700}.map-scene-pill-copy{color:var(--text-muted);font-size:.78rem;line-height:1.45}.table-shell-main{grid-template-columns:minmax(0,2.2fr) minmax(290px,.64fr)}.table-map-frame{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #34d39947;padding:18px;position:relative;overflow:auto;box-shadow:inset 0 0 0 1px #34d39914,0 0 0 6px #34d3990d}.table-map-frame.is-actionable-mode{border-color:#dd6b6357;box-shadow:inset 0 0 0 1px #dd6b631f,0 0 0 6px #dd6b6312}.table-map-overlay-tools{z-index:7;flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex;position:absolute;top:30px;left:30px}.map-overlay-button{border:1px solid var(--line);color:#eef4ffeb;cursor:pointer;min-height:36px;box-shadow:var(--shadow-soft);background:#0a1019e6;border-radius:999px;align-items:center;gap:10px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.map-overlay-button span{color:#a9c4ff;background:#3e73ec38;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.76rem;display:inline-grid}.map-overlay-button.is-active{box-shadow:0 0 0 4px #3e73ec14,var(--shadow-soft);border-color:#3e73ec6b}.map-overlay-clear-button{color:#eef4ffc2;cursor:pointer;background:#0a1019d1;border:1px solid #ffffff1f;border-radius:999px;min-height:36px;padding:0 14px;font-size:.78rem;font-weight:700}.victory-ref-wrapper{position:relative}.victory-ref-panel{z-index:10;border:1px solid var(--line);width:min(320px,80vw);max-height:min(420px,60vh);box-shadow:var(--shadow-soft);background:#0a1019f5;border-radius:14px;padding:14px;position:absolute;top:44px;left:0;overflow-y:auto}.victory-ref-panel .panel-header{margin-bottom:10px}.victory-ref-scroll{flex-direction:column;gap:8px;display:flex}.victory-ref-entry{background:#ffffff0a;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.victory-ref-level{color:#a9c4ff;background:#3e73ec38;border-radius:999px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:800;display:inline-grid}.victory-ref-entry div{flex-direction:column;gap:2px;display:flex}.victory-ref-entry strong{color:#eef4fff0;font-size:.82rem;font-weight:700}.victory-ref-entry span{color:#eef4ff94;font-size:.76rem;line-height:1.4}.map-overlay-panel,.creature-browser-overlay{z-index:6;width:min(420px,100% - 60px);max-height:calc(100% - 106px);box-shadow:var(--shadow-soft);align-content:start;gap:16px;display:grid;position:absolute;top:76px;left:30px;overflow:hidden auto}.map-overlay-scroll{min-height:0;padding-right:4px;overflow:auto}.table-map-controls{z-index:4;flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex;position:absolute;top:30px;right:30px}.table-planning-overlay{z-index:4;pointer-events:none;position:absolute;inset:0}.table-planning-overlay.is-active{pointer-events:auto;cursor:crosshair}.table-planning-svg{width:100%;height:100%;display:block}.planning-arrow-line,.planning-arrow-preview{fill:none;stroke:#70cbffeb;stroke-width:.42px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #3d90ff2e)}.planning-arrow-origin{fill:#70cbffeb}.planning-arrow-preview{opacity:0;transition:opacity .12s}.planning-arrow-preview.is-visible{opacity:1}.table-status-indicator{z-index:6;width:18px;height:18px;box-shadow:var(--shadow-soft);background:#080e18d1;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:24px;right:24px}.table-status-indicator-dot{background:#94a3b8;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 6px #94a3b81f}.table-status-indicator.is-live .table-status-indicator-dot,.table-status-indicator.is-ok .table-status-indicator-dot{background:#34d399;box-shadow:0 0 0 6px #34d39929}.table-status-indicator.is-arming .table-status-indicator-dot,.table-status-indicator.is-local .table-status-indicator-dot{background:#fbbf24;box-shadow:0 0 0 6px #fbbf2429}.table-status-indicator.is-degraded .table-status-indicator-dot{background:#f97316;box-shadow:0 0 0 6px #f9731629}.table-status-indicator.is-offline .table-status-indicator-dot{background:#f87171;box-shadow:0 0 0 6px #f8717129}.table-map-zoom{zoom:var(--map-zoom,1);transform-origin:top;transition:zoom .18s,transform .18s}@supports not (zoom:1){.table-map-zoom{transform:scale(var(--map-zoom,1))}}.table-canvas-large{background-size:auto,auto,72px 72px,72px 72px;min-height:1020px}.table-canvas-modal{background-size:auto,auto,72px 72px,72px 72px;min-width:min(1180px,100%);min-height:820px}.table-canvas.has-scene-image{background-image:linear-gradient(#080d1461,#080d1461),var(--scene-image),linear-gradient(90deg,#ffffff0a 1px,transparent 1px),linear-gradient(#ffffff0a 1px,transparent 1px);background-position:50%;background-size:cover,cover,72px 72px,72px 72px}.table-canvas.is-actionable-mode{box-shadow:inset 0 0 0 1px #dd6b6324}.table-canvas.scene-city{background:radial-gradient(circle at 12% 18%,#ffc4852e,#0000 18%),linear-gradient(145deg,#181e29f5,#2c374af0),linear-gradient(90deg,#ffffff0b 1px,#0000 1px),linear-gradient(#ffffff0b 1px,#0000 1px)}.table-canvas.scene-wilderness{background:radial-gradient(circle at 18% 22%,#79c97c2e,#0000 22%),linear-gradient(145deg,#12281ef5,#233f2cf0),linear-gradient(90deg,#ffffff0b 1px,#0000 1px),linear-gradient(#ffffff0b 1px,#0000 1px)}.table-canvas.scene-dungeon{background:radial-gradient(circle at 18% 18%,#a489612e,#0000 22%),linear-gradient(145deg,#1e1813f7,#362c22f0),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px)}.table-canvas.scene-interior{background:radial-gradient(circle at 16% 20%,#c68e5c2e,#0000 18%),linear-gradient(145deg,#37221af2,#4f3428f0),linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#ffffff09 1px,#0000 1px)}.table-canvas.scene-coast{background:radial-gradient(circle at 18% 18%,#7fdcff2e,#0000 20%),linear-gradient(145deg,#112638f5,#1c4a62f0),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px)}.map-empty-state{z-index:6;border-radius:var(--radius-md);color:#eef4ff;background:#080e18d1;border:1px solid #ffffff1f;padding:18px 20px;position:absolute;bottom:24px;left:24px;right:24px}.map-empty-state strong{font-size:.94rem;display:block}.map-empty-state p{color:#eef4ffb8;margin:8px 0 0;font-size:.84rem;line-height:1.55}.roster-status{background:var(--surface-muted);color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.roster-status.is-placed{background:var(--secondary-soft);color:var(--secondary)}.builder-summary{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-strong);padding:14px 16px}.builder-summary p{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.6}.item-effect-builder{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.builder-sticky-budget{z-index:4;background:linear-gradient(180deg,var(--panel),var(--panel)82%,transparent);margin:-4px -4px 20px;padding:4px 4px 12px;position:sticky;top:-24px}.map-bank-list{gap:10px;margin-top:16px;display:grid}.map-bank-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.map-bank-title{margin:0;font-size:.88rem;font-weight:700}.map-bank-copy{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.compact-summary{margin-top:12px}.marketplace-filter-field{min-width:172px}.injury-builder-row{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;gap:12px;padding:14px 16px;display:grid}.compact-empty-state,.compact-button{padding:14px 16px}.condition-outcome-list{gap:8px;display:grid}.condition-outcome-button{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#ffffff05;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,transform .16s,background .16s;display:grid}.condition-outcome-button:hover,.condition-outcome-button:focus-visible{background:#7aa3ff14;border-color:#7aa3ff6b;transform:translateY(-1px)}.condition-outcome-icon,.condition-outcome-info{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.condition-outcome-icon{width:34px;height:34px;color:var(--primary);background:#7aa3ff1a;border:1px solid #7aa3ff3d;border-radius:999px}.condition-outcome-icon svg{width:16px;height:16px}.condition-outcome-text{gap:3px;min-width:0;display:grid}.condition-outcome-text strong{font-size:.9rem;line-height:1.3}.condition-outcome-text span{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;line-height:1.35}.condition-outcome-info{border:1px solid var(--line);width:22px;height:22px;color:var(--text-soft);background:#ffffff08;border-radius:999px;font-size:.76rem;font-weight:700}.condition-outcome-detail{cursor:help;justify-content:center;align-items:center;padding:2px;display:inline-flex;position:relative}.condition-outcome-detail .chip-tooltip{width:min(240px,44vw);bottom:calc(100% + 10px);left:auto;right:0;transform:translateY(8px)}.condition-outcome-detail .chip-tooltip:after{left:auto;right:8px;transform:rotate(45deg)}.condition-outcome-detail:hover .chip-tooltip,.condition-outcome-detail:focus-visible .chip-tooltip{opacity:1;transform:translate(0)}.condition-state-grid{gap:10px;display:grid}.condition-state-toggle{border-radius:var(--radius-sm);border:1px solid var(--line);cursor:pointer;background:#ffffff05;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.condition-state-toggle input[type=checkbox]{accent-color:var(--primary);margin-top:3px}.condition-state-toggle span{gap:4px;display:grid}.condition-state-toggle strong{font-size:.84rem}.condition-state-toggle span span{color:var(--text-soft);font-size:.76rem;line-height:1.45}.condition-preview-card{border-radius:var(--radius-sm);border:1px solid var(--line);min-height:46px;color:var(--text-soft);background:#ffffff05;padding:12px 14px;font-size:.82rem;line-height:1.45}.surface-card-section{gap:12px;display:grid}.condition-injury-list{gap:10px;display:grid}.condition-injury-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.condition-injury-copy{gap:4px;display:grid}.condition-injury-copy strong{font-size:.86rem}.condition-injury-copy span{color:var(--text-soft);font-size:.78rem;line-height:1.4}.condition-injury-modal-panel{max-width:32rem}.sheet-modal-actions{justify-content:flex-end;gap:10px;display:flex}.alert-banner{border-radius:var(--radius-md);border:1px solid #0000;margin-top:18px;padding:14px 16px;font-size:.9rem;font-weight:600}.alert-banner.tone-success{background:var(--secondary-soft);color:var(--secondary);border-color:#0f9e943d}.alert-banner.tone-info{background:var(--primary-soft);color:var(--primary);border-color:#3e73ec38}.alert-banner.tone-warning{background:var(--warning-soft);color:var(--warning);border-color:#d9770638}.alert-banner.tone-danger{background:var(--danger-soft);color:var(--danger);border-color:#dd6b6338}.currency-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.currency-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(160deg,#0f9e9414,#ffffff05);padding:14px}.currency-card span{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;display:block}.currency-card strong{margin-top:10px;font-size:1.2rem;display:block}.sheet-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05090e94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sheet-modal-panel{width:min(1180px,100vw - 32px);max-height:calc(100vh - 32px);padding:24px;overflow:auto}.settings-modal-panel{width:min(1320px,100vw - 32px)}.map-modal-panel{width:min(1440px,100vw - 32px)}.action-modal-panel{width:min(1180px,100vw - 32px)}.free-roll-modal-panel{width:min(1080px,100vw - 32px)}.point-selector{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-strong);padding:14px 16px}.point-selector.tone-indigo{background:linear-gradient(160deg,#3e73ec14,#ffffff05)}.point-selector.tone-teal{background:linear-gradient(160deg,#0f9e9414,#ffffff05)}.point-selector.tone-amber{background:linear-gradient(160deg,#d9770614,#ffffff05)}.point-selector-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.point-selector-label{font-size:.84rem;font-weight:700;display:block}.point-selector-copy{color:var(--text-muted);margin:4px 0 0;font-size:.78rem;line-height:1.45}.point-selector-value{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap;font-size:.84rem}.point-selector-track{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px;margin-top:12px;display:grid}.point-selector-node{border:1px solid var(--line-strong);cursor:pointer;width:100%;min-height:34px;color:var(--text-soft);background:0 0;border-radius:6px;transition:transform .15s,background .15s,border-color .15s,opacity .15s,color .15s}.point-selector-node-label{letter-spacing:.05em;justify-content:center;align-items:center;width:100%;font-size:.74rem;font-weight:700;display:inline-flex}.point-selector-node:hover:not(:disabled){transform:translateY(-1px)}.point-selector-node.is-active{color:#f8fbff;background:linear-gradient(#5e88f8f5,#3466e7fa);border-color:#0000}.point-selector-node.is-filled:not(.is-active){background:#3e73ec1f;border-color:#5e88f866}.point-selector-node.is-negative{border-color:#dd6b6342}.point-selector-node.is-negative.is-active{background:linear-gradient(#dd6b63f0,#c64c42fa)}.point-selector-node:disabled{opacity:.35;cursor:not-allowed}.skill-value-chip{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;min-width:46px;padding:6px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.skill-value-chip.is-positive{color:var(--primary);background:#3e73ec14;border-color:#3e73ec38}.skill-value-chip.is-negative{color:var(--danger);background:#dd6b631a;border-color:#dd6b633d}.dice-preset-row,.mode-selector{flex-wrap:wrap;gap:8px;display:flex}.mode-chip{border:1px solid var(--line);background:var(--surface-strong);min-height:38px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.mode-chip:hover{transform:translateY(-1px)}.mode-chip.is-active{background:linear-gradient(120deg,#3e73ec24,#ffffff05);border-color:#3e73ec5c;box-shadow:0 0 0 4px #3e73ec14}.dice-roll-list{gap:10px;margin-top:14px;display:grid}.dice-roll-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff05;padding:12px 14px}.dice-roll-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dice-roll-header strong{letter-spacing:.08em;text-transform:uppercase;font-size:.84rem}.dice-roll-header span{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.dice-roll-item p{color:var(--text-muted);margin:8px 0 0;font-size:.82rem;line-height:1.5}.dice-roll-context{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dice-face-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.dice-face{border:1px solid var(--line-strong);background:linear-gradient(#ffffff1f,#ffffff0a);border-radius:7px;place-items:center;width:28px;height:28px;font-size:.72rem;animation:.34s both dice-face-pop;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 4px 10px #0307122e}.dice-face.is-success{background:linear-gradient(#0f9e9438,#0f9e9414);border-color:#0f9e9447}.dice-face.is-failure{background:linear-gradient(#dd6b633d,#dd6b6314);border-color:#dd6b634d}.dice-face.is-neutral{border-color:#ffffff1f}.dice-face.is-rolling{animation:.34s both dice-face-pop,.12s linear infinite dice-face-roll}.dice-face-pips{width:16px;height:16px;position:relative}.dice-face-pip{opacity:0;background:currentColor;border-radius:999px;width:4px;height:4px;transition:opacity 90ms,transform 90ms;position:absolute;transform:scale(.82)}.dice-face-number{letter-spacing:.02em;color:var(--text);font-size:1rem;font-weight:800}.pip-top-left{top:0;left:0}.pip-top-right{top:0;right:0}.pip-middle-left{top:50%;left:0;transform:translateY(-50%)scale(.82)}.pip-center{top:50%;left:50%;transform:translate(-50%,-50%)scale(.82)}.pip-middle-right{top:50%;right:0;transform:translateY(-50%)scale(.82)}.pip-bottom-left{bottom:0;left:0}.pip-bottom-right{bottom:0;right:0}.dice-face[data-value="1"] .pip-center,.dice-face[data-value="2"] .pip-top-left,.dice-face[data-value="2"] .pip-bottom-right,.dice-face[data-value="3"] .pip-top-left,.dice-face[data-value="3"] .pip-center,.dice-face[data-value="3"] .pip-bottom-right,.dice-face[data-value="4"] .pip-top-left,.dice-face[data-value="4"] .pip-top-right,.dice-face[data-value="4"] .pip-bottom-left,.dice-face[data-value="4"] .pip-bottom-right,.dice-face[data-value="5"] .pip-top-left,.dice-face[data-value="5"] .pip-top-right,.dice-face[data-value="5"] .pip-center,.dice-face[data-value="5"] .pip-bottom-left,.dice-face[data-value="5"] .pip-bottom-right,.dice-face[data-value="6"] .pip-top-left,.dice-face[data-value="6"] .pip-top-right,.dice-face[data-value="6"] .pip-middle-left,.dice-face[data-value="6"] .pip-middle-right,.dice-face[data-value="6"] .pip-bottom-left,.dice-face[data-value="6"] .pip-bottom-right{opacity:1;transform:scale(1)}.dice-face[data-value="1"] .pip-center,.dice-face[data-value="3"] .pip-center,.dice-face[data-value="5"] .pip-center{transform:translate(-50%,-50%)scale(1)}.dice-face[data-value="6"] .pip-middle-left,.dice-face[data-value="6"] .pip-middle-right{transform:translateY(-50%)scale(1)}.manual-dice-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:12px;margin-top:18px;display:grid}.manual-dice-field{gap:8px;display:grid}.manual-dice-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.manual-dice-input{text-align:center;letter-spacing:.04em;border-radius:16px;min-height:72px;font-size:1.35rem;font-weight:800}@keyframes dice-face-pop{0%{opacity:0;transform:translateY(8px)scale(.92)rotate(-5deg)}60%{opacity:1;transform:translateY(-2px)scale(1.04)rotate(1deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes dice-face-roll{0%{transform:translateY(0)scale(1)rotate(0)}33%{transform:translateY(-2px)scale(1.03)rotate(-4deg)}66%{transform:translateY(1px)scale(.98)rotate(4deg)}to{transform:translateY(0)scale(1)rotate(0)}}@media(max-width:1320px){.auth-panel,.dashboard-card-grid,.workspace-grid,.table-shell,.sheet-grid{grid-template-columns:1fr}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.dashboard-shell,.app-shell{width:min(100%,100vw - 24px);padding-top:18px}.app-shell{grid-template-columns:1fr}.dashboard-topbar{flex-direction:column}.sidebar{order:2}.main-stage{order:1}}@media(max-width:720px){.dashboard-topbar,.hero-panel,.section-panel,.sidebar-panel,.sheet-card{padding:20px}.hero-topline,.dashboard-topbar-actions,.panel-header,.sheet-card-header,.status-row,.map-toolbar,.skill-cluster-header,.dice-roll-header,.check-item-header,.activity-item-header,.injury-header,.trait-header{flex-direction:column;align-items:flex-start}.hero-metrics,.sidebar-metric-grid,.form-grid.two-up,.form-grid.three-up,.inventory-list,.identity-grid,.point-grid,.currency-row,.workspace-grid.settings-grid{grid-template-columns:1fr}.dashboard-topbar-actions{justify-content:flex-start;width:100%}.account-menu-panel{width:100%;margin-top:10px;position:static}.attribute-row{grid-template-columns:1fr}.inventory-entry-row{flex-direction:column;align-items:stretch}.sheet-tab-controls{width:100%}.sheet-tab-button{flex:1 1 0}.inventory-entry-quantity{width:100%;min-width:0}.table-token{padding:8px 10px}}.marketplace-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.marketplace-content{grid-template-columns:1fr;gap:18px;display:grid}.marketplace-content.has-detail{grid-template-columns:1fr 420px}@media(max-width:900px){.marketplace-content.has-detail{grid-template-columns:1fr}}.marketplace-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.marketplace-card{border:1px solid var(--line);background:#0a101999;border-radius:12px;flex-direction:column;transition:border-color .16s,box-shadow .16s;display:flex;overflow:hidden}.marketplace-card:hover{border-color:#3e73ec4d}.marketplace-card.is-active{border-color:#3e73ec80;box-shadow:0 0 0 3px #3e73ec1a}.marketplace-card-body{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:4px;padding:14px;display:flex}.marketplace-card-thumb{object-fit:cover;border-radius:6px;width:100%;height:120px;margin-bottom:6px}.marketplace-card-title{color:#eef4fff0;font-size:.88rem;font-weight:700;line-height:1.3}.marketplace-card-meta{color:#eef4ff94;align-items:center;gap:6px;font-size:.76rem;display:flex}.marketplace-card-effect{color:#a9c4ff;font-size:.74rem;line-height:1.3}.marketplace-card-owner{color:#eef4ff61;margin-top:auto;padding-top:4px;font-size:.72rem}.marketplace-card-actions{border-top:1px solid var(--line);display:flex}.marketplace-card-action{color:#eef4ff94;cursor:pointer;background:0 0;border:none;flex:1;place-items:center;height:36px;font-size:.88rem;text-decoration:none;transition:background .12s,color .12s;display:grid}.marketplace-card-action:hover{color:#a9c4ff;background:#3e73ec1f}.marketplace-card-action+.marketplace-card-action{border-left:1px solid var(--line)}.tag-small{padding:1px 6px;font-size:.66rem}.marketplace-pagination{justify-content:center;align-items:center;gap:8px;padding:16px 0;display:flex}.marketplace-pagination button{border:1px solid var(--line);color:#eef4ffb8;cursor:pointer;background:#0a101999;border-radius:8px;min-width:36px;height:36px;padding:0 12px;font-size:.82rem;font-weight:600}.marketplace-pagination button:hover{color:#a9c4ff;border-color:#3e73ec4d}.marketplace-pagination button:disabled{opacity:.35;cursor:default}.marketplace-pagination span{color:#eef4ff85;font-size:.82rem}.marketplace-detail{align-self:start;max-height:calc(100vh - 36px);position:sticky;top:18px;overflow-y:auto}.marketplace-detail-body{flex-direction:column;gap:16px;padding-top:12px;display:flex}.marketplace-detail-meta{flex-wrap:wrap;gap:6px;display:flex}.marketplace-detail-section{flex-direction:column;gap:6px;display:flex}.marketplace-detail-heading{color:#eef4ff85;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.marketplace-detail-row{color:#eef4ffd1;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:.84rem;display:flex}.marketplace-stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.marketplace-stat-item{background:#ffffff0a;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.marketplace-stat-label{color:#eef4ff85;text-transform:uppercase;font-size:.72rem;font-weight:700}.marketplace-stat-value{color:#a9c4ff;font-size:1.1rem;font-weight:800}.marketplace-detail-trait{background:#ffffff08;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.marketplace-detail-trait strong{color:#eef4ffeb;font-size:.82rem}.marketplace-detail-trait span{color:#eef4ff94;font-size:.78rem;line-height:1.4}.marketplace-detail-copy{color:#eef4ffad;font-size:.84rem;line-height:1.5}.marketplace-detail-awakening{background:#3e73ec0f;border-left:3px solid #3e73ec4d;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.marketplace-detail-awakening strong{color:#eef4ffeb;font-size:.84rem}.marketplace-detail-actions{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:16px;display:flex}.marketplace-detail-footer{color:#eef4ff6b;margin-top:8px;font-size:.76rem}.marketplace-detail-preview{border:1px solid var(--line);border-radius:8px;width:100%}.field-hint{color:#eef4ff6b;margin-bottom:6px;font-size:.76rem;line-height:1.4}.assist-result-row{background:#ffffff08;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:.82rem;display:flex}.assist-result-label{color:#eef4ffd1;flex:1}.assist-result-effect{font-size:.84rem;font-weight:800}.assist-result-effect.is-positive{color:#84dcc6}.assist-result-effect.is-negative{color:#ef6461}.assist-result-detail{color:#eef4ff6b;font-size:.74rem}.assist-form-wrapper{margin-top:6px}.assist-inline-form{background:#ffffff08;border-radius:8px;flex-wrap:wrap;gap:6px;margin-top:6px;padding:10px;display:flex}.button-compact{min-height:32px;padding:4px 12px;font-size:.8rem}.check-result-destiny-row{align-items:center;gap:8px;padding:6px 0;display:flex}.destiny-label{color:#f2cc8f;font-size:.82rem;font-weight:700}.rules-page{max-width:960px;padding-bottom:48px}.rules-topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.rules-toc{padding:20px 24px}.rules-toc-grid{flex-wrap:wrap;gap:8px 14px;margin-top:10px;display:flex}.rules-toc-link{border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);padding:5px 14px;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.rules-toc-link:hover{background:var(--primary-soft);color:var(--primary)}.rules-section{scroll-margin-top:24px}.rules-subheading{font-family:var(--font-display);color:var(--text);margin:20px 0 8px;font-size:1.05rem;line-height:1.3}.rules-subheading-sm{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:16px 0 8px;font-size:.88rem;font-weight:600}.rules-detail-block{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.rules-ordered-list{color:var(--text);margin:10px 0 0;padding-left:22px;font-size:.92rem;line-height:1.7;list-style:decimal}.rules-ordered-list li{margin-bottom:6px}.rules-ordered-list li strong{color:var(--primary)}.rules-stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.rules-stat-grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.rules-stat-card{border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--line);padding:18px}.rules-stat-card-accent{border-left:3px solid var(--primary)}.rules-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin:0 0 4px;font-size:.74rem;font-weight:600}.rules-stat-abbr{font-family:var(--font-mono);color:var(--primary);margin:0 0 8px;font-size:1.4rem;font-weight:700}.rules-stat-desc{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.55}.rules-formula{font-family:var(--font-mono);color:var(--primary);white-space:nowrap;font-size:.92rem;font-weight:700}.rules-formula-block{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--line);font-family:var(--font-mono);color:var(--primary);letter-spacing:.02em;margin:10px 0;padding:12px 18px;font-size:.9rem;font-weight:600;display:block}.rules-note{border-radius:var(--radius-sm);background:var(--warning-soft);border-left:3px solid var(--warning);color:var(--text);margin:12px 0 0;padding:12px 16px;font-size:.88rem;line-height:1.55}.rules-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.rules-table{border-collapse:collapse;width:100%;font-size:.88rem}.rules-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);border-bottom:2px solid var(--line-strong);white-space:nowrap;padding:10px 14px;font-size:.74rem;font-weight:600}.rules-table td{border-bottom:1px solid var(--line);color:var(--text);padding:10px 14px;line-height:1.5}.rules-table tbody tr:last-child td{border-bottom:none}.rules-table-attr{white-space:nowrap;color:var(--primary);font-weight:600}.rules-skill-tag{background:var(--primary-soft);color:var(--primary);border-radius:6px;margin:3px 4px 3px 0;padding:3px 10px;font-size:.82rem;font-weight:500;display:inline-block}.rules-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}@media(max-width:640px){.rules-page{width:calc(100vw - 16px)}.rules-topbar-actions{flex-wrap:wrap}.rules-stat-grid,.rules-stat-grid-3{grid-template-columns:1fr}.rules-footer{text-align:center;flex-direction:column}.rules-toc-grid{flex-direction:column}}.cogent-attribution{border-top:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:12px;padding:16px;display:flex}.cogent-attribution-logo{opacity:.8;max-width:180px;height:auto}.cogent-attribution-text{color:#eef4ff6b;max-width:480px;font-size:.74rem;line-height:1.5}.cogent-attribution-text a{color:#a9c4ff99;text-decoration:underline}.cogent-site-footer{border-top:1px solid var(--line);margin-top:24px;padding:18px 24px}.cogent-site-footer-inner{text-align:center;justify-content:center;align-items:center;gap:12px;max-width:720px;margin:0 auto;display:flex}.cogent-site-footer-inner .cogent-attribution-logo{opacity:.6;flex-shrink:0;max-width:100px;height:auto}.cogent-site-footer p{color:#eef4ff5c;font-size:.72rem;line-height:1.5}.cogent-site-footer a{color:#a9c4ff80;text-decoration:none}.cogent-site-footer a:hover{color:#a9c4ffcc;text-decoration:underline}@media(max-width:640px){.cogent-site-footer-inner{flex-direction:column}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
