:root{--gold:#80ccfa;--text:#e1edf8;--muted:#8ea8be;--green:#7fdebd;--panel:#0b1928;--line:#263d52;--bg:#050b13}body{background:radial-gradient(ellipse at 50% 38%,#102436 0,transparent 55%),#050b13;color:var(--text)}::selection{background:#1575b8;color:white}.wrap{max-width:1280px;padding:0 42px}.top{background:#050c16ec;backdrop-filter:blur(18px);border-bottom:1px solid #80ccfa35}.top .wrap{height:88px}.brand{gap:12px}.brand b{font-size:24px;letter-spacing:5px;color:#dfedfa}.brand small{font-size:9px;letter-spacing:3px}.sigil{clip-path:none;background:transparent;width:61px;height:61px;color:transparent;background:url('/assets/otuken-emblem.png') center/contain no-repeat;filter:drop-shadow(0 0 8px #3ba5ff45)}.top nav a{letter-spacing:1px;font-size:12px;color:#aec5d9}.top nav a:hover{color:#d3f1ff}.btn,button{background:linear-gradient(180deg,#154f7b,#092744);border-color:#61b2e6;color:#e4f7ff;box-shadow:inset 0 0 0 3px #6ecbff0c,0 0 18px #1089fa16;transition:background .2s,box-shadow .2s,transform .2s}.btn:hover,button:hover{background:linear-gradient(180deg,#1b6396,#103954);box-shadow:0 0 24px #2aa5ff40}.btn.outline,button.outline{background:#06131f99;color:#abdfff}.hero{min-height:735px;position:relative;background:linear-gradient(90deg,#020b17df 0%,#03102283 48%,#030d1a05 74%),linear-gradient(0deg,#050b13 0%,transparent 28%),url('/assets/otuken-world.png') center top/cover no-repeat;border-bottom:0}.hero .wrap{position:relative;z-index:1}.hero-copy{padding-top:10px;max-width:600px}.hero-emblem{width:128px;height:128px;object-fit:contain;display:block;margin-bottom:18px;filter:drop-shadow(0 0 18px #0b8dff55)}h1{font-size:84px;letter-spacing:10px;margin:14px 0 18px;text-shadow:0 2px 14px #000c}h1 span{font-size:33px;color:#d8e8fa;letter-spacing:14px;margin-bottom:14px}.hero p{max-width:420px;font-size:18px;line-height:1.7;color:#bcd3e7}.hero .buttons{gap:12px}.hero .buttons .btn{padding:16px 29px}.hero .phase{margin-top:25px;letter-spacing:1px}.hero .eyebrow{color:#91d6ff;letter-spacing:3px}.hero-scroll{position:absolute;bottom:44px;right:48px;font-size:10px;color:#b6d6f0;letter-spacing:4px;writing-mode:vertical-rl}.stats{position:relative;margin-top:-28px;z-index:2;background:linear-gradient(125deg,#0a1d2eee,#07121eee);border:1px solid #81b8d657;box-shadow:0 14px 50px #0007}.stat{padding:25px 12px}.stat b{font-size:25px;color:#c3e9ff}.stat small{font-size:11px;letter-spacing:1px}.content{position:relative}.heading h2,h2{font-size:37px;line-height:1.2}.eyebrow{letter-spacing:3px;margin-bottom:12px}.cards{gap:24px}.card{background:linear-gradient(130deg,#10243a,#09131f);border-color:#30557177;box-shadow:inset 0 1px 0 #9cd3fb0b}.card h3{color:#dcecf9}.card p{color:#9ab6cc}.card:hover{border-color:#509bcc80}.category{color:#67c1fa!important}.card time{display:block;border-top:1px solid #42617a44;padding-top:15px;margin-top:22px}.news-empty{grid-column:1/-1;padding:38px;border:1px solid var(--line);color:var(--muted)}.world-art{min-height:400px;position:relative;border:1px solid #4773936b;background:linear-gradient(0deg,#061320,transparent 60%),url('/assets/otuken-world.png') 85% center/cover}.world-art-caption{position:absolute;bottom:26px;left:30px;right:30px}.world-art h3{font-size:31px;margin:9px 0}.world-art small{color:#9dd6ff;letter-spacing:3px}.world-copy{padding:28px 0}.world-copy p{line-height:1.9}.world-grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.world-grid article{padding:25px 0;border-top:1px solid #6fb1df55}.world-grid b{font:25px Georgia;color:#5ec7ff}.world-grid h3{margin-top:16px}.world-grid p{color:#8fabbe;font-size:14px;max-width:300px}.download{background:#0a1b2b;border:1px solid #305571;padding:24px}.download b{font:21px Georgia}.download small{margin-top:6px;font-size:12px}.registration{background:linear-gradient(135deg,#112940,#08131f);border:1px solid #548bae77}.registration button{width:100%;margin-top:8px}.registration input{background:#030c17;border-color:#375d7c}.registration h3{font-size:27px}.notice{background:#0c2940;border-left-color:#77c9ff}.phase .dot{box-shadow:0 0 10px #7fdebd}.pill{color:#9bd9ff;background:#08253c;border-color:#1e5c82}.admin .sidebar{background:linear-gradient(0deg,#030a12ee,#081425eb),url('/assets/otuken-world.png') 75% center/cover;background-attachment:fixed}.admin .sidebar button.active{background:#11314a;color:#a4ddff}.admin main{background:radial-gradient(ellipse at 90% 0%,#143c552e,transparent 65%)}.admin .login{border-top:2px solid #76c9ff;box-shadow:0 16px 80px #0008}.admin .card h3{font-size:23px}.admin pre{background:#030a11}.admin .good{color:#7fdebd}.admin .links .row{grid-template-columns:minmax(90px,1fr) minmax(150px,2fr) 100px auto}footer{background:#030810;border-top:1px solid #20445d;padding:45px 0}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}footer p{max-width:420px;color:#718fa6}.footer-end{font-size:11px;letter-spacing:1px}.access-note{margin-top:16px;color:#7799b5;font-size:12px}@media(min-width:1700px){.hero{background-position:center 28%;min-height:800px}}@media(max-width:950px){.wrap{padding:0 24px}.hero{min-height:680px;background-position:60% top}.hero-copy{max-width:500px}.hero-emblem{width:105px;height:105px}h1{font-size:64px}.world-grid{grid-template-columns:1fr}.top .wrap{height:auto;padding:16px 24px}.top nav{gap:17px}.world-art{min-height:360px}.admin .links .row{grid-template-columns:1fr}.hero-scroll{display:none}}@media(max-width:600px){.hero{min-height:680px;background:linear-gradient(90deg,#020b17ed,#031022a5),linear-gradient(0deg,#050b13,transparent 60%),url('/assets/otuken-world.png') 68% top/cover}.hero-copy{padding-top:20px}h1{font-size:49px;letter-spacing:6px}h1 span{font-size:25px;letter-spacing:10px}.hero .buttons{flex-direction:column;align-items:flex-start}.hero .buttons .btn{min-width:230px;text-align:center}.hero .phase{font-size:10px}.stat b{font-size:21px}.cards{grid-template-columns:1fr}.heading h2,h2{font-size:30px}section.content{padding:52px 0}.registration{padding:24px}.top nav{gap:12px}.top nav a{font-size:11px}.top nav .btn{padding:8px 12px}.brand b{font-size:22px}.download{flex-wrap:wrap}.split{gap:28px}}
.hero-emblem{width:340px;height:auto;margin-bottom:18px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:600px){.hero-emblem{width:270px}}
.admin .sidebar .sigil{width:48px;height:48px;flex-shrink:0}.admin .sidebar .brand{gap:10px}.admin .sidebar .brand b{font-size:21px;letter-spacing:3px}.admin .sidebar .brand small{letter-spacing:2px;font-size:8px}.cards:has(>article:only-child){grid-template-columns:minmax(0,1fr)}.cards>article:only-child{max-width:760px}.card p{overflow-wrap:anywhere}.content{scroll-margin-top:110px}
.gm-detail{display:grid;gap:24px;margin-top:24px}.gm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.gm-stats .stat{display:grid;gap:5px;padding:16px;background:#06121ee6;border:1px solid #25445c;border-radius:8px}.gm-event{padding:16px 0;border-bottom:1px solid #29485d}.table-scroll{overflow-x:auto}details pre{max-height:300px;overflow:auto}#rankings .wrap{max-width:1200px;margin:auto;padding:40px 24px}#rankings h2{font-size:34px}.gm-detail .row> .card{min-width:0}.sidebar{overflow-y:auto;max-height:100vh}.row input{min-width:0}#workspace>.page>.card+ .card{margin-top:24px}@media(max-width:700px){.gm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.gm-detail .row{display:block}.gm-detail .row>.card{margin-bottom:20px}}
@media(min-width:851px){.sidebar{position:sticky;top:0;height:100vh;align-self:start}}@media(max-width:850px){.sidebar{position:static;max-height:none;overflow:visible}}

#itemPicker{width:min(1000px,92vw);max-height:88vh;border:1px solid #287ac2;border-radius:18px;background:#091729;color:#e5efff;padding:24px}#itemPicker::backdrop{background:#020813c9;backdrop-filter:blur(5px)}.picker-header,.picker-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;max-height:52vh;overflow:auto;padding:4px}.item-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;background:linear-gradient(135deg,#112b46,#0a1729);border:1px solid #244b72;border-radius:12px;padding:16px;color:#e5efff;min-height:160px}.item-card:hover{border-color:#53caff;background:#173955}.item-card strong{font-size:15px;line-height:1.4}.item-card small{color:#a4bcd3}.item-badge,.item-select{color:#66d4ff;font-size:12px}.picker-footer{margin-top:18px}.item-selected{padding:16px;margin-bottom:16px;border:1px solid #285777;border-radius:12px;background:#0d2438}.item-selected h4{margin:8px 0 14px}#itemPicker .toolbar input{flex:1;min-width:160px}

#emsRowDialog{width:min(1050px,92vw);max-height:88vh;overflow:auto;border:1px solid #287ac2;border-radius:18px;background:#091729;color:#e5efff;padding:24px}#emsRowDialog::backdrop{background:#020813c9}.mob-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;max-height:350px;overflow:auto}.mob-choice{display:flex;align-items:center;gap:10px;border:1px solid #244b72;border-radius:8px;padding:10px}.mob-choice input{width:auto}.item-type-icon{width:52px;height:52px;object-fit:contain;image-rendering:auto}.item-card{position:relative}.item-card .item-badge{position:absolute;right:12px;top:14px}#emsSections details{margin-top:16px}#emsDetail form{margin:18px 0}#emsRowFields input{max-width:100%}

.world-map{position:relative;height:360px;max-width:600px;border:1px solid #315872;background:repeating-linear-gradient(0deg,transparent 0 44px,#244156 45px),repeating-linear-gradient(90deg,#0a1725 0 44px,#244156 45px);margin:24px 0}.world-pin{position:absolute;padding:3px;min-width:22px;font-size:10px;transform:translate(-50%,-50%)}#worldRecords details{padding:12px;border:1px solid #244156;margin:8px 0}#worldRecords summary{cursor:pointer;color:#8ed6ff}#worldDraftResult pre{white-space:pre-wrap}
.item-visual{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;flex-shrink:0}.item-sprite{display:block;background-repeat:no-repeat;flex-shrink:0}.world-map{aspect-ratio:1;height:auto;width:min(100%,600px);background-size:100% 100%}.world-map.has-map{background-color:#050a10}.world-map small{position:absolute;top:4px;left:4px;background:#071321da;padding:4px;z-index:2}.world-pin.selected{outline:2px solid #fff;background:#038bf1}.npc-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.shop-item-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shop-item-summary small{width:100%;font-size:12px}.npc-shop{padding:16px;border:1px solid #315872;margin-top:16px}.npc-shop-grid details{background:#081623}#worldRecords details form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}#worldRecords form pre{grid-column:1/-1}

.npc-shop-dialog{width:min(1100px,94vw);max-height:90vh;padding:24px;color:#d9edf8;background:#0b1a2a;border:1px solid #4986a7;border-radius:14px;overflow:auto}.npc-shop-dialog::backdrop{background:rgba(1,8,16,.8)}.npc-shop-dialog .picker-header{position:sticky;top:-24px;background:#0b1a2a;padding:12px 0;z-index:2}.npc-shop-dialog .npc-shop-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px}.shop-product-card{padding:16px;background:#102438;border:1px solid #294b65;border-radius:10px}.shop-product-card .shop-item-summary{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.shop-product-card .gm-stats{display:block}.shop-product-card label{display:block;margin:10px 0}.shop-product-card details{margin:12px 0}.shop-delete{background:#442536;border:1px solid #a86073;color:#ffdce2;padding:10px 14px;border-radius:6px}.npc-quick-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.npc-shop-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}.npc-shop-dialog .card{margin:14px 0}
#cashDialog{width:min(1000px,94vw);max-height:90vh;overflow:auto;background:#091a29;color:#d8e9f6;border:1px solid #386684;padding:24px;border-radius:12px}#cashDialog::backdrop{background:rgba(0,5,14,.8)}#cashDialog .gm-stats{gap:14px}#cashDialog label{color:#c3d8e7}#cashDialog details{grid-column:1/-1}#cashDialog summary{cursor:pointer;color:#80ccff;padding:12px 0}#cashDialog pre{white-space:pre-wrap;padding:16px;background:#04111d;color:#a7dcff}#cashDialog .item-grid{margin:20px 0}#cashContents{margin-top:16px}
