:root{--ink:#181322;--muted:#6e667a;--lav:#9b78e8;--lav2:#7c3aed;--lav3:#efe9ff;--panel:#ffffff;--line:#e4dbf6;--dark:#0f0c19;--dark2:#181329;--green:#32a36b;--shadow:0 28px 80px rgba(45,28,85,.18)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink)}body{background:#f7f3ff}button,select,input{font:inherit}button,a,select{transition:.18s ease}.logo{width:240px;max-width:72%}.age-page{min-height:100vh;background:#090711;padding:38px}.age-shell{min-height:calc(100vh - 76px);max-width:1500px;margin:auto;display:grid;grid-template-columns:1.03fr .97fr;border:1px solid rgba(183,148,246,.35);border-radius:28px;overflow:hidden;background:white;box-shadow:0 40px 100px #0008}.age-copy{padding:54px 56px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:13px;letter-spacing:.08em;font-weight:800;color:#7c3aed;text-transform:uppercase;margin:22px 0 12px}.age-copy h1,.map-intro h1{font-size:clamp(38px,5vw,70px);line-height:.98;margin:6px 0 18px;letter-spacing:-.04em}.lead{font-size:17px;line-height:1.65;color:#4f4758;max-width:720px}.cookie-note{border:1px solid #decdfd;background:#faf8ff;border-radius:15px;padding:16px 18px;color:#51475f;line-height:1.5;margin:14px 0 20px}.age-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.primary,.secondary,.ghost,.admin-link,.mini{border-radius:11px;padding:13px 18px;border:1px solid transparent;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{color:white;background:linear-gradient(135deg,#aa86ef,#7c3aed);box-shadow:0 10px 24px #7c3aed35}.primary:hover{transform:translateY(-1px);filter:brightness(1.04)}.secondary{background:white;border-color:#bba8db;color:#47385e}.ghost{background:#f5f1ff;border:1px solid #dfd5f6;color:#5b467d}.language-title{font-weight:800;margin-bottom:9px}.flag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.flag-btn{background:white;border:1px solid #e5def0;border-radius:10px;padding:10px 9px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#4a4352}.flag-btn .flag{font-size:20px}.flag-btn:hover,.flag-btn.active{border-color:#9b78e8;background:#f5f0ff}.language-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.language-row select,.top-actions select,.admin-page select,.admin-page input{border:1px solid #ddd2ef;background:white;border-radius:9px;padding:11px;color:#332b3e}.detected{margin-top:14px;padding:12px 14px;border-radius:11px;background:#eee7ff;color:#4b366d}.detected small{display:block;margin-top:5px;color:#766b82}.age-visual{position:relative;min-height:760px;background:#170b12 url('/assets/age-hero.jpg') center/cover no-repeat}.visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,9,22,.05),rgba(7,4,10,.42)),linear-gradient(0deg,rgba(4,2,8,.82),transparent 45%)}.badge18{position:absolute;right:25px;bottom:25px;border:2px solid #a97df4;color:#fff;border-radius:999px;width:64px;height:64px;display:grid;place-items:center;font-size:21px;font-weight:900;background:#0e0a17bb}.visual-brand{position:absolute;left:30px;bottom:26px;color:white;display:flex;align-items:center;gap:10px}.visual-brand img{width:170px;filter:brightness(0) invert(1)}.visual-brand span{font-size:13px;color:#d8cfdf}.topbar{height:82px;background:#fff;border-bottom:1px solid #e7def4;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:20}.toplogo{width:180px}.top-actions{display:flex;align-items:center;gap:8px}.chip{background:#f1ecff;border:1px solid #ded3f7;border-radius:999px;padding:9px 13px;color:#563c84}.compact{padding:10px 12px}.admin-link{background:#211735;color:#fff;padding:10px 14px}.map-page{background:radial-gradient(circle at 80% 10%,#e6dbff,transparent 38%),linear-gradient(135deg,#fbf9ff,#eee7ff);min-height:100vh}.map-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:330px 1fr;gap:30px;padding:44px 4vw 60px}.map-intro{padding-top:30px}.map-intro h1{font-size:48px}.map-intro p{font-size:18px;line-height:1.55;color:#5b5269}.fallback-card{margin-top:22px;padding:16px;border:1px solid #d9cdf0;background:#fff9;border-radius:15px;color:#56436f;line-height:1.5}.map-stage{min-width:0;background:#ffffff94;border:1px solid #ddd3ee;border-radius:26px;padding:16px;box-shadow:var(--shadow);overflow:hidden}.map-stage #map-europe{margin:auto}.cssmap-container{max-width:100%!important}.cssmap-container .tooltip{background:#211735!important;color:#fff!important;border:0!important;box-shadow:0 10px 30px #2f20574d!important}.country-fallback{display:none;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px}.country-fallback button{border:1px solid #ddd4ef;background:#fff;border-radius:10px;padding:10px;display:flex;gap:8px;cursor:pointer}.map-plugin-failed .country-fallback{display:grid}.map-plugin-failed #map-europe{display:none}.routing-overlay{display:none;position:fixed;inset:0;background:#120d22aa;z-index:100;place-items:center}.routing .routing-overlay{display:grid}.spinner{width:54px;height:54px;border-radius:50%;border:5px solid #ffffff44;border-top-color:white;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-page{background:#0d0a16;color:#eee7ff;min-height:100vh}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,#37245b,#0d0a16 55%)}.login-card{width:min(460px,100%);background:#171225;border:1px solid #3c3053;border-radius:20px;padding:34px;box-shadow:0 25px 80px #0008}.login-card .logo{filter:brightness(1.35)}.login-card h1{margin-bottom:6px}.login-card p{color:#aaa0b9}.login-card label{display:grid;gap:7px;margin:24px 0 12px}.login-card input{background:#0f0c18;color:white;border:1px solid #423653;border-radius:10px;padding:13px}.login-card .primary{width:100%}.admin-page #admin-panel{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-page #admin-panel[hidden]{display:none}.sidebar{background:#120e1e;border-right:1px solid #2f2740;padding:28px 18px;display:flex;flex-direction:column}.sidebar-logo{width:180px;filter:brightness(1.3);margin-bottom:35px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#c8bfd6;text-decoration:none;padding:12px;border-radius:9px}.sidebar nav a:hover,.sidebar nav a.active{background:#2a1d42;color:#fff}.sidebar .secondary{margin-top:auto;background:transparent;color:#c8bfd6;border-color:#443952}.admin-main{padding:38px;min-width:0}.admin-main header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-main h1{font-size:36px;margin:6px 0}.admin-main p{color:#a9a0b5}.settings-card,.table-card{background:#151121;border:1px solid #30283f;border-radius:14px;margin-top:22px}.settings-card{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px}.settings-card label{display:grid;gap:6px;flex:1}.settings-card span{color:#9e94ad;font-size:13px}.table-card{overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1050px}th,td{border-bottom:1px solid #2a2337;padding:12px;text-align:left}th{background:#1b1628;color:#a99db9;font-size:12px;text-transform:uppercase;letter-spacing:.04em}td{color:#ddd5e8}td:first-child{min-width:190px}td:first-child strong{margin-left:7px}td:first-child small{display:block;color:#81778f;margin:4px 0 0 30px}.admin-page td input[type=url]{width:100%;min-width:290px;background:#100c19;color:white;border-color:#322940}.admin-page td select{background:#100c19;color:#e8e1f2;border-color:#322940}.center{text-align:center}.status{border-radius:999px;padding:5px 9px;font-size:12px}.status.active{background:#123625;color:#62d699}.status.fallback{background:#2a2435;color:#bcb1cc}.mini{padding:7px 10px;background:#211a31;color:#d8cdf0;border-color:#3d3154}.admin-msg{min-height:22px;margin-top:12px;color:#ff9c9c}.admin-msg.ok{color:#77dcaa}.sticky-msg{position:sticky;bottom:12px;background:#151121cc;padding:10px;border-radius:10px;backdrop-filter:blur(10px)}@media(max-width:1000px){.age-page{padding:0}.age-shell{min-height:100vh;border-radius:0;grid-template-columns:1fr}.age-visual{display:none}.age-copy{padding:34px 24px}.map-layout{grid-template-columns:1fr;padding-top:20px}.map-intro{padding-top:0}.topbar{height:auto;padding:12px 16px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.chip{display:none}.admin-page #admin-panel{grid-template-columns:1fr}.sidebar{display:none}.admin-main{padding:20px}.admin-main header{flex-direction:column}.settings-card{align-items:stretch;flex-direction:column}}@media(max-width:620px){.flag-grid{grid-template-columns:repeat(2,1fr)}.language-row{grid-template-columns:1fr}.age-actions{display:grid}.age-actions button{width:100%}.map-intro h1{font-size:38px}.toplogo{width:135px}.admin-link,.top-actions .ghost{font-size:12px}.country-fallback{grid-template-columns:repeat(2,1fr)}}

/* v1.1.0 */
.notranslate [data-i18n], .notranslate .flag-btn, .notranslate .country-fallback,
.notranslate .chip, .notranslate #language-select { unicode-bidi: plaintext; }
.map-plugin-ready .country-fallback{display:none!important}
.map-plugin-ready #map-europe{display:block!important}
.map-stage .cssmap{margin-inline:auto!important}
.map-stage .cssmap-container{margin-inline:auto!important}
.map-stage{min-height:560px;display:flex;align-items:center;justify-content:center}
.map-stage #map-europe{width:100%}
@media(max-width:1000px){.map-stage{min-height:460px}}
@media(max-width:620px){.map-stage{min-height:330px;padding:8px}}
.password-card{background:#151121;border:1px solid #30283f;border-radius:14px;margin-top:22px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.password-card h2{margin:0 0 6px;font-size:20px}.password-card p{margin:0}.password-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:16px;border-top:1px solid #30283f}.password-form[hidden]{display:none}.password-form label{display:grid;gap:6px;color:#d8cfe5}.password-form input{background:#100c19!important;color:white!important;border-color:#322940!important}.password-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}.password-form small{grid-column:1/-1;color:#90869e}.password-form .admin-msg{grid-column:1/-1;margin-top:0}@media(max-width:900px){.password-card{grid-template-columns:1fr}.password-form{grid-template-columns:1fr}.password-actions{flex-wrap:wrap}}

/* v1.3.0 — Seasonal Hero Manager */
.age-visual{transition:background-image .35s ease-in-out}.hero-admin-card,.campaign-card{background:#151121;border:1px solid #30283f;border-radius:14px;margin-top:22px;padding:20px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.section-heading h2,.campaign-card h2{margin:0 0 6px;font-size:22px}.section-heading p,.campaign-card p{margin:0;color:#a9a0b5}.hero-default-grid{display:grid;grid-template-columns:320px 1fr;gap:20px;margin-top:18px}.hero-upload-card,.hero-quarter-wrap,.hero-tester{background:#100c19;border:1px solid #30283f;border-radius:12px;padding:15px}.hero-upload-card h3,.hero-quarter-wrap h3,.hero-tester h3{margin:0 0 12px}.hero-preview{aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#08060d;margin-bottom:10px}.hero-preview img,.quarter-card img,.hero-preview-result img{width:100%;height:100%;object-fit:cover;display:block}.hero-upload-card input[type=file],.quarter-card input[type=file],.campaign-image-label input{width:100%;margin:8px 0;color:#c7bdd5}.hero-upload-card .secondary{width:100%}.hero-upload-card small{display:block;color:#8f849d;margin-top:8px;line-height:1.4}.quarter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quarter-card{border:1px solid #2f2740;border-radius:10px;padding:10px;background:#151121}.quarter-card b{display:block;margin-bottom:8px}.quarter-card img{height:120px;border-radius:8px;background:#08060d}.quarter-card .mini{margin-right:5px;margin-top:4px}.danger-soft{border-color:#633344!important;color:#ffb3c1!important;background:#2a1620!important}.preset-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:18px;padding:14px;background:#100c19;border:1px solid #30283f;border-radius:12px}.preset-bar label{display:grid;gap:6px;min-width:330px}.campaign-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;padding:16px;background:#100c19;border:1px solid #30283f;border-radius:12px}.campaign-form label{display:grid;gap:6px;color:#d8cfe5}.campaign-form input,.campaign-form select,.preset-bar select,.hero-tester input,.hero-tester select{background:#151121!important;color:white!important;border-color:#3a304b!important}.campaign-form .check-label{display:flex;align-items:center;gap:8px;padding-top:27px}.campaign-form .check-label input{width:auto}.campaign-image-label{grid-column:span 2}.campaign-actions{grid-column:1/-1;display:flex;gap:10px}.campaign-table{margin-top:16px}.campaign-table table{min-width:980px}.campaign-thumb{width:92px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #3a304b}.campaign-table td small{display:block;color:#81778f;margin-top:4px}.row-actions{display:flex;gap:6px}.hero-tester{margin-top:16px;display:grid;grid-template-columns:1fr 220px 180px auto;gap:12px;align-items:end}.hero-tester label{display:grid;gap:6px}.hero-preview-result{grid-column:1/-1;display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:center;border-top:1px solid #30283f;padding-top:14px}.hero-preview-result img{height:105px;border-radius:9px;background:#08060d}.hero-preview-result span{font-size:16px;font-weight:700;color:#ddd5e8}.sidebar nav a[href^="#"]{cursor:pointer}.sidebar{position:sticky;top:0;height:100vh}.admin-main section{scroll-margin-top:20px}
@media(max-width:1150px){.hero-default-grid{grid-template-columns:1fr}.campaign-form{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-tester{grid-template-columns:1fr 1fr}.hero-tester>div:first-child,.hero-preview-result{grid-column:1/-1}.campaign-image-label{grid-column:1/-1}}
@media(max-width:700px){.quarter-grid,.campaign-form,.hero-tester{grid-template-columns:1fr}.section-heading{flex-direction:column}.preset-bar label{min-width:0;width:100%}.campaign-image-label,.campaign-actions,.hero-preview-result,.hero-tester>div:first-child{grid-column:1}.hero-preview-result{grid-template-columns:1fr}.hero-preview-result img{height:180px}}

/* V1.4.0 — secular holiday graphics library */
.holiday-library-card{background:#151121;border:1px solid #30283f;border-radius:14px;margin-top:22px;padding:20px}.holiday-source-note{margin-top:16px;padding:12px 14px;border:1px solid #342a47;border-radius:10px;background:#100c19;color:#a9a0b5;font-size:13px;line-height:1.45}.holiday-filters{display:grid;grid-template-columns:140px 1fr 170px 190px auto;gap:12px;align-items:end;margin-top:14px;padding:14px;background:#100c19;border:1px solid #30283f;border-radius:12px}.holiday-filters label{display:grid;gap:6px;color:#d8cfe5}.holiday-filters select{background:#151121!important;color:#fff!important;border-color:#3a304b!important}.holiday-filters .check-label{display:flex;align-items:center;gap:8px;padding-bottom:11px}.holiday-stats{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.holiday-stats span{background:#211a31;border:1px solid #3b3050;color:#cfc5dd;border-radius:999px;padding:7px 11px;font-size:12px}.holiday-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.holiday-slot{background:#100c19;border:1px solid #30283f;border-radius:12px;padding:13px;min-width:0}.holiday-slot.has-image{border-color:#4e3f69}.holiday-slot-head{display:flex;justify-content:space-between;gap:12px}.holiday-slot-head h3{font-size:16px;margin:3px 0;color:#f0eafd;line-height:1.25}.holiday-slot-head p{margin:0;color:#81778f;font-size:12px;min-height:15px}.holiday-date{font-size:12px;color:#a990ce;font-weight:700}.holiday-category{white-space:nowrap;align-self:flex-start;background:#241b38;border:1px solid #403258;border-radius:999px;padding:5px 8px;font-size:11px;color:#cfc2e8}.holiday-country{margin-top:9px;color:#c8bed6;font-size:13px}.holiday-preview{margin-top:10px;height:150px;border-radius:9px;overflow:hidden;background:#08060d;border:1px solid #2d2539}.holiday-preview img{width:100%;height:100%;object-fit:cover;display:block}.holiday-no-image{height:100%;display:grid;place-items:center;color:#6f667b;background:linear-gradient(135deg,#0c0912,#181021)}.holiday-meta{display:grid;gap:3px;margin-top:9px;color:#80758d;font-size:11px}.holiday-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.holiday-empty{grid-column:1/-1;padding:30px;text-align:center;border:1px dashed #403650;border-radius:12px;color:#8e849b}.holiday-library-card button:disabled{opacity:.55;cursor:wait}@media(max-width:1250px){.holiday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-filters .check-label{padding-bottom:0}}@media(max-width:760px){.holiday-grid,.holiday-filters{grid-template-columns:1fr}.holiday-preview{height:190px}}
/* V1.5.0 Authenticator */
.totp-input{font-size:30px!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-weight:800;max-width:300px}.auth-status{margin-top:8px;color:#b9f59b;font-size:14px}.totp-secret-label{grid-column:1/-1}.totp-secret-label input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}
