@font-face{font-display:swap;font-family:Pirata One;font-style:normal;font-weight:400;src:url(/static/media/pirata-one-latin-ext-400-normal.92aab4e20a1cadf5048e.woff2) format("woff2"),url(/static/media/pirata-one-latin-ext-400-normal.5a2bfe77c26fae2da572.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Pirata One;font-style:normal;font-weight:400;src:url(/static/media/pirata-one-latin-400-normal.272cf03c7d63b76cf097.woff2) format("woff2"),url(/static/media/pirata-one-latin-400-normal.ac44b3eec2c603d04601.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:600;src:url(/static/media/cinzel-latin-ext-600-normal.5060efe63bbb3f9e1ebb.woff2) format("woff2"),url(/static/media/cinzel-latin-ext-600-normal.c74a98b5a1d5ff0e3a0f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:600;src:url(/static/media/cinzel-latin-600-normal.089e424c9affa515b0f1.woff2) format("woff2"),url(/static/media/cinzel-latin-600-normal.6979d0bcc79acc77ce44.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:700;src:url(/static/media/cinzel-latin-ext-700-normal.cb16f7db8c109902fa34.woff2) format("woff2"),url(/static/media/cinzel-latin-ext-700-normal.52b584372389388041c2.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:700;src:url(/static/media/cinzel-latin-700-normal.870b55242167a32533c6.woff2) format("woff2"),url(/static/media/cinzel-latin-700-normal.77072f5d3ab7ff5b5a0a.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-cyrillic-ext-400-normal.20892c576c47697f170f.woff2) format("woff2"),url(/static/media/alegreya-cyrillic-ext-400-normal.dfa089f24f6a80ed71d2.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-cyrillic-400-normal.20451bab7cd71a6be54c.woff2) format("woff2"),url(/static/media/alegreya-cyrillic-400-normal.ea59404a8e7440d4698e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-greek-ext-400-normal.91fc7c770bc94b7b7aca.woff2) format("woff2"),url(/static/media/alegreya-greek-ext-400-normal.088cf4af67a8a018ba33.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-greek-400-normal.4e9b87702d6c58b88d1b.woff2) format("woff2"),url(/static/media/alegreya-greek-400-normal.8c0144217e19e8a56c9e.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-vietnamese-400-normal.e19f348d60ef11ea5ae9.woff2) format("woff2"),url(/static/media/alegreya-vietnamese-400-normal.6298efaa2c56c7aaebca.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-latin-ext-400-normal.281793c6ccba35776939.woff2) format("woff2"),url(/static/media/alegreya-latin-ext-400-normal.0069ba178013c4aea648.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:400;src:url(/static/media/alegreya-latin-400-normal.efcd3e0ca61b52cb756f.woff2) format("woff2"),url(/static/media/alegreya-latin-400-normal.903874b6ac0f69f5a407.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-cyrillic-ext-400-italic.6fe9d385e8783c58bae0.woff2) format("woff2"),url(/static/media/alegreya-cyrillic-ext-400-italic.f9b843b892dbbf8de720.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-cyrillic-400-italic.c9618c8832f496eca312.woff2) format("woff2"),url(/static/media/alegreya-cyrillic-400-italic.fc0678f621942edec64f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-greek-ext-400-italic.30f3031b1f8011012e75.woff2) format("woff2"),url(/static/media/alegreya-greek-ext-400-italic.9f977ec9a34be0e95b3d.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-greek-400-italic.8146fda6ac7f11d8e972.woff2) format("woff2"),url(/static/media/alegreya-greek-400-italic.3dc39d604b8cc177a29a.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-vietnamese-400-italic.2b867240b94b4c8d9408.woff2) format("woff2"),url(/static/media/alegreya-vietnamese-400-italic.c2727853f4f866763d85.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-latin-ext-400-italic.34f1cb57ee0a0ab0ff02.woff2) format("woff2"),url(/static/media/alegreya-latin-ext-400-italic.2129c72c0db37c842c6f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Alegreya;font-style:italic;font-weight:400;src:url(/static/media/alegreya-latin-400-italic.bb134b1fb11f1f59af3b.woff2) format("woff2"),url(/static/media/alegreya-latin-400-italic.72751651128482da6b93.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-cyrillic-ext-700-normal.0defe2a5e37f324dc9eb.woff2) format("woff2"),url(/static/media/alegreya-cyrillic-ext-700-normal.2108c4a79da893eae958.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-cyrillic-700-normal.d5631eeb438a0d6ee99c.woff2) format("woff2"),url(/static/media/alegreya-cyrillic-700-normal.b2cef3589d32e8fa68b4.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-greek-ext-700-normal.247a71ce9360c5e04ee9.woff2) format("woff2"),url(/static/media/alegreya-greek-ext-700-normal.b1752b6b5d438a5ab4c5.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-greek-700-normal.a3c73f0f3ec1eb32dc11.woff2) format("woff2"),url(/static/media/alegreya-greek-700-normal.838bda6da396730bec8f.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-vietnamese-700-normal.1913ee15ec85573d8c12.woff2) format("woff2"),url(/static/media/alegreya-vietnamese-700-normal.b264a5fe8686a9f7af2d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-latin-ext-700-normal.7470aff5a01efa6d66f7.woff2) format("woff2"),url(/static/media/alegreya-latin-ext-700-normal.efd75ca3c546f4e9fd4e.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Alegreya;font-style:normal;font-weight:700;src:url(/static/media/alegreya-latin-700-normal.0b0592d8d3eb6aa6ac2d.woff2) format("woff2"),url(/static/media/alegreya-latin-700-normal.c6e4362582e003177b1b.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Noto Sans Runic;font-style:normal;font-weight:400;src:url(/static/media/noto-sans-runic-runic-400-normal.8eb32379f7fcd1920b5b.woff2) format("woff2"),url(/static/media/noto-sans-runic-runic-400-normal.367ca3a3fc6e127b8a48.woff) format("woff");unicode-range:u+16a0-16f8}@font-face{font-display:swap;font-family:Noto Sans Runic;font-style:normal;font-weight:400;src:url(/static/media/noto-sans-runic-latin-ext-400-normal.69b6aa78350ef1377c19.woff2) format("woff2"),url(/static/media/noto-sans-runic-latin-ext-400-normal.c11b6bca48de3b960f9f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Noto Sans Runic;font-style:normal;font-weight:400;src:url(/static/media/noto-sans-runic-latin-400-normal.0045a29f303a413b5285.woff2) format("woff2"),url(/static/media/noto-sans-runic-latin-400-normal.ad4ceb016e630ef31ab6.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#08090b;--panel:#14161a;--panel-raised:#1c1f24;--panel-sunken:#0d0f12;--iron:#32363d;--iron-light:#4c525b;--gold:#c9a24a;--gold-bright:#e6c674;--gold-dim:#7d6430;--danger:#a3252f;--danger-bright:#e0505b;--bone:#e8e2d4;--bone-dim:#b5ae9e;--muted:#858079;--frost:#8fb6d6;--mist:#a88ad0;--moss:#7fbf6a;--amber:#e0a03c;--font-title:"Pirata One","UnifrakturMaguntia","Old English Text MT",Georgia,serif;--font-label:"Cinzel","Trajan Pro",Georgia,serif;--font-body:"Alegreya",Georgia,"Times New Roman",serif;--font-runes:"Noto Sans Runic","Segoe UI Historic","Segoe UI Symbol",sans-serif;--font-mono:ui-monospace,"Cascadia Mono","DejaVu Sans Mono",Consolas,monospace;color-scheme:dark}*{box-sizing:border-box}body{background-attachment:fixed;background-color:#08090b;background-color:var(--bg);background-image:radial-gradient(ellipse at 50% -10%,#506e8c4d,#0000 55%),radial-gradient(ellipse at 100% 100%,#1e2d3c8c,#0000 50%),radial-gradient(ellipse at 0 80%,#3c465f4d,#0000 45%);color:#e8e2d4;color:var(--bone);font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:16px;margin:0;min-height:100vh;padding:24px}body:before{animation:fog-drift 40s ease-in-out infinite alternate;background:radial-gradient(ellipse 40% 18% at 30% 70%,#c8bed20d,#0000 70%),radial-gradient(ellipse 35% 15% at 70% 40%,#c8bed20a,#0000 70%),radial-gradient(ellipse 50% 20% at 50% 95%,#8caac80f,#0000 70%);content:"";inset:-20%;pointer-events:none;position:fixed;z-index:-1}@keyframes fog-drift{0%{transform:translateX(-4%) translateY(0)}to{transform:translateX(4%) translateY(-2%)}}::selection{background:#7d6430;background:var(--gold-dim);color:#fff}a{color:#e6c674;color:var(--gold-bright)}.container,.login-card{background-color:#14161a;background-color:var(--panel);background-image:radial-gradient(circle at 14px 14px,#4c525b 0 3px,#0b0c0f 3.5px,#0000 4.5px),radial-gradient(circle at calc(100% - 14px) 14px,#4c525b 0 3px,#0b0c0f 3.5px,#0000 4.5px),radial-gradient(circle at 14px calc(100% - 14px),#4c525b 0 3px,#0b0c0f 3.5px,#0000 4.5px),radial-gradient(circle at calc(100% - 14px) calc(100% - 14px),#4c525b 0 3px,#0b0c0f 3.5px,#0000 4.5px),linear-gradient(160deg,hsla(0,0%,100%,.025),#0000 40%),repeating-linear-gradient(90deg,hsla(0,0%,100%,.012) 0 2px,#0000 2px 5px);background-image:radial-gradient(circle at 14px 14px,var(--iron-light) 0 3px,#0b0c0f 3.5px,#0000 4.5px),radial-gradient(circle at calc(100% - 14px) 14px,var(--iron-light) 0 3px,#0b0c0f 3.5px,#0000 4.5px),radial-gradient(circle at 14px calc(100% - 14px),var(--iron-light) 0 3px,#0b0c0f 3.5px,#0000 4.5px),radial-gradient(circle at calc(100% - 14px) calc(100% - 14px),var(--iron-light) 0 3px,#0b0c0f 3.5px,#0000 4.5px),linear-gradient(160deg,hsla(0,0%,100%,.025),#0000 40%),repeating-linear-gradient(90deg,hsla(0,0%,100%,.012) 0 2px,#0000 2px 5px);border:1px solid #32363d;border:1px solid var(--iron);box-shadow:0 0 0 1px #000,0 20px 60px #000000b3,0 0 80px #7896be12;outline:1px solid #c9a24a40;outline-offset:-7px;position:relative}.container{border-radius:6px;margin:0 auto;max-width:1400px;padding:36px}header{border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#7d6430,#c9a24a,#7d6430,#0000) 1;border-image:linear-gradient(90deg,#0000,var(--gold-dim),var(--gold),var(--gold-dim),#0000) 1;margin-bottom:24px;padding-bottom:20px}.header-title-row{flex-wrap:wrap;justify-content:space-between;margin-bottom:16px}.brand,.header-title-row{align-items:center;display:flex;gap:16px}h1{color:#e8e2d4;color:var(--bone);font-family:Pirata One,UnifrakturMaguntia,Old English Text MT,Georgia,serif;font-family:var(--font-title);font-size:42px;font-weight:400;letter-spacing:1px;line-height:1.05;margin:0 0 4px;text-shadow:0 2px 0 #000,0 0 18px #96b4d259}h2{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.subtitle{color:#858079;color:var(--muted);font-size:15px;font-style:italic;margin:0}.header-actions{display:flex;flex-wrap:wrap;gap:10px}.sigil{filter:drop-shadow(0 0 10px rgba(150,180,210,.3));flex-shrink:0}.sigil .vegvisir-rings circle{stroke-width:6}.sigil .vegvisir-staves circle,.sigil .vegvisir-staves line{stroke-width:10}.sigil .vegvisir-runes{animation:none;font-size:30px}.login-sigil .vegvisir-runes{animation:rune-turn 60s linear infinite}@keyframes rune-turn{to{transform:rotate(1turn)}}.rune-divider{align-items:center;color:#7d6430;color:var(--gold-dim);display:flex;font-family:Noto Sans Runic,Segoe UI Historic,Segoe UI Symbol,sans-serif;font-family:var(--font-runes);font-size:14px;gap:12px;letter-spacing:10px;text-align:center}.rune-divider:after,.rune-divider:before{background:linear-gradient(90deg,#0000,#7d6430);background:linear-gradient(90deg,#0000,var(--gold-dim));content:"";flex:1 1;height:1px}.rune-divider:after{background:linear-gradient(90deg,#7d6430,#0000);background:linear-gradient(90deg,var(--gold-dim),#0000)}.btn{align-items:center;border:1px solid #0000;border-radius:3px;cursor:pointer;display:inline-flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:13px;font-weight:700;gap:8px;letter-spacing:1px;padding:10px 18px;text-transform:uppercase;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.45}.btn:focus-visible,.chip:focus-visible,.link-button:focus-visible,.stat-card:focus-visible{outline:2px solid #e6c674;outline:2px solid var(--gold-bright);outline-offset:2px}.btn-primary{background:linear-gradient(180deg,#e6c674,#c9a24a 50%,#7d6430);background:linear-gradient(180deg,var(--gold-bright),var(--gold) 50%,var(--gold-dim));border-color:#4f3f1c;box-shadow:inset 0 1px 0 #ffffff59,0 4px 14px #00000080;color:#16120a;text-shadow:0 1px 0 #ffffff40}.btn-primary:hover:not(:disabled){box-shadow:inset 0 1px 0 #fff6,0 6px 22px #c9a24a59;transform:translateY(-1px)}.btn-secondary{background:linear-gradient(180deg,#272b32,#16191d);border-color:#4c525b;border-color:var(--iron-light);box-shadow:inset 0 1px 0 #ffffff0f;color:#b5ae9e;color:var(--bone-dim)}.btn-secondary:hover:not(:disabled){border-color:#7d6430;border-color:var(--gold-dim);color:#e6c674;color:var(--gold-bright)}.scanning-banner{align-items:center;background:linear-gradient(90deg,#8fb6d62e,#8fb6d60a);border:1px solid #8fb6d666;border-left:4px solid #8fb6d6;border-left:4px solid var(--frost);border-radius:3px;color:#e8e2d4;color:var(--bone);display:flex;font-style:italic;gap:12px;margin-bottom:16px;padding:12px 16px}.spinner{animation:spin .9s linear infinite;border-bottom:2px solid #c9a24a4d;border-left:2px solid #c9a24a4d;border-radius:50%;border-right:2px solid #c9a24a;border-right-color:var(--gold);border-top:2px solid #8fb6d6;border-top-color:var(--frost);height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.info-banner{background:#c9a24a14;border:1px solid #c9a24a4d;border-left:4px solid #c9a24a;border-left:4px solid var(--gold);border-radius:3px;color:#e8e2d4;color:var(--bone);font-size:15px;margin-bottom:16px;padding:10px 16px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:20px}.stat-card{background:linear-gradient(180deg,#1c1f24,#0d0f12);background:linear-gradient(180deg,var(--panel-raised),var(--panel-sunken));border:1px solid #32363d;border-top:3px solid #7d6430;border:1px solid var(--iron);border-radius:3px;border-top:3px solid var(--gold-dim);color:inherit;cursor:pointer;display:block;font:inherit;padding:16px;position:relative;text-align:left;transition:all .2s ease;width:100%}.stat-card:hover{border-color:#7d6430;border-color:var(--gold-dim);box-shadow:0 8px 24px #0009,0 0 18px #c9a24a1f;transform:translateY(-2px)}.stat-label{color:#b5ae9e;color:var(--bone-dim);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:1.5px;margin-bottom:6px;text-transform:uppercase}.stat-value{color:#e8e2d4;color:var(--bone);font-family:Pirata One,UnifrakturMaguntia,Old English Text MT,Georgia,serif;font-family:var(--font-title);font-size:40px;line-height:1;text-shadow:0 2px 0 #000}.stat-card.selected{border-color:#c9a24a;border-color:var(--gold);box-shadow:0 0 0 1px #7d6430,0 0 18px #c9a24a38;box-shadow:0 0 0 1px var(--gold-dim),0 0 18px #c9a24a38}.stat-card.selected .stat-label{color:#e6c674;color:var(--gold-bright)}.online-card{border-top-color:#7fbf6a;border-top-color:var(--moss)}.wlan-card{border-top-color:#a88ad0;border-top-color:var(--mist)}.lan-card{border-top-color:#8fb6d6;border-top-color:var(--frost)}.webui-card{border-top-color:#e0a03c;border-top-color:var(--amber)}.inactive-card{border-top-color:#4c525b;border-top-color:var(--iron-light)}.archive-card{border-top-color:#858079;border-top-color:var(--muted)}.archive-card .stat-value{color:#b5ae9e;color:var(--bone-dim)}.last-scan-time{color:#858079;color:var(--muted);font-size:14px;margin-top:14px}.last-scan-time strong{color:#b5ae9e;color:var(--bone-dim)}.toolbar{display:flex;flex-direction:column;gap:14px;margin:20px 0}.search-box{position:relative;width:100%}input,select{color:#e8e2d4;color:var(--bone);font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body)}.admin-create input,.admin-create select,.login-label input,.search-box input{background-color:#0d0f12;background-color:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;box-shadow:inset 0 2px 6px #0009;outline:none;transition:border-color .2s,box-shadow .2s}.search-box input{font-size:16px;padding:12px 40px 12px 16px;width:100%}.admin-create input::placeholder,.search-box input::placeholder{color:#858079;color:var(--muted);font-style:italic}.admin-create input:focus,.admin-create select:focus,.login-label input:focus,.search-box input:focus{border-color:#7d6430;border-color:var(--gold-dim);box-shadow:inset 0 2px 6px #0009,0 0 0 3px #c9a24a33}.btn-clear{background:none;border:none;color:#858079;color:var(--muted);cursor:pointer;font-size:14px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.btn-clear:hover{color:#e0505b;color:var(--danger-bright)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#1c1f24;background:var(--panel-raised);border:1px solid #32363d;border:1px solid var(--iron);border-radius:2px;color:#b5ae9e;color:var(--bone-dim);cursor:pointer;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 14px;transition:all .2s ease}.chip:hover{border-color:#7d6430;border-color:var(--gold-dim);color:#e6c674;color:var(--gold-bright)}.chip.active{background:linear-gradient(180deg,#c9a24a,#7d6430);background:linear-gradient(180deg,var(--gold),var(--gold-dim));border-color:#e6c674;border-color:var(--gold-bright);box-shadow:0 0 12px #c9a24a4d;color:#16120a}.table-responsive{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;overflow-x:auto}table{border-collapse:collapse;font-size:15px;width:100%}th{background:linear-gradient(180deg,#262a31,#181b20);border-bottom:2px solid #7d6430;border-bottom:2px solid var(--gold-dim);color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:1.2px;text-align:left;text-transform:uppercase;white-space:nowrap}td,th{padding:12px 14px}td{border-bottom:1px solid #57464973;vertical-align:middle}tbody tr{transition:background-color .15s ease}tbody tr:hover{background-color:#8fb6d612}tr.row-offline{opacity:.72}.ip-text{color:#e8e2d4;color:var(--bone);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:14px}.host-container{display:flex;flex-direction:column;gap:4px}.hostname-text{color:#e8e2d4;color:var(--bone);font-weight:700}.hostname-hint{background-color:#c9a24a1a;border:1px solid #c9a24a59;border-radius:2px;color:#e6c674;color:var(--gold-bright);font-size:14px;font-weight:700;padding:2px 8px;width:fit-content}.hostname-unknown{color:#858079;color:var(--muted);font-size:14px;font-style:italic}.device-badges-row{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.host-name-row{align-items:center;display:flex;gap:6px}.hostname-text.custom-name{color:#e6c674;color:var(--gold-bright)}.label-edit-button{background:none;border:1px solid #0000;border-radius:2px;cursor:pointer;font-size:13px;opacity:.55;padding:0 4px;transition:opacity .2s ease,border-color .2s ease}.label-edit-button:focus-visible,.label-edit-button:hover{border-color:#7d6430;border-color:var(--gold-dim);opacity:1}.label-editor{display:flex;flex-direction:column;gap:6px;min-width:220px}.label-editor input{font-size:14px;padding:6px 8px}.label-editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-small{font-size:12px;padding:5px 10px}.label-editor-error{color:#e0505b;color:var(--danger-bright);font-size:13px}.device-type-tag{background-color:#1c1f24;background-color:var(--panel-raised);border:1px solid #4c525b;border:1px solid var(--iron-light);border-radius:2px;color:#b5ae9e;color:var(--bone-dim);display:inline-block;width:fit-content}.device-type-tag,.sub-hint{font-size:12px;padding:1px 6px}.sub-hint{background-color:#c9a24a14;border:1px solid #c9a24a40;border-radius:2px;color:#c9a24a;color:var(--gold)}.source-tag{background-color:#0d0f12;background-color:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:2px;color:#b5ae9e;color:var(--bone-dim);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:11px;padding:1px 5px}.badge-private-mac{background-color:#a88ad01f;border:1px solid #a88ad059;color:#a88ad0;color:var(--mist);font-size:12px}.badge{align-items:center;border-radius:2px;display:inline-flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:11px;font-weight:700;gap:4px;letter-spacing:.8px;padding:3px 8px;white-space:nowrap}.badge.online{background-color:#7fbf6a1f;border:1px solid #7fbf6a66;color:#7fbf6a;color:var(--moss)}.badge.offline{background-color:#a3252f2e;border:1px solid #e0505b73;color:#f08a92}.badge.archived{background-color:#85807924;border:1px solid #85807973;color:#b5ae9e;color:var(--bone-dim)}.wlan-cell{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.wlan-detail{color:#858079;color:var(--muted);font-size:12px;white-space:nowrap}.badge-wlan{background-color:#a88ad01f;border:1px solid #a88ad059;color:#a88ad0;color:var(--mist)}.badge-lan{background-color:#8fb6d61f;border:1px solid #8fb6d659;color:#8fb6d6;color:var(--frost)}.badge-unknown{background-color:#1c1f24;background-color:var(--panel-raised);border:1px solid #4c525b;border:1px solid var(--iron-light);color:#b5ae9e;color:var(--bone-dim)}.ui-cell{display:flex;flex-direction:column;gap:4px}.btn-webui{align-items:center;background:linear-gradient(180deg,#c9a24a38,#c9a24a14);border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:2px;color:#e6c674;color:var(--gold-bright);display:inline-flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:11px;font-weight:700;gap:4px;letter-spacing:.5px;padding:5px 10px;text-decoration:none;transition:all .2s ease;width:fit-content}.btn-webui:hover{background:linear-gradient(180deg,#c9a24a59,#c9a24a26);box-shadow:0 0 12px #c9a24a40;transform:translateX(2px)}.http-title{font-size:12px;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-headless,.http-title{color:#858079;color:var(--muted)}.badge-headless{background-color:#0d0f12;background-color:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron)}.badge-rdp{background-color:#8fb6d61a;border:1px solid #8fb6d64d;color:#8fb6d6;color:var(--frost)}.vendor-text{font-size:14px}.vendor-text,code{color:#b5ae9e;color:var(--bone-dim)}code{background-color:#0d0f12;background-color:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:2px;font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:12px;padding:2px 6px}.ports-container{display:flex;flex-wrap:wrap;gap:4px;max-width:140px}.port-tag{background-color:#1c1f24;background-color:var(--panel-raised);border:1px solid #4c525b;border:1px solid var(--iron-light);border-radius:2px;color:#b5ae9e;color:var(--bone-dim);font-size:11px;padding:1px 5px}.latency-text,.port-tag{font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono)}.latency-text{color:#7fbf6a;color:var(--moss);font-size:12px;font-weight:600}.muted-text{color:#858079;color:var(--muted)}.error-box{background:linear-gradient(90deg,#a3252f4d,#a3252f1a);border:1px solid #e0505b8c;border-left:4px solid #e0505b;border-left:4px solid var(--danger-bright);border-radius:3px;color:#ffd0d4;margin:16px 0;padding:14px}.seen-hint{color:#858079;color:var(--muted);font-size:12px;font-style:italic;margin-top:4px;white-space:nowrap}.seen-cell{color:#b5ae9e;color:var(--bone-dim);font-size:13px;white-space:nowrap}.seen-label{display:inline-block;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:10px;font-weight:700;letter-spacing:1px;min-width:58px;text-transform:uppercase}.record-id,.seen-label{color:#858079;color:var(--muted)}.record-id{font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:11px}.ref-tag{background:#8fb6d61a;border:1px solid #8fb6d659;border-radius:2px;color:#8fb6d6;color:var(--frost);cursor:pointer;display:block;font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:12px;margin-top:4px;padding:2px 6px;white-space:nowrap}.ref-tag:hover{background:#8fb6d633;border-color:#8fb6d6;border-color:var(--frost)}.family-banner{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:0}.analytics-filters{display:flex;flex-wrap:wrap;gap:10px 24px;margin:4px 0 20px}.series-toggle{align-items:center;display:inline-flex;gap:8px}.series-toggle.series-off{opacity:.45;text-decoration:line-through}.analytics-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 0 20px}.stat-card.static{cursor:default}.stat-card.static:hover{transform:none}.stat-sub{color:#858079;color:var(--muted);font-size:13px;font-style:italic;margin-top:6px}.scan-table-more{display:flex;justify-content:center;margin-top:12px}.analytics-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:minmax(0,1fr);transition:opacity .2s ease}.analytics-layout.is-refetching{opacity:.6}.analytics-side{display:contents}.analytics-side .history-card{order:-1}@media (min-width:1100px){.analytics-layout{align-items:start;grid-template-columns:minmax(0,1fr) 420px}.analytics-side{align-self:stretch;display:flex;flex-direction:column;gap:20px}.analytics-side .history-card{order:0}.info-panel{max-height:calc(100vh - 32px);overflow-y:auto;position:sticky;top:calc(16px + env(safe-area-inset-top, 0px))}}.analytics-charts{display:flex;flex-direction:column;gap:20px;min-width:0}.chart-card{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;padding:16px 16px 8px}.chart-title{font-size:14px;margin:0 0 2px}.chart-subtitle{color:#858079;color:var(--muted);font-size:14px;font-style:italic;margin:0 0 10px}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart-grid{stroke:#32363d;stroke:var(--iron);stroke-width:1;shape-rendering:crispEdges}.chart-tick{fill:#858079;fill:var(--muted);font-feature-settings:"tnum";font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:12px;font-variant-numeric:tabular-nums}.chart-rug line{stroke:#b5ae9e;stroke:var(--bone-dim);stroke-width:1;opacity:.45}.chart-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-marker{stroke:#0d0f12;stroke:var(--panel-sunken);stroke-width:2}.chart-crosshair line{stroke:#b5ae9e;stroke:var(--bone-dim);stroke-width:1}.chart-bucket-active{fill:#8fb6d614}.chart-hit{fill:#0000;cursor:crosshair;outline:none}.chart-hit:focus-visible{stroke:#e6c674;stroke:var(--gold-bright);stroke-width:1}.chart-tooltip{background:#1c1f24;background:var(--panel-raised);border:1px solid #4c525b;border:1px solid var(--iron-light);border-radius:3px;box-shadow:0 8px 24px #0009;font-size:14px;min-width:180px;padding:8px 12px;pointer-events:none;position:absolute;z-index:5}.chart-tooltip-title{color:#858079;color:var(--muted);font-size:12px;margin-bottom:4px}.chart-tooltip-row{align-items:center;color:#b5ae9e;color:var(--bone-dim);display:flex;gap:8px}.chart-tooltip-row strong{font-feature-settings:"tnum";color:#e8e2d4;color:var(--bone);font-variant-numeric:tabular-nums;min-width:2ch}.chart-key{display:inline-block;flex-shrink:0}.chart-key-line{border-radius:1px;height:2px;width:14px}.chart-key-bar{border-radius:2px;height:10px;width:10px}.analytics-table td.num,.analytics-table th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.analytics-table{margin-bottom:8px;max-height:360px;overflow-y:auto}.analytics-table tbody tr{cursor:pointer}.analytics-table tr.row-selected{background-color:#c9a24a1f}.chart-tooltip-row.is-focused{color:#e8e2d4;color:var(--bone)}.chart-tooltip-row.is-focused span:last-child{text-decoration:underline;text-decoration-color:#7d6430;text-decoration-color:var(--gold-dim);text-underline-offset:3px}.chart-bar-focused{stroke:#e8e2d4;stroke:var(--bone);stroke-width:1.5}.history-card{scroll-margin-top:16px}.history-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.history-form input{background-color:#14161a;background-color:var(--panel);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;box-shadow:inset 0 2px 6px #0009;flex:1 1 200px;font-size:16px;min-width:0;outline:none;padding:10px 14px}.history-form input:focus{border-color:#7d6430;border-color:var(--gold-dim);box-shadow:inset 0 2px 6px #0009,0 0 0 3px #c9a24a33}.history-summary{margin:4px 0 12px}.history-device{border-top:1px solid #32363d;border-top:1px solid var(--iron);padding:14px 0 6px}.history-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.history-name{color:#e8e2d4;color:var(--bone);font-size:18px;font-weight:700}.history-stats{color:#b5ae9e;color:var(--bone-dim);display:flex;flex-wrap:wrap;font-size:14px;gap:6px 22px;margin-bottom:10px}.timeline-label{fill:#b5ae9e;fill:var(--bone-dim);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:13px}.timeline-label.is-highlight{fill:#e6c674;fill:var(--gold-bright);font-weight:700}.timeline-sublabel{fill:#858079;fill:var(--muted);font-size:11px}.history-link,.timeline-sublabel{font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body)}.history-link{background:none;border:none;color:#c9a24a;color:var(--gold);cursor:pointer;font-size:12px;margin-left:8px;padding:0}.history-link:hover{color:#e6c674;color:var(--gold-bright);text-decoration:underline}.info-compare{font-size:13px;margin:0 0 10px}.info-block{border-left:2px solid #0000;border-radius:2px;margin-top:14px;padding:8px 10px 4px}.info-block.is-focused{background:#c9a24a0f;border-left-color:#c9a24a;border-left-color:var(--gold)}.info-block .info-subtitle{align-items:center;display:flex;gap:8px;margin-top:0}.info-more{font-size:14px;margin-top:10px}.info-panel{padding-bottom:16px}.info-title{color:#c9a24a;color:var(--gold);font-size:15px;margin:0 0 6px}.info-subtitle,.info-title{font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);letter-spacing:1px}.info-subtitle{color:#b5ae9e;color:var(--bone-dim);font-size:12px;margin:14px 0 6px;text-transform:uppercase}.info-muted{color:#858079;color:var(--muted);font-style:italic}.info-loading{opacity:.6}.info-summary{grid-gap:4px 12px;color:#b5ae9e;color:var(--bone-dim);display:grid;font-size:14px;gap:4px 12px;grid-template-columns:1fr 1fr}.info-summary>span{align-items:center;display:flex;gap:6px}.info-summary strong{color:#e8e2d4;color:var(--bone)}.info-section{margin-top:14px}.info-section summary{color:#b5ae9e;color:var(--bone-dim);cursor:pointer;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.info-filter{margin:4px 0 12px;width:100%}.info-list{list-style:none;margin:6px 0 0;padding:0}.info-row{align-items:baseline;border-bottom:1px solid #4c525b66;display:flex;gap:10px;padding:6px 0}.info-row .chart-key{position:relative;top:-2px}.info-row-title{color:#e8e2d4;color:var(--bone);font-weight:700}.info-row-meta{font-feature-settings:"tnum";color:#b5ae9e;color:var(--bone-dim);font-size:13px;font-variant-numeric:tabular-nums}.impressum-section{margin-top:22px}.impressum-section h2{font-size:14px;margin:0 0 6px}.impressum-section p{font-size:17px;margin:0}.login-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 48px)}.login-card{border-radius:6px;display:flex;flex-direction:column;gap:16px;max-width:420px;overflow:hidden;padding:40px 36px 32px;width:100%}.login-sigil{align-self:center;margin-bottom:-4px}.login-card h1.login-title{font-size:44px;margin:0;text-align:center}.login-card .subtitle{text-align:center}.login-label{color:#c9a24a;color:var(--gold);display:flex;flex-direction:column;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;gap:6px;letter-spacing:1.5px;text-transform:uppercase}.login-label input{font-size:16px;letter-spacing:normal;padding:12px 16px;text-transform:none}.login-submit{font-size:14px;justify-content:center;padding:13px 18px}.link-button{align-self:center;background:none;border:none;color:#b5ae9e;color:var(--bone-dim);cursor:pointer;font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:15px;font-style:italic;padding:0}.link-button:hover{color:#e6c674;color:var(--gold-bright);text-decoration:underline}.admin-section{background:linear-gradient(180deg,#1c1f24,#0d0f12);background:linear-gradient(180deg,var(--panel-raised),var(--panel-sunken));border:1px solid #32363d;border-left:3px solid #7d6430;border:1px solid var(--iron);border-left:3px solid var(--gold-dim);border-radius:3px;margin-top:14px;transition:border-color .2s ease,box-shadow .2s ease}.admin-section:first-of-type{margin-top:24px}.admin-section[open]{border-left-color:#c9a24a;border-left-color:var(--gold)}.admin-section>summary{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:14px 16px}.admin-section>summary::-webkit-details-marker{display:none}.admin-section>summary:hover{box-shadow:inset 0 0 0 1px #7d6430;box-shadow:inset 0 0 0 1px var(--gold-dim)}.admin-section>summary:focus-visible{outline:2px solid #e6c674;outline:2px solid var(--gold-bright);outline-offset:2px}.admin-section-chevron{color:#c9a24a;color:var(--gold);font-size:14px;transition:transform .2s ease}.admin-section[open] .admin-section-chevron{transform:rotate(90deg)}.admin-section-text{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.admin-section h2{font-size:16px;margin:0}.admin-section-hint{color:#858079;color:var(--muted);font-size:14px;font-style:italic}.admin-section-badge{border-radius:2px;flex-shrink:0;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:11px;font-weight:700;letter-spacing:.8px;padding:3px 8px;white-space:nowrap}.admin-section-badge-warn{background:#e0a03c1f;border:1px solid #e0a03c66;color:#e0a03c;color:var(--amber)}.admin-section-badge-ok{background:#7fbf6a1f;border:1px solid #7fbf6a66;color:#7fbf6a;color:var(--moss)}.admin-section-body{border-top:1px solid #32363d;border-top:1px solid var(--iron);padding:4px 16px 18px}.admin-section-body>:first-child{margin-top:14px}.admin-create{display:flex;flex-wrap:wrap;gap:10px}.admin-create input,.admin-create select{font-size:15px;padding:10px 14px}.admin-create input{flex:1 1 220px}.admin-actions .btn{font-size:11px;margin:3px 6px 3px 0;padding:6px 12px}.role-matrix td.center,.role-matrix th.center{text-align:center}.role-matrix input[type=checkbox]{accent-color:#c9a24a;accent-color:var(--gold);cursor:pointer;height:18px;width:18px}.role-matrix input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.role-id{color:#858079;color:var(--muted);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:0;text-transform:none}.role-select{background-color:#0d0f12;background-color:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;font-size:14px;padding:6px 10px}.sync-panel{display:flex;flex-direction:column;gap:12px}.sync-row{color:#b5ae9e;color:var(--bone-dim);font-size:15px}.sync-schema{align-items:center;border:1px solid #32363d;border:1px solid var(--iron);border-left-width:4px;border-radius:3px;display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 14px}.sync-schema-compatible{border-left-color:#7fbf6a;border-left-color:var(--moss)}.sync-schema-mismatch{border-left-color:#e0505b;border-left-color:var(--danger-bright);color:#ffd0d4}.sync-schema-unknown{border-left-color:#e0a03c;border-left-color:var(--amber)}.sync-checked{font-size:12px}.sync-checked,.sync-hint{color:#858079;color:var(--muted);font-style:italic}.switch,.sync-hint{font-size:13px}.switch{align-items:center;cursor:pointer;display:inline-flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-weight:700;gap:12px;letter-spacing:1px;text-transform:uppercase;width:fit-content}.switch input{height:1px;opacity:0;position:absolute;width:1px}.switch-track{background:#0d0f12;background:var(--panel-sunken);border:1px solid #4c525b;border:1px solid var(--iron-light);border-radius:13px;height:26px;position:relative;transition:background .2s ease,border-color .2s ease;width:48px}.switch-thumb{background:#b5ae9e;background:var(--bone-dim);border-radius:50%;height:18px;left:3px;position:absolute;top:3px;transition:transform .2s ease,background .2s ease;width:18px}.switch input:checked+.switch-track{background:#c9a24a40;border-color:#c9a24a;border-color:var(--gold)}.switch input:checked+.switch-track .switch-thumb{background:#e6c674;background:var(--gold-bright);transform:translateX(22px)}.switch input:focus-visible+.switch-track{outline:2px solid #e6c674;outline:2px solid var(--gold-bright);outline-offset:2px}.switch.is-disabled{cursor:not-allowed;opacity:.5}.sync-groups{display:flex;flex-wrap:wrap;gap:10px 28px}.sync-group{align-items:flex-start;cursor:pointer;display:flex;gap:10px}.sync-group input{accent-color:#c9a24a;accent-color:var(--gold);height:18px;margin-top:2px;width:18px}.sync-tables{color:#858079;color:var(--muted);display:block;font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:12px}.sync-actions{align-items:center;display:flex;gap:14px}.sync-running{align-items:center;color:#b5ae9e;color:var(--bone-dim);display:inline-flex;gap:8px}.sync-counts{font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:12px}.secret-box{align-items:flex-start;background:linear-gradient(180deg,#c9a24a24,#c9a24a0a);border:1px solid #7d6430;border-left:4px solid #c9a24a;border:1px solid var(--gold-dim);border-left:4px solid var(--gold);border-radius:3px;color:#e8e2d4;color:var(--bone);display:flex;flex-direction:column;gap:10px;margin:16px 0;padding:16px}.secret-value{background:#0d0f12;background:var(--panel-sunken);border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:2px;color:#e6c674;color:var(--gold-bright);font-size:20px;font-weight:700;letter-spacing:1px;padding:8px 14px;-webkit-user-select:all;user-select:all}.secret-hint{color:#b5ae9e;color:var(--bone-dim);font-size:14px;font-style:italic}.hub{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:calc(100vh - 48px)}.hub-header{align-items:center;border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#7d6430,#c9a24a,#7d6430,#0000) 1;border-image:linear-gradient(90deg,#0000,var(--gold-dim),var(--gold),var(--gold-dim),#0000) 1;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:8px 4px 20px}.hub-compass{aspect-ratio:1;container-type:size;margin:24px auto 8px;max-width:100%;min-width:300px;position:relative;width:min(92vw,calc(100vh - 260px),760px)}.hub-compass .vegvisir{filter:drop-shadow(0 0 24px rgba(150,180,210,.18));height:100%;inset:0;position:absolute;width:100%}.hub-compass .vegvisir-rings,.hub-compass .vegvisir-runes,.hub-compass .vegvisir-staves,.hub-compass .vegvisir-version{opacity:.6}.vegvisir-rings circle{fill:none;stroke:#7d6430;stroke:var(--gold-dim);stroke-width:2}.vegvisir-runes{fill:#c9a24a;fill:var(--gold);animation:rune-turn 120s linear infinite;font-family:Noto Sans Runic,Segoe UI Historic,Segoe UI Symbol,sans-serif;font-family:var(--font-runes);font-size:22px;transform-box:view-box;transform-origin:200px 200px}.vegvisir-staves circle,.vegvisir-staves line{fill:none;stroke:#b5ae9e;stroke:var(--bone-dim);stroke-width:4;stroke-linecap:round}.vegvisir-version{fill:#c9a24a;fill:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:1px}.hub-version{font-feature-settings:"tnum";color:#858079;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;margin-top:6px}.hub-point{background:none;border:none;color:#e8e2d4;color:var(--bone);cursor:pointer;flex-direction:column;padding:0;position:absolute;text-decoration:none;transform:translate(-50%,-50%);z-index:1}.hub-point,.hub-rune{align-items:center;display:flex}.hub-rune{background:radial-gradient(circle at 35% 30%,#2b2f36,#0d0f12 70%);background:radial-gradient(circle at 35% 30%,#2b2f36,var(--panel-sunken) 70%);border:2px solid #c9a24a;border:2px solid var(--gold);border-radius:50%;box-shadow:0 0 0 4px #08090b,0 0 0 5px #7d6430,0 8px 24px #000c;box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--gold-dim),0 8px 24px #000c;color:#e6c674;color:var(--gold-bright);font-family:Noto Sans Runic,Segoe UI Historic,Segoe UI Symbol,sans-serif;font-family:var(--font-runes);font-size:clamp(28px,7.5cqw,56px);height:clamp(48px,13cqw,96px);justify-content:center;line-height:1;text-shadow:0 0 12px #e6c6748c;transition:transform .25s ease,box-shadow .25s ease,color .25s ease;width:clamp(48px,13cqw,96px)}.hub-point-title{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:clamp(11px,2.1cqw,15px);font-weight:700;letter-spacing:1.5px;position:absolute;text-shadow:0 1px 0 #000,0 0 8px #000,0 0 8px #000;text-transform:uppercase;top:calc(100% + 10px);transition:color .25s ease;white-space:nowrap}.hub-point:focus-visible .hub-rune,.hub-point:hover .hub-rune{box-shadow:0 0 0 4px #08090b,0 0 0 5px #c9a24a,0 0 36px #96b4d28c,0 8px 24px #000c;box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--gold),0 0 36px #96b4d28c,0 8px 24px #000c;color:#fff3d0;transform:scale(1.1)}.hub-point:focus-visible .hub-point-title,.hub-point:hover .hub-point-title{color:#e6c674;color:var(--gold-bright)}.hub-point:focus-visible{outline:none}.hub-point:focus-visible .hub-rune{outline:2px solid #8fb6d6;outline:2px solid var(--frost);outline-offset:8px}.hub-subpoint .hub-rune{border-width:1.5px;box-shadow:0 0 0 3px #08090b,0 0 0 4px #7d6430,0 6px 18px #000c;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold-dim),0 6px 18px #000c;font-size:clamp(24px,6.2cqw,48px);height:clamp(34px,8.5cqw,64px);width:clamp(34px,8.5cqw,64px)}.hub-subpoint .hub-point-title{font-size:clamp(10px,1.8cqw,13px);left:calc(100% + 12px);top:50%;transform:translateY(-50%)}.hub-subpoint:focus-visible .hub-rune,.hub-subpoint:hover .hub-rune{box-shadow:0 0 0 3px #08090b,0 0 0 4px #c9a24a,0 0 28px #96b4d28c,0 6px 18px #000c;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold),0 0 28px #96b4d28c,0 6px 18px #000c}.hub-coming-soon{align-items:center;background:#14161a;background:var(--panel);border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:3px;box-shadow:0 0 0 4px #08090b,0 10px 30px #000000b3;box-shadow:0 0 0 4px var(--bg),0 10px 30px #000000b3;color:#e8e2d4;color:var(--bone);display:flex;font-family:Pirata One,UnifrakturMaguntia,Old English Text MT,Georgia,serif;font-family:var(--font-title);font-size:clamp(22px,5cqw,36px);gap:12px;left:50%;outline:1px solid #c9a24a40;outline-offset:-5px;padding:10px 22px;position:absolute;top:72%;transform:translate(-50%,-50%);white-space:nowrap;z-index:1}.hub-coming-soon-rune{color:#c9a24a;color:var(--gold);font-family:Noto Sans Runic,Segoe UI Historic,Segoe UI Symbol,sans-serif;font-family:var(--font-runes)}.hub-info{margin:8px auto 0;max-width:640px;min-height:4.5em;text-align:center}.hub-info-rune{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:13px;font-weight:700;letter-spacing:1.5px;margin-bottom:4px;text-transform:uppercase}.hub-info-text{color:#b5ae9e;color:var(--bone-dim);font-size:16px;font-style:italic}@media (max-width:600px){body{padding:12px}.container{padding:22px 18px}h1{font-size:34px}.login-card{padding:34px 22px 26px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.fritz-device{border-top:1px solid #32363d;border-top:1px solid var(--iron);display:flex;flex-direction:column;gap:10px;padding:14px 0}.fritz-device-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.fritz-device-name{color:#e8e2d4;color:var(--bone);font-weight:700}.fritz-device-fields{display:flex;flex-wrap:wrap;gap:8px}.fritz-device-fields input{flex:1 1 200px}.fritz-status{font-size:13px;white-space:nowrap}.fritz-status-ok{color:#7fbf6a;color:var(--moss)}.fritz-status-warn{color:#e0a03c;color:var(--amber)}.fritz-status-error{color:#e0505b;color:var(--danger-bright)}.version-changelog{display:inline-block;position:relative}.version-changelog-trigger{background:none;border:none;color:inherit;cursor:help;font:inherit;padding:0;-webkit-text-decoration:underline dotted #7d6430;text-decoration:underline dotted #7d6430;-webkit-text-decoration:underline dotted var(--gold-dim);text-decoration:underline dotted var(--gold-dim);text-underline-offset:3px}.version-changelog-trigger:hover,.version-changelog-trigger[aria-expanded=true]{color:#e6c674;color:var(--gold-bright)}.version-changelog-trigger:focus-visible{outline:2px solid #e6c674;outline:2px solid var(--gold-bright);outline-offset:2px}.version-changelog-tooltip{background:linear-gradient(180deg,#1c1f24,#0d0f12);background:linear-gradient(180deg,var(--panel-raised),var(--panel-sunken));border:1px solid #7d6430;border-top:3px solid #c9a24a;border:1px solid var(--gold-dim);border-radius:3px;border-top:3px solid var(--gold);box-shadow:0 12px 32px #000000b3,0 0 18px #c9a24a1f;box-sizing:border-box;color:#b5ae9e;color:var(--bone-dim);font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:14px;letter-spacing:normal;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px;position:fixed;text-align:left;z-index:100}.version-changelog-title{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:1.5px;margin-bottom:8px;text-transform:uppercase}.version-changelog-version+.version-changelog-version{border-top:1px solid #32363d;border-top:1px solid var(--iron);margin-top:14px;padding-top:12px}.version-changelog-version h3{color:#e8e2d4;color:var(--bone);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:15px;margin:0 0 6px}.version-changelog-date{color:#858079;color:var(--muted);font-weight:400}.version-changelog-current{border:1px solid #7fbf6a66;border-radius:2px;color:#7fbf6a;color:var(--moss);font-size:10px;letter-spacing:.8px;margin-left:8px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.version-changelog-note{font-style:italic;margin:0 0 6px}.version-changelog-section h4{color:#7d6430;color:var(--gold-dim);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;letter-spacing:1px;margin:8px 0 4px;text-transform:uppercase}.version-changelog-section ul{margin:0;padding-left:18px}.version-changelog-section li+li{margin-top:4px}.version-changelog-tooltip code{color:#8fb6d6;color:var(--frost);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:12px}.filmstrip,.gallery-page,.lightbox{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.gallery-canvas{display:block;height:100%;position:relative;width:100%}.gallery-canvas canvas{display:block;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;width:100%}.gallery-canvas-ready canvas{opacity:1}.gallery-canvas-missing,.gallery-shield{inset:0;position:absolute}.gallery-canvas-missing{color:#858079;color:var(--muted);display:grid;place-items:center}.gallery-category{margin:28px 0 36px}.gallery-category h2{align-items:baseline;color:#e6c674;color:var(--gold-bright);display:flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:20px;gap:12px;letter-spacing:.04em;margin:0 0 12px}.gallery-category-count{color:#858079;color:var(--muted);font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:14px;letter-spacing:0}.filmstrip{align-items:stretch;background:#15110d;border-radius:4px;box-shadow:0 10px 28px #0000008c,inset 0 0 0 1px #ffffff0a;display:flex}.filmstrip-window{--fade-left:0px;--fade-right:0px;flex:1 1 auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),#0000 100%);min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}.filmstrip-window::-webkit-scrollbar{display:none}.filmstrip-rolling .filmstrip-window{cursor:grab}.filmstrip-window.wound-left{--fade-left:36px}.filmstrip-window.wound-right{--fade-right:36px}.film-spool{background:repeating-linear-gradient(90deg,#00000059 0 1px,#0000 1px 3px),linear-gradient(90deg,#0a0806,#3b2b1b 38%,#7a5e3a 52%,#3b2b1b 66%,#0a0806);border:none;border-radius:7px;box-shadow:inset 0 0 0 1px #ffffff0d,0 4px 12px #0009;cursor:pointer;flex:0 0 auto;margin:4px 7px;padding:0;position:relative;transition:width .3s ease,filter .2s;width:22px;width:var(--spool,22px)}.film-spool:after,.film-spool:before{background:linear-gradient(90deg,#7d6430,#e6c674 50%,#7d6430);background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright) 50%,var(--gold-dim));border-radius:4px;box-shadow:0 1px 3px #000000b3;content:"";height:9px;left:-5px;position:absolute;right:-5px}.film-spool:before{top:-4px}.film-spool:after{bottom:-4px}.film-spool:focus-visible,.film-spool:hover:not(:disabled){filter:brightness(1.3);outline:none}.film-spool:disabled{cursor:default}.filmstrip-track{background:linear-gradient(180deg,#7850281f,#0000 30%,#0000 70%,#7850281f);display:inline-flex;gap:14px;min-width:100%;padding:30px 16px;position:relative}.filmstrip-track:after,.filmstrip-track:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='12'%3E%3Crect x='6' y='1' width='14' height='10' rx='2.5' fill='%23d9cfb6'/%3E%3C/svg%3E");background-repeat:repeat-x;content:"";height:12px;left:0;opacity:.85;position:absolute;right:0}.filmstrip-track:before{top:9px}.filmstrip-track:after{bottom:9px}.film-frame{aspect-ratio:4/3;background:#0b0907;border:3px solid #050403;border-radius:3px;cursor:zoom-in;filter:sepia(.45) contrast(1.05) brightness(.92);flex:0 0 auto;overflow:hidden;padding:0;position:relative;scroll-snap-align:start;transition:filter .3s,transform .3s,box-shadow .3s;width:208px}.film-frame:focus-visible,.film-frame:hover{box-shadow:0 0 0 2px #7d6430,0 0 22px #c9a24a59;box-shadow:0 0 0 2px var(--gold-dim),0 0 22px #c9a24a59;filter:none;outline:none;transform:translateY(-3px) scale(1.03)}.film-frame-number{bottom:3px;color:#f0a53a;font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:10px;font-weight:700;left:6px;pointer-events:none;position:absolute;text-shadow:0 0 3px #000000e6}.lightbox{animation:lightbox-fade-in .3s ease both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030304e0;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:1000}.lightbox-closing{animation:lightbox-fade-out .28s ease both}.lightbox-frame{animation:projector-in .55s cubic-bezier(.2,.8,.2,1) both;background:radial-gradient(ellipse at center,#1d1914 0,#0c0a08 75%);border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:6px;box-shadow:0 30px 80px #000c,0 0 60px #e6c6741f;display:flex;flex-direction:column;gap:10px;max-height:100%;max-width:min(1400px,100%);padding:14px 14px 10px;position:relative}.lightbox-closing .lightbox-frame{animation:projector-out .28s ease-in both}.lightbox-image{animation:projector-flicker .7s steps(6) both;aspect-ratio:var(--ratio);width:min(1360px,calc(100vw - 60px),calc((100vh - 110px)*var(--ratio)))}.lightbox-image .gallery-canvas canvas{object-fit:contain}.lightbox-caption{align-items:center;color:#b5ae9e;color:var(--bone-dim);display:flex;flex-wrap:wrap;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:14px;gap:8px 12px;justify-content:space-between}.lightbox-close,.lightbox-nav,.lightbox-title{color:#e6c674;color:var(--gold-bright)}.lightbox-close,.lightbox-nav{background:#08090bbf;border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:50%;cursor:pointer;position:absolute;transition:background .2s,transform .2s}.lightbox-nav{font-size:28px;height:46px;line-height:1;margin-top:-23px;top:50%;width:46px}.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox-close{font-size:16px;height:36px;right:22px;top:22px;width:36px}.lightbox-close:hover,.lightbox-nav:hover{background:#7d6430;background:var(--gold-dim);transform:scale(1.08)}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-fade-out{0%{opacity:1}to{opacity:0}}@keyframes projector-in{0%{filter:brightness(2.2) blur(8px) sepia(.6);opacity:0;transform:perspective(1200px) translateY(40px) scale(.6) rotateX(14deg)}60%{filter:brightness(1.25) blur(1px) sepia(.2);opacity:1}to{filter:none;opacity:1;transform:none}}@keyframes projector-out{0%{filter:none;opacity:1;transform:none}to{filter:brightness(1.8) blur(4px);opacity:0;transform:scale(.85)}}@keyframes projector-flicker{0%{opacity:.2}20%{opacity:.9}35%{opacity:.55}55%{opacity:1}70%{opacity:.8}to{opacity:1}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox-frame,.lightbox-image{animation-duration:.01s}}@media (max-width:640px){.film-frame{width:150px}.lightbox-nav{font-size:22px;height:38px;margin-top:-19px;width:38px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:18px;top:18px}}.gallery-admin-heading{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:15px;letter-spacing:.04em;margin:22px 0 10px}.gallery-admin-categories{display:flex;flex-direction:column;gap:8px}.gallery-admin-category,.gallery-admin-upload{align-items:center}.gallery-admin-upload .info-row-meta{flex:1 1 260px}.btn-disabled{opacity:.5;pointer-events:none}.gallery-admin-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-admin-card{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:4px;display:flex;flex-direction:column;gap:6px;padding:8px}.gallery-admin-thumb{aspect-ratio:4/3;background:#0b0907;border:1px solid #000;cursor:zoom-in;overflow:hidden;padding:0}.gallery-admin-card input:not([type=checkbox]),.gallery-admin-card select{background-color:#14161a;background-color:var(--panel);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;font-size:14px;padding:6px 8px;width:100%}.gallery-admin-publish{align-items:center;color:#b5ae9e;color:var(--bone-dim);display:flex;font-size:14px;gap:6px}.gallery-admin-card-foot{align-items:center;display:flex;gap:6px;justify-content:space-between}.gallery-compass{width:min(92vw,calc(100vh - 300px),680px)}.admin-point-active .hub-rune,.gallery-point-active .hub-rune{border-color:#e6c674;border-color:var(--gold-bright);box-shadow:0 0 0 4px #08090b,0 0 0 5px #e6c674,0 0 40px #e6c6748c,0 8px 24px #000c;box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--gold-bright),0 0 40px #e6c6748c,0 8px 24px #000c;color:#fff3d0;transform:scale(1.12)}.admin-point-active .hub-point-title,.gallery-point-active .hub-point-title{color:#e6c674;color:var(--gold-bright)}.gallery-compass-dense .hub-rune{font-size:clamp(20px,5.2cqw,38px);height:clamp(34px,8.5cqw,64px);width:clamp(34px,8.5cqw,64px)}.gallery-compass-dense .hub-point-title{font-size:clamp(9px,1.7cqw,12px);letter-spacing:1px;max-width:10em;overflow:hidden;text-overflow:ellipsis;top:calc(100% + 6px)}.gallery-compass-crowded .hub-rune{border-width:1.5px;box-shadow:0 0 0 3px #08090b,0 0 0 4px #7d6430,0 6px 18px #000c;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold-dim),0 6px 18px #000c;font-size:clamp(16px,4cqw,30px);height:clamp(28px,6.6cqw,50px);width:clamp(28px,6.6cqw,50px)}.gallery-compass-crowded .hub-point-title{display:none}.gallery-reel h2{flex-wrap:wrap}.gallery-reel-play{margin-left:auto}.gallery-reel-play+.gallery-reel-close{margin-left:0}.gallery-reel-close{margin-left:auto}.gallery-reel .filmstrip{animation:reel-unroll .9s cubic-bezier(.2,.8,.2,1) both}.gallery-reel .film-frame{animation:frame-in .45s ease both;animation-delay:.25s;animation-delay:calc(var(--i, 0)*70ms + .25s)}@keyframes reel-unroll{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes frame-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.gallery-reel .film-frame,.gallery-reel .filmstrip{animation-delay:0s;animation-duration:.01s}}.lightbox-controls{align-items:center;display:flex;gap:10px}.lightbox-control{background:#08090b99;border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:14px;color:#e6c674;color:var(--gold-bright);cursor:pointer;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:13px;height:28px;min-width:34px;padding:0 8px;transition:background .2s}.lightbox-control:first-child{font-family:system-ui,sans-serif;font-size:15px}.lightbox-control:hover{background:#7d6430;background:var(--gold-dim)}.lightbox-progress{animation:lightbox-progress 5s linear both;animation:lightbox-progress var(--duration,5s) linear both;background:linear-gradient(90deg,#7d6430,#e6c674);background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));box-shadow:0 0 8px #e6c67499;height:2px;margin-top:-6px;transform-origin:left}@keyframes lightbox-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lightbox-playing .lightbox-image{animation:film-advance .75s cubic-bezier(.3,.7,.2,1) both}@keyframes film-advance{0%{filter:blur(6px) brightness(1.8);opacity:0;transform:translateY(14%)}35%{filter:blur(2px) brightness(1.3);opacity:.85}50%{opacity:.55}65%{filter:none;opacity:1;transform:none}80%{opacity:.85}to{filter:none;opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lightbox-playing .lightbox-image{animation-duration:.01s}}.admin-compass{width:min(92vw,calc(100vh - 320px),600px)}.admin-point-badge{align-items:center;background-color:#0d0f12;background-color:var(--panel-sunken);border-radius:11px;box-shadow:0 0 0 2px #08090b,0 2px 8px #000000b3;box-shadow:0 0 0 2px var(--bg),0 2px 8px #000000b3;display:flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;font-weight:700;height:22px;justify-content:center;left:calc(50% + clamp(12px, 3.6cqw, 26px));min-width:22px;padding:0 6px;pointer-events:none;position:absolute;top:-4px}.admin-info-badge{border-radius:2px;font-size:11px;letter-spacing:.8px;margin-left:10px;padding:2px 8px}.admin-section-selected{animation:admin-section-in .35s ease both;border-left-color:#c9a24a;border-left-color:var(--gold);margin-top:18px}.admin-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:14px;padding:14px 16px}@keyframes admin-section-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.sync-subheading{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:14px;letter-spacing:.04em;margin:8px 0 0}.sync-option{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.sync-option .sync-subheading{margin:0}.sync-interval{align-items:center;color:#b5ae9e;color:var(--bone-dim);display:flex;flex-wrap:wrap;font-size:15px;gap:8px}.sync-interval input{background-color:#14161a;background-color:var(--panel);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;font-size:15px;padding:6px 8px;text-align:right;width:80px}.sync-fingerprint{color:#e6c674;color:var(--gold-bright);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono)}.sync-pair-form .sync-hint{flex-basis:100%}.admin-compass,.gallery-compass{transition:width .45s cubic-bezier(.2,.8,.2,1),margin .45s ease}.hub-compass.compass-compact{margin:4px auto 0;min-width:220px;width:clamp(220px,calc(100vh - 565px),340px)}.compass-compact .hub-rune,.compass-compact.gallery-compass-dense .hub-rune{border-width:1.5px;box-shadow:0 0 0 3px #08090b,0 0 0 4px #7d6430,0 4px 12px #000c;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold-dim),0 4px 12px #000c;font-size:clamp(17px,6.5cqw,56px);height:clamp(30px,11.5cqw,96px);width:clamp(30px,11.5cqw,96px)}.compass-compact.gallery-compass-crowded .hub-rune{font-size:clamp(12px,4.2cqw,30px);height:clamp(20px,7cqw,50px);width:clamp(20px,7cqw,50px)}.compass-compact .hub-point-title{font-size:9px;letter-spacing:.6px;top:calc(100% + 3px)}.compass-compact .admin-point-badge{font-size:10px;height:17px;min-width:17px;padding:0 4px;top:-6px}.compass-compact .admin-point-active .hub-rune,.compass-compact .gallery-point-active .hub-rune{box-shadow:0 0 0 3px #08090b,0 0 0 4px #e6c674,0 0 22px #e6c6748c;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--gold-bright),0 0 22px #e6c6748c}.compass-compact+.hub-info{height:0;margin:0 auto;min-height:0;position:relative;z-index:2}.compass-compact+.hub-info .hub-info-text{display:none}.compass-compact+.hub-info .hub-info-rune{background:#14161a;background:var(--panel);border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:3px;bottom:2px;box-shadow:0 4px 12px #000000b3;left:50%;margin:0;padding:3px 10px;position:absolute;transform:translateX(-50%);white-space:nowrap}.compass-compact~.admin-section-selected,.compass-compact~.gallery-reel{margin-top:10px}@media (prefers-reduced-motion:reduce){.admin-compass,.gallery-compass{transition:none}}.gallery-breadcrumb{color:#c9a24a;color:var(--gold)}.gallery-point-seal{align-items:center;background:#e6c674;background:var(--gold-bright);border-radius:10px;box-shadow:0 0 0 2px #08090b,0 2px 8px #000000b3;box-shadow:0 0 0 2px var(--bg),0 2px 8px #000000b3;color:#08090b;color:var(--bg);display:flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:11px;font-weight:700;height:20px;justify-content:center;left:calc(50% + clamp(12px, 3.6cqw, 26px));min-width:20px;padding:0 5px;pointer-events:none;position:absolute;top:-4px}.compass-compact .gallery-point-seal{font-size:9px;height:15px;min-width:15px;top:-6px}.gallery-compass-up{aspect-ratio:1;background:#0000;border:none;border-radius:50%;cursor:pointer;left:50%;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow .25s ease;width:31%;z-index:1}.gallery-compass-up:focus-visible,.gallery-compass-up:hover{box-shadow:0 0 0 2px #c9a24a,0 0 30px #e6c67459;box-shadow:0 0 0 2px var(--gold),0 0 30px #e6c67459;outline:none}.gallery-compass-up-label{background:#08090bcc;border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:3px;bottom:6%;color:#e6c674;color:var(--gold-bright);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:clamp(9px,2cqw,13px);font-weight:700;left:50%;letter-spacing:1px;padding:1px 8px;position:absolute;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}.gallery-compass{animation:compass-enter .5s cubic-bezier(.2,.8,.2,1) both}@keyframes compass-enter{0%{opacity:0;transform:scale(.9) rotate(-8deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.gallery-compass{animation:none}}.gallery-admin-subcategory{padding-left:28px}.gallery-admin-branch{color:#7d6430;color:var(--gold-dim);font-size:18px}.gallery-admin-category select{font-size:14px;padding:10px 12px}.lightbox-comments-toggle{margin-left:auto;padding:0 10px;width:auto}.lightbox-control-active{background:#e6c6742e}.lightbox-frame-comments .lightbox-image{width:min(1360px,calc(100vw - 60px),calc((62vh - 110px)*var(--ratio)))}.gallery-comments{border-top:1px solid #7d6430;border-top:1px solid var(--gold-dim);color:#e8e2d4;color:var(--bone);max-height:38vh;min-height:0;overflow-y:auto;padding-top:8px;-webkit-user-select:text;user-select:text}.gallery-comment-list,.gallery-comments{display:flex;flex-direction:column;gap:8px}.gallery-comment-list{list-style:none;margin:0;padding:0}.gallery-comment{background:#08090b8c;border:1px solid #32363d;border:1px solid var(--iron);border-radius:4px;padding:6px 10px}.gallery-comment-head{align-items:center;display:flex;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:13px;gap:10px}.gallery-comment-author{color:#e6c674;color:var(--gold-bright)}.gallery-comment-date{color:#b5ae9e;color:var(--bone-dim)}.gallery-comment-delete{background:none;border:none;cursor:pointer;font-size:14px;margin-left:auto}.gallery-comment-text{font-size:14px;margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.gallery-comment-form{align-items:flex-end;display:flex;gap:8px}.gallery-comment-form textarea{background:#14161a;background:var(--panel);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;color:#e8e2d4;color:var(--bone);flex:1 1;font:inherit;font-size:14px;min-width:0;padding:6px 8px;resize:vertical}.gallery-admin-shares .info-row-meta{font-size:12px;margin:2px 0}.gallery-admin-title{color:#e8e2d4;color:var(--bone);font-size:14px;overflow-wrap:anywhere}.gallery-admin-archived{border-style:dashed;opacity:.85}.gallery-admin-shares{display:flex;flex-direction:column;gap:4px}.gallery-admin-shares-title{color:#b5ae9e;color:var(--bone-dim);font-size:14px}.gallery-admin-status{color:#b5ae9e;color:var(--bone-dim);font-size:12px;margin-left:auto}.gallery-admin-thumb{position:relative}.gallery-transfer-badge{background:#08090bd9;border:1px solid;border-radius:10px;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;padding:2px 8px;pointer-events:none;position:absolute;right:6px;top:6px}.gallery-transfer-done{border-color:#7fbf6a;border-color:var(--moss)}.gallery-transfer-done .gallery-admin-status,.gallery-transfer-done .gallery-transfer-badge{color:#7fbf6a;color:var(--moss)}.gallery-transfer-pending{border-color:#e0a03c;border-color:var(--amber)}.gallery-transfer-pending .gallery-admin-status,.gallery-transfer-pending .gallery-transfer-badge{color:#e0a03c;color:var(--amber)}.gallery-transfer-archive{border-color:#8fb6d6;border-color:var(--frost)}.gallery-transfer-archive .gallery-admin-status,.gallery-transfer-archive .gallery-transfer-badge{color:#8fb6d6;color:var(--frost)}.gallery-archive-head{align-items:center;justify-content:space-between}.gallery-archive-group{border:1px dashed #4c525b;border:1px dashed var(--iron-light);border-radius:4px;margin:18px 0;padding:10px 12px 14px}.gallery-archive-title{align-items:center;color:#c9a24a;color:var(--gold);display:flex;flex-wrap:wrap;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:15px;gap:12px;margin:0 0 10px}.gallery-archive-title .btn{margin-left:auto}.viking-dialog-backdrop{animation:lightbox-fade-in .2s ease both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030304c7;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:2000}.viking-dialog{animation:viking-dialog-in .25s cubic-bezier(.2,.8,.2,1) both;background:radial-gradient(ellipse at top,#c9a24a1f,#0000 60%),linear-gradient(180deg,#1c1f24,#0d0f12);background:radial-gradient(ellipse at top,#c9a24a1f,#0000 60%),linear-gradient(180deg,var(--panel-raised),var(--panel-sunken));border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:4px;box-shadow:0 0 0 4px #0d0f12,0 0 0 5px #7d6430,0 30px 80px #000c;box-shadow:0 0 0 4px var(--panel-sunken),0 0 0 5px var(--gold-dim),0 30px 80px #000c;color:#e8e2d4;color:var(--bone);padding:22px 26px 20px;position:relative;text-align:center;width:min(460px,100%)}.viking-dialog:after,.viking-dialog:before{background:radial-gradient(circle at 35% 35%,#e6c674,#7d6430);background:radial-gradient(circle at 35% 35%,var(--gold-bright),var(--gold-dim));border-radius:50%;content:"";height:7px;position:absolute;top:8px;width:7px}.viking-dialog:before{left:8px}.viking-dialog:after{right:8px}.viking-dialog-runes{color:#7d6430;color:var(--gold-dim);font-family:Noto Sans Runic,Segoe UI Historic,Segoe UI Symbol,sans-serif;font-family:var(--font-runes);font-size:18px;letter-spacing:.6em}.viking-dialog-title{color:#e6c674;color:var(--gold-bright);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:19px;letter-spacing:.04em;margin:6px 0 10px}.viking-dialog-message{line-height:1.5;margin:0 0 20px;overflow-wrap:anywhere}.viking-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.viking-dialog-danger{border-color:#e0505b99}.viking-dialog-danger .viking-dialog-title{color:#e0505b;color:var(--danger-bright)}.btn-danger{background:linear-gradient(180deg,#c23a45,#a3252f 55%,#6d1920);background:linear-gradient(180deg,#c23a45,var(--danger) 55%,#6d1920);border-color:#5a141a;box-shadow:inset 0 1px 0 #ffffff40,0 4px 14px #00000080;color:#fff3f4}.btn-danger:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff4d,0 6px 22px #e0505b59;transform:translateY(-1px)}@keyframes viking-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.viking-dialog,.viking-dialog-backdrop{animation:none}}.contact-form{gap:12px;max-width:560px}.contact-form,.contact-form label{display:flex;flex-direction:column}.contact-form label{color:#b5ae9e;color:var(--bone-dim);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:13px;gap:4px}.contact-form input,.contact-form textarea{background:#14161a;background:var(--panel);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;color:#e8e2d4;color:var(--bone);font:inherit;font-family:Alegreya,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:15px;padding:8px 10px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#7d6430;border-color:var(--gold-dim);outline:none}.contact-trap{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}.contact-sent{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.gallery-admin-accordion{background:#0d0f12;background:var(--panel-sunken);border:1px solid #7d6430;border:1px solid var(--gold-dim);border-radius:50%;color:#e6c674;color:var(--gold-bright);cursor:pointer;flex:0 0 28px;font-size:14px;height:28px;line-height:1;padding:0;transition:background .2s;width:28px}.gallery-admin-accordion:hover{background:#7d6430;background:var(--gold-dim)}.gallery-admin-accordion:focus-visible{outline:2px solid #e6c674;outline:2px solid var(--gold-bright);outline-offset:2px}.gallery-admin-accordion-empty{background:none;border-color:#0000;cursor:default}.gallery-admin-count{border:1px solid #4c525b;border:1px solid var(--iron-light);border-radius:10px;color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:12px;padding:2px 10px;white-space:nowrap}.gallery-admin-top .gallery-admin-count{border-color:#7d6430;border-color:var(--gold-dim)}.sync-tasks{background:#0d0f12;background:var(--panel-sunken);border:1px solid #7d6430;border-left:4px solid #e0a03c;border:1px solid var(--gold-dim);border-left:4px solid var(--amber);border-radius:3px;margin:14px 0;padding:12px 14px}.sync-tasks-failed{border-left-color:#e0505b;border-left-color:var(--danger-bright)}.sync-tasks-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px}.sync-tasks-head .btn{margin-left:auto}.sync-task-error-count{color:#e0505b;color:var(--danger-bright)}.sync-task-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:10px 0 0;padding:0}.sync-task{border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;padding:6px 10px}.sync-task-retrying{border-color:#e0a03c;border-color:var(--amber)}.sync-task-failed{background:#a3252f1f;border-color:#e0505b;border-color:var(--danger-bright)}.sync-task-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px 12px}.sync-task-row .btn{margin-left:auto}.sync-task-state{font-size:18px}.sync-task-label{color:#e8e2d4;color:var(--bone)}.sync-task-log summary{color:#b5ae9e;color:var(--bone-dim);cursor:pointer;font-size:13px;margin-top:4px;overflow-wrap:anywhere}.sync-task-log pre{background:#08090b;background:var(--bg);border:1px solid #32363d;border:1px solid var(--iron);color:#b5ae9e;color:var(--bone-dim);font-family:ui-monospace,Cascadia Mono,DejaVu Sans Mono,Consolas,monospace;font-family:var(--font-mono);font-size:12px;margin:6px 0 0;max-height:160px;overflow:auto;padding:8px;white-space:pre-wrap}.settings-tabs{border-bottom:1px solid #32363d;border-bottom:1px solid var(--iron);display:flex;flex-wrap:wrap;gap:6px}.settings-tab{background:none;border:1px solid #0000;border-radius:3px 3px 0 0;color:#b5ae9e;color:var(--bone-dim);cursor:pointer;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:13px;letter-spacing:.04em;margin-bottom:-1px;padding:8px 14px;position:relative}.settings-tab:hover{color:#e6c674;color:var(--gold-bright)}.settings-tab:focus-visible{outline:2px solid #c9a24a;outline:2px solid var(--gold);outline-offset:-2px}.settings-tab-active{background:#0d0f12;background:var(--panel-sunken);border-color:#32363d #32363d #0d0f12;border-color:var(--iron) var(--iron) var(--panel-sunken);color:#c9a24a;color:var(--gold)}.settings-tab-badge{background:#e0a03c1f;border:1px solid #e0a03c66;border-radius:8px;color:#e0a03c;color:var(--amber);display:inline-block;font-size:11px;font-weight:700;margin-left:6px;min-width:16px;padding:0 4px;text-align:center}.settings-tab-body>:first-child{margin-top:14px}.storage-meter{--level:var(--moss);display:flex;flex-direction:column;gap:6px;margin:14px 0}.storage-warn{--level:var(--amber)}.storage-critical{--level:var(--danger-bright)}.storage-meter-head{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.storage-meter-label{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);letter-spacing:.04em}.storage-meter-value{font-feature-settings:"tnum";color:#b5ae9e;color:var(--bone-dim);font-variant-numeric:tabular-nums}.storage-meter-value strong{color:var(--level)}.storage-bar{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:2px;display:block;height:10px;overflow:hidden}.storage-meter .storage-bar{height:14px}.storage-bar-fill{background:#7d6430;background:var(--level,var(--gold-dim));display:block;height:100%;transition:width .4s ease}.storage-facts{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:16px 0}.storage-fact{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;display:flex;flex-direction:column;gap:2px;padding:10px 14px}.storage-fact strong{font-feature-settings:"tnum";color:#e8e2d4;color:var(--bone);font-size:20px;font-variant-numeric:tabular-nums}.storage-tables td.num,.storage-tables th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.storage-share{min-width:80px;width:30%}@media (prefers-reduced-motion:reduce){.storage-bar-fill{transition:none}}.battery-status td.num,.battery-status th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.battery-day-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.battery-card{background:#14161a;background:var(--panel);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;margin:18px 0;padding:16px}.battery-card-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between}.battery-card-head h2{color:#c9a24a;color:var(--gold);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);margin:0}.battery-now{align-items:baseline;color:#b5ae9e;color:var(--bone-dim);display:flex;flex-wrap:wrap;gap:4px 16px}.battery-soc{font-feature-settings:"tnum";color:#e8e2d4;color:var(--bone);font-size:28px;font-variant-numeric:tabular-nums}.battery-legend{font-size:14px;margin:6px 0}.battery-legend,.battery-readout{color:#b5ae9e;color:var(--bone-dim);display:flex;flex-wrap:wrap;gap:4px 16px}.battery-readout{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:6px;min-height:24px}.battery-readout strong{color:#e8e2d4;color:var(--bone)}.battery-hours{margin:12px 0}.battery-hours>summary{color:#c9a24a;color:var(--gold);cursor:pointer;font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label)}@media (max-width:700px){body{padding:6px}.container{padding:16px 12px}header{margin-bottom:16px;padding-bottom:14px}.header-actions{gap:6px}.header-actions .btn{font-size:12px;padding:8px 12px}.stats-grid,.storage-facts{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:12px}.stat-value{font-size:30px}.storage-fact-wide{grid-column:1/-1}.admin-section-body,.battery-card{padding-left:10px;padding-right:10px}.table-responsive:has(>.stack-table){background:none;border:none;overflow:visible}table.stack-table,table.stack-table tbody{display:block;width:100%}table.stack-table thead{display:none}table.stack-table tr{background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border:1px solid var(--iron);border-radius:3px;display:flex;flex-direction:column;margin-bottom:10px;padding:4px 12px}table.stack-table td{display:block;min-height:2.2em;padding:8px 0 8px 36%;position:relative;text-align:left;white-space:normal;word-break:break-word}table.stack-table td *{max-width:100%;overflow-wrap:anywhere;white-space:normal}table.stack-table td:before{color:#858079;color:var(--muted);content:attr(data-label);font-family:Cinzel,Trajan Pro,Georgia,serif;font-family:var(--font-label);font-size:11px;left:0;letter-spacing:.06em;position:absolute;text-transform:uppercase;top:10px;width:33%}table.stack-table td:not([data-label]){padding-left:0}table.stack-table td:not([data-label]):before{content:none}table.stack-table td:last-child{border-bottom:none}table.stack-table td.num{text-align:left}.device-table td.cell-name{order:-3}.device-table td.cell-ip{order:-2}.device-table td.cell-status{order:-1}.admin-actions{flex-wrap:wrap}.hub-point-title{font-size:10px;letter-spacing:.5px}.storage-tables .storage-share,.storage-tables th:last-child{display:none}.storage-tables td,.storage-tables th{padding:10px 6px}.storage-tables th{font-size:11px;letter-spacing:.5px}.battery-day-nav input[type=date]{flex:1 1;min-width:0}.battery-day-nav .filter-chips{flex:1 0 100%}}.nas-status{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:12px 0 18px}.nas-status-item{align-items:center;background:#0d0f12;background:var(--panel-sunken);border:1px solid #32363d;border-left:3px solid #4c525b;border:1px solid var(--iron);border-left:3px solid var(--state,var(--iron-light));border-radius:3px;display:flex;gap:10px;padding:10px 14px}.nas-status-ok{--state:var(--moss)}.nas-status-warn{--state:var(--amber)}.nas-status-error{--state:var(--danger-bright)}.nas-status-night{--state:var(--frost)}.nas-status-unknown{--state:var(--iron-light)}.nas-status-icon{font-size:22px;line-height:1}.nas-status-state{font-size:16px;line-height:1}.nas-status-text{display:flex;flex-direction:column;gap:2px}.nas-status-text strong{color:#e8e2d4;color:var(--bone);font-weight:600}.nas-status-detail{color:#b5ae9e;color:var(--bone-dim);font-size:14px}.admin-accordion>.admin-section:first-child{margin-top:4px}@media (prefers-reduced-motion:reduce){.film-spool{transition:none}}.lightbox-image{cursor:zoom-in;overflow:hidden;position:relative;touch-action:none}.lightbox-image.lightbox-zoomed{cursor:grab}.lightbox-image.lightbox-zoomed:active{cursor:grabbing}.lightbox-zoom{height:100%;transform-origin:center;width:100%;will-change:transform}.lightbox-zoom-controls .lightbox-control{font-family:system-ui,sans-serif}.lightbox-zoom-level{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:58px}.lightbox-control:disabled{cursor:default;opacity:.45}
/*# sourceMappingURL=main.fcf628ad.css.map*/