/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.sepia{--tw-sepia:sepia(100%);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,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--obsidian-1000:#030807;--obsidian-950:#06100f;--obsidian-900:#0a1816;--obsidian-850:#0d201d;--obsidian-800:#122925;--obsidian-700:#1d3a34;--teal-600:#2c6258;--teal-500:#397a6d;--teal-300:#75aa9d;--vellum-50:#fffdf7;--vellum-100:#faf5e9;--vellum-150:#f5eddd;--vellum-200:#ede1ca;--vellum-300:#dfceb0;--vellum-400:#cdb893;--ink-950:#111a18;--ink-900:#172420;--ink-800:#263831;--ink-700:#3f554c;--ink-600:#5e716a;--ink-500:#7d8b86;--copper-800:#7e3825;--copper-700:#99452c;--copper-600:#b55b38;--copper-500:#cc744a;--copper-300:#e2a17a;--copper-100:#f4dbcb;--arcane-700:#2d5d83;--arcane-600:#3f78a3;--arcane-500:#5795c3;--arcane-100:#dbeaf4;--gold-600:#9f772e;--gold-300:#d7b76f;--success-700:#28654c;--success-100:#d9eee4;--warning-700:#8e6420;--warning-100:#f4e7c7;--danger-700:#9a3e3b;--danger-100:#f4d9d6;--white:#fff;--line:#3a48412e;--line-dark:#e3cfa92e;--shadow-sm:0 1px 2px #040c0a17, 0 6px 20px #040c0a12;--shadow-md:0 18px 48px #030a0829;--shadow-lg:0 30px 90px #0208075c;--radius-sm:8px;--radius-md:13px;--radius-lg:20px;--radius-xl:28px;--serif:Georgia, "Times New Roman", serif}.view-assistant .studio-main{min-height:calc(100dvh - 294px);color:var(--vellum-100);background:var(--product-shell,var(--obsidian-950))}.ai-view{--ai-surface:#071714f0;--ai-surface-2:#0d201df0;--ai-surface-3:#122925e0;--ai-faint:#ffffff0e;--ai-hover:#ffffff16;--ai-line:#e3cfa92b;--ai-line-strong:#e2a17a57;--ai-text:var(--vellum-50);--ai-muted:#ffffff94;--ai-subtle:#fff6;--ai-field:#030c0abd;--ai-copper:var(--copper-300);min-height:calc(100dvh - 294px);color:var(--ai-text);background:radial-gradient(circle at 54% -20%,#397a6d29,#0000 44%),#02090857}.ai-view button{border:0}.ai-view :is(input,select,textarea){border-color:var(--ai-line);color:var(--ai-text);background:var(--ai-field)}.ai-view :is(input,select,textarea)::placeholder{color:var(--ai-subtle)}.ai-view :is(input,select,textarea):focus{border-color:var(--arcane-500);color:var(--ai-text);background:#04100df5}.ai-view select option{color:var(--vellum-50);background:var(--obsidian-900)}.ai-loading-state{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:calc(100dvh - 294px);display:grid}.ai-loading-state small{color:var(--ai-muted)}.ai-orb{width:58px;height:58px;color:var(--copper-300);background:radial-gradient(circle at 35% 30%,#e2a17a38,#0000 38%),#b55b381a;border:1px solid #e2a17a52;border-radius:50%;place-items:center;margin-bottom:4px;display:grid;box-shadow:0 0 42px #b55b3824}.ai-hero{border-bottom:1px solid var(--ai-line);background:linear-gradient(100deg,#04120fe0,#05191594),radial-gradient(circle at 25% 0,#b55b381f,#0000 46%);justify-content:space-between;align-items:center;gap:30px;min-height:154px;padding:28px clamp(24px,4vw,68px);display:flex}.ai-eyebrow{color:var(--ai-copper);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:8px;font-size:.74rem;font-weight:850;display:inline-flex}.ai-hero h1{color:var(--ai-text);font-family:var(--serif);letter-spacing:-.045em;margin-bottom:5px;font-size:clamp(2.2rem,4vw,4.2rem);font-weight:500;line-height:.98}.ai-hero p{max-width:760px;color:var(--ai-muted);margin:0;font-size:.96rem}.ai-character-context{border:1px solid var(--ai-line-strong);border-radius:var(--radius-lg);background:#091f1ac7;grid-template-columns:52px minmax(160px,1fr) auto;align-items:center;gap:12px;min-width:min(340px,100%);padding:10px 13px 10px 10px;display:grid;box-shadow:0 20px 50px #0000002e}.ai-character-context img{object-fit:cover;border:1px solid #e2a17a66;border-radius:14px;width:52px;height:52px}.ai-character-context>span{min-width:0;display:grid}.ai-character-context small,.ai-character-context b{color:var(--ai-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;overflow:hidden}.ai-character-context strong{color:var(--ai-text);font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;overflow:hidden}.ai-character-context>svg{color:var(--teal-300)}.ai-key-required,.ai-system-alert,.ai-feedback{z-index:3;border-radius:var(--radius-md);color:#f2dfb7;background:#5c401161;border:1px solid #d7b76f4d;align-items:center;gap:12px;margin:16px clamp(20px,4vw,68px) 0;padding:12px 14px;display:flex;position:relative}.ai-key-required>div{width:38px;height:38px;color:var(--gold-300);background:#d7b76f1a;border-radius:12px;place-items:center;display:grid}.ai-key-required>span{flex:1;display:grid}.ai-key-required small{color:#fff6dea8}.ai-key-required button,.ai-system-alert button{border-radius:var(--radius-sm);color:#fff6df;background:#d7b76f1a;border:1px solid #d7b76f52;align-items:center;gap:7px;min-height:38px;padding:0 13px;display:inline-flex}.ai-system-alert{color:var(--copper-100);background:#7e382547;border-color:#e2a17a40}.ai-feedback{color:#ffd7d3;background:#701e1c85;border-color:#f4d9d640}.ai-feedback span{flex:1}.ai-feedback button{width:30px;height:30px;color:inherit;background:#ffffff12;border-radius:50%;place-items:center;display:grid}.ai-feedback .ai-feedback-retry{border-radius:var(--radius-sm);align-items:center;gap:6px;width:auto;min-width:76px;padding:0 10px;font-weight:750;display:inline-flex}.ai-section-nav{border-bottom:1px solid var(--ai-line);background:#040f0de6;align-items:center;min-height:58px;padding:0 clamp(20px,4vw,68px);display:flex}.ai-section-nav>button{color:var(--ai-muted);background:0 0;align-self:stretch;align-items:center;gap:8px;padding:0 18px;display:inline-flex;position:relative}.ai-section-nav>button:hover,.ai-section-nav>button.active{color:var(--ai-text);background:var(--ai-faint)}.ai-section-nav>button.active:after{content:"";background:var(--copper-500);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:16px;right:16px}.ai-section-nav>button b{min-width:20px;height:20px;color:var(--ai-text);background:var(--ai-hover);border-radius:99px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;display:inline-flex}.ai-index-health{color:var(--ai-muted);align-items:center;gap:8px;margin-left:auto;font-size:.75rem;display:inline-flex}.ai-index-health>span{background:var(--danger-700);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #9a3e3b1f}.ai-index-health>span.ready{background:#63b58c;box-shadow:0 0 0 4px #63b58c1f}.ai-chat-layout{grid-template-columns:0 minmax(0,1fr);min-height:760px;transition:grid-template-columns .18s;display:grid}.ai-chat-layout.history-open{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}.ai-history{border-right:1px solid var(--ai-line);background:#04110ed1;overflow:hidden}.ai-chat-layout:not(.history-open) .ai-history{visibility:hidden}.ai-history>header{border-bottom:1px solid var(--ai-line);justify-content:space-between;align-items:center;min-width:250px;min-height:70px;padding:13px 15px;display:flex}.ai-history>header>span{display:grid}.ai-history>header small{color:var(--ai-muted)}.ai-history>header>button,.ai-history-actions button,.ai-history form button{border:1px solid var(--ai-line);width:34px;height:34px;color:var(--ai-muted);background:var(--ai-faint);border-radius:10px;place-items:center;display:grid}.ai-history-list{min-width:250px;max-height:690px;padding:10px;overflow-y:auto}.ai-history-list>article{border-radius:var(--radius-md);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:5px;display:grid;position:relative}.ai-history-list>article:hover,.ai-history-list>article.active{border-color:var(--ai-line);background:var(--ai-faint)}.ai-history-list>article.active{background:linear-gradient(90deg, #b55b381f, var(--ai-faint));border-color:#e2a17a3d}.ai-history-open{min-width:0;min-height:64px;color:var(--ai-text);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 7px 8px 11px;display:grid}.ai-history-open>span{min-width:0;display:grid}.ai-history-open strong,.ai-history-open small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-history-open small{color:var(--ai-muted)}.ai-history-actions{gap:3px;padding-right:5px;display:none}.ai-history-list article:hover .ai-history-actions,.ai-history-list article:focus-within .ai-history-actions{display:flex}.ai-history-actions button{border-radius:8px;width:28px;height:28px}.ai-history-list form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;padding:7px;display:grid}.ai-history-list form input{min-height:36px}.ai-history-list form button{width:36px;height:36px}.ai-history-confirm{grid-column:1/-1;grid-template-columns:1fr auto auto;align-items:center;gap:5px;padding:9px;font-size:.78rem;display:grid}.ai-history-confirm button{color:var(--ai-text);background:var(--ai-hover);border-radius:7px;padding:6px 8px}.ai-history-confirm button:first-of-type{color:#ffd8d3;background:#9a3e3b42}.ai-history-empty{color:var(--ai-muted);text-align:center;justify-items:center;gap:7px;padding:42px 16px;display:grid}.ai-history-empty button{color:var(--ai-text);background:var(--ai-faint);border-radius:8px;padding:7px 11px}.ai-conversation{background:linear-gradient(#030d0b94,#05120fd6),radial-gradient(circle at 50% 20%,#397a6d14,#0000 45%);grid-template-rows:auto auto minmax(440px,1fr) auto;min-width:0;display:grid}.ai-conversation-toolbar{border-bottom:1px solid var(--ai-line);background:#061512cc;align-items:center;gap:9px;min-height:70px;padding:10px clamp(13px,2vw,26px);display:flex}.ai-history-toggle,.ai-source-toggle{min-height:40px;color:var(--ai-muted);background:var(--ai-faint);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 11px;display:inline-flex;border:1px solid var(--ai-line)!important}.ai-source-toggle.active{color:var(--ai-text);background:#b55b381f;border-color:#e2a17a5c!important}.ai-source-toggle b{min-width:19px;height:19px;color:var(--ai-text);background:var(--ai-hover);border-radius:99px;place-items:center;padding:0 5px;font-size:.68rem;display:grid}.ai-mode-tabs{border:1px solid var(--ai-line);background:#020a0873;border-radius:11px;align-items:center;gap:3px;padding:3px;display:flex}.ai-mode-tabs button{min-height:32px;color:var(--ai-muted);background:0 0;border-radius:8px;padding:0 12px;font-size:.78rem;font-weight:750}.ai-mode-tabs button:hover,.ai-mode-tabs button.active{color:var(--ai-text);background:var(--ai-hover)}.ai-mode-tabs button.active{box-shadow:inset 0 -2px var(--copper-500)}.ai-model-select{border:1px solid var(--ai-line);color:var(--teal-300);background:var(--ai-faint);border-radius:11px;align-items:center;gap:4px;margin-left:auto;padding-left:10px;display:flex}.ai-model-select select{width:auto;min-height:38px;box-shadow:none;background:0 0;border:0;padding:0 28px 0 5px;font-size:.78rem}.ai-source-controls{border-bottom:1px solid var(--ai-line);background:#081c18eb;grid-template-columns:minmax(300px,.85fr) minmax(350px,1.15fr);gap:20px;padding:18px clamp(16px,3vw,36px);display:grid;box-shadow:0 18px 32px #0000001f}.ai-context-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.ai-context-options>strong{color:var(--ai-muted);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:.75rem}.ai-context-options>div{border:1px solid var(--ai-line);background:var(--ai-faint);border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:9px;display:grid}.ai-context-options>div.selected{border-color:var(--ai-line-strong);background:#b55b381a}.ai-context-options input{margin-top:2px}.ai-context-options>div>span{display:grid}.ai-context-options small{color:var(--ai-muted)}.ai-source-search form>label{color:var(--ai-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.75rem;font-weight:800;display:block}.ai-source-search form>div{border:1px solid var(--ai-line);background:var(--ai-field);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.ai-source-search form>div>svg{color:var(--ai-muted);margin-left:11px}.ai-source-search input{box-shadow:none;background:0 0;border:0}.ai-source-search form button{border-left:1px solid var(--ai-line);color:var(--ai-text);background:var(--ai-faint);border-radius:0 10px 10px 0;align-self:stretch;padding:0 13px}.ai-source-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:178px;margin-top:8px;display:grid;overflow-y:auto}.ai-source-empty{border:1px dashed var(--ai-line);color:var(--ai-muted);background:var(--ai-faint);border-radius:9px;align-items:center;gap:8px;margin-top:8px;padding:10px 11px;display:flex}.ai-source-results button{border:1px solid var(--ai-line);min-width:0;color:var(--ai-muted);text-align:left;background:var(--ai-faint);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.ai-source-results button.selected{color:var(--ai-text);background:#397a6d24;border-color:#75aa9d66}.ai-source-results button>span{min-width:0;display:grid}.ai-source-results strong,.ai-source-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-source-results small{color:var(--ai-muted)}.ai-message-scroll{min-height:440px;max-height:min(760px,100dvh - 280px);padding:clamp(24px,4vw,52px) max(22px,50% - 450px);scroll-padding-bottom:80px;overflow-y:auto}.ai-inline-loading{min-height:300px;color:var(--ai-muted);justify-content:center;align-items:center;gap:10px;display:flex}.ai-empty-state{max-width:720px;min-height:410px;color:var(--ai-muted);text-align:center;place-content:center;justify-items:center;margin:0 auto;display:grid}.ai-empty-state h2{color:var(--ai-text);font-family:var(--serif);margin:12px 0 5px;font-size:2rem;font-weight:500}.ai-empty-state p{max-width:570px}.ai-empty-state>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.ai-empty-state>div button{border:1px solid var(--ai-line);border-radius:var(--radius-md);min-height:84px;color:var(--ai-muted);text-align:left;background:var(--ai-faint);align-items:flex-start;gap:8px;padding:12px;display:flex}.ai-empty-state>div button:hover{border-color:var(--ai-line-strong);color:var(--ai-text);background:var(--ai-hover)}.ai-empty-state>div svg{color:var(--copper-300);flex:none}.ai-message{grid-template-columns:34px minmax(0,1fr);gap:11px;max-width:900px;margin:0 auto 23px;display:grid}.ai-message>span:first-child{border:1px solid var(--ai-line);width:32px;height:32px;color:var(--ai-muted);background:var(--ai-faint);border-radius:11px;place-items:center;display:grid}.ai-message-user>div{background:#b55b381c;border:1px solid #e2a17a38;border-radius:16px 16px 4px;justify-self:end;max-width:min(720px,92%);padding:12px 15px}.ai-message-user>div>small{color:var(--copper-300);margin-bottom:4px;font-weight:800;display:block}.ai-message-body{border:1px solid var(--ai-line);background:#0b1e1ac2;border-radius:4px 17px 17px;min-width:0;padding:15px 17px;box-shadow:0 18px 44px #0000001c}.ai-message-body>header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ai-message-body>header>strong{color:var(--ai-text)}.ai-message-body>header>small{color:var(--ai-subtle);margin-left:auto}.ai-authority{border:1px solid var(--ai-line);min-height:24px;color:var(--ai-muted);letter-spacing:.02em;border-radius:99px;align-items:center;gap:5px;padding:0 8px;font-size:.67rem;font-weight:800;display:inline-flex}.authority-rules-verified{color:#a7d7c9;background:#397a6d21;border-color:#75aa9d59}.authority-source-cited{color:#b9dbf1;background:#3f78a324;border-color:#5795c357}.authority-creative-homebrew{color:#edd49d;background:#9f772e24;border-color:#d7b76f57}.authority-unverified{color:#f1c3aa;background:#b55b381f;border-color:#e2a17a47}.ai-rich-text{color:#fffc;line-height:1.64}.ai-rich-text p,.ai-rich-text ul{margin:0 0 .76em}.ai-rich-text p:last-child,.ai-rich-text ul:last-child{margin-bottom:0}.ai-rich-text h3{color:var(--ai-text);font-family:var(--serif);margin:1.15em 0 .35em;font-size:1.12rem}.ai-rich-text code{border:1px solid var(--ai-line);color:#c8e0da;background:#0209088a;border-radius:5px;padding:2px 5px;font-size:.82em}.ai-thinking{min-height:34px;color:var(--ai-muted);align-items:center;gap:5px;display:flex}.ai-thinking i{background:var(--teal-300);border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite alternate ai-pulse}.ai-thinking i:nth-child(2){animation-delay:.18s}.ai-thinking i:nth-child(3){animation-delay:.36s}.ai-thinking span{margin-left:5px;font-size:.8rem}@keyframes ai-pulse{0%{opacity:.28;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}.ai-message-error,.ai-message-cancelled{color:#ffd1cc;background:#9a3e3b26;border-radius:9px;align-items:center;gap:7px;margin-top:10px;padding:9px 10px;font-size:.8rem;display:flex}.ai-message-cancelled{color:var(--ai-muted);background:var(--ai-faint)}.ai-message-error span{flex:1}.ai-message-error button{min-height:32px;color:inherit;background:#ffffff0f;border:1px solid #ffd1cc3d;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-weight:750;display:inline-flex}.ai-message-body>footer{border-top:1px solid var(--ai-line);color:var(--ai-subtle);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.ai-message-body>footer button{color:var(--ai-muted);background:0 0;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.ai-message-body>footer button:hover{color:var(--ai-text);background:var(--ai-faint)}.ai-tool-evidence,.ai-citations{border:1px solid var(--ai-line);border-radius:var(--radius-md);background:#020a0845;margin-top:14px}.ai-tool-evidence summary{min-height:50px;color:var(--teal-300);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 11px;list-style:none;display:grid}.ai-tool-evidence summary::-webkit-details-marker{display:none}.ai-tool-evidence summary>span{color:var(--ai-text);display:grid}.ai-tool-evidence summary small{color:var(--ai-muted)}.ai-tool-evidence[open] summary>svg:last-child{transform:rotate(180deg)}.ai-tool-evidence>div{border-top:1px solid var(--ai-line)}.ai-tool-evidence article{border-bottom:1px solid var(--ai-line);grid-template-columns:auto minmax(0,1fr);gap:9px;padding:9px 11px;display:grid}.ai-tool-evidence article:last-child{border-bottom:0}.tool-state{width:25px;height:25px;color:var(--ai-muted);background:var(--ai-faint);border-radius:8px;place-items:center;display:grid}.tool-state.complete{color:#8bc7b3}.tool-state.failed{color:#eeaaa3}.ai-tool-evidence article>span:last-child{display:grid}.ai-tool-evidence article small{color:var(--ai-muted)}.ai-citations>header{color:#aacee7;align-items:center;gap:8px;min-height:42px;padding:7px 10px;display:flex}.ai-citations>header span{min-width:20px;height:20px;color:var(--ai-text);background:var(--ai-hover);border-radius:50%;place-items:center;margin-left:auto;font-size:.68rem;display:grid}.ai-citations>div{border-top:1px solid var(--ai-line)}.ai-citations button{border-bottom:1px solid var(--ai-line);width:100%;color:var(--ai-text);text-align:left;background:0 0;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.ai-citations button:last-child{border-bottom:0}.ai-citations button:hover{background:var(--ai-faint)}.ai-citations button b{color:#aacee7;background:#3f78a321;border-radius:7px;place-items:center;width:24px;height:24px;font-size:.72rem;display:grid}.ai-citations button>span{min-width:0;display:grid}.ai-citations button small{color:var(--ai-muted)}.ai-message-artifacts{gap:6px;margin-top:13px;display:grid}.ai-message-artifacts>article{background:#9f772e1a;border:1px solid #d7b76f42;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.ai-message-artifacts>article>svg{color:var(--gold-300)}.ai-message-artifacts>article>span{display:grid}.ai-message-artifacts small{color:var(--ai-muted)}.ai-message-artifacts button{border:1px solid var(--ai-line);min-height:34px;color:var(--ai-text);background:var(--ai-faint);border-radius:8px;padding:0 10px}.ai-message-artifacts button.primary{background:var(--copper-700);border-color:#b55b3873}.ai-composer{z-index:3;border:1px solid var(--ai-line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#071814f7;border-radius:18px;width:min(940px,100% - 32px);margin:0 auto 18px;padding:9px;position:sticky;bottom:0;box-shadow:0 24px 70px #00000059}.ai-composer-context{align-items:center;gap:7px;padding:0 3px 7px;display:flex}.ai-composer-context span{color:var(--ai-muted);background:var(--ai-faint);border-radius:99px;align-items:center;gap:5px;padding:4px 7px;font-size:.68rem;display:inline-flex}.ai-composer-context span:first-child{color:#9dcdbd}.ai-composer textarea{min-height:76px;max-height:230px;box-shadow:none;background:0 0;border:0}.ai-composer-actions{justify-content:space-between;align-items:center;gap:10px;padding:4px 3px 0 9px;display:flex}.ai-composer-actions small{color:var(--ai-subtle)}.ai-send,.ai-stop{min-height:40px;color:var(--white);background:linear-gradient(135deg, var(--copper-500), var(--copper-700));border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-weight:800;display:inline-flex;box-shadow:0 8px 22px #b55b383d}.ai-stop{color:var(--copper-100);box-shadow:none;background:#7e382547;border:1px solid #e2a17a47}.ai-generator-layout{grid-template-columns:minmax(270px,340px) minmax(0,1fr);min-height:760px;display:grid}.ai-generator-layout>aside{border-right:1px solid var(--ai-line);background:#051310e0;padding:clamp(24px,3vw,42px)}.ai-generator-layout>aside h2,.ai-artifact-index h2{color:var(--ai-text);font-family:var(--serif);margin-bottom:6px;font-size:2rem;font-weight:500}.ai-generator-layout>aside>p,.ai-artifact-index header p{color:var(--ai-muted)}.ai-generator-layout>aside nav{gap:6px;margin-top:24px;display:grid}.ai-generator-layout>aside nav button{color:var(--ai-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.ai-generator-layout>aside nav button:hover,.ai-generator-layout>aside nav button.active{border-color:var(--ai-line);color:var(--ai-text);background:var(--ai-faint)}.ai-generator-layout>aside nav button.active{border-color:var(--ai-line-strong);background:linear-gradient(90deg, #b55b3821, var(--ai-faint))}.ai-generator-layout>aside nav button>svg:first-child{color:var(--teal-300)}.ai-generator-layout>aside nav button>span{display:grid}.ai-generator-layout>aside nav small{color:var(--ai-muted)}.ai-generator-workspace{background:radial-gradient(circle at 50% 0,#397a6d14,#0000 42%);padding:clamp(26px,4vw,64px)}.ai-generator-workspace>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;max-width:1040px;margin:0 auto 24px;display:grid}.ai-generator-workspace>header>span:first-child{border:1px solid var(--ai-line-strong);width:54px;height:54px;color:var(--copper-300);background:#b55b381c;border-radius:17px;place-items:center;display:grid}.ai-generator-workspace>header small,.ai-generator-workspace>header p{color:var(--ai-muted)}.ai-generator-workspace>header h2{color:var(--ai-text);font-family:var(--serif);margin:2px 0;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:500}.ai-generator-workspace>header p{margin:0}.ai-generator-workspace>header>label{gap:5px;display:grid}.ai-generator-workspace>header>label span{color:var(--ai-muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.ai-generator-workspace>form{border:1px solid var(--ai-line);border-radius:var(--radius-xl);background:#091c18c7;max-width:1040px;margin:0 auto;padding:clamp(20px,3vw,34px);box-shadow:0 30px 80px #0000002e}.ai-generator-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ai-generator-fields>label{gap:6px;display:grid}.ai-generator-fields>label.wide{grid-column:1/-1}.ai-generator-fields>label>span{color:var(--ai-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:800}.ai-generator-fields textarea{min-height:154px}.ai-generator-assurance,.ai-generator-progress{color:#9dcdbd;background:#397a6d17;border:1px solid #75aa9d3d;border-radius:12px;align-items:center;gap:11px;margin-top:18px;padding:12px;display:flex}.ai-generator-assurance>span,.ai-generator-progress>span{flex:1;display:grid}.ai-generator-assurance small,.ai-generator-progress small{color:var(--ai-muted)}.ai-generator-progress button{color:var(--copper-100);background:#b55b3829;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.ai-generate-button{width:100%;min-height:49px;color:var(--white);background:linear-gradient(135deg, var(--copper-500), var(--copper-700));border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:18px;font-weight:850;display:flex;box-shadow:0 14px 30px #b55b3838}.ai-portrait-handoff{grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:center;gap:24px;display:grid}.ai-portrait-handoff img{aspect-ratio:1;border:1px solid var(--ai-line-strong);border-radius:var(--radius-lg);object-fit:cover;width:100%}.ai-portrait-handoff strong{color:var(--ai-text);font-family:var(--serif);font-size:1.9rem}.ai-portrait-handoff p{color:var(--ai-muted)}.ai-artifact-layout{min-height:760px;position:relative}.ai-artifact-index{padding:clamp(26px,4vw,62px)}.ai-artifact-index>header{justify-content:space-between;align-items:end;gap:20px;max-width:1240px;margin:0 auto 22px;display:flex}.ai-artifact-index>header>div{max-width:760px}.ai-artifact-index>header p{margin-bottom:0}.ai-artifact-index>header>button{min-height:42px;color:var(--white);background:var(--copper-600);border-radius:10px;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.ai-artifact-filters{gap:5px;max-width:1240px;margin:0 auto 16px;padding-bottom:4px;display:flex;overflow-x:auto}.ai-artifact-filters button{border:1px solid var(--ai-line);min-height:36px;color:var(--ai-muted);background:var(--ai-faint);border-radius:9px;flex:none;padding:0 11px}.ai-artifact-filters button.active{border-color:var(--ai-line-strong);color:var(--ai-text);background:#b55b381f}.ai-artifact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1240px;margin:0 auto;display:grid}.ai-artifact-grid>button{border:1px solid var(--ai-line);border-radius:var(--radius-lg);min-height:178px;color:var(--ai-text);text-align:left;background:#091c18c7;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;padding:15px;display:grid;box-shadow:0 18px 46px #0000001a}.ai-artifact-grid>button:hover,.ai-artifact-grid>button.active{border-color:var(--ai-line-strong);transform:translateY(-2px);box-shadow:0 24px 54px #0000002e}.ai-artifact-grid>button>span:first-child{width:40px;height:40px;color:var(--copper-300);background:#b55b381c;border-radius:12px;place-items:center;display:grid}.ai-artifact-grid>button>div{min-width:0}.ai-artifact-grid small{color:var(--ai-muted)}.ai-artifact-grid strong{font-family:var(--serif);margin:3px 0;font-size:1.2rem;display:block}.ai-artifact-grid p{color:var(--ai-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:7px 0 13px;display:-webkit-box;overflow:hidden}.ai-artifact-grid footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-artifact-grid time{color:var(--ai-subtle);font-size:.68rem}.ai-validation-pill{color:#a7d7c9;background:#397a6d21;border-radius:99px;align-items:center;gap:5px;width:fit-content;min-height:24px;padding:0 7px;font-size:.68rem;font-weight:800;display:inline-flex}.ai-validation-pill.invalid{color:#efb1ab;background:#9a3e3b26}.ai-artifact-empty{max-width:1240px;min-height:390px;color:var(--ai-muted);text-align:center;place-items:center;margin:0 auto;display:grid}.ai-artifact-empty h3{color:var(--ai-text);margin:12px 0 3px}.ai-artifact-empty p{margin-bottom:12px}.ai-artifact-empty button{color:var(--ai-text);background:var(--ai-faint);border-radius:8px;padding:9px 12px}.ai-artifact-detail{z-index:100;border-left:1px solid var(--ai-line-strong);width:min(620px,100%);height:100dvh;color:var(--ai-text);background:#071713;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;top:0;right:0;box-shadow:-28px 0 80px #0000007a}.ai-artifact-detail>header{border-bottom:1px solid var(--ai-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:10px 14px;display:grid}.ai-artifact-detail>header button,.ai-citation-dialog>header button,.ai-change-dialog>header button{border:1px solid var(--ai-line);width:36px;height:36px;color:var(--ai-muted);background:var(--ai-faint);border-radius:10px;place-items:center;display:grid}.ai-artifact-detail>header>span{display:grid}.ai-artifact-detail>header small{color:var(--ai-muted)}.ai-artifact-detail-scroll{padding:20px;overflow-y:auto}.ai-artifact-validation{color:var(--ai-muted);text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.ai-artifact-detail-scroll>section{border:1px solid var(--ai-line);border-radius:var(--radius-md);background:var(--ai-faint);margin-bottom:16px;padding:16px}.ai-artifact-detail-scroll h3{color:var(--ai-text);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-size:.84rem}.ai-content-record,.ai-content-list{gap:9px;margin:0;display:grid}.ai-content-record>div{border-bottom:1px solid var(--ai-line);grid-template-columns:minmax(100px,.3fr) minmax(0,.7fr);gap:10px;padding-bottom:8px;display:grid}.ai-content-record>div:last-child{border-bottom:0;padding-bottom:0}.ai-content-record dt{color:var(--ai-muted);font-size:.76rem;font-weight:800}.ai-content-record dd{overflow-wrap:anywhere;min-width:0;margin:0}.ai-content-list>article{background:#ffffff09;border-radius:8px;padding:8px}.ai-artifact-issues,.ai-change-issues{gap:6px;display:grid}.ai-artifact-issues article,.ai-change-issues article{color:var(--ai-muted);background:var(--ai-faint);border-radius:9px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:9px;display:grid}.ai-artifact-issues article.error,.ai-change-issues article.error{color:#efb1ab;background:#9a3e3b1f}.ai-artifact-issues article.warning,.ai-change-issues article.warning{color:#e7cc92;background:#8e64201f}.ai-artifact-issues article>div,.ai-change-issues article>span{display:grid}.ai-artifact-issues small,.ai-change-issues small{color:var(--ai-subtle)}.ai-artifact-rename form{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.ai-artifact-rename button{color:var(--ai-text);background:var(--ai-hover);border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.ai-artifact-detail>footer{border-top:1px solid var(--ai-line);background:#040f0df0;justify-content:space-between;align-items:center;gap:9px;min-height:72px;padding:11px 14px;display:flex}.ai-artifact-detail>footer button,.ai-change-dialog>footer button{min-height:42px;color:var(--ai-text);background:var(--ai-faint);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 13px;display:inline-flex}.ai-artifact-detail>footer button.danger{color:#efb1ab}.ai-artifact-detail>footer button.primary,.ai-change-dialog>footer button.primary{color:var(--white);background:var(--copper-600)}.ai-modal-layer{z-index:130;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ai-modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#010706c2;width:100%;height:100%;position:absolute;inset:0}.ai-citation-dialog,.ai-change-dialog{border:1px solid var(--ai-line-strong);border-radius:var(--radius-xl);width:min(720px,100%);max-height:min(820px,100dvh - 40px);color:var(--ai-text);background:#091c18;position:relative;overflow-y:auto;box-shadow:0 40px 120px #0000009e}.ai-citation-dialog>header,.ai-change-dialog>header{border-bottom:1px solid var(--ai-line);justify-content:space-between;align-items:center;gap:10px;min-height:78px;padding:13px 16px;display:flex}.ai-citation-dialog>header>span,.ai-change-dialog>header>span{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:9px;display:grid}.ai-citation-dialog>header svg,.ai-change-dialog>header svg{color:var(--copper-300);grid-row:1/span 2}.ai-citation-dialog>header small,.ai-change-dialog>header small{color:var(--ai-muted)}.ai-citation-metadata{border-bottom:1px solid var(--ai-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ai-citation-metadata span{border-right:1px solid var(--ai-line);color:var(--ai-text);gap:2px;padding:12px;font-size:.8rem;display:grid}.ai-citation-metadata span:last-child{border-right:0}.ai-citation-metadata b{color:var(--ai-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.65rem}.ai-citation-dialog>h3{color:var(--ai-text);font-family:var(--serif);margin:22px 22px 5px}.ai-citation-dialog blockquote{border:1px solid var(--ai-line);border-left:4px solid var(--arcane-500);border-radius:0 var(--radius-md) var(--radius-md) 0;color:#fffc;background:var(--ai-faint);font-family:var(--serif);margin:18px 22px;padding:22px;font-size:1.08rem;line-height:1.62;position:relative}.ai-citation-provenance{color:#9dcdbd;background:#397a6d17;border-radius:11px;grid-template-columns:auto minmax(0,1fr);gap:9px;margin:0 22px 20px;padding:11px;display:grid}.ai-citation-provenance>span{display:grid}.ai-citation-provenance small{color:var(--ai-muted);overflow-wrap:anywhere}.ai-citation-dialog>footer{border-top:1px solid var(--ai-line);color:var(--ai-muted);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.ai-citation-dialog>footer button{color:var(--ai-text);background:var(--ai-faint);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.ai-change-dialog{width:min(780px,100%)}.ai-change-status{color:#9dcdbd;background:#397a6d17;border:1px solid #75aa9d40;border-radius:12px;align-items:center;gap:10px;margin:18px;padding:12px;display:flex}.ai-change-status.invalid{color:#efb1ab;background:#9a3e3b1a;border-color:#9a3e3b47}.ai-change-status>span{display:grid}.ai-change-status small{color:var(--ai-muted)}.ai-change-operations{gap:6px;margin:0 18px 18px;display:grid}.ai-change-operations article{border:1px solid var(--ai-line);background:var(--ai-faint);border-radius:9px;grid-template-columns:70px minmax(140px,.5fr) minmax(180px,1fr);align-items:center;gap:9px;padding:10px;display:grid}.ai-change-operations b{color:var(--copper-100);text-align:center;text-transform:uppercase;background:#b55b3824;border-radius:6px;padding:3px 6px;font-size:.68rem}.ai-change-operations code{color:#add0c6;overflow-wrap:anywhere}.ai-change-operations span{color:var(--ai-muted);overflow-wrap:anywhere}.ai-change-issues{margin:0 18px 18px}.ai-change-dialog>footer{border-top:1px solid var(--ai-line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.ai-undo-toast{z-index:145;border-radius:var(--radius-md);color:#9dcdbd;background:#0b2922;border:1px solid #75aa9d57;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(430px,100% - 44px);padding:12px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 24px 60px #0000005c}.ai-undo-toast>span{display:grid}.ai-undo-toast small{color:#ffffff94}.ai-undo-toast button{color:var(--ai-text);background:var(--ai-faint);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.ai-change-recovery{z-index:146;border-radius:var(--radius-md);color:#f4d6a3;background:#2c2112;border:1px solid #dca74d6b;grid-template-columns:auto minmax(0,1fr);gap:10px;width:min(600px,100% - 44px);padding:13px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 24px 70px #0000007a}.ai-change-recovery>span{background:#dca74d1f;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.ai-change-recovery>div:nth-child(2){gap:2px;display:grid}.ai-change-recovery small{color:#ffffffad;line-height:1.4}.ai-change-recovery code{color:#ffffff7a;font-size:.67rem}.ai-change-recovery>div:last-child{flex-wrap:wrap;grid-column:2;gap:7px;display:flex}.ai-change-recovery button{min-height:38px;color:var(--white);background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-weight:750;display:inline-flex}.ai-change-recovery button.danger{color:#f3b3ad}.theme-light .ai-change-recovery{color:var(--warning-800);box-shadow:var(--shadow-xl);background:#fff7e6}.theme-light .ai-change-recovery small{color:var(--ink-600)}.theme-light .ai-change-recovery code{color:var(--ink-500)}.theme-light .ai-change-recovery button{color:var(--ink-800);border-color:var(--line);background:#fffdf7c2}.theme-light .ai-change-recovery button.danger{color:var(--danger-700)}.theme-light .ai-view{--ai-surface:#fffdf7f0;--ai-surface-2:#f5edddf5;--ai-surface-3:#ede1caeb;--ai-faint:#2a443b0e;--ai-hover:#2a443b17;--ai-line:#3a48412b;--ai-line-strong:#b55b3857;--ai-text:var(--ink-950);--ai-muted:var(--ink-600);--ai-subtle:var(--ink-500);--ai-field:#fffdf7db;--ai-copper:var(--copper-700);color:var(--ink-900);background:#faf5e9b3}.theme-light .ai-view :is(input,select,textarea){color:var(--ink-950);background:var(--ai-field)}.theme-light .ai-view :is(input,select,textarea):focus,.theme-light .ai-view select option{color:var(--ink-950);background:var(--vellum-50)}.theme-light :is(.ai-hero,.ai-section-nav,.ai-history,.ai-conversation-toolbar,.ai-conversation,.ai-generator-layout>aside){color:var(--ink-900);background:#f5eddde6}.theme-light .ai-hero{background:linear-gradient(100deg,#f5edddf5,#fffdf7e0),radial-gradient(circle at 25% 0,#b55b3814,#0000 46%)}.theme-light .ai-character-context,.theme-light .ai-message-body,.theme-light .ai-composer,.theme-light .ai-generator-workspace>form,.theme-light .ai-artifact-grid>button{color:var(--ink-900);box-shadow:var(--shadow-md);background:#fffdf7e6}.theme-light .ai-conversation{background:linear-gradient(#faf5e9b3,#f5eddddb),radial-gradient(circle at 50% 20%,#397a6d0d,#0000 45%)}.theme-light .ai-character-context strong,.theme-light .ai-character-context small,.theme-light .ai-character-context b,.theme-light .ai-rich-text,.theme-light .ai-citation-dialog blockquote{color:var(--ink-800)}.theme-light .ai-rich-text code{color:var(--success-700);background:#28654c0f}.theme-light .ai-message-user>div{color:var(--ink-900);background:#f4dbcb8a}.theme-light .ai-source-controls{background:#ede1caf0}.theme-light .ai-artifact-detail,.theme-light .ai-citation-dialog,.theme-light .ai-change-dialog{color:var(--ink-900);background:var(--vellum-50)}.theme-light .ai-artifact-detail>footer{background:#f5edddf2}.theme-light .ai-citation-dialog blockquote{background:#3f78a30f}@media (max-width:1280px){.global-header{grid-template-columns:auto minmax(440px,1fr) auto}.global-search{display:none}.ai-artifact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.ai-hero{flex-direction:column;align-items:flex-start}.ai-character-context{width:100%}.ai-chat-layout.history-open{grid-template-columns:minmax(220px,270px) minmax(0,1fr)}.ai-source-controls,.ai-generator-layout{grid-template-columns:1fr}.ai-generator-layout>aside{border-right:0;border-bottom:1px solid var(--ai-line)}.ai-generator-layout>aside nav{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-generator-layout>aside nav button{grid-template-columns:auto minmax(0,1fr)}.ai-generator-layout>aside nav button>svg:last-child{display:none}}@media (max-width:760px){.view-assistant .character-masthead,.view-assistant .character-stats{display:none}.view-assistant .studio-main,.ai-view{min-height:calc(100dvh - 70px)}.ai-hero{min-height:0;padding:22px 16px}.ai-hero h1{font-size:2.45rem}.ai-key-required,.ai-system-alert,.ai-feedback{flex-wrap:wrap;align-items:flex-start;margin:10px 10px 0}.ai-key-required>span{min-width:calc(100% - 60px)}.ai-key-required button{width:100%}.ai-section-nav{padding:0 6px;overflow-x:auto}.ai-section-nav>button{flex:none;padding:0 11px}.ai-index-health{display:none}.ai-chat-layout,.ai-chat-layout.history-open{display:block}.ai-history{z-index:110;visibility:hidden;width:min(320px,88vw);transition:transform .18s,visibility .18s;position:fixed;top:70px;bottom:0;left:0;transform:translate(-105%)}.ai-chat-layout.history-open .ai-history{visibility:visible;transform:translate(0);box-shadow:22px 0 60px #00000073}.ai-conversation-toolbar{flex-wrap:wrap;padding:8px 10px}.ai-mode-tabs{order:2;width:100%}.ai-mode-tabs button{flex:1}.ai-model-select{margin-left:auto}.ai-source-toggle{font-size:0}.ai-source-toggle b{font-size:.68rem}.ai-context-options,.ai-source-results{grid-template-columns:1fr}.ai-message-scroll{min-height:calc(100dvh - 330px);max-height:none;padding:20px 11px}.ai-empty-state>div{grid-template-columns:1fr}.ai-empty-state>div button{min-height:56px}.ai-message{grid-template-columns:27px minmax(0,1fr);gap:7px}.ai-message>span:first-child{border-radius:8px;width:27px;height:27px}.ai-message-user>div{max-width:98%}.ai-message-body{padding:12px}.ai-message-artifacts>article{grid-template-columns:auto minmax(0,1fr)}.ai-message-artifacts button{grid-column:auto}.ai-composer{border-radius:14px;width:calc(100% - 14px);margin-bottom:7px}.ai-composer-context span:nth-child(n+2),.ai-composer-actions small{display:none}.ai-composer-actions{justify-content:flex-end}.ai-generator-layout>aside{padding:20px 14px}.ai-generator-layout>aside nav{grid-template-columns:1fr 1fr}.ai-generator-layout>aside nav small{display:none}.ai-generator-workspace{padding:22px 12px}.ai-generator-workspace>header{grid-template-columns:auto minmax(0,1fr)}.ai-generator-workspace>header>label{grid-column:1/-1}.ai-generator-fields{grid-template-columns:1fr}.ai-generator-fields>label.wide{grid-column:auto}.ai-portrait-handoff{grid-template-columns:1fr}.ai-portrait-handoff img{max-width:240px}.ai-artifact-index{padding:24px 12px}.ai-artifact-index>header{flex-direction:column;align-items:flex-start}.ai-artifact-grid{grid-template-columns:1fr}.ai-artifact-grid>button{min-height:0}.ai-artifact-detail{height:calc(100dvh - 70px);top:70px}.ai-artifact-detail>footer{flex-direction:column-reverse;align-items:stretch}.ai-artifact-detail>footer button{width:100%}.ai-modal-layer{padding:8px}.ai-citation-dialog,.ai-change-dialog{border-radius:var(--radius-lg);max-height:calc(100dvh - 16px)}.ai-citation-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-citation-metadata span:nth-child(2){border-right:0}.ai-citation-metadata span:nth-child(-n+2){border-bottom:1px solid var(--ai-line)}.ai-change-operations article{grid-template-columns:64px minmax(0,1fr)}.ai-change-operations article span{grid-column:1/-1}.ai-change-dialog>footer{flex-direction:column-reverse;align-items:stretch}.ai-change-dialog>footer button{width:100%}.ai-undo-toast{width:calc(100% - 16px);bottom:8px;right:8px}}@media (max-width:420px){.ai-section-nav>button{font-size:.76rem}.ai-generator-layout>aside nav{grid-template-columns:1fr}.ai-message-artifacts>article{grid-template-columns:auto minmax(0,1fr)}.ai-message-artifacts button{grid-column:1/-1;width:100%}.ai-citation-dialog blockquote{margin:14px;padding:15px}.ai-citation-provenance{margin-inline:14px}.ai-undo-toast{grid-template-columns:auto minmax(0,1fr)}.ai-undo-toast button{grid-column:1/-1;justify-content:center}}@media (prefers-reduced-motion:reduce){.ai-thinking i{animation:none}.ai-chat-layout,.ai-history,.ai-artifact-grid>button{transition:none}}@media (forced-colors:active){.ai-view :is(button,input,select,textarea,article,section,aside,details),.ai-composer,.ai-citation-dialog,.ai-change-dialog{border:1px solid canvastext}.ai-mode-tabs button.active,.ai-section-nav>button.active{outline-offset:-3px;outline:3px solid highlight}}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink-950);background:var(--obsidian-950);font-family:var(--font-geist-sans), Inter, ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.45}body::selection{color:var(--white);background:var(--copper-600)}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.48}button,a,input,select,textarea,summary{outline:none}:is(button,a,input,select,textarea,summary):focus-visible{outline-offset:2px;outline:3px solid #5795c37a}input,select,textarea{border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--ink-950);background:#fffdf7e0;border:1px solid #35494140;transition:border-color .16s,box-shadow .16s,background .16s}input,select{padding:0 12px}textarea{resize:vertical;min-height:92px;padding:11px 12px}:is(input,select,textarea):hover{border-color:#2d5d837a}:is(input,select,textarea):focus{border-color:var(--arcane-600);background:var(--vellum-50);box-shadow:0 0 0 3px #5795c321}input[type=checkbox],input[type=radio]{width:17px;min-height:17px;accent-color:var(--copper-600)}input[type=range]{min-height:24px;accent-color:var(--copper-600);box-shadow:none;background:0 0;border:0;padding:0}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}small{font-size:.75rem;line-height:1.35}code,kbd{font-family:var(--font-geist-mono), ui-monospace, monospace}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#3d5b5066 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:200;border-radius:var(--radius-sm);color:var(--white);background:var(--arcane-700);padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.studio-shell{isolation:isolate;background:linear-gradient(180deg, #030a0929 0, #030a09c7 720px), linear-gradient(90deg, #020908cc, #0a1f1c1f 50%, #020908d1), url(/art/archive-bg.webp) center top / cover fixed no-repeat, var(--obsidian-950);min-height:100vh;position:relative}.studio-shell:before{z-index:-1;pointer-events:none;content:"";background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 4px),radial-gradient(circle at 50% 8%,#0000 0 24%,#01070633 68%,#01070699 100%);position:fixed;inset:0}.global-header{z-index:80;color:#ffffffdb;-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#040e0ced;border-bottom:1px solid #e2a17a45;grid-template-columns:auto minmax(350px,.7fr) minmax(250px,1fr) auto;align-items:center;min-height:70px;padding:0 24px;display:grid;position:sticky;top:0;box-shadow:0 12px 35px #0003}.global-header:after{content:"";background:linear-gradient(90deg, transparent, var(--copper-500), transparent);opacity:.58;height:1px;position:absolute;bottom:-1px;left:0;right:0}.mobile-menu{border:1px solid var(--line-dark);border-radius:var(--radius-sm);width:42px;height:42px;color:var(--vellum-100);background:#ffffff0a;place-items:center;display:none}.vellum-brand{min-width:220px;color:var(--vellum-50);text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.vellum-brand>span:last-child{flex-direction:column;display:flex}.vellum-brand strong{font-family:var(--serif);letter-spacing:.04em;font-size:1.28rem;font-weight:600}.vellum-brand small{color:var(--teal-300);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.vellum-sigil{width:42px;height:42px;color:var(--copper-300);background:radial-gradient(circle,#b55b383d,#0000 70%),#ffffff06;border:1px solid #e2a17a80;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 4px #ffffff06}.product-nav{justify-content:center;align-self:stretch;display:flex}.product-nav button{color:#ffffff94;background:0 0;border:0;align-items:center;gap:7px;padding:0 14px;transition:color .16s,background .16s;display:flex;position:relative}.product-nav button:hover,.product-nav button.active{color:var(--vellum-50);background:#ffffff09}.product-nav button.active:after{content:"";background:var(--copper-500);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:13px;right:13px;box-shadow:0 0 18px #cc744a99}.global-search{min-width:0;max-width:620px;height:42px;color:var(--teal-300);background:#ffffff0e;border:1px solid #e3cfa933;border-radius:999px;justify-self:center;align-items:center;gap:9px;padding:0 10px 0 13px;transition:border-color .16s,background .16s;display:flex}.global-search:focus-within{background:#ffffff14;border-color:#5795c3b3}.global-search input{min-width:80px;min-height:38px;color:var(--vellum-50);box-shadow:none;background:0 0;border:0;padding:0}.global-search input::placeholder{color:#ffffff70}.global-search kbd{color:#ffffff8c;white-space:nowrap;background:#0003;border:1px solid #ffffff29;border-radius:5px;padding:3px 7px}.header-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.header-actions>.icon-button{color:var(--vellum-200);background:#ffffff0a;border-color:#ffffff1f}.icon-button{width:39px;height:39px;color:var(--ink-700);background:#fffdf794;border:1px solid #31483f2e;border-radius:50%;flex:none;place-items:center;padding:0;transition:color .15s,border-color .15s,background .15s,transform .15s;display:inline-grid}.icon-button:hover:not(:disabled){color:var(--copper-700);background:var(--vellum-50);border-color:#b55b3873;transform:translateY(-1px)}.save-indicator{color:#ffffff8c;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:35px;padding:0 9px;display:flex}.save-saved{color:#9ac8b8}.save-saving,.save-opening{color:#a8cce8}.save-offline{color:#e3c47d}.save-error{color:#efa29c}.character-switcher{max-width:250px;min-height:46px;color:var(--vellum-100);text-align:left;background:#ffffff0b;border:1px solid #ffffff1c;border-radius:999px;align-items:center;gap:9px;padding:5px 8px 5px 5px;display:flex}.character-switcher:hover{background:#ffffff13;border-color:#e2a17a59}.character-switcher img{object-fit:cover;border:1px solid #e2a17a7a;border-radius:50%;width:34px;height:34px}.character-switcher>span{flex-direction:column;flex:1;min-width:0;display:flex}.character-switcher strong,.character-switcher small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.character-switcher strong{font-size:.82rem}.character-switcher small{color:#ffffff7a}.character-masthead{z-index:2;min-height:112px;color:var(--vellum-100);background:radial-gradient(circle at 22%,#397a6d38,#0000 32%),linear-gradient(90deg,#071613fa,#0c221ef0 54%,#061210fa);grid-template-columns:auto minmax(260px,1fr) auto auto;align-items:center;gap:22px;padding:16px max(24px,50vw - 840px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -1px #e3cfa924}.character-masthead:after{content:"";border:1px solid #e2a17a14;border-radius:50%;width:360px;height:160px;position:absolute;bottom:-52px;right:4%;transform:rotate(-12deg);box-shadow:0 0 0 24px #e2a17a06,0 0 0 52px #e2a17a04}.masthead-portrait{background:var(--obsidian-800);border:2px solid #e2a17aa6;border-radius:18px 18px 18px 5px;width:80px;height:80px;padding:0;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000059}.masthead-portrait img{object-fit:cover;width:100%;height:100%}.masthead-portrait>span{color:var(--white);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030a09bd;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:4px;font-size:.75rem;display:flex;position:absolute;bottom:4px;left:4px;right:4px}.masthead-identity{min-width:0}.masthead-kicker,.panel-eyebrow{color:var(--copper-600);letter-spacing:.115em;text-transform:uppercase;font-size:.75rem;font-weight:750;line-height:1.25;display:block}.masthead-kicker{color:var(--copper-300)}.masthead-identity h2{color:var(--vellum-50);font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 4px;font-size:clamp(1.65rem,2.25vw,2.35rem);font-weight:500;line-height:1.05;overflow:hidden}.masthead-identity p{color:#ffffff96;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.masthead-meta{border-right:1px solid var(--line-dark);border-left:1px solid var(--line-dark);align-items:stretch;display:flex}.masthead-meta span{min-width:72px;color:var(--vellum-100);font-family:var(--serif);flex-direction:column;padding:5px 16px;font-size:1rem;display:flex}.masthead-meta b{color:var(--teal-300);font-family:var(--font-geist-sans), sans-serif;letter-spacing:.075em;text-transform:uppercase;margin-bottom:3px;font-size:.75rem;font-weight:700}.masthead-actions{z-index:1;align-items:center;gap:7px;display:flex;position:relative}.masthead-actions button,.quick-actions button,.play-heading>button,.round-controls button{color:#ffffffc2;background:#ffffff0b;border:1px solid #e3cfa92e;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;display:inline-flex}.masthead-actions button:hover{color:var(--vellum-50);background:#ffffff14;border-color:#e2a17a7a}.masthead-actions button.has-condition{color:#ffc5bd;background:#9a3e3b2e;border-color:#efa29c8f}.combat-ribbon{z-index:3;min-height:84px;color:var(--vellum-100);background:#040d0bf0;border-bottom:1px solid #e2a17a3d;grid-template-columns:minmax(max(178px,50vw - 662px),1.3fr) repeat(8,minmax(88px,1fr));display:grid;position:relative;overflow-x:auto;box-shadow:0 16px 36px #0107053d}.hp-ribbon,.stat-medallion{min-width:88px;max-width:100%;color:var(--vellum-100);background:0 0;border:0;border-right:1px solid #e3cfa91c;flex-direction:column;justify-content:center;align-items:center;padding:11px 10px;transition:background .15s,color .15s;display:flex;position:relative}.hp-ribbon:hover,button.stat-medallion:hover{background:#5795c314}.hp-ribbon{background:linear-gradient(90deg,#b55b3833,#0000),0 0;align-items:flex-start;padding-left:max(24px,50vw - 840px)}.hp-ribbon>span,.stat-medallion>span{color:var(--teal-300);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:750}.hp-ribbon strong{color:var(--white);font-family:var(--serif);font-size:1.75rem;font-weight:500;line-height:1}.hp-ribbon strong i{color:#ffffff52;margin:0 4px;font-size:1rem;font-style:normal}.hp-ribbon small,.stat-medallion small{color:#ffffff75}.stat-medallion strong{color:var(--vellum-50);font-family:var(--serif);font-size:1.45rem;font-weight:500;line-height:1.1}.stat-medallion-icon{color:#e2a17a73;position:absolute;top:10px;right:10px}.studio-main{z-index:1;min-height:calc(100vh - 266px);position:relative}.view-builder .studio-main,.view-play .studio-main,.view-library .studio-main,.view-assistant .studio-main{background:linear-gradient(90deg, #faf5e9fb, #fffdf7f7 52%, #f4edddfa), var(--vellum-100)}.panel-title{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:25px;display:flex}.panel-title>div:first-child{min-width:0}.panel-title h1{color:var(--ink-950);font-family:var(--serif);letter-spacing:-.025em;margin:5px 0 8px;font-size:clamp(1.85rem,3vw,3rem);font-weight:500;line-height:1.04}.panel-title p{max-width:780px;color:var(--ink-600);margin:0;font-size:.95rem}.panel-title-action{flex:none;align-items:center;gap:8px;display:flex}.source-pill,.tag{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;width:fit-content;min-height:25px;padding:3px 8px;font-size:.75rem;font-weight:700;line-height:1.1;display:inline-flex}.source-pill{color:var(--arcane-700);background:#dbeaf494;border:1px solid #2d5d832e}.tag{color:var(--ink-700);background:#fff9;border:1px solid #3f554c21}.tag-neutral{color:var(--ink-600);background:#5e716a1a}.tag-good{color:var(--success-700);background:var(--success-100);border-color:#28654c24}.tag-warn{color:var(--warning-700);background:var(--warning-100);border-color:#8e642026}.tag-danger{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b26}.tag-blue{color:var(--arcane-700);background:var(--arcane-100);border-color:#2d5d8326}.compact-action,.primary-compact,.dual-actions button,.subsection-heading button,.builder-footer>button,.play-now,.export-panel button,.roster-dialog-actions button{border-radius:var(--radius-sm);min-height:40px;color:var(--ink-800);background:#fffdf7b3;border:1px solid #3f554c33;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:680;transition:color .15s,border-color .15s,background .15s,transform .15s;display:inline-flex}:is(.compact-action,.primary-compact,.dual-actions button,.subsection-heading button,.builder-footer>button,.play-now,.export-panel button,.roster-dialog-actions button):hover:not(:disabled){color:var(--copper-800);background:var(--vellum-50);border-color:#b55b387a;transform:translateY(-1px)}.primary,.primary-compact,.play-now,.select-entity,.apply-hp{box-shadow:0 8px 20px #7e38252e;border-color:var(--copper-700)!important;color:var(--white)!important;background:linear-gradient(180deg, var(--copper-500), var(--copper-700))!important}.primary:hover,.primary-compact:hover,.play-now:hover,.select-entity:hover,.apply-hp:hover{background:linear-gradient(180deg, #d37c50, var(--copper-700))!important}.studio-field{flex-direction:column;gap:6px;min-width:0;display:flex}.studio-field>span,.control-label,.portrait-controls>label>span,.notes-editor label>span{color:var(--ink-700);letter-spacing:.045em;text-transform:uppercase;font-size:.75rem;font-weight:760}.studio-field small{color:var(--ink-500)}.field-wide{grid-column:1/-1}.studio-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.builder-layout{grid-template-columns:286px minmax(0,1fr);max-width:1680px;min-height:calc(100vh - 266px);margin:0 auto;display:grid;position:relative}.builder-rail{background:linear-gradient(#ede1cabd,#f5edddcc),#f4eddde6;border-right:1px solid #3a484129;padding:25px 16px 130px 20px;position:relative}.builder-rail-heading{justify-content:space-between;align-items:center;gap:8px;margin:0 6px 14px 21px;display:flex}.builder-rail-heading span{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:750}.builder-rail-heading strong{color:var(--success-700);font-size:.75rem}.builder-progress-track{background:#3f554c24;border-radius:2px;width:2px;position:absolute;top:64px;bottom:128px;left:29px}.builder-progress-track span{border-radius:inherit;background:linear-gradient(var(--copper-500), var(--arcane-600));width:100%;max-height:100%;transition:height .26s;display:block;box-shadow:0 0 8px #b55b3847}.builder-rail nav{display:grid}.builder-rail nav>button{border-radius:var(--radius-sm);width:100%;min-height:55px;color:var(--ink-600);text-align:left;background:0 0;border:0;grid-template-columns:27px 20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 8px 8px 0;display:grid;position:relative}.builder-rail nav>button:hover{color:var(--ink-950);background:#fffdf794}.builder-rail nav>button.active{color:var(--ink-950);background:var(--vellum-50);box-shadow:var(--shadow-sm)}.builder-rail nav>button.active:before{content:"";background:var(--copper-600);border-radius:4px;width:3px;position:absolute;top:9px;bottom:9px;left:-4px}.builder-rail nav>button>span:nth-of-type(2){flex-direction:column;min-width:0;display:flex}.builder-rail nav>button strong,.builder-rail nav>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.builder-rail nav>button strong{color:inherit;font-size:.85rem}.builder-rail nav>button small{color:var(--ink-500)}.builder-rail nav>button>svg{color:var(--teal-600)}.builder-rail nav>button>b{min-width:22px;height:22px;color:var(--white);background:var(--danger-700);border-radius:50%;place-items:center;font-size:.75rem;display:grid}.step-index{z-index:1;width:21px;height:21px;color:var(--ink-500);font-variant-numeric:tabular-nums;background:var(--vellum-150);border:1px solid #3f554c3d;border-radius:50%;place-items:center;font-size:.75rem;display:grid;position:relative}.builder-rail nav>button.active .step-index{border-color:var(--copper-600);color:var(--white);background:var(--copper-600)}.step-check{color:var(--success-700)!important}.build-integrity{border-radius:var(--radius-md);color:var(--success-700);background:#d9eee49e;border:1px solid #28654c2e;gap:9px;padding:12px;display:flex;position:absolute;bottom:24px;left:20px;right:16px}.build-integrity>div{flex-direction:column;min-width:0;display:flex}.build-integrity strong{font-size:.8rem}.build-integrity span{color:var(--ink-600);font-size:.75rem}.builder-workspace{min-width:0;padding:34px clamp(24px,4.5vw,74px) 105px}.step-surface{width:100%;max-width:1120px;margin:0 auto;animation:.26s both surface-in}@keyframes surface-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.builder-footer{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#faf5e9e6;border-top:1px solid #3a484124;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:75px;padding:12px clamp(24px,4.5vw,74px);display:grid;position:absolute;bottom:0;left:286px;right:0;box-shadow:0 -12px 32px #0f1b170d}.builder-footer>div{color:var(--ink-500);flex-direction:column;align-items:center;gap:6px;font-size:.75rem;display:flex}.footer-dots{gap:4px;display:flex}.footer-dots i{background:#3f554c33;border-radius:50%;width:5px;height:5px}.footer-dots i.active{background:var(--copper-600);border-radius:999px;width:16px}.floating-dice{z-index:72;width:58px;height:58px;color:var(--vellum-50);background:radial-gradient(circle at 35% 25%, #ffffff1f, transparent 38%), linear-gradient(145deg, var(--copper-500), var(--copper-800));border:1px solid #e2a17aa6;border-radius:18px 18px 18px 5px;place-items:center;transition:transform .16s,box-shadow .16s;display:grid;position:fixed;bottom:23px;right:23px;box-shadow:0 16px 40px #240d0766}.floating-dice:hover{transform:translateY(-3px)rotate(-2deg);box-shadow:0 21px 48px #240d0775}.floating-dice>span{border:2px solid var(--obsidian-900);min-width:24px;height:24px;color:var(--obsidian-950);background:var(--gold-300);border-radius:999px;place-items:center;padding:0 5px;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:-7px;right:-7px}.rules-lens-open{z-index:55;min-height:42px;color:var(--vellum-100);box-shadow:var(--shadow-md);background:#081b17f2;border:1px solid #e2a17a57;border-right:0;border-radius:10px 0 0 10px;align-items:center;gap:7px;padding:0 13px;display:flex;position:fixed;top:294px;right:0}.roll-toast{z-index:94;border-radius:var(--radius-md);min-width:190px;color:var(--vellum-100);text-align:left;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#061512f2;border:1px solid #e2a17a59;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;padding:12px 14px;animation:.22s both toast-in;display:grid;position:fixed;bottom:24px;right:92px}.roll-toast>span{color:var(--teal-300);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700;overflow:hidden}.roll-toast>strong{color:var(--white);font-family:var(--serif);grid-area:1/2/3;align-self:center;font-size:1.9rem}.roll-toast>small{color:#ffffff7a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roll-success{border-color:#75aa9da6}.roll-failure{border-color:#efa29ca6}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.identity-editor{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:radial-gradient(circle at 12% 20%,#b55b3817,#0000 32%),#fffdf7a6;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,52px);padding:clamp(18px,3vw,30px);display:grid}.portrait-editor{aspect-ratio:4/5;background:var(--obsidian-900);border:1px solid #7e382561;border-radius:72px 72px 18px 18px;width:100%;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 22px 45px #111a1833}.portrait-editor:after{pointer-events:none;content:"";border:1px solid #ffffff5c;border-radius:64px 64px 13px 13px;position:absolute;inset:9px}.portrait-editor img{object-fit:cover;width:100%;height:100%;transition:transform .28s}.portrait-editor:hover img{transform:scale(1.025)}.portrait-editor>span{z-index:2;min-height:42px;color:var(--white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040f0db8;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.identity-form{align-content:center}.editorial-callout{border-radius:var(--radius-md);color:var(--arcane-700);background:linear-gradient(90deg,#dbeaf4bf,#fffdf7b8);border:1px solid #2d5d832e;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:20px;padding:16px 18px;display:grid}.editorial-callout strong{color:var(--ink-900)}.editorial-callout p{color:var(--ink-600);margin:2px 0 0}.editorial-callout button{border-radius:var(--radius-sm);min-height:36px;color:var(--arcane-700);background:#fff9;border:1px solid #2d5d8338;padding:0 11px}.library-stat-band{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffdf79e;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 22px;display:grid;overflow:hidden}.library-stat-band>div{border-right:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;gap:0 10px;min-height:86px;padding:14px 18px;display:grid}.library-stat-band>div:last-child{border-right:0}.library-stat-band svg{color:var(--copper-600);grid-row:1/3;align-self:center}.library-stat-band strong{color:var(--ink-950);font-family:var(--serif);font-size:1.45rem;font-weight:500;line-height:1}.library-stat-band span{color:var(--ink-500);letter-spacing:.055em;text-transform:uppercase;font-size:.75rem;font-weight:700}.library-stat-band.compact>div{min-height:72px}.source-mode-row,.method-tabs,.spell-toolbar,.ability-toolbar{border:1px solid var(--line);border-radius:var(--radius-md);background:#ede1ca70;align-items:center;gap:8px;margin-bottom:18px;padding:8px;display:flex;overflow-x:auto}.source-mode-row>button,.method-tabs>button,.ability-toolbar>button,.spell-toolbar>button{border-radius:var(--radius-sm);min-height:39px;color:var(--ink-600);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}:is(.source-mode-row,.method-tabs,.spell-toolbar)>button.active{color:var(--copper-800);background:var(--vellum-50);box-shadow:var(--shadow-sm);border-color:#b55b3847}.source-mode-row>label{color:var(--ink-600);flex:none;align-items:center;gap:7px;margin-left:auto;padding:0 8px;font-size:.8rem;display:flex}.source-mode-row>label+label{margin-left:0}.source-table,.skills-ledger,.feat-table,.inventory-table,.pack-list{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffdf7b3;overflow:hidden}.table-head,.source-row{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) 120px 82px;align-items:center;gap:12px;padding:11px 15px;display:grid}.table-head{min-height:42px;color:var(--vellum-200);letter-spacing:.06em;text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.source-row{border-bottom:1px solid var(--line);min-height:56px;color:var(--ink-600)}.source-row:last-child{border-bottom:0}.source-row>span:first-child{min-width:0;color:var(--ink-900);align-items:center;gap:9px;display:flex}.source-row>span:first-child b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-row>span:first-child svg{color:var(--copper-600)}.switch{background:#5e716a2b;border:1px solid #3f554c3d;border-radius:999px;width:45px;height:25px;padding:0;position:relative}.switch i{background:var(--white);border-radius:50%;width:17px;height:17px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #111a1840}.switch.on{border-color:var(--success-700);background:var(--success-700)}.switch.on i{transform:translate(20px)}.epic-gate-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#172b27f7,#071815fc);border:1px solid #b55b3847;grid-template-columns:auto minmax(240px,.9fr) minmax(360px,1.1fr);gap:18px;margin:0 0 18px;padding:20px;display:grid;position:relative;overflow:hidden}.epic-gate-card:after{content:"";pointer-events:none;background:radial-gradient(circle at 8% 15%,#c9673d2e,#0000 34%);position:absolute;inset:0}.epic-gate-card.enabled{border-color:#cf89529e;box-shadow:0 18px 44px #0413103d,inset 0 0 0 1px #cf89521f}.epic-gate-emblem,.epic-spell-sigil{z-index:1;color:#f0b777;background:#b55b382e;border:1px solid #e7a76b66;border-radius:50% 50% 50% 12px;place-items:center;width:52px;height:52px;display:grid;position:relative}.epic-gate-copy,.epic-gate-controls{z-index:1;min-width:0;position:relative}.epic-gate-copy .panel-eyebrow,.epic-spell-workshop>header .panel-eyebrow{color:#e7a76b}.epic-gate-copy h2{color:var(--vellum-50);font-family:var(--serif);margin:2px 0 6px;font-size:1.65rem;font-weight:500}.epic-gate-copy p{color:#fffdf7a8;margin:0;line-height:1.55}.epic-gate-status{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.epic-gate-controls{border-radius:var(--radius-md);background:#ffffff0f;border:1px solid #ffffff1a;align-content:start;gap:1px;display:grid;overflow:hidden}.epic-gate-controls>label,.epic-gate-controls>.epic-toggle-control{min-height:62px;color:var(--vellum-100);border-bottom:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.epic-gate-controls>:last-child{border-bottom:0}.epic-gate-controls>:is(label,.epic-toggle-control)>span{flex-direction:column;min-width:0;display:flex}.epic-gate-controls small{color:#fffdf78c}.epic-gate-controls input[type=number]{width:76px;min-height:42px;color:var(--vellum-50);background:#00000038;border-color:#ffffff29}.epic-gate-lock{z-index:1;color:#efc293;grid-column:2/-1;align-items:center;gap:8px;font-size:.8rem;display:flex;position:relative}.epic-source-row{background:linear-gradient(90deg,#b55b3817,#0000 50%)}.epic-progression-band{border-radius:var(--radius-md);color:var(--vellum-100);background:linear-gradient(110deg, var(--obsidian-800), #102c27);border:1px solid #b55b3842;align-items:center;gap:12px;margin:0 0 18px;padding:13px 15px;display:flex}.epic-progression-band>svg{color:#e7a76b}.epic-progression-band>span{flex-direction:column;flex:1;min-width:0;display:flex}.epic-progression-band small{color:#fffdf794}.advancement-milestones,.epic-class-features{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf7a3;margin-top:20px;padding:18px}.advancement-choice-grid,.epic-class-features>div:last-child{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;display:grid}.advancement-choice-grid label,.epic-class-features article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);flex-direction:column;gap:5px;min-width:0;padding:11px;display:flex}.advancement-choice-grid label>span,.epic-class-features article>span{color:var(--ink-500);text-transform:uppercase;font-size:.75rem;font-weight:750}.epic-class-features article strong{color:var(--copper-800);font-family:var(--serif);font-size:1.2rem}.epic-class-features article small{color:var(--ink-500)}.advancement-legacy-note{color:var(--ink-700);align-items:center;gap:10px;display:flex}.advancement-legacy-note span{flex-direction:column;display:flex}.catalog-opening,.library-loading,.library-error{border-radius:var(--radius-lg);min-height:180px;color:var(--arcane-700);text-align:left;background:#fffdf775;border:1px dashed #3f554c47;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex}.catalog-opening>div,.library-loading{text-align:center;flex-direction:column}.catalog-opening>div{display:flex}.catalog-opening span,.library-loading span,.library-error span{color:var(--ink-500)}.catalog-opening button,.library-error button,.catalog-load-error button{border-radius:var(--radius-sm);min-height:44px;color:var(--copper-800);background:#fffdf7e6;border:1px solid #b5553052;padding:0 16px;font-weight:750}.library-error>div{flex-direction:column;min-width:0;display:flex}.catalog-load-error{border-radius:var(--radius-md);min-width:0;color:var(--copper-800);background:#fff4ebc7;border:1px solid #b555304d;align-items:center;gap:12px;padding:12px 14px;display:flex}.catalog-load-error>span{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.catalog-load-error small{color:var(--ink-500)}.selection-hero{border-radius:var(--radius-lg);min-height:190px;box-shadow:var(--shadow-sm);background:radial-gradient(circle at 88% 30%,#5795c326,#0000 34%),linear-gradient(135deg,#dbeaf49e,#fffdf7bd);border:1px solid #2d5d8333;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:26px;display:grid;position:relative;overflow:hidden}.selection-hero:after{z-index:0;content:"";border:1px solid #2d5d8317;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-80px;right:-20px}.selection-hero>*{z-index:1;position:relative}.selection-emblem{width:90px;height:108px;color:var(--arcane-700);background:#fffdf7b8;border:1px solid #2d5d8338;border-radius:46px 46px 14px 14px;place-items:center;display:grid;box-shadow:inset 0 0 0 7px #2d5d830d}.selection-hero h2{font-family:var(--serif);margin:7px 0 5px;font-size:2rem;font-weight:500}.selection-hero p{max-width:720px;color:var(--ink-600);margin-bottom:12px}.selection-hero>button{color:var(--arcane-700);background:0 0;border:0;align-items:center;gap:6px;padding:9px 11px;display:flex}.tag-row,.level-feature-tags{flex-wrap:wrap;gap:6px;display:flex}.race-settings{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf78c;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 25px;padding:18px;display:grid}.unit-input{position:relative}.unit-input input{padding-right:45px}.unit-input span{color:var(--ink-500);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.subsection-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:28px 0 13px;display:flex}.subsection-heading h2{font-family:var(--serif);margin:3px 0 0;font-size:1.55rem;font-weight:500}.template-list,.class-progression,.granted-feature-list{gap:9px;display:grid}.template-list>div,.granted-feature-list>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffdf7b3;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:60px;padding:10px 13px;display:grid}.template-list>div>svg,.granted-feature-list>div>svg{color:var(--copper-600)}.template-list>div>span,.granted-feature-list>div>span{flex-direction:column;min-width:0;display:flex}.template-list small,.granted-feature-list small{color:var(--ink-500)}.add-empty-row,.add-level-row,.add-choice{border-radius:var(--radius-md);width:100%;min-height:78px;color:var(--arcane-700);text-align:left;background:#dbeaf43d;border:1px dashed #2d5d8359;justify-content:center;align-items:center;gap:11px;padding:15px;display:flex}.add-empty-row:hover,.add-level-row:hover,.add-choice:hover{border-color:var(--arcane-600);background:#dbeaf47a}.add-empty-row>span,.add-level-row>span,.add-choice>span{flex-direction:column;display:flex}.add-empty-row small,.add-level-row small,.add-choice small{color:var(--ink-500)}.point-budget{border-radius:var(--radius-md);min-width:96px;color:var(--warning-700);background:var(--warning-100);border:1px solid #8e642040;flex-direction:column;align-items:center;padding:8px 13px;display:flex}.point-budget strong{font-family:var(--serif);font-size:1.55rem;line-height:1}.point-budget span{font-size:.75rem;font-weight:700}.point-budget.complete{color:var(--success-700);background:var(--success-100);border-color:#28654c33}.ability-toolbar{justify-content:flex-start}.ability-toolbar>label{color:var(--ink-600);align-items:center;gap:8px;padding-left:6px;font-weight:700;display:flex}.ability-toolbar>label input{width:75px}.ability-toolbar>span{color:var(--ink-500);font-size:.8rem}.dice-group-panel{border-radius:var(--radius-md);background:#dbeaf46b;border:1px solid #2d5d8338;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:grid}.dice-group-panel>div:first-child{flex-direction:column;display:flex}.dice-group-panel>div:first-child span{color:var(--ink-500);font-size:.8rem}.dice-group-panel>button,.rolled-group>button{border:1px solid var(--arcane-600);border-radius:var(--radius-sm);min-height:38px;color:var(--white);background:var(--arcane-700);padding:0 12px}.rolled-group{border-top:1px solid #2d5d8329;grid-column:1/-1;grid-template-columns:auto repeat(6,38px) 1fr;align-items:center;gap:7px;padding-top:10px;display:grid}.rolled-group>strong{height:35px;color:var(--arcane-700);background:var(--vellum-50);border-radius:8px;place-items:center;display:grid}.rolled-group>button{justify-self:end}.ability-ledger{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffdf7b8;overflow:hidden}.ability-ledger-head,.ability-ledger-row{grid-template-columns:minmax(150px,1.5fr) repeat(5,minmax(62px,.7fr)) minmax(76px,.85fr) minmax(58px,.65fr);align-items:center;gap:8px;padding:9px 13px;display:grid}.ability-ledger-head{min-height:42px;color:var(--vellum-200);letter-spacing:.045em;text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.ability-ledger-row{border-bottom:1px solid var(--line);min-height:65px}.ability-ledger-row:last-child{border-bottom:0}.ability-ledger-row>span:first-child{align-items:center;gap:10px;display:flex}.ability-ledger-row>span:first-child i{width:36px;height:36px;color:var(--copper-800);font-family:var(--serif);background:var(--copper-100);border:1px solid #b55b3840;border-radius:50%;place-items:center;font-size:.8rem;font-style:normal;display:grid}.ability-ledger-row input{text-align:center;min-height:39px;padding:0 7px}.ability-total{border-radius:var(--radius-sm);min-height:44px;color:var(--arcane-700);background:var(--arcane-100);flex-direction:column;justify-content:center;align-items:center;display:flex}.ability-total strong{font-family:var(--serif);font-size:1.15rem;line-height:1}.ability-total small{color:var(--arcane-600)}.class-timeline{gap:12px;display:grid}.class-level-card{border:1px solid var(--line);border-left:3px solid var(--teal-500);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffdf7b8;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:15px;padding:16px;display:grid;position:relative}.class-icon,.feat-icon,.item-icon,.result-icon,.attack-icon{width:40px;height:40px;color:var(--copper-700);background:var(--copper-100);border:1px solid #b55b3833;border-radius:12px 12px 12px 4px;place-items:center;display:grid}.class-card-main,.class-card-title{min-width:0}.class-card-title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.class-card-title h2{font-family:var(--serif);margin:0;font-size:1.3rem;font-weight:500}.class-card-main>p{color:var(--ink-500);margin:4px 0 0;font-size:.8rem}.class-level-controls,.feature-choices{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-level-controls label,.feature-choices label,.prepared-control,.charge-control{color:var(--ink-600);align-items:center;gap:7px;font-size:.75rem;font-weight:700;display:flex}.class-level-controls input,.feature-choices input,.feature-choices select,.prepared-control input,.charge-control input{width:76px;min-height:38px}.feature-choices select{width:auto;min-width:130px}.timeline-summary,.progression-hero{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0;display:grid;overflow:hidden}.timeline-summary>div,.progression-hero>div{background:#fffdf7db;flex-direction:column;justify-content:center;min-height:86px;padding:14px 18px;display:flex}.timeline-summary span,.progression-hero>div>span:first-child{color:var(--ink-500);text-transform:uppercase;font-size:.75rem;font-weight:700}.timeline-summary strong,.progression-hero strong{font-family:var(--serif);font-size:1.3rem;font-weight:500}.timeline-summary small,.progression-hero small{color:var(--ink-500)}.skills-head,.skills-row{grid-template-columns:minmax(210px,1.4fr) 70px 94px 90px 90px 84px;align-items:center;gap:9px;padding:9px 13px;display:grid}.skills-head{min-height:42px;color:var(--vellum-200);letter-spacing:.045em;text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.skills-row{border-bottom:1px solid var(--line);min-height:57px}.skills-row:last-child{border-bottom:0}.skills-row>span:first-child{align-items:center;gap:8px;min-width:0;display:flex}.skills-row>span:first-child>span{flex-direction:column;min-width:0;display:flex}.skills-row small{color:var(--ink-500)}.rank-control,.charge-stepper,.set-charges{border-radius:var(--radius-sm);background:var(--vellum-50);border:1px solid #3f554c33;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}:is(.rank-control,.charge-stepper,.set-charges) button{width:31px;min-height:34px;color:var(--ink-700);background:#ede1ca8c;border:0;place-items:center;padding:0;display:grid}:is(.rank-control,.charge-stepper,.set-charges) strong,.rank-control input{text-align:center;min-width:38px;padding:0 5px}.rank-control input{width:50px;min-height:34px;box-shadow:none;border:0}.skill-budget{border-radius:var(--radius-sm);color:var(--success-700);background:var(--success-100);align-items:baseline;gap:5px;padding:8px 11px;display:inline-flex}.skill-budget.invalid{color:var(--danger-700);background:var(--danger-100)}.feat-table>header,.feat-table>article{grid-template-columns:44px minmax(180px,1fr) minmax(170px,.8fr) minmax(170px,.8fr) auto;align-items:center;gap:12px;padding:11px 14px;display:grid}.feat-table>header{color:var(--vellum-200);text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.feat-table>article{border-bottom:1px solid var(--line)}.feat-table>article:last-child{border-bottom:0}.feat-table article>span{flex-direction:column;min-width:0;display:flex}.feat-table article small{color:var(--ink-500)}.spell-level-groups{gap:13px;display:grid}.spell-level-groups>section{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffdf7b3;overflow:hidden}.spell-level-groups>section>header{min-height:48px;color:var(--vellum-100);background:var(--obsidian-800);justify-content:space-between;align-items:center;gap:12px;padding:9px 13px;display:flex}.spell-level-groups>section>header h2{font-family:var(--serif);margin:0;font-size:1.05rem;font-weight:500}.epic-spell-workshop{border-radius:var(--radius-lg);color:var(--vellum-100);box-shadow:var(--shadow-lg);background:linear-gradient(145deg,#0c241ffa,#051412fc);border:1px solid #b55b3859;margin-top:24px;padding:20px}.epic-spell-workshop>header,.epic-play-section>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.epic-spell-workshop>header h2,.epic-play-section>header h2{font-family:var(--serif);margin:2px 0 5px;font-size:1.65rem;font-weight:500}.epic-spell-workshop>header p{color:#fffdf799;margin:0}.epic-caster-readiness{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff17;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;padding:10px;display:flex}.epic-caster-readiness>span,.epic-slot-summary>span{color:#fffdf799;text-transform:uppercase;align-items:baseline;gap:5px;font-size:.76rem;display:flex}.epic-caster-readiness>span strong,.epic-slot-summary strong{color:#efc293;font-family:var(--serif);font-size:1rem}.epic-spell-designs{gap:16px;display:grid}.epic-spell-design{border-radius:var(--radius-md);background:#ffffff0b;border:1px solid #ffffff1c;overflow:hidden}.epic-spell-design>header{border-bottom:1px solid #ffffff17;grid-template-columns:auto minmax(180px,1fr) 150px minmax(150px,.65fr) auto;align-items:end;gap:10px;padding:13px;display:grid}.epic-spell-design label,.epic-spell-notes{color:#fffdf7a6;flex-direction:column;gap:5px;min-width:0;font-size:.75rem;font-weight:700;display:flex}.epic-spell-design :is(input,select,textarea){color:var(--vellum-50);background:#0000003d;border-color:#ffffff24}.epic-spell-design option{color:var(--ink-900);background:var(--vellum-50)}.epic-spell-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;display:grid}.epic-spell-editor-grid>section{min-width:0}.epic-spell-editor-grid .subsection-heading{margin:0 0 8px}.epic-spell-editor-grid h3{color:var(--vellum-50);font-family:var(--serif);margin:0;font-size:1.05rem}.epic-spell-editor-grid button,.epic-ritual>button{color:#efc293;background:#b55b381a;border-color:#e7a76b3b}.epic-rule-row{grid-template-columns:minmax(0,1fr) 64px 38px;gap:7px;margin-top:7px;display:grid}.epic-rule-row :is(input,select){min-width:0;min-height:40px}.epic-rule-row input{text-align:center}.epic-spell-options,.epic-mitigation-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;padding:0 14px 14px;display:grid}.epic-spell-design>footer label{flex-direction:row;align-items:center;gap:7px;min-height:42px;display:flex}.epic-spell-options label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:7px;min-height:42px;display:flex}.epic-mitigation-grid label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:7px;min-height:42px;display:flex}.epic-spell-options input[type=number],.epic-mitigation-grid input[type=number]{min-height:40px}.epic-ritual{border-radius:var(--radius-sm);background:#00000026;border:1px solid #ffffff17;flex-wrap:wrap;align-items:end;gap:8px;margin:0 14px 14px;padding:11px;display:flex}.epic-ritual>div{flex-direction:column;flex:1;min-width:190px;display:flex}.epic-ritual>label{grid-template-columns:minmax(135px,1fr) auto;display:grid}.epic-ritual select{min-height:40px}.epic-spell-calculation{border-radius:var(--radius-md);background:#e7a76b26;border:1px solid #e7a76b33;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 14px 14px;display:grid;overflow:hidden}.epic-spell-calculation>div{background:#051412e6;flex-direction:column;justify-content:center;min-width:0;min-height:92px;padding:12px;display:flex}.epic-spell-calculation span{color:#fffdf785;text-transform:uppercase;font-size:.72rem;font-weight:750}.epic-spell-calculation strong{color:#efc293;font-family:var(--serif);font-size:1.2rem;font-weight:500}.epic-spell-calculation small{overflow-wrap:anywhere;color:#fffdf78c}.epic-spell-issues{border-radius:var(--radius-sm);color:#ffc3b6;background:#781e192e;border:1px solid #cc4c4c59;gap:5px;margin:0 14px 14px;padding:10px;display:grid}.epic-spell-issues span{align-items:center;gap:6px;display:flex}.epic-spell-notes{margin:0 14px 14px}.epic-spell-design>footer{background:#00000029;border-top:1px solid #ffffff17;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;display:flex}.epic-spell-design>footer .tag{margin-left:auto}.epic-play-section{border-radius:var(--radius-lg);color:var(--vellum-100);background:linear-gradient(140deg, var(--obsidian-800), #08221d);border:1px solid #b55b384d;margin-top:22px;padding:18px}.epic-slot-summary{flex-wrap:wrap;gap:12px;display:flex}.epic-play-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;margin-top:14px;display:grid}.epic-play-grid>article{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff1c;overflow:hidden}.epic-play-grid>article.spent{opacity:.62}.epic-play-grid article>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;display:grid}.spell-level-orb.epic{color:#efc293;background:#b55b382e;border-color:#e7a76b66}.epic-play-grid h2{font-family:var(--serif);margin:0;font-weight:500}.epic-play-grid p{color:#fffdf78c;margin:2px 0 0}.epic-play-grid dl{background:#ffffff14;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.epic-play-grid dl>div{background:#051412d9;padding:10px}.epic-play-grid dt{color:#fffdf77a;text-transform:uppercase;font-size:.7rem}.epic-play-grid dd{overflow-wrap:anywhere;margin:2px 0 0}.epic-play-grid footer{justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.epic-play-grid footer>span{flex-direction:column;display:flex}.epic-play-grid footer small{color:#fffdf785}.level-hp-sync{border-radius:var(--radius-md);color:var(--arcane-800);background:#dbeaf494;border:1px solid #2d5d8338;align-items:center;gap:12px;margin:-8px 0 18px;padding:12px 14px;display:flex}.level-hp-sync>span{flex-direction:column;flex:1;min-width:0;display:flex}.level-hp-sync small{color:var(--ink-500)}.level-hp-sync button{border-radius:var(--radius-sm);min-height:42px;color:var(--arcane-800);background:#ffffffb8;border:1px solid #2d5d8340;padding:0 13px;font-weight:750}.feat-rule-message{overflow-wrap:anywhere;color:var(--danger-700)!important}.spell-caster-select{min-width:0;color:var(--ink-500);text-transform:uppercase;flex-direction:column;gap:3px;font-size:.68rem;font-weight:750;display:flex}.spell-caster-select select{min-width:0;min-height:38px}.caster-checks{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.caster-checks button{min-height:42px}@media (max-width:1100px){.epic-gate-card{grid-template-columns:auto minmax(0,1fr)}.epic-gate-controls,.epic-gate-lock{grid-column:1/-1}.epic-spell-editor-grid{grid-template-columns:1fr}}@media (max-width:700px){.epic-gate-card{grid-template-columns:1fr;padding:15px}.epic-gate-emblem{width:44px;height:44px}.epic-gate-controls{grid-column:auto}.epic-gate-controls>:is(label,.epic-toggle-control){min-height:72px}.epic-gate-lock{grid-column:auto;align-items:flex-start}.epic-progression-band{flex-wrap:wrap;align-items:flex-start}.epic-progression-band>span{flex-basis:calc(100% - 40px)}.level-hp-sync{flex-wrap:wrap;align-items:flex-start}.level-hp-sync>span{flex-basis:calc(100% - 36px)}.level-hp-sync button{width:100%}.epic-spell-workshop{padding:13px}.epic-spell-workshop>header{flex-direction:column;align-items:flex-start}.epic-spell-design>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.epic-spell-design>header>label:first-of-type{grid-column:2}.epic-spell-design>header>label:not(:first-of-type){grid-column:1/-1}.epic-spell-editor-grid,.epic-spell-options,.epic-mitigation-grid{padding-left:10px;padding-right:10px}.epic-spell-calculation{grid-template-columns:1fr;margin-inline:10px}.epic-spell-calculation>div{min-height:70px}.epic-ritual{margin-inline:10px}.epic-ritual>label{grid-template-columns:1fr}.epic-spell-design>footer{flex-direction:column;align-items:stretch}.epic-spell-design>footer .tag{margin-left:0}.epic-play-section{padding:13px}.epic-play-grid,.epic-play-grid dl{grid-template-columns:1fr}.epic-play-grid footer{flex-direction:column;align-items:stretch}.caster-checks{justify-content:flex-start;width:100%;overflow-x:auto}}.spell-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(190px,1.35fr) minmax(130px,.75fr) minmax(120px,.65fr) minmax(140px,.75fr) auto auto;align-items:center;gap:11px;min-height:61px;padding:9px 13px;display:grid}.spell-row:last-child{border-bottom:0}.spell-row>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.spell-row small,.spell-school{color:var(--ink-500);font-size:.75rem}.spell-level-orb{width:35px;height:35px;color:var(--arcane-700);font-family:var(--serif);background:var(--arcane-100);border:1px solid #2d5d8347;border-radius:50%;place-items:center;font-size:1rem;display:grid}.prepared-control{justify-content:flex-end}.equipment-slots{grid-template-columns:minmax(260px,.7fr) minmax(320px,1.3fr);gap:18px;margin-bottom:18px;display:grid}.slot-figure{border:1px solid var(--line);border-radius:var(--radius-lg);color:#2d5d8338;background:radial-gradient(circle at 50% 45%,#5795c31f,#0000 37%),#fffdf7a3;place-items:center;min-height:330px;display:grid;position:relative;overflow:hidden}.slot-figure>svg{width:105px;height:105px}.slot{min-width:70px;color:var(--arcane-700);text-align:center;background:#fffdf7d9;border:1px solid #2d5d832e;border-radius:999px;padding:5px 8px;font-size:.75rem;font-weight:700;position:absolute}.slot-head{top:28px;left:calc(50% - 35px)}.slot-shoulders{top:90px;right:26px}.slot-hands{top:160px;left:23px}.slot-waist{top:217px;right:26px}.slot-feet{bottom:22px;left:calc(50% - 35px)}.equipped-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf7a3;padding:18px}.equipped-list h2{font-family:var(--serif);margin-bottom:12px;font-size:1.3rem;font-weight:500}.equipped-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 0;display:grid}.equipped-list>button>span:first-child{width:34px;height:34px;color:var(--teal-600);background:#75aa9d26;border-radius:10px;place-items:center;display:grid}.equipped-list>button>span:nth-child(2){flex-direction:column;display:flex}.equipped-list small{color:var(--ink-500)}.inventory-table>header,.inventory-row{grid-template-columns:minmax(200px,1.4fr) 74px 90px 110px 130px 90px auto;align-items:center;gap:9px;padding:9px 12px;display:grid}.inventory-table>header{color:var(--vellum-200);text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.inventory-row{border-bottom:1px solid var(--line);min-height:60px}.inventory-row:last-child{border-bottom:0}.inventory-row>span:first-child{align-items:center;gap:9px;min-width:0;display:flex}.inventory-row>span:first-child>span{flex-direction:column;min-width:0;display:flex}.inventory-row small{color:var(--ink-500)}.equip-button{border-radius:var(--radius-sm);min-height:36px;color:var(--ink-700);background:var(--vellum-50);border:1px solid #3f554c33;padding:0 9px}.load-band{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf79e;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin-bottom:17px;padding:13px 16px;display:grid}.load-band>span{color:var(--ink-600)}.load-track{background:#3f554c21;border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.load-track>i{border-radius:inherit;background:linear-gradient(90deg, var(--teal-500), var(--copper-500));height:100%;display:block}.campaign-systems-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#dbeaf48a,#fffdf7b8);border:1px solid #2d5d8338;margin-top:20px;overflow:hidden}.campaign-systems-card>header{border-bottom:1px solid #2d5d8324;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.campaign-systems-card>header h2{font-family:var(--serif);margin:0 0 3px;font-size:1.35rem;font-weight:500}.campaign-systems-card>header p{color:var(--ink-500);margin:0}.campaign-systems-card>header button{border-radius:var(--radius-sm);min-height:38px;color:var(--arcane-700);background:var(--vellum-50);border:1px solid #2d5d833d;align-items:center;gap:7px;padding:0 11px;display:flex}.campaign-system-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:0;display:grid}.campaign-system-grid>section{padding:17px}.campaign-system-grid>section+section{border-left:1px solid #2d5d8324}.campaign-system-grid h3{color:var(--ink-800);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:.8rem}.custom-rule-row,.resource-editor-row{border-bottom:1px solid #2d5d831c;grid-template-columns:minmax(120px,1fr) minmax(100px,.7fr) 80px auto auto;align-items:center;gap:8px;padding:8px 0;display:grid}.resource-editor-row{grid-template-columns:minmax(120px,1fr) 70px 70px minmax(100px,.7fr) auto}.custom-rule-row:last-child,.resource-editor-row:last-child{border-bottom:0}.notes-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;display:grid}.notes-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.notes-editor label{flex-direction:column;gap:6px;display:flex}.notes-editor label:first-child,.notes-editor label:nth-child(4),.notes-editor label:last-child{grid-column:1/-1}.session-log{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf79e;max-height:720px;padding:17px;overflow:auto}.session-log>header,.feature-play-columns section>header,.action-section>header,.ability-section>header,.defense-section>header,.skills-section>header,.resistance-section>header,.conditions-section>header,.resources-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.session-log h2,.feature-play-columns h2,.action-section>header h2,.play-dashboard section>header h2{font-family:var(--serif);margin:0;font-size:1.2rem;font-weight:500}.session-log>div{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:9px;padding:10px 0;display:grid}.session-log>div>span:last-child{flex-direction:column;min-width:0;display:flex}.session-log small{color:var(--ink-500)}.event-icon{width:29px;height:29px;color:var(--arcane-700);background:var(--arcane-100);border-radius:50%;place-items:center;display:grid}.companion-grid,.play-companions{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.companion-grid>article,.play-companions>article{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fffdf7b3;grid-template-columns:auto minmax(0,1fr);gap:15px;padding:18px;display:grid}.companion-token{width:54px;height:54px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d8333;border-radius:50%;place-items:center;display:grid}.companion-grid h2,.play-companions h2{font-family:var(--serif);margin:6px 0 4px;font-weight:500}.companion-grid p,.play-companions p{color:var(--ink-500)}.companion-hp{color:var(--danger-700);align-items:center;gap:7px;display:flex}.companion-hp input{width:72px}.readiness-hero{border-radius:var(--radius-lg);background:linear-gradient(120deg, var(--success-100), #fffdf7bf);border:1px solid #28654c33;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:21px;display:grid}.readiness-seal{width:72px;height:72px;color:var(--success-700);background:#ffffff80;border:1px solid #28654c38;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 6px #28654c12}.readiness-seal.bad{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b38}.readiness-hero h2{font-family:var(--serif);margin:0 0 4px;font-size:1.45rem;font-weight:500}.readiness-hero p{color:var(--ink-600);margin:0}.audit-list{gap:8px;margin-top:18px;display:grid}.audit-list>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffdf7ad;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:56px;padding:10px 13px;display:grid}.audit-list>div>span{flex-direction:column;display:flex}.audit-list small{color:var(--ink-500)}.audit-error>svg{color:var(--danger-700)}.audit-warning>svg{color:var(--warning-700)}.audit-success>svg{color:var(--success-700)}.export-panel{border-radius:var(--radius-md);background:#dbeaf46b;border:1px solid #2d5d832e;grid-template-columns:minmax(240px,1fr) auto auto auto;align-items:center;gap:9px;margin-top:20px;padding:16px;display:grid}.export-panel>div:first-child{min-width:0;color:var(--arcane-700);align-items:center;gap:11px;display:flex}.export-panel>div:first-child>span{min-width:0;color:var(--ink-900);flex-direction:column;display:flex}.export-panel small{color:var(--ink-500)}.play-layout{grid-template-columns:210px minmax(0,1fr);max-width:1680px;min-height:calc(100vh - 266px);margin:0 auto;display:grid}.play-tabs{border-right:1px solid var(--line);background:linear-gradient(180deg, #ede1cab3, #f5edddd1), var(--vellum-150);padding:26px 14px}.play-tabs button{border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--ink-600);text-align:left;background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:5px;padding:8px 10px;display:grid}.play-tabs button:hover{color:var(--ink-950);background:#fffdf78f}.play-tabs button.active{color:var(--copper-800);background:var(--vellum-50);box-shadow:var(--shadow-sm)}.play-tabs button.active svg{color:var(--copper-600)}.play-tabs button b{min-width:23px;height:23px;color:var(--ink-600);background:#3f554c1a;border-radius:999px;place-items:center;padding:0 5px;font-size:.75rem;display:grid}.play-tabs button.active b{color:var(--white);background:var(--copper-600)}.play-workspace{min-width:0;padding:34px clamp(24px,4.5vw,72px) 80px}.play-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.play-heading h1{font-family:var(--serif);letter-spacing:-.03em;margin:4px 0 6px;font-size:clamp(2rem,3.4vw,3.3rem);font-weight:500;line-height:1}.play-heading p{color:var(--ink-600);margin:0}.play-heading>button,.quick-actions button,.round-controls button{color:var(--ink-800);background:#fffdf7bf;border-color:#3f554c33}.play-heading>button:hover,.quick-actions button:hover,.round-controls button:hover{color:var(--copper-800);border-color:#b55b3873}.quick-actions,.round-controls{align-items:center;gap:7px;display:flex}.round-controls{border:1px solid var(--line);background:#ede1ca70;border-radius:999px;padding:6px}.round-controls>span{color:var(--ink-600);padding:0 9px}.round-controls>span strong{color:var(--ink-950);font-family:var(--serif);font-size:1.15rem}.play-dashboard{grid-template-columns:minmax(380px,1.25fr) minmax(330px,.75fr);gap:15px;display:grid}.play-dashboard>section,.action-section,.feature-play-columns>section{border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#fffdf7b0;padding:18px}.play-dashboard>section>header>span,.action-section>header>span,.feature-play-columns>section>header>span{color:var(--ink-500);font-size:.75rem}.ability-section{grid-column:1/-1;background:radial-gradient(circle at 92% 8%,#b55b3817,#0000 28%),#fffdf7b8!important}.ability-medallions{grid-template-columns:repeat(6,minmax(100px,1fr));gap:9px;display:grid}.ability-medallions button{min-height:124px;color:var(--ink-900);background:radial-gradient(circle at 50% 20%,#b55b381f,#0000 50%),#faf5e9d1;border:1px solid #3f554c2b;border-radius:58px 58px 14px 14px;flex-direction:column;justify-content:center;align-items:center;padding:11px 8px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.ability-medallions button:hover{border-color:#b55b3875;transform:translateY(-2px);box-shadow:0 12px 25px #111a181a}.ability-medallions button>span{color:var(--copper-700);letter-spacing:.09em;font-size:.75rem;font-weight:800}.ability-medallions button>strong{font-family:var(--serif);font-size:2.05rem;font-weight:500;line-height:1}.ability-medallions button>b{min-width:30px;height:30px;color:var(--white);background:var(--teal-600);border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:9px;right:9px}.ability-medallions button>small{color:var(--ink-500);margin-top:7px}.defense-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.defense-grid>*{border-radius:var(--radius-sm);min-height:82px;color:var(--ink-700);text-align:left;background:#f5eddd8c;border:1px solid #3f554c24;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;gap:0 8px;padding:11px;display:grid}.defense-grid button:hover{background:var(--arcane-100);border-color:#2d5d8366}.defense-grid svg{color:var(--arcane-600);grid-row:1/3;align-self:center}.defense-grid span{color:var(--ink-500);font-size:.75rem}.defense-grid strong{font-family:var(--serif);font-size:1.35rem;font-weight:500}.skills-section{grid-row:span 2}.play-skill-list{max-height:440px;display:grid;overflow:auto}.play-skill-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:52px;padding:7px 4px;display:grid}.play-skill-list button:hover{color:var(--arcane-700);background:#dbeaf459}.play-skill-list button>span{grid-template-columns:auto minmax(0,1fr);gap:0 8px;display:grid}.play-skill-list button>span svg{color:var(--copper-600);grid-row:1/3;align-self:center}.play-skill-list small{color:var(--ink-500)}.play-skill-list b{font-family:var(--serif);font-size:1.1rem}.resistance-section dl{margin:0}.resistance-section dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(115px,.4fr) minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.resistance-section dt{color:var(--ink-500);text-transform:uppercase;font-size:.75rem;font-weight:700}.resistance-section dd{overflow-wrap:anywhere;margin:0}.conditions-section>header button{border:1px solid var(--line);min-height:34px;color:var(--ink-700);background:var(--vellum-50);border-radius:999px;align-items:center;gap:5px;padding:0 9px;display:flex}.active-condition-list{gap:7px;display:grid}.active-condition-list>div{border-radius:var(--radius-sm);background:#f4d9d66b;border:1px solid #9a3e3b24;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:52px;padding:7px 8px;display:grid}.active-condition-list>div>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.active-condition-list small{color:var(--ink-500)}.condition-rounds{color:var(--ink-500);align-items:center;gap:4px;font-size:.75rem;display:flex}.condition-rounds input{text-align:center;width:60px;min-height:36px}.condition-icon{width:34px;height:34px;color:var(--danger-700);background:var(--danger-100);border-radius:50%;place-items:center;display:grid}.resource-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:7px 12px;min-height:58px;padding:7px 0;display:grid}.resource-row:last-child{border-bottom:0}.resource-row>span{font-weight:700}.resource-row>div{gap:3px;display:flex}.resource-row>small{color:var(--ink-500);grid-column:1/-1}.resource-pip{background:0 0;border:0;border-radius:50%;width:44px;height:44px;margin:-9px;padding:0;position:relative}.resource-pip:after{content:"";background:#ffffff94;border:1px solid #2d5d8361;border-radius:50%;transition:transform .14s,border-color .14s,background .14s;position:absolute;inset:14px}.resource-pip.filled:after{border-color:var(--arcane-700);background:var(--arcane-600);box-shadow:0 0 0 2px #5795c31f}.resource-pip:hover:after{border-color:var(--copper-600);transform:scale(1.35)}.resource-pip:focus-visible:after{border-color:var(--copper-600);transform:scale(1.35)}.compact-empty,.large-empty-state{border-radius:var(--radius-md);color:var(--ink-500);text-align:center;background:#f5eddd59;border:1px dashed #3f554c40;justify-content:center;align-items:center;gap:10px;padding:22px;display:flex}.compact-empty>span,.large-empty-state{flex-direction:column}.compact-empty>span{display:flex}.compact-empty strong,.large-empty-state strong{color:var(--ink-800)}.large-empty-state{min-height:230px}.action-section{margin-bottom:17px}.attack-grid{grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:13px;display:grid}.attack-grid>article{border-radius:var(--radius-md);background:#faf5e99e;border:1px solid #3f554c29;overflow:hidden}.attack-grid>article>header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.attack-grid>article h2{font-family:var(--serif);margin:5px 0 0;font-size:1.3rem;font-weight:500}.attack-numbers{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.attack-numbers>*{border:0;border-right:1px solid var(--line);min-height:94px;color:var(--ink-800);text-align:left;background:0 0;flex-direction:column;justify-content:center;padding:10px;display:flex}.attack-numbers>:last-child{border-right:0}.attack-numbers button:hover{background:#dbeaf46b}.attack-numbers span{color:var(--ink-500);text-transform:uppercase;font-size:.75rem}.attack-numbers strong{font-family:var(--serif);font-size:1.25rem;font-weight:500}.attack-numbers small{color:var(--ink-500)}.attack-grid>article>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:7px;padding:10px 12px;display:flex}.attack-grid>article>footer button{border-radius:var(--radius-sm);min-height:36px;color:var(--arcane-700);background:var(--vellum-50);border:1px solid #2d5d8333;align-items:center;gap:6px;padding:0 10px;display:flex}.maneuver-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.maneuver-grid button{border-radius:var(--radius-sm);min-height:80px;color:var(--ink-800);text-align:left;background:#f5eddd8f;border:1px solid #3f554c24;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px;display:grid}.maneuver-grid button:hover{background:var(--copper-100);border-color:#b55b3866}.maneuver-grid button>svg:first-child{color:var(--copper-600)}.maneuver-grid button>span{flex-direction:column;min-width:0;display:flex}.maneuver-grid small{color:var(--ink-500)}.maneuver-grid b{font-family:var(--serif);font-size:1.1rem}.spell-play-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:13px;display:grid}.spell-play-grid>article{border-radius:var(--radius-lg);min-height:270px;box-shadow:var(--shadow-sm);background:radial-gradient(circle at 100% 0,#5795c321,#0000 30%),#fffdf7bf;border:1px solid #2d5d832e;flex-direction:column;display:flex;overflow:hidden}.spell-play-grid>article.spent{filter:saturate(.55);opacity:.67}.spell-play-grid article>header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;display:grid}.spell-play-grid h2{font-family:var(--serif);margin:0;font-size:1.25rem;font-weight:500}.spell-play-grid header p{color:var(--ink-500);margin:2px 0 0;font-size:.75rem}.spell-play-grid dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:15px;display:grid}.spell-play-grid dl>div{flex-direction:column;display:flex}.spell-play-grid dt{color:var(--ink-500);text-transform:uppercase;font-size:.75rem;font-weight:700}.spell-play-grid dd{margin:2px 0 0}.spell-play-grid footer{border-top:1px solid var(--line);background:#ede1ca5c;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:12px 14px;display:flex}.spell-play-grid footer>span{flex-direction:column;display:flex}.spell-play-grid footer small{color:var(--ink-500)}.spell-play-grid footer button{border:1px solid var(--arcane-600);border-radius:var(--radius-sm);min-height:38px;color:var(--white);background:var(--arcane-700);align-items:center;gap:6px;padding:0 11px;display:flex}.pack-list>header,.pack-list>div{grid-template-columns:minmax(220px,1fr) 90px 110px 150px 80px;align-items:center;gap:10px;padding:10px 14px;display:grid}.pack-list>header{color:var(--vellum-200);text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.pack-list>div{border-bottom:1px solid var(--line);min-height:58px}.pack-list>div:last-child{border-bottom:0}.pack-list>div>span:first-child{align-items:center;gap:8px;display:flex}.pack-list>div>button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);min-height:35px}.feature-play-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.feature-play-columns section>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:58px;color:var(--ink-800);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;display:grid}.feature-play-columns section>button:hover{color:var(--arcane-700)}.feature-play-columns section>button>svg:first-child{color:var(--copper-600)}.feature-play-columns section>button>span{flex-direction:column;min-width:0;display:flex}.feature-play-columns small{color:var(--ink-500)}.progression-hero>div:first-child{color:var(--copper-700);grid-template-columns:auto 1fr;gap:12px;display:grid}.progression-hero>div:first-child>span{flex-direction:column;display:flex}.level-ledger{gap:9px;display:grid}.level-ledger article{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf7b3;grid-template-columns:auto minmax(250px,1fr) minmax(200px,1fr);align-items:center;gap:15px;padding:14px;display:grid}.level-badge{width:48px;height:48px;color:var(--copper-800);font-family:var(--serif);background:var(--copper-100);border:1px solid #b55b3847;border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.level-ledger h2{font-family:var(--serif);margin:5px 0 2px;font-size:1.25rem;font-weight:500}.level-ledger p{color:var(--ink-500);margin:0}.view-roster .character-masthead,.view-roster .combat-ribbon,.view-library .character-masthead,.view-library .combat-ribbon{display:none}.view-roster .studio-main{min-height:calc(100vh - 70px);color:var(--vellum-100);background:linear-gradient(90deg, #030a09f0 0 11%, #030a0959 46%, #030a09e6 100%), linear-gradient(180deg, #030a0940, #030a09eb), url(/art/archive-bg.webp) center / cover fixed no-repeat, var(--obsidian-950)}.roster-view{max-width:1480px;min-height:calc(100vh - 70px);margin:0 auto;padding:clamp(38px,6vw,86px) clamp(20px,4vw,58px) 90px}.roster-view .panel-title{max-width:1100px;margin-bottom:34px}.roster-view .panel-eyebrow{color:var(--copper-300)}.roster-view .panel-title h1{color:var(--vellum-50);font-size:clamp(2.5rem,5vw,4.6rem)}.roster-view .panel-title p{color:#ffffff94;font-size:1rem}.roster-view .dual-actions button{color:var(--vellum-100);background:#ffffff0f;border-color:#e3cfa938}.roster-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.roster-grid>article{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#071714d6;border:1px solid #e3cfa92e;transition:border-color .18s,transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 22px 60px #00000040}.roster-grid>article:hover{border-color:#e2a17a75;transform:translateY(-3px);box-shadow:0 30px 72px #00000059}.roster-grid>article.current{border-color:#e2a17a9e;box-shadow:0 0 0 1px #e2a17a1a,0 30px 72px #00000057}.roster-card-main{width:100%;color:var(--vellum-100);text-align:left;background:0 0;border:0;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:12px;display:grid}.roster-portrait{background:var(--obsidian-800);border:1px solid #e2a17a59;border-radius:56px 56px 13px 13px;height:174px;position:relative;overflow:hidden}.roster-portrait img{object-fit:cover;width:100%;height:100%}.roster-portrait span{color:var(--white);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030a09b8;border-radius:999px;padding:5px;font-size:.75rem;position:absolute;bottom:5px;left:5px;right:5px}.roster-card-main>div:last-child{align-self:center;min-width:0}.roster-card-main h2{color:var(--vellum-50);font-family:var(--serif);margin:11px 0 5px;font-size:1.7rem;font-weight:500}.roster-card-main p{color:#ffffff94;margin-bottom:12px}.roster-card-main small{color:#fff6}.roster-grid>article>footer{border-top:1px solid #e3cfa91f;align-items:center;gap:6px;padding:10px 12px;display:flex}.roster-grid>article>footer>button:not(.icon-button){color:#ffffff94;background:0 0;border:0;align-items:center;gap:6px;min-height:36px;padding:0 8px;display:flex}.roster-grid>article>footer .icon-button{color:#ffffff8f;background:#ffffff0a;border-color:#ffffff1f;margin-left:auto}.new-character-card{border-radius:var(--radius-xl);min-height:222px;color:var(--copper-300);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#07171480;border:1px dashed #e2a17a6b;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.new-character-card:hover{border-color:var(--copper-300);background:#0d2722b3}.new-character-card strong{color:var(--vellum-50);font-family:var(--serif);font-size:1.35rem;font-weight:500}.new-character-card span{color:#ffffff80}.library-layout{grid-template-columns:250px minmax(0,1fr);max-width:1680px;min-height:calc(100vh - 70px);margin:0 auto;display:grid}.library-sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg, #ede1cab8, #f5eddddb), var(--vellum-150);min-width:0;padding:30px 15px 28px 20px}.library-sidebar>h2{font-family:var(--serif);margin:4px 6px 18px;font-size:1.55rem;font-weight:500}.library-sidebar>.panel-eyebrow{margin-left:6px}.library-sidebar nav{max-height:calc(100vh - 260px);display:grid;overflow:auto}.library-sidebar nav button{border-radius:var(--radius-sm);min-height:43px;color:var(--ink-600);text-align:left;background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;display:grid}.library-sidebar nav button:hover,.library-sidebar nav button.active{color:var(--ink-950);background:#fffdf7bf}.library-sidebar nav button.active{color:var(--copper-800);box-shadow:var(--shadow-sm)}.library-sidebar nav button b{color:var(--ink-500);font-size:.75rem}.library-health{border-radius:var(--radius-md);color:var(--success-700);background:var(--success-100);border:1px solid #28654c29;gap:9px;margin-top:18px;padding:12px;display:flex}.library-health>div{flex-direction:column;display:flex}.library-health span{color:var(--ink-600);font-size:.75rem}.library-workspace{min-width:0;padding:36px clamp(24px,4vw,64px) 70px}.catalog-toolbar{grid-template-columns:minmax(260px,1fr) 220px;gap:9px;margin-bottom:14px;display:grid}.catalog-toolbar.large{grid-template-columns:minmax(280px,1fr) 220px 250px}.catalog-toolbar>label,.modal-search{border-radius:var(--radius-sm);min-width:0;color:var(--ink-500);background:#fffdf7d6;border:1px solid #35494140;align-items:center;gap:8px;padding-left:11px;display:flex}.catalog-toolbar>label:focus-within,.modal-search:focus-within{border-color:var(--arcane-600);box-shadow:0 0 0 3px #5795c321}.catalog-toolbar>label input,.modal-search input{min-width:0;box-shadow:none;background:0 0;border:0}.compendium-results,.picker-list{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fffdf7b8;overflow:hidden}.compendium-results>header,.compendium-results>button,.picker-list>header,.picker-list>button{grid-template-columns:42px minmax(240px,1.4fr) minmax(190px,.8fr) 110px 18px;align-items:center;gap:10px;padding:9px 13px;display:grid}.compendium-results>header{grid-template-columns:42px minmax(240px,1.4fr) minmax(190px,.8fr) 128px}.compendium-results>header,.picker-list>header{min-height:43px;color:var(--vellum-200);letter-spacing:.045em;text-transform:uppercase;background:var(--obsidian-800);font-size:.75rem;font-weight:750}.compendium-results>header>span:first-child{grid-column:2}.compendium-results>button,.picker-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:62px;color:var(--ink-700);text-align:left;background:0 0;position:relative}.compendium-results>button:hover,.picker-list>button:hover,.picker-list>button.selected{background:#dbeaf46b}.compendium-results>button>span:nth-child(2),.picker-list>button>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.compendium-results>button strong,.picker-list>button strong{color:var(--ink-900);overflow-wrap:anywhere}.compendium-results>button small,.picker-list>button small{color:var(--ink-500)}.disabled-source{color:var(--danger-700);font-size:.75rem;font-style:normal;position:absolute;bottom:3px;right:12px}.rules-lens{z-index:71;isolation:isolate;contain:paint;overscroll-behavior:contain;width:min(420px,92vw);color:var(--vellum-100);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(circle at 100% 0,#5795c31f,#0000 28%),#051310;border-left:1px solid #e2a17a4d;animation:.19s both lens-in;position:fixed;top:70px;bottom:0;right:0;overflow:auto;box-shadow:-22px 0 60px #0000004d}@keyframes lens-in{0%{transform:translate(100%)}}.rules-lens>header{z-index:2;border-bottom:1px solid var(--line-dark);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#051310;justify-content:space-between;align-items:flex-start;gap:15px;padding:19px;display:flex;position:sticky;top:0}.rules-lens>header h2{color:var(--vellum-50);font-family:var(--serif);margin:4px 0 0;font-size:1.45rem;font-weight:500}.rules-lens .panel-eyebrow{color:var(--copper-300)}.rules-lens .icon-button{color:var(--vellum-200);background:#ffffff0a;border-color:#ffffff24}.lens-content{z-index:1;background:#051310;gap:15px;min-height:calc(100% - 82px);padding:18px;display:grid;position:relative}.lens-entity-type{flex-wrap:wrap;gap:7px;display:flex}.lens-description{color:#ffffffad}.lens-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lens-summary-stats>div{border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:#ffffff0b;flex-direction:column;justify-content:center;min-height:76px;padding:11px;display:flex}.lens-summary-stats span{color:var(--teal-300);text-transform:uppercase;font-size:.75rem}.lens-summary-stats strong{color:var(--vellum-50);font-family:var(--serif);font-size:1.45rem;font-weight:500}.tag-ledger h3,.modifier-ledger h3,.downstream-list h3{color:var(--vellum-200);letter-spacing:.06em;text-transform:uppercase;margin:4px 0 9px;font-size:.8rem}.tag-ledger>div,.modifier-ledger>div{border-bottom:1px solid #e3cfa91a;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:10px;padding:9px 0;display:grid}.tag-ledger code{color:var(--copper-300);overflow-wrap:anywhere}.tag-ledger span{color:#ffffffa3;overflow-wrap:anywhere}.modifier-ledger>div{grid-template-columns:minmax(0,1fr) auto}.modifier-ledger>div>span{flex-direction:column;display:flex}.modifier-ledger small{color:#ffffff6e}.modifier-ledger b{color:var(--copper-300);font-family:var(--serif);font-size:1.1rem}.calculation-note{border-radius:var(--radius-sm);color:#bad8ef;background:#2d5d8329;border:1px solid #5795c338;gap:9px;padding:12px;display:flex}.downstream-list{display:grid}.downstream-list>button{min-height:52px;color:var(--vellum-100);text-align:left;background:0 0;border:0;border-bottom:1px solid #e3cfa91a;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:7px 0;display:grid}.downstream-list>button>span:last-child{flex-direction:column;display:flex}.downstream-list small{color:#ffffff6e}.severity-dot{background:var(--warning-700);border-radius:50%;width:9px;height:9px}.severity-error{background:#da706a}.severity-info{background:var(--arcane-500)}.lens-roll{border-radius:var(--radius-sm);min-height:44px;color:var(--vellum-50);background:#b55b3833;border:1px solid #e2a17a66;justify-content:center;align-items:center;gap:7px;display:flex}.modal-layer{z-index:120;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:#020807c2;place-items:center;padding:22px;animation:.16s both veil-in;display:grid;position:fixed;inset:0}@keyframes veil-in{0%{opacity:0}}.modal-card{border-radius:var(--radius-xl);width:min(620px,100%);max-height:min(90dvh,920px);color:var(--ink-950);background:radial-gradient(circle at 95% 0, #5795c31a, transparent 24%), var(--vellum-100);box-shadow:var(--shadow-lg);border:1px solid #e2a17a4d;flex-direction:column;animation:.18s both modal-in;display:flex;overflow:hidden}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.modal-medium{width:min(760px,100%)}.modal-large{width:min(1100px,100%)}.modal-full{width:min(1480px,100%);height:min(92dvh,980px);max-height:92dvh}.modal-card>header{z-index:2;color:var(--vellum-100);background:linear-gradient(90deg, #b55b381f, transparent 42%), var(--obsidian-800);border-bottom:1px solid #e3cfa924;flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:19px 21px;display:flex;position:relative}.modal-card>header .panel-eyebrow{color:var(--copper-300)}.modal-card>header h2{color:var(--vellum-50);font-family:var(--serif);margin:4px 0 3px;font-size:1.55rem;font-weight:500}.modal-card>header p{color:#ffffff80;margin:0}.modal-card>header .icon-button{color:var(--vellum-200);background:#ffffff0a;border-color:#ffffff24}.modal-body{flex:1;min-height:0;padding:20px;overflow:auto}.picker-layout{grid-template-columns:minmax(530px,1.4fr) minmax(330px,.6fr);gap:16px;height:100%;min-height:0;display:grid}.picker-results{flex-direction:column;min-width:0;min-height:0;display:flex}.picker-list{flex:1;min-height:0;overflow:auto}.picker-list>header,.picker-list>button{grid-template-columns:42px minmax(190px,1fr) minmax(150px,.7fr) 100px 18px}.picker-list>header{z-index:1;position:sticky;top:0}.picker-detail{border-radius:var(--radius-lg);background:radial-gradient(circle at 100% 0,#5795c324,#0000 30%),#fffdf7b3;border:1px solid #2d5d832e;flex-direction:column;align-items:flex-start;min-width:0;min-height:0;padding:22px;display:flex;overflow:auto}.picker-detail-icon{width:64px;height:72px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d8338;border-radius:32px 32px 10px 10px;place-items:center;margin-bottom:14px;display:grid}.picker-detail h2{font-family:var(--serif);margin:8px 0 7px;font-size:1.8rem;font-weight:500}.picker-detail>p{color:var(--ink-600)}.picker-tag-list{border:1px solid var(--line);background:var(--line);gap:1px;width:100%;margin:10px 0 18px;display:grid}.picker-tag-list>div{background:#fffdf7eb;grid-template-columns:minmax(90px,.38fr) minmax(0,1fr);gap:10px;padding:8px 9px;display:grid}.picker-tag-list code{color:var(--copper-700);overflow-wrap:anywhere}.picker-tag-list span{color:var(--ink-600);overflow-wrap:anywhere}.select-entity{border-radius:var(--radius-sm);border:1px solid;justify-content:center;align-items:center;gap:7px;width:100%;min-height:46px;margin-top:auto;padding:0 14px;display:flex;position:sticky;bottom:0}.picker-detail-empty{width:100%;height:100%;min-height:260px;color:var(--ink-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.picker-detail-empty strong{color:var(--ink-800)}.portrait-studio{grid-template-columns:minmax(320px,.85fr) minmax(380px,1.15fr);gap:22px;display:grid}.portrait-preview{background:radial-gradient(circle, #b55b382e, transparent 50%), var(--obsidian-900);border:1px solid #7e38254d;border-radius:110px 110px 22px 22px;place-items:center;min-height:520px;display:grid;position:relative;overflow:hidden}.portrait-preview>div{width:100%;height:100%;overflow:hidden}.portrait-preview img{object-fit:cover;object-position:var(--portrait-x) var(--portrait-y);width:100%;height:100%;transform:scale(var(--portrait-zoom))}.portrait-preview>.tag{position:absolute;bottom:16px;right:16px}.portrait-controls{flex-direction:column;gap:15px;min-width:0;display:flex}.portrait-controls>label{gap:6px;display:grid}.portrait-gallery{grid-template-columns:repeat(5,minmax(54px,1fr));gap:7px;display:grid}.portrait-gallery button{aspect-ratio:1;background:var(--obsidian-800);border:2px solid #0000;border-radius:50%;padding:0;position:relative;overflow:hidden}.portrait-gallery button.selected{border-color:var(--copper-600);box-shadow:0 0 0 3px #b55b3826}.portrait-gallery button img{object-fit:cover;width:100%;height:100%}.portrait-gallery button>svg{color:var(--white);background:var(--success-700);border-radius:50%;padding:2px;position:absolute;bottom:2px;right:2px}.portrait-gallery .upload-portrait{color:var(--arcane-700);background:var(--arcane-100);flex-direction:column;justify-content:center;align-items:center;display:flex}.portrait-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-top:auto;display:flex}.portrait-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);align-items:center;gap:7px;min-height:40px;padding:0 11px;display:flex}.dice-tray{gap:16px;display:grid}.dice-result{border-radius:var(--radius-lg);min-height:180px;color:var(--arcane-700);background:radial-gradient(circle at 50% 30%,#5795c333,#0000 40%),#dbeaf473;border:1px solid #2d5d8333;align-content:center;place-items:center;display:grid;position:relative;overflow:hidden}.dice-result:after{content:"";border:1px solid #2d5d8314;border-radius:50%;width:220px;height:220px;position:absolute}.dice-result>*{z-index:1;position:relative}.dice-result>span{color:var(--ink-600);margin-top:5px}.dice-result>strong{color:var(--ink-950);font-family:var(--serif);font-size:3.6rem;font-weight:500;line-height:1}.dice-result>small{color:var(--ink-500)}.dice-result.critical-success{color:var(--success-700);background:var(--success-100);border-color:#28654c6b}.dice-result.critical-failure{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b6b}.quick-dice{grid-template-columns:repeat(7,minmax(50px,1fr));gap:7px;display:grid}.quick-dice button{min-height:54px;color:var(--arcane-700);font-family:var(--serif);background:var(--arcane-100);border:1px solid #2d5d8338;border-radius:16px 16px 6px 6px;justify-content:center;align-items:baseline;padding:0;font-size:1.12rem;display:flex}.quick-dice button span{font-size:.75rem}.notation-form{grid-template-columns:minmax(120px,.55fr) minmax(160px,1fr) auto;align-items:end;gap:10px;display:grid}.notation-form>button{border:1px solid var(--arcane-600);border-radius:var(--radius-sm);min-height:42px;color:var(--white);background:var(--arcane-700);align-items:center;gap:7px;padding:0 16px;display:flex}.roll-history{border-top:1px solid var(--line);max-height:300px;overflow:auto}.roll-history>header{justify-content:space-between;align-items:center;padding:12px 2px 7px;display:flex}.roll-history h3{text-transform:uppercase;margin:0;font-size:.85rem}.roll-history>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:50px;padding:7px 2px;display:grid}.roll-history>button>span{flex-direction:column;display:flex}.roll-history small{color:var(--ink-500)}.roll-history b{font-family:var(--serif);font-size:1.2rem}.hp-dialog{gap:17px;display:grid}.hp-preview{border-radius:var(--radius-lg);color:var(--ink-600);background:var(--copper-100);border:1px solid #b55b3833;grid-template-columns:auto auto auto auto auto;justify-content:center;align-items:center;gap:9px;padding:19px;display:grid}.hp-preview strong{color:var(--ink-950);font-family:var(--serif);font-size:2rem;font-weight:500}.hp-preview small{text-align:center;grid-column:1/-1}.hp-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.hp-modes button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:46px;color:var(--ink-600);background:var(--vellum-50);justify-content:center;align-items:center;gap:7px;display:flex}.hp-modes button.active{border-color:var(--copper-600);color:var(--copper-800);background:var(--copper-100)}.amount-input{grid-template-columns:1fr 44px 100px 44px 1fr;align-items:center;display:grid}.amount-input>span{color:var(--ink-700);text-transform:uppercase;grid-column:1/-1;margin-bottom:7px;font-size:.75rem;font-weight:750}.amount-input>button:first-of-type{grid-column:2}.amount-input button{border:1px solid var(--line);background:var(--vellum-150);height:44px}.amount-input input{text-align:center;border-radius:0;height:44px}.apply-hp{border-radius:var(--radius-sm);border:1px solid;min-height:46px;font-weight:750}.condition-dialog{gap:14px;display:grid}.condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.condition-grid>button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:70px;color:var(--ink-700);text-align:left;background:#fffdf7ad;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.condition-grid>button.active{background:var(--danger-100);border-color:#9a3e3b66}.condition-grid>button>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.condition-grid small{color:var(--ink-500)}.rest-options{gap:9px;display:grid}.rest-options>button{border:1px solid var(--line);border-radius:var(--radius-md);min-height:76px;color:var(--ink-800);text-align:left;background:#fffdf7b3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;display:grid}.rest-options>button:hover{background:var(--arcane-100);border-color:#2d5d835c}.rest-options>button>span:first-child{width:42px;height:42px;color:var(--arcane-700);background:var(--arcane-100);border-radius:50%;place-items:center;display:grid}.rest-options>button>span:nth-child(2){flex-direction:column;display:flex}.rest-options small{color:var(--ink-500)}.roster-dialog-actions{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.roster-dialog-list{gap:8px;display:grid}.roster-dialog-list>div{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf7b3;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.roster-dialog-list>div.active{background:var(--success-100);border-color:#28654c59}.roster-dialog-list>div>button:first-child{text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:8px;display:grid}.roster-dialog-list img{object-fit:cover;border-radius:50%;width:48px;height:48px}.roster-dialog-list>div>button:first-child>span{flex-direction:column;display:flex}.roster-dialog-list small{color:var(--ink-500)}.roster-dialog-list>div>.icon-button{margin-right:9px}.mobile-nav-layer{z-index:150;position:fixed;inset:0}.mobile-nav-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020807b8;border:0;width:100%;position:absolute;inset:0}.mobile-nav-layer>nav{z-index:1;width:min(360px,88vw);height:100%;color:var(--vellum-100);background:var(--obsidian-900);box-shadow:var(--shadow-lg);padding:14px;animation:.18s both nav-in;position:relative}@keyframes nav-in{0%{transform:translate(-100%)}}.mobile-nav-layer nav>header{border-bottom:1px solid var(--line-dark);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:17px;padding-bottom:14px;display:grid}.mobile-nav-layer nav>header .icon-button{color:var(--vellum-200);background:#ffffff0a;border-color:#ffffff1f}.mobile-nav-layer nav>button{border-radius:var(--radius-sm);color:#ffffffa8;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:9px 11px;display:grid}.mobile-nav-layer nav>button.active{color:var(--vellum-50);background:#b55b382e}.timeline-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.timeline-summary>span{min-height:78px;color:var(--ink-500);text-transform:uppercase;background:#fffdf7d6;flex-direction:column;justify-content:center;padding:13px 16px;font-size:.75rem;display:flex}.timeline-summary>span strong{color:var(--ink-950);font-family:var(--serif);font-size:1.35rem;font-weight:500}.class-timeline>article{grid-template-columns:40px minmax(0,1fr);gap:10px;display:grid}.timeline-rail{color:var(--ink-500);grid-template-rows:auto 1fr auto;justify-items:center;padding:10px 0;font-size:.75rem;display:grid}.timeline-rail i{background:linear-gradient(var(--copper-500), var(--teal-500));width:2px;min-height:45px;margin:5px 0}.class-progression{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.class-progression span{color:var(--ink-600);background:#3f554c14;border-radius:999px;padding:4px 7px;font-size:.75rem}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.chip-editor{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf799;flex-wrap:wrap;align-items:center;gap:7px;min-height:55px;padding:10px;display:flex}.chip-editor>button{min-height:36px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d832e;border-radius:999px;align-items:center;gap:6px;padding:0 9px;display:flex}.proficiency-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:10px;display:grid}.proficiency-grid>div,.proficiency-grid>button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:49px;color:var(--ink-700);background:#fffdf79e;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;display:grid}.proficiency-grid>button{color:var(--arcane-700);border-style:dashed;grid-template-columns:auto 1fr}.feature-stack{gap:13px;display:grid}.feature-stack>article{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fffdf7ad;overflow:hidden}.feature-stack>article>header{border-bottom:1px solid var(--line);background:#ede1ca66;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.feature-stack>article>header>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.feature-stack>article>header>div:first-child>span:last-child{flex-direction:column;min-width:0;display:flex}.feature-stack>article>header small{color:var(--ink-500)}.feature-stack>article>header button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:36px;color:var(--ink-700);background:var(--vellum-50);flex:none;align-items:center;gap:6px;padding:0 9px;display:flex}.feature-class-icon{width:38px;height:38px;color:var(--copper-700);background:var(--copper-100);border-radius:12px 12px 12px 4px;flex:none;place-items:center;display:grid}.feature-stack .granted-feature-list{flex-wrap:wrap;gap:6px;padding:13px 16px 0;display:flex}.feature-stack .feature-choices{padding:13px 16px 16px}.feature-stack .feature-choices>label{grid-template-columns:minmax(110px,auto) minmax(150px,1fr);display:grid}.feature-stack details{border-top:1px solid var(--line)}.feature-stack summary{color:var(--warning-700);cursor:pointer;background:var(--warning-100);align-items:center;gap:7px;padding:11px 16px;display:flex}.raw-token-list{background:var(--obsidian-900);gap:1px;max-height:280px;padding:12px;display:grid;overflow:auto}.raw-token-list code{color:#c4ddd5;overflow-wrap:anywhere;background:#ffffff09;padding:7px 8px}.skills-head,.skills-row{grid-template-columns:minmax(220px,1.5fr) 48px 112px 70px 82px 62px 70px 44px}.skills-row>.skill-result{color:var(--arcane-700);font-family:var(--serif);text-align:center;font-size:1.12rem}.skills-row>span:first-child>i{background:var(--ink-400,#95a29d);border-radius:50%;flex:none;width:8px;height:8px}.skills-row>span:first-child>i.class-skill{background:var(--copper-600)}.skills-row em{font-weight:500}.skills-row>input{text-align:center;min-height:37px;padding:0 7px}.skills-row .penalty{color:var(--danger-700)}.roll-button,.spell-school{width:38px;height:38px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d832e;border-radius:50%;place-items:center;padding:0;display:grid}.slot-tally{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-500);background:#fffdf79e;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:12px 15px;display:grid}.slot-tally>span{align-items:baseline;gap:4px;font-size:.75rem;display:flex}.slot-tally strong{color:var(--ink-950);font-family:var(--serif);font-size:1.25rem;font-weight:500}.slot-tally>div{background:#3f554c21;border-radius:999px;height:8px;overflow:hidden}.slot-tally>div i{border-radius:inherit;background:linear-gradient(90deg, var(--teal-500), var(--copper-500));height:100%;display:block}.feat-table>.table-head,.feat-table>.feat-row{grid-template-columns:minmax(220px,1.4fr) 70px minmax(180px,.9fr) 130px auto;align-items:center;gap:10px;padding:10px 13px;display:grid}.feat-table>.feat-row{border-bottom:1px solid var(--line);min-height:63px}.feat-table>.feat-row:last-child{border-bottom:0}.feat-table>.feat-row.invalid{background:#f4d9d652}.feat-row>button:first-child{text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:0;display:grid}.feat-row>button:first-child>span:last-child{flex-direction:column;min-width:0;display:flex}.feat-row small{color:var(--ink-500)}.feat-row>input{min-height:38px}.needs-value{border-color:var(--danger-700)!important;background:var(--danger-100)!important}.spell-toolbar{grid-template-columns:minmax(260px,1fr) auto;display:grid}.spell-toolbar>label{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-500);background:var(--vellum-50);align-items:center;gap:8px;padding-left:11px;display:flex}.spell-toolbar>label input{box-shadow:none;background:0 0;border:0}.caster-dc{border-radius:var(--radius-sm);color:var(--arcane-700);background:var(--arcane-100);grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;gap:0 9px;padding:4px 11px;display:grid}.caster-dc strong{font-family:var(--serif);grid-area:1/2/3;font-size:1.45rem;font-weight:500}.caster-dc small{color:var(--ink-500)}.prepared-control{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);grid-template-columns:29px 32px 29px;gap:0;display:grid;overflow:hidden}.prepared-control button{background:var(--vellum-150);border:0;min-height:34px}.prepared-control strong{text-align:center}.prepared-control small{text-align:center;grid-column:1/-1;padding:2px}.prepared-control.spontaneous-slots{flex-direction:column;justify-content:center;align-items:center;min-width:96px;padding:4px 9px;display:flex}.spell-slot-ledger{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.spell-slot-ledger>section{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffff73;min-width:0;padding:13px}.spell-slot-ledger section>header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.spell-slot-ledger section>header>span{flex-direction:column;min-width:0;display:flex}.spell-slot-ledger section>header small,.spell-slot-ledger p,.spell-slot-ledger em{color:var(--ink-500);font-size:.75rem;font-style:normal}.spell-slot-ledger section>div{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:6px;display:grid}.spell-slot-ledger section>div>span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);flex-direction:column;align-items:center;min-width:0;padding:7px 4px;display:flex}.spell-slot-ledger section>div>span.improved{border-color:var(--copper-500);background:var(--copper-100)}.spell-slot-ledger section>div strong{color:var(--arcane-700);font-family:var(--serif);font-size:1.25rem}.spell-slot-ledger p{margin:9px 0 0}.currency-row{border-radius:var(--radius-md);color:var(--gold-600);background:#f4e7c785;border:1px solid #9f772e33;align-items:flex-end;gap:10px;margin-bottom:14px;padding:13px;display:flex}.currency-row>svg{align-self:center}.currency-row label{flex-direction:column;gap:4px;max-width:110px;display:flex}.currency-row label span{font-size:.75rem;font-weight:750}.load-band{grid-template-columns:minmax(170px,auto) minmax(220px,1fr) auto auto;align-items:center}.load-band>div:first-child{color:var(--copper-700);align-items:center;gap:8px;display:flex}.load-band>div:first-child>span{color:var(--ink-500);flex-direction:column;font-size:.75rem;display:flex}.load-band>div:first-child strong{color:var(--ink-950);font-family:var(--serif);font-size:1.15rem;font-weight:500}.load-band .load-track{grid-column:auto;position:relative}.load-track>b{background:var(--ink-700);width:1px;height:14px;position:absolute;top:-3px}.inventory-row>button:first-child{text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:0;display:grid}.inventory-row>button:first-child>span:last-child{flex-direction:column;min-width:0;display:flex}.charge-control{grid-template-columns:48px auto 48px;gap:4px;display:grid}.charge-control input{text-align:center;width:48px;min-height:37px;padding:0 5px}.set-charges{min-height:36px;color:var(--arcane-700);padding:0 9px}.equip-button.on{color:var(--success-700);background:var(--success-100);border-color:#28654c4d}.companion-grid>article{grid-template-columns:auto minmax(0,1fr) auto}.companion-art{width:62px;height:74px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d832e;border-radius:31px 31px 10px 10px;place-items:center;display:grid}.companion-grid label{color:var(--ink-500);align-items:center;gap:8px;margin:8px 0;font-size:.75rem;font-weight:700;display:flex}.companion-grid label>span{align-items:center;gap:5px;display:flex}.companion-grid label input{width:68px;min-height:37px}.companion-grid textarea{min-height:80px}@media (max-width:1450px){.global-header{grid-template-columns:auto minmax(330px,.85fr) minmax(210px,1fr) auto;padding-inline:17px}.product-nav button{padding-inline:10px}.save-indicator span{display:none}.character-switcher{max-width:210px}.masthead-actions button{padding-inline:10px}}@media (max-width:1260px){.global-header{grid-template-columns:auto minmax(300px,.85fr) minmax(190px,1fr) auto}.vellum-brand{min-width:195px}.product-nav button{font-size:.82rem}.character-switcher small,.global-search kbd{display:none}.character-switcher{max-width:175px}.character-masthead{grid-template-columns:auto minmax(230px,1fr) auto}.masthead-meta{border-right:0}.masthead-actions{grid-column:1/-1;justify-content:flex-end;margin-top:-10px}.combat-ribbon{scroll-snap-type:x proximity;display:flex}.hp-ribbon{scroll-snap-align:start;min-width:190px;padding-left:24px}.stat-medallion{scroll-snap-align:start;min-width:102px}.rules-lens{box-shadow:-100vw 0 #0208076b,-22px 0 60px #00000057}.play-dashboard{grid-template-columns:1fr 1fr}.ability-medallions{grid-template-columns:repeat(3,minmax(100px,1fr))}.attack-grid{grid-template-columns:1fr}.feature-play-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-play-columns>section:last-child{grid-column:1/-1}}@media (max-width:1100px){.global-header{grid-template-columns:auto auto minmax(200px,1fr) auto}.mobile-menu{margin-right:9px;display:grid}.product-nav{display:none}.global-search{width:min(100%,500px)}.character-masthead{min-height:100px;padding-inline:18px}.masthead-portrait{width:70px;height:70px}.masthead-meta span{min-width:64px;padding-inline:10px}.builder-layout,.play-layout{display:block}.builder-rail{z-index:45;border-right:0;border-bottom:1px solid var(--line);gap:6px;padding:9px 13px;display:flex;position:sticky;top:70px;overflow-x:auto;box-shadow:0 8px 20px #111a1814}.builder-rail-heading,.builder-progress-track,.build-integrity{display:none}.builder-rail nav{gap:6px;width:100%;display:flex;overflow-x:auto}.builder-rail nav>button{grid-template-columns:24px 18px minmax(0,1fr);width:190px;min-width:190px;min-height:50px;padding:6px 9px}.builder-rail nav>button>b,.builder-rail nav>button>.step-check{position:absolute;top:4px;right:4px}.builder-workspace{padding:29px 24px 102px}.builder-footer{padding:10px 22px max(10px, env(safe-area-inset-bottom));position:fixed;left:0;right:0}.play-tabs{z-index:44;border-right:0;border-bottom:1px solid var(--line);gap:5px;padding:8px 12px;display:flex;position:sticky;top:70px;overflow-x:auto;box-shadow:0 8px 20px #111a1812}.play-tabs button{scroll-snap-align:start;grid-template-columns:auto auto auto;width:auto;min-width:max-content;margin:0;padding-inline:12px}.play-workspace{padding:28px 24px 90px}.library-layout{grid-template-columns:220px minmax(0,1fr)}.library-workspace{padding:30px 24px 70px}.catalog-toolbar.large{grid-template-columns:minmax(240px,1fr) 190px}.catalog-toolbar.large select:last-child{grid-column:1/-1}.source-table,.ability-ledger,.skills-ledger,.feat-table,.inventory-table,.pack-list,.compendium-results{overflow-x:auto}.source-table>*,.ability-ledger>*,.skills-ledger>*,.feat-table>*,.inventory-table>*,.pack-list>*,.compendium-results>*{min-width:760px}.ability-ledger>*{min-width:840px}.skills-ledger>*{min-width:860px}.inventory-table>*{min-width:920px}.campaign-system-grid{grid-template-columns:1fr}.campaign-system-grid>section+section{border-top:1px solid #2d5d8324;border-left:0}.campaign-system-grid>section{overflow-x:auto}.custom-rule-row,.resource-editor-row{min-width:620px}.modal-full{width:calc(100vw - 28px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}.picker-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.portrait-studio{grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr)}.portrait-preview{min-height:470px}}@media (max-width:900px){.global-header{grid-template-columns:auto auto minmax(160px,1fr) auto}.vellum-brand{min-width:0}.vellum-brand small,.header-actions>.icon-button,.save-indicator{display:none}.character-switcher{max-width:148px}.character-masthead{grid-template-columns:auto minmax(0,1fr) auto;gap:15px}.masthead-meta{display:none}.masthead-actions{flex-direction:column;grid-column:auto;align-items:stretch;margin:0}.masthead-actions button{min-height:33px}.identity-editor{grid-template-columns:235px minmax(0,1fr)}.race-settings,.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.class-level-card{grid-template-columns:46px minmax(0,1fr)}.play-dashboard{grid-template-columns:1fr}.ability-section,.skills-section{grid-area:auto}.maneuver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-slots,.feature-play-columns{grid-template-columns:1fr}.feature-play-columns>section:last-child{grid-column:auto}.notes-layout{grid-template-columns:1fr}.session-log{max-height:460px}.library-layout{display:block}.library-sidebar{z-index:43;border-right:0;border-bottom:1px solid var(--line);padding:9px 12px;position:sticky;top:70px;overflow:hidden;box-shadow:0 8px 20px #111a1812}.library-sidebar>.panel-eyebrow,.library-sidebar>h2,.library-health{display:none}.library-sidebar nav{gap:5px;max-height:none;display:flex;overflow-x:auto}.library-sidebar nav button{scroll-snap-align:start;grid-template-columns:auto auto auto;min-width:max-content}.library-workspace{padding-top:26px}.picker-layout{grid-template-rows:minmax(280px,1fr) minmax(240px,.8fr);grid-template-columns:1fr}.picker-detail{min-height:0}.portrait-studio{grid-template-columns:1fr}.portrait-preview{min-height:min(56dvh,500px)}.roster-card-main{grid-template-columns:115px minmax(0,1fr)}}@media (max-width:700px){.global-header{grid-template-columns:auto minmax(0,1fr) auto;min-height:64px;padding-inline:10px}.mobile-menu{margin-right:0}.vellum-brand{justify-self:start;margin-left:8px}.vellum-brand strong{font-size:1.1rem}.vellum-sigil{width:38px;height:38px}.global-search{display:none}.character-switcher{border-radius:50%;width:44px;min-height:44px;padding:4px}.character-switcher>span,.character-switcher>svg{display:none}.character-switcher img{width:34px;height:34px}.character-masthead{grid-template-columns:62px minmax(0,1fr);min-height:92px;padding:11px 13px}.masthead-portrait{border-radius:26px 26px 9px 9px;width:60px;height:66px}.masthead-portrait>span{display:none}.masthead-identity h2{font-size:1.55rem}.masthead-identity p{font-size:.8rem}.masthead-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.masthead-actions button{min-height:38px;padding:0 7px;font-size:.75rem}.combat-ribbon{min-height:76px}.hp-ribbon{min-width:165px;padding-left:15px}.stat-medallion{min-width:94px}.hp-ribbon strong{font-size:1.55rem}.stat-medallion strong{font-size:1.28rem}.builder-rail,.play-tabs,.library-sidebar{top:64px}.builder-rail nav>button{grid-template-columns:1fr;justify-items:center;gap:2px;width:58px;min-width:58px;padding:5px}.builder-rail nav>button>svg,.builder-rail nav>button>span:nth-of-type(2){display:none}.step-index{width:27px;height:27px}.builder-workspace,.play-workspace,.library-workspace{padding:23px 14px 94px}.panel-title{gap:14px;margin-bottom:20px;display:grid}.panel-title h1{font-size:2rem}.panel-title-action{justify-content:flex-start}.studio-form-grid,.three-columns{grid-template-columns:1fr}.identity-editor{grid-template-columns:1fr;padding:15px}.portrait-editor{justify-self:center;width:min(100%,300px)}.editorial-callout{grid-template-columns:auto minmax(0,1fr)}.editorial-callout button{grid-column:1/-1}.library-stat-band{grid-template-columns:repeat(2,minmax(0,1fr))}.library-stat-band>div:nth-child(2){border-right:0}.library-stat-band>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.source-mode-row{align-items:stretch}.source-mode-row>label{margin-left:0}.selection-hero{grid-template-columns:auto minmax(0,1fr);padding:17px}.selection-emblem{width:65px;height:78px}.selection-hero>button{grid-column:1/-1;justify-self:end}.race-settings{grid-template-columns:1fr 1fr}.method-tabs{align-items:stretch}.method-tabs>button{min-width:124px}.dice-group-panel{grid-template-columns:1fr}.rolled-group{grid-template-columns:repeat(6,1fr)}.rolled-group>span,.rolled-group>button{grid-column:1/-1}.rolled-group>button{justify-self:stretch}.timeline-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.class-timeline>article{grid-template-columns:28px minmax(0,1fr)}.class-level-card{grid-template-columns:42px minmax(0,1fr);padding:12px}.class-level-card>:nth-child(n+3){grid-column:1/-1}.feature-stack>article>header{align-items:flex-start}.feature-stack .feature-choices>label,.spell-toolbar{grid-template-columns:1fr}.spell-row{min-width:740px}.spell-level-groups>section{overflow-x:auto}.currency-row{grid-template-columns:auto repeat(2,minmax(0,1fr));display:grid}.currency-row>svg{grid-row:1/3}.currency-row label{max-width:none}.load-band{grid-template-columns:1fr auto}.load-band .load-track{grid-column:1/-1}.readiness-hero{grid-template-columns:auto minmax(0,1fr)}.readiness-hero .play-now{grid-column:1/-1}.export-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.export-panel>div:first-child{grid-column:1/-1}.play-heading{flex-direction:column;align-items:flex-start;gap:13px}.play-heading h1{font-size:2.25rem}.quick-actions,.round-controls{max-width:100%;overflow-x:auto}.ability-medallions{scroll-snap-type:x proximity;display:flex;overflow-x:auto}.ability-medallions button{scroll-snap-align:start;min-width:112px}.defense-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.active-condition-list>div{grid-template-columns:auto minmax(0,1fr) auto}.active-condition-list .condition-rounds{grid-column:2}.resource-row{grid-template-columns:minmax(90px,1fr) auto}.resource-row>strong{grid-area:1/2}.resource-row>div{grid-column:1/-1}.attack-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.attack-numbers>:nth-child(2){border-right:0}.attack-numbers>:nth-child(-n+2){border-bottom:1px solid var(--line)}.maneuver-grid,.spell-play-grid,.feature-play-columns,.notes-editor{grid-template-columns:1fr}.notes-editor label{grid-column:auto!important}.progression-hero{grid-template-columns:1fr}.level-ledger article{grid-template-columns:auto minmax(0,1fr)}.level-feature-tags{grid-column:1/-1}.catalog-toolbar,.catalog-toolbar.large{grid-template-columns:1fr}.catalog-toolbar.large select:last-child{grid-column:auto}.roster-view{padding:38px 14px 82px}.roster-view .panel-title h1{font-size:2.75rem}.roster-grid{grid-template-columns:1fr}.rules-lens{width:100vw;max-width:none;height:100dvh;max-height:100dvh;box-shadow:none;background-color:#051310;background-image:none;top:0}.rules-lens .lens-content{background-color:#051310;min-height:calc(100dvh - 76px)}.rules-lens>header{padding-top:max(15px, env(safe-area-inset-top))}.rules-lens-open{top:auto;right:12px;bottom:calc(90px + env(safe-area-inset-bottom));border-right:1px solid #e2a17a57;border-radius:10px}.modal-layer{place-items:stretch stretch;padding:0}.modal-card,.modal-medium,.modal-large,.modal-full{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.modal-card>header{padding-top:max(15px, env(safe-area-inset-top))}.modal-body{padding:14px;padding-bottom:max(16px, env(safe-area-inset-bottom))}.picker-layout{grid-template-rows:minmax(280px,1fr) minmax(250px,.85fr);gap:10px}.picker-list>*,.compendium-results>*{min-width:680px}.picker-list{overflow:auto}.portrait-preview{min-height:47dvh}.condition-grid{grid-template-columns:1fr}.quick-dice{grid-template-columns:repeat(4,minmax(50px,1fr))}.notation-form{grid-template-columns:1fr}.hp-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-toast{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));left:12px}.floating-dice{right:14px;bottom:max(14px, env(safe-area-inset-bottom))}.view-builder .floating-dice{bottom:calc(88px + env(safe-area-inset-bottom))}.view-roster .studio-main{background-position:24%}.view-library .studio-main{background:linear-gradient(90deg, #faf5e9f7, #fffdf7f0), url(/art/archive-bg.webp) 78% top / auto 780px no-repeat, var(--vellum-100)}}@media (max-width:480px){.vellum-brand>span:last-child{display:none}.masthead-actions button{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-title h1{font-size:1.8rem}.race-settings,.selection-hero{grid-template-columns:1fr}.selection-emblem{width:58px;height:66px}.library-stat-band{grid-template-columns:1fr}.library-stat-band>div{border-right:0;border-bottom:1px solid var(--line);min-height:66px}.export-panel{grid-template-columns:1fr}.export-panel>div:first-child{grid-column:auto}.export-panel button{width:100%}.defense-grid{grid-template-columns:1fr}.attack-grid{grid-template-columns:minmax(0,1fr)}.attack-grid>article>footer{grid-template-columns:1fr 1fr;display:grid}.roster-card-main{grid-template-columns:96px minmax(0,1fr)}.roster-portrait{height:144px}.roster-grid>article>footer>button:not(.icon-button){font-size:.75rem}.portrait-gallery{grid-template-columns:repeat(3,minmax(54px,1fr))}.hp-preview{grid-template-columns:auto auto}.hp-preview svg{display:none}.hp-preview small{grid-column:1/-1}.roster-dialog-actions{grid-template-columns:1fr 1fr;display:grid}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.global-header,.rules-lens>header,.builder-footer{background:var(--obsidian-900)}.builder-footer{background:var(--vellum-100)}.roster-grid>article,.new-character-card{background:var(--obsidian-850)}}@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 (forced-colors:active){*{forced-color-adjust:auto}.tag,.source-pill,.icon-button,.stat-medallion,.resource-pip:after,.switch,button{border:1px solid buttontext}}@media print{@page{margin:12mm}body,.studio-shell,.studio-main,.play-workspace,.builder-workspace{color:#000!important;background:#fff!important}.global-header,.character-masthead,.combat-ribbon,.builder-rail,.builder-footer,.play-tabs,.library-sidebar,.floating-dice,.rules-lens,.rules-lens-open,.roll-toast,.modal-layer{display:none!important}.builder-layout,.play-layout,.library-layout,.play-dashboard{display:block!important}.studio-main,.builder-layout,.play-layout,.play-workspace,.builder-workspace{min-height:0!important;padding:0!important}.play-dashboard>section,.action-section,.feature-play-columns>section,.spell-play-grid>article,.attack-grid>article,.level-ledger article{break-inside:avoid;color:#000!important;box-shadow:none!important;background:#fff!important}.play-skill-list,.session-log,.raw-token-list,.source-table,.ability-ledger,.skills-ledger,.feat-table,.inventory-table,.pack-list,.compendium-results{max-height:none!important;overflow:visible!important}}.profile-badge{min-height:44px;color:var(--teal-300);letter-spacing:.07em;text-transform:uppercase;background:#397a6d1a;border:1px solid #75aa9d5c;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:800;display:inline-flex}.profile-badge:hover,.profile-badge.active{color:var(--vellum-50);background:#397a6d3d;border-color:#75aa9dad}.view-profile .character-masthead,.view-profile .combat-ribbon,.view-profile .floating-dice,.view-profile .rules-lens-open,.view-profile .header-actions>.icon-button,.view-profile .header-actions>.save-indicator,.view-profile .header-actions>.character-switcher{display:none}.view-profile .studio-main{background:linear-gradient(110deg, #ede1caf7, #faf5e9fa 42%, #ede1caf5), url(/art/archive-bg.webp) center top / cover fixed no-repeat, var(--vellum-100);min-height:calc(100dvh - 70px)}.profile-view{width:min(100%,1480px);min-height:calc(100dvh - 70px);margin:0 auto;padding:clamp(22px,3.5vw,54px)}.profile-loading-state{min-height:60vh;color:var(--ink-700);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.profile-loading-state button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);align-items:center;gap:7px;min-height:44px;padding:0 16px;display:inline-flex}.profile-hero{border-radius:var(--radius-xl);color:var(--vellum-100);background:radial-gradient(circle at 92% 15%, #5795c32e, transparent 30%), linear-gradient(135deg, var(--obsidian-900), var(--obsidian-850));box-shadow:var(--shadow-md);border:1px solid #e2a17a4d;grid-template-columns:auto minmax(0,1fr) minmax(280px,auto);align-items:center;gap:clamp(18px,3vw,38px);padding:clamp(26px,4vw,50px);display:grid;position:relative;overflow:hidden}.profile-hero:after{content:"";border:1px solid #d7b76f1f;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-120px;right:-70px}.profile-avatar{z-index:1;width:84px;height:84px;color:var(--copper-300);background:#b55b3821;border:1px solid #e2a17a73;border-radius:26px;place-items:center;display:grid;position:relative}.profile-hero>div:nth-child(2),.profile-cloud-seal{z-index:1;min-width:0;position:relative}.profile-hero h1{font-family:var(--serif);margin:5px 0 7px;font-size:clamp(2rem,4vw,3.4rem);font-weight:500}.profile-hero p{color:#faf5e9b3;max-width:760px;margin:0}.profile-cloud-seal{border-radius:var(--radius-md);background:#06100f80;border:1px solid #75aa9d47;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.profile-cloud-seal>svg{color:var(--teal-300)}.profile-cloud-seal span{min-width:0;display:grid}.profile-cloud-seal small{color:#faf5e994;text-overflow:ellipsis;overflow:hidden}.profile-feedback{border-radius:var(--radius-md);color:var(--success-700);background:var(--success-100);border:1px solid #28654c3d;align-items:center;gap:10px;margin:18px 0 0;padding:13px 16px;display:flex}.profile-feedback.error{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b47}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#fffdf7e6;padding:clamp(20px,2.5vw,32px)}.profile-card>header{align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.profile-card>header>span{width:42px;height:42px;color:var(--copper-700);background:var(--copper-100);border-radius:13px;flex:none;place-items:center;display:grid}.profile-card h2,.ai-portrait-workbench h3{font-family:var(--serif);margin:0;font-weight:600}.profile-card header p,.ai-portrait-workbench header p{color:var(--ink-500);margin:3px 0 0}.profile-fields,.profile-onboarding-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-fields .field.wide,.profile-onboarding-fields .field.wide{grid-column:1/-1}.profile-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:#faf5e99e;grid-column:1/-1;align-items:flex-start;gap:11px;min-height:66px;padding:12px;display:flex}.profile-toggle input{flex:none;margin-top:2px}.profile-toggle span{gap:2px;display:grid}.profile-toggle small{color:var(--ink-500)}.credential-card{flex-direction:column;display:flex}.assistant-preferences-card{grid-column:1/-1}.assistant-preference-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.assistant-preference-fields>.wide{grid-column:auto}.credential-status{border-radius:var(--radius-md);color:var(--warning-700);background:var(--warning-100);border:1px solid #8e642042;align-items:center;gap:11px;margin-bottom:16px;padding:14px;display:flex}.credential-status.connected{color:var(--success-700);background:var(--success-100);border-color:#28654c42}.credential-status span{display:grid}.credential-status small{color:currentColor;opacity:.74}.secret-input{grid-template-columns:minmax(0,1fr) 44px;display:grid}.secret-input input{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.secret-input button{border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--vellum-100);border:1px solid #35494140;border-left:0;place-items:center;min-height:42px;display:grid}.credential-privacy{border-left:3px solid var(--arcane-600);color:var(--ink-600);background:#dbeaf480;align-items:flex-start;gap:10px;margin-top:14px;padding:13px;display:flex}.credential-privacy svg{color:var(--arcane-700);flex:none}.credential-privacy p{margin:0}.profile-card-actions,.profile-save-bar,.onboarding-actions,.profile-remove-confirm>div,.ai-portrait-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.profile-card-actions{margin-top:auto;padding-top:18px}.profile-card-actions button,.profile-save-bar button,.onboarding-actions button,.profile-remove-confirm button,.ai-portrait-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 15px;display:inline-flex}.profile-card-actions .danger-subtle,.profile-remove-confirm .danger{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b4d}.profile-save-bar{z-index:4;bottom:max(14px, env(safe-area-inset-bottom));border-radius:var(--radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7f0;border:1px solid #3549412e;justify-content:space-between;margin-top:18px;padding:13px 16px;position:sticky}.profile-save-bar span{color:var(--ink-600);align-items:center;gap:8px;display:flex}.profile-save-bar .primary,.onboarding-actions .primary,.ai-portrait-actions .generate-portrait{border-color:var(--copper-600);color:var(--white);background:var(--copper-600);box-shadow:0 8px 22px #7e38252e}.profile-remove-confirm,.profile-onboarding{gap:18px;display:grid}.profile-remove-confirm{text-align:center;justify-items:center}.profile-remove-confirm>svg{color:var(--danger-700)}.profile-remove-confirm p{max-width:500px;margin:0}.onboarding-cloud-art{border-radius:var(--radius-md);color:var(--teal-300);background:var(--obsidian-900);border:1px solid #75aa9d3d;align-items:center;gap:13px;padding:18px;display:flex}.onboarding-cloud-art span{display:grid}.onboarding-cloud-art small{color:#faf5e994}.onboarding-actions{justify-content:space-between}.onboarding-actions>span{color:var(--ink-500)}.ai-portrait-workbench{border-radius:var(--radius-md);background:radial-gradient(circle at 95% 0,#5795c31f,#0000 34%),#dbeaf452;border:1px solid #3f78a33d;gap:14px;padding:17px;display:grid}.ai-portrait-workbench>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.ai-portrait-workbench>header>span:first-child{width:38px;height:38px;color:var(--arcane-700);background:var(--arcane-100);border-radius:12px;place-items:center;display:grid}.ai-portrait-workbench h3{font-size:1.1rem}.ai-portrait-workbench header p{font-size:.83rem}.ai-portrait-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ai-portrait-fields .field.wide{grid-column:1/-1}.ai-generation-message{border-radius:var(--radius-sm);color:var(--arcane-700);background:var(--arcane-100);align-items:center;gap:8px;padding:10px 12px;display:flex}.ai-generation-message.error{color:var(--danger-700);background:var(--danger-100)}.ai-portrait-actions{justify-content:space-between}.ai-portrait-actions>span{max-width:55%;color:var(--ink-500);font-size:.8rem}@media (max-width:1180px){.profile-hero{grid-template-columns:auto minmax(0,1fr)}.profile-cloud-seal{grid-column:1/-1}.profile-grid{grid-template-columns:1fr}}@media (max-width:760px){.profile-badge span{display:none}.profile-badge{justify-content:center;width:44px;padding:0}.profile-view{padding:14px 12px 90px}.profile-hero{grid-template-columns:1fr;padding:24px 20px}.profile-avatar{width:64px;height:64px}.profile-cloud-seal{grid-column:auto;grid-template-columns:auto minmax(0,1fr)}.profile-cloud-seal .tag{grid-column:1/-1;width:max-content}.profile-card{padding:19px 16px}.profile-fields,.profile-onboarding-fields,.ai-portrait-fields{grid-template-columns:1fr}.assistant-preference-fields>.wide{grid-column:1/-1}.profile-save-bar,.onboarding-actions,.ai-portrait-actions{flex-direction:column;align-items:stretch}.profile-save-bar button,.onboarding-actions button,.ai-portrait-actions button,.ai-portrait-actions>span{width:100%;max-width:none}.ai-portrait-workbench>header{grid-template-columns:auto minmax(0,1fr)}.ai-portrait-workbench>header .tag{grid-column:1/-1;width:max-content}}@media (forced-colors:active){.profile-hero,.profile-cloud-seal,.profile-card,.credential-status,.profile-toggle,.profile-save-bar,.ai-portrait-workbench,.ai-generation-message{border:1px solid canvastext}}@media print{.profile-badge,.profile-save-bar,.profile-card-actions,.ai-portrait-workbench{display:none!important}}.session-gate{min-width:320px;min-height:100dvh;color:var(--vellum-100);background:linear-gradient(90deg, #020908eb, #06141294 50%, #020908eb), linear-gradient(180deg, #030a0938, #030a09e0), url(/art/archive-bg.webp) center / cover fixed no-repeat, var(--obsidian-950);isolation:isolate;place-items:center;padding:clamp(20px,5vw,72px);display:grid;position:relative;overflow:hidden}.session-gate:before,.session-gate:after{z-index:-1;pointer-events:none;content:"";position:absolute}.session-gate:before{background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 5px),radial-gradient(circle at 50% 48%,#0000 0 19%,#01070633 52%,#010706b8 100%);inset:0}.session-gate:after{aspect-ratio:1;border:1px solid #5795c31c;border-radius:50%;width:min(68vw,760px);box-shadow:inset 0 0 0 42px #5795c305,inset 0 0 0 43px #5795c314,0 0 110px #2d5d8317}.session-card{border-radius:var(--radius-xl);width:min(100%,570px);color:var(--ink-900);background:linear-gradient(135deg, #fffdf7f7, #f5edddf7), var(--vellum-100);box-shadow:var(--shadow-lg);border:1px solid #e2a17a5c;padding:clamp(28px,5vw,52px);position:relative;overflow:hidden}.session-card:before{content:"";background:linear-gradient(90deg, var(--copper-800), var(--copper-500) 48%, var(--arcane-600));height:4px;position:absolute;top:0;left:0;right:0}.session-card>.vellum-sigil{width:52px;height:52px;color:var(--copper-700);background:var(--copper-100);border:1px solid #b55b383d;border-radius:50%;margin-bottom:22px}.session-card>.panel-eyebrow{color:var(--copper-700);margin-bottom:9px;display:block}.session-card h1,.session-card h2{font-family:var(--serif);letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(2rem,6vw,3.25rem);font-weight:500;line-height:1}.session-card p{max-width:48ch;color:var(--ink-600);margin:0;font-size:.95rem;line-height:1.65}.session-card>button,.session-card>a,.session-card .dual-actions>a{border:1px solid var(--copper-700);border-radius:var(--radius-sm);min-height:44px;color:var(--white);background:var(--copper-700);justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:0 17px;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 8px 24px #7e382533}.session-card .dual-actions{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.session-card .dual-actions>a{margin-top:0}.session-card .dual-actions>a:not(.primary-compact){color:var(--ink-700);box-shadow:none;background:0 0;border-color:#3549413d}.session-gate.loading .session-card{text-align:center}.session-gate.loading .session-card>.vellum-sigil{animation:1.1s linear infinite admin-orbit}.session-gate.denied .session-card{border-color:#9a3e3b70}.session-gate.denied .session-card:before{background:var(--danger-700)}.session-gate.denied .session-card>.vellum-sigil{color:var(--danger-700);background:var(--danger-100)}@keyframes admin-orbit{to{transform:rotate(1turn)}}.admin-badge{min-height:44px;color:var(--copper-300);letter-spacing:.09em;text-transform:uppercase;background:#b55b381f;border:1px solid #e2a17a6b;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:800;line-height:1;display:inline-flex}.view-admin .character-masthead,.view-admin .combat-ribbon,.view-admin .floating-dice,.view-admin .rules-lens-open,.view-admin .header-actions>.icon-button,.view-admin .header-actions>.save-indicator,.view-admin .header-actions>.character-switcher{display:none}.view-admin .header-actions{min-width:max-content}.view-admin .studio-main{min-height:calc(100dvh - 70px);color:var(--ink-900);background:linear-gradient(90deg, #ede1caf7, #faf5e9f7 28%, #faf5e9f2 76%, #ede1caf7), url(/art/archive-bg.webp) center top / cover fixed no-repeat, var(--vellum-100)}.admin-view{width:min(100%,1580px);min-height:calc(100dvh - 70px);margin:0 auto;padding:clamp(20px,3vw,48px)}.admin-hero{border-radius:var(--radius-xl);color:var(--vellum-100);background:radial-gradient(circle at 92% 8%, #5795c324, transparent 28%), var(--obsidian-850);box-shadow:var(--shadow-md);isolation:isolate;border:1px solid #e2a17a4d;grid-template-columns:minmax(280px,1.15fr) minmax(260px,.85fr);gap:clamp(24px,4vw,68px);padding:clamp(26px,4vw,52px);display:grid;position:relative;overflow:hidden}.admin-hero:before,.admin-hero:after{z-index:-1;pointer-events:none;content:"";position:absolute}.admin-hero:before{background:linear-gradient(110deg,#b55b3814,#0000 44%),repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 5px);inset:0}.admin-hero:after{border:1px solid #5795c329;border-radius:50%;width:360px;height:360px;top:-146px;right:-92px;box-shadow:inset 0 0 0 48px #5795c306,inset 0 0 0 49px #5795c317}.admin-hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex;position:relative}.admin-hero .panel-eyebrow{color:var(--copper-300);margin-bottom:12px}.admin-hero-copy .admin-badge{margin-bottom:18px}.admin-hero-copy h1{max-width:13ch;color:var(--vellum-50);font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(2.4rem,5vw,5rem);font-weight:500;line-height:.96}.admin-hero-copy p{color:#faf5e9a8;max-width:62ch;margin:18px 0 0;font-size:.95rem;line-height:1.65}.admin-identity{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #e3cfa92b;grid-template-columns:auto minmax(0,1fr) auto;justify-self:end;align-items:center;gap:13px;width:min(100%,430px);max-width:100%;margin-top:0;padding:10px 14px 10px 10px;display:grid;position:relative}.admin-identity>img,.admin-identity>span:first-child{width:42px;height:42px;color:var(--arcane-100);object-fit:cover;background:#5795c324;border:1px solid #5795c34d;border-radius:50%;flex:none;place-items:center;display:grid}.admin-identity>div{flex-direction:column;min-width:0;display:flex}.admin-identity strong,.admin-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-identity strong{color:var(--vellum-50);font-size:.86rem}.admin-identity small{color:var(--teal-300);font-size:.75rem}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:10px;margin-top:14px;display:grid;position:relative}.admin-metric{border-radius:var(--radius-md);min-height:124px;box-shadow:var(--shadow-sm);background:#fffdf7cc;border:1px solid #e3cfa926;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:4px 11px;padding:17px;display:grid}.admin-metric>span:first-child{width:42px;height:42px;color:var(--copper-700);background:var(--copper-100);border:1px solid #b55b3833;border-radius:50%;grid-row:1/3;align-self:center;place-items:center;display:grid}.admin-metric>svg{color:var(--copper-300);grid-row:1/3;align-self:center}.admin-metric>small{color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;align-self:end;font-size:.75rem;font-weight:750}.admin-metric>strong{color:var(--ink-950);font-family:var(--serif);align-self:start;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:500;line-height:1}.ai-admin-panel{border-radius:var(--radius-xl);color:var(--ink-900);box-shadow:var(--shadow-md);background:radial-gradient(circle at 100% 0,#5795c31a,#0000 28%),#fffdf7e6;border:1px solid #2d5d8338;margin-top:18px;overflow:hidden}.ai-admin-header{border-bottom:1px solid #2d5d8329;grid-template-columns:auto minmax(260px,1fr) auto auto;align-items:center;gap:14px;padding:22px clamp(18px,3vw,32px);display:grid}.ai-admin-title-mark,.ai-admin-card>header>span{color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d8333;flex:none;place-items:center;display:grid}.ai-admin-title-mark{border-radius:15px;width:46px;height:46px}.ai-admin-header h2{color:var(--ink-950);font-family:var(--serif);margin:3px 0 0;font-size:clamp(1.45rem,2.4vw,2.1rem);font-weight:500}.ai-admin-header p,.ai-admin-card header p{color:var(--ink-500);margin:4px 0 0}.ai-admin-runtime{border-radius:var(--radius-md);min-width:190px;color:var(--warning-700);background:var(--warning-100);border:1px solid #8e64203d;align-items:center;gap:9px;padding:10px 12px;display:flex}.ai-admin-runtime.ready{color:var(--success-700);background:var(--success-100);border-color:#28654c3d}.ai-admin-runtime span{display:grid}.ai-admin-runtime small{opacity:.72}.ai-admin-refresh,.ai-admin-error>button{border:1px solid var(--copper-700);border-radius:var(--radius-sm);min-height:44px;color:var(--white);background:var(--copper-700);justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:750;display:inline-flex}.ai-admin-inline-error{border-radius:var(--radius-md);color:var(--danger-700);background:var(--danger-100);border:1px solid #9a3e3b3d;align-items:center;gap:8px;margin:14px clamp(18px,3vw,32px) 0;padding:11px 13px;display:flex}.ai-admin-inline-error button{color:currentColor;margin-left:auto;font-weight:800;text-decoration:underline}.ai-admin-metrics{border-bottom:1px solid #2d5d8324;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:16px clamp(18px,3vw,32px);display:grid}.ai-admin-metric{border:1px solid var(--line);border-radius:var(--radius-md);background:#faf5e9a8;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:13px;display:grid}.ai-admin-metric>span{width:34px;height:34px;color:var(--arcane-700);background:var(--arcane-100);border-radius:50%;place-items:center;display:grid}.ai-admin-metric.tone-good>span{color:var(--success-700);background:var(--success-100)}.ai-admin-metric.tone-warning>span{color:var(--warning-700);background:var(--warning-100)}.ai-admin-metric.tone-danger>span{color:var(--danger-700);background:var(--danger-100)}.ai-admin-metric>div{min-width:0;display:grid}.ai-admin-metric strong{color:var(--ink-950);font-family:var(--serif);font-size:1.35rem;font-weight:600;line-height:1}.ai-admin-metric small{color:var(--ink-600);letter-spacing:.055em;text-transform:uppercase;margin-top:3px;font-size:.69rem;font-weight:800}.ai-admin-metric p{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.7rem;overflow:hidden}.ai-admin-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px clamp(18px,3vw,32px) 22px;display:grid}.ai-admin-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf7b8;min-width:0;overflow:hidden}.ai-admin-usage-card{grid-column:1/-1}.ai-admin-card>header{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:15px 16px;display:flex}.ai-admin-card>header>span{border-radius:11px;width:36px;height:36px}.ai-admin-card h3{color:var(--ink-950);font-family:var(--serif);margin:0;font-size:1.1rem;font-weight:600}.ai-admin-table-wrap{overflow-x:auto}.ai-admin-table-wrap table{border-spacing:0;border-collapse:collapse;width:100%;min-width:720px}.ai-admin-table-wrap :is(th,td){border-bottom:1px solid var(--line);text-align:right;padding:11px 15px}.ai-admin-table-wrap :is(th,td):first-child{text-align:left}.ai-admin-table-wrap thead th{color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;background:#ede1caa3;font-size:.69rem}.ai-admin-table-wrap tbody th{color:var(--ink-900);font-weight:750}.ai-admin-health-card dl{margin:0;padding:5px 16px}.ai-admin-health-card dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,.46fr) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.ai-admin-health-card dl>div:last-child{border-bottom:0}.ai-admin-health-card dt{color:var(--ink-500)}.ai-admin-health-card dd{color:var(--ink-900);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.ai-admin-health-card dd.good{color:var(--success-700)}.ai-admin-health-card dd.danger{color:var(--danger-700)}.ai-admin-breakdown{padding:5px 16px}.ai-admin-breakdown>div{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:44px;display:grid}.ai-admin-breakdown>div:last-child{border-bottom:0}.ai-admin-breakdown b{color:var(--ink-950);font-family:var(--serif);font-size:1.05rem}.run-state,.artifact-state{width:24px;height:24px;color:var(--arcane-700);background:var(--arcane-100);border-radius:50%;place-items:center;display:grid}.run-state:after{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.run-state.state-completed{color:var(--success-700);background:var(--success-100)}.run-state.state-failed{color:var(--danger-700);background:var(--danger-100)}.run-state.state-streaming,.run-state.state-pending{color:var(--warning-700);background:var(--warning-100)}.ai-admin-empty,.ai-admin-loading,.ai-admin-error{color:var(--ink-500);align-items:center;gap:10px;padding:22px;display:flex}.ai-admin-loading,.ai-admin-error{min-height:112px;margin-top:18px}.ai-admin-loading span,.ai-admin-error span{display:grid}.ai-admin-loading strong,.ai-admin-error strong{color:var(--ink-900)}.ai-admin-error>button{margin-left:auto}.ai-admin-footer{border-top:1px solid var(--line);color:var(--ink-500);background:#ede1ca73;justify-content:flex-end;align-items:center;gap:6px;padding:10px clamp(18px,3vw,32px);font-size:.72rem;display:flex}.ai-admin-section-nav{background:#ede1ca61;border-bottom:1px solid #2d5d8324;gap:7px;padding:10px clamp(18px,3vw,32px);display:flex}.ai-admin-section-nav button{border-radius:var(--radius-sm);min-height:40px;color:var(--ink-600);border:1px solid #0000;align-items:center;gap:7px;padding:0 13px;font-weight:780;display:inline-flex}.ai-admin-section-nav button:hover,.ai-admin-section-nav button.active{color:var(--copper-800);background:#fffdf7d1;border-color:#b55b3847}.ai-admin-recent-runs,.ai-admin-corpus-breakdown,.ai-admin-audit-card{grid-column:1/-1}.ai-admin-recent-runs table{min-width:980px}.ai-admin-recent-runs tbody th{gap:3px;display:grid}.ai-admin-recent-runs tbody th small,.ai-admin-recent-runs td small{color:var(--ink-500);margin-top:3px;font-size:.68rem;display:block}.ai-admin-run-pill{color:var(--arcane-700);background:var(--arcane-100);border-radius:99px;padding:3px 7px;font-size:.7rem;font-weight:800;display:inline-flex}.ai-admin-run-pill.state-completed{color:var(--success-700);background:var(--success-100)}.ai-admin-run-pill.state-failed{color:var(--danger-700);background:var(--danger-100)}.ai-admin-run-pill.state-pending,.ai-admin-run-pill.state-streaming{color:var(--warning-700);background:var(--warning-100)}.ai-admin-corpus-columns{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ai-admin-corpus-columns>section{border-right:1px solid var(--line);padding:14px 16px}.ai-admin-corpus-columns>section:last-child{border-right:0}.ai-admin-corpus-columns h4{color:var(--ink-950);font-family:var(--serif);margin:0 0 7px}.ai-admin-corpus-columns section>div{border-top:1px solid var(--line);color:var(--ink-600);justify-content:space-between;gap:10px;padding:7px 0;display:flex}.ai-admin-corpus-columns b{color:var(--ink-950)}.ai-admin-corpus-columns p{color:var(--ink-500)}.ai-admin-audit-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ai-admin-audit-list article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:12px 16px;display:grid}.ai-admin-audit-list article>span{width:28px;height:28px;color:var(--success-700);background:var(--success-100);border-radius:50%;place-items:center;display:grid}.ai-admin-audit-list article>div{gap:2px;min-width:0;display:grid}.ai-admin-audit-list small{color:var(--ink-500)}.ai-admin-audit-list code{color:var(--arcane-700);text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.ai-corpus-admin{min-height:620px;color:var(--ink-900)}.ai-corpus-toolbar{border-bottom:1px solid var(--line);background:#fffdf794;flex-wrap:wrap;align-items:center;gap:7px;padding:12px clamp(18px,3vw,32px);display:flex}.ai-corpus-toolbar form{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--vellum-50);flex:2 320px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding-left:11px;display:grid}.ai-corpus-toolbar form input{min-width:0;color:var(--ink-900);background:0 0;border:0;outline:0}.ai-corpus-toolbar form button{border-left:1px solid var(--line);color:var(--arcane-700);align-self:stretch;padding:0 12px;font-weight:800}.ai-corpus-toolbar>label{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:42px;color:var(--ink-500);background:var(--vellum-50);flex:140px;align-items:center;gap:5px;padding:0 8px;display:flex}.ai-corpus-toolbar select{width:100%;color:var(--ink-800);background:0 0;border:0}.ai-corpus-refresh{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:42px;color:var(--ink-700);align-items:center;gap:6px;padding:0 11px;font-weight:750;display:inline-flex}.ai-corpus-feedback{border-radius:var(--radius-sm);color:var(--success-700);background:var(--success-100);border:1px solid #28654c40;align-items:center;gap:8px;margin:10px clamp(18px,3vw,32px);padding:10px 12px;display:flex}.ai-corpus-feedback.error{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b40}.ai-corpus-feedback span{flex:1}.ai-corpus-layout{grid-template-columns:1fr;min-height:550px;display:grid}.ai-corpus-layout.detail-open{grid-template-columns:minmax(320px,.7fr) minmax(520px,1.3fr)}.ai-corpus-index{border-right:1px solid var(--line);min-width:0}.ai-corpus-index>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.ai-corpus-index>header span{display:grid}.ai-corpus-index>header small{color:var(--ink-500);margin-top:2px}.ai-corpus-index>header b{color:var(--ink-500);font-size:.75rem}.ai-corpus-book-list{max-height:760px;display:grid;overflow-y:auto}.ai-corpus-book-list>button{border-bottom:1px solid var(--line);text-align:left;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:88px;padding:12px 16px;display:grid}.ai-corpus-book-list>button:hover,.ai-corpus-book-list>button.active{background:#ede1ca85}.ai-corpus-book-list>button.active{box-shadow:inset 3px 0 var(--copper-600)}.ai-corpus-book-icon{width:38px;height:38px;color:var(--arcane-700);background:var(--arcane-100);border-radius:11px;place-items:center;display:grid}.ai-corpus-book-list button>span:nth-child(2){gap:2px;min-width:0;display:grid}.ai-corpus-book-list small,.ai-corpus-book-list em{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;font-style:normal;overflow:hidden}.ai-corpus-book-list strong{color:var(--ink-950);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-corpus-book-status{justify-items:end;gap:3px;display:grid}.ai-corpus-book-status b{color:var(--ink-500);font-size:.65rem}.ai-corpus-status{width:max-content;color:var(--warning-700);background:var(--warning-100);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:3px 6px;font-size:.62rem;font-weight:850;display:inline-flex}.ai-corpus-status.good{color:var(--success-700);background:var(--success-100)}.ai-corpus-status.danger{color:var(--danger-700);background:var(--danger-100)}.ai-corpus-index>footer,.ai-corpus-review-list>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:11px 16px;display:flex}.ai-corpus-index>footer button,.ai-corpus-review-list>footer button{border:1px solid var(--line);border-radius:8px;align-items:center;gap:5px;min-height:36px;padding:0 10px;font-weight:720;display:inline-flex}.ai-corpus-state{min-height:240px;color:var(--ink-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:28px;display:flex}.ai-corpus-state strong{color:var(--ink-900)}.ai-corpus-detail{background:#faf5e9b3;min-width:0}.ai-corpus-detail-header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:76px;padding:11px 14px;display:grid}.ai-corpus-detail-header>button{border:1px solid var(--line);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.ai-corpus-detail-header>span{min-width:0;display:grid}.ai-corpus-detail-header small,.ai-corpus-detail-header em{color:var(--ink-500);font-size:.69rem;font-style:normal}.ai-corpus-detail-header strong{color:var(--ink-950);font-family:var(--serif);font-size:1.15rem}.ai-corpus-detail-tabs{border-bottom:1px solid var(--line);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.ai-corpus-detail-tabs button{min-height:36px;color:var(--ink-500);white-space:nowrap;border-radius:8px;padding:0 10px;font-weight:750}.ai-corpus-detail-tabs button.active{color:var(--copper-800);background:var(--copper-100)}.ai-corpus-detail-scroll{gap:10px;max-height:790px;padding:12px;display:grid;overflow-y:auto}.ai-corpus-diagnostics,.ai-corpus-control-card,.ai-corpus-review-list{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf7d1;overflow:hidden}.ai-corpus-diagnostics h3{border-bottom:1px solid var(--line);font-family:var(--serif);margin:0;padding:13px 15px}.ai-corpus-diagnostics dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.ai-corpus-diagnostics dl>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:3px;padding:10px 14px;display:grid}.ai-corpus-diagnostics dt{color:var(--ink-500);text-transform:uppercase;font-size:.67rem;font-weight:800}.ai-corpus-diagnostics dd{overflow-wrap:anywhere;margin:0}.ai-corpus-control-card>header{border-bottom:1px solid var(--line);align-items:flex-start;gap:9px;padding:13px 15px;display:flex}.ai-corpus-control-card>header>svg{color:var(--arcane-700)}.ai-corpus-control-card h3,.ai-corpus-control-card p{margin:0}.ai-corpus-control-card header p{color:var(--ink-500);margin-top:3px;font-size:.73rem}.ai-corpus-control-card form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.ai-corpus-control-card form>label{color:var(--ink-600);gap:5px;font-size:.7rem;font-weight:800;display:grid}.ai-corpus-control-card form>label.wide,.ai-corpus-control-card form>fieldset,.ai-corpus-control-card .ai-corpus-check{grid-column:1/-1}.ai-corpus-control-card :is(input,select){border:1px solid var(--line);min-height:40px;color:var(--ink-900);background:var(--vellum-50);border-radius:8px;padding:0 9px}.ai-corpus-control-card fieldset{border:1px solid var(--line);border-radius:8px;align-items:center;gap:15px;padding:9px;display:flex}.ai-corpus-control-card legend{color:var(--ink-500);padding:0 5px;font-size:.68rem;font-weight:800}.ai-corpus-control-card fieldset label{align-items:center;gap:6px;display:flex}.ai-corpus-control-card input[type=checkbox]{min-height:0}.ai-corpus-check{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;display:grid}.ai-corpus-check label{color:var(--ink-700);font-weight:800;display:grid}.ai-corpus-check small{color:var(--ink-500)}.ai-corpus-control-card form>button,.ai-corpus-book-actions button,.ai-corpus-record-actions button{border:1px solid var(--line);min-height:40px;color:var(--ink-800);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:780;display:inline-flex}.ai-corpus-control-card form>button{color:var(--white);background:var(--arcane-700);align-self:end}.ai-corpus-lock,.ai-corpus-approval{color:var(--warning-700);background:var(--warning-100);border-radius:8px;align-items:center;gap:8px;margin:0 14px 14px;padding:9px 11px;display:flex}.ai-corpus-approval{color:var(--success-700);background:var(--success-100)}.ai-corpus-approval span{display:grid}.ai-corpus-readiness{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:13px;display:grid}.ai-corpus-readiness>div{color:var(--danger-700);background:var(--danger-100);border-radius:8px;align-items:center;gap:6px;padding:8px;display:flex}.ai-corpus-readiness>div.passed{color:var(--success-700);background:var(--success-100)}.ai-corpus-book-actions{justify-content:flex-end;gap:7px;padding:0 13px 13px;display:flex}.ai-corpus-book-actions button.primary{color:var(--white);background:var(--copper-700)}.ai-corpus-book-actions button.danger,.ai-corpus-record-actions button.danger{color:var(--danger-700)}.ai-corpus-review-list>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:13px 15px;display:flex}.ai-corpus-review-list h3,.ai-corpus-review-list p{margin:0}.ai-corpus-review-list p,.ai-corpus-review-list>header>span{color:var(--ink-500);margin-top:3px;font-size:.72rem}.ai-corpus-review-list>div>article{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 14px;display:grid}.ai-corpus-record-icon{width:32px;height:32px;color:var(--arcane-700);background:var(--arcane-100);border-radius:9px;place-items:center;display:grid}.ai-corpus-review-list article>div:nth-child(2){gap:2px;min-width:0;display:grid}.ai-corpus-review-list article small,.ai-corpus-review-list article em{color:var(--ink-500);font-size:.68rem;font-style:normal}.ai-corpus-review-list article code{color:var(--arcane-700);font-size:.66rem}.ai-corpus-record-actions{gap:5px;display:flex}.ai-corpus-record-actions button{min-height:34px;font-size:.7rem}.ai-corpus-confirm{border-radius:var(--radius-xl);width:min(560px,100%);color:var(--ink-900);background:var(--vellum-50);border:1px solid #b55b3859;position:relative;overflow:hidden;box-shadow:0 40px 120px #0000008c}.ai-corpus-confirm>header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px 17px;display:grid}.ai-corpus-confirm>header>span{width:38px;height:38px;color:var(--warning-700);background:var(--warning-100);border-radius:50%;place-items:center;display:grid}.ai-corpus-confirm>header>span.danger{color:var(--danger-700);background:var(--danger-100)}.ai-corpus-confirm h3,.ai-corpus-confirm p{margin:0}.ai-corpus-confirm small{color:var(--ink-500)}.ai-corpus-confirm>p{color:var(--ink-600);padding:18px;line-height:1.55}.ai-corpus-confirm>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 17px;display:flex}.ai-corpus-confirm>footer button{border:1px solid var(--line);border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-weight:780;display:inline-flex}.ai-corpus-confirm>footer button.primary{color:var(--white);background:var(--copper-700)}.ai-corpus-confirm>footer button.danger{color:var(--white);background:var(--danger-700)}@media (max-width:1180px){.ai-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-admin-header{grid-template-columns:auto minmax(0,1fr) auto}.ai-admin-runtime{grid-column:2}.ai-admin-refresh{grid-area:1/3/3}.ai-corpus-toolbar{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(140px,auto))}.ai-corpus-layout.detail-open{grid-template-columns:minmax(280px,.6fr) minmax(470px,1.4fr)}.ai-corpus-book-status{display:none}}@media (max-width:760px){.ai-admin-header{grid-template-columns:auto minmax(0,1fr)}.ai-admin-runtime{grid-column:1/-1}.ai-admin-refresh{grid-area:auto/1/auto/-1;width:100%}.ai-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-admin-details{grid-template-columns:1fr}.ai-admin-usage-card{grid-column:auto}.ai-admin-health-card dl>div{grid-template-columns:1fr;gap:3px}.ai-admin-health-card dd{text-align:left}.ai-admin-footer{justify-content:flex-start}.ai-admin-section-nav{overflow-x:auto}.ai-admin-section-nav button{flex:1 0 max-content}.ai-admin-corpus-columns,.ai-admin-audit-list{grid-template-columns:1fr}.ai-admin-corpus-columns>section{border-right:0;border-bottom:1px solid var(--line)}.ai-corpus-toolbar{grid-template-columns:1fr 1fr}.ai-corpus-toolbar form{grid-column:1/-1}.ai-corpus-refresh{justify-content:center}.ai-corpus-layout.detail-open{grid-template-columns:1fr}.ai-corpus-layout.detail-open .ai-corpus-index{display:none}.ai-corpus-detail-scroll{max-height:none}.ai-corpus-control-card form,.ai-corpus-diagnostics dl,.ai-corpus-readiness{grid-template-columns:1fr}.ai-corpus-control-card form>label.wide,.ai-corpus-control-card form>fieldset,.ai-corpus-control-card .ai-corpus-check{grid-column:auto}.ai-corpus-review-list>div>article{grid-template-columns:auto minmax(0,1fr) auto}.ai-corpus-record-actions{grid-column:2/-1}}@media (max-width:440px){.ai-admin-metrics{grid-template-columns:1fr}.ai-admin-metric p{white-space:normal}.ai-corpus-toolbar{grid-template-columns:1fr}.ai-corpus-toolbar form{grid-column:auto}.ai-corpus-book-list>button{grid-template-columns:auto minmax(0,1fr) auto}.ai-corpus-book-actions{flex-direction:column;align-items:stretch}.ai-corpus-record-actions{flex-direction:column}}.admin-toolbar{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7cc;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:14px;margin-top:18px;padding:13px;display:grid}.admin-tabs{border-radius:var(--radius-md);background:var(--vellum-200);scrollbar-width:thin;border:1px solid #35494124;gap:4px;min-width:0;padding:4px;display:flex;overflow-x:auto}.admin-tabs button{border-radius:var(--radius-sm);min-width:max-content;min-height:44px;color:var(--ink-600);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.82rem;font-weight:760;display:inline-flex}.admin-tabs button:hover{color:var(--ink-950);background:#fffdf7a6}.admin-tabs button.active,.admin-tabs button[aria-selected=true]{color:var(--copper-800);background:var(--vellum-50);border-color:#b55b3842;box-shadow:0 3px 11px #212c2714}.admin-search{border-radius:var(--radius-md);min-width:0;height:44px;color:var(--arcane-700);background:var(--vellum-50);border:1px solid #3549413b;align-items:center;gap:8px;padding:0 12px;display:flex}.admin-search:focus-within{border-color:var(--arcane-600);box-shadow:0 0 0 3px #5795c321}.admin-search input{min-width:90px;min-height:40px;box-shadow:none;background:0 0;border:0;padding:0}.admin-search input:focus{box-shadow:none;background:0 0}.admin-toolbar>button,.admin-toolbar>select{min-height:44px}.admin-toolbar>button{border:1px solid var(--copper-700);border-radius:var(--radius-sm);color:var(--white);background:var(--copper-700);justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:750;display:inline-flex}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);scrollbar-gutter:stable;background:#fffdf7e0;margin-top:14px;position:relative;overflow:auto}.admin-table{border-spacing:0;border-collapse:separate;width:100%;min-width:980px;color:var(--ink-800);font-size:.82rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 15px}.admin-table thead th{z-index:2;color:#faf5e9c2;letter-spacing:.075em;text-transform:uppercase;background:var(--obsidian-800);height:48px;font-size:.75rem;font-weight:800;position:sticky;top:0;box-shadow:inset 0 -1px #e2a17a38}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:#dbeaf457}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td>small{color:var(--ink-500);margin-top:3px;font-size:.75rem;display:block}.admin-character-cell,.admin-owner-cell{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.admin-character-cell>img,.admin-character-cell>span:first-child,.admin-owner-cell>img,.admin-owner-cell>span:first-child{width:44px;height:44px;color:var(--copper-700);object-fit:cover;background:var(--copper-100);border:1px solid #b55b383d;border-radius:50%;place-items:center;display:grid;overflow:hidden}.admin-owner-cell>img,.admin-owner-cell>span:first-child{width:34px;height:34px;color:var(--arcane-700);background:var(--arcane-100)}.admin-character-cell>div,.admin-character-cell>span:last-child,.admin-owner-cell>div,.admin-owner-cell>span:last-child{flex-direction:column;min-width:0;display:flex}.admin-character-cell strong,.admin-owner-cell strong,.admin-character-cell small,.admin-owner-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-character-cell strong{color:var(--ink-950);font-family:var(--serif);font-size:1rem;font-weight:600}.admin-character-cell code{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.75rem;overflow:hidden}.admin-owner-cell{flex-direction:column;align-items:flex-start;gap:2px;min-width:180px;display:flex}.admin-owner-cell strong{font-size:.82rem}.admin-owner-cell small{color:var(--ink-500);font-size:.75rem}.admin-updated{min-width:150px;color:var(--ink-600);white-space:nowrap;align-items:center;gap:7px;font-size:.78rem;display:inline-flex}.admin-updated svg{color:var(--arcane-600)}.admin-row-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:max-content;display:flex}.admin-row-actions button,.admin-row-actions a{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--ink-700);background:var(--vellum-50);border:1px solid #35494133;justify-content:center;align-items:center;gap:6px;padding:0 11px;text-decoration:none;display:inline-flex}.admin-row-actions button:hover,.admin-row-actions a:hover{color:var(--arcane-700);background:var(--arcane-100);border-color:#2d5d836b}.admin-row-actions .danger,.admin-row-actions [data-tone=danger],.admin-view button.danger,.admin-view .icon-button.danger,.admin-confirm button.danger{color:var(--danger-700);background:var(--danger-100);border-color:#9a3e3b57}.admin-row-actions .danger:hover,.admin-row-actions [data-tone=danger]:hover,.admin-view button.danger:hover:not(:disabled),.admin-view .icon-button.danger:hover:not(:disabled),.admin-confirm button.danger:hover:not(:disabled){color:var(--white);background:var(--danger-700);border-color:#9a3e3b61}.admin-ledger{margin-top:14px}.admin-ledger .admin-table-wrap{border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-bottom:0}.admin-pagination{border:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:66px;color:var(--ink-600);background:#f5edddd6;border-top:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;font-size:.78rem;display:flex}.admin-pagination>div{gap:7px;display:flex}.admin-pagination button{border-radius:var(--radius-sm);min-height:44px;color:var(--ink-700);background:var(--vellum-50);border:1px solid #35494133;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-weight:750;display:inline-flex}.admin-audit{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fffdf7c2;border:1px solid #2d5d8333;grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);margin-top:18px;padding:clamp(20px,3vw,34px);display:grid}.admin-audit>header h2{color:var(--ink-950);font-family:var(--serif);margin:5px 0 0;font-size:1.65rem;font-weight:500}.admin-audit>div{display:grid}.admin-audit article{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(110px,auto);align-items:center;gap:10px;min-height:60px;display:grid}.admin-audit article:last-child{border-bottom:0}.admin-audit article>span:first-child{width:34px;height:34px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d832e;border-radius:50%;place-items:center;display:grid}.admin-audit article>div{flex-direction:column;min-width:0;display:flex}.admin-audit article strong{color:var(--ink-900);font-size:.82rem}.admin-audit article small,.admin-audit article code{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.admin-audit article code{text-align:right}.admin-empty{min-height:300px;color:var(--ink-500);text-align:center;align-content:center;place-items:center;gap:8px;padding:44px 22px;display:grid}.admin-empty>svg{width:48px;height:48px;color:var(--arcane-700);background:var(--arcane-100);border:1px solid #2d5d8333;border-radius:50%;margin-bottom:8px;padding:12px}.admin-empty strong{color:var(--ink-900);font-family:var(--serif);font-size:1.35rem;font-weight:500}.admin-empty span,.admin-empty p{max-width:54ch;margin:0;font-size:.82rem}.admin-inspect{width:100%;color:var(--ink-900);background:0 0;position:relative;overflow:visible}.admin-inspect>header{z-index:5;min-height:70px;color:var(--vellum-100);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#06100ff2;border-bottom:1px solid #e2a17a3d;justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;display:flex;position:sticky;top:0}.admin-inspect>header>div{min-width:0}.admin-inspect>header h2{color:var(--vellum-50);font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:1.4rem;font-weight:500;overflow:hidden}.admin-inspect>header button{border-radius:var(--radius-sm);width:44px;min-width:44px;height:44px;color:var(--vellum-100);background:#ffffff0d;border:1px solid #e3cfa933;place-items:center;display:grid}.admin-inspect>:not(header){margin-inline:0}.admin-inspect-hero{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fffdf7bf;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:0;padding:18px;display:grid}.admin-inspect-hero>img,.admin-inspect-hero>span:first-child{border:2px solid var(--copper-500);width:78px;height:78px;color:var(--copper-700);object-fit:cover;background:var(--copper-100);border-radius:50%;place-items:center;display:grid;overflow:hidden;box-shadow:0 0 0 5px #b55b381a}.admin-inspect-hero>div,.admin-inspect-hero>span:last-child{min-width:0}.admin-inspect-hero h2,.admin-inspect-hero h3{color:var(--ink-950);font-family:var(--serif);margin:5px 0 3px;font-size:1.55rem;font-weight:500}.admin-inspect-hero p{color:var(--ink-500);margin:0;font-size:.78rem}.admin-inspect-hero>button{white-space:nowrap;min-height:44px}.admin-inspect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.admin-inspect-grid>div,.admin-inspect-grid>section{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf7ad;min-width:0;padding:13px}.admin-inspect-grid span,.admin-inspect-grid dt{color:var(--ink-500);letter-spacing:.055em;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:780;display:block}.admin-inspect-grid strong,.admin-inspect-grid dd{overflow-wrap:anywhere;color:var(--ink-900);margin:0;font-size:.86rem;display:block}.admin-json-summary{border-radius:var(--radius-lg);background:var(--obsidian-900);border:1px solid #2d5d8333;margin-top:12px;margin-bottom:20px;overflow:hidden}.admin-json-summary>header,.admin-json-summary>summary{min-height:46px;color:var(--arcane-100);background:#5795c317;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:.78rem;font-weight:750;display:flex}.admin-json-summary>p{color:#b5c9c2;border-bottom:1px solid #5795c324;margin:0;padding:14px 15px;font-size:.78rem;line-height:1.6}.admin-json-summary>summary{cursor:pointer}.admin-json-summary pre,.admin-json-summary code,.admin-json-summary>div{color:#c8e3da;max-height:340px;font-family:var(--font-geist-mono), ui-monospace, monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:15px;font-size:.75rem;line-height:1.65;display:block;overflow:auto}.admin-confirm{border-radius:var(--radius-md);color:var(--danger-700);background:var(--danger-100);border:1px solid #9a3e3b47;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:12px;margin-bottom:20px;padding:14px;display:grid}.admin-confirm>span,.admin-confirm>div{flex-direction:column;min-width:0;display:flex}.admin-confirm>span{border:1px solid;border-radius:50%;grid-row:1/3;place-items:center;width:52px;height:52px;display:grid}.admin-confirm>span.safe{color:var(--success-700);background:var(--success-100)}.admin-confirm>p{align-self:end;margin:0}.admin-confirm>code{overflow-wrap:anywhere;color:#704947;align-self:start;font-size:.75rem}.admin-confirm>div:last-child{border-top:1px solid #9a3e3b2e;flex-direction:row;grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:12px;display:flex}.admin-confirm strong{color:var(--danger-700);font-size:.86rem}.admin-confirm small,.admin-confirm p{color:#704947;margin:2px 0 0;font-size:.75rem}.admin-confirm button{border:1px solid var(--danger-700);border-radius:var(--radius-sm);min-height:44px;color:var(--white);background:var(--danger-700);padding:0 13px;font-weight:750}.admin-confirm>div:last-child button:first-child{color:var(--ink-700);background:var(--vellum-50);border-color:#35494138}.admin-confirm:has(>.safe){color:var(--success-700);background:var(--success-100);border-color:#28654c47}.admin-confirm:has(>.safe)>div:last-child{border-top-color:#28654c2e}.admin-confirm .primary-compact{border-color:var(--copper-700);color:var(--white);background:var(--copper-700)}.admin-feedback{z-index:110;border-radius:var(--radius-md);width:min(430px,100vw - 28px);min-height:52px;color:var(--arcane-100);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0a1816f5;border:1px solid #2d5d835c;align-items:center;gap:10px;padding:11px 14px;font-size:.82rem;font-weight:700;display:flex;position:fixed;top:88px;right:22px}.admin-feedback>span{flex:1;min-width:0}.admin-feedback>button{border-radius:var(--radius-sm);min-height:44px;color:inherit;white-space:nowrap;background:#ffffff0f;border:1px solid #e3cfa938;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.75rem;font-weight:750;display:inline-flex}.admin-feedback>.icon-button{width:44px;min-width:44px;height:44px;padding:0}.admin-feedback.success,.admin-feedback[data-tone=success]{color:#d9eee4;border-color:#75aa9d80}.admin-feedback.error,.admin-feedback.danger,.admin-feedback[data-tone=danger]{color:#f7d9d4;border-color:#e2a17a8a}@media (max-width:1100px){.admin-hero{grid-template-columns:1fr}.admin-hero-copy h1{max-width:18ch}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-metric{min-height:104px}.admin-identity{justify-self:stretch;width:100%}.admin-toolbar{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr)}.admin-tabs{grid-area:1/1/auto/-1}}@media (max-width:700px){.view-admin .studio-main{min-height:calc(100dvh - 62px)}.admin-view{min-height:calc(100dvh - 62px);padding:14px}.admin-hero{border-radius:var(--radius-lg);gap:22px;padding:24px 18px}.admin-hero:after{right:-210px}.admin-hero-copy h1{font-size:clamp(2.25rem,13vw,3.6rem)}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-metric{text-align:center;grid-template-columns:1fr;min-height:92px;padding:13px}.admin-metric>span:first-child{display:none}.admin-toolbar{grid-template-columns:1fr;gap:9px;padding:9px}.admin-tabs{grid-area:auto}.admin-toolbar>button,.admin-toolbar>select{width:100%}.admin-table-wrap{border-left:0;border-right:0;border-radius:0;margin-inline:-14px;overflow:visible}.admin-ledger .admin-table-wrap{border-radius:0}.admin-table{min-width:0;display:block}.admin-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.admin-table tbody{gap:10px;padding:10px 14px;display:grid}.admin-table tbody tr{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--vellum-50);box-shadow:var(--shadow-sm);display:block;overflow:hidden}.admin-table td{border-bottom:1px solid var(--line);width:100%;padding:11px 12px;display:block}.admin-table td:first-child{background:var(--vellum-150);min-width:0;box-shadow:none;position:static}.admin-table td:nth-child(2),.admin-table td:nth-child(3){grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.admin-table td:nth-child(2):before,.admin-table td:nth-child(3):before{color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-table td:nth-child(2):before{content:"Owner"}.admin-table td:nth-child(3):before{content:"Updated"}.admin-owner-cell,.admin-updated{min-width:0}.admin-table td:last-child{border-bottom:0}.admin-table tbody tr:last-child td:not(:last-child){border-bottom:1px solid var(--line)}.admin-row-actions{flex-wrap:wrap;justify-content:stretch;min-width:0}.admin-row-actions button,.admin-row-actions a{flex:112px}.admin-pagination{border-left:0;border-right:0;border-radius:0;margin-inline:-14px}.admin-audit{border-radius:var(--radius-lg);grid-template-columns:1fr;padding:20px 16px}.admin-audit article{grid-template-columns:auto minmax(0,1fr);padding-block:8px}.admin-audit article code{text-align:left;grid-column:2}.admin-inspect{width:100%}.admin-inspect>header{min-height:62px;padding-top:max(9px, env(safe-area-inset-top))}.admin-inspect>:not(header){margin-inline:0}.admin-inspect-hero{grid-template-columns:1fr}.admin-inspect-hero>button{width:100%}.admin-inspect-grid{grid-template-columns:1fr}.admin-confirm{grid-template-columns:auto minmax(0,1fr)}.admin-confirm button{width:100%}.admin-confirm>div:last-child{flex-direction:column}.admin-feedback{top:auto;right:14px;bottom:max(14px, env(safe-area-inset-bottom));flex-wrap:wrap;width:auto;left:14px}.admin-feedback>span{flex-basis:calc(100% - 72px)}}@media (max-width:420px){.session-gate{padding:14px}.session-card{border-radius:var(--radius-lg);padding:28px 22px}.admin-metric>strong{font-size:1.65rem}.admin-inspect-hero{grid-template-columns:1fr}.admin-inspect-hero>img,.admin-inspect-hero>span:first-child{width:68px;height:68px}.admin-pagination{flex-direction:column;align-items:stretch}.admin-pagination>div,.admin-pagination button{flex:1}}@media (prefers-reduced-motion:reduce){.session-gate.loading .session-card>.vellum-sigil{animation:none}}@media (forced-colors:active){.session-card,.admin-hero,.admin-toolbar,.admin-table-wrap,.admin-pagination,.admin-audit,.admin-inspect,.admin-inspect-hero,.admin-inspect-grid>div,.admin-inspect-grid>section,.admin-json-summary,.admin-confirm,.admin-feedback{border:1px solid canvastext}.admin-tabs button.active,.admin-tabs button[aria-selected=true]{outline-offset:-3px;outline:3px solid highlight}.admin-table thead th{color:canvas;background:canvastext}}@media print{.session-gate,.admin-toolbar,.admin-row-actions,.admin-feedback,.admin-confirm,.admin-inspect>header button{display:none!important}.view-admin .studio-main,.admin-view,.admin-hero,.admin-table-wrap,.admin-inspect{color:#000!important;width:auto!important;min-height:0!important;box-shadow:none!important;background:#fff!important;padding:0!important;position:static!important;overflow:visible!important}.admin-hero{border:0;margin-bottom:10mm;display:block}.admin-hero-copy h1,.admin-metric>strong,.admin-identity strong{color:#000!important}.admin-metrics{margin-top:6mm}.admin-table{min-width:0;font-size:9pt}.admin-table thead th{color:#000;background:#eee;position:static}.admin-inspect{border:0;margin-top:10mm}}@media screen{.studio-shell{--product-shell:linear-gradient(90deg, #030a09f0 0 10%, #030a097a 46%, #030a09eb 100%), linear-gradient(180deg, #030a094d, #030a09f0), url(/art/archive-bg.webp) center / cover fixed no-repeat, var(--obsidian-950);--product-folio:linear-gradient(135deg, #fffdf7fb, #f5edddf9), var(--vellum-100)}.view-builder .studio-main,.view-play .studio-main,.view-library .studio-main,.view-assistant .studio-main,.view-profile .studio-main,.view-admin .studio-main{color:var(--vellum-100);background:var(--product-shell)}.builder-layout,.play-layout,.library-layout{background:#02090829;box-shadow:0 0 0 1px #e3cfa90f}.builder-rail,.play-tabs,.library-sidebar{color:var(--vellum-100);border-color:var(--line-dark);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(circle at 30% 0,#397a6d29,#0000 35%),#071714f0;box-shadow:16px 0 34px #00000029}.builder-rail-heading span,.builder-rail nav>button small,.play-tabs button,.library-sidebar nav button,.library-sidebar nav button b,.library-health span{color:#ffffff8c}.builder-rail-heading strong,.library-health,.step-check{color:var(--teal-300)!important}.builder-progress-track{background:#e3cfa929}.builder-rail nav>button:hover,.play-tabs button:hover,.library-sidebar nav button:hover{color:var(--vellum-50);background:#ffffff0e}.builder-rail nav>button.active,.play-tabs button.active,.library-sidebar nav button.active{color:var(--vellum-50);background:linear-gradient(90deg,#b55b3829,#397a6d17),#ffffff0e;border:1px solid #e2a17a4d;box-shadow:0 12px 26px #0003}.builder-rail nav>button>svg,.library-sidebar nav button>svg{color:var(--teal-300)}.step-index{color:#ffffff94;background:var(--obsidian-800);border-color:#e3cfa93d}.builder-rail nav>button.active .step-index,.play-tabs button.active b{border-color:var(--copper-500);color:var(--white);background:var(--copper-600)}.build-integrity,.library-health{color:var(--teal-300);background:#397a6d21;border-color:#75aa9d47}.build-integrity span{color:#ffffff8c}.builder-workspace{background:radial-gradient(circle at 50% 0,#e2a17a0e,#0000 34%),#030a096b}.view-builder .step-surface{border-radius:var(--radius-xl);max-width:1190px;color:var(--ink-900);background:var(--product-folio);border:1px solid #e3cfa93d;padding:clamp(22px,2.5vw,38px);box-shadow:0 28px 78px #00000052}.builder-footer{border-color:var(--line-dark);color:var(--vellum-100);background:#05120ff0;box-shadow:0 -16px 36px #00000040}.builder-footer>div{color:#ffffff8c}.builder-footer>button:not(.primary){color:var(--vellum-100);background:#ffffff0e;border-color:#e3cfa938}.footer-dots i{background:#fff3}.play-workspace,.library-workspace{border-radius:var(--radius-xl);color:var(--ink-900);background:var(--product-folio);border:1px solid #e3cfa93d;align-self:start;margin:24px;padding:clamp(24px,3.5vw,58px);box-shadow:0 28px 78px #00000052}.play-tabs button.active svg,.library-sidebar nav button.active{color:var(--copper-300)}.play-tabs button b{color:#fff9;background:#ffffff14}.library-sidebar>h2{color:var(--vellum-50)}.view-profile .studio-main,.view-admin .studio-main{min-height:calc(100dvh - 70px)}.profile-view,.admin-view{color:var(--vellum-100)}.profile-view>:not(.profile-hero),.admin-view>:not(.admin-hero){color:var(--ink-900)}}@media screen and (max-width:980px){.view-builder .step-surface,.play-workspace,.library-workspace{border-radius:var(--radius-lg);margin:14px;padding:20px}.view-builder .step-surface{margin:0}.builder-rail,.play-tabs,.library-sidebar{box-shadow:0 10px 28px #00000038}}@media screen and (max-width:700px){.view-builder .step-surface,.play-workspace,.library-workspace{border-radius:var(--radius-md);margin:8px;padding:16px}.view-builder .step-surface{margin:0}.builder-footer{background:#071714}}@media screen{.theme-toggle{color:var(--copper-300)!important}.theme-toggle:hover:not(:disabled){color:var(--vellum-50)!important;background:#b55b3824!important;border-color:#e2a17a80!important}.view-profile .header-actions>.theme-toggle,.view-admin .header-actions>.theme-toggle{display:inline-flex}.theme-light.view-roster .studio-main,.theme-light.view-builder .studio-main,.theme-light.view-play .studio-main,.theme-light.view-library .studio-main,.theme-light.view-assistant .studio-main,.theme-light.view-profile .studio-main,.theme-light.view-admin .studio-main{color:var(--ink-900);background:linear-gradient(105deg, #ede1caf6, #fffdf7fa 48%, #ede1caf6), url(/art/archive-bg.webp) center / cover fixed no-repeat, var(--vellum-100)}.theme-light .builder-layout,.theme-light .play-layout,.theme-light .library-layout{background:#faf5e994;box-shadow:0 0 0 1px #3a48411a}.theme-light .builder-rail,.theme-light .play-tabs,.theme-light .library-sidebar{color:var(--ink-900);border-color:var(--line);background:linear-gradient(180deg, #ede1cac7, #f5eddde6), var(--vellum-150);box-shadow:12px 0 28px #111a1812}.theme-light .builder-rail-heading span,.theme-light .builder-rail nav>button,.theme-light .builder-rail nav>button small,.theme-light .play-tabs button,.theme-light .library-sidebar nav button,.theme-light .library-sidebar nav button b,.theme-light .library-health span{color:var(--ink-600)}.theme-light .builder-rail-heading strong,.theme-light .library-health,.theme-light .step-check{color:var(--success-700)!important}.theme-light .builder-progress-track{background:#3f554c24}.theme-light .builder-rail nav>button:hover,.theme-light .play-tabs button:hover,.theme-light .library-sidebar nav button:hover{color:var(--ink-950);background:#fffdf79e}.theme-light .builder-rail nav>button.active,.theme-light .play-tabs button.active,.theme-light .library-sidebar nav button.active{color:var(--ink-950);box-shadow:var(--shadow-sm);background:#fffdf7e6;border-color:#b55b3838}.theme-light .builder-rail nav>button>svg,.theme-light .library-sidebar nav button>svg{color:var(--teal-600)}.theme-light .step-index{color:var(--ink-500);background:var(--vellum-150);border-color:#3f554c3d}.theme-light .build-integrity,.theme-light .library-health{color:var(--success-700);background:#d9eee4ad;border-color:#28654c2e}.theme-light .build-integrity span{color:var(--ink-600)}.theme-light .builder-workspace{background:#faf5e9b8}.theme-light.view-builder .step-surface,.theme-light .play-workspace,.theme-light .library-workspace{color:var(--ink-900);background:var(--product-folio);box-shadow:var(--shadow-md);border-color:#3a484126}.theme-light .builder-footer{border-color:var(--line);color:var(--ink-800);background:#faf5e9f2;box-shadow:0 -12px 32px #0f1b1714}.theme-light .builder-footer>div{color:var(--ink-500)}.theme-light .builder-footer>button:not(.primary){color:var(--ink-800);background:#fffdf7c7;border-color:#3f554c33}.theme-light .footer-dots i{background:#3f554c33}.theme-light .library-sidebar>h2{color:var(--ink-950)}.theme-light .play-tabs button b{color:var(--ink-600);background:#3f554c1a}.theme-light .roster-view{color:var(--ink-900)}.theme-light .roster-view .panel-eyebrow{color:var(--copper-700)}.theme-light .roster-view .panel-title h1{color:var(--ink-950)}.theme-light .roster-view .panel-title p,.theme-light .roster-card-main p,.theme-light .roster-card-main small,.theme-light .new-character-card span{color:var(--ink-600)}.theme-light .roster-view .dual-actions button{color:var(--ink-800);background:#fffdf7c7;border-color:#3f554c38}.theme-light .roster-grid>article{box-shadow:var(--shadow-md);background:#fffdf7e0;border-color:#3f554c2e}.theme-light .roster-grid>article:hover,.theme-light .roster-grid>article.current{border-color:#b55b3885;box-shadow:0 24px 58px #111a1829}.theme-light .roster-card-main{color:var(--ink-900)}.theme-light .roster-card-main h2,.theme-light .new-character-card strong{color:var(--ink-950)}.theme-light .roster-grid>article>footer{border-color:#3a48411f}.theme-light .roster-grid>article>footer>button:not(.icon-button){color:var(--ink-600)}.theme-light .roster-grid>article>footer .icon-button{color:var(--ink-600);background:#3f554c0a;border-color:#3f554c2e}.theme-light .new-character-card{color:var(--copper-700);background:#fffdf7ad;border-color:#b55b3866}.theme-light .new-character-card:hover{background:#fffdf7f0}.theme-light .profile-view,.theme-light .admin-view{color:var(--ink-900)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
