/* One visual language for the whole OVERLAP interface. World art stays intact. */
:root{
 --ov-void:#07191e;--ov-panel:#102d32;--ov-panel-deep:#0b2329;--ov-panel-raised:#183a3c;
 --ov-text:#edf8f2;--ov-muted:#a8c9bc;--ov-mint:#9ff4d4;--ov-gold:#f0d69e;--ov-violet:#c5b2f6;
 --ov-line:#365851;--ov-line-soft:rgba(159,244,212,.14);--ov-danger:#ffb8bd;
 --ov-radius:24px;--ov-card-radius:17px;--ov-control-radius:13px;
 --ov-depth:0 20px 65px rgba(0,10,17,.6),inset 0 1px 0 rgba(217,255,238,.08);
 --ink:var(--ov-text);--muted:var(--ov-muted);--accent:var(--ov-mint);
 --og-gold:var(--ov-gold);--og-ink:var(--ov-panel);--og-mint:var(--ov-mint);
 --og-line:var(--ov-line-soft);color-scheme:dark;
}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ov-text)}
:is(.account-dialog,.game-help,.settings-dialog,.overlap-language-dialog,.friend-invitation-dialog,.moderation-notice,.oe-dialog,.og-dialog,.map-sheet,.social-drawer,.glass){
 color:var(--ov-text);border:1px solid var(--ov-line);border-radius:var(--ov-radius);
 background:radial-gradient(ellipse at 90% 0,rgba(71,132,116,.17),transparent 55%),linear-gradient(150deg,var(--ov-panel),var(--ov-panel-deep));
 box-shadow:var(--ov-depth);scrollbar-width:thin;scrollbar-color:#528278 transparent;
}
:is(.account-dialog,.game-help,.settings-dialog,.overlap-language-dialog,.friend-invitation-dialog,.moderation-notice,.oe-dialog,.og-dialog)::backdrop{
 background:rgba(3,14,21,.77);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
:is(.account-dialog,.game-help,.settings-dialog,.oe-dialog,.og-dialog,.map-sheet,.social-drawer) :is(h1,h2){
 color:#fff3d7;font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em;line-height:1.16;
}
:is(.og-dialog,.oe-dialog)>article{background:transparent}
:is(.account-dialog,.game-help,.settings-dialog,.map-sheet,.social-drawer,.oe-dialog,.og-dialog) :is(.eyebrow,.og-kicker){color:var(--ov-gold);font-weight:750;letter-spacing:.14em}
:is(.account-dialog,.game-help,.settings-dialog,.map-sheet,.social-drawer,.oe-dialog,.og-dialog) :is(.muted,.account-copy,.account-verified,.account-remember,.field-help,.fixed-choice,.oe-community-note){color:var(--ov-muted)}
.account-dialog .field,.account-dialog .account-avatar-area small,.account-dialog .account-avatar-area strong{color:var(--ov-text)}
.account-dialog .account-intro{padding:20px 0 14px;border-bottom:1px solid var(--ov-line-soft);margin-bottom:17px}
.account-dialog .account-intro h2{font-size:29px;margin:0}
.account-dialog .account-emblem{background:linear-gradient(145deg,#21493e,#0e302e);border:1px solid #69a58b;color:var(--ov-mint);box-shadow:0 0 24px #9ff4d416}
.account-dialog .account-avatar{border:2px solid var(--ov-mint);background:var(--ov-panel-raised);box-shadow:0 0 0 5px #9ff4d40d}
.account-dialog .avatar-upload-badge{background:var(--ov-mint);color:#12352f}
.account-dialog .account-time-choice{border-color:var(--ov-line);border-radius:var(--ov-card-radius);color:var(--ov-text)}
.account-dialog .account-time-choice label{color:var(--ov-text)}
:is(.field,.answer-form,.trade-form,.chat-compose,.add-friend,.oe-community-compose,.oe-route-settings,.mail-settings,.moderation-card) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select),.overlap-language-picker select{
 background:var(--ov-panel-deep);color:var(--ov-text);border:1px solid var(--ov-line);border-radius:var(--ov-control-radius);
 box-shadow:inset 0 2px 7px #00111638;font-family:inherit;min-height:44px;
}
:is(.field,.answer-form,.trade-form,.chat-compose,.add-friend,.oe-community-compose,.oe-route-settings,.mail-settings,.moderation-card) :is(input,textarea)::placeholder{color:#86a89b;opacity:1}
input[type=checkbox],input[type=radio],progress{accent-color:var(--ov-mint)}
:is(.primary-button,.og-button:not(.quiet):not(.reward),.help-next,.confirm-choice){
 color:#12352f;background:linear-gradient(150deg,#c0ffe6,var(--ov-mint));border:1px solid #c6ffe7;
 border-radius:var(--ov-control-radius);box-shadow:inset 0 1px 0 #ffffff70,0 6px 20px #9ff4d416;
 font-family:inherit;font-weight:750;text-shadow:none;
}
:is(.secondary-button,.og-button.quiet,.help-back,.oe-route-buttons button,.request-buttons button,.party-buttons button){
 background:linear-gradient(150deg,#204840,#102f31);color:var(--ov-text);border:1px solid #50766a;
 border-radius:var(--ov-control-radius);box-shadow:inset 0 1px 0 #d9ffee0d;font-family:inherit;
}
:is(.og-button.reward,.collection-sheet .primary-button,.ending .primary-button){background:linear-gradient(145deg,#ffeac0,var(--ov-gold));color:#40321c;border-color:#ffe9b6}
:is(.text-button,.account-dialog .text-button,.oe-dialog .text-button,.og-dialog .text-button){color:var(--ov-mint);font-family:inherit}
:is(.icon-button,.sheet-close,.help-close,.oe-icon-button){background:#173b3b;color:var(--ov-text);border:1px solid var(--ov-line);box-shadow:inset 0 1px 0 #ffffff08}
:is(.primary-button,.secondary-button,.og-button,.time-card,.bag-item,.oe-route-buttons button){transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
@media(hover:hover){
 :is(.primary-button,.og-button:not(.quiet)):hover:not(:disabled){background:linear-gradient(150deg,#ddfff0,#aff7dd);box-shadow:0 0 22px #9ff4d425;transform:translateY(-1px)}
 :is(.secondary-button,.og-button.quiet):hover:not(:disabled){border-color:#9fd8c2;background:#214a43}
}
button:active:not(:disabled){transform:translateY(1px)}
:is(button,input,textarea,select,summary):focus-visible{outline:2px solid var(--ov-mint);outline-offset:3px}
button:disabled{opacity:.43;cursor:default}
:is(.account-feedback.success,.social-feedback,.trade-success,.trade-success p){color:var(--ov-mint);background:#1c443837;border-color:#6fb196}
:is(.account-feedback.error,.social-feedback.error,.feedback.error,.oe-error,.og-error){color:var(--ov-danger);background:#572b3438;border:1px solid #bf7e884d;border-radius:var(--ov-control-radius)}
:is(.account-tabs,.segmented,.oe-community-channels,.og-hub-tabs){background:#071c22a6;border:1px solid var(--ov-line-soft);padding:5px;border-radius:16px;gap:5px}
:is(.account-tabs,.segmented,.oe-community-channels,.og-hub-tabs)>button{border-radius:11px;border-color:transparent;background:transparent;color:var(--ov-muted);font-family:inherit;font-weight:650}
:is(.account-tabs,.segmented,.oe-community-channels,.og-hub-tabs)>button:is(.active,.selected){background:linear-gradient(145deg,#315e4d,#1a3d37);border-color:#89bda03d;color:#deffe9;box-shadow:inset 0 1px #c7ffe726}
.oe-tabs{gap:5px;border-bottom:1px solid var(--ov-line-soft)}
.oe-tabs button{color:var(--ov-muted);background:transparent;border:1px solid var(--ov-line-soft);border-radius:12px;font-family:inherit}
.oe-tabs button.active{background:#284d43;border-color:#7fae9755;color:#ebffee}
/* Cards that formerly switched to cream now use the same dark game frame. */
:is(.beacon-play-card,.beacon-play-card.relay,.beacon-play-card.together,.coop-rule,.beacon-waiting,.beacon-ready,.beacon-development,.required-items,.clue-reveal,.discovery-card,.duo-card,.duo-mission,.party-summary,.party-rule,.party-member,.party-supply,.trade-form,.login-reward-card,.daily-menu-card,.daily-bonus,.daily-goals,.mission-card,.finished-missions,.trophy-card,.inventory-clue,.moderation-card,.editor-card,.mail-status,.validation-card){
 background:linear-gradient(145deg,#193b39,#0d282e);color:var(--ov-text);border:1px solid var(--ov-line);border-radius:var(--ov-card-radius);box-shadow:inset 0 1px #e3ffef08;
}
:is(.beacon-play-card,.coop-rule,.beacon-waiting,.beacon-ready,.beacon-development,.clue-reveal,.discovery-card,.duo-card,.party-summary,.trade-form,.login-reward-card) :is(p,strong,h3,h4,label){color:var(--ov-text)}
:is(.beacon-play-card,.clue-reveal,.discovery-card,.duo-card,.party-summary,.trade-form,.login-reward-card) :is(small,.beacon-id){color:var(--ov-muted)}
.beacon-play-card:is(.relay,.together){border-color:#a38ccb66;background:linear-gradient(145deg,#2e3647,#142c34)}
.beacon-play-card .location-photo{background:#143232;border-color:var(--ov-line);color:var(--ov-muted);border-radius:13px}
.beacon-emblem,.mission-symbol,.daily-symbol{color:var(--ov-mint);background:#183b35;border-color:#6a9b8559}
.og-hub{color:var(--ov-text);font-family:inherit;--accent:var(--ov-mint);--warm:var(--ov-gold)}
.og-hub.era-past{--accent:var(--ov-gold);--warm:var(--ov-mint)}
:is(.og-objective,.oe-beacon-care,.oe-care-entry,.og-network-beacon,.og-role-choice button,.og-relic-detail,.oe-player-profile){background:linear-gradient(140deg,#173b39,#0d282e);color:var(--ov-text);border-color:var(--ov-line);border-radius:var(--ov-card-radius)}
.og-objective.done{background:linear-gradient(140deg,#234a3d,#0f302d);border-color:#92c49d55}
.og-dialogue{background:linear-gradient(130deg,#0e2a32ef,#102d32f2);border-color:#c7d4b53f;border-radius:var(--ov-card-radius)}
.og-speaker{color:var(--ov-gold)}
.og-dialogue p{color:#f2efdc}
.og-relic-card{background:radial-gradient(circle at 50% 15%,#5073601c,transparent 55%),linear-gradient(145deg,#173638,#0b252e);border-color:var(--ov-line-soft);border-radius:var(--ov-card-radius)}
.og-relic-card.found{border-color:#e0c68b65;box-shadow:inset 0 1px #fceec02b,0 0 18px #f0d69e0b}
.og-relic-card.season-found{border-color:#d5c99985}
.og-rules{color:var(--ov-muted)}
.oe-community-message{background:#183a3c;color:var(--ov-text);border:1px solid var(--ov-line);border-radius:17px 17px 17px 6px}
.oe-community-message.mine{background:#23453c;border-color:#77ad9166;border-radius:17px 17px 6px 17px}
.oe-community-message.achievement{background:linear-gradient(135deg,#51463433,#162e31);border-color:#f0d69e66;border-radius:var(--ov-card-radius);color:var(--ov-gold)}
.oe-community-person,.oe-community-person strong{color:var(--ov-text)}
.oe-community-message time,.oe-player-summary small,.oe-profile-stats dt{color:var(--ov-muted)}
.oe-help-label{color:var(--ov-gold)}
.oe-community-avatar,.friend-avatar{background:#244b41;color:var(--ov-mint);border-color:#69937d6b}
.oe-community-avatar i{border-color:var(--ov-panel)}
.oe-community-avatar i.online,.live-dot{background:var(--ov-mint)}
.oe-chat-reply,.oe-community-message blockquote{background:#0c252b;border-left-color:var(--ov-mint);color:var(--ov-muted)}
.chat-messages>div{background:#183a3c;border-color:var(--ov-line);border-radius:var(--ov-card-radius)}
.chat-messages>div.mine{background:#23453c}
.social-drawer>header,.panel-header{border-bottom-color:var(--ov-line-soft)}
.social-drawer>header h2{font-size:23px}
.friend-row,.social-request,.party-pending,.trade-list>article{border-color:var(--ov-line-soft)}
.profile-stats>div,.oe-profile-stats>div{background:#0e292e;border-color:var(--ov-line-soft);border-radius:12px}
.profile-heading small,.help-copy>p,.help-copy .help-tip,.help-step-label{color:var(--ov-muted)}
.help-copy h2{color:#fff3d7}
.help-tip{border-color:#92bfa04a;background:#142f2c;border-radius:var(--ov-control-radius)}
.help-step-label>span{color:var(--ov-gold)}
.help-steps button{background:#24433f}
.help-steps button.active{background:var(--ov-gold)}
.help-illustration{background:radial-gradient(circle,#9ff4d414,transparent 69%);color:var(--ov-mint)}
.time-onboarding{isolation:isolate;border:1px solid var(--ov-line);border-radius:var(--ov-radius);background:linear-gradient(150deg,#102d32f2,#0b2329f7);box-shadow:var(--ov-depth)}
.time-onboarding h1{color:#fff3d7;font-family:Georgia,"Times New Roman",serif;font-weight:400}
.time-onboarding>p,.outside-note{color:var(--ov-muted)}
.time-onboarding .time-card{border-radius:var(--ov-card-radius);border:1px solid var(--ov-line);box-shadow:inset 0 1px #ffffff0d}
.time-onboarding .past-card{background:radial-gradient(circle at 70% 0,#f0d69e20,transparent 65%),#213330;color:var(--ov-gold)}
.time-onboarding .future-card{background:radial-gradient(circle at 70% 0,#9ff4d420,transparent 65%),#143639;color:var(--ov-mint)}
.time-onboarding .time-card.selected{border-color:currentColor;box-shadow:inset 0 0 22px #9ff4d40b}
/* HUD geometry, beacon sizes and the route layout deliberately inherit their compact rules. */
.national-world :is(.time-badge,.energy-badge,.country-badge,.oe-launcher button){background:linear-gradient(140deg,#123a38f0,#0c272fe8);border-color:#85b7a63d;color:var(--ov-text);box-shadow:inset 0 1px #b6ead614,0 4px 16px #01151e33}
.national-world .time-badge.past{color:var(--ov-gold)}
.national-world .time-badge.future{color:var(--ov-mint)}
.national-world .profile-orb{border-color:var(--ov-mint);box-shadow:0 0 0 3px #07191e42}
.national-world .player-level{background:#1c6654;border-color:var(--ov-mint);color:#effff2}
.national-world :is(.oe-navigation,.mission-dock){background:linear-gradient(140deg,#123b38ee,#0b2c32f2);border-color:#8cc5b049;box-shadow:0 7px 26px #00182355,inset 0 1px #e4ffed0b}
.national-world .oe-navigation-main strong,.national-world .mission-goal strong{color:var(--ov-text)}
.national-world .oe-turn,.national-world .oe-voice-button,.national-world .mission-goal>svg{color:var(--ov-mint)}
.national-world .oe-navigation-main small,.national-world .mission-goal em{color:var(--ov-muted)}
.national-world .world-actions>button:not(.scanner-orb),.national-world .map-control{background:linear-gradient(145deg,#224747,#103138);border-color:#85b9a24d;color:#d2f8e7;box-shadow:inset 0 1px #d9ffee1a,0 7px 17px #00192240}
.national-world .world-actions>.scanner-orb{background:radial-gradient(circle at 35% 22%,#dcfff0,var(--ov-mint) 55%,#63bea4);border-color:#477964;color:#144c41;box-shadow:0 0 0 4px #9ff4d411,0 0 25px #9ff4d425}
.pause-card{border-color:var(--ov-line);background:linear-gradient(145deg,#17383c,#0b252d);border-radius:var(--ov-card-radius)}
.sticker-card{border-color:var(--ov-line-soft);border-radius:var(--ov-card-radius)}
.sticker-card.found,.trophy-card.done{border-color:#c6b98665}
.level-track,.progress-track,.beacon-level-progress{background:#082029;border-color:var(--ov-line-soft)}
.level-track>span,.progress-track>span{background:linear-gradient(90deg,#77c8ae,var(--ov-mint))}
@media(max-width:480px){
 .account-dialog{padding:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
 .account-dialog .account-intro h2{font-size:26px}
 .time-onboarding{border-radius:22px}
 :is(.account-dialog,.game-help,.settings-dialog,.oe-dialog,.og-dialog){scroll-padding-block:18px}
}
@media(prefers-reduced-motion:reduce){
 :is(.primary-button,.secondary-button,.og-button,.time-card,.bag-item){transition:none;transform:none!important}
 :is(.primary-button,.secondary-button,.og-button):active{transform:none}
}
