/* Rebelion Online — forged gold and black identity */
:root {
    --atlas-ink: #100a08;
    --atlas-deep: #090605;
    --atlas-panel: #1b120e;
    --atlas-panel-soft: #291912;
    --atlas-line: rgba(213, 169, 83, .22);
    --atlas-paper: #f1e8d5;
    --atlas-muted: #aa9b83;
    --atlas-copper: #c7953f;
    --atlas-jade: #dfbd65;
    --atlas-sand: #f5d987;
    --atlas-blood: #9a3028;
    --atlas-width: 1420px;
    --atlas-gutter: clamp(22px, 5vw, 76px);
}

html { color-scheme: dark; scroll-behavior: smooth; }
body.odin-body {
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--atlas-ink) !important;
    background-image: radial-gradient(ellipse at 51% -16%, rgba(153, 91, 32, .2), transparent 49%), linear-gradient(115deg, rgba(154,48,40,.045), transparent 38%, rgba(223,189,101,.035)) !important;
    color: var(--atlas-paper);
    font-family: "Marcellus", Georgia, serif;
    font-size: 15px;
    line-height: 1.65;
}
body.odin-body::before {
    position: fixed;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(0deg, transparent 0 79px, rgba(231,226,208,.018) 80px), repeating-linear-gradient(90deg, transparent 0 79px, rgba(231,226,208,.014) 80px);
    content: "";
}
.odin-body, .odin-body * { box-sizing: border-box; }
body.odin-body *:not(i):not(img):not(svg):not([class^="fa"]):not([class*=" fa-"]):not(.fas):not(.far):not(.fab):not(.bi):not([class*="material-symbols"]) { font-family: "Marcellus", Georgia, serif !important; font-synthesis: weight; }
.odin-body h1,.odin-body h2,.odin-body h3,.odin-body h4,.odin-body h5,.odin-body h6 { color: var(--atlas-paper); font-family: "Marcellus", Georgia, serif; font-weight: 700; letter-spacing: -.035em; }
.odin-body p { color: var(--atlas-muted); }
.odin-body a { color: var(--atlas-jade); text-decoration: none; transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease; }
.odin-body a:hover { color: #f6dfa2; text-shadow: none; }
.odin-body button:focus-visible,.odin-body a:focus-visible,.odin-body input:focus-visible,.odin-body select:focus-visible { outline: 2px solid var(--atlas-sand); outline-offset: 4px; }
.odin-body [hidden] { display: none !important; }

/* Navigation and brand */
.odin-bar {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    width: 100%;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 10px var(--atlas-gutter);
    border-bottom: 1px solid var(--atlas-line);
    background: rgba(14, 9, 7, .985);
    box-shadow: 0 12px 36px rgba(0,0,0,.18);
    transition: background-color .2s ease;
}
.odin-bar.is-scrolled { background: #0e0907; }
.atlas-logo { position: relative; display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-start; gap: 0; padding-right: clamp(17px,2vw,28px); border-right: 1px solid rgba(213,169,83,.24); }
.atlas-logo img { display: block; width: clamp(170px, 17vw, 220px); height: 58px; max-height: none; object-fit: contain; object-position: left center; }
.atlas-logo span { margin-top: -2px; color: #cbb686; font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.odin-nav { display: flex; align-items: center; gap: clamp(4px, 1.5vw, 22px); }
.odin-nav > a,.odin-drop__btn,.odin-link { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 8px; border: 0; border-bottom: 1px solid transparent; background: transparent; color: #d5d6c9; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.odin-nav > a:hover,.odin-nav > a.active,.odin-drop__btn:hover,.odin-drop__btn[aria-expanded="true"] { border-bottom-color: var(--atlas-copper); color: var(--atlas-paper); }
.odin-drop__btn { cursor: pointer; }
.odin-live__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--atlas-jade); box-shadow: 0 0 14px rgba(223,189,101,.72); }
.odin-drop__list { z-index: 1002; min-width: 230px; padding: 9px; border: 1px solid rgba(213,169,83,.28); border-radius: 3px; background: #1a100c; box-shadow: 0 18px 48px rgba(0,0,0,.55); }
.odin-drop__list small { display: block; padding: 10px 12px; color: var(--atlas-muted); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.odin-drop__list a,.odin-drop__list form button { display: flex; width: 100%; align-items: center; gap: 11px; padding: 10px 12px; border: 0; border-radius: 3px; background: transparent; color: var(--atlas-paper); font-size: 12px; text-align: left; }
.odin-drop__list a:hover,.odin-drop__list a.is-active,.odin-drop__list form button:hover { background: rgba(213,169,83,.1); color: #f6dfa2; }
.odin-drop__list a svg,.odin-drop__list a img { flex: 0 0 auto; opacity: .78; }
.odin-tools { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; }
.odin-chip { min-height: 34px; padding: 0 10px; border: 1px solid var(--atlas-line); border-radius: 3px; background: rgba(255,255,255,.025); color: var(--atlas-paper); font-size: 10px; font-weight: 700; }
.odin-lang { position: relative; display: flex; align-items: center; }
.odin-lang__trigger { min-height: 38px; gap: 9px; padding: 0 11px; border-color: rgba(213,169,83,.3); background: linear-gradient(135deg,rgba(213,169,83,.08),rgba(255,255,255,.018)); transition: border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.odin-lang__trigger:hover,.odin-lang__trigger[aria-expanded="true"] { border-color: var(--atlas-copper); background: rgba(213,169,83,.1); box-shadow: 0 0 20px rgba(213,169,83,.08); }
.odin-lang__trigger svg { width: 10px; height: 10px; color: var(--atlas-muted); transition: transform .2s ease; }
.odin-lang__trigger[aria-expanded="true"] svg { color: var(--atlas-sand); transform: rotate(180deg); }
.odin-lang__flag { display: block; flex: 0 0 auto; width: 24px; height: 17px; padding: 1px; border: 1px solid rgba(213,169,83,.38); border-radius: 2px; background: #100a08; object-fit: cover; box-shadow: 0 2px 7px rgba(0,0,0,.35); }
.odin-lang__code { color: var(--atlas-paper); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.odin-lang__menu { width: 276px; padding: 8px; border-color: rgba(213,169,83,.36); background: radial-gradient(ellipse at 100% 0,rgba(154,94,35,.12),transparent 52%),linear-gradient(145deg,#21150f,#100a08 72%); box-shadow: 0 24px 62px rgba(0,0,0,.68),inset 0 0 0 1px rgba(255,255,255,.018); backdrop-filter: blur(18px); }
.odin-lang__menu-head { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px 13px; border-bottom: 1px solid var(--atlas-line); }
.odin-lang__menu-head small { padding: 0; color: var(--atlas-copper); font-size: 10px; letter-spacing: .2em; }
.odin-lang__menu-head strong { color: var(--atlas-paper); font: 17px Georgia,"Times New Roman",serif; }
.odin-drop__list a.odin-lang__option { position: relative; min-height: 46px; gap: 12px; margin-top: 3px; padding: 8px 11px; border: 1px solid transparent; border-radius: 2px; }
.odin-drop__list a.odin-lang__option:hover,.odin-drop__list a.odin-lang__option.is-active { border-color: rgba(213,169,83,.2); background: linear-gradient(90deg,rgba(213,169,83,.13),rgba(213,169,83,.035)); color: var(--atlas-paper); }
.odin-lang__option .odin-lang__flag { width: 28px; height: 20px; }
.odin-lang__name { flex: 1 1 auto; color: var(--atlas-paper); font-size: 12px; font-weight: 600; }
.odin-lang__option-code { color: var(--atlas-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.odin-lang__check { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid rgba(213,169,83,.34); border-radius: 50%; color: var(--atlas-sand); font-size: 10px; }
.odin-lang--mobile { display: none; }
.odin-tools .odin-link { font-size: 10px; }
.odin-tools .rune--tiny { border-color: var(--atlas-copper); border-radius: 3px; background: var(--atlas-copper); color: #171613; box-shadow: none; font-size: 10px; letter-spacing: .1em; }
.odin-tools .rune--tiny:hover { background: #e5a078; color: #151612; transform: translateY(-1px); }
.odin-burger { display: none; }
.odin-mobile-tools { display: none; }

/* Home: an original field atlas rather than a stock game hero */
.atlas-hero {
    position: relative;
    display: grid;
    width: min(100% - 2 * var(--atlas-gutter), var(--atlas-width));
    min-height: 670px;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    margin: 0 auto;
    padding: clamp(24px, 2vw, 32px) 0 74px;
    isolation: isolate;
}
.atlas-hero__texture { position: absolute; z-index: -1; inset: 0 -14vw; pointer-events: none; background: radial-gradient(ellipse at 50% 36%, rgba(154,48,40,.13), transparent 48%), radial-gradient(ellipse at 50% 42%, rgba(204,148,50,.14), transparent 58%), linear-gradient(90deg, transparent, rgba(9,6,5,.18), transparent); }
.atlas-hero__copy { position: relative; z-index: 2; width: 100%; max-width: 1000px; justify-self: center; padding-bottom: 30px; text-align: center; }
.atlas-hero__brandlockup { position: relative; display: grid; width: min(100%, 760px); aspect-ratio: 2000 / 1152; place-items: center; margin: 0 auto 18px; overflow: visible; isolation: isolate; }
.atlas-hero__glow { position: absolute; top: 50%; left: 50%; display: block; height: auto; transform: translate(-50%,-50%); }
.atlas-hero__glow { z-index: -2; width: min(100vw, 610px); opacity: .3; filter: sepia(.72) saturate(.72) hue-rotate(348deg) brightness(.8); mix-blend-mode: screen; }
.atlas-hero__glow { animation: atlas-glow-turn 110s linear infinite; }
.atlas-hero__logo { position: relative; z-index: 1; display: block; width: 100%; height: auto; margin: 0; object-fit: contain; filter: drop-shadow(0 15px 32px rgba(0,0,0,.42)); }
@keyframes atlas-glow-turn { to { transform: translate(-50%,-50%) rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .atlas-hero__glow { animation: none; } }
.atlas-eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 20px; color: var(--atlas-jade) !important; font-size: 10px; font-weight: 700; letter-spacing: .2em; line-height: 1.4; text-transform: uppercase; }
.atlas-eyebrow > span { display: inline-block; width: 28px; height: 1px; background: var(--atlas-copper); }
.atlas-hero__copy > .atlas-eyebrow { justify-content: center; margin: 0 auto 20px; color: #e3bd68 !important; font-size: 10px; letter-spacing: .17em; }
.atlas-hero h1 { margin: 0 auto; font-size: clamp(36px, 3.8vw, 60px); line-height: 1.08; text-transform: uppercase; }
.atlas-hero h1 em { display: inline-block; max-width: 100%; color: var(--atlas-sand); font-weight: 700; }
.atlas-hero__lead { max-width: 560px; margin: 17px auto 0; font-size: 16px; }
.atlas-hero__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; margin-top: 25px; }
.atlas-button { position: relative; isolation: isolate; display: inline-flex; min-width: 280px; min-height: 70px; align-items: center; justify-content: center; gap: 16px; padding: 0 30px; border: 0; border-radius: 0; background: linear-gradient(135deg,#e8c46d,#89602e 48%,#dec071); color: var(--atlas-sand) !important; filter: drop-shadow(0 6px 15px rgba(0,0,0,.28)); font-size: 13px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; transition: filter .24s ease, transform .24s ease, background .24s ease; }
.atlas-button::before { position: absolute; z-index: 0; inset: 2px; background: linear-gradient(110deg,rgba(175,121,47,.17),transparent 58%),linear-gradient(145deg,#20140d,#100a07 74%); content: ""; transition: background .24s ease; }
.atlas-button::after { position: absolute; z-index: 0; inset: 6px; border: 1px solid rgba(241,211,133,.13); content: ""; pointer-events: none; }
.atlas-button > * { position: relative; z-index: 1; }
.atlas-button__icon { width: 22px; height: 22px; flex: 0 0 22px; color: #e4bf69; transition: color .24s ease, filter .24s ease, transform .24s ease; }
.atlas-button--primary { background: linear-gradient(135deg,#f4d88e,#b1843f 48%,#f0d17c); }
.atlas-button--primary::before { background: linear-gradient(110deg,rgba(191,139,58,.24),transparent 62%),linear-gradient(145deg,#28190d,#100a07 74%); }
.atlas-button--primary:hover { background: linear-gradient(135deg,#ffeba9,#c89a50 48%,#fbe095); }
.atlas-button--primary:hover::before { background: linear-gradient(110deg,rgba(210,163,76,.32),transparent 62%),linear-gradient(145deg,#302012,#130b07 74%); }
.atlas-button--quiet { background: linear-gradient(135deg,#d6b765,#77552e 48%,#c9a955); }
.atlas-button--quiet::before { background: linear-gradient(145deg,#1a120c,#0d0806 76%); }
.atlas-button--quiet:hover { background: linear-gradient(135deg,#efd181,#9d7138 48%,#e1c26d); color: var(--atlas-sand) !important; }
.atlas-button--quiet:hover::before { background: linear-gradient(145deg,#261a11,#100a07 76%); }
.atlas-button:hover,.atlas-button:focus-visible { filter: drop-shadow(0 12px 24px rgba(219,169,75,.45)) drop-shadow(0 0 13px rgba(255,209,111,.25)); transform: translateY(-5px) scale(1.025); }
.atlas-button:hover::after,.atlas-button:focus-visible::after { border-color: rgba(255,229,159,.72); box-shadow: inset 0 0 18px rgba(255,205,103,.16); }
.atlas-button:hover .atlas-button__icon,.atlas-button:focus-visible .atlas-button__icon { color: #fff0b8; filter: drop-shadow(0 0 7px rgba(255,215,120,.8)); transform: scale(1.18) rotate(-8deg); }
.atlas-button:focus-visible { outline: 2px solid #ffe49b; outline-offset: 5px; }
.atlas-hero__index { position: absolute; bottom: 29px; left: 50%; display: flex; align-items: center; gap: 10px; color: var(--atlas-muted); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }
.atlas-hero__index span { color: var(--atlas-copper); }
.atlas-hero__index i { width: 38px; height: 1px; background: var(--atlas-line); }
.atlas-map { position: relative; width: 100%; min-height: 540px; overflow: hidden; border: 1px solid rgba(205,190,157,.17); border-radius: 5px; background: linear-gradient(145deg, rgba(33,20,13,.8), rgba(12,8,7,.84)); box-shadow: 0 32px 90px rgba(0,0,0,.25); }
.atlas-map::before { position: absolute; inset: 0; border: 8px solid rgba(235,226,208,.018); content: ""; pointer-events: none; }
.atlas-map__topline { position: absolute; z-index: 3; top: 22px; right: 22px; left: 22px; display: flex; justify-content: space-between; gap: 16px; color: var(--atlas-paper); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.atlas-map__topline i { padding: 0 5px; color: var(--atlas-copper); font-style: normal; }
.atlas-map__coordinates { color: var(--atlas-muted); font-size: 10px; font-weight: 500; letter-spacing: .08em; }
.atlas-map__drawing { position: absolute; inset: 9% 2% 3%; width: 96%; height: 88%; color: #d4b875; opacity: .74; }
.atlas-map__contours { opacity: .5; }
.atlas-map__route-shadow { opacity: .72; }
.atlas-map__route { animation: atlas-route-flow 24s linear infinite; }
@keyframes atlas-route-flow { to { stroke-dashoffset: -72; } }
.atlas-map__place { position: absolute; z-index: 2; display: grid; gap: 1px; min-width: 115px; padding: 8px 11px; border: 1px solid rgba(205,190,157,.16); border-radius: 3px; background: rgba(19,12,8,.88); box-shadow: 0 8px 20px rgba(0,0,0,.2); }
.atlas-map__place > span { color: var(--atlas-copper); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.atlas-map__place strong { color: var(--atlas-paper); font: 15px Georgia,serif; }
.atlas-map__place small { color: var(--atlas-muted); font-size: 10px; }
.atlas-map__place--jangan { top: 20%; left: 8%; }
.atlas-map__place--donwhang { top: 41%; left: 37%; }
.atlas-map__place--hotan { top: 62%; left: 55%; }
.atlas-map__legend { position: absolute; bottom: 21px; left: 22px; display: flex; align-items: center; gap: 9px; color: var(--atlas-muted); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.atlas-map__legend i { width: 20px; height: 2px; background: var(--atlas-copper); }
.atlas-map__legend span { margin-left: 9px; padding-left: 13px; border-left: 1px solid var(--atlas-line); color: var(--atlas-sand); }
.atlas-map__stamp { position: absolute; right: 22px; bottom: 17px; display: flex; align-items: center; gap: 8px; color: rgba(233,226,208,.36); font-size: 10px; letter-spacing: .18em; }
.atlas-map__stamp b { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid rgba(215,132,85,.38); border-radius: 50%; color: var(--atlas-copper); font: 9px Georgia,serif; }

.atlas-auth-mark img { display: block; width: min(100%,370px); height: auto; filter: none; }
.atlas-foot-mark { display: block; width: min(100%, 220px); height: 127px; overflow: hidden; }
.atlas-foot-mark img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center; }
.odin-beta__logo { display: block; width: min(100%, 300px); height: 173px; margin: 0 auto 12px; object-fit: contain; object-position: center; }

.atlas-pulse { position: relative; display: grid; width: min(100% - 2 * var(--atlas-gutter), var(--atlas-width)); grid-template-columns: 1.05fr 1fr 1.15fr .78fr; margin: 0 auto; border-top: 1px solid var(--atlas-line); border-bottom: 1px solid var(--atlas-line); }
.atlas-button,.atlas-pulse article,.odin-ledger,.atlas-focus-panel,.odin-agenda__box,.odin-systems__card,.odin-join__card,.odin-rates__panel,.atlas-rates { position: relative; }
.atlas-pulse article { display: flex; min-height: 112px; flex-direction: column; justify-content: center; padding: 18px 25px; border-right: 1px solid var(--atlas-line); }
.atlas-pulse article:first-child { padding-left: 0; }
.atlas-pulse article:last-child { border-right: 0; }
.atlas-pulse__label { display: flex; align-items: center; gap: 8px; color: var(--atlas-muted); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.atlas-pulse__label i { width: 6px; height: 6px; border-radius: 50%; background: var(--atlas-jade); box-shadow: 0 0 10px rgba(223,189,101,.7); }
.atlas-pulse article > strong { margin-top: 5px; color: var(--atlas-paper); font: 25px Georgia,serif; font-variant-numeric: tabular-nums; }
.atlas-pulse article > strong small { color: var(--atlas-muted); font: 12px "DM Sans","Segoe UI",sans-serif; }
.atlas-pulse article > small { color: var(--atlas-muted); font-size: 10px; }
.atlas-pulse__meter { width: min(100%, 185px); height: 3px; margin-top: 8px; overflow: hidden; background: rgba(233,226,208,.1); }
.atlas-pulse__meter span { display: block; height: 100%; background: var(--atlas-jade); }
.atlas-rates { width: min(100% - 2 * var(--atlas-gutter), var(--atlas-width)); margin: 14px auto 52px; padding: 15px 18px 12px; border: 1px solid var(--atlas-line); background: linear-gradient(110deg,rgba(29,18,12,.72),rgba(15,10,8,.58)); }
.atlas-rates__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.atlas-rates__head h2 { margin: 0; color: var(--atlas-sand); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.atlas-rates__social { display: flex; align-items: center; gap: 7px; }
.atlas-rates__social a { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--atlas-line); background: rgba(213,169,83,.035); }
.atlas-rates__social a:hover { border-color: var(--atlas-copper); background: rgba(213,169,83,.1); }
.atlas-rates__social img { display: block; width: 15px; height: 15px; filter: grayscale(1) sepia(1) saturate(1.25) hue-rotate(350deg) brightness(1.08); opacity: .82; }
.atlas-rates__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.atlas-rates__item { display: flex; min-width: 0; min-height: 45px; align-items: center; gap: 9px; padding: 6px 11px; border-top: 1px solid rgba(213,169,83,.12); }
.atlas-rates__item:not(:nth-child(4n)) { border-right: 1px solid rgba(213,169,83,.12); }
.atlas-rates__sigil { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; background: rgba(213,169,83,.12); color: var(--atlas-jade); font-size: 13px; font-weight: 700; }
.atlas-rates__copy { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; color: var(--atlas-paper); font-size: 11px; }
.atlas-rates__copy strong { color: var(--atlas-sand); font-size: 11px; font-weight: 700; }

/* Shared section rhythm and functional panels */
.odin-world,.atlas-section,.atlas-join { width: min(100% - 2 * var(--atlas-gutter), var(--atlas-width)); margin: 0 auto 80px; }
.odin-world,.odin-focus,.odin-systems,.odin-join { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.atlas-section__head { text-align: center; }
.odin-world { padding: 0; }
.odin-world__head { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin-bottom: 30px; border-bottom: 0; }
.odin-world__head h2 { margin: 0; }
.odin-world__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.odin-ledger { min-width: 0; min-height: 300px; padding: 19px 20px; border: 1px solid var(--atlas-line); border-radius: 4px; background: linear-gradient(145deg, rgba(30,17,11,.82), rgba(18,11,8,.72)); }
.odin-ledger h3 { margin: 0 0 10px; padding-bottom: 12px; border-bottom: 1px solid var(--atlas-line); color: var(--atlas-sand); font: 12px "DM Sans","Segoe UI",sans-serif; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.odin-ledger ul { margin: 0; padding: 0; list-style: none; }
.odin-ledger li { display: grid; gap: 5px; padding: 12px 0; border-bottom: 1px solid rgba(205,190,157,.1); }
.odin-ledger li:last-child { border-bottom: 0; }
.odin-kill,.odin-chat__who,.odin-unique { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 8px; }
.odin-kill span,.odin-unique strong,.odin-chat__who span { color: var(--atlas-paper); font-size: 11px; font-weight: 600; }
.odin-kill em { color: var(--atlas-copper); font-size: 10px; font-style: normal; }
.odin-ledger time,.odin-chat__who small,.odin-unique small { flex: 0 0 auto; color: var(--atlas-muted); font-size: 10px; }
.odin-chat__msg { margin: 3px 0 0; color: #ded1b5; font-size: 11px; line-height: 1.5; }
.odin-unique { align-items: center; }
.odin-unique small { text-align: right; }

.atlas-section__head { margin: 0 0 25px; }
.atlas-section__head h2,.odin-focus__head h2,.odin-systems__head h2 { margin: 0; font-size: clamp(30px,4vw,46px); line-height: 1.1; }
.atlas-section__head > p:last-child { max-width: 560px; margin: 12px 0 0; font-size: 13px; }
.atlas-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0 0 13px; border-bottom: 1px solid var(--atlas-line); }
.atlas-tabs .odin-focus__tab { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: var(--atlas-muted); cursor: pointer; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.atlas-tabs .odin-focus__tab[aria-selected="true"],.atlas-tabs .odin-focus__tab[aria-current="page"] { border-color: rgba(223,189,101,.27); background: rgba(223,189,101,.08); color: var(--atlas-paper); }
.atlas-tabs .odin-focus__tab:hover { color: var(--atlas-jade); }
.atlas-tabs .odin-sigil { color: var(--atlas-copper); font-size: 10px; }
.atlas-focus-panel { display: grid; min-height: 340px; grid-template-columns: .9fr 1.1fr; align-items: stretch; border: 1px solid var(--atlas-line); border-radius: 4px; background: var(--atlas-panel); }
.atlas-focus-panel[hidden] { display: none !important; }
.atlas-focus-panel .odin-focus__copy { position: relative; align-self: center; padding: clamp(26px,4vw,56px); }
.atlas-section__number { color: var(--atlas-copper); font: 11px Georgia,serif; letter-spacing: .14em; }
.atlas-focus-panel h3 { max-width: 470px; margin: 20px 0 12px; font-size: clamp(26px,3vw,39px); line-height: 1.12; }
.atlas-focus-panel p { max-width: 460px; font-size: 13px; }
.atlas-focus-panel .odin-focus__tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 21px 0 0; padding: 0; list-style: none; }
.atlas-focus-panel .odin-focus__tags li { padding: 5px 9px; border: 1px solid var(--atlas-line); border-radius: 2px; color: var(--atlas-jade); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.atlas-focus-panel .odin-focus__art { position: relative; min-height: 300px; margin: 0; overflow: hidden; border-left: 1px solid var(--atlas-line); }
.atlas-focus-panel .odin-focus__art::after { position: absolute; inset: 0; background: linear-gradient(90deg,var(--atlas-panel),transparent 33%),linear-gradient(0deg,rgba(14,9,7,.4),transparent 45%); content: ""; }
.atlas-focus-panel .odin-focus__art img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }

.odin-title { position: relative; min-height: 240px; display: flex; align-items: end; overflow: hidden; padding: 92px var(--atlas-gutter) 34px; border-bottom: 1px solid var(--atlas-line); background: radial-gradient(ellipse at 82% 90%, rgba(154,94,35,.2), transparent 47%),linear-gradient(110deg,#21140e,#100a08); }
.odin-title--auth { min-height: 180px; padding-top: 80px; padding-bottom: 20px; }
.odin-title.odin-title--auth::after { content: none; }
.odin-title::after { position: absolute; right: 2%; bottom: -95px; width: 480px; height: 300px; border: 1px solid rgba(205,190,157,.1); border-radius: 50%; box-shadow: 0 0 0 32px rgba(205,190,157,.025),0 0 0 66px rgba(205,190,157,.02),0 0 0 108px rgba(205,190,157,.018); content: ""; transform: rotate(-16deg); }
.odin-title__art { display: none; }
.odin-title__copy { position: relative; z-index: 1; width: min(100%,var(--atlas-width)); margin: 0 auto; }
.odin-title__kicker { margin: 0 0 6px; color: var(--atlas-jade) !important; font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.odin-title h1 { margin: 0; font-size: clamp(34px,5vw,56px); }
.odin-title__copy > p:last-child { max-width: 680px; margin: 8px 0 0; font-size: 13px; }
.odin-page,.odin-agenda__box,.odin-rank,.odin-dl { color: var(--atlas-paper); }
.odin-page { width: min(100% - 2 * var(--atlas-gutter),var(--atlas-width)); margin: 46px auto 110px; padding: 0; }
.odin-agenda { width: min(100% - 2 * var(--atlas-gutter),var(--atlas-width)); margin: 0 auto 110px; }
.odin-agenda__box { padding: 0; border: 0; background: transparent; }
.odin-agenda__head { align-items: end; padding: 0 0 18px; border-bottom: 1px solid var(--atlas-line); }
.odin-agenda__title { gap: 16px; }
.odin-agenda__title .odin-sigil { display: none; }
.odin-agenda__title h2 { margin: 0; font-size: clamp(28px,4vw,42px); }
.odin-agenda__title p { margin: 4px 0 0; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.odin-agenda__title .atlas-eyebrow { margin: 0 0 8px; color: var(--atlas-jade); }
.odin-agenda__more { color: var(--atlas-copper) !important; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.odin-agenda__list { margin: 0; padding: 0; list-style: none; }
.odin-agenda__list li { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 18px; border-bottom: 1px solid var(--atlas-line); background: rgba(31,18,11,.42); }
.odin-agenda__list li:nth-child(even) { background: rgba(31,18,11,.68); }
.odin-agenda__name { color: var(--atlas-paper); font-family: Georgia,serif; font-size: 16px; }
.odin-agenda__name small { display: block; margin-top: 2px; color: var(--atlas-muted); font: 10px "DM Sans","Segoe UI",sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.odin-agenda__state { min-width: 126px; color: var(--atlas-sand); font: 12px "DM Sans","Segoe UI",sans-serif; font-variant-numeric: tabular-nums; text-align: right; }
.odin-agenda__live { color: var(--atlas-jade); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.odin-systems__head { margin-bottom: 24px; }
.odin-systems__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.odin-systems__card { min-height: 145px; padding: 17px; border: 1px solid var(--atlas-line); border-radius: 3px; background: linear-gradient(145deg,rgba(35,20,12,.88),rgba(19,30,25,.8)); transition: border-color .2s, transform .2s, background .2s; }
.odin-systems__card:hover { border-color: rgba(223,189,101,.45); background: var(--atlas-panel-soft); transform: translateY(-3px); }
.odin-systems__card .odin-sigil { color: var(--atlas-copper); }
.odin-systems__card h3 { margin: 16px 0 13px; font: 17px Georgia,serif; }
.odin-systems__meta { display: flex; gap: 8px; }
.odin-systems__meta small { color: var(--atlas-muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.odin-systems__meta .is-new { color: var(--atlas-jade); }
.odin-systems__more { display: flex; align-items: center; gap: 10px; margin: 18px auto 0; padding: 8px 14px; border: 1px solid var(--atlas-line); border-radius: 3px; background: transparent; color: var(--atlas-paper); cursor: pointer; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.odin-systems__more:hover { border-color: var(--atlas-jade); color: var(--atlas-jade); }
.atlas-join { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 38px; padding: 40px; border: 1px solid var(--atlas-line); border-radius: 4px; background: radial-gradient(ellipse at 0 50%,rgba(136,57,40,.15),transparent 62%),#15211d; }
.atlas-join h2 { max-width: 410px; margin: 0; font-size: clamp(27px,3.5vw,40px); line-height: 1.1; }
.atlas-join > div:first-child > p:last-child { max-width: 410px; margin: 10px 0 0; font-size: 12px; }
.odin-join__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.odin-join__card { display: flex; min-height: 80px; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--atlas-line); border-radius: 3px; background: rgba(10,7,6,.28); }
.odin-join__card .odin-sigil { color: var(--atlas-copper); }
.odin-join__card small,.odin-join__card strong { display: block; }
.odin-join__card small { color: var(--atlas-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.odin-join__card strong { color: var(--atlas-paper); font-size: 11px; }
.odin-join__card > b { margin-left: auto; color: var(--atlas-jade); font-weight: 400; }

/* Rankings, logs, character pages and CMS surfaces */
.odin-cms-layout { width: min(100% - 2 * var(--atlas-gutter),var(--atlas-width)); margin: 48px auto 100px; padding: 0; gap: 24px; }
.odin-cms-layout > aside { min-width: 230px; }
.odin-cms-layout > aside > *,.rv-card,.rv-cv-card,.rv-page-card,.odin-cv-panel,.odin-rank__panel,.odin-char__panel,.odin-dl__hero,.odin-dl__mirrors,.odin-dl__need { border: 1px solid var(--atlas-line) !important; border-radius: 4px !important; background: linear-gradient(145deg,rgba(34,20,12,.9),rgba(18,11,8,.9)) !important; color: var(--atlas-paper); box-shadow: none !important; }
.odin-cms-layout .rv-card-header,.odin-cms-layout .rv-cv-head,.rv-card-header,.rv-cv-head,.rv-page-card-head,.card-header { border-color: var(--atlas-line) !important; background: rgba(223,189,101,.045) !important; color: var(--atlas-sand) !important; }
.odin-cms-layout .rv-nav-pill,.rv-nav-pill { border-color: var(--atlas-line) !important; color: var(--atlas-paper) !important; }
.odin-cms-layout .rv-nav-pill:hover,.odin-cms-layout .rv-nav-pill.active,.rv-nav-pill:hover,.rv-nav-pill.active { background: rgba(223,189,101,.1) !important; color: var(--atlas-jade) !important; }
.odin-cms-layout .rv-form-input,.odin-body input:not([type=checkbox]):not([type=hidden]),.odin-body select,.odin-body textarea { border-color: var(--atlas-line) !important; border-radius: 3px !important; background-color: #100a08 !important; color: var(--atlas-paper) !important; }
.odin-cms-layout .rv-form-input:focus,.odin-body input:focus,.odin-body select:focus,.odin-body textarea:focus { border-color: var(--atlas-jade) !important; box-shadow: 0 0 0 3px rgba(223,189,101,.12) !important; }
.odin-cms-layout .rv-auth-btn,.odin-body .btn-primary { border: 1px solid var(--atlas-copper) !important; border-radius: 3px !important; background: var(--atlas-copper) !important; color: #171916 !important; }
.odin-body .table,.odin-drops__board { --bs-table-bg: transparent; --bs-table-color: var(--atlas-paper); --bs-table-border-color: var(--atlas-line); }
.odin-drops__board { overflow-x: auto; border: 1px solid var(--atlas-line); border-radius: 4px; background: rgba(18,11,8,.68); }
.odin-drops__board table { min-width: 720px; }
.odin-drops__board th { color: var(--atlas-jade); font-size: 10px; letter-spacing: .13em; }
.odin-drops__board td,.odin-drops__board th { border-color: var(--atlas-line) !important; }
.odin-drops__board tbody tr:hover { background: rgba(223,189,101,.06); }
.odin-drops__tools { gap: 12px; }
.odin-drops__check { color: var(--atlas-muted); }
.odin-drops__check input:checked + i { border-color: var(--atlas-jade); background: var(--atlas-jade); }
.odin-drops__foot { color: var(--atlas-muted); }
.odin-drops__foot button,.odin-drops__pager button { border-color: var(--atlas-line); border-radius: 3px; background: var(--atlas-panel); color: var(--atlas-paper); }
.odin-drops__foot button:hover:not(:disabled),.odin-drops__pager button:hover:not(:disabled) { border-color: var(--atlas-jade); }
.odin-rank__tabs,.odin-rank__filters,.odin-char__grid,.odin-char__head { border-color: var(--atlas-line); }
.odin-rank__tab,.odin-rank__filters a { border-color: transparent; color: var(--atlas-muted); }
.odin-rank__tab[aria-current="page"],.odin-rank__tab.active,.odin-rank__filters a.active { border-color: var(--atlas-jade); color: var(--atlas-paper); }
.odin-char__head { background: linear-gradient(115deg,rgba(55,29,17,.8),rgba(19,12,8,.9)); }
.odin-char__back,.odin-char__name,.odin-rank__sigil { color: var(--atlas-sand) !important; }
.odin-rank table,.odin-char table { color: var(--atlas-paper); }
.odin-rank table th,.odin-char table th { color: var(--atlas-muted); }
.odin-rank table th,.odin-rank table td,.odin-char table th,.odin-char table td { border-color: var(--atlas-line) !important; }
.odin-auth__gate,.odin-auth__form,.odin-auth__message { border-color: var(--atlas-line) !important; background: transparent !important; box-shadow: none !important; }
.odin-dl__hero { background: radial-gradient(ellipse at 100% 0,rgba(223,189,101,.12),transparent 56%),linear-gradient(145deg,#24160f,#120b08) !important; }
.odin-rates__panel { border-color: rgba(223,189,101,.3) !important; background: var(--atlas-panel) !important; }

.odin-foot { position: relative; margin-top: 120px; border-top: 1px solid var(--atlas-line); background: #0e0907; }
.odin-foot__main { display: grid; width: min(100% - 2 * var(--atlas-gutter),var(--atlas-width)); grid-template-columns: 1.4fr .7fr .8fr 1fr; gap: 34px; margin: 0 auto; padding: 54px 0 42px; }
.odin-foot__mark { display: inline-flex; width: min(100%,235px); min-height: 0; align-items: center; justify-content: flex-start; }
.odin-foot__mark img { width: 100%; height: auto; max-height: 72px; object-fit: contain; object-position: left center; }
.odin-foot__brand p { max-width: 300px; margin: 13px 0 0; font-size: 11px; }
.odin-foot__col { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.odin-foot__col h2 { margin: 0 0 7px; color: var(--atlas-paper); font: 11px "DM Sans","Segoe UI",sans-serif; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.odin-foot__col a { color: var(--atlas-muted); font-size: 11px; }
.odin-foot__col a:hover { color: var(--atlas-jade); }
.odin-foot__find { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 11px; }
.odin-foot__find h2 { grid-column: 1/-1; }
.odin-foot__find img { max-width: 100%; max-height: 32px; object-fit: contain; filter: grayscale(1); opacity: .7; }
.odin-foot__find a:hover img { filter: none; opacity: 1; }
.odin-foot__base { display: flex; width: min(100% - 2 * var(--atlas-gutter),var(--atlas-width)); justify-content: space-between; gap: 16px; margin: 0 auto; padding: 15px 0; border-top: 1px solid var(--atlas-line); }
.odin-foot__base p { margin: 0; font-size: 10px; }
.odin-foot__base strong { color: var(--atlas-jade); font-weight: 600; }
.odin-top { border: 1px solid var(--atlas-jade); border-radius: 3px; background: var(--atlas-panel); color: var(--atlas-paper); }

/* Sign-in and registration pages: quiet, spacious layout inspired by the reference. */
.odin-body--auth { --atlas-gutter: clamp(22px, 3.5vw, 44px); }
.odin-body.odin-body--auth { background: var(--atlas-ink) !important; background-image: none !important; }
.odin-body--auth .odin-bar { min-height: 68px; padding-top: 5px; padding-bottom: 5px; }
.odin-title.odin-title--auth { min-height: 173px; padding-top: 32px; padding-bottom: 45px; background: linear-gradient(90deg, rgba(9,6,5,.95) 0%, rgba(9,6,5,.82) 43%, rgba(9,6,5,.22) 100%), url('/themes/odin/images/page-title.webp') 68% center / cover no-repeat; }
.odin-title.odin-title--auth h1 { font-size: clamp(34px, 3vw, 42px); letter-spacing: .045em; text-transform: uppercase; }
.odin-title.odin-title--auth .odin-title__kicker { margin-bottom: 2px; }
.odin-title.odin-title--auth .odin-title__copy > p:last-child { margin-top: 3px; font-size: 13px; }
.odin-page.odin-auth { display: grid; width: min(100% - 2 * clamp(22px, 3.5vw, 44px), 1160px); grid-template-columns: 1fr 1fr; align-items: start; margin: 29px auto 108px; }
.odin-auth__gate { width: 100%; max-width: none; justify-self: stretch; padding: 5px clamp(24px, 3vw, 36px) 5px 0; }
.odin-auth__form { display: grid; gap: 22px; }
.odin-auth__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.odin-auth__field { display: grid; min-width: 0; gap: 2px; margin: 0; }
.odin-auth__field > span { color: var(--atlas-muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.odin-body .odin-auth__field input:not([type="checkbox"]):not([type="hidden"]) { width: 100%; min-height: 51px; padding: 7px 2px 9px; border: 0 !important; border-bottom: 1px solid rgba(213,169,83,.36) !important; border-radius: 0 !important; outline: 0; background: transparent !important; background-color: transparent !important; color: var(--atlas-paper); font-size: 15px; box-shadow: none !important; }
.odin-body .odin-auth__field input:not([type="checkbox"]):not([type="hidden"]):focus { border-bottom-color: var(--atlas-jade) !important; box-shadow: 0 1px 0 var(--atlas-jade) !important; }
.odin-auth__field small { margin-top: 5px; font-size: 11px; }
.odin-auth__check { display: flex; align-items: center; gap: 10px; margin: -1px 0 0; color: var(--atlas-muted); font-size: 12px; cursor: pointer; }
.odin-auth__check input { width: 15px; height: 15px; flex: 0 0 15px; margin: 0; accent-color: var(--atlas-copper); }
.odin-auth__check { margin-top: 1px; }
.odin-auth__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 5px; }
.odin-auth__actions .rune { min-width: 184px; min-height: 52px; align-items: center; color: var(--atlas-sand) !important; font-size: 11px; letter-spacing: .14em; }
.odin-auth__actions > a { color: var(--atlas-muted); font-size: 11px; }
.odin-auth__actions > a:hover { color: var(--atlas-sand); }
.odin-auth__alt { margin: 26px 0 0; color: var(--atlas-muted); font-size: 12px; }
.odin-auth__alt a { margin-left: 4px; color: var(--atlas-sand); text-decoration: underline; text-decoration-color: rgba(213,169,83,.4); text-underline-offset: 4px; }
.odin-auth__alt a:hover { color: #fff0b7; }
.odin-auth__notice { margin: 0 0 20px; font-size: 13px; }
.odin-auth__gate > [role="alert"] { margin: 0 0 18px; color: #e9a18e; font-size: 12px; }
.odin-auth__mark { display: flex; min-height: 322px; flex-direction: column; align-items: center; justify-content: center; gap: 18px; margin: 7px 0 0; padding: 28px 0 28px clamp(30px, 5vw, 72px); border-left: 1px solid var(--atlas-line); text-align: center; }
.odin-body .odin-auth,.odin-body .odin-auth__gate,.odin-body .odin-auth__form,.odin-body .odin-auth__mark { background: transparent !important; box-shadow: none !important; }
.odin-auth__mark img { width: min(100%, 390px); height: auto; opacity: .94; }
.odin-auth__mark p { margin: 0; color: var(--atlas-muted); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
@media (max-width: 700px) {
    .odin-body--auth .odin-bar { min-height: 68px; padding-top: 5px; padding-bottom: 5px; }
    .odin-title.odin-title--auth { min-height: 173px; padding-top: 32px; padding-bottom: 45px; }
    .odin-title.odin-title--auth h1 { font-size: 36px; }
    .odin-page.odin-auth { grid-template-columns: 1fr; gap: 38px; margin-top: 29px; margin-bottom: 72px; }
    .odin-auth__gate { width: 100%; max-width: 470px; padding: 0; }
    .odin-auth__mark { display: none; }
}
@media (max-width: 420px) {
    .odin-auth__pair { grid-template-columns: 1fr; gap: 22px; }
    .odin-auth__actions { gap: 15px; }
    .odin-auth__actions .rune { min-width: 100%; }
}

@media (max-width: 1120px) {
    .odin-bar { gap: 15px; }
    .odin-nav { gap: 4px; }
    .odin-nav > a,.odin-drop__btn { padding: 0 5px; font-size: 10px; letter-spacing: .07em; }
    .odin-tools { gap: 8px; }
    .atlas-hero { grid-template-columns: minmax(0,1fr); }
    .atlas-map { min-height: 490px; }
    .atlas-hero__motion-slot { min-height: 490px; }
    .odin-foot__main { grid-template-columns: 1.2fr .7fr .8fr; }
    .odin-foot__find { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; }
    .odin-foot__find h2 { width: 100%; }
}
@media (max-width: 900px) {
    .odin-bar { min-height: 72px; }
    .odin-tools { margin-left: auto; }
    .odin-tools > .odin-link,.odin-tools > .rune--tiny { display: none; }
    .odin-burger { display: flex; width: 42px; height: 42px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--atlas-line); border-radius: 3px; background: transparent; }
    .odin-burger span { width: 17px; height: 1px; background: var(--atlas-paper); }
    .odin-body.menu-open .odin-nav { position: fixed; z-index: 999; inset: 72px 0 0; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 4px; padding: 20px var(--atlas-gutter) 35px; overflow-y: auto; border-top: 1px solid var(--atlas-line); background: rgba(14,9,7,.99); }
    .odin-body.menu-open .odin-nav > a,.odin-body.menu-open .odin-drop { display: flex; width: 100%; border-bottom: 1px solid var(--atlas-line); }
    .odin-body.menu-open .odin-nav > a,.odin-body.menu-open .odin-drop__btn { min-height: 52px; justify-content: flex-start; font-size: 11px; }
    .odin-body.menu-open .odin-drop { flex-direction: column; }
    .odin-body.menu-open .odin-drop__list { position: static; width: 100%; margin: 0 0 8px; transform: none; }
    .odin-mobile-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--atlas-line); }
    .odin-lang--mobile { display: flex; flex: 1 1 100%; flex-direction: column; align-items: stretch; }
    .odin-lang--mobile .odin-lang__trigger { width: 100%; justify-content: flex-start; }
    .odin-lang--mobile .odin-lang__menu { position: static; width: 100%; margin: 7px 0 0; transform: none; }
    .odin-body.menu-open .odin-tools { display: none; }
    .atlas-hero { min-height: auto; grid-template-columns: minmax(0,1fr); padding-top: 42px; }
    .atlas-map { min-height: 430px; }
    .atlas-hero__motion-slot { min-height: 430px; }
    .atlas-map__place { min-width: 95px; padding: 7px 8px; }
    .atlas-map__place--jangan { left: 4%; }
    .atlas-pulse { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .atlas-pulse article:nth-child(2) { border-right: 0; }
    .atlas-pulse article:nth-child(-n+2) { border-bottom: 1px solid var(--atlas-line); }
    .atlas-pulse article:nth-child(3) { padding-left: 0; }
    .odin-systems__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .atlas-join { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 620px) {
    :root { --atlas-gutter: 20px; }
    body.odin-body { font-size: 14px; }
    .odin-bar { min-height: 66px; padding-top: 8px; padding-bottom: 8px; }
    .atlas-logo img { width: 148px; height: 46px; }
    .atlas-logo span { font-size: 10px; }
    .odin-chip { min-height: 32px; padding: 0 7px; }
    .odin-body.menu-open .odin-nav { inset-block-start: 66px; }
    .atlas-hero { display: flex; flex-direction: column; align-items: center; gap: 0; padding-top: 22px; padding-bottom: 60px; }
    .atlas-hero__copy { padding-bottom: 0; }
    .atlas-eyebrow { font-size: 10px; letter-spacing: .14em; }
    .atlas-hero__brandlockup { width: min(110%, 760px); height: auto; min-height: 0; }
    .atlas-hero__glow { width: min(110vw, 430px); }
    .atlas-foot-mark { width: 210px; height: 100px; }
    .odin-beta__logo { width: min(88vw, 270px); height: 156px; }
    .atlas-hero__copy > .atlas-eyebrow { margin-bottom: 18px; font-size: 10px; }
    .atlas-hero h1 { font-size: clamp(30px,8vw,43px); }
    .atlas-hero h1 em { white-space: normal; }
    .atlas-hero__lead { margin-top: 15px; font-size: 14px; }
    .atlas-hero__actions { gap: 12px; margin-top: 21px; }
    .atlas-button { flex: 1 1 220px; min-width: min(100%,220px); min-height: 64px; gap: 12px; padding: 0 17px; font-size: 11px; }
    .atlas-map { min-height: 400px; }
    .atlas-map__drawing { inset: 10% 0 4%; width: 100%; height: 84%; }
    .atlas-map__topline { top: 15px; right: 14px; left: 14px; font-size: 10px; }
    .atlas-map__coordinates { font-size: 10px; }
    .atlas-map__place { min-width: 90px; padding: 6px 7px; }
    .atlas-map__place strong { font-size: 13px; }
    .atlas-map__place small { font-size: 10px; }
    .atlas-map__place--jangan { top: 21%; left: 3%; }
    .atlas-map__place--donwhang { top: 42%; left: 32%; }
    .atlas-map__place--hotan { top: 63%; left: 52%; }
    .atlas-map__legend { bottom: 14px; left: 14px; gap: 6px; font-size: 10px; }
    .atlas-map__legend span { margin-left: 4px; padding-left: 7px; }
    .atlas-map__stamp { right: 12px; bottom: 12px; gap: 5px; font-size: 10px; }
    .atlas-hero__index { bottom: 23px; }
    .atlas-pulse { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .atlas-pulse article { min-height: 95px; padding: 13px; }
    .atlas-pulse article:first-child,.atlas-pulse article:nth-child(3) { padding-left: 0; }
    .atlas-pulse article:nth-child(2),.atlas-pulse article:last-child { padding-right: 0; }
    .atlas-pulse article > strong { font-size: 21px; }
    .atlas-pulse__label { font-size: 10px; }
    .atlas-rates { margin-bottom: 46px; padding: 12px 10px 9px; }
    .atlas-rates__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .atlas-rates__item { padding-inline: 6px; }
    .atlas-rates__item:not(:nth-child(4n)) { border-right: 0; }
    .atlas-rates__item:nth-child(odd) { border-right: 1px solid rgba(213,169,83,.12); }
    .odin-world,.atlas-section,.atlas-join { margin-bottom: 54px; }
    .atlas-divider { margin-top: -25px; margin-bottom: 7px; }
    .odin-world__head h2 { font-size: 22px; }
    .odin-world__grid { grid-template-columns: 1fr; gap: 9px; }
    .odin-ledger { min-height: auto; padding: 15px; }
    .odin-ledger ul li { padding: 9px 0; }
    .atlas-section__head h2,.odin-focus__head h2,.odin-systems__head h2 { font-size: 32px; }
    .atlas-tabs { gap: 4px; }
    .atlas-tabs .odin-focus__tab { min-height: 34px; gap: 5px; padding: 0 7px; font-size: 10px; }
    .atlas-focus-panel { grid-template-columns: 1fr; }
    .atlas-focus-panel .odin-focus__copy { padding: 24px; }
    .atlas-focus-panel .odin-focus__art { min-height: 210px; border-top: 1px solid var(--atlas-line); border-left: 0; }
    .atlas-focus-panel .odin-focus__art img { min-height: 210px; max-height: 245px; }
    .odin-agenda__head { align-items: flex-start; gap: 10px; }
    .odin-agenda__title h2 { font-size: 30px; }
    .odin-agenda__more { align-self: end; white-space: nowrap; font-size: 10px; }
    .odin-agenda__list li { min-height: 69px; padding: 11px; }
    .odin-agenda__name { font-size: 14px; }
    .odin-agenda__state { min-width: 95px; font-size: 10px; }
    .odin-systems__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    .odin-systems__card { min-height: 127px; padding: 12px; }
    .odin-systems__card h3 { font-size: 15px; }
    .atlas-join { gap: 17px; padding: 22px 16px; }
    .odin-join__grid { grid-template-columns: 1fr; }
    .odin-join__card { min-height: 63px; }
    .odin-title { min-height: 205px; padding-top: 81px; padding-bottom: 26px; }
    .odin-title h1 { font-size: 39px; }
    .odin-page,.odin-cms-layout { margin-top: 27px; margin-bottom: 70px; }
    .odin-cms-layout { grid-template-columns: 1fr; }
    .odin-foot { margin-top: 72px; }
    .odin-foot__main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 16px; padding: 36px 0 28px; }
    .odin-foot__brand { grid-column: 1/-1; }
    .odin-foot__mark { width: 190px; }
    .odin-foot__base { flex-direction: column; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Keep every interactive control square so the supplied corner frame can sit cleanly. */
.odin-body :is(button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"],.btn,.rune),
.odin-body :is(a[class*="btn"],a[class*="button"],a[class*="tab"],a[class*="pill"],.odin-drop__list a) {
    border-radius: 0 !important;
    clip-path: none !important;
}

/* Character ledger: keep every column inside the viewport and give the
   equipment preview enough height for the full model and slot grid. */
.odin-char,
.odin-char__head,
.odin-char__grid,
.odin-char__col,
.odin-char__stage { min-width: 0; }
.odin-char__head,
.odin-char__grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.05fr) minmax(0, 1.05fr);
    gap: clamp(12px, 1.6vw, 26px);
}
.odin-char__head > div,
.odin-char__loadout,
.odin-char__logs { min-width: 0; }
.odin-char__head h2 { overflow-wrap: anywhere; }
.odin-char__stage { min-height: clamp(570px, 42vw, 680px); }
.odin-char__figure {
    top: auto;
    right: auto;
    bottom: 14px;
    left: 50%;
    width: auto;
    height: min(78%, 510px);
    max-width: 46%;
    max-height: 78%;
    margin: 0;
    transform: translateX(-50%);
}
.odin-char__stage .table-responsive { min-width: 0; }
.odin-char__stage .table-inventory td { padding-inline: clamp(2px, 4%, 20px); }
.odin-char .item-icon-missing,
.odin-char .sro-item-detail .item.is-icon-missing::after {
    content: "?";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: radial-gradient(circle, rgba(216,156,74,.12), transparent 72%);
    color: var(--atlas-sand);
    font: 600 18px Marcellus, serif;
}
.sro-item-tooltip { max-width: min(300px, calc(100vw - 1rem)); }
.odin-char__logs [role="tabpanel"] { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1200px) {
    .odin-char__head,
    .odin-char__grid { grid-template-columns: minmax(0, 1fr); }
    .odin-char__stage { min-height: clamp(540px, 76vw, 680px); }
}
@media (max-width: 700px) {
    .odin-char__stage { min-height: 540px; }
    .odin-char__figure { height: 76%; max-width: 56%; }
}

/* ── Fixes 2026-10-02 ─────────────────────────────────────────────
   1) theme-*.css hides .odin-nav <=1040px, but the base `.odin-nav {display:flex}`
      above (same specificity, loaded later) re-shows it, so on phones the desktop
      nav pushed the page to ~780px wide and the burger went off-screen.
   2) .atlas-hero__texture bleeds 14vw past the viewport (horizontal scroll). */
@media (max-width: 900px) {
    .odin-body:not(.menu-open) .odin-nav { display: none; }
}
#main-content { overflow-x: clip; }
/* 3) Legibility: micro-labels raised from 7–9px to a 10px floor (nav stays uppercase + tracked). */
.atlas-logo span { font-size: 9px; letter-spacing: .14em; white-space: nowrap; } /* tagline under the wordmark: one line at every width */

/* ── Widgets from /admin/widgets (2026-10-02) ───────────────────── */
.odin-world__grid--items { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 14px; }
.odin-world__grid--items .odin-ledger { min-height: 0; }
.odin-item { display: flex !important; align-items: center; gap: 12px; }
.odin-item > img { flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid var(--atlas-line); border-radius: 3px; background: rgba(0,0,0,.35); image-rendering: auto; }
.odin-item__body { display: grid; flex: 1 1 auto; min-width: 0; gap: 3px; }
.odin-item__name { overflow: hidden; color: var(--atlas-paper); font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.odin-item__name--seal-of-star { color: #f2e43d; }
.odin-item__name--seal-of-moon { color: #9fd8ff; }
.odin-item__name--seal-of-sun { color: #ffb347; }
.odin-item__name--seal-of-nova { color: #ff7ad9; }
.odin-item__name--seal-of-roc { color: #8ef0b0; }
.odin-item__plus { color: var(--atlas-copper); font-weight: 700; }
.odin-item__body small, .odin-item time { color: var(--atlas-muted); font-size: 10px; }
.odin-item__body small a, .odin-legends__name a { color: inherit; text-decoration: none; }
.odin-item__body small a:hover, .odin-legends__name a:hover { color: var(--atlas-copper); }
.odin-item time { flex: 0 0 auto; }
.odin-ledger__empty { color: var(--atlas-muted); font-size: 11px; }

.odin-legends__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.odin-legends__board { display: flex; min-height: 0; flex-direction: column; }
.odin-legends__list { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.odin-legends__list li { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(205,190,157,.1); }
.odin-legends__list li:last-child { border-bottom: 0; }
.odin-legends__rank { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--atlas-line); border-radius: 50%; color: var(--atlas-sand); font-size: 11px; font-weight: 700; }
.odin-legends__rank img { width: 22px; height: 22px; object-fit: contain; }
.odin-legends__name { display: grid; min-width: 0; gap: 2px; color: var(--atlas-paper); font-size: 12px; font-weight: 600; }
.odin-legends__name a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.odin-legends__name small { overflow: hidden; color: var(--atlas-muted); font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.odin-legends__points { color: var(--atlas-copper); font-size: 13px; font-weight: 700; text-align: right; }
.odin-legends__points small { display: block; color: var(--atlas-muted); font-size: 10px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.odin-legends__more { align-self: flex-start; margin-top: 12px; color: var(--atlas-jade); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.odin-legends__more:hover { color: var(--atlas-copper); }

.odin-discord { grid-column: 1 / -1; margin-top: 14px; overflow: hidden; border: 1px solid var(--atlas-line); border-radius: 4px; background: rgba(10,7,6,.35); }
.odin-discord iframe { display: block; width: 100%; height: 420px; border: 0; }

@media (max-width: 900px) {
    .odin-world__grid--items, .odin-legends__grid { grid-template-columns: 1fr; gap: 9px; }
    .odin-discord iframe { height: 380px; }
}

/* ── Live World Status: portraits (2026-10-02) ─────────────────── */
.odin-avatar { flex: 0 0 auto; width: 30px; height: 30px; border: 1px solid var(--atlas-line); border-radius: 50%; background: rgba(0,0,0,.35); object-fit: cover; }
.odin-avatar--xs { width: 18px; height: 18px; vertical-align: middle; margin-right: 5px; }
.odin-who { display: inline-flex; min-width: 0; align-items: center; gap: 8px; overflow: hidden; color: var(--atlas-paper); font-size: 11px; font-weight: 600; white-space: nowrap; }
.odin-who--end { justify-content: flex-end; }
.odin-kill { align-items: center !important; }
.odin-kill > .odin-who { flex: 1 1 0; }
.odin-kill > em { flex: 0 0 auto; }
.odin-ledger li.odin-chat { display: flex; align-items: flex-start; gap: 10px; }
.odin-chat > .odin-avatar { width: 34px; height: 34px; margin-top: 2px; }
.odin-chat__body { flex: 1 1 auto; min-width: 0; }
.odin-ledger li.odin-unique-row { display: flex; align-items: center; gap: 12px; }
.odin-unique__img { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--atlas-copper); border-radius: 50%; background: radial-gradient(circle, rgba(154,48,40,.35), rgba(0,0,0,.5)); object-fit: cover; box-shadow: 0 0 10px rgba(204,148,50,.25); }
.odin-unique-row .odin-unique { flex: 1 1 auto; min-width: 0; }
.odin-unique-row .odin-unique small { display: inline-flex; align-items: center; }
/* kills: killer on one line, victim below; unique: name above, killer + time below */
.odin-ledger .odin-kill { flex-direction: column; align-items: flex-start !important; justify-content: flex-start; gap: 4px; }
.odin-kill > .odin-who { flex: 0 0 auto; max-width: 100%; }
.odin-kill > .odin-who--end { flex-direction: row-reverse; justify-content: flex-start; }
.odin-kill > em { padding-left: 38px; font-size: 10px; line-height: 1; }
.odin-who { overflow: hidden; text-overflow: ellipsis; }
.odin-unique-row .odin-unique { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
.odin-unique-row .odin-unique small { text-align: left; }
.odin-unique-row .odin-unique strong { font-size: 12px; }

/* ── Live World Status: unified layout (2026-10-02, v2) ─────────── */
.odin-world__grid > .odin-ledger { display: flex; flex-direction: column; container-type: inline-size; }
.odin-world__grid > .odin-ledger > ul { flex: 1 1 auto; }
.odin-ledger [data-odin-world-list] > li,
.odin-ledger ul[data-odin-world-list] > li { min-height: 62px; }
.odin-avatar { width: 34px; height: 34px; }
.odin-avatar--xs { width: 18px; height: 18px; }
/* kills: one row — killer · derrotó a · victim · time */
.odin-ledger [data-odin-world-list="kills"] > li { display: flex; align-items: center; gap: 12px; }
.odin-ledger [data-odin-world-list="kills"] > li > time { flex: 0 0 auto; margin-left: auto; }
.odin-ledger .odin-kill { flex: 1 1 auto; min-width: 0; flex-direction: row; align-items: center !important; justify-content: flex-start; gap: 10px; }
.odin-kill > .odin-who { flex: 1 1 0; min-width: 0; font-size: 12px; }
.odin-kill > .odin-who--end { flex-direction: row-reverse; justify-content: flex-end; }
.odin-kill > em { flex: 0 0 auto; padding: 3px 8px; border: 1px solid rgba(213,169,83,.28); border-radius: 999px; background: rgba(213,169,83,.06); color: var(--atlas-copper); font-size: 10px; letter-spacing: .04em; line-height: 1.2; white-space: nowrap; }
/* narrow cards (phones / small columns): stack killer over victim */
@container (max-width: 380px) {
    .odin-ledger .odin-kill { flex-direction: column; align-items: flex-start !important; gap: 4px; }
    .odin-kill > .odin-who { flex: 0 0 auto; max-width: 100%; }
    .odin-kill > em { padding: 0 0 0 42px; border: 0; background: none; }
    .odin-ledger [data-odin-world-list="kills"] > li { align-items: flex-start; }
}
/* chat */
.odin-chat > .odin-avatar { width: 34px; height: 34px; margin-top: 0; }
.odin-ledger li.odin-chat { align-items: center; }
.odin-chat__who span { font-size: 12px; }
.odin-chat__msg { margin-top: 2px; }
/* uniques */
.odin-unique__img { flex: 0 0 46px; width: 46px; height: 46px; }
.odin-unique-row .odin-unique strong { font-size: 13px; }
.odin-ledger li.odin-unique-row { align-items: center; }
.odin-ledger li.odin-unique-row { padding-top: 8px; padding-bottom: 8px; }
/* medium cards: keep one row, swap the "derrotó a" pill for an arrow; stack only when really narrow */
@container (max-width: 380px) {
    .odin-ledger .odin-kill { flex-direction: row; align-items: center !important; gap: 8px; }
    .odin-kill > .odin-who { flex: 1 1 0; }
    .odin-kill > em { padding: 0; border: 0; background: none; font-size: 0; }
    .odin-kill > em::before { content: "\2192"; color: var(--atlas-copper); font-size: 14px; font-style: normal; }
    .odin-ledger [data-odin-world-list="kills"] > li { align-items: center; }
    .odin-ledger [data-odin-world-list="kills"] > li > time { font-size: 9px; }
}
@container (max-width: 250px) {
    .odin-ledger .odin-kill { flex-direction: column; align-items: flex-start !important; gap: 4px; }
    .odin-kill > .odin-who { flex: 0 0 auto; }
}
@media (max-width: 1000px) { .odin-world__grid { grid-template-columns: 1fr; gap: 10px; } }

/* ── Responsive pass (2026-10-02) ──────────────────────────────── */
/* 1) Legibility floor: nothing under 10px (labels stay uppercase + tracked) */
.odin-logo span, .atlas-logo span { font-size: 10px; }
.odin-agenda__unit small { font-size: 10px !important; }
.odin-systems__meta small, .odin-systems__meta small.is-new { font-size: 10px !important; }
.odin-rank__pts small, .odin-rank__pages a, .odin-rank__pages span, .odin-rank button { font-size: 10px !important; }
.odin-focus__tabs .odin-focus__tab, .atlas-tabs .odin-focus__tab { font-size: 10px !important; }
.odin-drops__check, .odin-drops__check span, .odin-drops__foot, .odin-drops__foot *, .odin-drops__pager, .odin-drops__pager *, .odin-drops__reload, .odin-drops__reload * { font-size: 10px !important; }
.odin-vitals h3, .odin-vitals--page h3 { font-size: 10px !important; }
.odin-cms-content .badge, .odin-cms-content .btn, .odin-cms-content .d-flex > span, .odin-page .badge { font-size: 10px !important; }
.odin-ledger time, .odin-ledger [data-odin-world-list="kills"] > li > time { font-size: 10px !important; }

/* 2) Last kills on narrow cards: keep both names whole, move the time under them */
@container (max-width: 380px) {
    .odin-ledger [data-odin-world-list="kills"] > li { flex-wrap: wrap; row-gap: 4px; }
    .odin-ledger [data-odin-world-list="kills"] > li > time { flex: 1 0 100%; margin-left: 0; padding-left: 42px; }
}

/* 3) Download: system requirements in one column on phones */
@media (max-width: 520px) {
    .odin-vitals--page { grid-template-columns: 1fr !important; }
    .odin-vitals--page strong { font-size: 15px !important; line-height: 1.25; }
}

/* 4) Long words / names never push the layout sideways */
.odin-page, .odin-ledger, .odin-legends__board, .odin-rank__row { overflow-wrap: break-word; }
.odin-global-chat__status, .odin-unique-kills__class { font-size: 10px !important; }

/* ── Mobile header (2026-10-02): logo left, [idioma][menú] right, same height ── */
@media (max-width: 900px) {
    .odin-bar { gap: 10px; }
    .odin-bar > .odin-logo { flex: 0 1 auto; min-width: 0; margin-right: auto; }
    .odin-tools { flex: 0 0 auto; margin-left: auto; gap: 8px; }
    .odin-tools > .odin-drop { display: none; }               /* cuenta: ya está en el menú */
    .odin-tools .odin-lang--desktop > button,
    .odin-tools .odin-lang--desktop .odin-lang__btn { height: 42px; min-height: 42px; padding: 0 10px; border-radius: 4px; }
    .odin-burger { flex: 0 0 42px; width: 42px !important; height: 42px; margin-left: 0; }
    .odin-body.menu-open .odin-tools { display: flex; }
}
@media (max-width: 360px) {
    .odin-tools .odin-lang__code { display: none; }            /* solo bandera en pantallas muy angostas */
}
