:root{color:#221f18;font-synthesis:none;text-rendering:optimizelegibility;--ink:#15130f;--muted:#746a57;--paper:#f3ead8;--paper-deep:#e5d6bb;--line:#211c1429;--red:#d65b3d;--gold:#f2c76e;--green:#4d705b;--shadow:0 24px 80px #15130f29;background:#f3ead8;font-family:Charter,Iowan Old Style,Palatino Linotype,serif}*{box-sizing:border-box}body{background:linear-gradient(115deg,#d65b3d1a,#0000 38%),linear-gradient(245deg,#f2c76e1f,#0000 42%),linear-gradient(135deg,#f7efdf,#deceb0);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-frame{grid-template-columns:18rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f8edda;background:linear-gradient(#ffffff0a 1px,#0000 1px) 0 0/100% 2.7rem,#15130f;border-right:1px solid #ffffff14;align-content:start;gap:1.4rem;height:100vh;padding:1.4rem;display:grid;position:sticky;top:0}.brand-mark{width:4rem;height:4rem;color:var(--ink);background:var(--gold);letter-spacing:-.08em;border-radius:1.1rem 1.1rem .25rem;place-items:center;font-weight:900;display:grid}.eyebrow{color:var(--red);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .35rem;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.78rem;font-weight:800}.sidebar h1,.page-header h2,.login-card h1,.not-found h1{letter-spacing:-.055em;margin:0;line-height:.95}.sidebar h1{max-width:8rem;font-size:clamp(2rem,8vw,3.7rem)}.nav-stack{gap:.35rem;margin-top:1rem;display:grid}.nav-stack a{color:#f8eddab8;border:1px solid #0000;border-radius:999px;padding:.8rem .9rem}.nav-stack a.active,.nav-stack a:hover{color:#fff6df;background:#f2c76e1f;border-color:#f2c76e42}.identity-card{color:#f7ecd8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:1.2rem;gap:.55rem;margin-top:1rem;padding:1rem;display:grid}.role-row{flex-wrap:wrap;gap:.4rem;display:flex}.role-badge{width:max-content;color:var(--ink);background:var(--gold);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.28rem .55rem;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.72rem;font-weight:900;display:inline-flex}.role-player,.role-viewer{color:#f6eddf;background:var(--green)}.content-panel{padding:clamp(1rem,3vw,3rem)}.page-stack{gap:1.35rem;display:grid}.page-header{border:1px solid var(--line);max-width:58rem;box-shadow:var(--shadow);background:#fffaefa8;border-radius:2rem;padding:clamp(1.2rem,3vw,2rem)}.page-header h2{max-width:12ch;color:var(--ink);font-size:clamp(2.8rem,8vw,6.5rem)}.split-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.feature-card,.dashboard-card,.table-card,.stat-grid article,.roll-card,.event-card,.json-panel{border:1px solid var(--line);background:#fffaefb8;border-radius:1.5rem;box-shadow:0 16px 48px #15130f14}.feature-card{align-content:space-between;min-height:12rem;padding:1.2rem;transition:transform .16s,border-color .16s;display:grid}.feature-card:hover{border-color:#d65b3d70;transform:translateY(-3px)rotate(-.25deg)}.card-index{color:var(--red);text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900}.feature-card h3{margin:0;font-size:2rem;line-height:1}.feature-card p{color:var(--muted);margin:0}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.dashboard-card{align-content:start;gap:.85rem;min-height:13rem;padding:1.2rem;display:grid}.dashboard-card h3{color:var(--ink);margin:0;font-size:1.9rem;line-height:1}.dashboard-card p{color:var(--muted);margin:0;line-height:1.55}.sheet-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.compact-sheet-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.sheet-panel,.sheet-edit-panel{border:1px solid var(--line);background:#fffaefb8;border-radius:1.25rem;gap:1rem;padding:1.2rem;display:grid;box-shadow:0 16px 48px #15130f14}.sheet-panel p{color:var(--muted);margin:0}.sheet-stat-list{gap:.65rem;display:grid}.sheet-stat{border:1px solid var(--line);background:#15130f0d;border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex}.sheet-stat span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900}.sheet-stat strong{color:var(--ink);font-size:1.6rem}.advanced-json{gap:1rem;display:grid}.advanced-json summary{cursor:pointer;width:max-content;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.stat-grid article{gap:.45rem;padding:1.1rem;display:grid}.stat-grid span,.event-card span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.78rem;font-weight:900}.stat-grid strong{font-size:1.4rem}.table-card{overflow:hidden}.table-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.table-row:last-child{border-bottom:0}.json-panel,.event-card pre{color:#f8edda;background:var(--ink);padding:1.2rem;overflow:auto}.login-page,.not-found,.loading-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.loading-page{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900}.login-card{border:1px solid var(--line);width:min(100%,42rem);box-shadow:var(--shadow);background:#fffaefcc;border-radius:2rem;padding:clamp(1.4rem,4vw,3rem)}.login-card h1,.not-found h1{color:var(--ink);font-size:clamp(3rem,10vw,6.2rem)}form{gap:1rem;display:grid}label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:.4rem;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900;display:grid}input,select,textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff8eb;border-radius:.9rem;padding:.85rem .95rem}textarea{resize:vertical;text-transform:none;letter-spacing:0;min-height:10rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.5}.button{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:max-content;padding:.8rem 1rem;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.58}.button.primary{color:#15130f;background:var(--gold)}.button.ghost{color:#f8edda;background:0 0;border-color:#f8edda38}.inline-action{margin-top:.25rem}.form-error{color:var(--red);margin:0;font-weight:700}.form-note{color:var(--green);margin:0;font-weight:700}.segmented-control{border:1px solid var(--line);background:#15130f14;border-radius:999px;width:max-content;margin:0 0 1rem;padding:.25rem;display:inline-flex}.segmented-control button{color:var(--muted);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-radius:999px;padding:.62rem .9rem;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-weight:900}.admin-grid{grid-template-columns:repeat(2,minmax(18rem,1fr));gap:1rem;display:grid}.admin-card{border:1px solid var(--line);background:#fffaefb8;border-radius:1.25rem;align-content:start;gap:1rem;padding:1.2rem;display:grid;box-shadow:0 16px 48px #15130f14}.admin-card h3{color:var(--ink);margin:0;font-size:1.6rem;line-height:1}.compact-form{align-content:start;gap:.85rem;display:grid}.compact-form h3{color:var(--ink);margin:0;font-size:1.25rem;line-height:1}.wide-card{grid-column:1/-1}.form-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}.button-row{flex-wrap:wrap;gap:.65rem;display:flex}.compact-table{max-height:18rem;box-shadow:none;overflow:auto}.audit-row{grid-template-columns:minmax(8rem,.9fr) minmax(9rem,1fr) minmax(7rem,.8fr) minmax(7rem,.8fr) minmax(8rem,1fr) minmax(12rem,1.4fr)}.audit-row code{overflow-wrap:anywhere;white-space:normal}.invite-row{grid-template-columns:minmax(12rem,1.2fr) minmax(9rem,1fr) minmax(5rem,.4fr) minmax(5rem,.4fr) minmax(7rem,.5fr) auto}.ruleset-workbench{gap:1.15rem}.ruleset-workbench-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding-bottom:1rem;display:grid}.ruleset-workbench-header p{max-width:54rem}.ruleset-meta-grid{grid-template-columns:minmax(16rem,1.4fr) repeat(3,minmax(9rem,1fr));gap:.85rem;display:grid}.ruleset-status-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.ruleset-status-strip article{border:1px solid var(--line);background:#15130f0f;border-radius:1rem;gap:.25rem;min-height:6.4rem;padding:.95rem;display:grid}.ruleset-status-strip span,.ruleset-status-strip small,.catalog-header-row span,.ruleset-kv-list span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.72rem;font-weight:900}.ruleset-status-strip strong{color:var(--ink);font-size:1.8rem;line-height:1}.ruleset-section-tabs{grid-template-columns:repeat(8,minmax(0,1fr));gap:.5rem;display:grid}.ruleset-section-tabs button{text-align:left;cursor:pointer;border:1px solid var(--line);background:#fff8ebb8;border-radius:.85rem;gap:.25rem;min-height:4.3rem;padding:.7rem;display:grid}.ruleset-section-tabs span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.72rem;font-weight:900}.ruleset-section-tabs strong{color:var(--ink);font-size:1.15rem}.ruleset-section-tabs button.active span,.ruleset-section-tabs button.active strong{color:#fff6df}.ruleset-overview-grid,.ruleset-catalog-layout{grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);gap:1rem;display:grid}.ruleset-catalog-layout h4{color:var(--ink);margin:0;font-size:1.15rem}.catalog-table{border:1px solid var(--line);border-radius:.9rem;display:grid;overflow:auto}.catalog-row{border-bottom:1px solid var(--line);background:#fff8eba3;grid-template-columns:minmax(10rem,.85fr) minmax(12rem,.8fr) minmax(12rem,1fr) auto;align-items:center;gap:.85rem;min-width:58rem;padding:.75rem .85rem;display:grid}.catalog-row:last-child{border-bottom:0}.catalog-row code{overflow-wrap:anywhere;color:var(--green);font-size:.82rem}.catalog-row strong{color:var(--ink)}.catalog-row>span{color:var(--muted);line-height:1.4}.catalog-header-row{background:#15130f14}.empty-row{min-width:0;color:var(--muted);grid-template-columns:1fr}.issue-row{grid-template-columns:6rem minmax(8rem,.8fr) minmax(14rem,1.2fr);min-width:34rem}.issue-row strong{color:var(--red);text-transform:uppercase}.ruleset-kv-list{grid-template-columns:minmax(8rem,.55fr) minmax(0,1fr);align-items:baseline;gap:.65rem 1rem;display:grid}.ruleset-kv-list strong{color:var(--ink);overflow-wrap:anywhere}.ink-button{color:var(--ink);border-color:#15130f2e}.session-layout .page-header{grid-column:1/-1}.roll-card,.event-card{gap:1rem;padding:1.2rem;display:grid}.event-card strong{color:var(--red);font-size:clamp(4rem,12vw,8rem);line-height:.85}.session-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.session-metrics article{border:1px solid var(--line);background:#15130f0f;border-radius:.9rem;gap:.25rem;padding:.7rem;display:grid}.session-metrics strong{color:var(--ink);font-size:1rem;line-height:1}.action-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.65rem;display:grid}.action-tile{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff8ebcc;border-radius:.9rem;gap:.35rem;min-height:6.5rem;padding:.85rem;display:grid}.action-tile:disabled{cursor:not-allowed;opacity:.64}.action-tile span,.action-tile small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.72rem;font-weight:900}.action-tile strong{color:var(--ink);font-size:1.15rem;line-height:1}.timeline-list{gap:.65rem;display:grid}.timeline-item{border:1px solid var(--line);background:#15130f0f;border-radius:.9rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:.85rem;display:grid}.timeline-item strong{color:var(--ink);font-size:1rem;line-height:1.2}.timeline-item p{color:var(--muted);margin:.2rem 0 0}.timeline-item time{color:var(--muted);white-space:nowrap;font-size:.85rem}@media (width<=760px){.app-frame{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.session-layout,.ruleset-workbench-header,.ruleset-meta-grid,.ruleset-status-strip,.ruleset-overview-grid,.ruleset-catalog-layout{grid-template-columns:1fr}.ruleset-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.table-row,.session-metrics{grid-template-columns:1fr}}.mechanics-builder .builder-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.builder-xp-summary{flex-wrap:wrap;gap:.75rem;font-family:Avenir Next Condensed,Arial Narrow,sans-serif;font-size:.9rem;display:flex}.builder-hint{color:var(--red)}.builder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.builder-section h4{margin:0 0 .6rem}.rank-list{gap:.45rem;display:grid}.rank-list.scroll-list{max-height:14rem;overflow:auto}.rank-row{grid-template-columns:1fr 4.5rem;align-items:center;gap:.5rem;display:grid}.chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.chip{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;padding:.35rem .75rem}.chip.active,.chip.available{background:#4d705b2e;border-color:#4d705b73}.chip.spent{opacity:.45}.validation-panel{background:#d65b3d14;border:1px solid #d65b3d59;border-radius:.85rem;margin-top:1rem;padding:.85rem 1rem}.validation-panel.compact{margin-top:0;margin-bottom:1rem}.builder-ok{color:var(--green);margin-top:.75rem}.play-sheet-grid{margin-bottom:1rem}.wide-panel{grid-column:1/-1}.pool-bars{gap:.75rem;display:grid}.pool-bar meter{width:100%;height:.65rem}.sheet-meta{color:var(--muted);margin:.75rem 0 0;font-size:.92rem}.action-tracker{flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem;display:flex}.inline-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.roll-result,.resolver-log{margin-top:.75rem}.tag-list{margin:0;padding-left:1.1rem}.rules-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.rules-list{columns:2;column-gap:1.5rem;margin:0;padding-left:1.1rem}.rules-config-note{color:var(--muted);margin-top:.75rem;font-size:.92rem}.json-textarea{width:100%;margin-top:.75rem;font-family:ui-monospace,monospace;font-size:.85rem}@media (width<=900px){.builder-grid,.rules-section-grid{grid-template-columns:1fr}.rules-list{columns:1}}:root{color:#211c18;--ink:#211c18;--muted:#666a5d;--paper:#f8f7f1;--paper-deep:#e8ece3;--surface:#fffffbe6;--surface-solid:#fffefa;--line:#221c1824;--line-strong:#221c183d;--red:#9f3d32;--gold:#c48a3d;--green:#506f5d;--plum:#584257;--coal:#211c18;--shadow:0 18px 56px #2a221c24;--soft-shadow:0 10px 28px #2a221c14;--radius:8px;--radius-sm:6px;background:#e8ece3;font-family:Avenir Next,Optima,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{letter-spacing:0}html{scroll-behavior:smooth}body{min-height:100dvh;color:var(--ink);background:linear-gradient(115deg,#9f3d3214,#0000 38%),linear-gradient(245deg,#506f5d1f,#0000 42%),linear-gradient(135deg,#eef1e9 0%,#dfe8dd 54%,#f2f0e7 100%)}body:before{z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(#211c1809 1px,#0000 1px),linear-gradient(90deg,#211c1806 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000b8,#00000014);mask-image:linear-gradient(#000000b8,#00000014)}h1,h2,h3,h4{text-wrap:balance;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif}p,li{text-wrap:pretty}.skip-link{z-index:20;color:var(--surface-solid);background:var(--coal);border-radius:var(--radius-sm);padding:.65rem .85rem;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-frame{grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);min-height:100dvh}.sidebar{color:#f7f5ed;background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/100% 2.25rem,linear-gradient(145deg,#c48a3d29,#0000 42%),linear-gradient(#2a211d 0%,#1b1714 100%);border-right:1px solid #ffffff1f;gap:1rem;height:100dvh;padding:1rem;box-shadow:10px 0 34px #211c182e}.brand-block{grid-template-columns:3.4rem minmax(0,1fr);align-items:center;gap:.85rem;display:grid}.brand-mark{color:#fffefa;background:linear-gradient(135deg, #ffffff3d, transparent 46%), linear-gradient(135deg, var(--red), var(--plum));border-radius:var(--radius);letter-spacing:0;border:1px solid #ffffff2e;width:3.35rem;height:3.35rem;font-family:Georgia,Iowan Old Style,serif;font-size:1.05rem;box-shadow:0 14px 28px #00000038}.sidebar h1,.page-header h2,.login-card h1,.not-found h1{letter-spacing:0}.sidebar h1{color:#fffefa;max-width:9rem;font-size:2.25rem;line-height:.98}.eyebrow,.card-index,.stat-grid span,.event-card span,.ruleset-status-strip span,.ruleset-status-strip small,.catalog-header-row span,.ruleset-kv-list span,.action-tile span,.action-tile small,.advanced-json summary,label{letter-spacing:0;text-transform:none;font-family:Avenir Next,Optima,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.eyebrow{color:var(--red);margin-bottom:.4rem;font-size:.82rem;font-weight:750}.sidebar .eyebrow{color:#f7f5ed9e}.nav-stack{gap:.25rem;margin-top:.6rem}.nav-stack a{color:#f7f5edb8;border-radius:var(--radius);grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.68rem .7rem;transition:color .18s,background .18s,transform .18s;display:grid}.nav-stack a span{color:#f7f5edb8;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff1a;place-items:center;width:1.8rem;height:1.8rem;font-family:Georgia,Iowan Old Style,serif;font-size:.82rem;display:grid}.nav-stack a.active,.nav-stack a:hover{color:#fffefa;background:#ffffff14;border-color:#0000;transform:translate(2px)}.nav-stack a.active span{color:#241a16;background:var(--gold);border-color:#ffffff2e}.identity-card{color:#fffefa;border-radius:var(--radius);box-shadow:none;background:#ffffff13;border-color:#ffffff21;gap:.7rem;margin-top:auto;padding:.9rem}.identity-card span{color:#f7f5edad;font-size:.8rem}.role-badge{color:#fffefa;background:var(--plum);border-radius:var(--radius-sm);letter-spacing:0;text-transform:none;padding:.24rem .5rem;font-size:.72rem;font-weight:750}.role-owner{background:var(--red)}.role-admin{background:var(--gold);color:#261c15}.role-gm{background:var(--green)}.role-player,.role-viewer{background:#6e7466}.content-panel{width:min(100%,1500px);padding:1.5rem}.page-stack{gap:1rem}.page-header{border-radius:var(--radius);max-width:none;min-height:10.5rem;box-shadow:var(--soft-shadow);background:linear-gradient(105deg,#fffefaf0,#f8f7f1b8),linear-gradient(135deg,#506f5d14,#9f3d3214);border:1px solid #221c181f;padding:1.5rem;position:relative;overflow:hidden}.page-header:after{pointer-events:none;content:"";opacity:.28;background-color:#0000;background-image:linear-gradient(90deg,#221c1821 1px,#0000 1px),linear-gradient(#221c181a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:1rem 1rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:12rem;height:12rem;position:absolute;top:1rem;right:1rem;transform:rotate(-7deg)}.page-header h2{max-width:17ch;font-size:4.4rem;line-height:.96}.page-header p:not(.eyebrow),.login-card p{max-width:58ch;color:var(--muted);font-size:1rem;line-height:1.65}.split-header{gap:1rem}.card-grid,.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.85rem}.feature-card,.dashboard-card,.table-card,.stat-grid article,.roll-card,.event-card,.json-panel,.sheet-panel,.sheet-edit-panel,.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.feature-card,.dashboard-card,.roll-card,.event-card,.sheet-panel,.sheet-edit-panel,.admin-card{padding:1rem}.feature-card{border-left:4px solid var(--green);min-height:11rem}.feature-card:hover{border-color:#221c1829;border-left-color:var(--red);box-shadow:var(--shadow);transform:translateY(-2px)}.feature-card h3,.dashboard-card h3,.admin-card h3,.compact-form h3{color:var(--ink);font-size:1.55rem;line-height:1.05}.feature-card p,.dashboard-card p,.sheet-panel p,.timeline-item p{color:var(--muted);line-height:1.55}.dashboard-card{border-top:4px solid var(--gold);align-content:space-between;min-height:12rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.stat-grid article,.session-metrics article,.ruleset-status-strip article{border-radius:var(--radius-sm);min-height:auto;box-shadow:none;background:#fffefab8;padding:.85rem}.stat-grid strong,.ruleset-status-strip strong{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:Georgia,Iowan Old Style,serif;font-size:1.25rem;line-height:1.05}.table-card,.catalog-table{border-radius:var(--radius);box-shadow:var(--soft-shadow)}.table-row,.catalog-row{background:#fffefa94;border-bottom-color:#221c181a}.table-row:hover,.catalog-row:hover{background:#fffefae6}.json-panel,.event-card pre{color:#f7f5ed;border-radius:var(--radius);background:#211c18}.login-page,.not-found,.loading-page{background:linear-gradient(120deg,#9f3d321f,#0000 38%),linear-gradient(250deg,#506f5d24,#0000 44%),linear-gradient(135deg,#e8ece3,#f4f2ea);min-height:100dvh}.login-card{border-radius:var(--radius);width:min(100%,44rem);box-shadow:var(--shadow);background:#fffefae6;border-color:#221c1824;padding:2rem;position:relative;overflow:hidden}.login-card:before{content:"";background:linear-gradient(90deg, var(--red), var(--gold), var(--green));border-radius:0;width:4rem;height:.42rem;margin-bottom:1.5rem;display:block}.login-card h1,.not-found h1{font-size:4.2rem;line-height:.98}form{gap:.9rem}label{color:#4f5349;gap:.35rem;font-size:.86rem;font-weight:720}input,select,textarea{min-height:2.8rem;color:var(--ink);border-radius:var(--radius-sm);background:#fffefaf0;border:1px solid #221c182e;padding:.75rem .85rem;transition:border-color .18s,box-shadow .18s,background .18s}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #c48a3d61}input:focus,select:focus,textarea:focus{background:#fffefa;border-color:#506f5d9e;box-shadow:0 0 0 4px #506f5d1f}textarea,.json-textarea{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem}.button{border-radius:var(--radius-sm);letter-spacing:0;text-transform:none;min-height:2.55rem;padding:.7rem .95rem;font-weight:780;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #211c1824}.button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.button.primary{color:#fffefa;background:linear-gradient(135deg, var(--red), #7f342d);border-color:#211c181a}.button.ghost,.ink-button{color:var(--ink);background:#fffefab3;border-color:#221c1829}.button.danger{color:#fffefa;background:#7f342d}.segmented-control{border-radius:var(--radius);background:#221c1814;gap:.2rem;padding:.2rem}.segmented-control button{border-radius:var(--radius-sm);letter-spacing:0;text-transform:none}.segmented-control button.active{color:#fffefa;background:var(--plum)}.form-error,.form-note,.builder-ok{border-radius:var(--radius-sm);padding:.7rem .85rem}.form-error{color:#7f342d;background:#9f3d321a;border:1px solid #9f3d3238}.form-note,.builder-ok{color:#365442;background:#506f5d1a;border:1px solid #506f5d33}.admin-grid{grid-template-columns:repeat(2,minmax(20rem,1fr));gap:.9rem}.admin-card{align-content:start}.admin-card .table-card,.admin-card .sheet-edit-panel,.sheet-panel .table-card{box-shadow:none;background:#221c1809;border-color:#221c1817}.form-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.85rem}.button-row{gap:.55rem}.ruleset-workbench{border-top:5px solid var(--plum)}.ruleset-workbench-header{grid-template-columns:minmax(0,1fr) minmax(14rem,auto)}.ruleset-meta-grid{grid-template-columns:minmax(14rem,1.4fr) repeat(3,minmax(8rem,1fr))}.ruleset-section-tabs{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.45rem;padding-bottom:.2rem;display:grid}.ruleset-section-tabs button{border-radius:var(--radius-sm);background:#fffefab8;min-height:4rem;transition:background .16s,transform .16s,border-color .16s}.ruleset-section-tabs button:hover{border-color:#506f5d4d;transform:translateY(-1px)}.ruleset-section-tabs button.active{background:var(--coal);border-color:var(--coal)}.ruleset-section-tabs span{letter-spacing:0;text-transform:none}.ruleset-overview-grid,.ruleset-catalog-layout{grid-template-columns:minmax(0,1.15fr) minmax(19rem,.85fr)}.catalog-row{border-radius:0}.catalog-row code{color:var(--plum)}.issue-row strong{color:var(--red)}.session-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,23rem)}.event-card strong{color:var(--red);overflow-wrap:anywhere;font-size:1.35rem;line-height:1.15}.roll-card>.button,.event-card>.button{place-self:start}.session-metrics strong{color:var(--ink);overflow-wrap:anywhere;font-size:1.1rem;line-height:1.15}.action-tile{border-radius:var(--radius-sm);background:#fffefad1;transition:transform .16s,background .16s,border-color .16s}.action-tile:hover:not(:disabled){background:#fffefa;transform:translateY(-1px)}.action-tile.active{border-color:#9f3d3285;box-shadow:inset 0 0 0 2px #9f3d321c}.timeline-item{border-radius:var(--radius-sm);background:#fffefaad}.mechanics-builder{border-top:5px solid var(--green)}.builder-header{align-items:flex-start}.builder-xp-summary{gap:.4rem}.builder-xp-summary span{border-radius:var(--radius-sm);background:#221c180e;border:1px solid #221c1817;padding:.42rem .58rem}.builder-section{border-radius:var(--radius-sm);background:#221c1809;border:1px solid #221c1814;padding:.8rem}.rank-row{grid-template-columns:minmax(0,1fr) 4.8rem}.chip{border-radius:var(--radius-sm);background:#fffefac2;transition:transform .16s,background .16s,border-color .16s}.chip:hover:not(:disabled){background:#fffefa;transform:translateY(-1px)}.chip.active,.chip.available{color:#fffefa;background:var(--green);border-color:#0000}.chip.spent{color:var(--muted);background:#221c180f}.validation-panel{border-radius:var(--radius-sm);background:#9f3d3214;border-color:#9f3d3238}.pool-bar{gap:.35rem;display:grid}.pool-bar meter{height:.55rem;accent-color:var(--green)}.rules-section-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.rules-list{color:var(--muted);padding-left:1rem}.rules-list li+li{margin-top:.4rem}@media (width<=980px){.app-frame{grid-template-columns:1fr}.sidebar{height:auto;min-height:auto;position:static}.brand-block{grid-template-columns:3rem minmax(0,1fr)}.brand-mark{width:3rem;height:3rem}.sidebar h1{max-width:none;font-size:1.85rem}.nav-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.content-panel{padding:1rem}.page-header h2{font-size:3.1rem}.admin-grid,.ruleset-workbench-header,.ruleset-meta-grid,.ruleset-status-strip,.ruleset-overview-grid,.ruleset-catalog-layout,.session-layout{grid-template-columns:1fr}}@media (width<=620px){.nav-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{min-height:auto;padding:1rem}.page-header h2,.login-card h1,.not-found h1{font-size:2.45rem}.login-card{padding:1.2rem}.table-row,.audit-row,.invite-row{grid-template-columns:1fr;gap:.45rem}.catalog-row{min-width:42rem}}
