:root{--font-display: "Newsreader", "Source Serif Pro", Georgia, serif;--font-ui: "DM Sans", "Söhne", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--bg: #f4ecdb;--bg-deep: #ebe1cc;--surface: #fbf6ea;--surface-2: #f9f2e1;--ink: #1d1813;--ink-2: #4a3f33;--ink-3: #7a6b59;--rule: #d6c8ac;--rule-soft: #e3d6b8;--crimson: oklch(.46 .16 24);--crimson-deep: oklch(.34 .13 24);--crimson-soft: oklch(.92 .04 24);--gold: oklch(.72 .12 78);--slate: oklch(.48 .04 250);--leaf: oklch(.55 .1 145);--rust: oklch(.62 .14 45);--good: oklch(.55 .1 145);--warn: oklch(.68 .14 65);--bad: oklch(.55 .18 25);--u: 4px;--r-sm: 4px;--r: 8px;--r-lg: 14px;--pad-card: 18px;--row-h: 36px}[data-theme=dark]{--bg: #15110d;--bg-deep: #0d0a07;--surface: #1e1812;--surface-2: #241c14;--ink: #f4ecdb;--ink-2: #d4c5a6;--ink-3: #9a8a72;--rule: #3a3024;--rule-soft: #2a2218;--crimson: oklch(.62 .18 26);--crimson-deep: oklch(.5 .16 26);--crimson-soft: oklch(.3 .1 26);--gold: oklch(.78 .13 78)}[data-theme=imperial]{--bg: #290408;--bg-deep: #120103;--surface: rgba(20, 10, 10, .45);--surface-2: rgba(16, 1, 3, .75);--ink: #f4ecdb;--ink-2: #ecd3a7;--ink-3: #9e855b;--rule: rgba(236, 211, 167, .16);--rule-soft: rgba(236, 211, 167, .06);--crimson: #A6192E;--crimson-deep: #7e1020;--crimson-soft: rgba(166, 25, 46, .25);--gold: #ecd3a7}[data-theme=imperial]{background:radial-gradient(circle at center,#2e060a,#120103)!important}[data-theme=imperial] .sidebar{background:linear-gradient(180deg,#100103,#050000);border:1px solid rgba(236,211,167,.15);box-shadow:0 4px 30px #00000073}[data-theme=imperial] .sidebar-foot{border-top:1px solid rgba(236,211,167,.12)}[data-theme=imperial] .brand{border-bottom:1px solid rgba(236,211,167,.12)}[data-theme=imperial] .topbar{background:#140a0a73;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(236,211,167,.15);box-shadow:0 4px 20px #00000059}[data-theme=imperial] .card{background:#140a0a73;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(236,211,167,.15);box-shadow:0 12px 40px #00000073,inset 0 1px #ffffff0d}[data-theme=imperial] .card.flush{background:#140a0a73}[data-theme=imperial] .map-region{fill:#100103bf;stroke:#ecd3a726}[data-theme=imperial] .map-region:hover{fill:#a6192e59}[data-theme=imperial] .page{position:relative;background-image:none}[data-theme=imperial] .page:before{content:"";position:fixed;top:55%;left:calc(50% + 130px);transform:translate(-50%,-50%);width:560px;height:660px;background-image:url(/images/trademarks/coatofarms_large.png);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.08;pointer-events:none;z-index:0;filter:grayscale(100%) sepia(100%) hue-rotate(-15deg) saturate(320%) brightness(.65) contrast(1.15);will-change:transform}[data-theme=imperial] .page>*{position:relative;z-index:1}[data-theme=imperial] .tbl th{background:#ecd3a70f;border-bottom:1px solid rgba(236,211,167,.15)}[data-theme=imperial] .tbl td{border-bottom:1px solid rgba(236,211,167,.08)}[data-theme=imperial] .tbl tr:hover td{background:#ffffff0a}[data-theme=imperial] .nav-item.active{background:#ffffff0a;border-color:#ecd3a726;box-shadow:inset 2px 0 #ecd3a7,0 0 10px #ecd3a714;color:#ecd3a7}[data-theme=imperial] .nav-item.active .nav-glyph{color:#ecd3a7}[data-theme=imperial] .btn{background:#ffffff0d;border:1px solid rgba(236,211,167,.2);color:#f4ecdb}[data-theme=imperial] .btn:hover{background:#ffffff1a;border-color:#ecd3a7;color:#fff}[data-theme=imperial] .btn.primary{background:linear-gradient(135deg,#a6192e,#7e1020);border-color:#ecd3a740;color:#fff;box-shadow:0 4px 14px #a6192e4d}[data-theme=imperial] .btn.primary:hover{background:linear-gradient(135deg,#b82035,#8f1527);border-color:#ecd3a7;box-shadow:0 6px 18px #a6192e73}[data-theme=imperial] .pill{background:#ecd3a70f;border-color:#ecd3a71f;color:#ecd3a7}[data-theme=imperial] .search{background:#00000040;border:1px solid rgba(236,211,167,.15);color:#9e855b}[data-theme=imperial] .search input:focus{color:#fff}[data-theme=imperial] .tab-group{border:1px solid rgba(236,211,167,.15)}[data-theme=imperial] .tab{background:#00000026;border-right:1px solid rgba(236,211,167,.15);color:#9e855b}[data-theme=imperial] .tab.active{background:#ffffff0a;color:#ecd3a7}[data-theme=imperial] .detail-head{background:#140a0a73;border:1px solid rgba(236,211,167,.15)}[data-theme=imperial] .detail-meta .field{border-right:1px solid rgba(236,211,167,.12)}[data-theme=imperial] .divider{background:#ecd3a740}[data-theme=mono]{--bg: #f6f5f2;--bg-deep: #ecebe6;--surface: #ffffff;--surface-2: #faf9f5;--ink: #14130f;--ink-2: #44423c;--ink-3: #7a786f;--rule: #d9d6cc;--rule-soft: #e7e4d8;--crimson: oklch(.3 .04 60);--crimson-deep: oklch(.22 .02 60);--crimson-soft: oklch(.93 .01 60);--gold: oklch(.55 .04 80)}[data-density=compact]{--pad-card: 12px;--row-h: 28px}[data-density=spacious]{--pad-card: 26px;--row-h: 44px}body,.app,.main,.sidebar,.card,.topbar,.btn,.tbl td,.tbl th,.nav-item,.brand,.mini-stats-v,.display{transition:background-color .35s cubic-bezier(.25,.8,.25,1),color .35s cubic-bezier(.25,.8,.25,1),border-color .35s cubic-bezier(.25,.8,.25,1),fill .35s cubic-bezier(.25,.8,.25,1),stroke .35s cubic-bezier(.25,.8,.25,1),box-shadow .35s cubic-bezier(.25,.8,.25,1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}button{font-family:inherit}.num,.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}.app{display:flex;min-height:100vh;background:var(--bg);padding:12px;box-sizing:border-box;position:relative;overflow:hidden}.sidebar{width:248px;flex-shrink:0;background:var(--bg-deep);border:1px solid var(--rule);border-radius:16px;display:flex;flex-direction:column;padding:18px 14px 12px;position:fixed;top:12px;left:12px;bottom:12px;z-index:30;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;box-shadow:0 4px 24px #00000014;box-sizing:border-box}.sidebar::-webkit-scrollbar{display:none}.brand{display:flex;align-items:center;gap:10px;padding:4px 4px 18px;border-bottom:1px solid var(--rule-soft);margin-bottom:14px}.brand-mark{width:36px;height:32px;flex:none;border:1px solid var(--crimson);background:var(--crimson);color:var(--bg);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:13px;border-radius:2px;letter-spacing:0;padding:0 4px}.brand-name{font-family:var(--font-display);font-size:15px;font-weight:600;line-height:1.1;letter-spacing:-.01em}.brand-sub{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);margin-top:2px}.nav-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);padding:14px 6px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;font-size:13.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--surface);color:var(--ink);border-color:var(--rule-soft);box-shadow:inset 2px 0 0 var(--crimson)}.nav-glyph{width:16px;height:16px;flex:none;color:var(--ink-3)}.nav-item.active .nav-glyph{color:var(--crimson)}.sidebar-foot{margin-top:auto;padding:12px 6px 4px;border-top:1px solid var(--rule-soft);display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-2)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--crimson-deep);color:var(--bg);display:grid;place-items:center;font-family:var(--font-display);font-size:12px}.app.sidebar-collapsed .sidebar{width:72px;padding:18px 8px 12px}.app.sidebar-collapsed .sidebar .nav-item{justify-content:center;padding:9px 6px;gap:0}.app.sidebar-collapsed .sidebar .nav-item>span{display:none}.app.sidebar-collapsed .sidebar .nav-section{display:none}.app.sidebar-collapsed .sidebar .brand{padding:4px 0 14px;flex-direction:column!important;gap:0!important}.app.sidebar-collapsed .sidebar .brand-mark{width:40px;height:46px}.app.sidebar-collapsed .sidebar .brand>div:last-child{display:none}.app.sidebar-collapsed .sidebar .divider{margin:12px 4px!important}.app.sidebar-collapsed .sidebar-foot{justify-content:center;padding:12px 0 4px}.app.sidebar-collapsed .sidebar-foot>div:not(.avatar){display:none}.app.sidebar-collapsed .main{margin-left:96px}.main{flex:1;margin-left:272px;display:flex;flex-direction:column;height:calc(100vh - 24px);box-sizing:border-box;position:relative;z-index:1;overflow:hidden;background:transparent}.topbar{display:flex;align-items:center;gap:16px;padding:0 28px;height:56px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:12px;box-sizing:border-box;flex-shrink:0}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);flex:1;min-width:0}.crumbs .sep{color:var(--ink-3);opacity:.5}.crumbs .here{color:var(--ink);font-weight:500}.crumbs .link{cursor:pointer}.crumbs .link:hover{color:var(--crimson)}.topbar-actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:var(--r-sm);font-size:12.5px;cursor:pointer}.btn:hover{color:var(--ink);border-color:var(--ink-3)}.btn.primary{background:var(--crimson);border-color:var(--crimson);color:var(--bg)}.btn.primary:hover{background:var(--crimson-deep);border-color:var(--crimson-deep)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11.5px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--rule-soft);white-space:nowrap}.pill.crimson{background:var(--crimson-soft);color:var(--crimson-deep);border-color:transparent}.pill.good{background:color-mix(in oklab,var(--good) 18%,transparent);color:var(--good);border-color:transparent}.pill.warn{background:color-mix(in oklab,var(--warn) 22%,transparent);color:#6f4000;color:oklch(.42 .14 65);border-color:transparent}.pill.bad{background:color-mix(in oklab,var(--bad) 16%,transparent);color:var(--bad);border-color:transparent}.page{flex:1;overflow-y:auto;padding:22px 28px 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--rule);margin-bottom:22px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin-bottom:8px}.h1{font-family:var(--font-display);font-size:38px;line-height:1;font-weight:500;letter-spacing:-.02em;margin:0}.h1 .accent{color:var(--crimson)}.lede{margin-top:8px;font-size:13.5px;color:var(--ink-2);max-width:56ch}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border:1px solid var(--rule);background:var(--surface);margin-bottom:22px;border-radius:12px;overflow:hidden}@media(min-width:1100px){.kpi-strip{grid-template-columns:repeat(4,1fr)}}.kpi{padding:var(--pad-card);display:flex;flex-direction:column;gap:6px;position:relative;box-shadow:inset -1px -1px 0 var(--rule-soft)}.kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}.kpi-value{font-family:var(--font-display);font-size:30px;line-height:1;font-weight:500;letter-spacing:-.02em}.kpi-value .unit{font-size:14px;color:var(--ink-3);margin-left:4px}.kpi-delta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3)}.kpi-delta .chg{font-family:var(--font-mono);font-feature-settings:"tnum"}.kpi-delta .chg.up{color:var(--good)}.kpi-delta .chg.dn{color:var(--bad)}.kpi-spark{margin-top:6px}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:2fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-12{grid-template-columns:repeat(12,1fr)}.card{background:var(--surface);border:1px solid var(--rule);padding:var(--pad-card);display:flex;flex-direction:column;min-width:0;border-radius:12px;overflow:hidden}.card.flush{padding:0}.card h3{font-family:var(--font-display);font-weight:500;font-size:17px;margin:0 0 2px;letter-spacing:-.01em}.card .sub{font-size:12px;color:var(--ink-3);margin-bottom:14px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:16px}.card-head .titles{flex:1;min-width:0}.card-head .titles h3{margin-bottom:2px}.card-head .titles .sub{margin:0}.card-head .tools{display:flex;gap:6px;align-items:center}.tab-group{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r-sm);overflow:hidden}.tab{padding:4px 10px;font-size:11.5px;color:var(--ink-3);background:var(--surface-2);cursor:pointer;border-right:1px solid var(--rule)}.tab:last-child{border-right:none}.tab.active{background:var(--surface);color:var(--ink)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);padding:8px 12px;border-bottom:1px solid var(--rule);background:var(--surface-2)}.tbl td{padding:0 12px;height:var(--row-h);border-bottom:1px solid var(--rule-soft);color:var(--ink-2);vertical-align:middle}.tbl tr:hover td{background:var(--surface-2)}.tbl tr.clickable{cursor:pointer}.tbl td.num,.tbl th.num{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";color:var(--ink)}.tbl td.name{color:var(--ink);font-weight:500}.tbl td.rank{color:var(--ink-3);width:28px}.bar-cell{display:flex;align-items:center;gap:10px}.bar-cell .track{flex:1;height:6px;background:var(--rule-soft);position:relative}.bar-cell .fill{position:absolute;left:0;top:0;bottom:0;background:var(--crimson)}.bar-cell .pct{font-family:var(--font-mono);font-size:12px;color:var(--ink);min-width:38px;text-align:right}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule-soft)}.list-row:last-child{border-bottom:none}.list-row .lead{flex:1;min-width:0}.list-row .lead .t{font-size:13px;color:var(--ink);font-weight:500}.list-row .lead .s{font-size:12px;color:var(--ink-3)}.list-row .trail{font-family:var(--font-mono);font-size:12.5px;color:var(--ink)}.sig{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:-1px}.sig.good{background:var(--good)}.sig.warn{background:var(--warn)}.sig.bad{background:var(--bad)}.sig.neutral{background:var(--ink-3)}.chart svg{display:block;width:100%}.legend{display:flex;gap:16px;font-size:12px;color:var(--ink-2);margin-top:8px}.legend .sw{width:10px;height:10px;display:inline-block;vertical-align:-1px;margin-right:6px}.map-wrap{position:relative}.map-wrap svg{display:block;width:100%}.map-region{fill:var(--surface-2);stroke:var(--rule);stroke-width:1;cursor:pointer;transition:fill .12s}.map-region:hover{fill:var(--crimson-soft)}.map-region.active{fill:var(--crimson)}.map-wrap g image{transition:opacity .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.map-wrap g:hover image{opacity:.16!important}.map-label{font-family:var(--font-ui);font-size:10.5px;fill:var(--ink-2);pointer-events:none;text-anchor:middle}.map-pin{fill:var(--crimson);stroke:var(--bg);stroke-width:1}.scope-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--rule);padding:4px 10px;font-size:12px;color:var(--ink-2)}.scope-chip .label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px}.scope-chip strong{color:var(--ink);font-weight:500}.search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--rule);padding:5px 10px;border-radius:var(--r-sm);color:var(--ink-3);font-size:12.5px;width:280px;min-width:0}.search input{border:none;background:transparent;outline:none;color:var(--ink);font-family:inherit;font-size:12.5px;width:100%}.detail-head{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:20px 22px;background:var(--surface);border:1px solid var(--rule);margin-bottom:22px;border-radius:12px;overflow:hidden}.detail-seal{width:64px;height:64px;border:1px solid var(--crimson);background:var(--crimson);color:var(--bg);display:grid;place-items:center;font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:-.02em}.detail-meta{display:flex;gap:24px}.detail-meta .field{padding-right:24px;border-right:1px solid var(--rule-soft)}.detail-meta .field:last-child{border-right:none;padding-right:0}.detail-meta .field .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);margin-bottom:4px}.detail-meta .field .v{font-size:14px;color:var(--ink);font-family:var(--font-display)}.divider{height:1px;background:var(--rule);margin:18px 0}.muted{color:var(--ink-3)}.ink{color:var(--ink)}.good{color:var(--good)}.bad{color:var(--bad)}.flag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.mini-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:8px;align-items:end}.mini-stats>div{min-width:0}.mini-stats-l{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-stats-v{font-family:var(--font-display);font-size:18px;font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.feed-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule-soft);font-size:12.5px}.feed-row:last-child{border-bottom:none}.feed-row .time{font-family:var(--font-mono);color:var(--ink-3);font-size:11.5px}.feed-row .text .who{color:var(--ink);font-weight:500}.page::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:10px;height:10px}.page::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:var(--rule);border-radius:999px}.card.dark{background:var(--crimson);color:var(--bg);border-color:var(--crimson)}.card.dark h3{color:var(--bg)}.card.dark .sub{color:color-mix(in oklab,var(--bg) 70%,transparent)}.card.dark .kpi-value{color:var(--bg)}.card.dark .kpi-label{color:color-mix(in oklab,var(--bg) 70%,transparent)}.login-page{display:flex;min-height:100vh;width:100vw;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#faf8f5}.login-left{width:45%;min-width:400px;background:linear-gradient(170deg,#0c0404,#1a0808 40%,#0a0202);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 48px;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/Founders.webp) center center / cover no-repeat;opacity:.14;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 70%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 70%,transparent 100%)}.login-left-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;animation:loginCardFadeIn .8s cubic-bezier(.16,1,.3,1) forwards}.login-left-logo{width:160px;height:auto;margin-bottom:24px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}.login-left-title{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:#ecd3a7;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;text-shadow:0 4px 10px rgba(0,0,0,.5);background:linear-gradient(90deg,#ecd3a7,#fff,#ecd3a7);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textShimmer 3.5s linear infinite}.login-left-divider{width:60px;height:2px;margin:0 auto 24px;background:linear-gradient(90deg,transparent,rgba(236,211,167,.6),transparent)}.login-left-motto{font-family:var(--font-display);font-size:1.1rem;font-style:italic;font-weight:400;color:#ffffff80;line-height:1.6;margin:0 auto 36px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-left-founded{text-align:center}.login-left-year{display:block;font-family:var(--font-display);font-size:2.4rem;font-weight:300;color:#ffffffbf;letter-spacing:8px;line-height:1}.login-left-label{display:block;font-size:.72rem;font-weight:500;color:#ffffff59;letter-spacing:2px;text-transform:uppercase;margin-top:6px}.login-left-crest{position:absolute;bottom:-40px;right:-40px;width:260px;height:260px;opacity:.04;pointer-events:none}.login-left-crest img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.login-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#faf8f5;position:relative}.login-card{width:100%;max-width:400px;text-align:center;animation:loginCardFadeIn .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes loginCardFadeIn{0%{opacity:0;transform:translate3d(0,20px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}.login-heading{font-family:var(--font-display);font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:4px}.login-subtitle{font-family:var(--font-ui);font-size:.88rem;color:#8c8275;margin-bottom:32px;letter-spacing:.02em}.login-error{background:#a6192e14;border:1px solid rgba(166,25,46,.2);color:#8b0000;padding:12px 14px;border-radius:8px;font-size:13px;text-align:left;margin-bottom:24px;animation:shake .4s ease}@keyframes shake{0%,to{transform:translateZ(0)}25%{transform:translate3d(-5px,0,0)}75%{transform:translate3d(5px,0,0)}}.login-form{display:flex;flex-direction:column;gap:20px}.field{margin-bottom:4px;text-align:left}.field label{display:block;font-family:var(--font-ui);font-size:.78rem;font-weight:600;color:#3f3933;margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.field-header{display:flex;justify-content:space-between;align-items:center}.forgot-link{font-family:var(--font-ui);font-size:.75rem;color:#a6192e;background:none;border:none;cursor:pointer;font-weight:600;padding:0;transition:opacity .2s}.forgot-link:hover{opacity:.8;text-decoration:underline}.login-input{width:100%;padding:12px 14px;border:1.5px solid #e1d8cd;border-radius:8px;font-size:.92rem;font-family:inherit;background:#fff;color:#1a1a1a;transition:all .2s cubic-bezier(.16,1,.3,1);outline:none}.login-input:focus{border-color:#a6192e;box-shadow:0 0 0 3px #a6192e1f}.login-input::-moz-placeholder{color:#a69a8b}.login-input::placeholder{color:#a69a8b}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6b6053}.login-remember{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-remember input{accent-color:#A6192E;cursor:pointer;width:16px;height:16px}.login-btn{width:100%;padding:13px;background:linear-gradient(160deg,#a6192e,#7e1020);color:#fff;border:none;border-radius:8px;font-family:var(--font-ui);font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #a6192e40;transition:all .2s cubic-bezier(.16,1,.3,1);letter-spacing:.04em;text-transform:uppercase}.login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #a6192e61;background:linear-gradient(160deg,#b82035,#8f1527)}.login-btn:active{transform:translateY(1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.login-footer{margin-top:24px;padding-top:20px;border-top:1px solid #ebdccb}.login-footer p{font-family:var(--font-ui);font-size:.85rem;color:#8c8275}.login-footer a{color:#a6192e;text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}.login-legal{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:.72rem;color:#a69a8b;letter-spacing:.02em}.login-page--exiting{animation:loginLiftAway .5s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes loginLiftAway{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@media(max-width:860px){.login-page{flex-direction:column;position:absolute;min-height:100vh;overflow-y:auto}.login-left{width:100%;min-height:380px;padding:40px 24px}.login-left-logo{width:130px}.login-left-title{font-size:1.8rem}.login-left-crest{display:none}.login-right{width:100%;padding:48px 24px 80px}.login-legal{position:relative;bottom:auto;margin-top:40px}}.sidebar-foot{margin-top:auto;padding:10px 8px;border-top:1px solid var(--rule-soft);display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2);cursor:pointer;border-radius:var(--r-sm);transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-foot:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.sidebar-foot.active{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--crimson);color:var(--ink)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0a0880;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;z-index:10000;animation:fadeIn .25s cubic-bezier(.16,1,.3,1) forwards}.modal-card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;width:520px;max-width:90vw;box-shadow:0 24px 64px #00000038;animation:scaleUp .32s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:16px 22px;border-bottom:1px solid var(--rule-soft);display:flex;align-items:center;justify-content:space-between;background:var(--surface-2)}.modal-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.modal-close{background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-3);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:50%;transition:all .2s;width:32px;height:32px}.modal-close:hover{color:var(--ink);background:var(--surface-3)}.modal-body{padding:24px;max-height:72vh;overflow-y:auto;color:var(--ink-2);line-height:1.6}.modal-body h4{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink);margin:18px 0 6px}.modal-body h4:first-of-type{margin-top:0}.modal-body p{margin:0 0 12px;font-size:13.5px}.modal-body ul{margin:0 0 16px;padding-left:20px}.modal-body li{margin-bottom:6px;font-size:13px}.modal-footer{padding:14px 22px;border-top:1px solid var(--rule-soft);display:flex;justify-content:flex-end;background:var(--surface-2);gap:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.92) translate3d(0,10px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}.lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#15110d;display:flex;align-items:center;justify-content:center;animation:lockFadeIn .5s ease forwards}.lock-overlay--panel{background:linear-gradient(135deg,#15110d,#2d0408,#15110d)}@keyframes lockFadeIn{0%{opacity:0}to{opacity:1}}.lock-clock{position:absolute;top:18%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .45s cubic-bezier(.16,1,.3,1);z-index:2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lock-clock--up{top:10%;transform:translate(-50%) scale(.78);opacity:.65}.lock-clock-time{font-family:var(--font-display);font-size:5rem;font-weight:300;color:#fff;letter-spacing:.04em;line-height:1;text-shadow:0 4px 12px rgba(0,0,0,.3)}.lock-clock-date{font-family:var(--font-ui);font-size:14.5px;color:#ffffff73;letter-spacing:.08em;font-weight:500;text-transform:uppercase}.screensaver{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;padding-top:100px}.screensaver-diamond{animation:lockFloat 8s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(166,25,46,.4))}.screensaver-crest{width:96px;height:96px;opacity:.9}@keyframes lockFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-12px) rotate(1.5deg)}50%{transform:translateY(-6px) rotate(0)}75%{transform:translateY(-14px) rotate(-1.5deg)}}.screensaver-1911{font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:.32em;color:#ecd3a7;display:flex;gap:6px;text-shadow:0 4px 10px rgba(0,0,0,.4)}.screensaver-1911 .char{opacity:0;animation:lockTypeIn 7.6s ease infinite}.screensaver-1911 .char-1{animation-delay:0s}.screensaver-1911 .char-2{animation-delay:.4s}.screensaver-1911 .char-3{animation-delay:.8s}.screensaver-1911 .char-4{animation-delay:1.2s}@keyframes lockTypeIn{0%,1%{opacity:0}5.3%{opacity:1}60%{opacity:1}75%{opacity:0}to{opacity:0}}.screensaver-tagline{font-family:var(--font-display);font-size:15px;font-style:italic;color:#ecd3a78c;letter-spacing:.12em;text-align:center;margin:0;opacity:0;animation:lockTaglineFade 7.6s ease infinite;animation-delay:1.8s;text-shadow:0 2px 8px rgba(0,0,0,.3)}@keyframes lockTaglineFade{0%,1%{opacity:0}8%{opacity:1}55%{opacity:1}70%{opacity:0}to{opacity:0}}.unlock-panel{display:flex;flex-direction:column;align-items:center;gap:14px;animation:lockSlideUp .35s cubic-bezier(.16,1,.3,1) forwards;width:320px;z-index:2}@keyframes lockSlideUp{0%{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:translateZ(0)}}.unlock-avatar{width:76px;height:76px;border-radius:50%;border:3px solid rgba(166,25,46,.6);background:var(--crimson);color:var(--bg);display:grid;place-items:center;font-family:var(--font-display);font-size:32px;font-weight:500;box-shadow:0 8px 24px #0006}.unlock-name{color:#fff;font-size:1.2rem;font-weight:600;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.4)}.unlock-chapter{color:#ffffff73;font-size:13px;margin:-8px 0 0;letter-spacing:.04em;font-weight:500}.unlock-form{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:4px}.unlock-input{width:100%;padding:12px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;text-align:center}.unlock-input:focus{border-color:#a6192e99;background:#ffffff1f;box-shadow:0 0 0 3px #a6192e40}.unlock-input::-moz-placeholder{color:#ffffff59}.unlock-input::placeholder{color:#ffffff59}.unlock-input--shake{animation:lockShake .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes lockShake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.unlock-error{color:#f87171;font-size:12.5px;margin:0;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.unlock-btn{width:100%;padding:12px;background:var(--crimson);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;display:flex;align-items:center;justify-content:center;min-height:44px}.unlock-btn:hover:not(:disabled){background:var(--crimson-deep);box-shadow:0 4px 12px #a6192e66}.unlock-btn:active:not(:disabled){transform:scale(.98)}.unlock-btn:disabled{opacity:.5;cursor:not-allowed}.unlock-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:lockSpin .6s linear infinite}@keyframes lockSpin{to{transform:rotate(360deg)}}.unlock-signout{background:none;border:none;color:#fff6;font-size:13px;font-family:inherit;cursor:pointer;padding:8px;transition:color .2s}.unlock-signout:hover{color:#ffffffbf}.lock-brand{position:absolute;bottom:32px;left:50%;transform:translate(-50%);opacity:.25;transition:opacity .3s}.lock-brand:hover{opacity:.45}.clickable-matrix-cell{cursor:pointer;transition:background-color .15s ease,color .15s ease}.clickable-matrix-cell:hover{background-color:var(--surface-3)!important;color:var(--crimson)!important}.pagination-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid var(--rule-soft);background:var(--surface-2);flex-wrap:wrap;gap:12px}.pagination-pages{display:flex;gap:4px;align-items:center}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 8px;font-size:12px;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:var(--crimson);color:var(--crimson);background:var(--surface-2)}.pagination-btn.active{background:var(--crimson);border-color:var(--crimson);color:var(--bg);font-weight:600}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-ellipsis{padding:0 4px;color:var(--ink-3);font-size:12px}
