/* Gonelands 0.20: obsidian, blue rift light, restrained old-gold accents.
   Only the world-base canvas is recolored; sprites, markers and meters retain their meaning. */
@font-face{font-family:Cinzel;src:url('/assets/fonts/cinzel.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root{--ink:#e4e9ef;--muted:#a0adbf;--gold:#dbc6a0;--gold-dark:#8e795b;--panel:#101723;--deep:#070b12;--line:#91b8db29;--green:#99c5b2;--red:#e49b91;--rift:#9bdbee;--rift-dim:#5f96b3;--rift-surface:linear-gradient(145deg,#182434e8,#0b111cf5);--rift-border:#82aec94d;background:#070b12}
body{background:#070b12;color:var(--ink)}
h1,h2,.wordmark b{font-family:Cinzel,Georgia,serif}h1,h2{letter-spacing:-.025em}h3{color:#d5dfeb}
button{border-color:#8aa9c03d;background:linear-gradient(160deg,#1b293b,#101725);box-shadow:inset 0 1px #d8edff09;color:#dce4ed;border-radius:13px;transition:background .15s,border-color .15s,box-shadow .15s}
button:hover:not(:disabled){background-color:#203147;border-color:#9bc6e096}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #b7e5f4;outline-offset:3px}
button:disabled{box-shadow:none}
.primary{color:#edf9ff;background:linear-gradient(115deg,#24485d,#163344 58%,#0f2434);border-color:#96cde3a3;box-shadow:inset 0 1px #d1efff32,inset 0 -2px #040e1877,0 0 22px #539fc31b;font-weight:600}
.primary:hover:not(:disabled){color:#fff;background:linear-gradient(115deg,#305971,#204256 58%,#162f41);border-color:#c0eaf6;box-shadow:inset 0 1px #e3faff44,0 0 23px #69bad72b}
input,select{background:#0a111d;color:#e5edf6;border-color:#87aec443;box-shadow:inset 0 2px 7px #0003;accent-color:#91d5ea}
input::placeholder{color:#7d8da3}option{background:#101a28;color:#e2eaf2}
.pill{background:#a5c9ef0a;border-color:#a2bad138;color:#c8d8e7}.notice{background:#718eaa0b;border-color:#89acc53d;color:#c1cedc}.empty{color:#9faec1;border-color:#9cb2c635}
.divider{border-color:#94b8d022}.progress{background:#070c15}.progress i{background:linear-gradient(90deg,#447e9f,#b9dfef)}
/* Midnight cartography: retain the current tile provider and readable attribution. */
#map{background:#111b2a}
#map .world-base canvas{filter:grayscale(1) invert(1) sepia(1) hue-rotate(173deg) saturate(.7) contrast(.85) brightness(calc(var(--map-brightness,1) * .84));transition:filter .15s linear}
#map .ol-layer:not(.world-base) canvas{filter:none}
#map .ol-attribution{background:#07101de8!important;border:1px solid #a6c8df30;color:#d5e3ef!important;box-shadow:0 2px 9px #0005}
#map .ol-attribution a{color:#d2e8f4!important}
.topbar{background:linear-gradient(#070c15f2,#0a1321b8 60%,#0b132100);filter:drop-shadow(0 4px 15px #02050c33)}
.wordmark{color:#e7d3af;text-shadow:0 2px 10px #000,0 0 18px #71b6dc22}.wordmark b{letter-spacing:1.5px}.wordmark span{color:#b7c7d8}
.topbar .map-status{background:linear-gradient(130deg,#152335ed,#0a1422f5);border:1px solid #8bbbd060;box-shadow:inset 0 1px #d2eaff16,0 6px 24px #0006;backdrop-filter:blur(12px);border-radius:17px}
.map-status #gps,.map-status #refreshMap{color:#c5dfec;background:transparent}.map-status #refreshMap{border-left-color:#94bcd535}.live-dot{background:#a0d9ed;box-shadow:0 0 8px #85bddd55}.map-status-copy{color:#d2e1ec}
.map-tools button{border:1px solid #91bdd47d;border-radius:15px;background:radial-gradient(ellipse at 30% 0,#2e526a99,transparent 75%),#0a1422ee;box-shadow:inset 0 1px #d7f3ff2b,inset 0 0 0 3px #0a1320,0 5px 15px #0006}
.map-tools button:hover:not(:disabled){background:linear-gradient(150deg,#284259,#0d1c2d);border-color:#c6eaf8}.map-tools img{filter:drop-shadow(0 0 4px #8cdaeb22)}
.bottom-nav{background:linear-gradient(180deg,#152133f5,#080f1dfc);border-color:#83bcd251;box-shadow:0 -8px 32px #01050e80,inset 0 1px #d0f4ff14;backdrop-filter:blur(16px)}
.bottom-nav:after{content:'';position:absolute;top:-2px;left:6%;right:6%;height:5px;background:url('/assets/art/rift-v020/rift-line.svg') center/100% 100% no-repeat;opacity:.7;pointer-events:none}
.bottom-nav button{background:none;box-shadow:none}.bottom-nav button.selected{background:transparent;border-top:0}.bottom-nav button:hover:not(:disabled){background:transparent}
.bottom-nav button.selected:before{background:radial-gradient(ellipse at 50% 30%,#74c4ec2b,#283e5a0a 78%);border-color:#94d4e95e;box-shadow:inset 0 1px #b7eeff24,0 0 18px #58ace012}
.bottom-nav button:hover:before{background:#a9cfff0a}.bottom-nav .nav-label{color:#b9c8d9}.bottom-nav .selected .nav-label{color:#dbf5ff;text-shadow:0 0 10px #6abde766}
.bottom-nav .nav-art img{filter:drop-shadow(0 2px 5px #0009)}.bottom-nav button:focus-visible{outline-color:#a7e0f3}
.actor-label:not([data-rank]),.actor-label[data-rank="none"]{background:linear-gradient(#203449ed,#0b1625ed);color:#e1edf8;border-color:#8dbfd477;box-shadow:0 2px 8px #0007,inset 0 1px #d4f3ff22}
.world-hero .actor-label{background:linear-gradient(#3b5c74,#1d334c);color:#effaff;border-color:#acdff1}
.poi-timer{background:#091426e8;border-color:#a2bdd33d;color:#cfdeeb}.enemy-count{box-shadow:0 2px 6px #0008}
.encounter-resume{background:linear-gradient(130deg,#152638f2,#0b1421f8);border-color:#86c8e06b;color:#dbeaf4}
.world-legend{background:linear-gradient(130deg,#132135f2,#0a1423f5);border-color:#90bbd348;border-radius:17px;box-shadow:0 12px 35px #0005}.world-legend h1{font-size:23px;line-height:1.3}.world-legend .count{color:#aebfd0}
/* The same quiet rift surface ties menus, accounts and popup windows together. */
dialog,#sheet,.account-dialog,.privacy-choice,#itemSheet{background:linear-gradient(110deg,#0b1220f7,#0c1521ed 65%,#0b1320b8),url('/assets/art/rift-v020/veil.png') right top/cover no-repeat;border-color:#8bb8d064;border-radius:20px;color:var(--ink);box-shadow:0 25px 100px #000b,0 0 45px #4e92b10e,inset 0 1px #d7eeff12}
dialog::backdrop,.privacy-choice::backdrop{background:#020610ba;backdrop-filter:blur(7px)}
#sheet:not(.combat-view)>.sheet-top,.account-dialog .sheet-top,.privacy-top{background:linear-gradient(100deg,#152538fa,#0d1829fa);border-color:#8bc9de32;box-shadow:0 5px 16px #03070d36}
#sheet #closeSheet,.account-dialog .sheet-top button,.privacy-top button{background:linear-gradient(#23394e,#101d30);border-color:#a3c7dc66;color:#d6edf7;box-shadow:inset 0 1px #c4eaff16}
#sheet .sheet-top #sheetLabel,.privacy-top>span{color:#9dc6dc}
#sheetContent,.account-dialog,.privacy-choice,.bag-scroll{scrollbar-color:#41627d #0a1422}
.entry-welcome{position:relative;isolation:isolate;background:linear-gradient(180deg,#050a1200,#070e1c82 40%,#09101dfc 67%),url('/assets/art/rift-v020/entry.png') center 0/cover no-repeat;padding-top:170px}
.entry-welcome h1{font-family:Cinzel,Georgia,serif;color:#eeddbd;text-shadow:0 2px 18px #000;font-size:34px}.entry-welcome>p,.entry-welcome small{color:#bccbdd}.entry-welcome .entry-legal{color:#aabbd0}
.welcome-art{background-image:linear-gradient(0deg,#0b1422,#0c172044),url('/assets/art/rift-v020/veil.png')!important;background-color:#0a111c;background-position:70% center;background-size:cover}
.welcome-caption h2{font-family:Cinzel,Georgia,serif;color:#e8ddc9}.welcome-form h1{color:#e7dfcf}.class-choices button{background:radial-gradient(ellipse at bottom,#91c8e118,transparent 75%);border-color:#a1c4d333}
.class-choices .chosen,.gender-choices button.chosen,.portrait-choices .chosen{color:#e0f6ff;background:radial-gradient(ellipse at bottom,#498aa03b,#111d30);border-color:#96d3e9a3;box-shadow:inset 0 -2px #88cde1,0 0 14px #489dc512}
.creation-skill,.creation-passive,.class-skill-list article{background:#17243a55;border-color:#8fb9d035}.class-skill-list p,.creation-passive{color:#bdcad9}.class-skill-list small{color:#9fcbdc}.welcome-form .creation-skills .class-skill-list{display:grid}
.location-gate{background:#050a13}.location-art{background:linear-gradient(180deg,#04091244,#07112477 28%,#070c19eb 77%,#070c13),url('/assets/art/rift-v020/entry.png') center/cover no-repeat}
.location-compass{stroke:#a5d7ed;filter:drop-shadow(0 0 18px #72c5ea66)}.location-compass path:first-of-type{fill:#91d4ed1c}.location-content>.eyebrow{color:#b1d5e4}.location-content h1{font-family:Cinzel,Georgia,serif;color:#ede6d9}
.location-story,.location-content #locationMessage{color:#b9c9dd}.location-help{background:#101c2bbc;border-color:#8aabc238}.location-help summary{color:#c5deed}
.account-content h2,.privacy-content h2{font-family:Cinzel,Georgia,serif;color:#ecdfc5}.account-content>p,.privacy-content p{color:#bfcbda}.account-emblem,.privacy-compass{color:#a6dced;text-shadow:0 0 26px #78bede45}.account-legal,.privacy-content small{color:#9eafc3!important}
.account-setting,.animation-preference,.map-appearance{background:linear-gradient(130deg,#1b2d416b,#101a2b66);border:1px solid #8baec43b;border-radius:15px;padding:16px}.animation-preference p{color:#aebfd3}
.map-appearance label{display:flex;justify-content:space-between;color:#c6d7e6}.map-appearance h3{margin-bottom:0}.map-appearance output{font-variant-numeric:tabular-nums;color:#b2e0ef}.map-appearance input{padding:0;height:30px;border:0;box-shadow:none;cursor:ew-resize}.map-appearance small{display:block;color:#9cafc4;font-size:11px;margin-top:4px}.map-appearance .pill{font-size:9px}
/* Keep rank and rarity border colors: only neutral card surfaces change. */
.poi-hero,.enemy-portrait{background:radial-gradient(ellipse,#66acd324,transparent 67%)}
.affinity-group{background:linear-gradient(135deg,#1a293d,#0c1625);border-color:#88abc23c}.affinity-group h3{color:#d9dfeb}
.profile-cover,.equipment-board{background:radial-gradient(ellipse at 26% 70%,#84b9db20,transparent 68%);border-color:#93bfd338}
.profile-cover{border-radius:19px;box-shadow:inset 0 0 0 4px #0c172780,inset 0 0 0 5px #91bfd21a}.profile-cover h2{color:#e8e0d0}
.profile-resource{background:linear-gradient(130deg,#2a3a4b44,#121f33);border-color:#92b4ce46;border-radius:14px}.profile-resource>span{color:#c3d0df}
.profile-stat{background:linear-gradient(145deg,#28435d2e,#0c152533);border-color:#8cacc634;border-radius:14px;box-shadow:inset 0 0 0 3px #0b17283d}.profile-stat>span,.profile-passive p{color:#becbd9}.profile-stat strong{color:#e5dac5}
.profile-passive{background:radial-gradient(ellipse at left,#629dc31c,transparent 80%);border-color:#92bbd336}.profile-next{background:#101c2b60;border-color:#9bb7c73b}
.gear-slot{background:linear-gradient(145deg,#25384ee8,#101c2cf5);border-color:#99b5cb55}.gear-slot>span:last-of-type{background:#0e1b2d;color:#c8d8e7}.gear-slot svg{stroke:#91aec080}
.gear-card,.supply-card,.potion-slot{background:radial-gradient(ellipse at top,#253b5199,#0b1726)}.bag-filters select{background:#101e30;color:#cad9e8;border-color:#8db3c83b}.bag-scroll{scrollbar-color:#466886 #0d1828}
.item-modal-head{background:linear-gradient(110deg,#1b2c41,#0e1a2b);border-color:#a0bfd13d}.item-modal-head>span{color:#b9d2e4}.item-modal-head button{color:#d5eaf5;border-color:#9cc6db6b}.item-showcase{background:radial-gradient(ellipse,#80c5e124,transparent 70%)}
.bestiary-card{background:radial-gradient(ellipse at 50% 30%,#48729432,#101a2c)}.bestiary-card.unknown{border-color:#849eb738}.bestiary-card.unknown strong{color:#a0b1c4}.bestiary-card.discovered:hover{background-color:#21334c}
.bestiary-card[class*="rank-"]{background-color:#101b2b}.book-progress,.record-bar,.mastery-progress{background:#07101c}
.friend-row,.companion-card{background:linear-gradient(135deg,#1c2e427d,#0c1729b8);border-color:#8dafc740}.friend-avatar{background:radial-gradient(#70b6db26,#0b182a);border-color:#99bdd254}
.recovery-banner{background:linear-gradient(120deg,#20344af5,#0d1c31f5);border-color:#94cee178;box-shadow:0 4px 24px #040c1980,inset 0 1px #c5ecff1c}.recovery-banner:before{color:#c6e9f8;text-shadow:0 0 12px #86d3ef66}.recovery-banner:after{background:linear-gradient(90deg,#427a9f,#bdeaff)}.recovery-banner b{color:#d9f1ff}.recovery-banner span{color:#c3d8e9}
.recovery-panel{background:linear-gradient(145deg,#29304488,#101e30);border-color:#afc1d054}.rank-claim,.reward-counter,.monster-credit{background:linear-gradient(130deg,#36435a30,#0b1628bb)}.reward-track{background:#091322}.reward-track i{background:linear-gradient(90deg,#477fa0,#c4e9f3)}
/* Combat keeps ability art, target feedback, turn colors and HP/mana distinctions. */
#sheet.combat-view{background:linear-gradient(155deg,#111d2e,#070e19);border-color:#84adc662}.atb-battle .atb-stage{background-color:#142036;background-image:linear-gradient(#070e2070,#0e1e3580 48%,#080f1edf),var(--battle-ground);background-blend-mode:normal,luminosity;border-color:#a0c9df2e}
.atb-dock{background:linear-gradient(145deg,#1a2c42,#0b1829);border-color:#87b9d04d;box-shadow:inset 0 1px #c2eaff17,0 -5px 24px #070c1536}
.atb-action{background:radial-gradient(ellipse at 50% 0,#47799430,transparent 80%),linear-gradient(155deg,#253c55,#101e32 68%);border-color:#88b8d36b;color:#e5edf3;box-shadow:inset 0 0 0 2px #0b1729,inset 0 0 0 3px #a1ccde12}
.atb-action:hover:not(:disabled){background-color:#2b435f;border-color:#c8e9f4}.atb-action:disabled{background:linear-gradient(155deg,#172337,#0c1727);border-color:#6887a045}
.atb-resource,.readiness-label{color:#b2c8d9}.can-act .readiness-label{color:#f0d7a5}.atb-leave{background:#101e31f5;border-color:#9fbfd373}.actor-timeout{background:#182d44ed;border-color:#bed9e87d;color:#f2e1bb}
.battle-potion{background:radial-gradient(ellipse,#617b9d44,#101f34 75%);border-color:#a3bfd276;box-shadow:inset 0 0 0 2px #112238}.battle-potion:not(:disabled){box-shadow:inset 0 0 0 2px #213b54,0 0 13px #8fc7e32a}.battle-potion>b{background:#102138;border-color:#a7c9dd66;color:#d8e9f7}.empty-flask{color:#8ba3ba}
.actor-vitals{color:#d8e5f1}.pet-owner>small{background:#102038bd;color:#b5d9ec}.affinity{background:#0b1526b3}
.atb-battle .atb-stage:after{border-color:#a6d4e43b}.atb-callout{color:#dbe7f0;text-shadow:0 1px 6px #000}
.mini-board{border-color:#92b4cf5c;background-color:#101b2b}.mini-caption{color:#bfd7e9}.mini-intro{background:#0b1525;border-color:#87b0ca55}.mini-stage{background:radial-gradient(ellipse,#20344e,#0b1424 85%)}.mini-controls button,.mini-help-toggle{background:linear-gradient(135deg,#223a53,#102037);border-color:#a0bfd15b;color:#e0edf6}
#toast{background:#101e31fa;border-color:#a5c5dc77;color:#e1edf6;box-shadow:0 10px 40px #0009}.boot{background:#060c15 url('/assets/art/rift-v020/veil.png') right center/cover no-repeat}.boot h1{color:#e9dec9}.boot .crest{color:#bce7f6;text-shadow:0 0 28px #7fc6e870}
@media(min-width:1100px){.bottom-nav{border-color:#9ac5dc4d;border-radius:22px;overflow:visible}}
@media(max-width:700px){.entry-welcome{padding-top:145px;background-size:auto 420px;background-position:48% 0}.entry-welcome h1{font-size:28px}.location-art{background-position:60% center}.map-appearance .row{gap:8px}.map-appearance h3{font-size:18px}.wordmark b{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){#map .world-base canvas,button{transition:none}}
