:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1210;--surface:#151b18;--surface-2:#1c2420;--surface-3:#26302b;--text:#edf3ef;--muted:#91a098;--line:#303b35;--accent:#d5f25d;--accent-ink:#172005;--accent-soft:#2d371c;--danger:#ff716d;--warning:#e9b85d;--success:#83d6a2;--shadow:0 18px 60px #00000047;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}:root[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0f2ed;--surface:#fff;--surface-2:#f6f7f3;--surface-3:#e6e9e2;--text:#19201c;--muted:#667269;--line:#d9ded7;--accent:#6c8318;--accent-ink:#fff;--accent-soft:#edf2d7;--danger:#c73f3c;--warning:#a76d11;--success:#287b4c;--shadow:0 18px 50px #1d25201c}:root[data-flavor=ancient]{--accent:#d9a756;--accent-ink:#281906;--accent-soft:#3b2c1c}:root[data-mode=light][data-flavor=ancient]{--accent:#94601d;--accent-ink:#fff;--accent-soft:#f3e8d6}:root[data-flavor=future]{--accent:#62d8f3;--accent-ink:#06212a;--accent-soft:#17323a}:root[data-mode=light][data-flavor=future]{--accent:#087e9e;--accent-ink:#fff;--accent-soft:#dff2f6}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--accent), transparent 55%);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{color:var(--accent);letter-spacing:.18em;margin:0 0 8px;font-size:11px;font-weight:700}.muted-text,.field-hint{color:var(--muted)}h1,h2,h3,p{margin-top:0}.primary,.secondary,.icon-button,.text-button{border:1px solid #0000;border-radius:8px;padding:10px 16px;font-weight:600}.primary{background:var(--accent);color:var(--accent-ink)}.secondary{background:var(--surface-2);border-color:var(--line);color:var(--text)}.text-button{color:var(--accent);background:0 0;padding:4px}.wide{justify-content:space-between;width:100%;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand strong,.brand small{display:block}.brand small{color:var(--muted);letter-spacing:.14em;font-size:9px}.brand-mark{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line));width:44px;height:32px;color:var(--accent);background:var(--accent-soft);letter-spacing:.04em;border-radius:10px;place-items:center;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;font-weight:800;display:grid}.brand-logo{object-fit:cover;width:40px;height:40px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent);border-radius:11px;flex:0 0 40px;display:block}.brand-logo-large{border-radius:14px;flex-basis:52px;width:52px;height:52px}.login-layout{grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);min-height:100vh;display:grid}.login-atmosphere{background:linear-gradient(90deg,#04080726,#040807cc),radial-gradient(circle at 30% 30%,#6d915c38,#0000 35%),linear-gradient(145deg,#28332f,#101714 60%,#070a09);align-items:flex-end;padding:7vw;display:flex;position:relative;overflow:hidden}.login-atmosphere:before{content:"";background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.login-copy{color:#eef3ef;max-width:700px;position:relative}.login-copy h1{font-family:ZCOOL XiaoWei;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1.15}.login-copy>p:not(.eyebrow){color:#aebbb4;max-width:580px;line-height:1.8}.signal-line{color:#8f9b94;border-top:1px solid #ffffff26;gap:24px;margin-top:36px;padding-top:20px;font-size:12px;display:flex}.signal-line span:first-child{color:var(--accent)}.login-panel{background:var(--bg);flex-direction:column;align-items:center;padding:48px;display:flex;position:relative}.theme-float{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;position:absolute;top:24px;right:24px}.auth-card{width:min(420px,100%);margin-block:auto}.auth-card .brand{margin-bottom:54px}.auth-card h2{margin-bottom:8px;font-size:32px}.password-field{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.password-field input{border-radius:8px 0 0 8px}.password-field button{color:var(--muted);background:var(--surface-2);border-left:0;border-radius:0 8px 8px 0}.login-help-links{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.25rem;font-size:.84rem;display:flex}.login-help-links button{color:var(--accent);background:0 0;border:0;padding:0}.login-help-links button:hover{text-decoration:underline}.auth-card>p{color:var(--muted);line-height:1.6}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;margin:28px 0;padding:4px;display:grid}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:10px}.segmented .active{background:var(--surface-3);color:var(--text)}label{gap:7px;margin-bottom:18px;font-size:13px;font-weight:600;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:11px 12px}textarea{resize:vertical;min-height:100px}.form-row{justify-content:space-between;align-items:center;display:flex}.checkbox{color:var(--muted);grid-auto-flow:column;align-items:center;margin:0;font-weight:400;display:flex}.checkbox input{width:auto}.legal{text-align:center;margin-top:20px;font-size:11px}.notice{border-left:3px solid;border-radius:7px;margin:10px 0;padding:10px 12px;font-size:12px}.notice.error{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 90%)}.notice.warning{color:var(--warning);background:color-mix(in srgb, var(--warning), transparent 90%)}.notice.success{color:var(--success);background:color-mix(in srgb, var(--success), transparent 90%)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell>main{flex:1 0 auto}.site-footer{width:100%;color:var(--muted);text-align:center;flex:none;padding:14px 20px 18px;font-size:12px;line-height:1.5}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--accent);text-decoration:underline}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 3%);z-index:10;align-items:center;height:66px;padding:0 4vw;display:flex;position:sticky;top:0}.brand-button{color:var(--text);background:0 0;border:0;padding:0}.topbar nav{align-self:stretch;gap:10px;margin-left:6vw;display:flex}.topbar nav button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 16px}.topbar nav button.active{color:var(--text);border-color:var(--accent)}.rules-page{max-width:1120px;margin:0 auto}.rules-notice{margin-bottom:1.25rem}.ruleset-heading{align-items:center}.ruleset-heading .badge{flex:none}.ruleset-section{border-left:3px solid color-mix(in srgb, var(--accent) 72%, var(--line))}.rule-jump{z-index:5;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-wrap:wrap;gap:.55rem;margin-bottom:1.5rem;padding:.8rem;display:flex;position:sticky;top:0}.rule-jump a{color:var(--text);background:var(--surface-2);border-radius:999px;padding:.5rem .75rem;text-decoration:none}.rule-jump a:hover,.rule-jump a:focus-visible{color:var(--accent);outline:1px solid var(--accent)}.rule-section{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:1.25rem;padding:clamp(1.1rem,2vw,1.7rem);scroll-margin-top:5rem}.rule-section h2{margin-top:0}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.rule-grid article,.rule-callout,.rule-example{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:1rem}.rule-grid h3{margin-top:0}.formula-grid code,.rule-command-list code{color:var(--accent);font-family:ui-monospace,Cascadia Code,Consolas,monospace}.rule-steps{gap:.7rem;padding-left:1.4rem;display:grid}.rule-example{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));gap:.35rem;margin-top:.85rem;display:grid}.rule-section details{border:1px solid var(--line);border-radius:12px;margin-top:.85rem;padding:.85rem 1rem}.rule-section summary{cursor:pointer;font-weight:700}.rule-command-list{background:var(--surface-2);border-radius:14px;grid-template-columns:max-content 1fr;align-items:center;gap:.55rem 1rem;margin:1rem 0;padding:1rem;display:grid}.dice-style-switch{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;margin:.85rem 0 .35rem;padding:.8rem;display:flex}.dice-style-switch>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.switch-track{background:var(--surface-3);border-radius:999px;flex:none;width:42px;height:24px;transition:background .16s;position:relative}.switch-track>span{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .16s,background .16s;position:absolute;top:3px;left:3px}.dice-style-switch>input:checked+.switch-track{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.dice-style-switch>input:checked+.switch-track>span{background:var(--accent);transform:translate(18px)}.dice-style-switch>input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch-copy{gap:.15rem;min-width:0;display:grid}.switch-copy strong,.switch-copy small{display:block}.switch-copy small{color:var(--muted)}@media (width<=820px){.rule-grid{grid-template-columns:1fr}.rule-jump{position:static}}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.compact-select{margin:0}.compact-select select{padding:7px 28px 7px 10px}.icon-button{background:var(--surface-2);border-color:var(--line);color:var(--text);padding:8px 12px}.avatar{border:1px solid var(--accent);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;font-weight:700}.page{max-width:1500px;margin:auto;padding:44px 5vw}.page-heading,.section-title,.character-hero{justify-content:space-between;align-items:flex-end;display:flex}.page-heading h1{margin-bottom:6px;font-size:34px}.page-heading p:last-child,.section-title p{color:var(--muted);margin-bottom:0}.quick-grid{grid-template-columns:1.55fr 1fr;gap:18px;margin:32px 0 42px;display:grid}.next-session,.join-card,.campaign-card,.sheet-card,.resource-card{background:var(--surface);border:1px solid var(--line);border-radius:12px}.next-session{box-shadow:inset 3px 0 var(--accent);grid-template-columns:1fr auto;gap:14px;padding:26px;display:grid}.next-session button{grid-area:1/2/3;align-self:center}.session-time{align-self:end}.session-time strong{margin-right:12px;font-size:24px}.badge{letter-spacing:.04em;border-radius:99px;padding:4px 9px;font-size:10px;font-weight:700;display:inline-block}.badge.live,.badge.success{color:var(--success);background:color-mix(in srgb, var(--success), transparent 88%)}.badge.warning{color:var(--warning);background:color-mix(in srgb, var(--warning), transparent 88%)}.badge.danger{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 88%)}.badge.muted{color:var(--muted);background:var(--surface-3)}.join-card{padding:24px}.inline-input{gap:8px;display:flex}.section-title{border-bottom:1px solid var(--line);padding-bottom:14px}.section-title h2{margin-bottom:4px}.filter-tabs{gap:6px;display:flex}.filter-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 12px}.filter-tabs .active{background:var(--surface-2);color:var(--text)}.campaign-list{gap:12px;margin-top:18px;display:grid}.campaign-card{grid-template-columns:118px 1fr auto;align-items:center;gap:20px;padding:14px;display:grid}.campaign-art{color:#fff;background:linear-gradient(145deg,#38564c,#111);border-radius:8px;justify-content:space-between;align-items:flex-end;height:88px;padding:10px;display:flex}.campaign-art span{font-family:ZCOOL XiaoWei;font-size:36px}.campaign-art.amber{background:linear-gradient(145deg,#755833,#24180d)}.campaign-art.violet{background:linear-gradient(145deg,#493f6d,#171326)}.campaign-info h3{margin:6px 0 3px}.campaign-info p{color:var(--muted);margin-bottom:10px}.meta-row{color:var(--muted);gap:22px;font-size:11px;display:flex}.creator-layout{grid-template-columns:250px minmax(480px,1fr) 290px;min-height:calc(100vh - 66px);display:grid}.step-sidebar,.validation-panel{background:var(--surface);height:calc(100vh - 66px);padding:34px 24px;position:sticky;top:66px;overflow:auto}.step-sidebar{border-right:1px solid var(--line)}.validation-panel{border-left:1px solid var(--line)}.step-sidebar ol{margin:30px 0;padding:0;list-style:none}.step-sidebar li button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;gap:12px;padding:9px 0;display:flex}.step-sidebar li button>span{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:27px;height:27px;display:grid}.step-sidebar li strong,.step-sidebar li small{display:block}.step-sidebar li small{margin-top:2px;font-size:10px}.step-sidebar li.active button{color:var(--text)}.step-sidebar li.active button>span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.step-sidebar li.done button>span{color:var(--success);border-color:var(--success)}.autosave{border-top:1px solid var(--line);color:var(--success);padding-top:18px;font-size:11px}.autosave small{color:var(--muted)}.creator-main{flex-direction:column;min-width:0;display:flex}.creator-header{border-bottom:1px solid var(--line);justify-content:space-between;padding:32px 5vw 20px;display:flex}.creator-header h1{margin:0}.progress-ring{border:4px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;place-items:center;width:54px;height:54px;font-weight:700;display:grid}.progress-ring small{margin-top:-16px;font-size:8px}.creator-content{flex:1;padding:34px 5vw}.creator-footer{border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 5vw;display:flex}.creator-footer>span{color:var(--muted);font-size:10px}.form-section{max-width:780px}.form-section>p{color:var(--muted);line-height:1.6}.form-grid{grid-template-columns:1fr 1fr;gap:2px 18px;margin-top:28px;display:grid}.wide-field{grid-column:1/-1}.tag-editor{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;gap:7px;padding:7px;display:flex}.tag-editor button{background:var(--accent-soft);color:var(--accent);border:0;border-radius:5px;padding:6px}.tag-editor input{border:0;flex:1;min-width:160px;padding:5px}.attribute-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;display:grid}.attribute-grid article{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:10px;padding:20px}.stepper{justify-content:space-between;align-items:center;margin:16px 0;display:flex}.stepper button{border:1px solid var(--line);background:var(--surface-2);width:32px;height:32px;color:var(--text);border-radius:50%}.stepper strong{font-size:36px}.attribute-grid small{color:var(--muted)}.skill-list{grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:24px;display:grid}.skill-list label{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;margin:0;padding:10px 12px;display:flex}.skill-list label span,.skill-list label small{display:block}.skill-list small{color:var(--muted)}.skill-list input{width:65px}.choice-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.choice-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0;padding:18px;position:relative}.choice-card input{width:auto;position:absolute;top:14px;right:14px}.choice-card span,.choice-card strong{display:block}.choice-card span{color:var(--muted);margin-top:5px}.choice-card.selected{border-color:var(--accent);background:var(--accent-soft)}.review-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.review-grid article{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:20px}.review-grid span,.review-grid strong,.review-grid small{display:block}.review-grid span,.review-grid small{color:var(--muted)}.review-grid strong{margin:8px 0;font-size:20px}.validation-panel h3{margin-bottom:18px}.score-card{border:1px solid var(--line);border-radius:8px;margin-bottom:9px;padding:14px}.score-card span,.score-card small{display:block}.score-card strong{color:var(--accent);font-size:28px}.score-card small{color:var(--muted)}.score-card.danger strong{color:var(--danger)}.derived-mini{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;display:grid}.derived-mini span{background:var(--surface-2);border-radius:7px;padding:10px;font-size:11px}.derived-mini b{margin-top:2px;font-size:17px;display:block}.issue-list{margin-top:18px}.rule-note{color:var(--muted);margin-top:20px;font-size:10px;line-height:1.5}.sheet-page{padding-top:34px}.character-hero{border-bottom:1px solid var(--line);align-items:center;padding-bottom:28px}.portrait{background:linear-gradient(145deg, var(--accent-soft), var(--surface-3));border:1px solid var(--line);border-radius:9px;flex:none;place-items:center;width:112px;height:112px;font:52px ZCOOL XiaoWei;display:grid;position:relative}.portrait span{color:var(--muted);font:8px sans-serif;position:absolute;bottom:6px;right:7px}.character-title{flex:1;padding:0 26px}.character-title h1{margin:9px 0 5px;font-size:32px}.character-title h1 small{color:var(--muted);font-size:19px}.character-title>p{color:var(--muted)}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag-row span{background:var(--surface-3);border:1px solid var(--line);border-radius:99px;padding:4px 9px;font-size:10px}.sheet-actions{justify-items:end;gap:7px;display:grid}.sheet-actions label{margin:0}.sheet-actions select{padding:7px}.sheet-actions small{color:var(--muted)}.narrative-banner{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent), transparent 60%);border-radius:10px;align-items:center;gap:16px;margin:22px 0;padding:16px 20px;display:flex}.narrative-icon{border:1px solid var(--accent);width:42px;height:42px;color:var(--accent);place-items:center;font-family:ZCOOL XiaoWei;display:grid}.narrative-banner>div:nth-child(2){flex:1}.narrative-banner p{margin:4px 0}.narrative-banner small{color:var(--muted)}.readonly-pill,.locked-label{color:var(--muted);background:var(--surface);border-radius:99px;padding:6px 10px;font-size:10px}.sheet-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.sheet-column{align-content:start;gap:18px;display:grid}.sheet-card{padding:20px}.sheet-card header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.sheet-card header h2{margin:0}.stat-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.stat-grid>div{background:var(--surface-2);text-align:center;border-radius:8px;padding:14px}.stat-grid span,.stat-grid small{color:var(--muted);display:block}.stat-grid strong{font-size:28px}.stat-grid .awareness{border:1px solid var(--accent)}.sheet-skills{grid-template-columns:1fr 1fr;gap:2px 22px;display:grid}.sheet-skills>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 28px;align-items:center;padding:10px 0;display:grid}.skill-dots{gap:3px;display:flex}.skill-dots i{background:var(--surface-3);border-radius:50%;width:7px;height:7px}.skill-dots i.filled{background:var(--accent)}.resource-card{grid-template-columns:repeat(3,1fr);gap:20px;padding:18px;display:grid}.resource-card span,.resource-card strong{display:block}.resource-card strong{font-size:23px}.resource-card strong small{color:var(--muted)}.meter{background:var(--surface-3);height:4px;margin-top:9px}.meter i{background:var(--danger);height:100%;display:block}.meter.spiritual i{background:#6aaaf2}.meter.style i{background:var(--accent)}.ability-card>p{color:var(--muted);line-height:1.7}.ability-note{border-left:2px solid var(--warning);background:color-mix(in srgb, var(--warning), transparent 93%);gap:4px;margin:17px 0;padding:12px;font-size:12px;display:grid}.equipment-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.equipment-icon{background:var(--surface-2);width:36px;height:36px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.equipment-row>div:nth-child(2){flex:1}.equipment-row p{color:var(--muted);margin:3px 0;font-size:11px}.equipment-row>span{color:var(--muted);font-size:10px}.override-audit{border:1px solid color-mix(in srgb, var(--danger), transparent 55%);color:var(--danger);border-radius:8px;grid-template-columns:auto 1fr auto;gap:14px;margin-top:18px;padding:13px 16px;font-size:11px;display:grid}.override-audit span{color:var(--text)}.override-audit small{color:var(--muted)}@media (width<=1100px){.creator-layout{grid-template-columns:210px 1fr}.validation-panel{border-left:0;border-top:1px solid var(--line);grid-column:2;height:auto;position:static}.step-sidebar{grid-row:1/3}.sheet-grid,.quick-grid,.login-layout{grid-template-columns:1fr}.login-atmosphere{display:none}}@media (width<=760px){.topbar{padding:0 14px}.topbar .brand-logo{border-radius:9px;flex-basis:34px;width:34px;height:34px}.topbar .brand strong{font-size:.88rem}.topbar nav{margin-left:16px}.topbar nav button{padding:0 7px}.compact-select{display:none}.public-guide-shell .topbar{grid-template-rows:58px 48px;grid-template-columns:1fr auto;align-items:center;height:auto;min-height:106px;display:grid}.public-guide-shell .brand-button{grid-area:1/1}.public-guide-shell .top-actions{grid-area:1/2;gap:6px}.public-guide-shell .top-actions .secondary{white-space:nowrap;padding:7px 9px}.public-guide-shell .topbar nav{border-top:1px solid var(--line);grid-area:2/1/auto/-1;justify-content:center;align-self:stretch;margin:0}.public-guide-shell .topbar nav button{white-space:nowrap;min-width:7rem;padding:0 14px}.page{padding:28px 16px}.page-heading{align-items:flex-start}.campaign-card{grid-template-columns:80px 1fr}.campaign-card>.secondary{grid-column:2}.campaign-art{height:80px}.meta-row{flex-direction:column;gap:3px}.creator-layout{display:block}.step-sidebar{height:auto;padding:18px;position:static;overflow:hidden}.step-sidebar ol{margin:18px 0;display:flex;overflow:auto}.step-sidebar li button{width:46px}.step-sidebar li div{display:none}.creator-header,.creator-content,.creator-footer{padding-left:18px;padding-right:18px}.validation-panel{height:auto}.form-grid,.attribute-grid,.skill-list,.choice-grid,.review-grid,.stat-grid,.resource-card{grid-template-columns:1fr}.character-hero{flex-wrap:wrap;align-items:flex-start}.character-title{min-width:calc(100% - 126px);padding:0 0 0 14px}.sheet-actions{justify-items:stretch;width:100%;margin-top:16px}.narrative-banner{align-items:flex-start}.sheet-skills,.override-audit{grid-template-columns:1fr}.login-panel{padding:28px 20px}.auth-card .brand{margin-bottom:36px}}.account-page{width:100%;max-width:1180px;margin:0 auto}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.detail-list{grid-template-columns:max-content 1fr;gap:.65rem 1rem;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{overflow-wrap:anywhere;margin:0}.sensitive-value{letter-spacing:.08em;overflow-wrap:anywhere;font-family:ui-monospace,monospace}.compact-list{gap:.55rem;display:grid}.list-row{text-align:left;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}@media (width<=760px){.account-grid{grid-template-columns:1fr}.list-row{flex-direction:column;align-items:flex-start}}.segmented.three{grid-template-columns:repeat(3,1fr)}.identity-label{color:var(--muted);font-size:.78rem}.center-state,.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px;margin:1rem 0;padding:2rem}.room-list{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.room-entry{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75rem}.room-identity-card{border:1px solid var(--line);background:var(--panel);border-radius:.85rem;gap:.35rem;margin-top:.75rem;padding:.85rem 1rem;display:grid}.room-identity-card p{margin:0}.room-invite-line{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.invite-code.compact{padding:.35rem .55rem;font-size:1rem}.real-card{align-items:start}.modal-backdrop{z-index:50;background:#000a;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(32rem,90vw);padding:2rem}.invite-code{background:var(--surface-2);word-break:break-all;margin:1rem 0;padding:1rem;font-size:1.4rem;display:block}.room-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.connection{background:var(--surface-2);border-radius:99px;padding:.4rem .7rem}.connection.connected{color:var(--success)}.connection.offline,.connection.forbidden{color:var(--danger)}.connection.reconnecting{color:var(--warning)}.room-tabs{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.room-tab-divider{background:var(--line);width:1px;height:1.8rem;margin:0 .25rem}.room-tabs button{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:.7rem 1rem}.room-tabs button.active{color:var(--text);border-color:var(--accent)}.workspace-grid{grid-template-columns:minmax(0,1fr) 17rem;gap:1rem;display:grid}.room-all-panels{grid-template-columns:minmax(32rem,2fr) minmax(20rem,1fr);align-items:stretch;gap:1rem;min-height:min(74vh,58rem);padding-bottom:1rem;display:grid}.room-panel{min-width:0}.room-panel-title{color:var(--muted);grid-column:1/-1;margin:0 0 .75rem;font-size:1rem}.room-all-panels .workspace-grid,.room-all-panels .character-browser,.room-all-panels .chat-layout{grid-template-columns:1fr}.room-all-panels .workspace-grid>.side-card{display:none}.room-all-panels .event-feed{min-height:0;max-height:none}.room-all-panels .room-map-panel,.room-all-panels .room-chat-panel{min-height:0}.room-all-panels .room-chat-panel{flex-direction:column;display:flex}.room-all-panels .chat-layout{flex:1;min-height:0}.side-card,.compose-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem}.member-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:.6rem 0;display:flex}.character-browser{grid-template-columns:16rem minmax(0,1fr);gap:1rem;display:grid}.list-panel{align-content:start;gap:.5rem;display:grid}.list-panel button{text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;gap:.2rem;padding:.8rem;display:grid}.json-view{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border-radius:8px;max-height:32rem;padding:1rem;overflow:auto}.resource-grid,.formula-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem;display:grid}.resource-card,.formula-card{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;gap:.25rem;padding:.85rem;display:grid}.resource-card span,.formula-card span,.formula-card small{color:var(--muted)}.resource-card strong,.formula-card strong{font-size:1.25rem}.skill-table{border:1px solid var(--line);border-radius:9px;display:grid;overflow:hidden}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr .8fr .8fr .7fr;align-items:center;gap:.5rem;padding:.65rem .8rem;display:grid}.skill-row:last-child{border-bottom:0}.skill-header{color:var(--muted);background:var(--surface-2)}.skill-edit-grid,.repeatable-fields{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.65rem;display:grid}.repeatable-fields{border:1px solid var(--line);border-radius:9px;padding:.9rem}.repeatable-fields legend{padding:0 .4rem}.repeatable-fields>small{color:var(--muted);grid-column:1/-1}.repeatable-fields label small{color:var(--muted);display:block}.paired-repeatable{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem;display:grid}.chat-layout{flex-direction:column;gap:.75rem;height:auto;min-height:0;max-height:none;display:flex}.chat-layout>*{width:100%;min-width:0;max-width:100%}.chat-layout button,.chat-layout input,.chat-layout select,.chat-layout textarea{min-width:0;max-width:100%}.chat-feed-shell{flex-direction:column;flex:none;height:clamp(30rem,60vh,44rem);min-height:0;display:flex}.chat-feed-toolbar{background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;flex:none}.event-feed{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);border-radius:0 0 10px 10px;flex-direction:column;flex:auto;align-content:start;min-height:0;max-height:none;padding:0 .75rem 1rem;display:flex;overflow:auto}.chat-event,.dice-event,.system-event{border:0;border-bottom:1px solid color-mix(in srgb, var(--line) 48%, transparent);background:0 0;border-radius:0;flex:none;padding:.55rem .25rem}.chat-event,.dice-event{grid-template-columns:2rem minmax(0,1fr);gap:.55rem;display:grid}.chat-event.whisper{background:color-mix(in srgb, var(--warning) 7%, transparent)}.chat-event p,.dice-event p{white-space:pre-wrap;word-break:break-word;margin:.12rem 0;line-height:1.48}.public-feed-heading{border-bottom:1px solid var(--border);background:var(--panel);align-items:baseline;gap:.65rem;padding:.65rem .25rem .45rem;display:flex}.public-feed-heading small,.event-feed time{color:var(--muted)}.feed-tools{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.5rem .65rem;display:grid}.feed-tools input{min-width:0}.feed-tools button.active{border-color:var(--accent);color:var(--accent)}.chat-avatar{color:#07100d;background:var(--member-color);-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;width:2rem;height:2rem;margin-top:.1rem;font-weight:800;display:grid}.dice-avatar{color:var(--text);background:color-mix(in srgb, var(--member-color) 35%, var(--surface-2));border:1px solid var(--member-color)}.chat-message-content{min-width:0}.chat-message-meta{align-items:baseline;gap:.45rem;min-height:1.25rem;display:flex}.chat-message-meta strong{color:var(--member-color)}.chat-message-meta time{font-size:.75rem}.event-tag{color:var(--muted);white-space:nowrap;margin-right:.35rem;font-size:.8rem}.whisper .event-tag{color:var(--warning)}.dice-result{color:var(--muted);font-size:.88rem}.dice-result strong{color:var(--text);font-size:1rem}.jump-to-latest{z-index:3;border-color:color-mix(in srgb, var(--accent) 65%, var(--line));color:#07100d;background:var(--accent);border-radius:999px;align-self:center;padding:.45rem .9rem;position:sticky;bottom:.5rem;box-shadow:0 5px 18px #00000047}.system-event time{margin-right:.6rem}.map-bulk-import{grid-template-columns:minmax(18rem,1fr) auto;align-items:end;gap:.75rem;display:grid}.map-bulk-import label{gap:.4rem;display:grid}.map-bulk-import input[type=file]{width:100%;min-height:3.35rem}.map-bulk-import button{min-height:3.35rem}@media (width<=760px){.map-bulk-import{grid-template-columns:1fr}.map-bulk-import button{width:100%}}.compose-panel{border-radius:10px;flex:none;gap:.6rem;width:100%;min-width:0;max-height:none;display:grid;position:static;overflow:hidden;box-shadow:0 8px 22px #0000002e}.room-all-panels .compose-panel{max-height:none}.chat-timeline-wrap{flex:auto;min-height:0;display:flex;position:relative}.chat-composer{flex:none;gap:.55rem;display:grid}.dice-tools-scroll{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:1rem;min-height:0;max-height:min(14rem,30vh);padding:1rem;display:grid;overflow-y:auto}.dice-tools-scroll>*{min-width:0;max-width:100%}.composer-usage-hint{color:var(--muted)}.composer-compact-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.75rem;display:grid}.composer-compact-options>label:first-child{gap:.35rem;display:grid}.chat-composer textarea{resize:vertical;width:100%;max-width:100%;min-height:5.5rem;display:block}.chat-composer>*{min-width:0;max-width:100%}.composer-compact-options .dice-style-switch{width:100%;margin:0}.composer-actions{justify-content:flex-end;align-items:center;gap:.75rem;width:100%;display:flex}.composer-actions small{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.compact-character-dock{z-index:8;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:.5rem;max-width:100%;padding:.65rem;display:flex;position:sticky;bottom:.75rem;overflow-x:auto}.compact-character-dock>button{text-align:left;min-width:8rem;display:grid}.compact-character-dock small{color:var(--muted)}.character-overlay{z-index:70;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:#000000ad;place-items:center;display:grid;position:fixed;inset:0}.character-sheet{border:1px solid var(--line);background:var(--surface);border-radius:14px;width:min(68rem,100%);max-height:92vh;padding:1.25rem;position:relative;overflow:auto;box-shadow:0 24px 80px #00000073}.character-sheet>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.overlay-close{z-index:2;width:2.75rem;height:2.75rem;margin-left:auto;font-size:1.4rem;position:sticky;top:0}.coc7-creator{width:min(58rem,100vw - 2rem);max-height:92vh;overflow:auto}.creator-progress{grid-template-columns:repeat(4,1fr);gap:.35rem;padding:0;list-style:none;display:grid}.creator-progress li{text-align:center;border-bottom:2px solid var(--line);color:var(--muted);padding:.45rem}.creator-progress li.active{color:var(--text);border-color:var(--accent)}.field-grid,.stat-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.65rem;display:grid}.point-balance,.resource-strip{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;flex-wrap:wrap;gap:.55rem 1rem;padding:.75rem;display:flex}.compact-skill-list{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.skill-chip{text-align:left;grid-template-columns:auto auto;align-items:center;gap:.15rem .5rem;display:grid}.skill-chip small{color:var(--muted);grid-column:1/-1}.skill-chip input{width:5rem}.coc7-character-list{gap:.55rem;display:grid}.coc7-character-list>button{text-align:left;gap:.2rem;display:grid}.coc7-review-panel{border-top:1px solid var(--line);gap:.7rem;margin-top:1rem;padding-top:1rem;display:grid}.review-state{border-left:3px solid var(--accent);background:var(--surface-2);padding:.7rem}.state-returned,.state-invalid-approved{border-color:var(--warning)}.coc7-check-panel{border-top:1px solid var(--line);gap:.65rem;padding-top:.75rem;display:grid}.coc7-check-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.coc7-check-form>button{grid-column:1/-1}.keeper-proposal-list{gap:.5rem;display:grid}.keeper-proposal-list article{border:1px solid var(--line);border-radius:8px;padding:.65rem}.ruleset-picker{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.ruleset-picker button.active{color:var(--text);border-color:var(--accent)}.map-controls{gap:.5rem;margin-top:1rem;display:grid}.map-controls .inline-input input[type=number]{max-width:7rem}.map-tools-heading{margin:.8rem 0 .2rem}.map-element-form{flex-wrap:wrap;align-items:end}.compact-field{color:var(--muted);gap:.25rem;font-size:.82rem;display:grid}.compact-field select{color:var(--text);min-width:8rem}.derived-summary{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.5rem 1rem;padding:.8rem;display:flex}.derived-summary strong,.derived-summary small{flex-basis:100%}.skill-fields{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.65rem;display:grid}.skill-fields legend,.skill-fields>small,.skill-fields>strong{grid-column:1/-1}.skill-fields label{grid-template-columns:1fr 4.5rem;align-items:center;gap:.5rem;display:grid}.map-library{border:1px solid var(--border);background:var(--panel);border-radius:10px;gap:.65rem;padding:.8rem;display:grid}.map-library-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.map-library-heading span{color:var(--muted);font-size:.9rem}.map-switcher{gap:.65rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.map-library-card{text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:.2rem;min-width:12rem;padding:.65rem;display:grid}.map-library-card small{color:var(--muted)}.map-library-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.map-name-button{color:inherit;text-align:left;cursor:text;background:0 0;border:0;padding:.2rem 0;font-size:1rem;font-weight:700}.map-name-button:hover,.current-map-label{color:var(--accent)}.map-rename-form{flex-wrap:wrap;gap:.35rem;display:flex}.map-rename-form input{flex:1;min-width:10rem}.map-library-card .danger{color:#dbeafe;background:#24506d;border-color:#67a8d8}.map-library-card .danger:hover,.map-library-card .danger:focus-visible{color:#eff6ff;background:#326b8f;border-color:#9bd2f5}@media (width<=900px){.workspace-grid,.chat-layout,.character-browser{grid-template-columns:1fr}.top-actions .identity-label{display:none}.room-all-panels,.paired-repeatable{grid-template-columns:1fr}.chat-layout{height:auto}.skill-row{grid-template-columns:1fr .9fr .7fr .7fr .6fr;font-size:.82rem}.room-all-panels{min-height:auto}.room-all-panels .event-feed{max-height:none}.room-all-panels .compose-panel{max-height:none;position:static}.feed-tools{grid-template-columns:1fr;align-items:stretch}.composer-compact-options{grid-template-columns:1fr}.compact-character-dock{bottom:.25rem}.coc7-check-form{grid-template-columns:1fr}}
