/* Eternal MIR4 / Obsidian Chronicle. Shared product tokens, mobile first. */
:root{color-scheme:dark;--bg:#101316;--panel:#191e23;--raised:#22292f;--field:#12171b;--line:#364049;--ink:#f0eee7;--muted:#b4b9bc;--quiet:#929b9e;--gold:#d9ba7c;--accent:var(--gold);--action:#6b512b;--positive:#a8d8ba;--negative:#ffb6ad;--radius:10px;--gap:24px;--font:Segoe UI,system-ui,sans-serif;--display:Georgia,Times New Roman,serif;--ease:180ms ease;--art:url('/art/admin-warrior.webp');font:14px/1.6 var(--font);background:var(--bg);color:var(--ink)}
body.player{--accent:#e8af94;--action:#8b3d34;--art:url('/art/player-lancer.webp')}body.reseller{--accent:#a6d9ca;--action:#326a5c;--art:url('/art/reseller-taoist.webp')}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--accent);text-underline-offset:4px}button,input,select,textarea,summary,a{outline-offset:4px}:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin-bottom:16px}h2{font-size:21px;line-height:1.3}h3{font-size:16px}p{color:var(--muted);max-width:72ch}.eyebrow,.overline{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:650}.eyebrow{margin-bottom:12px}.muted,.hint{color:var(--muted)}.hint{font-size:12px}.rule{width:48px;height:1px;background:var(--accent);display:block;margin:24px 0}
header{display:flex;align-items:center;gap:16px;padding:20px 24px;min-height:86px;border-bottom:1px solid var(--line);background:var(--bg)}.brand{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.065em;margin-right:auto;line-height:1.2;white-space:nowrap;display:block}.brand:before{content:'永';float:left;border:1px solid var(--accent);color:var(--accent);width:35px;height:43px;display:grid;place-items:center;margin-right:12px;font-size:25px;font-weight:400}.brand span{display:block;font:9px var(--font);letter-spacing:.21em;color:var(--muted);margin-top:7px}#identity{font-size:12px;color:var(--muted)}#network-status{font-size:11px;color:var(--accent)}#network-status:empty{display:none}main{margin:28px auto;max-width:1560px;padding:0 20px;min-height:calc(100vh - 220px)}footer{padding:24px;color:var(--quiet);font-size:10px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;letter-spacing:.05em}
button,input,select,textarea{min-height:46px;border-radius:6px;padding:11px 14px;color:var(--ink);border:1px solid var(--line);background:var(--field);transition:background var(--ease),border-color var(--ease)}button:hover{background:var(--raised);border-color:#6e7b83}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;color:var(--quiet);background:var(--panel);border-color:var(--line);transform:none}button.primary{background:var(--action);color:#fff9ee;border-color:var(--action);font-weight:650}button.primary:hover{filter:brightness(1.16)}button.primary:disabled{filter:grayscale(1);color:var(--muted)}input,select,textarea{width:100%;min-width:0}input::placeholder,textarea::placeholder{color:var(--quiet)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}form{display:grid;gap:20px;max-width:900px}textarea{min-height:110px;resize:vertical}.check{flex-direction:row;align-items:center}.grid{display:grid;gap:20px}.row,.heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row{margin:20px 0}.row input,.row select{flex:1 1 160px;max-width:300px}.heading{justify-content:space-between;margin-bottom:24px}.heading h1,.heading h2{margin-bottom:0}.text-button{border:0;background:transparent;padding:8px;color:var(--accent)}
/* Auth is a distinct composition, not a card dropped in a dashboard. */
.auth-story{display:none}main:has(>#login:not([hidden])){margin:0 auto;padding:0 20px 32px;max-width:1600px;display:grid;gap:28px}.auth-story h2{font-family:var(--display);font-size:44px;font-weight:400;line-height:1.05;letter-spacing:-.04em;max-width:9ch;margin:12px 0}.auth-story>p:not(.eyebrow){font-size:12px;max-width:27ch}.story-seal,.story-caption{display:none}main:has(>#login:not([hidden]))>.auth-story{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;min-height:285px;padding:28px 20px;background:#182022;border-radius:0 0 var(--radius) var(--radius)}.auth-story:before{content:'';position:absolute;inset:0;background:url('/eternal-landscape.svg') center/cover;opacity:.35;z-index:-2}.auth-story:after{content:'';position:absolute;right:-18%;bottom:-6%;width:90%;height:95%;background:var(--art) center bottom/contain no-repeat;z-index:-1}.auth-story .eyebrow{font-size:9px;max-width:20ch}.auth-story>p:not(.eyebrow){background:#101316df;padding:10px;max-width:22ch;margin-top:auto;margin-bottom:0}#login{width:100%;max-width:430px;justify-self:center;padding:12px 4px 24px}#login h1{font-size:30px}#login>p:not(.eyebrow){font-size:13px}#login-form,#portal-login{margin-top:28px}#login button.primary{min-height:52px}#login:after{content:'ETERNAL MIR4 / ACCESO PERSONAL';font-size:9px;letter-spacing:.15em;color:var(--quiet);display:block;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.auth-index{font-size:11px;color:var(--accent);letter-spacing:.16em}.password-wrap{position:relative}.password-wrap input{padding-right:64px}.password-toggle{position:absolute;right:5px;top:5px;min-height:36px;padding:6px 8px;font-size:11px;background:transparent;border:0;color:var(--muted)}
/* Account hub */
.portal #account{max-width:1180px;margin:auto}.account-hero{position:relative;isolation:isolate;overflow:hidden;padding:28px 24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-height:235px;margin-bottom:24px}.account-hero:after{content:'';position:absolute;right:-80px;bottom:-100px;width:380px;height:380px;background:var(--art) center/contain no-repeat;opacity:.3;z-index:-1}.account-hero h1{font:36px/1.15 var(--display);max-width:13ch;margin:12px 0}.account-hero p{font-size:12px;max-width:35ch}.wallet{display:flex;flex-direction:column;gap:4px;padding:24px 0;font-variant-numeric:tabular-nums}.wallet span{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.wallet strong{font-size:38px;line-height:1.2;letter-spacing:-.035em;font-weight:600}.wallet small{font-size:11px;color:var(--quiet)}.account-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.account-toolbar button{background:transparent;border-color:transparent;font-size:12px;color:var(--muted)}.account-toolbar button.selected{background:var(--panel);border-color:var(--line);color:var(--ink)}.hub-summary{display:flex;gap:28px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0 28px}.hub-summary strong{display:block;font-size:24px;font-weight:550;font-variant-numeric:tabular-nums}.hub-summary span{font-size:11px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:24px}.section-intro{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:24px}.section-intro p{font-size:12px;margin-bottom:0;max-width:60ch}.section-intro h2{margin-bottom:8px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filters button{font-size:12px;min-height:40px;padding:8px 12px;background:transparent}.filters button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--panel)}
.reward-grid{display:grid;gap:16px;margin:20px 0}.reward-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}.reward-card.ready{border-color:#6d846f}.reward-card header{padding:0;background:none;border:0;min-height:0;align-items:start;justify-content:space-between}.reward-card h3{font:24px/1.2 var(--display);margin:0}.reward-mark{font-family:var(--display);font-size:26px;width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);transform:rotate(45deg);flex-shrink:0}.reward-mark span{transform:rotate(-45deg)}.badge{display:inline-flex;font-size:10px;padding:4px 8px;border:1px solid var(--line);border-radius:20px;color:var(--muted);width:fit-content;white-space:nowrap}.badge.ready{color:var(--positive);border-color:#4d6b56}.reward-meta{font-size:12px;color:var(--muted);margin:0}.progress{width:100%;height:4px;accent-color:var(--accent);border:0;border-radius:4px;background:var(--raised)}.progress::-webkit-progress-bar{background:var(--raised);border-radius:4px}.progress::-webkit-progress-value{background:var(--accent);border-radius:4px}.progress::-moz-progress-bar{background:var(--accent)}.reward-progress{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;gap:8px}.reward-card button{margin-top:auto;width:100%}.reward-card .reward-meta{font-size:11px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0;font-size:12px;color:var(--muted)}.pagination button{font-size:12px}.empty-state{padding:32px 24px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.empty-state strong{display:block;color:var(--ink);margin-bottom:8px}.transfer-grid{display:grid;gap:24px}.transfer-note{padding:24px;background:var(--field);border-radius:8px}.transfer-note h3{font-size:14px}.transfer-note p,.transfer-note li{font-size:12px;color:var(--muted)}.transfer-note ol{padding-left:20px}.transfer-note li{padding:7px 0}.transfer-value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:24px;display:block;margin-top:8px}.security-panel{margin-top:32px}
/* Administration shell and data surfaces */
#workspace{min-width:0}#workspace>nav{display:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 24px}#workspace>nav.is-open{display:flex;flex-direction:column;gap:6px}#admin-navigation:before{content:'GESTIÓN DE ETERNAL';display:block;font-size:9px;color:var(--quiet);letter-spacing:.16em;padding:12px}nav button{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid transparent;color:var(--muted);text-align:left;font-size:12px}nav button svg{flex-shrink:0}nav button.selected{background:var(--raised);border-color:var(--line);color:var(--accent)}#menu-toggle{display:block;margin-bottom:20px;width:100%;text-align:left}#menu-toggle:after{content:'+';float:right}#menu-toggle[aria-expanded=true]:after{content:'−'}.view{padding:24px 0;min-width:0}.view>p{font-size:13px}.view>h1{font-family:var(--display);font-size:34px;font-weight:400}.notice{font-size:11px;padding:16px 20px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);max-width:none;margin:0 0 24px}.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px;margin:24px 0;background:var(--panel)}.table-wrap:empty{display:none}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}th,td{padding:14px 16px;border-bottom:1px solid var(--line);max-width:460px;text-overflow:ellipsis;overflow:hidden}th{color:var(--muted);font-weight:550;font-size:10px;letter-spacing:.06em;background:var(--raised)}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--raised)}td button{min-height:40px;padding:8px 12px;font-size:11px}.status{display:inline-flex;align-items:center;gap:8px;font-size:11px}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status.online{color:var(--positive)}.status.offline{color:var(--muted)}details{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:8px;margin:24px 0}summary{cursor:pointer;font-size:13px;font-weight:600;min-height:28px}details form{margin-top:24px}#message{white-space:pre-wrap;max-width:1180px;margin:24px auto 0;font-size:12px}#message:not(:empty){padding:16px 20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}#message.error{color:var(--negative);border-color:#7f514c}#message.success{color:var(--positive);border-color:#4f6a58}#admin-context{font-size:11px;color:var(--quiet);letter-spacing:.07em;margin-bottom:12px}#page-summary{margin:24px 0}.page-metrics{display:flex;gap:28px;flex-wrap:wrap}.page-metrics strong{font-size:28px;display:block;color:var(--ink);font-weight:500}.page-metrics span{font-size:10px;color:var(--muted)}dialog{background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--ink);max-width:460px;width:calc(100% - 40px);padding:28px}dialog::backdrop{background:#080d12c9}dialog h2{font:28px var(--display)}dialog .row{justify-content:flex-end}dialog p{font-size:13px}
@media(min-width:650px){.grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-hero{padding:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.account-hero h1{font-size:44px}.wallet{padding:0 24px;min-width:210px}.wallet strong{font-size:44px}.hub-summary{gap:64px}.account-hero:after{right:15%;opacity:.2}}
@media(min-width:1000px){header{padding:24px 40px}.brand{font-size:23px}main{padding:0 40px;margin:32px auto}.auth-story h2{font-size:clamp(60px,5vw,86px);max-width:8ch}main:has(>#login:not([hidden])){padding:24px 48px 48px;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:clamp(50px,7vw,110px);align-items:center;min-height:calc(100vh - 160px)}main:has(>#login:not([hidden]))>.auth-story{padding:44px;min-height:680px;border-radius:var(--radius);height:100%}.auth-story:after{right:-18%;bottom:-3%;width:112%;height:75%}.auth-story>p:not(.eyebrow){position:absolute;bottom:60px;left:32px;padding:16px;max-width:25ch}.story-caption{display:block;position:absolute;bottom:24px;left:44px;font-size:9px;letter-spacing:.16em;color:var(--muted)}.story-seal{display:block;position:absolute;right:30px;top:30px;font:90px var(--display);color:#d9ba7c26}#login{padding:32px 0}#login h1{font-size:36px}.account-hero{min-height:260px}.account-hero:after{width:550px;height:550px;bottom:-210px;right:18%}.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transfer-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.panel{padding:32px}.portal #account{max-width:1280px}}
@media(min-width:1200px){body.admin:has(#workspace:not([hidden])){padding-left:264px}.admin:has(#workspace:not([hidden])) header .brand{position:fixed;left:28px;top:32px;z-index:3;font-size:19px}.admin:has(#workspace:not([hidden])) header{justify-content:flex-end;border-bottom:0}.admin:has(#workspace:not([hidden])) #workspace>nav{display:flex;flex-direction:column;gap:6px;position:fixed;top:0;bottom:0;left:0;width:264px;border:0;border-right:1px solid var(--line);border-radius:0;padding:126px 20px 28px;overflow:auto;margin:0}.admin:has(#workspace:not([hidden])) #menu-toggle{display:none}.admin:has(#workspace:not([hidden])) main{max-width:1600px}.admin:has(#workspace:not([hidden])) .auth-story{display:none}}
@media(prefers-reduced-motion:no-preference){#login,.account-hero,.view{animation:arrive 240ms ease both}@keyframes arrive{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.admin #overview{position:relative;isolation:isolate}.admin #overview:before{content:'';position:absolute;right:0;top:-30px;width:300px;height:250px;background:var(--art) center/contain no-repeat;opacity:.09;pointer-events:none;z-index:-1}.account-toolbar:before{display:none}

.field{display:grid;gap:8px}.reward-grid.empty-state{display:block}#claim-error{color:var(--negative);font-size:12px}#claim-error:empty{display:none}

.mfa-enrollment{max-width:660px;margin:40px auto;padding:32px;background:#191d20;border:1px solid #424950;border-radius:12px;color:#eef1f3}.mfa-enrollment form,.mfa-enrollment label{display:grid;gap:12px}.mfa-enrollment p{color:#b6bfc5}.mfa-enrollment .totp-secret,.mfa-enrollment textarea{font-family:monospace;width:100%;box-sizing:border-box;letter-spacing:.03em}.mfa-enrollment textarea{min-height:220px}.mfa-enrollment button{margin-top:16px}.mfa-enrollment h1{font-size:28px}@media(max-width:600px){.mfa-enrollment{padding:20px;margin:24px 0}.mfa-enrollment .totp-secret{font-size:12px}}
body:has(#mfa-enrollment) .auth-story{display:none}

.totp-qr{display:block;width:280px;max-width:100%;height:auto;object-fit:contain;background:#fff;border:10px solid #fff;border-radius:8px;margin:16px auto;box-sizing:border-box}#mfa-secret>span{display:block}#mfa-secret>input{width:100%}

.item-dialog{background:#191d20;color:#eef1f3;border:1px solid #424950;border-radius:14px;width:min(680px,calc(100vw - 32px));padding:28px;max-height:90dvh;overflow:auto}.item-dialog::backdrop{background:rgb(0 0 0 / .7)}.item-preview-row{display:flex;align-items:flex-start;gap:18px;padding:18px 0;border-bottom:1px solid #30363b}.item-preview-row img,.shop-product>img{object-fit:contain;background:#30293e;border-radius:10px;flex-shrink:0}.item-preview-row h3{margin:0;font-size:17px;overflow-wrap:anywhere}.item-preview-row p{margin:8px 0}.item-quantity{font-variant-numeric:tabular-nums;font-weight:600}.shop-product>img{width:64px;height:64px;margin-bottom:14px}.coupon-dialog{width:min(800px,calc(100vw - 32px))}

.language-control{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px}.language-control select{width:auto;min-width:140px;min-height:38px;padding:6px 10px}.language-control>span{color:#b6bfc5}@media(max-width:650px){.language-control{flex-basis:100%;justify-content:flex-end}.language-control>span{display:none}}

.item-picker{padding:16px;border:1px solid #30363b;border-radius:8px;margin:14px 0}.item-picker>label{display:grid;gap:8px}.item-picker-result{display:flex;align-items:center;gap:10px;padding:10px 0;flex-wrap:wrap}.item-picker-result img{width:40px;height:40px}.item-picker-result>span{max-width:260px;overflow-wrap:anywhere}.item-picker-result>button{margin-left:auto}
