:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#ecf9f0;background:#07171b;--bg:#07171b;--surface:#10252a;--surface-2:#132d31;--line:rgba(184,230,200,.13);--muted:#85a6a6;--green:#c5f379;--mint:#69dec2;--gold:#efc875;--text:#edf9f0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 1000px 500px at 72% -180px,rgba(26,102,103,.35),transparent),radial-gradient(ellipse 700px 500px at -30% 30%,rgba(59,97,46,.12),transparent),var(--bg);line-height:1.45}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}input,select{color:var(--text)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}
.star-field{position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(#e9ffe1 1px,transparent 1px),radial-gradient(#f2e3b4 1px,transparent 1px);background-position:4px 13px,70px 81px;background-size:190px 170px,260px 250px;mask-image:linear-gradient(to bottom,#000 0%,transparent 60%)}
.site-shell{position:relative;max-width:1580px;margin:auto;padding:0 4vw;min-height:100vh}.site-header{height:95px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;position:relative;display:grid;place-items:center}.planet{width:22px;height:22px;border-radius:50%;background:linear-gradient(120deg,#e7f9ba 10%,#79dba7 55%,#338e96);box-shadow:0 0 24px rgba(173,246,182,.25)}.planet-ring{position:absolute;width:42px;height:17px;border:2px solid #c5f379;transform:rotate(-26deg);border-radius:50%;opacity:.7}.brand-words{display:flex;flex-direction:column;gap:2px}.brand-words strong{font-size:20px;letter-spacing:.03em;line-height:1}.brand-words strong span{color:var(--green)}.brand-words small{font-size:10px;letter-spacing:.085em;color:var(--muted);text-transform:uppercase}.global-nav{display:flex;gap:29px;color:#adbec0;font-size:13px}.global-nav a:hover{color:var(--green)}.header-end{display:flex;align-items:center;gap:8px;color:#a9c2bd;font-size:12px}.server-dot,.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 11px rgba(179,243,122,.8);flex-shrink:0}.header-exit{background:transparent;color:#a9c2bd;border:none;border-left:1px solid var(--line);padding:2px 0 2px 14px;margin-left:11px}.header-exit:hover{color:white}.site-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);font-size:11px;color:#719292;padding:25px 0 35px;margin-top:42px}
.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:var(--green);font-weight:800;display:flex;align-items:center;gap:8px;margin:0}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-weight:750;letter-spacing:-.05em}h1 em,h2 em{font-style:normal;color:var(--green)}h2{letter-spacing:-.025em}
.auth-screen{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:6vw;align-items:center;min-height:calc(100vh - 175px);padding:60px 2vw}.auth-promo{position:relative;padding-bottom:60px}.auth-promo h1{font-size:clamp(60px,8.5vw,115px);line-height:.98;margin:24px 0}.auth-promo>p{font-size:16px;color:#aac5bf;max-width:500px;line-height:1.85}.feature-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.feature-tags span{font-size:12px;color:#d8e9d9;border:1px solid rgba(192,244,133,.2);padding:8px 11px;border-radius:999px;background:rgba(182,236,119,.055)}.auth-scene{height:130px;margin-top:35px;border-radius:20px;position:relative;background:linear-gradient(180deg,rgba(78,117,89,.1),rgba(51,112,66,.24)),repeating-linear-gradient(140deg,transparent 0 28px,rgba(202,234,162,.025) 29px 31px);transform:skew(-5deg);border:1px solid rgba(143,218,143,.08);overflow:hidden}.auth-scene .building{position:absolute;filter:drop-shadow(0 15px 4px rgba(0,0,0,.28));font-size:65px;bottom:15px}.b1{left:7%}.b2{left:28%}.b3{left:48%}.b4{left:70%}.b5{left:86%}.auth-panel{overflow:hidden;background:linear-gradient(160deg,rgba(25,61,65,.94),rgba(12,36,40,.98));border:1px solid rgba(171,226,197,.16);border-radius:26px;padding:43px;position:relative;box-shadow:0 25px 90px rgba(0,0,0,.22)}.panel-glow{position:absolute;right:-140px;top:-130px;width:350px;height:350px;background:radial-gradient(circle,rgba(177,243,103,.14),transparent 66%);pointer-events:none}.auth-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:17px;background:rgba(202,248,131,.11);color:var(--green);font-size:34px;border:1px solid rgba(195,243,121,.18);margin-bottom:26px}.auth-panel h2{font-size:clamp(29px,3vw,43px);line-height:1.13;margin:11px 0 16px}.auth-panel .muted{font-size:13px;line-height:1.7}.auth-toggle{display:flex;background:#0c2529;border:1px solid var(--line);padding:5px;border-radius:13px;gap:3px;margin:28px 0 21px}.auth-toggle button{flex:1;color:#90aead;font-size:12px;font-weight:700;border:none;background:transparent;padding:12px 5px;border-radius:9px}.auth-toggle button.is-selected{color:#152b26;background:var(--green)}.auth-form{display:grid;gap:18px}.auth-form label,.sell-form label{display:grid;gap:8px;color:#b8d0c5;font-size:12px;font-weight:650}.auth-form input,.sell-form input,.sell-form select{background:#0a2126;border:1px solid rgba(180,223,209,.2);padding:13px 14px;border-radius:11px;outline:none;width:100%;transition:border-color .2s}.auth-form input:focus,.sell-form input:focus,.sell-form select:focus{border-color:var(--green)}input::placeholder{color:#58787b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 15px;border-radius:11px;border:1px solid transparent;font-weight:750;font-size:12px;transition:transform .2s,background .2s,border .2s}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#153326}.btn-primary:hover{background:#defe9d}.btn-primary span{margin-left:auto;font-size:15px}.full{width:100%;margin-top:5px}.btn-quiet{color:#cde5ce;background:#1a383c;border-color:rgba(187,236,185,.12)}.btn-quiet:hover{background:#23494d}.btn-ghost{color:#bce3c6;background:transparent;border:1px solid rgba(157,205,186,.23)}.disclaimer{font-size:11px;color:#759898;margin:17px 0 0;line-height:1.6}.error-text{color:#ffbdac;font-size:13px;margin-top:20px}
.game-screen{padding-top:28px}.demo-banner{padding:10px 16px;border:1px solid rgba(239,200,117,.28);background:rgba(239,200,117,.08);color:#e4d5ae;font-size:12px;border-radius:12px;margin-bottom:24px}.demo-banner span{margin-right:8px}.game-layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:25px;align-items:start}.sidebar{display:grid;gap:18px}.card{border:1px solid var(--line);background:linear-gradient(140deg,rgba(17,43,47,.96),rgba(12,34,38,.98));border-radius:19px;padding:22px;box-shadow:0 14px 40px rgba(0,0,0,.08)}.citizen-card{text-align:center;padding-top:26px}.citizen-card .eyebrow{justify-content:center;font-size:9px;color:#94beb3}.citizen-avatar{width:100px;height:100px;margin:18px auto 15px;display:grid;place-items:center;position:relative;border-radius:50%;background:radial-gradient(circle at 40% 30%,#3e7173,#153c47 67%,#12323a);border:1px solid rgba(156,240,184,.2)}.citizen-avatar>span{font-size:52px;filter:drop-shadow(0 8px 5px rgba(0,0,0,.2));position:relative;z-index:2}.avatar-orbit{position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(194,237,166,.3)}.citizen-card h2{font-size:20px;margin:0}.citizen-id{font-size:10px;color:#7a9e9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0 25px}.stat-block{display:grid;gap:12px;text-align:left}.stat-row{display:flex;justify-content:space-between;font-size:11px;color:#b8d3c7;margin-bottom:5px}.bar{height:7px;background:#284247;border-radius:50px;overflow:hidden}.bar>span{display:block;height:100%;width:50%;border-radius:50px;transition:width .5s}.vitals-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:24px}.vitals-actions .btn{padding:11px 4px;font-size:11px}.money-card{background:linear-gradient(140deg,#243e37,#0e3938);border-color:rgba(164,238,182,.25);padding:23px;position:relative;overflow:hidden}.money-card:after{content:'◈';position:absolute;font-size:160px;right:-30px;top:-70px;color:rgba(194,247,139,.07)}.card-kicker{font-size:10px;color:#81a9a0;text-transform:uppercase;letter-spacing:.13em;font-weight:750;margin:0 0 9px}.money-value{font-size:27px;letter-spacing:-.04em;font-weight:800;position:relative;z-index:1;margin:15px 0 24px}.money-bottom{display:flex;justify-content:space-between;color:#b7d0b4;font-size:12px;border-top:1px solid rgba(215,249,195,.12);padding-top:11px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-line h2{font-size:19px;margin:0}.section-line h3{font-size:15px;margin:0}.tiny-badge{font-size:10px;color:#b0e7c2;background:rgba(132,218,160,.1);padding:5px 9px;border-radius:8px;border:1px solid rgba(135,210,167,.12)}.stock-card{padding:20px}.inventory-list{display:grid;gap:5px}.inventory-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px;border-bottom:1px solid rgba(192,234,202,.06)}.inventory-item:last-child{border-bottom:none}.stock-name{font-size:12px;color:#b8d1c7;display:flex;align-items:center;gap:9px}.stock-name .emoji{font-size:17px}.stock-num{font-size:12px;font-weight:800;color:#edfaef;font-variant-numeric:tabular-nums}.empty-note{font-size:12px;color:#7d9e98;line-height:1.7;margin:0}
.main-area{min-width:0}.welcome{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:15px 3px 25px}.welcome h1{font-size:clamp(30px,3.2vw,48px);line-height:1.1;margin:12px 0}.welcome p:last-child{font-size:13px;color:#9cbeb1;margin:0}.live-tag{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:11px 14px;border-radius:12px;background:rgba(164,223,150,.04);white-space:nowrap}.live-bubble{width:34px;height:34px;border-radius:50%;border:1px solid rgba(183,242,136,.2);background:rgba(179,243,121,.11);position:relative}.live-bubble:after{content:'✺';position:absolute;inset:0;display:grid;place-items:center;color:var(--green);font-size:19px}.live-tag strong,.live-tag small{display:block}.live-tag strong{font-size:10px;letter-spacing:.08em;color:#ceeeb8}.live-tag small{font-size:10px;color:#8ea99b;margin-top:3px}.game-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:21px;overflow-x:auto}.tab{border:0;border-bottom:2px solid transparent;color:#91aaa6;background:transparent;font-size:13px;font-weight:750;padding:14px 21px 16px;white-space:nowrap}.tab:hover{color:white}.tab.is-active{color:var(--green);border-color:var(--green)}.game-view{display:grid;gap:18px;min-width:0}
.world-board{position:relative;overflow:hidden;min-height:385px;height:clamp(385px,36vw,490px);border:1px solid rgba(166,227,178,.26);border-radius:20px;background:radial-gradient(circle at 72% 2%,rgba(226,243,150,.18),transparent 30%),radial-gradient(ellipse at 20% 70%,rgba(49,114,81,.55),transparent 60%),linear-gradient(150deg,#204d55,#2a5f5c 42%,#17413f);box-shadow:inset 0 0 80px rgba(0,0,0,.1)}.world-board:before{content:'';position:absolute;left:8%;right:8%;top:20%;height:80%;background:repeating-linear-gradient(30deg,transparent,transparent 41px,rgba(193,233,154,.05) 43px),repeating-linear-gradient(150deg,transparent,transparent 43px,rgba(194,240,173,.05) 45px);clip-path:polygon(49% 0,100% 41%,58% 100%,0 58%);transform:rotate(-8deg) scale(1.3)}.world-board:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(transparent 70%,rgba(4,31,30,.45)),radial-gradient(ellipse at 60% 80%,transparent 30%,rgba(8,28,34,.32));}.board-overlay{position:absolute;left:23px;right:23px;top:20px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:5}.map-kicker,.map-date{font-size:10px;font-weight:750;letter-spacing:.15em;color:#d2efcf;background:rgba(12,41,41,.45);border:1px solid rgba(199,237,181,.15);padding:8px 10px;border-radius:8px}.map-date{letter-spacing:0;font-variant-numeric:tabular-nums}.field-lines{position:absolute;left:11%;top:55%;height:30%;width:22%;transform:rotate(-20deg);background:repeating-linear-gradient(0deg,#947c3a,#947c3a 4px,#c3ab59 5px,#bfa453 12px);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);opacity:.45;filter:blur(.5px)}.landmark{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:98px;min-height:82px;padding:5px 9px 8px;border:1px solid rgba(236,255,194,.35);border-bottom:4px solid rgba(10,48,38,.8);border-radius:13px;background:linear-gradient(180deg,rgba(37,91,83,.9),rgba(23,64,59,.97));box-shadow:0 8px 0 rgba(5,43,36,.35),0 17px 20px rgba(0,0,0,.24);color:#f5ffe2;transition:transform .2s,box-shadow .2s}.landmark:hover{transform:translateY(-8px);box-shadow:0 14px 0 rgba(5,43,36,.33),0 20px 26px rgba(0,0,0,.2);background:linear-gradient(180deg,#4f8979,#1b4c43)}.landmark .land-icon{font-size:39px;line-height:1.3;filter:drop-shadow(0 5px 3px rgba(0,0,0,.2))}.landmark strong{font-size:11px;letter-spacing:.02em}.landmark small{font-size:10px;opacity:.76}.land-farm{top:48%;left:11%}.land-mine{top:30%;left:34%}.land-factory{top:48%;left:55%}.land-shop{top:24%;left:74%}.land-home{top:69%;left:77%}.map-tree{font-size:28px;position:absolute;z-index:1;filter:drop-shadow(0 8px 5px rgba(0,0,0,.25))}.t1{top:25%;left:13%}.t2{top:66%;left:37%}.t3{top:75%;left:51%}.t4{top:15%;left:56%}.map-grass{position:absolute;color:#b7d99b;opacity:.5;font-size:24px}.g1{top:40%;left:6%}.g2{top:73%;left:64%}.g3{top:28%;left:64%}.map-fog{position:absolute;z-index:3;left:22px;bottom:15px;color:#cbe6af;font-size:14px}.map-fog span{font-size:10px;color:#bbdbc0}
.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.workspace .section-line{align-items:start}.workspace h2{font-size:20px;margin:0}.panel-glyph{font-size:25px;color:#a2d98a;opacity:.6}.gather-grid{display:grid;gap:8px}.gather-row{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:11px;border-radius:11px;border:1px solid rgba(186,227,184,.1);background:rgba(35,74,69,.32)}.gather-row .g-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;font-size:21px;background:rgba(180,214,166,.1)}.g-text{min-width:0;flex:1}.g-text strong{font-size:12px;display:block}.g-text small{font-size:10px;color:#87a7a1;display:block;margin-top:3px}.act-small{padding:8px 10px;white-space:nowrap;font-size:10px;background:rgba(197,243,121,.12);color:#d6f5a8;border:1px solid rgba(196,243,121,.18);border-radius:9px;font-weight:800}.act-small:not(:disabled):hover{background:rgba(197,243,121,.24)}.plot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.plot{padding:12px 7px;text-align:center;border:1px dashed rgba(183,223,159,.22);border-radius:11px;background:rgba(40,82,64,.25);min-height:149px;display:flex;align-items:center;flex-direction:column;gap:6px}.plot-icon{font-size:32px;line-height:1.25;min-height:42px}.plot-name{font-size:11px;font-weight:800}.plot-status{font-size:10px;color:#a5c5ad;flex:1;display:flex;align-items:center}.plot button{width:100%}.mini-progress{width:100%;height:4px;border-radius:5px;overflow:hidden;background:#38534a}.mini-progress span{display:block;height:100%;background:var(--green)}.activity-card{padding:22px}.feed-list{display:grid;gap:0}.feed-line{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(177,219,185,.07);font-size:12px;color:#bad3c5}.feed-line:last-child{border-bottom:0}.feed-line .event-point{width:8px;height:8px;border:2px solid var(--green);border-radius:50%}.feed-line time{font-size:10px;color:#779b96}
.view-intro{padding:21px 4px 9px}.view-intro h2{font-size:clamp(30px,4vw,47px);margin:11px 0 7px}.view-intro p:last-child{color:#92aea7;font-size:13px;line-height:1.75}.job-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.job-box{background:rgba(50,90,75,.3);border:1px solid rgba(163,226,158,.16);border-radius:12px;padding:17px;min-height:118px;display:flex;flex-direction:column;gap:11px}.job-box .job-icon{font-size:20px}.job-title{font-size:13px;font-weight:800}.job-time{font-size:11px;color:var(--green)}.job-info{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe{border:1px solid rgba(176,222,193,.12);border-radius:12px;padding:17px;background:rgba(34,73,68,.25)}.recipe-head{display:flex;align-items:center;gap:10px}.recipe-emoji{font-size:25px;width:42px;height:42px;display:grid;place-items:center;background:rgba(154,222,164,.1);border-radius:10px}.recipe strong{font-size:13px}.recipe-site{font-size:10px;color:#84a79c;margin-top:3px}.recipe-inputs{font-size:11px;color:#a0c0ae;margin:17px 0}.recipe-output{font-size:11px;color:#d0eea1;margin:0 0 13px}.recipe-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-foot span{font-size:11px;color:#8da9a4}.info-note{border:1px solid rgba(166,226,184,.1);border-radius:12px;background:rgba(45,80,72,.15);padding:14px 18px;font-size:11px;color:#8ca99b}
.market-card{min-width:0}.market-live{display:flex;align-items:center;gap:7px;color:#b9f3a2;font-size:10px;font-weight:850;letter-spacing:.08em}.market-list{display:grid;gap:8px}.market-row{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(82px,.9fr) minmax(85px,.65fr) 65px auto;align-items:center;gap:12px;border:1px solid rgba(163,221,178,.1);border-radius:10px;padding:12px;background:rgba(41,77,70,.2)}.market-good{display:flex;align-items:center;gap:10px;min-width:0}.market-good .emoji{font-size:26px}.market-good strong{display:block;font-size:12px}.market-good small{color:#82a49a;display:block;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.market-row .market-stock{font-size:11px;color:#a9c8af}.market-price{font-size:13px;font-weight:800;color:#ddf6b5;font-variant-numeric:tabular-nums}.market-price small{display:block;color:#82a79b;font-size:9px;font-weight:500}.market-row input{width:62px;padding:7px;background:#102c2c;color:white;border:1px solid var(--line);border-radius:7px;text-align:center;font-size:11px}.market-row .act-small{white-space:normal;min-height:35px}.sell-form{display:grid;gap:15px}.sell-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.my-listings,.orders-list{display:grid;gap:8px}.own-row,.order-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-radius:10px;border:1px solid rgba(162,217,170,.1);background:rgba(40,80,75,.19)}.own-row strong,.order-row strong{display:block;font-size:12px}.own-row small,.order-row small{display:block;font-size:10px;color:#8ea99d;margin-top:3px}.order-row{flex-wrap:wrap}.order-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.order-tag{font-size:10px;color:#d4efbc;border:1px solid rgba(184,245,145,.15);background:rgba(198,241,142,.07);border-radius:7px;padding:5px 8px}.pay-link{background:var(--green);color:#153128;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800}.order-refresh{margin-left:0}.my-listings .empty-note,.market-list .empty-note,.orders-list .empty-note{padding:16px 0}
.toast{position:fixed;z-index:50;right:25px;bottom:25px;max-width:min(380px,calc(100vw - 40px));background:#26493e;border:1px solid rgba(199,249,151,.4);box-shadow:0 20px 60px rgba(0,0,0,.45);padding:15px 19px;border-radius:12px;font-size:13px;color:#f1ffe1;animation:appear .2s ease}.toast.error{background:#4c2928;border-color:#b87269;color:#ffe6dd}@keyframes appear{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:1100px){.game-layout{grid-template-columns:245px minmax(0,1fr);gap:18px}.landmark{min-width:83px;min-height:74px}.landmark .land-icon{font-size:31px}.plot-list{grid-template-columns:repeat(3,1fr)}.market-row{grid-template-columns:1fr 1fr 85px auto}.market-stock{display:none}.live-tag{display:none}.card{padding:18px}}
@media(max-width:880px){.game-layout{grid-template-columns:minmax(0,1fr)}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.stock-card{grid-column:1/-1}.inventory-list{grid-template-columns:repeat(3,1fr)}.auth-screen{gap:30px;grid-template-columns:1fr 1fr}.auth-panel{padding:25px}.auth-promo h1{font-size:65px}.global-nav{gap:14px}.world-board{height:420px}}
@media(max-width:600px){.site-shell{padding:0 14px}.site-header{height:75px;gap:10px}.brand-words strong{font-size:16px}.brand-words small{font-size:8px}.brand-mark{width:34px}.brand .planet-ring{width:34px}.global-nav{display:none}.header-end{font-size:10px}.site-footer{font-size:9px;margin-top:22px}.site-footer span:last-child{display:none}.auth-screen{grid-template-columns:1fr;padding:31px 0;gap:23px}.auth-promo{padding-bottom:0}.auth-promo h1{font-size:60px;margin:15px 0}.auth-promo>p{font-size:13px}.auth-scene{display:none}.auth-panel{padding:28px}.game-screen{padding-top:13px}.game-layout{gap:12px}.sidebar{grid-template-columns:1fr 1fr;gap:10px}.citizen-card{padding:16px 12px;grid-column:1/-1;display:grid;grid-template-columns:85px 1fr;align-items:center;text-align:left;gap:8px 15px}.citizen-card .eyebrow{justify-content:start;grid-column:1/-1}.citizen-avatar{width:75px;height:75px;margin:0;grid-row:2/4}.citizen-avatar>span{font-size:39px}.citizen-card h2{font-size:17px;align-self:end}.citizen-id{font-size:9px;margin:0;align-self:start}.stat-block{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px}.vitals-actions{grid-column:1/-1;margin:2px 0 0}.money-card{padding:14px}.money-value{font-size:19px;margin:10px 0}.money-bottom{font-size:10px}.stock-card{grid-column:2;padding:12px;min-height:140px}.stock-card .section-line{margin-bottom:7px}.inventory-list{display:flex;flex-direction:column;max-height:105px;overflow-y:auto;gap:0}.inventory-item{padding:4px 0}.stock-name{font-size:10px;gap:4px}.stock-name .emoji{font-size:12px}.stock-num{font-size:10px}.welcome{padding:19px 0 10px}.welcome h1{font-size:28px;margin:9px 0}.welcome p:last-child{font-size:12px}.game-tabs{margin-bottom:15px}.tab{padding:13px 16px;font-size:11px}.world-board{height:340px;min-height:340px;border-radius:14px}.landmark{min-width:67px;min-height:65px;padding:5px 7px}.landmark .land-icon{font-size:27px}.landmark strong{font-size:10px}.landmark small{font-size:8px}.land-farm{top:46%;left:7%}.land-mine{top:30%;left:31%}.land-factory{top:49%;left:52%}.land-shop{top:27%;left:74%}.land-home{top:70%;left:71%}.board-overlay{left:12px;right:12px;top:12px}.map-kicker,.map-date{font-size:8px}.map-tree{font-size:20px}.t1{top:26%;left:8%}.t2{top:72%;left:34%}.t3{top:69%;left:52%}.map-fog{left:12px;font-size:11px}.two-columns{grid-template-columns:1fr;gap:12px}.plot-list{grid-template-columns:repeat(3,1fr)}.card{border-radius:13px;padding:17px}.recipe-grid{grid-template-columns:1fr}.market-row{grid-template-columns:1fr auto;gap:8px}.market-good{grid-column:1}.market-price{grid-column:2;grid-row:1}.market-row input{grid-column:1;grid-row:2;width:100%}.market-row .act-small{grid-column:2;grid-row:2}.market-row .market-stock{display:none}.job-list{grid-template-columns:1fr}.view-intro{padding:13px 0}.view-intro h2{font-size:29px}.auth-form .btn{font-size:11px}.feed-line{grid-template-columns:10px 1fr;gap:7px}.feed-line time{grid-column:2}.panel-glyph{display:none}}

.equipment{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:#bce4c0}.equipment .act-small{width:100%}

/* Universe Life 0.2: one spatial world, physical farms and visitable homes. */
.life-layout{grid-template-columns:minmax(225px,265px) minmax(0,1fr);gap:20px}
.life-sidebar{position:sticky;top:12px;align-self:start}
.life-sidebar .card{padding:19px}
.galaxy-label{color:#d6e9a7;border:1px solid rgba(209,245,164,.23);border-radius:20px;font-size:10px;display:inline-block;padding:5px 13px;margin:12px 0}
.balance-caption{color:#bdd2cb;font-size:12px;line-height:1.6;position:relative;z-index:2;margin:0 0 12px}
.bank-link,.bank-status-btn{position:relative;z-index:2;display:block;color:#d6f0b1;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.bank-status-btn{border:0;background:transparent;margin-top:10px;padding:4px 0;text-align:left;color:#aac5bd}
.bank-connection{margin-top:12px;background:#172d33;border:1px solid rgba(255,255,255,.15);border-radius:9px;color:#e7e9d1;padding:10px;font-size:12px;overflow-wrap:anywhere}
.world-welcome{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:10px 0 23px}
.world-welcome h1{font-size:clamp(28px,3.7vw,48px);letter-spacing:-.06em;line-height:1.05;margin:8px 0}
.world-welcome h1 em{font-style:normal;color:var(--green)}
.world-welcome p:not(.eyebrow){max-width:580px;margin:0;color:#a4c1b9;font-size:13px}
.galaxy-chip{white-space:nowrap;border:1px solid #94c58466;border-radius:40px;padding:12px 16px;background:#0e3329;color:#dbf7b4;font-weight:750;letter-spacing:.08em;font-size:12px}
.world-stage{padding:13px;background:#102428}
.stage-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 15px}
.stage-location{display:flex;align-items:center;gap:12px}
.stage-location h2{font-size:22px;margin:2px 0 0;letter-spacing:-.03em}
.go-back-btn{border:1px solid #42695e;color:#dbf5de;background:#21493f;border-radius:12px;width:42px;height:42px;font-size:25px}
.go-back-btn:hover{background:#346f5a}
.stage-meta{color:#bdd4c2;font-size:12px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.status-dot,.online-dot{background:#b6e67b;box-shadow:0 0 9px #89c96e;display:inline-block;width:8px;height:8px;border-radius:50%}
.scene-viewport{position:relative;height:470px;overflow:hidden;border-radius:15px;border:1px solid #a1d1ae42;isolation:isolate;cursor:crosshair;background:#407b57}
.scene-viewport:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,#f1ffae38,transparent 28%),linear-gradient(transparent 85%,#182f2a6d);pointer-events:none;z-index:1}
.scene-grid{position:absolute;inset:0;opacity:.20;background-image:linear-gradient(90deg,#dbf7c52a 1px,transparent 1px),linear-gradient(#d3f7a52a 1px,transparent 1px);background-size:39px 39px;transform:perspective(680px) rotateX(12deg) scale(1.08);pointer-events:none}
.scene-content{position:absolute;inset:0;z-index:2}
.scene-town{background:radial-gradient(ellipse 50% 55% at 32% 70%,#b4c77655,transparent),radial-gradient(ellipse 70% 70% at 78% 36%,#8acb7054,transparent),linear-gradient(157deg,#285d64 0%,#4d9270 45%,#4c7856 100%)}
.city-road{position:absolute;inset:-28% 0 0;opacity:.7;pointer-events:none;background:linear-gradient(135deg,transparent 0 44%,#d0c2a06a 45% 51%,transparent 52%),linear-gradient(65deg,transparent 0 45%,#d0c2a068 46% 51%,transparent 52%)}
.world-entry{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);min-width:112px;padding:10px 12px 9px;border-radius:16px;color:#ecfaee;background:#102e32dc;border:1px solid #cbf0a568;box-shadow:0 12px 20px #10201b55;text-shadow:0 1px 5px #0006;display:grid;justify-items:center;gap:1px;z-index:3;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}
.world-entry:hover,.world-entry:focus-visible{transform:translate(-50%,-54%) scale(1.08);background:#224e43;box-shadow:0 17px 36px #081c1a99}
.world-entry .building-icon{font-size:35px;line-height:1.15;filter:drop-shadow(0 5px 5px #0005)}
.world-entry strong{font-size:13px}
.world-entry small{font-size:9px;color:#c3e5ae}
.world-trees{position:absolute;font-size:25px;opacity:.88;pointer-events:none;white-space:nowrap}
.trees-north{top:3%;left:7%}.trees-south{bottom:1%;left:7%}
.town-square{position:absolute;top:48%;left:49%;font-size:26px;opacity:.6;pointer-events:none}
.player-sprite{position:absolute;left:var(--avatar-x);top:var(--avatar-y);transform:translate(-50%,-74%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;transition:left 1.15s ease-in-out,top 1.15s ease-in-out;filter:drop-shadow(0 5px 5px #0006)}
.player-sprite .sprite-body{font-size:41px;line-height:1.1;display:block;animation:idle-sway 2.5s ease-in-out infinite}
.player-sprite.walking .sprite-body{animation:avatar-step .3s ease-in-out 4}
.player-sprite small{padding:2px 8px;font-size:9px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:20px;color:white;background:#0a1d20cc;border:1px solid #edf8e23d}
@keyframes idle-sway{50%{transform:translateY(-3px)}}@keyframes avatar-step{50%{transform:translateY(-8px) rotate(7deg)}}
.scene-corner{position:absolute;left:12px;bottom:11px;z-index:8;font-size:10px;max-width:65%;border-radius:30px;padding:6px 10px;background:#0d2222cc;color:#e2f3d6;pointer-events:none}
.stage-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 7px 3px;color:#c9dbcb;font-size:12px}.movement-hint{color:#88aca2;text-align:right;font-size:10px}
.world-sections{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(270px,1fr);align-items:start;gap:16px;margin-top:16px}
.interaction-card,.social-card{min-height:220px}
.quick-destinations,.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}
.quick-destinations .act-small{padding:13px 10px;text-align:left}
.resource-grid .action-card{display:flex;align-items:center;gap:12px;text-align:left;background:#1b4140;color:#e9f6e4;border:1px solid #b7e4bd33;padding:15px 12px;border-radius:12px;width:100%}
.action-card:hover{background:#2c5f4d}.action-card>span{font-size:27px}.action-card strong,.action-card small{display:block}.action-card small{color:#a0bdad;font-size:11px}.action-card b{margin-left:auto}
.scene-farm{background:radial-gradient(circle at 70% 30%,#fcffad55,transparent 25%),linear-gradient(110deg,#547a55,#89a36c 55%,#53795b)}
.farm-field{position:absolute;left:6%;top:6%;width:70%;height:82%;border:9px solid #9d7046a0;border-radius:15px;background:repeating-linear-gradient(145deg,#865b37 0 17px,#98653d 18px 34px);box-shadow:0 6px 32px #351b1355;display:flex;flex-direction:column;padding:10px;gap:9px}
.farm-field-title{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#fff1d6;background:#3c3024ab;padding:4px 9px;border-radius:9px;display:flex;justify-content:space-between;gap:4px}
.farm-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px;flex:1;min-height:0}
.farm-tile{border:2px solid #ae9259;border-radius:8px;background:linear-gradient(160deg,#715331,#5f4028);color:#fff3cf;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;min-width:0;min-height:0;transition:transform .15s,box-shadow .15s;cursor:pointer}
.farm-tile:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 15px #ebffb97c}
.farm-tile:disabled{opacity:.9;cursor:default}
.farm-tile .tile-symbol{font-size:clamp(18px,2.4vw,29px)}.farm-tile small{font-size:9px}.farm-tile b{font-size:9px;line-height:1.1}
.farm-tile.tile-growing{background:#5d6833;border-color:#a9ca66}.farm-tile.tile-ready{background:#3d864a;border-color:#e8ed96;box-shadow:inset 0 0 17px #f7ff9e33}
.farm-tile.tile-add{background:#224a3cdd;border:2px dashed #d3e6af;color:#ecffd1}.tile-add span{font-size:26px}
.farm-shed{position:absolute;right:5%;top:40%;font-size:72px;filter:drop-shadow(6px 13px 4px #162d2366)}.farm-sun{position:absolute;right:5%;top:10%;font-size:35px;color:#fae39e}
.plot-status-list{display:flex;flex-wrap:wrap;gap:7px}.farm-status{padding:5px 10px;color:#d6e4c8;background:#204541;border:1px solid #a8cc9a36;border-radius:16px;font-size:11px}
.expand-box{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#1e3a32;border:1px dashed #a3c89580;border-radius:14px;margin-top:20px;padding:13px;flex-wrap:wrap}
.expand-box strong,.expand-box small{display:block}.expand-box small{font-size:11px;color:#acc2a8;margin-top:4px}
.scene-mine{background:linear-gradient(#466873,#59777b 53%,#5e5348 54%,#413d35)}
.mine-cliffs{position:absolute;left:-5%;bottom:-22%;height:80%;width:110%;background:linear-gradient(35deg,#564c46 10%,#a48c6d 30%,#5e6463 31% 70%,#374a50);clip-path:polygon(0 35%,12% 18%,21% 35%,31% 12%,46% 36%,58% 14%,76% 31%,84% 6%,100% 34%,100% 100%,0 100%);opacity:.9}
.terrain-action{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;border:2px solid #dce8b799;border-radius:16px;padding:13px;min-width:132px;background:#13343edc;box-shadow:0 18px 25px #10232560;color:#f8f9e3;z-index:4;transition:transform .2s;cursor:pointer}.terrain-action:hover{transform:translateY(-6px)}.terrain-action span{font-size:49px}.terrain-action strong{font-size:13px}.terrain-action small{font-size:10px;color:#d4eabb}
.ore-node{left:18%;top:32%}.coal-node{right:18%;top:37%}.mine-cart{position:absolute;right:3%;bottom:7%;font-size:52px}
.scene-forest{background:linear-gradient(140deg,#285c60,#4a8a64 47%,#2c6540)}
.forest-woods{position:absolute;top:8%;left:2%;right:0;text-align:center;font-size:clamp(29px,5vw,66px);letter-spacing:5px;filter:drop-shadow(7px 13px 7px #0c382f8c)}
.timber-node{left:37%;top:53%}.forest-path{position:absolute;bottom:-18%;left:0;right:0;background:#c9b38244;height:42%;clip-path:polygon(35% 0,60% 0,100% 100%,0 100%)}
.scene-factory{background:linear-gradient(160deg,#294a53,#435f59 60%,#444a45)}
.factory-skyline{position:absolute;top:2%;left:0;right:0;text-align:center;font-size:clamp(55px,8vw,110px);opacity:.5}
.factory-bays{position:absolute;bottom:13%;left:5%;right:5%;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.factory-bay{border-radius:12px;border:1px solid #b2d6ba66;color:#e6f7e2;background:#13323ce8;padding:16px 6px;display:grid;justify-items:center;gap:5px;min-width:0}
.factory-bay span{font-size:30px}.factory-bay strong{font-size:11px;line-height:1.15}.factory-bay small{font-size:10px;color:#a9dabb}
.factory-bay:hover{background:#24615f}
.scene-market{background:linear-gradient(140deg,#465966,#b7a270 54%,#7d7854)}
.market-street{position:absolute;inset:0;text-align:center}.market-awnings{font-size:clamp(60px,10vw,110px);margin-top:14px;filter:drop-shadow(6px 10px 9px #0005)}
.market-kiosk{top:58%;left:50%;transform:translateX(-50%)}.market-kiosk:hover{transform:translateX(-50%) translateY(-5px)}
.scene-home{background:#3d4f54}
.home-interior{position:absolute;inset:3%;border:10px solid #6d5345;border-radius:12px;background:linear-gradient(#caa876 0 42%,#8f6d50 42%);box-shadow:inset 0 35px 30px #28140f25}
.home-interior.style-forest{border-color:#2e563e;background:linear-gradient(#739d78 0 42%,#5d7859 42%)}
.home-interior.style-space{border-color:#345b84;background:linear-gradient(#253a63 0 42%,#47517a 42%)}
.home-window{position:absolute;top:9%;left:43%;border:8px solid #765843;background:#a1c4c8;border-radius:6px;font-size:34px;width:15%;text-align:center;box-shadow:0 10px 20px #182f3e40}
.furniture{position:absolute;display:flex;align-items:center;flex-direction:column;gap:2px;background:#1b342bc7;color:#f6f3d1;border-radius:10px;border:1px solid #dfdcac5e;padding:8px 12px;min-width:95px}.furniture span{font-size:46px}.furniture small{font-size:10px}.f-bed{left:12%;top:53%}.f-table{left:49%;top:59%}.f-bookcase{right:7%;top:28%;opacity:.7}
.home-rug{position:absolute;bottom:10%;left:34%;width:34%;height:13%;background:#c69d7549;border-radius:50%;pointer-events:none}
.home-form{display:grid;gap:12px;margin-top:15px}.home-form label{font-size:12px;color:#c9dcca;display:grid;gap:8px}.home-form select{padding:11px;background:#174141;border:1px solid #789d9170;border-radius:10px}.home-form .toggle-row{display:flex;align-items:center;gap:10px}.home-form .toggle-row input{width:18px;height:18px}
.social-card .chat-separator{border-top:1px solid var(--line);margin:18px 0}
.neighbors-list{max-height:225px;overflow-y:auto;display:grid;gap:7px}
.neighbor{display:flex;gap:7px;align-items:center;background:#163638;padding:7px;border-radius:10px;min-width:0}
.neighbor-icon{font-size:23px}.neighbor-name{min-width:0;flex:1}.neighbor-name strong,.neighbor-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neighbor-name strong{font-size:12px}.neighbor-name small{color:#87b2ac;font-size:10px}
.neighbor .act-small{flex-shrink:0;padding:7px;font-size:10px}
.chat-log{height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:7px;padding:6px 0;scrollbar-color:#4c706d transparent}
.chat-bubble{background:#174044;border:1px solid #8ebfb02a;border-radius:12px;padding:9px 11px;max-width:96%;align-self:start;min-width:0}
.chat-bubble.chat-mine{align-self:end;background:#265743}.chat-bubble>div{display:flex;gap:8px;align-items:center;justify-content:space-between}
.chat-bubble strong{font-size:10px;color:#d4ebc1}.chat-bubble time{color:#a6baba;font-size:9px}.chat-bubble p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#e3eee5}
.chat-form{display:flex;gap:6px;align-items:center}.chat-form input{width:100%;min-width:0;background:#13363b;color:#fff;border:1px solid #aac0b14d;border-radius:9px;padding:10px;font-size:12px}.chat-form .act-small{flex-shrink:0}
.chat-note{color:#729b94;margin:8px 0 0;font-size:10px}
.market-warning{border-left:3px solid #ebbe7c;color:#f2d6aa;background:#8e71351c;padding:12px}
.market-hint{grid-column:1/-1;color:#e0bf8a;font-size:11px}
.market-pane-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0}
.market-pane-grid>div{background:#162f32;padding:14px;border-radius:13px;border:1px solid #d8eeb719;min-width:0}
.market-list,.orders-list{display:grid;gap:10px}.interaction-card h3{font-size:16px;margin:15px 0 11px}
.market-row{grid-template-columns:minmax(130px,1.4fr) minmax(45px,.4fr) minmax(96px,1fr) 62px 75px;gap:8px}
.market-row .emoji{font-size:25px}.market-row .market-stock{font-size:11px;color:#acc7ba}.market-row .market-price{font-size:12px}
.market-row input{max-width:65px}
.order-row{border-bottom:1px solid #aacfb232;padding:10px 0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.order-row .order-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pay-link{color:#dbf7b4;text-decoration:underline;font-size:11px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1260px){.world-sections{grid-template-columns:1fr}.scene-viewport{height:460px}.life-layout{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:920px){.life-layout{grid-template-columns:1fr}.life-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.life-sidebar .citizen-card{grid-row:span 2}.scene-viewport{height:450px}}
@media(max-width:650px){.site-shell{padding:0 13px}.site-header{height:auto;min-height:77px;flex-wrap:wrap;padding:10px 0;gap:10px}.global-nav{gap:10px;font-size:11px}.brand-words strong{font-size:16px}.header-end{font-size:10px}.game-screen{padding-top:12px}.life-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:9px}.life-sidebar .card{padding:12px}.life-sidebar .citizen-card{grid-column:1/3;grid-row:auto}.citizen-card .stat-block{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.life-sidebar .stock-card{grid-column:2;grid-row:2}.life-sidebar .money-card{grid-column:1;grid-row:2}.world-welcome{margin:17px 0;gap:7px}.world-welcome h1{font-size:29px}.world-welcome p:not(.eyebrow){font-size:11px}.galaxy-chip{font-size:10px;padding:8px}.world-stage{padding:8px;border-radius:12px}.stage-location h2{font-size:17px}.stage-meta{font-size:10px}.stage-top{padding:5px 5px 10px}.scene-viewport{height:370px}.stage-footer{display:block}.movement-hint{display:block;text-align:left;margin-top:5px}.world-entry{min-width:76px;border-radius:11px;padding:5px}.world-entry .building-icon{font-size:27px}.world-entry strong{font-size:10px}.world-entry small{font-size:8px}.player-sprite .sprite-body{font-size:30px}.scene-corner{display:none}.farm-field{width:81%;left:3%;border-width:5px;height:85%}.farm-tiles{gap:4px}.farm-tile b{font-size:8px}.farm-shed{right:1%;font-size:41px}.factory-bays{grid-template-columns:repeat(2,1fr);bottom:6%;gap:6px}.factory-bay{padding:6px}.factory-bay span{font-size:22px}.market-awnings{font-size:52px}.market-kiosk{top:46%}.terrain-action{min-width:95px;padding:8px}.terrain-action span{font-size:32px}.ore-node{left:6%}.coal-node{right:6%}.world-sections{display:grid;grid-template-columns:1fr}.interaction-card,.social-card{padding:14px}.quick-destinations{grid-template-columns:repeat(2,1fr)}.market-pane-grid{grid-template-columns:1fr}.market-row{grid-template-columns:1fr auto}.market-good{grid-column:1}.market-row .market-price{grid-column:2;grid-row:1}.market-row input{grid-column:1;grid-row:2;width:100%;max-width:none}.market-row .act-small{grid-column:2;grid-row:2}.market-row .market-stock{display:none}}
@media(prefers-reduced-motion:reduce){.player-sprite,.player-sprite .sprite-body,.world-entry,.farm-tile{transition:none;animation:none}}
