/* Shared ARKANIS identity; existing forms and navigation retain their contracts. */
:root { --bg:#071120; --surface:#101e33; --surface-2:#122440; --line:#927342; --text:#f5efdf; --muted:#c4beaf; --accent:#cda75d; --accent-2:#edcd8c; --radius:5px; }
body { background:linear-gradient(#071120bc,#071120f2),url('/static/images/arkanis/oldoria-dusk.png') center top/cover fixed; color:var(--text); }
.topbar { background:linear-gradient(#102849f5,#07172df5); border-bottom:2px solid #b7904d; box-shadow:0 3px 18px #0008; }
.brand-logo { width:98px; height:55px; object-fit:contain; }
.brand small,.hero-copy p,.journey-step p,.section-heading > p,.footer-inner p,.footer-note,.vocation-preview p,.public-head > p,.guide-banner p { color:#ccc5b5; }
.brand { font-family:Georgia,serif; color:#edcd8c; }
.topbar nav > a:not(.button) { color:#f0e6cc; }
.world-hero { min-height:740px; padding-top:40px; padding-bottom:90px; justify-content:center; text-align:center; }
.hero-art { background-image:url('/static/images/arkanis/oldoria-dusk.png'); background-position:center; }
.world-hero::before { background:linear-gradient(0deg,#071120 0%,#07112020 35%,#07112020 70%,#07112055),radial-gradient(ellipse at center,#071120b0 0%,#07112055 42%,transparent 75%); }
.hero-copy { max-width:760px; display:flex; flex-direction:column; align-items:center; }
.hero-logo { width:min(560px,80vw); height:auto; filter:drop-shadow(0 6px 12px #0009); }
.hero-copy h1 { font-size:clamp(30px,3.5vw,48px); margin:14px 0; letter-spacing:-.015em; color:#fff3d2; }
.hero-copy p { max-width:620px; margin:6px 0; text-shadow:0 2px 5px #000; }
.hero-copy .hero-actions { margin-top:22px; justify-content:center; }
.hero-caption { justify-content:center; margin-top:20px; color:#f1e4c8; }
.button { background:linear-gradient(#174682,#0c2851); border:1px solid #d2a655; color:#fff0cc; border-radius:3px; box-shadow:inset 0 0 0 2px #082044,0 4px 12px #0005; }
.button:hover { color:#fff6df; background:linear-gradient(#24589c,#123970); }
.button.ghost { border-color:#b89657; background:#081b32d9; color:#fff0cc; }
.panel,.notice-panel,.guide-banner,.hero-card { background:linear-gradient(135deg,#13243bee,#09172bed); border:1px solid #aa874b; border-radius:5px; }
.journey-step { background:linear-gradient(135deg,#f1dfba,#d5bd92); border:1px solid #c6a05e; border-radius:4px; padding:26px; color:#29201a; box-shadow:inset 0 0 0 3px #c2a47740,0 6px 20px #0004; }
.journey-step:hover { color:#29201a; background:#f1dfba; }
.journey-step p { color:#524534; }
.journey-step .text-link,.step-number { color:#163c70; }
.vocations-showcase,.vocation-preview,.character-card { background:#0b2039e8; border-color:#74603d; }
.vocation-preview:hover { background:#173957; }
.world-facts { border-color:#8d713e; }
.world-facts div { border-color:#8d713e66; }
.world-facts div > span { color:#c8b996; }
.world-facts strong { color:#f4e4bd; font-size:23px; }
.footer { background:#061325f2; border-color:#9d7c44; }
.footer nav a { color:#d7c9ac; }
.footer-note { border-color:#594a31; }
.auth-panel { background:linear-gradient(135deg,#eeddbd,#cdb58e); color:#29201a; box-shadow:inset 0 0 0 4px #a3834a55,0 15px 45px #0007; border:2px solid #ba9455; }
.auth-panel h1,.auth-panel label,.auth-panel .muted,.auth-panel .eyebrow { color:#382817; }
.auth-panel a { color:#143966; }
.auth-panel small { color:#544835; }
input,select { background:#08172a; color:#fff0cf; border:1px solid #a78a52; }
select { padding:12px; width:100%; font:inherit; border-radius:4px; }
.choice,.vocation-card { background:#0d223b; color:#f1e6cb; border-color:#977941; }
.vocation-card:has(input:checked),.choice:has(input:checked) { background:#153c6b; border-color:#e3bd73; }
#site-navigation.is-open { background:#0a1e37; border-color:#b68e4a; }
.hero-scroll { color:#d1c8b4; }
@media(max-width:700px) { body { background-attachment:scroll; } .world-hero { min-height:680px; padding:35px 20px 90px; align-items:center; } .world-hero::before { background:linear-gradient(0deg,#071120,#07112066 35%,#07112055); } .hero-copy h1 { font-size:34px; } .hero-copy .hero-actions { align-items:stretch; width:100%; } .hero-logo { width:min(440px,90vw); } .hero-art { background-position:60% center; } .brand-logo { width:76px; height:43px; } .brand { font-size:14px; } .hero-scroll { font-size:9px; } }

.city-grid { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-top:24px; }
.city-grid li { padding:14px; border:1px solid #aa874b66; background:#07172acc; }
.city-grid small { display:block; color:#dfbf7b; margin-top:6px; }
.news-item { margin-bottom:20px; }
.ranking-scroll { overflow-x:auto; }
.ranking-table { width:100%; border-collapse:collapse; font-size:14px; }
.ranking-table th,.ranking-table td { text-align:left; padding:14px; border-bottom:1px solid #8d713e66; }
.ranking-table th { color:#e9ca87; font-family:Georgia,serif; }
@media (max-width:1250px) { .topbar { height:78px; } .menu-toggle { display:flex; } #site-navigation { display:none; position:absolute; top:78px; left:0; right:0; padding:18px 24px; background:#0a1e37; border-bottom:1px solid #b68e4a; flex-direction:column; align-items:stretch; gap:3px; } #site-navigation.is-open { display:flex; } #site-navigation a { padding:12px 4px; } .nav-divider { display:none; } }
