@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2) format("woff2"),url(/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-cyrillic-500-normal-BSLQUuP1.woff2) format("woff2"),url(/assets/golos-text-cyrillic-500-normal-hXinzVVQ.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-600-normal-lpQ9rVRR.woff2) format("woff2"),url(/assets/golos-text-cyrillic-600-normal-BgvEFMNR.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-400-normal-Coi1FYaD.woff2) format("woff2"),url(/assets/golos-text-latin-400-normal-DOuJOmdK.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-latin-500-normal-BznAvurO.woff2) format("woff2"),url(/assets/golos-text-latin-500-normal-BQo4s7Kn.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-latin-600-normal-Bhk8uV1U.woff2) format("woff2"),url(/assets/golos-text-latin-600-normal-B_o32mE8.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-cyrillic-500-normal-vuFlZByi.woff2) format("woff2"),url(/assets/unbounded-cyrillic-500-normal-CRDmNtZY.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/unbounded-latin-500-normal-4slEIF53.woff2) format("woff2"),url(/assets/unbounded-latin-500-normal-ZsrgWWU1.woff) format("woff")}:root{font-family:Golos Text,sans-serif;color:#293d32;background:#dfe9db;font-synthesis:none;font-weight:400;--green: #315743;--dark: #263f32;--muted: #879184;--paper: #fffef8;--line: #e6e8de;--gold: #eed194;--shadow: 0 8px 32px #31452a0d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:transparent}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c59e4e;outline-offset:3px}button{transition:background .16s,transform .16s,box-shadow .16s}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin-top:0}h2{font-size:24px;font-weight:500;letter-spacing:-.8px;line-height:1.3}h3{font-size:16px;font-weight:500;line-height:1.5}p{font-size:13px;line-height:1.7}svg{flex-shrink:0}input,select{min-width:0}.app{height:100dvh;min-height:580px;overflow:hidden;position:relative}.scene{position:absolute;inset:0}.scene>canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px;cursor:grab}.scene>canvas:active{cursor:grabbing}.scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.world-label{position:absolute;top:0;left:0;pointer-events:auto;border-radius:6px;background:#fffef5eb;box-shadow:0 2px 8px #243b3020;padding:5px 9px;font-size:10px;white-space:nowrap;font-weight:500}.world-label[hidden]{display:none}.world-label:after{content:"";position:absolute;top:100%;left:50%;border:4px solid transparent;border-top-color:#fffef5eb;transform:translate(-50%)}.world-label.selected{background:#efd18e;z-index:2}.world-label.selected:after{border-top-color:#efd18e}.world-label.civic{background:#315743;color:#fff8e8;font-size:9px;letter-spacing:.3px}.world-label.civic:after{border-top-color:#315743}.topbar{position:absolute;top:24px;left:25px;right:26px;display:flex;align-items:center;gap:30px;pointer-events:none;z-index:3}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;text-align:left;font-family:Unbounded,sans-serif;font-size:12px;line-height:1.45;letter-spacing:.8px;padding:0}.brand-mark{height:46px;width:46px;display:grid;place-items:center;background:var(--green);color:#ffedc1;border-radius:15px 15px 15px 4px}.brand-dot{color:#b39051}.district-switch{display:flex;align-items:center;background:#fffef4dc;border:1px solid #ffffff70;border-radius:25px;gap:10px;padding:0 16px;height:42px;box-shadow:var(--shadow);margin-left:auto;margin-right:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.district-switch select{border:0;background:none;appearance:none;outline:none;padding:10px 0;font-size:12px;font-weight:500;cursor:pointer;max-width:175px}.live-dot{width:6px;height:6px;border-radius:50%;background:#80a269}.topbar-right{display:flex;align-items:center;gap:19px;padding:8px 12px 8px 17px;min-height:46px;border-radius:28px;background:#fffef5e8;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.population{display:flex;align-items:center;gap:8px;font-size:12px}.population span,.wallet-chip>span:last-child{color:#899284;font-size:11px}.divider{height:18px;border-left:1px solid #e2e4d6}.wallet-chip{display:flex;align-items:center;gap:7px;padding:0 5px 0 0;font-size:14px}.coin{display:inline-grid;place-items:center;width:23px;height:23px;background:#f3d58b;border:2px solid #ead09a;border-radius:50%;color:#a37e35;font-size:13px;box-shadow:inset 0 0 0 1px #ffebbf}.coin.tiny{width:14px;height:14px;border-width:1px;font-size:9px}.coin.big{width:48px;height:48px;font-size:28px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:12px 17px;font-size:12px;font-weight:500;min-height:43px}.primary{background:var(--green);color:#fffdf3;box-shadow:0 3px 6px #30493713}.primary:hover:not(:disabled){background:#406b51}.secondary{background:#f1f2e9;border:1px solid #e4e7da}.secondary:hover:not(:disabled){background:#e8ecdf}.top-join{min-height:31px;border-radius:19px;padding:8px 14px;font-size:11px}.full{width:100%}.text-button{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:500;padding:7px 0}.text-button:hover{color:#749460}.toolrail{position:absolute;left:27px;top:110px;display:flex;flex-direction:column;gap:5px;padding:7px;background:#fffef5ed;border:1px solid #fff9;box-shadow:var(--shadow);border-radius:18px;z-index:3}.icon-button{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;color:#72816e}.icon-button:hover,.icon-button.active{background:#e8eddd;color:#315743}.rail-line{width:22px;height:1px;background:#e3e8da;margin:6px auto}.welcome-card{position:absolute;top:119px;left:111px;pointer-events:none}.welcome-card .text-button{pointer-events:auto}.eyebrow{font-size:8px;font-weight:500;letter-spacing:1.6px;color:#75816e;display:flex;align-items:center;gap:7px}.little-line{height:1px;width:20px;background:#809276}.welcome-card h1{font-size:36px;letter-spacing:-1.8px;line-height:1.18;font-weight:500;margin:18px 0 13px}.welcome-card h1 span{color:#657d5b}.welcome-card p{color:#74836d;font-size:12px;line-height:1.7;margin-bottom:14px}.map-caption{position:absolute;right:33px;top:103px;display:flex;flex-direction:column;align-items:flex-end;font-size:10px;color:#788b73;gap:5px;pointer-events:none}.map-coordinates{font-size:7px;letter-spacing:1.7px}.camera-controls{position:absolute;right:28px;bottom:270px;display:flex;flex-direction:column;gap:3px;padding:5px;background:#fffef5e8;border-radius:15px;box-shadow:var(--shadow);z-index:2}.camera-controls .icon-button{width:32px;height:32px;border-radius:9px}.camera-controls>span{width:20px;border-bottom:1px solid var(--line);margin:3px auto}.construction-dock{position:absolute;bottom:57px;left:111px;right:108px;max-width:1080px;margin:auto;pointer-events:none}.dock-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.dock-heading .eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:7px}.dock-heading h2{font-size:21px;margin:0;letter-spacing:-.6px}.dock-heading .text-button{pointer-events:auto}.building-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.building-card{pointer-events:auto;display:flex;align-items:center;gap:14px;text-align:left;background:#fffef7f2;border:1px solid #fff9;border-radius:15px;padding:18px 15px;box-shadow:var(--shadow);width:100%;min-height:100px}.building-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #324e3215}.building-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:14px;background:#e9eddb;color:#6a8b5e}.building-card.stadium .building-icon{background:#ede8d7;color:#ad8b55}.building-card.library .building-icon{background:#eae1d4;color:#a27c5c}.building-card-info{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.building-card-info>b{font-size:12px;font-weight:500;white-space:nowrap}.building-card-info>span:nth-child(2){font-size:9px;color:#8c9386;white-space:nowrap}.progress-track{height:4px;border-radius:5px;background:#e8ebdf;overflow:hidden;width:100%;display:block}.progress-track i{display:block;min-width:0;height:100%;background:#94ac7a;border-radius:5px;transition:width .4s}.building-arrow{align-self:flex-start;color:#9aa38d;padding-top:3px}.demo-badge{position:absolute;left:27px;bottom:56px;display:flex;flex-direction:column;gap:7px;font-size:7px;letter-spacing:1.1px;color:#7d8c74;max-width:78px}.demo-badge>span{border-left:2px solid #8aa17b;padding-left:6px;line-height:1.6}.demo-badge button{font-size:9px;letter-spacing:0;text-align:left;padding:0;line-height:1.5;display:flex;align-items:center;gap:3px}.statusbar{position:absolute;bottom:0;left:0;right:0;height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 27px;color:#7a8b73;font-size:8px;border-top:1px solid #67865514;background:#dce6d6b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.statusbar>span{display:flex;align-items:center;gap:7px}.statusbar>span:last-child{font-size:7px;letter-spacing:1px}.online,.offline{width:5px;height:5px;border-radius:50%;background:#769f65}.offline{background:#c19855}.footer-dot{opacity:.5}.sidepanel{position:absolute;right:21px;top:91px;bottom:49px;width:375px;background:var(--paper);border:1px solid #fff9;border-radius:22px;box-shadow:0 18px 60px #243d3326;z-index:5;display:flex;flex-direction:column;overflow:hidden}.sidepanel.wide{width:420px}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 7px 23px;border-bottom:1px solid var(--line);flex-shrink:0}.panel-header .icon-button{width:31px;height:31px}.panel-content{padding:23px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d6dfca transparent}.panel-content h2{margin-bottom:12px}.muted{color:#899181;font-size:12px}.footnote{font-size:10px;color:#8d9685;line-height:1.7;margin:15px 0 0}.house-address{font-size:9px;color:#8d9684;display:block;margin-bottom:8px}.house-preview-card{display:flex;gap:12px;align-items:center;margin:20px -4px 23px;background:#f1f3e8;border-radius:14px;padding:10px 9px}.house-drawing{display:block;width:135px;flex-shrink:0;max-width:100%}.house-preview-card>div{min-width:0}.pill{background:#fffef3;padding:5px 8px;border-radius:5px;font-size:8px;white-space:nowrap}.house-preview-card h3{font-size:11px;margin:12px 0 5px;overflow:hidden;text-overflow:ellipsis}.house-preview-card p{font-size:9px;margin:0;color:#8d9983;display:flex;align-items:center;gap:4px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f2e9;padding:4px;border-radius:10px}.tabs button{display:flex;justify-content:center;align-items:center;gap:8px;padding:10px;border-radius:7px;font-size:11px;color:#89937e}.tabs button[aria-selected=true]{background:var(--paper);color:var(--green);box-shadow:0 2px 4px #3049310c}.editor-caption{font-size:10px;line-height:1.7;color:#929986;margin:14px 0}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:9px}.catalog-item{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #e8ebdf;border-radius:10px;padding:9px 7px;background:#fffef9;min-width:0}.catalog-item:hover{border-color:#aabd90}.catalog-item.selected{border-color:#6b8e58;background:#f3f6e9;box-shadow:0 0 0 1px #6b8e58}.item-thumbnail{width:35px;height:38px;border-radius:6px;background:#edf0e2;color:#819768;display:grid;place-items:center;flex-shrink:0}.item-thumbnail svg{width:20px}.catalog-item>span:last-child{display:flex;flex-direction:column;gap:7px;min-width:0}.catalog-item b{font-size:9px;font-weight:500}.catalog-item small{display:flex;align-items:center;gap:3px;color:#9a9b83;font-size:9px}.small-heading{font-size:12px;margin:21px 0 10px}.owned-items{display:flex;gap:6px;flex-wrap:wrap}.owned-items button{display:flex;align-items:center;gap:5px;font-size:9px;padding:7px;background:#eff2e6;border-radius:5px}.owned-items .selected{background:#dfe8ce}.purchase-preview{background:#f0f3e6;border:1px solid #d9e3c7;border-radius:12px;padding:14px;margin-top:16px}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.preview-heading>span{font-size:10px;display:flex;align-items:center;gap:5px;color:#799065}.purchase-preview>b{font-size:13px;font-weight:500}.purchase-preview>p{font-size:10px;margin:9px 0;color:#8a947e}.purchase-preview .primary{margin-top:13px}.cancel{display:flex;justify-content:center;margin:auto;font-size:10px;color:#8b947d}.placement-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;background:#e6ebd9;padding:6px;border-radius:9px;margin:10px 0}.placement-grid button{aspect-ratio:1;background:#f7f8ee;border-radius:3px;display:grid;place-items:center;padding:0;opacity:1}.placement-grid button.house-cell{background:#cbd4b9;color:#849775}.placement-grid button.occupied{background:#b6c7a1;color:#6d825d}.placement-grid button.chosen{background:#ecce89;color:#947535}.placement-grid button:hover:not(:disabled){background:#d4dfbd}.reward-note{display:flex;align-items:center;gap:12px;background:#f1f2e5;padding:14px;border-radius:11px;margin:19px 0;color:#80956a}.reward-note>span{display:flex;flex-direction:column;gap:5px}.reward-note b{font-size:11px;font-weight:500;color:#52684b}.reward-note small{font-size:9px;color:#949b85}.panel-content>.building-card{margin-top:10px;padding:13px 10px;box-shadow:none;border-color:var(--line);min-height:84px}.panel-content .building-icon{height:47px;width:47px}.panel-content .building-card-info>b{font-size:11px}.balance-display{display:flex;align-items:center;gap:15px;font-size:57px;font-weight:500;margin:26px 0 20px;letter-spacing:-3px}.ledger-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.ledger-icon{height:34px;width:34px;display:grid;place-items:center;border-radius:10px;background:#eee9df;color:#ae9874}.ledger-icon.positive{background:#e9efdf;color:#79975f}.ledger-row>div{display:flex;flex-direction:column;gap:5px;flex:1}.ledger-row b{font-size:11px;font-weight:500}.ledger-row small{font-size:9px;color:#969c8c}.ledger-row strong{font-size:13px;font-weight:500}.setting{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:21px 0;border-bottom:1px solid var(--line)}.setting>span{display:flex;flex-direction:column;gap:7px}.setting b{font-size:12px;font-weight:500}.setting small{font-size:10px;color:#919983}.setting input{accent-color:#608054;width:19px;height:19px}.info-box{display:flex;gap:10px;background:#f2f3ea;border-radius:10px;padding:15px;margin:22px 0;font-size:11px;line-height:1.7;color:#8b947e}.info-box p{font-size:10px;margin:0}.logout{margin-top:20px;color:#8d947f}.construction-art{position:relative;height:160px;background:#e4ebd5;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:23px;color:#728d59}.construction-art.stadium{background:#eee6d0;color:#aa905b}.construction-art.library{background:#ece2d3;color:#a58965}.construction-art span{position:absolute;bottom:14px;font-size:7px;letter-spacing:2px}.project-progress{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 12px}.project-progress>span{font-size:11px;color:#8d977e}.project-progress b{font-size:24px;color:#425b38;font-weight:500}.project-progress small{font-size:9px;color:#99a087}.progress-track.large{height:6px}.project-meta{display:flex;justify-content:space-between;font-size:9px;color:#8c997c;margin:12px 0 23px}.project-meta>span{display:flex;align-items:center;gap:5px}.click-task{border-top:1px solid var(--line);padding-top:20px;text-align:center}.click-task h3{font-size:14px;margin-bottom:8px}.click-task p{font-size:11px;color:#909b81}.click-task>small{font-size:9px;color:#a1a78e;display:block;margin:12px 0}.help-button{min-height:49px}.click-dots{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:20px 0}.click-dots span{aspect-ratio:1;border-radius:5px;background:#e9eddf}.click-dots span.filled{background:#91aa72}.success-note{display:flex;align-items:center;gap:9px;font-size:11px;background:#eaf2dc;color:#71934e;padding:13px;border-radius:9px;margin:0 0 20px}.search-input{display:flex;align-items:center;gap:9px;border:1px solid #dfe5d5;border-radius:9px;padding:11px 12px;color:#889a78;margin:18px 0}.search-input input{width:100%;border:0;background:none;font-size:12px;outline:0}.resident-list{display:flex;flex-direction:column;gap:3px}.resident-list>button{display:flex;align-items:center;gap:12px;padding:11px 0;text-align:left;border-bottom:1px solid var(--line)}.resident-avatar{width:37px;height:37px;border-radius:11px;background:#edf1e1;color:#8aa273;display:grid;place-items:center}.resident-list>button>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.resident-list b{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.resident-list small{font-size:9px;color:#9aa18b}.resident-list svg:last-child{color:#9aa887}.empty-state{font-size:11px;color:#9aa18a;padding:25px 0}.modal-backdrop{position:absolute;inset:0;background:#2c413655;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:10}.modal{width:530px;max-height:calc(100dvh - 44px);overflow:auto;background:var(--paper);border-radius:24px;box-shadow:0 30px 100px #203c3633;padding:26px}.modal>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal h2{margin:0;font-size:26px}.house-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.house-choices>button{position:relative;border:1px solid #e6eadb;border-radius:13px;padding:10px 6px 15px;background:#f4f5eb}.house-choices>button.selected{border:2px solid #72915b;background:#edf2df;padding:9px 5px 14px}.house-choices b{font-size:10px;font-weight:500}.choice-check{position:absolute;right:7px;top:7px;width:19px;height:19px;display:grid;place-items:center;background:#74945c;color:#fff;border-radius:50%}.login-form{border-top:1px solid var(--line);margin-top:23px;padding-top:19px}.login-form>label{font-size:10px;color:#8d967f;display:block;margin-bottom:10px}.login-form>div{display:flex;gap:7px}.login-form input,.form-label input{padding:11px 12px;border:1px solid #dfe5d5;border-radius:9px;background:#fffef9;font-size:11px;flex:1;color:#435c37;width:100%}.login-form .secondary{padding:10px 15px}.join-steps p{display:flex;gap:15px;align-items:center;font-size:12px}.join-steps b{color:#91a779;font-weight:500;font-size:19px}.toast{position:absolute;left:50%;bottom:47px;transform:translate(-50%);background:#294633;color:#f7f7df;padding:14px 17px;border-radius:13px;z-index:20;box-shadow:0 8px 30px #243b3430;display:flex;align-items:center;gap:12px;max-width:min(90vw,560px);font-size:12px;line-height:1.5}.toast>button{color:#c5d1bb;padding:0}.connection-banner{position:absolute;top:85px;left:50%;transform:translate(-50%);background:#fbecd3;color:#8c724f;padding:10px 18px;font-size:11px;z-index:7;border-radius:10px;max-width:90vw}.connection-banner button{text-decoration:underline}.form-label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#8d977e;margin:16px 0}.upload-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed #b9c9a2;background:#f2f5e8;border-radius:12px;padding:24px 15px;cursor:pointer;color:#92a47b}.upload-zone b{font-weight:500;font-size:12px;color:#637f4c}.upload-zone small{font-size:9px}.upload-zone input{font-size:9px;width:100%;padding-top:6px}.import-preview{background:#f3f5e9;padding:17px;border-radius:11px;margin:18px 0}.import-preview dl{display:grid;grid-template-columns:1fr auto;row-gap:9px;font-size:11px;color:#83916d}.import-preview dd{margin:0;color:#496437}.error-text{color:#ab725a;font-size:11px}.admin-record{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:10px}.admin-record>b{font-weight:500}.admin-record span{color:#8d9b7c}.map-fallback{position:absolute;inset:90px 90px 220px 100px;overflow:auto;z-index:1;padding:20px;background:#d3dfc6;border-radius:15px}.map-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.map-grid button{display:flex;flex-direction:column;background:#eff1de;border-radius:5px;padding:8px;font-size:26px}.map-grid button.selected{background:#e8ca82}.map-grid small{font-size:7px;overflow:hidden}.night .brand,.night .welcome-card h1,.night .dock-heading h2{color:#e8e8ce}.night .welcome-card h1 span{color:#b5c5a0}.night .eyebrow,.night .welcome-card p,.night .welcome-card .text-button,.night .map-caption{color:#adbea1}.night .statusbar{background:#263f35db;color:#a4b59b}.night .demo-badge{color:#b3c29c}.night .dock-heading .text-button{color:#c5d1b2}.night .sidepanel .eyebrow{color:#7c8c6e}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){.welcome-card{top:145px;left:127px}.welcome-card h1{font-size:43px}.construction-dock{bottom:70px}.building-card{padding:22px 20px;min-height:112px}.building-card-info>b{font-size:14px}.building-card-info>span:nth-child(2){font-size:10px}.camera-controls{bottom:300px}.sidepanel{width:400px}}@media(max-width:1000px){.topbar{gap:15px}.welcome-card h1{font-size:30px}.welcome-card{left:102px}.building-card{padding:12px 10px;gap:8px}.building-icon{width:40px;height:48px;border-radius:10px}.building-icon svg{width:22px}.building-card-info>b{font-size:10px}.building-card-info>span:nth-child(2){font-size:8px}.building-arrow{display:none}.construction-dock{left:102px;right:87px}.topbar-right{gap:12px}.brand{font-size:10px}.brand-mark{width:40px;height:40px}.district-switch{padding:0 12px;height:38px}.district-switch select{font-size:10px}.sidepanel{width:350px}.camera-controls{right:24px}.welcome-card .eyebrow{max-width:190px;font-size:7px;line-height:1.7}.population span,.topbar-right .divider{display:none}}@media(max-width:680px){.app{min-height:500px}.topbar{top:14px;left:15px;right:15px;gap:10px;flex-wrap:wrap}.brand{font-size:9px;gap:8px}.brand-mark{height:35px;width:35px;border-radius:11px 11px 11px 3px}.brand-mark svg{width:21px}.topbar-right{margin-left:auto;gap:10px;padding:7px 9px;height:37px;min-height:37px;order:2}.population{font-size:10px;gap:4px}.population svg{width:14px}.district-switch{order:3;margin:3px auto 0 0;padding:0 11px;height:32px;gap:6px}.district-switch select{font-size:9px}.district-switch svg{width:12px}.district-switch .live-dot{height:4px;width:4px}.top-join{font-size:10px;min-height:26px;padding:5px 11px}.top-join svg{width:13px}.wallet-chip{font-size:11px}.wallet-chip>span:last-child{display:none}.coin{width:20px;height:20px;font-size:11px}.toolrail{top:128px;left:15px;border-radius:13px;padding:5px;gap:4px}.toolrail .icon-button{width:31px;height:32px;border-radius:9px}.toolrail svg{width:19px}.rail-line{margin:3px auto;width:17px}.welcome-card{top:130px;left:76px}.welcome-card .eyebrow{font-size:5px;letter-spacing:1px;max-width:230px}.welcome-card h1{font-size:26px;margin-top:12px;letter-spacing:-1.3px;line-height:1.2}.welcome-card p{font-size:10px;margin-bottom:8px}.welcome-card .text-button{font-size:10px}.map-caption{top:78px;right:17px;font-size:7px;max-width:150px}.map-coordinates{font-size:5px;letter-spacing:1px}.construction-dock{left:15px;right:15px;bottom:62px}.dock-heading{margin-bottom:9px}.dock-heading h2{font-size:17px}.dock-heading .eyebrow{font-size:6px;margin-bottom:6px}.dock-heading .text-button{font-size:9px}.building-cards{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory;padding:0 0 4px;scrollbar-width:none}.building-card{min-width:245px;scroll-snap-align:start;padding:12px;min-height:80px;border-radius:12px;gap:11px}.building-card-info>b{font-size:11px}.building-card-info>span:nth-child(2){font-size:9px}.building-icon{width:42px;height:45px}.building-arrow{display:block}.camera-controls{right:16px;bottom:227px;border-radius:12px;padding:4px}.camera-controls .icon-button{height:29px;width:29px}.camera-controls .icon-button svg{width:17px}.statusbar{height:28px;padding:0 15px;font-size:7px}.gesture-hint{display:none!important}.statusbar>span:last-child{font-size:5px}.demo-badge{bottom:35px;left:16px;right:16px;max-width:none;flex-direction:row;gap:11px;align-items:center;font-size:6px}.demo-badge>span{border:0;padding:0}.demo-badge button{font-size:8px}.sidepanel,.sidepanel.wide{inset:108px 10px 35px;width:auto;max-width:430px;margin-left:auto;border-radius:19px;z-index:6}.panel-content{padding:20px}.panel-header{padding:8px 13px 7px 20px}.panel-content h2{font-size:23px}.modal-backdrop{padding:12px}.modal{padding:20px;border-radius:20px;max-height:calc(100dvh - 24px)}.modal h2{font-size:22px}.house-choices{gap:7px}.house-choices b{font-size:8px}.house-drawing{width:120px}.house-choices .house-drawing{width:100%}.reward-note{padding:12px;gap:9px}.reward-note b,.login-form input{font-size:10px}.toast{bottom:40px;width:max-content;font-size:11px;max-width:calc(100vw - 25px)}.connection-banner{top:100px;width:90vw;font-size:10px}.map-fallback{inset:115px 65px 210px 67px;padding:10px}.map-grid{grid-template-columns:repeat(4,1fr);gap:4px}.map-grid button{padding:4px}.construction-art{height:145px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media(max-width:680px){.sidepanel.house-panel{top:43%}.house-panel .house-preview-card{display:none}.house-panel .panel-content{padding-top:14px}.house-panel .house-address{font-size:8px}.house-panel h2{font-size:19px;margin-bottom:14px}.house-panel .catalog{gap:7px}.house-panel .item-thumbnail{height:31px}.house-panel .catalog-item{padding:7px}.welcome-card{padding:14px 18px 16px;border-radius:16px;background:linear-gradient(125deg,#e8eedce8,#e8eedc95 65%,#e8eedc00);left:65px;top:116px}.night .welcome-card{background:linear-gradient(125deg,#2b493de8,#2b493d77 65%,#2b493d00)}}.muted,.footnote,.editor-caption,.house-address,.form-label,.login-form>label,.click-task p,.click-task>small{color:#718063}.sidepanel.house-panel{width:430px}.workshop{padding:20px}.estate-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.estate-heading h2{margin-bottom:6px;font-size:24px}.estate-level{display:grid;place-items:center;font-size:36px;width:60px;height:60px;border-radius:18px;background:#eef1e3}.estate-subtitle{display:flex;align-items:center;justify-content:space-between;color:#79896c;font-size:10px;margin:4px 0 14px}.editor-orbit{display:flex;align-items:center;gap:5px;border:1px solid #e1e7d6;border-radius:10px;padding:5px 7px;margin-bottom:14px}.editor-orbit>span{font-size:10px;color:#78896a;flex:1}.editor-orbit button{height:30px;min-width:32px;border-radius:7px;display:grid;place-items:center;font-size:10px}.editor-orbit button:hover{background:#e8eedc}.workshop-wallet{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 14px;font-size:12px}.workshop-wallet>span{display:flex;gap:7px;align-items:center}.workshop-wallet small{font-size:9px;color:#819171}.demo-workshop{border:1px dashed #cab784;background:#f7f0db;padding:11px;border-radius:10px;display:flex;align-items:center;gap:10px;margin:0 0 17px}.demo-workshop>div{flex:1;display:flex;flex-direction:column;gap:4px}.demo-workshop b{font-size:10px;font-weight:500}.demo-workshop small{font-size:8px;color:#99865d;line-height:1.5}.demo-workshop button{font-size:10px;white-space:nowrap;padding:9px;background:#e9d39d;color:#6d5832;border-radius:7px}.workshop-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#edf1e3;border-radius:12px;padding:5px;margin:0 0 17px}.workshop-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 4px;border-radius:8px;font-size:10px;color:#829370}.workshop-tabs button[aria-selected=true]{background:#fffdf4;box-shadow:0 2px 6px #345c3b0d;color:#365738}.shop-subtabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.shop-subtabs button{font-size:10px;padding:8px 10px;color:#8a967c;border-radius:7px}.shop-subtabs button.selected{background:#e8efdb;color:#50703e}.workshop-help{font-size:10px;color:#7d8b70;line-height:1.75;margin-bottom:15px}.workshop-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.workshop-filters .search-input{width:100%;margin:0;padding:10px}.workshop-filters .search-input input{font-size:11px}.workshop-filters select,.workshop .form-label select{border:1px solid #dde5d0;border-radius:8px;padding:8px;background:#fafbf4;color:#627b50;font-size:10px}.workshop-filters>label{display:flex;align-items:center;gap:4px;font-size:9px;margin-left:auto;color:#81916f}.workshop-filters input[type=checkbox]{accent-color:#64864d}.workshop-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.workshop-product{position:relative;padding:0 0 10px;border-radius:12px;border:1px solid #e3e9d8;background:#fffdf7;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:7px}.workshop-product:hover{border-color:#a2bb88;transform:translateY(-2px)}.workshop-product.chosen{border-color:#64864e;box-shadow:0 0 0 1px #64864e;background:#f1f6e8}.workshop-product.equipped .product-art{background:#e5edda}.product-art{height:70px;display:grid;place-items:center;background:#f1f3e8;font-size:35px}.product-art.cosmic{background:#e7ebf1}.product-art.tropical{background:#f2eedb}.product-art.fairytale{background:#eee7f0}.product-art.coastal{background:#e4efec}.product-art.sweet{background:#f3e5e7}.product-name{font-size:10px;font-weight:500;line-height:1.4;padding:0 9px;min-height:28px}.product-price{display:flex;align-items:center;gap:4px;font-size:9px;color:#849269;padding:0 9px}.product-size{position:absolute;top:7px;left:7px;font-size:7px;background:#fffc;border-radius:4px;padding:3px 5px;color:#73816c}.workshop-preview{background:#eff3e5;border:1px solid #cfdcbd;padding:15px;border-radius:14px;margin-top:18px}.workshop-preview h3{margin:8px 0;font-size:16px}.workshop-preview p{font-size:10px;line-height:1.7;color:#7e8e6e;margin:9px 0}.workshop-preview .primary{margin-top:13px}.workshop-preview .placement-error{color:#a46b4e;background:#f5e7d7;padding:10px 12px;border-radius:8px}.workshop-preview .store-button{float:right;font-size:9px}.estate-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;background:#e1e9d3;border-radius:10px;padding:5px;margin:15px 0 10px;touch-action:manipulation}.estate-grid button{display:grid;place-items:center;aspect-ratio:1;padding:0;background:#f6f8ed;border-radius:3px;font-size:14px;opacity:1;min-width:0;transition:background .12s}.estate-grid button.plot-margin{background:#e7e8d7}.estate-grid button.occupied-house{background:#c1cfa9;color:#687f4c}.estate-grid button.occupied-decor{background:#92aa7c;color:#eef4df}.estate-grid button.grid-selected{background:#e4c482;color:#886a34}.estate-grid button:hover:not(:disabled){outline:1px solid #78945a;outline-offset:-1px;background:#d9e6be}.estate-grid button:disabled{cursor:not-allowed}.grid-legend{display:flex;justify-content:space-between;gap:6px;margin:10px 0 17px;font-size:7px;color:#879777}.grid-legend>span{display:flex;align-items:center;gap:4px}.grid-legend i{width:8px;height:8px;border-radius:2px;background:#c1cfa9}.grid-legend .decor{background:#92aa7c}.grid-legend .margin{background:#e7e8d7}.plan-heading{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.plan-heading h3{font-size:14px;margin:0}.plan-heading>span{font-size:8px;color:#90a078}.plan-controls{display:flex;gap:5px;justify-content:center}.plan-controls button{height:38px;min-width:38px;border:1px solid #dce5cf;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;background:#f1f4e8}.paint-intro{display:flex;gap:13px;align-items:center;background:#edf1e3;padding:13px;border-radius:11px;margin-bottom:13px;color:#8ca374}.paint-intro p{margin:0;font-size:10px;line-height:1.7;color:#7f9070}.paint-intro b{color:#577247;font-weight:500}.paint-zones{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 15px}.paint-zones button{font-size:8px;border:1px solid #e0e7d3;padding:6px 7px;border-radius:6px}.paint-zones button.selected{background:#e4edd6;border-color:#a9bf8f}.palette-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.palette-grid button{aspect-ratio:1;border-radius:9px;border:2px solid transparent;position:relative;box-shadow:inset 0 0 0 1px #0000000d}.palette-grid button.selected{border-color:#fff;outline:2px solid #66844e;outline-offset:2px}.palette-grid button svg{position:absolute;right:1px;bottom:1px;background:#fffde9;border-radius:50%;padding:2px;width:14px;height:14px;color:#547543}.palette-caption{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#8e9b7a;margin:13px 0}.annex-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px}.annex-slots>div{position:relative;display:flex;flex-direction:column;gap:4px;background:#f0f3e6;border-radius:8px;padding:9px 24px 9px 10px}.annex-slots span{font-size:8px;color:#8a9878}.annex-slots b{font-size:9px;font-weight:500;line-height:1.5}.annex-slots button{position:absolute;right:5px;top:12px;padding:3px;color:#859773}.owned-decor-list{display:flex;flex-direction:column;gap:7px}.owned-decor-list>button{display:flex;align-items:center;gap:12px;text-align:left;background:#f1f4e8;border:1px solid #e3e9d8;padding:10px;border-radius:10px}.owned-decor-list>button>span:first-child{font-size:27px}.owned-decor-list>button>div{display:flex;flex-direction:column;gap:5px;flex:1}.owned-decor-list b{font-size:11px;font-weight:500}.owned-decor-list small{font-size:9px;color:#8a9a77}.garden-daily{display:flex;align-items:center;gap:9px;background:#eaf1dc;border-radius:12px;padding:12px;margin:6px 0 23px}.garden-daily>span{font-size:25px}.garden-daily>div{display:flex;flex-direction:column;gap:5px;flex:1}.garden-daily b{font-size:11px;font-weight:500}.garden-daily small{font-size:8px;color:#82956c;line-height:1.6}.garden-daily button{padding:8px;min-width:70px;border-radius:8px;background:#d6e4c1;color:#52743a;font-size:9px}.estate-progress{padding:14px;border:1px solid #e0e8d1;border-radius:10px;margin:12px 0 17px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px}.estate-progress>span{font-size:10px;color:#81976a}.estate-progress b{font-size:18px;font-weight:500}.estate-progress small{font-size:9px;color:#8d9d79}.goal-card{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e5ebdb}.goal-card>span{color:#b7a16f;width:25px}.goal-card>div{display:flex;flex-direction:column;gap:5px;flex:1}.goal-card b{font-size:11px;font-weight:500}.goal-card small{font-size:9px;color:#8c9a78;line-height:1.5}.goal-card>div>span{font-size:8px;color:#a5ad96}.goal-card>button{padding:7px 10px;background:#e7edda;border-radius:7px;font-size:10px;min-width:40px}.goal-card.earned{opacity:.7}.goal-card.earned>span{color:#81a461}.collection-title{margin:27px 0 13px;font-size:14px}.collection-card{border:1px solid #dce4cf;background:#f0f3e7;border-radius:15px;padding:15px;margin:12px 0}.collection-card.cosmic{background:#edf0f5;border-color:#d8dfe8}.collection-card.fairytale{background:#f1eaf2;border-color:#e4d9e7}.collection-card.tropical{background:#f4efdf;border-color:#e8dfbd}.collection-card>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.collection-card h3{font-size:14px;margin:0}.collection-card>div>b{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500}.collection-card>p{font-size:9px;color:#8c947e;margin:7px 0 12px}.collection-card ul{padding:0;margin:0 0 13px;list-style:none}.collection-card li button{display:flex;align-items:center;gap:7px;font-size:10px;text-align:left;width:100%;padding:7px 0}.collection-card li small{margin-left:auto;color:#9aa386;font-size:9px}.collection-card .secondary{font-size:9px;padding:9px;min-height:35px}.camera-controls{bottom:250px}.sidepanel.house-panel .workshop{padding:20px}.workshop .info-box{font-size:10px;padding:12px}@media(max-width:680px){.sidepanel.house-panel{width:auto;top:39%;max-width:none}.sidepanel.house-panel .workshop{padding:15px}.estate-heading h2{font-size:20px}.estate-level{width:44px;height:44px;border-radius:13px;font-size:28px}.estate-subtitle{font-size:9px}.editor-orbit{margin-bottom:10px}.workshop-tabs{position:sticky;top:-15px;z-index:2;border-radius:0 0 12px 12px;background:#edf1e3f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workshop-tabs button{font-size:9px;min-height:35px}.workshop-products{gap:7px}.product-art{height:57px;font-size:30px}.product-name{font-size:9px;padding:0 7px}.product-price{font-size:8px;padding:0 7px}.workshop-preview{padding:12px}.estate-grid{gap:2px;padding:4px}.palette-grid{gap:6px}.palette-grid button{border-radius:7px}.camera-controls{bottom:225px}.camera-controls .icon-button{height:26px;width:29px}.demo-workshop{padding:9px}.workshop-wallet{font-size:11px}.workshop-wallet small{font-size:8px}.garden-daily{padding:10px}.collection-card{padding:12px}}.workshop .editor-orbit{position:sticky;top:-20px;z-index:4;background:#fffef7;box-shadow:0 4px 10px #35553708}.workshop-tabs{position:sticky;top:22px;z-index:3;background:#edf1e3f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:680px){.workshop .editor-orbit{top:-15px}.workshop-tabs{top:27px}}.district-name{font-size:13px;font-weight:500;white-space:nowrap}.world-label.future{background:#efe3bf;color:#6f694e;border:1px dashed #b1a47b}.world-label.civic.complete{background:#e2edda;color:#3e654e}.world-label.civic.building{background:#f3dfb5;color:#725d35}.building-card.planetarium .building-icon,.construction-art.planetarium{background:#e0e9ef;color:#5a7997}.building-card.townhall .building-icon,.construction-art.townhall{background:#eee4d1;color:#92754e}@media(max-width:680px){.sidepanel.building-panel{top:43%;max-width:none}.building-panel .construction-art{height:70px;margin-bottom:16px}.building-panel .construction-art>svg{width:36px;height:36px}.building-panel .construction-art>span{margin-top:3px;font-size:7px}}
