:root{color-scheme:dark;--bg:#0a0b14;--side:#0d1020;--panel:#13172a;--panel2:#181d35;--border:rgba(163,147,255,.12);--muted:#8d95b2;--ink:#e8ebff;--purple:#9672ff;--accent:#bd9cff;--green:#6eddbe;--red:#ff8a9b;--shadow:0 15px 70px rgba(0,0,0,.16)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% -5%,rgba(80,45,145,.17),transparent 35%),var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:#d8c6ff}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}input,textarea,select{border:1px solid #333750;border-radius:9px;background:#0b1020;color:#f0edff;padding:10px 12px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 2px rgba(150,114,255,.14)}label{font-size:.89rem;color:#bcc2de;display:block}label input,label select,label textarea{margin-top:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.25}h2{font-size:1.75rem;letter-spacing:-.04em}h3{font-size:1.06rem}p{color:#b2bad5}em{font-style:normal;color:var(--accent)}.eyebrow{font-size:.67rem;letter-spacing:.19em;font-weight:800;color:#a69aca}.fine{font-size:.77rem;color:var(--muted);margin-top:14px}.muted-text{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;padding:10px 17px;border-radius:9px;font-weight:700;font-size:.81rem;transition:.2s;background:#2a3048;color:#e5e7f8;white-space:nowrap;min-height:38px}.btn.primary{background:linear-gradient(125deg,#8260ea,#aa7ff8);box-shadow:0 3px 16px rgba(142,100,238,.19);color:#fff}.btn.primary:hover{background:linear-gradient(125deg,#956afc,#c398ff);color:white;transform:translateY(-1px)}.btn.outline{border-color:#554879;background:rgba(136,99,213,.07);color:#c9b8ff}.btn.subtle{background:rgba(255,255,255,.04)}.btn.muted{opacity:.45;background:#292c43}.btn.danger{background:rgba(245,89,119,.16);color:#ff9cae;border-color:rgba(245,89,119,.2)}.stack{display:flex;flex-direction:column;gap:17px}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form input{max-width:245px}.inline-form label{min-width:90px}
.sidebar{width:248px;position:fixed;left:0;top:0;bottom:0;background:linear-gradient(172deg,#10142a,#0a0d1b 80%);border-right:1px solid var(--border);padding:28px 13px 20px;display:flex;flex-direction:column;z-index:9}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 30px;color:#f2eaff}.brand:hover{color:white}.brand-mark{font-size:38px;color:#b7a2ff;text-shadow:0 0 26px rgba(162,120,255,.7);line-height:1}.brand small{display:block;color:#878cba;font-size:.57rem;letter-spacing:.19em;font-weight:800}.brand strong{display:block;font-size:1.35rem;letter-spacing:-.04em;line-height:1.1}.side-caption{font-size:.59rem;color:#5d6689;font-weight:900;letter-spacing:.21em;margin:4px 13px 10px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto;scrollbar-width:thin}.sidebar nav a{display:flex;align-items:center;gap:13px;color:#9298b8;padding:10px 13px;border-radius:9px;font-size:.88rem;position:relative;font-weight:600}.sidebar nav a:hover,.sidebar nav a.selected{background:#24213d;color:#e6dcff}.sidebar nav a.selected:before{content:'';position:absolute;left:0;top:17%;height:66%;width:3px;border-radius:3px;background:#a48bff}.nav-ico{width:22px;text-align:center;font-size:1rem}.nav-badge{margin-left:auto;background:#744edd;color:white;padding:1px 5px;border-radius:5px;font-size:.65rem}.sidebar-bottom{margin-top:auto;padding:15px 10px 0;border-top:1px solid var(--border)}.profile{display:flex;gap:10px;align-items:center;margin-bottom:15px}.profile small{display:block;font-size:.65rem;color:var(--muted)}.avatar{border-radius:11px;background:linear-gradient(140deg,#734fbd,#c38cff);width:37px;height:37px;display:grid;place-items:center;font-weight:900}.sidebar-bottom .btn{width:100%;justify-content:start}
.shell{margin-left:248px;min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:100px;padding:23px 37px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--border)}.top-name h1{margin:1px 0 0;font-size:1.55rem;letter-spacing:-.04em}.head-controls{display:flex;gap:15px;align-items:center}.village-picker{display:flex;align-items:center;gap:8px;background:#181b31;padding:5px 10px;border:1px solid var(--border);border-radius:10px}.village-picker select{max-width:220px;border:0;background:transparent;font-size:.81rem;padding:5px 2px;box-shadow:none}.village-picker span{color:var(--accent)}.alert-link{display:flex;align-items:center;gap:8px;color:#eee8ff;font-size:1.4rem}.alert-link span{font-size:.75rem;color:#eac7ff}.resource-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 38px;background:#111426;border-bottom:1px solid var(--border)}.resource{padding:19px 6px 19px 20px;display:flex;gap:11px;align-items:center;border-right:1px solid var(--border)}.resource:first-child{padding-left:0}.resource:last-child{border-right:0}.resource>span{font-size:1.4rem}.resource small{display:block;font-size:.58rem;letter-spacing:.15em;font-weight:850;color:#868eaf}.resource strong{font-size:1.03rem}.resource i{color:#6e7797;font-size:.71rem;font-style:normal;font-weight:500}.content{width:100%;max-width:1610px;margin:0 auto;padding:32px 38px 55px;flex:1}.footer{border-top:1px solid var(--border);padding:17px 38px;display:flex;justify-content:space-between;gap:12px;color:#676f92;font-size:.68rem;letter-spacing:.07em}.section-intro{max-width:780px;margin-bottom:23px}.section-intro h2{margin-bottom:7px}.section-intro p{margin:0}.panel{background:linear-gradient(152deg,rgba(27,31,55,.89),rgba(16,20,37,.97));border:1px solid var(--border);border-radius:15px;padding:24px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.panel-heading h3{margin:0}.panel-heading a{font-size:.76rem}.panel-heading span{font-size:.78rem;color:var(--muted)}.flash-stack{display:grid;gap:8px}.flash{border-radius:9px;border:1px solid rgba(110,221,190,.21);color:#8de6ce;background:rgba(34,130,104,.13);padding:12px 17px;margin-bottom:16px;font-size:.87rem}.flash.error{border-color:rgba(255,138,155,.25);color:#ffc0ce;background:rgba(185,52,78,.16)}.info-line{padding:12px 17px;border:1px solid rgba(150,114,255,.24);background:rgba(105,76,170,.12);border-radius:10px;margin:20px 0;color:#c9c2e9;font-size:.86rem}.info-line strong{color:#f2eaff}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.metric{padding:19px 21px;border:1px solid var(--border);background:linear-gradient(135deg,#1c203b,#141829);border-radius:13px}.metric small{display:block;letter-spacing:.16em;font-size:.6rem;color:#9283c2;font-weight:850;margin-bottom:7px}.metric strong{display:block;font-size:1.85rem;letter-spacing:-.05em}.metric span{font-size:.7rem;color:var(--muted)}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gap-top{margin-top:20px}.job,.event{display:flex;gap:13px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.job:first-of-type,.event:first-of-type{border-top:0}.job>div:nth-child(2),.event>span:nth-child(2){flex:1}.job strong,.event strong{display:block;font-size:.84rem}.job small,.event small{display:block;font-size:.73rem;color:var(--muted)}.job-icon,.event-ico{display:grid;place-items:center;width:38px;height:38px;background:#2b2947;border-radius:10px;font-size:1.1rem;flex-shrink:0}.event{color:#d8d9ea}.event:hover{color:var(--accent)}.event>span:last-child{margin-left:auto;font-size:1.2rem}.empty{padding:30px 10px;text-align:center;color:#7a83a9;font-size:.84rem}
.hero{min-height:260px;display:flex;align-items:center;justify-content:space-between;gap:15px;overflow:hidden;position:relative;border:1px solid rgba(170,131,255,.23);border-radius:17px;background:linear-gradient(100deg,#2b1d4d 0%,#211b3a 45%,#10162c 100%);padding:35px 38px;isolation:isolate}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 88% 26%,rgba(175,138,255,.2),transparent 48%)}.hero h2{font-size:2.5rem;margin:8px 0 10px;color:white}.hero p{margin:0;color:#c7bde0}.hero p strong{color:white}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.scene{height:225px;min-width:42%;position:relative;align-self:stretch}.scene-moon{position:absolute;right:22%;top:7px;width:75px;height:75px;border-radius:50%;background:#b9a4ff;filter:blur(.3px);box-shadow:0 0 60px #765cdb,0 0 100px #765cdb}.mountains{position:absolute;inset:0;bottom:0;overflow:hidden}.mountains span{position:absolute;bottom:-63px;width:245px;height:240px;background:linear-gradient(150deg,#32325d,#10142d);transform:rotate(45deg);border:1px solid #6454a1}.mountains span:nth-child(1){right:-10px}.mountains span:nth-child(2){right:125px;bottom:-105px;background:linear-gradient(150deg,#4a3376,#18142f)}.mountains span:nth-child(3){right:250px;bottom:-130px;background:linear-gradient(150deg,#352850,#101326)}.scene-town{position:absolute;bottom:21px;right:15%;display:flex;align-items:end;gap:8px}.scene-town span{width:36px;height:48px;background:linear-gradient(#594b8b,#2b2452);border:2px solid #8376ba;box-shadow:inset 8px 0 0 rgba(0,0,0,.2)}.scene-town span:before{content:'';display:block;width:100%;height:14px;background:#9c82ef;transform:skewY(-18deg);margin-top:-14px}.scene-town span:nth-child(2){height:83px;width:50px}.scene-town span:nth-child(3){height:57px}.scene-town span:nth-child(4){height:33px}.scene-label{position:absolute;bottom:0;right:0;color:#a79ec1;font:10px monospace;letter-spacing:.17em}
.building-grid,.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.building,.unit{display:flex;flex-direction:column;gap:13px;min-width:0}.building-heading{display:flex;gap:12px;align-items:center}.building-heading h3{margin:0;font-size:.98rem}.building-heading small{font-size:.71rem;color:var(--muted)}.building-ico{display:grid;place-items:center;width:50px;height:50px;background:#2a2747;border:1px solid #41385f;border-radius:13px;font-size:1.55rem;flex-shrink:0}.level-badge{margin-left:auto;color:#bd9cff;background:rgba(165,123,255,.1);font-size:.6rem;font-weight:850;border-radius:6px;padding:5px 7px;white-space:nowrap}.building p,.unit p{margin:0;font-size:.79rem;min-height:42px}.production{font-size:.8rem;color:var(--green);margin:auto 0 0}.costs{display:flex;gap:10px;flex-wrap:wrap;color:#b5c0dd;font-size:.78rem;background:rgba(5,9,19,.25);padding:10px 11px;border-radius:8px}.build-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}.build-footer small{color:var(--muted)}.warn{color:#ffbd9d;font-size:.73rem}.unit-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px;color:#aeb7d4;font-size:.71rem}.unit .inline-form{margin-top:auto}.unit .inline-form input{width:95px}.unit .inline-form .btn{flex:1}.dispatch-form{display:grid;gap:19px}.dispatch-form>label{max-width:400px}.section-mini{font-size:.7rem;letter-spacing:.12em;font-weight:800;color:#a59ac9;border-bottom:1px solid var(--border);padding-bottom:9px}.dispatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.amount-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#15192e;border:1px solid var(--border);padding:8px 12px;border-radius:9px}.amount-row span{font-size:.77rem}.amount-row small{color:#7f86aa}.amount-row input{width:105px;margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.82rem}th{text-align:left;color:#9195ba;font-size:.68rem;letter-spacing:.08em;font-weight:800;border-bottom:1px solid #35314f;padding:13px 12px}td{border-bottom:1px solid var(--border);padding:13px 12px;color:#d0d3e7}tr:last-child td{border:0}tr.unread td, tr.highlight-row td{background:rgba(129,100,206,.09)}.status{font-size:.72rem;background:#262940;border-radius:6px;padding:6px 9px;white-space:nowrap}.status.attack{background:rgba(221,80,101,.15);color:#ffabb4}.status.trade{background:rgba(114,215,179,.12);color:#8deaca}.report-body{font:inherit;white-space:pre-wrap;word-break:break-word;background:#0c1020;padding:23px;border-radius:9px;border:1px solid var(--border);line-height:1.8;color:#ced5ee}.settings-card{max-width:760px}
.map-panel{padding:20px}.map-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.map-jump{display:flex;gap:7px;align-items:center}.map-jump input{width:67px}.map-scroll{overflow:auto;max-width:100%}.world-map{display:grid;grid-template-columns:repeat(var(--cols),minmax(51px,1fr));min-width:660px;gap:3px;background:#0e1421;border-radius:9px;padding:8px;aspect-ratio:1.3}.map-tile{min-height:47px;position:relative;display:grid;place-items:center;border-radius:4px;background:#1b322e;color:#365e4a;border:1px solid #23392f}.map-tile a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.25rem}.map-tile a small{font-size:.59rem;color:#ded8ff}.map-tile.npc{background:#3b3328;border-color:#6e5c3c}.map-tile.mine{background:#352957;border-color:#ab81fa}.map-tile.enemy{background:#4a253b;border-color:#8d3d6a}.map-tile.home{box-shadow:inset 0 0 0 2px #d9bbff}.map-tile.terrain-0{background:#20342d}.map-tile.terrain-1{background:#264034}.map-tile.terrain-2{background:#1b2e31}.map-tile.terrain-3{background:#252c43}.map-tile.terrain-4{background:#2d3b33}.map-tile.terrain-5{background:#1f352e}.map-tile.terrain-6{background:#24352f}.map-tile a:hover{background:rgba(255,255,255,.1)}.map-footer{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-top:15px;font-size:.73rem;color:#a1a8c5}.map-footer span:last-child{margin-left:auto}.legend{display:inline-block;height:9px;width:9px;border-radius:2px;margin-right:4px}.legend.mine{background:#9a76f4}.legend.enemy{background:#cc5487}.legend.npc{background:#a88b4d}.map-directions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:24px}.map-directions a{padding:8px 12px;background:#26223f;border-radius:8px;font-size:.79rem}
.guest{background:#090b16;min-height:100vh}.auth-backdrop{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% -5%,#342052 0,transparent 48%),linear-gradient(#0a0c19,#080911)}.auth-wrap{max-width:460px;width:100%}.auth-logo{text-align:center;margin-bottom:29px}.auth-logo .crystal{font-size:64px;line-height:1.1;color:#b794ff;text-shadow:0 0 55px #9478ef}.auth-logo h1{font-size:3.3rem;letter-spacing:-.07em;margin:0}.auth-logo p{margin:6px auto;color:#979bb7;max-width:300px;font-size:.89rem}.auth-panel{padding:26px 30px}.subtabs{display:flex;background:#0d1021;border-radius:9px;padding:4px;margin-bottom:24px}.subtabs a{flex:1;text-align:center;padding:9px;border-radius:7px;color:#9ba2c0;font-size:.87rem}.subtabs a.active{background:#30264f;color:#e4d7ff}.auth-panel .btn{width:100%;justify-content:space-between;padding:13px 17px}.auth-panel .fine{text-align:center;padding-top:10px}.mobile-brand{display:none}
@media(max-width:1320px){.sidebar{width:212px}.shell{margin-left:212px}.content{padding:28px 23px}.topbar{padding:20px 23px}.resource-strip{padding:0 23px}.building-grid,.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:30px}}
@media(max-width:950px){.sidebar{width:70px;padding:22px 8px}.brand{padding:0 4px 23px;justify-content:center}.brand span:last-child,.side-caption,.sidebar nav a span:not(.nav-ico),.sidebar-bottom .profile,.sidebar-bottom .btn{display:none}.sidebar nav a{justify-content:center;padding:12px}.sidebar-bottom{padding:0}.shell{margin-left:70px}.grid-two{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.resource{padding:12px 8px}.resource strong{font-size:.87rem}.resource>span{font-size:1rem}.hero .scene{min-width:38%}.dispatch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sidebar{position:relative;width:100%;height:auto;padding:8px}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;gap:3px}.sidebar nav a{flex:0 0 42px;padding:8px}.sidebar nav a.selected:before{display:none}.shell{margin:0}.mobile-brand{display:block;color:#b99bff;font-weight:900;font-size:.72rem;letter-spacing:.11em}.topbar{min-height:80px;padding:12px 14px;gap:7px}.top-name .eyebrow{display:none}.top-name h1{font-size:1.12rem}.head-controls{gap:6px}.village-picker{padding:4px}.village-picker select{max-width:140px;font-size:.69rem}.alert-link{font-size:1rem}.resource-strip{padding:0 10px;grid-template-columns:repeat(2,1fr)}.resource:nth-child(2){border-right:0}.resource{padding:10px!important}.resource small{font-size:.53rem}.content{padding:20px 13px}.footer{padding:15px;font-size:.56rem}.building-grid,.unit-grid,.stats-grid{grid-template-columns:1fr}.hero{padding:24px;min-height:270px}.hero h2{font-size:1.9rem}.hero .scene{position:absolute;inset:0;opacity:.15;z-index:-1}.hero:after{background:rgba(10,9,25,.25)}.panel{padding:17px}.dispatch-grid{grid-template-columns:1fr}.map-toolbar{flex-wrap:wrap}.map-scroll .world-map{min-width:600px}.footer span:last-child{display:none}}
