:root{--bg: #0d1020;--glass: rgba(26, 32, 68, .5);--glass-2: rgba(14, 18, 42, .58);--edge: rgba(255, 255, 255, .24);--edge-hi: rgba(255, 255, 255, .5);--well: rgba(255, 255, 255, .09);--well-2: rgba(255, 255, 255, .15);--glass-bg: linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .05) 40%, rgba(255, 255, 255, .02) 70%, rgba(255, 255, 255, .08)), linear-gradient(180deg, var(--glass), var(--glass-2));--glass-fx: blur(18px) saturate(1.5);--glass-shadow: 0 14px 34px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 0 0 1px rgba(255, 255, 255, .06);--text: #f4f6ff;--muted: #c3cbe8;--ink: #0e1226;--blue: #4cc9f0;--blue-2: #2a8fd6;--blue-3: #16507f;--lime: #8bf54a;--lime-2: #4fbd26;--lime-3: #2a6e12;--gold: #ffd43b;--gold-2: #f39c12;--gold-3: #8f5a08;--orange: #ff9f43;--coral: #ff5c7a;--coral-2: #d63b5a;--coral-3: #7a1f33;--violet: #a78bfa;--violet-2: #7c5cf0;--violet-3: #3f2e8a;--accent: var(--gold);--good: var(--lime);--warn: var(--orange);--bad: var(--coral);--wood: #ff9f43;--stone: #c3cbe0;--food: #ffd166;--coins: #ffd43b;--planks: #f6b26b;--grain: #f2d16b;--flour: #e9e4f0;--bread: #ff8c42;--wool: #f4efe2;--cloth: #b98ee8;--pop: #4cc9f0;--phase-col: var(--gold);--phase-glow: rgba(255, 212, 59, .55);--side-w: 320px;font-family:Nunito,Avenir Next,Trebuchet MS,Segoe UI,system-ui,sans-serif;font-size:16px;font-weight:700}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}#app{position:relative;width:100vw;height:100vh}#world{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:default}#world.pick{cursor:pointer}#world.pan{cursor:grabbing}#world.command{cursor:crosshair}#overlay2d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hidden{display:none!important}.ico{width:1.25em;height:1.25em;flex:none;stroke-width:2.5}b,strong{font-weight:900}button{--tint: rgba(128, 142, 210, .42);--base: rgba(18, 22, 48, .6);--btxt: #fff;font:inherit;font-weight:800;color:var(--btxt);background:linear-gradient(180deg,#ffffff4d,#ffffff14 48%,#ffffff05 52%,#ffffff1a),var(--tint);border:1.5px solid rgba(255,255,255,.45);border-bottom-color:#ffffff2e;border-radius:14px;padding:8px 14px;min-height:46px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:0 4px 0 var(--base),0 8px 18px #0000004d,inset 0 1px #ffffff80;transition:filter .1s,transform .06s,box-shadow .06s;-webkit-user-select:none;user-select:none}button[hidden]{display:none}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--base),0 2px 6px #0000004d,inset 0 1px #ffffff80}button:disabled{cursor:not-allowed;--tint: rgba(255, 255, 255, .07);--base: rgba(0, 0, 0, .35);--btxt: rgba(255, 255, 255, .62);text-shadow:none;border-color:#ffffff29;box-shadow:0 3px 0 var(--base),inset 0 1px #ffffff26}button:disabled .ico{opacity:.6}button.primary{--tint: rgba(48, 160, 235, .78);--base: rgba(22, 80, 127, .85)}button.danger{--tint: rgba(230, 70, 105, .78);--base: rgba(122, 31, 51, .85)}button.good{--tint: rgba(100, 205, 55, .78);--base: rgba(42, 110, 18, .85)}button.night{--tint: rgba(135, 105, 245, .78);--base: rgba(63, 46, 138, .85)}button.active{--tint: rgba(255, 205, 60, .9);--base: rgba(143, 90, 8, .85);--btxt: #2b1a00;text-shadow:0 1px 0 rgba(255,255,255,.35);border-color:#ffffffb3;box-shadow:0 4px 0 var(--base),0 0 20px #ffd43b99,inset 0 1px #fff9}button.active.primary{--tint: rgba(48, 160, 235, .85);--base: rgba(22, 80, 127, .85);--btxt: #fff;text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:0 4px 0 var(--base),0 0 20px #4cc9f0bf,inset 0 1px #fff9}button.active.danger{--tint: rgba(230, 70, 105, .85);--base: rgba(122, 31, 51, .85);--btxt: #fff;text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:0 4px 0 var(--base),0 0 20px #ff5c7abf,inset 0 1px #fff9}button.icon-btn{min-width:46px;padding:8px}button.icon-btn .ico{width:24px;height:24px}button.close{--tint: rgba(230, 70, 105, .8);--base: rgba(122, 31, 51, .85);min-width:36px;min-height:36px;padding:0;border-radius:50%;box-shadow:0 3px 0 var(--base),inset 0 1px #ffffff80}button.close .ico{width:18px;height:18px}.panel{background:var(--glass-bg);border:1.5px solid var(--edge);border-top-color:var(--edge-hi);border-radius:22px;padding:12px 14px;color:var(--text);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx);text-shadow:0 1px 2px rgba(0,0,0,.35)}.panel h3{margin:-12px -14px 10px;padding:9px 14px;font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px;color:var(--text);background:linear-gradient(90deg,#4cc9f047,#a78bfa29 60%,#ffffff0a);border-bottom:1px solid rgba(255,255,255,.25);border-radius:20px 20px 0 0;letter-spacing:.2px}.panel h3 .ico{color:var(--blue);filter:drop-shadow(0 0 6px rgba(76,201,240,.8))}.muted{color:var(--muted)}.small{font-size:14px}#hud{position:absolute;inset:0;pointer-events:none}#hud>*{pointer-events:auto}#topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px 0;pointer-events:none}#topbar>*{pointer-events:auto}#topleft{display:flex;flex-direction:column;align-items:flex-start;gap:7px}#resources,#people{display:flex;gap:5px;flex-wrap:wrap;align-items:center;width:fit-content;max-width:calc(50vw - 110px);padding:6px;border-radius:18px;background:var(--glass-bg);border:1.5px solid var(--edge);border-top-color:var(--edge-hi);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#people{padding:5px 6px;border-radius:16px}.res{display:flex;align-items:center;gap:6px;padding:3px 9px 3px 3px;border-radius:13px;background:linear-gradient(180deg,#ffffff29,#ffffff0f);border:1px solid rgba(255,255,255,.22);color:var(--text);box-shadow:inset 0 1px #ffffff4d}.res .val{min-width:26px;text-align:right;font-size:20px;font-weight:900;line-height:1}.res .label{display:none}.res.low .val{color:var(--bad)}.res.clickable{cursor:pointer;transition:transform .1s,background .15s}.res.clickable:hover{background:var(--well-2);transform:translateY(-2px)}.res.active{border-color:var(--gold);box-shadow:0 0 0 2px #ffd43b59,0 0 14px #ffd43b73}.res .val{transition:color .3s}.res.up .val{color:var(--good)}.res.down .val{color:var(--bad)}.res .num{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1}.res .trend{font-size:11px;font-weight:900;margin-top:2px}.res .trend:empty{display:none}.res .trend.pos,.flow b.pos{color:var(--good)}.res .trend.neg,.flow b.neg{color:var(--bad)}.res-ico{display:inline-flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;color:var(--ink);background:radial-gradient(circle at 35% 30%,#fff 0,var(--c, var(--gold)) 38%,color-mix(in srgb,var(--c, var(--gold)) 65%,#000) 100%);box-shadow:0 0 10px color-mix(in srgb,var(--c, var(--gold)) 70%,transparent),inset 0 -2px #00000040}.res-ico .ico{width:19px;height:19px}.res-ico.wood{--c: var(--wood)}.res-ico.stone{--c: var(--stone)}.res-ico.food{--c: var(--food)}.res-ico.coins{--c: var(--coins)}.res-ico.planks{--c: var(--planks)}.res-ico.bread{--c: var(--bread)}.res-ico.cloth{--c: var(--cloth)}.res-ico.pop{--c: var(--pop)}.res.low .res-ico{--c: var(--coral)}.res .idle{font-size:13px;font-weight:800;color:var(--text);padding:3px 9px;border-radius:999px;background:var(--well-2);border:1px solid rgba(255,255,255,.18)}.res .idle.some{color:#0b2a05;background:linear-gradient(180deg,#a4ff6a,var(--lime-2));box-shadow:0 0 10px #8bf54a80}.res .mood{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:14px;font-weight:900;min-height:0;padding:2px 9px 2px 5px;border-radius:999px;--tint: rgba(255, 205, 60, .9);--base: rgba(143, 90, 8, .85);--btxt: #2b1a00;text-shadow:none;box-shadow:0 2px 0 var(--base),inset 0 1px #ffffff80;border-width:1px}.res .mood .ico{width:18px;height:18px}.res .mood.low{--tint: rgba(230, 70, 105, .85);--base: rgba(122, 31, 51, .85);--btxt: #fff;text-shadow:0 1px 0 rgba(0,0,0,.3)}#people button.problems{min-height:0;gap:4px;padding:3px 12px 3px 6px;border-radius:999px;border-width:1px;--tint: rgba(230, 70, 105, .85);--base: rgba(122, 31, 51, .85);font-size:18px;box-shadow:0 3px 0 var(--base),0 0 14px #ff5c7a99,inset 0 1px #ffffff80;animation:wobble 2.4s ease-in-out infinite}#people button.problems .ico{width:20px;height:20px}#people button.problems.active{animation:none;box-shadow:0 3px 0 var(--base),0 0 0 3px var(--gold)}@keyframes wobble{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-6deg)}82%{transform:rotate(6deg)}88%{transform:rotate(-4deg)}94%{transform:rotate(3deg)}}#center{position:absolute;left:50%;top:8px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}#center>*{pointer-events:auto}#time-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}#time-controls button{font-size:15px;padding:6px 14px;min-height:44px}#time-controls:empty{display:none}#clock{display:flex;flex-direction:column;align-items:center}#dial{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;padding:6px;background:conic-gradient(var(--phase-col) calc(var(--p, 100) * 1%),rgba(255,255,255,.18) 0);border:1.5px solid var(--edge-hi);box-shadow:0 0 24px var(--phase-glow),0 8px 20px #0006}#dial-ico{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 30%,#ffffff59,#ffffff0f 45%,#ffffff05),#0e122a8c;color:var(--phase-col);display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#dial-ico .ico{width:38px;height:38px;stroke-width:2.3;filter:drop-shadow(0 0 8px var(--phase-glow))}.clock-text{display:flex;flex-direction:column;align-items:center;line-height:1.15;margin-top:-10px;padding:9px 16px 6px;min-width:160px;border-radius:14px;background:var(--glass-bg);border:1.5px solid var(--edge);border-top-color:var(--edge-hi);box-shadow:var(--glass-shadow);text-align:center;backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#phase-day{font-size:17px;font-weight:900;white-space:nowrap}.clock-sub{font-size:14px;color:var(--muted);display:flex;gap:8px;font-weight:800}#phase-timer{font-variant-numeric:tabular-nums;color:var(--phase-col)}#clock.day{--phase-col: #ffd43b;--phase-glow: rgba(255, 212, 59, .6)}#clock.sunset{--phase-col: #ff8a3d;--phase-glow: rgba(255, 138, 61, .6)}#clock.night{--phase-col: #b39cff;--phase-glow: rgba(167, 139, 250, .7)}#clock.dawn{--phase-col: #ff7aa8;--phase-glow: rgba(255, 122, 168, .6)}#top-actions{display:flex;gap:8px}#top-actions button{min-height:52px;min-width:52px;padding:8px 12px;border-radius:16px}#top-actions button .ico{width:26px;height:26px}#btn-speed{min-width:84px;font-variant-numeric:tabular-nums;font-size:17px}#btn-home .label{display:none}#hud>#left,#hud>#right{pointer-events:none}#left>*,#right>*{pointer-events:auto}#left{position:absolute;left:12px;top:calc(var(--topbar-h, 100px) + 10px);bottom:calc(var(--dock-h, 110px) + 12px);width:var(--side-w);display:flex;flex-direction:column;gap:12px}#objectives{flex:0 1 auto;min-height:0;overflow:auto}#objectives,#selection{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}#notes{flex:0 1 auto;min-height:0;overflow:hidden}#objectives #obj-chapter{color:var(--violet);font-size:13px;margin:0 0 4px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.obj{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid rgba(255,255,255,.08);font-size:16px;line-height:1.3}.obj:first-of-type{border-top:0}.obj .num{width:32px;height:32px;border-radius:50%;background:var(--well-2);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;flex:none;border:2px solid rgba(255,255,255,.12)}.obj .num .ico{width:18px;height:18px}.obj.done{color:var(--muted);text-decoration:line-through;text-decoration-color:#aab3d880}.obj.done .num{background:linear-gradient(180deg,#a4ff6a,var(--lime-2));color:#0b2a05;border-color:transparent}.obj.current .num{background:linear-gradient(180deg,#ffe066,var(--gold-2));color:#2b1a00;border-color:transparent;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #ffd43b4d,0 0 12px #ffd43b80}50%{box-shadow:0 0 0 8px #ffd43b00,0 0 18px #ffd43bb3}}.obj .hint{color:var(--muted);font-size:14px;margin-top:3px;line-height:1.3;font-weight:700}.obj.advice .num{background:linear-gradient(180deg,#62d4ff,var(--blue-2));color:#fff;border-color:transparent}.obj.advice button.small-btn{margin-top:8px;min-height:42px;font-size:14px;padding:6px 12px}#notes{display:flex;flex-direction:column;gap:8px}.note{display:flex;align-items:center;gap:10px;background:var(--glass-bg);border:2px solid var(--edge);border-left:4px solid var(--blue);border-radius:14px;padding:8px 12px 8px 8px;font-size:15px;line-height:1.3;cursor:pointer;animation:slide .25s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--glass-shadow);color:var(--text);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}.note>.ico{flex:none;width:36px;height:36px;padding:7px;border-radius:50%;color:#fff;background:var(--blue-2);box-shadow:0 0 10px #4cc9f099}.note.warn{border-left-color:var(--orange)}.note.warn>.ico{background:#d9731b;box-shadow:0 0 10px #ff9f4399}.note.good{border-left-color:var(--lime)}.note.good>.ico{background:var(--lime-2);box-shadow:0 0 10px #8bf54a99}.note .text{flex:1}.note .count{color:var(--muted);font-size:13px;padding:1px 8px;border-radius:999px;background:var(--well-2)}@keyframes slide{0%{transform:translate(-16px) scale(.96);opacity:0}to{transform:none;opacity:1}}#army{flex:none;margin-top:auto;padding:10px}#army .army-head{display:flex;align-items:center;gap:8px;font-weight:900;font-size:16px;margin-bottom:8px}#army .army-head>.ico{color:var(--coral);width:22px;height:22px;filter:drop-shadow(0 0 6px rgba(255,92,122,.8))}#army .army-head .count{flex:1;color:var(--muted);font-size:14px}#army .army-head button{min-height:36px;padding:4px 10px;font-size:14px;gap:5px;border-radius:10px}#army .army-head button .ico{width:16px;height:16px}#army .squads{display:grid;grid-template-columns:1fr 1fr;gap:8px}#army .squads:empty{display:none}.squad-card{position:relative;justify-content:flex-start;gap:8px;min-height:58px;padding:6px 8px;text-align:left}.squad-card>.ico{width:26px;height:26px;color:var(--gold)}.squad-card .body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.squad-card .body b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.squad-card .bar{margin:1px 0;height:7px;background:#0006;border-color:transparent}.squad-card .state{font-size:12px;font-weight:700;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.squad-card.active .state{color:#2b1a00bf}.squad-card.active>.ico{color:#2b1a00}.squad-card.busy>.ico{opacity:.6}.squad-card .key{position:absolute;top:-9px;left:-9px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:var(--ink);border:2px solid var(--edge-hi);text-shadow:none}.squad-card.active .key{background:var(--gold);color:#2b1a00;border-color:#fff}#right{position:absolute;right:12px;top:calc(var(--topbar-h, 100px) + 10px);bottom:calc(var(--dock-h, 110px) + 12px);width:var(--side-w);display:flex;flex-direction:column;gap:12px;align-items:flex-end}#minimap{flex:none;width:192px;height:192px;border-radius:18px;border:2px solid var(--edge-hi);background:#0d1020;cursor:pointer;box-shadow:0 10px 24px #00000073,0 0 0 1px #00000080}#selection{width:100%;min-height:0;overflow:auto}#selection:empty{display:none}#selection .title{font-weight:900;font-size:19px;margin:-12px -14px 10px;padding:8px 10px;display:flex;align-items:center;gap:10px;color:var(--text);background:linear-gradient(90deg,#ffd43b47,#ff9f431f 60%,#ffffff0a);border-bottom:1px solid rgba(255,255,255,.25);border-radius:20px 20px 0 0}#selection .title>.ico{color:#2b1a00;width:36px;height:36px;padding:7px;border-radius:50%;background:linear-gradient(180deg,#ffe066,var(--gold-2));box-shadow:0 0 12px #ffd43b99;flex:none}#selection .title .name{flex:1;line-height:1.15}#selection .title .close{flex:none}#selection .portrait{display:block;width:100%;height:112px;object-fit:contain;margin:0 0 8px;border-radius:14px;background:radial-gradient(ellipse at 50% 85%,rgba(76,201,240,.4),rgba(76,201,240,.06) 60%,transparent),linear-gradient(180deg,#ffffff24,#ffffff0a);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px #ffffff4d;filter:drop-shadow(0 4px 3px rgba(0,0,0,.4))}#selection .line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:15px;border-top:1px solid rgba(255,255,255,.08)}#selection .line:first-of-type{border-top:0}#selection .line b{font-size:16px}#selection .status{display:flex;align-items:flex-start;gap:8px;margin:6px 0;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,#ffffff29,#ffffff12);border:1px solid rgba(255,255,255,.22);font-size:15px;line-height:1.3;box-shadow:inset 0 1px #ffffff4d}#selection .status .ico{width:22px;height:22px;margin-top:0;color:var(--muted)}#selection .status.bad{background:#ff5c7a29;border-color:#ff5c7a8c}#selection .status.bad .ico{color:var(--coral);filter:drop-shadow(0 0 6px rgba(255,92,122,.8))}#selection .status.ok{background:#8bf54a24;border-color:#8bf54a80}#selection .status.ok .ico{color:var(--lime);filter:drop-shadow(0 0 6px rgba(139,245,74,.8))}#selection h3{margin:12px -14px 6px;font-size:14px;padding:6px 14px;border-radius:0;text-transform:uppercase;letter-spacing:.5px;color:var(--text);background:#ffffff17;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.recipe,.goods{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 0}.recipe .arrow{font-size:22px;font-weight:900;color:var(--blue)}.recipe .time{margin-left:auto;font-size:13px}.good{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 4px;border-radius:999px;background:linear-gradient(180deg,#ffffff29,#ffffff0f);border:1px solid rgba(255,255,255,.22);font-size:14px;color:var(--text);box-shadow:inset 0 1px #ffffff4d}.good>.ico{width:24px;height:24px;padding:4px;border-radius:50%;color:var(--ink);background:var(--c, var(--gold));box-shadow:0 0 8px color-mix(in srgb,var(--c, var(--gold)) 60%,transparent)}.good .muted{font-size:13px}.good.wood{--c: var(--wood)}.good.stone{--c: var(--stone)}.good.food{--c: var(--food)}.good.coins{--c: var(--coins)}.good.planks{--c: var(--planks)}.good.grain{--c: var(--grain)}.good.flour{--c: var(--flour)}.good.bread{--c: var(--bread)}.good.wool{--c: var(--wool)}.good.cloth{--c: var(--cloth)}.good b{color:var(--text)}.good.clickable{cursor:pointer}.good.clickable:hover{background:var(--well-2)}.goods.tabs .good{padding:4px 9px 4px 4px}.goods.tabs .good.active{border-color:var(--gold);box-shadow:0 0 0 2px #ffd43b59,0 0 12px #ffd43b66}.spark-wrap{margin:2px 0 4px}.spark-wrap svg{display:block;width:100%;height:48px;border-radius:10px;background:#0000004d;border:1px solid rgba(255,255,255,.1)}.spark .stroke{fill:none;stroke:currentColor;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;filter:drop-shadow(0 0 4px currentColor)}.spark .area{fill:currentColor;opacity:.2}.spark-legend{display:flex;justify-content:space-between}.flows .flow{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:15px}.flows .flow .ico{width:20px;height:20px;color:var(--muted);flex:none}.flows .flow span{flex:1}.flows .flow b{font-size:16px}.makers{display:flex;flex-direction:column;gap:6px}.makers button.maker{width:100%;justify-content:flex-start;text-align:left;min-height:46px;--tint: rgba(255, 255, 255, .1);--base: rgba(0, 0, 0, .35);text-shadow:none}.makers button.maker .ico{width:24px;height:24px;flex:none;color:var(--blue)}.makers button.maker>span{display:flex;flex-direction:column;gap:1px;flex:1}.makers button.maker.bad{border-color:#ff5c7a99}.makers button.maker.ok>.ico{color:var(--lime)}.makers button.maker.bad>.ico{color:var(--coral)}.uses{display:flex;flex-wrap:wrap;gap:6px}.uses .use{padding:3px 10px;border-radius:999px;background:var(--well-2);border:1px solid rgba(255,255,255,.22);font-size:14px}#selection .actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}#selection .actions button{width:100%;justify-content:flex-start;text-align:left;font-size:15px;min-height:46px}#selection .actions button .ico{width:22px;height:22px}#selection .actions button>span{flex:1}.cost{display:flex;gap:8px;font-size:13px;font-weight:800;flex:none}.cost .c{display:inline-flex;align-items:center;gap:3px}.cost .c .ico{width:16px;height:16px}.cost .c.miss{color:#ffb4c2}.item .cost{color:var(--muted)}.item .cost .c.miss{color:var(--coral)}#selection .actions button .cost{color:#ffffffeb}#selection .actions button.good .cost{color:#0b2a05d9}#selection .actions button:disabled .cost{color:var(--btxt)}#selection .actions button:disabled .cost .c.miss{color:var(--coral)}#selection .orders{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}#selection .orders button{font-size:15px;min-height:50px;justify-content:flex-start}#selection .orders button:last-child:nth-child(odd){grid-column:1 / -1}.bar{height:10px;background:#00000059;border-radius:6px;overflow:hidden;margin:4px 0;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 2px #0006}.bar>div{height:100%;background:linear-gradient(180deg,#a4ff6a,var(--lime-2));border-radius:6px;box-shadow:0 0 8px #8bf54a99}.bar.red>div{background:linear-gradient(180deg,#ff7d95,var(--coral-2));box-shadow:0 0 8px #ff5c7a99}.bar.blue>div{background:linear-gradient(180deg,#62d4ff,var(--blue-2));box-shadow:0 0 8px #4cc9f099}.bar.yellow>div{background:linear-gradient(180deg,#ffe066,var(--gold-2));box-shadow:0 0 8px #ffd43b99}.seg{display:flex;gap:6px;margin:8px 0}.seg button{flex:1;min-height:42px;font-size:14px;padding:4px}#hud>#bottom{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 12px 10px;pointer-events:none}#bottom>*{pointer-events:auto}#items{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 2 * var(--side-w) - 48px);padding:10px;border-radius:20px;background:var(--glass-bg);border:1.5px solid var(--edge);border-top-color:var(--edge-hi);box-shadow:var(--glass-shadow);animation:rise .18s cubic-bezier(.34,1.56,.64,1);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#items:empty{display:none}@keyframes rise{0%{transform:translateY(10px) scale(.97);opacity:0}to{transform:none;opacity:1}}#place-tools{display:flex;gap:8px;padding:6px 8px;border-radius:14px;background:var(--glass-bg);border:2px solid var(--edge);box-shadow:var(--glass-shadow);animation:rise .18s cubic-bezier(.34,1.56,.64,1);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#place-tools.hidden{display:none}#place-tools button,button.turn{position:relative}button.turn svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}button.turn:hover svg{transform:rotate(90deg)}button.turn:active svg{transform:rotate(180deg)}button.turn .key,#place-tools button .key{position:absolute;top:-9px;right:-7px;min-width:22px;height:22px;padding:0 5px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:var(--ink);border:2px solid var(--edge-hi);text-shadow:none}#categories{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 10px;border-radius:22px;background:var(--glass-bg);border:1.5px solid var(--edge);border-top-color:var(--edge-hi);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#categories button{--cat: var(--blue);position:relative;flex-direction:column;gap:4px;font-size:13px;min-width:86px;min-height:72px;padding:8px 8px 6px;--tint: rgba(255, 255, 255, .1);--base: rgba(0, 0, 0, .4);line-height:1.1;border-color:#ffffff47}#categories button .ico{width:32px;height:32px;color:var(--cat);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cat) 70%,transparent))}#categories button:has(.ico-cottage){--cat: var(--orange)}#categories button:has(.ico-hammer){--cat: var(--gold)}#categories button:has(.ico-well){--cat: var(--blue)}#categories button:has(.ico-shield){--cat: var(--lime)}#categories button:has(.ico-sword){--cat: var(--coral)}#categories button:has(.ico-road){--cat: #d8c7a8}#categories button:has(.ico-erase){--cat: var(--violet)}#categories button.active{--tint: color-mix(in srgb, var(--cat) 88%, transparent);--base: color-mix(in srgb, var(--cat) 45%, #000);--btxt: var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.3);transform:translateY(-6px);box-shadow:0 10px 0 var(--base),0 0 24px color-mix(in srgb,var(--cat) 80%,transparent),inset 0 1px #fff9;border-color:#ffffffbf}#categories button.active .ico{color:var(--ink);filter:none}#categories button.active:active{transform:translateY(-3px);box-shadow:0 7px 0 var(--base)}#categories button .key{position:absolute;top:4px;right:6px;font-size:11px;font-weight:900;color:#ffffff80;opacity:0;transition:opacity .15s;text-shadow:none}#categories button:hover .key{opacity:1}#categories button.active .key{color:#0e122699}.item{flex-direction:column;min-width:128px;padding:8px 10px;gap:4px;--tint: rgba(255, 255, 255, .1);--base: rgba(0, 0, 0, .4);text-shadow:none;border-radius:16px}.item .ico{width:34px;height:34px;color:var(--blue)}.item .name{font-size:14px;font-weight:900;white-space:nowrap}.item .thumb{width:84px;height:62px;margin:-2px 0 -1px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.5))}.item.active{--tint: rgba(255, 205, 60, .9);--base: rgba(143, 90, 8, .85);--btxt: #2b1a00;box-shadow:0 4px 0 var(--base),0 0 18px #ffd43b99,inset 0 1px #fff9}.item.active .cost{color:#2b1a00bf}.item.locked{--tint: rgba(255, 255, 255, .04);--btxt: var(--muted)}.item.locked .ico{opacity:.45}.item.locked .thumb{opacity:.5;filter:grayscale(.7) drop-shadow(0 2px 2px rgba(0,0,0,.4))}.item.locked .name{color:var(--muted)}#hint{min-height:26px;font-size:15px;font-weight:800;color:var(--text);text-align:center;padding:3px 14px;border-radius:999px;background:var(--glass-bg);border:1px solid rgba(255,255,255,.25);text-shadow:0 1px 2px rgba(0,0,0,.8);backdrop-filter:var(--glass-fx);-webkit-backdrop-filter:var(--glass-fx)}#hint:empty{display:none}#hud>#floaters{position:absolute;inset:0;overflow:hidden;pointer-events:none}.floater{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 9px;border-radius:999px;background:#0e122ab3;border:1px solid rgba(255,255,255,.35);color:var(--text);font-size:18px;font-weight:900;white-space:nowrap;will-change:transform,opacity;box-shadow:inset 0 1px #ffffff59}.floater.pos b{color:var(--good);text-shadow:0 0 8px rgba(139,245,74,.7)}.floater.neg b{color:var(--bad);text-shadow:0 0 8px rgba(255,92,122,.7)}.floater .ico{width:18px;height:18px}.floater.wood .ico{color:var(--wood)}.floater.stone .ico{color:var(--stone)}.floater.food .ico{color:var(--food)}.floater.coins .ico{color:var(--coins)}.floater.planks .ico{color:var(--planks)}.floater.grain .ico{color:var(--grain)}.floater.flour .ico{color:var(--flour)}.floater.bread .ico{color:var(--bread)}.floater.wool .ico{color:var(--wool)}.floater.cloth .ico{color:var(--cloth)}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#06081473;z-index:10;padding:16px;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}.screen.menu{background:radial-gradient(ellipse at 50% 110%,rgba(124,92,240,.55),transparent 55%),radial-gradient(ellipse at 15% 10%,rgba(76,201,240,.25),transparent 45%),radial-gradient(ellipse at 85% 20%,rgba(255,92,122,.2),transparent 45%),linear-gradient(180deg,#0a0d22,#141a3f 60%,#1d1552);backdrop-filter:none}.screen.menu:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 25%,#fff 1px,transparent 2px),radial-gradient(circle at 70% 15%,#fff 1px,transparent 2px),radial-gradient(circle at 85% 40%,#fff 1.5px,transparent 2.5px),radial-gradient(circle at 40% 10%,#fff 1px,transparent 2px),radial-gradient(circle at 55% 35%,#fff 1px,transparent 2px),radial-gradient(circle at 10% 55%,#fff 1px,transparent 2px),radial-gradient(circle at 92% 70%,#fff 1px,transparent 2px),radial-gradient(circle at 30% 80%,#fff 1.5px,transparent 2.5px);opacity:.8;pointer-events:none}.card{position:relative;background:var(--glass-bg);border:1.5px solid var(--edge-hi);border-radius:28px;padding:28px 32px;max-width:580px;width:min(94vw,580px);box-shadow:var(--glass-shadow),0 30px 80px #00000080,0 0 60px #7c5cf040;max-height:calc(100vh - 32px);overflow:auto;color:var(--text);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);text-shadow:0 1px 2px rgba(0,0,0,.35)}.card h1{margin:0 0 6px;font-size:44px;font-weight:900;letter-spacing:.2px;line-height:1.1;text-shadow:none;background:linear-gradient(180deg,#fff2a8,var(--gold) 55%,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(255,212,59,.4))}.card h2{margin:0 0 12px;font-size:26px;font-weight:900;display:flex;align-items:center;gap:10px}.card h2 .ico{color:var(--gold);width:32px;height:32px;filter:drop-shadow(0 0 8px rgba(255,212,59,.7))}.card p{line-height:1.4;margin:8px 0;font-size:16px}.card .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.card .row label{color:var(--muted);margin-right:4px}#emblem{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2a8,var(--gold) 40%,var(--gold-2));color:#2b1a00;display:grid;place-items:center;margin-bottom:14px;border:3px solid rgba(255,255,255,.5);box-shadow:0 0 30px #ffd43b99,0 10px 24px #0006}#emblem .ico{width:48px;height:48px;stroke-width:2.4}#menu-buttons{display:flex;flex-direction:column;gap:12px;margin:20px 0 8px}#menu-buttons button{font-size:19px;min-height:64px;justify-content:flex-start;text-align:left;padding:10px 18px;gap:14px;border-radius:18px}#menu-buttons button .ico{width:30px;height:30px;color:var(--gold);filter:drop-shadow(0 0 6px rgba(255,212,59,.6))}#menu-buttons button.primary .ico{color:#fff;filter:none}#menu-buttons button .txt{display:flex;flex-direction:column}#menu-buttons .menu-note{margin:0;padding:12px 16px;border-radius:16px;background:#ffd43b1f;border:1px solid rgba(255,212,59,.45);color:#ffe9a3;font-weight:700;line-height:1.35}#menu-buttons button small{display:block;font-size:14px;color:#ffffffc7;font-weight:700}.lang-row{justify-content:flex-end}.card .buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.card .buttons button{flex:1;font-size:17px;min-height:54px}.card .explain{background:var(--well-2);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px 14px;margin-top:8px;line-height:1.4}.lang.active{box-shadow:0 4px 0 var(--base),0 0 14px #ffd43b80,inset 0 1px #fff9}.worldmap-canvas{display:block;width:min(100%,440px);aspect-ratio:1;margin:8px auto;border-radius:14px;border:1.5px solid var(--edge-hi);image-rendering:pixelated;cursor:crosshair;touch-action:manipulation}.worldmap-info{min-height:44px;display:flex;flex-direction:column;gap:4px}.worldmap-info .warn{color:var(--orange);font-weight:700}.worldmap-legend{margin-top:6px}.result{text-align:center}.result h2{justify-content:center}.result.win h2 .ico{color:var(--orange);filter:drop-shadow(0 0 12px rgba(255,159,67,.9))}.stars{display:flex;justify-content:center;gap:10px;margin:6px 0 12px}.stars .ico{width:56px;height:56px;color:#ffffff4d;stroke-width:2}.stars .ico.on{color:var(--gold);fill:var(--gold);filter:drop-shadow(0 0 14px rgba(255,212,59,.9));animation:pop .5s cubic-bezier(.34,1.56,.64,1) both}.stars .ico.on:nth-child(2){animation-delay:.2s}.stars .ico.on:nth-child(3){animation-delay:.4s}@keyframes pop{0%{transform:scale(0) rotate(-30deg)}to{transform:none}}.setting{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.setting:first-of-type{border-top:0}.setting>label{min-width:120px;color:var(--text);font-size:16px;display:flex;align-items:center;gap:8px;font-weight:800}.setting>label .ico{color:var(--blue)}.setting .ctl{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.setting .ctl button{font-size:15px}.setting.stack{flex-direction:column;align-items:stretch}.setting.stack .ctl{margin-left:0;justify-content:flex-start}.card .tip{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:14px;margin-top:12px}.card .tip .ico{flex:none;margin-top:2px}.trade{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.1);font-size:15px}.trade button{min-width:110px}.quote{font-style:italic;font-weight:700;color:var(--text);padding:8px 12px;border-left:4px solid var(--violet);background:var(--well);border-radius:0 10px 10px 0;margin:8px 0;line-height:1.35}@media (max-height: 800px){#minimap{width:150px;height:150px}#selection{padding:10px 12px}#selection .title{font-size:17px;margin:-10px -12px 8px}#selection .portrait{height:88px}#selection .line{padding:3px 0;font-size:14px}#selection .status{margin:4px 0;padding:6px 8px;font-size:14px}#selection h3{margin:8px -12px 4px;font-size:13px}#selection .actions{gap:6px;margin-top:6px}#selection .actions button,#selection .orders button{min-height:42px;font-size:14px;padding:6px 12px}.obj{padding:6px 0;font-size:15px}#dial{width:72px;height:72px}#dial-ico .ico{width:32px;height:32px}#categories button{min-height:64px;min-width:80px}#categories button .ico{width:28px;height:28px}}@media (max-width: 1600px){#categories{gap:6px;padding:7px 8px}#categories button{min-width:76px;font-size:12px;padding:7px 6px 5px}#categories button .ico{width:28px;height:28px}}@media (max-width: 1200px){:root{--side-w: 260px}#minimap{width:150px;height:150px}#resources,#people{max-width:calc(50vw - 90px)}#btn-speed{min-width:64px}}.join-field{display:flex;flex-direction:column;gap:4px;margin:8px 0;font-size:13px}.join-field input{font:inherit;padding:8px 10px;border-radius:10px;border:1.5px solid var(--edge-hi);background:#ffffff0f;color:inherit}.player-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--edge-hi)}.player-row strong{min-width:90px}.player-colour{width:14px;height:14px;border-radius:50%;border:2px solid var(--edge-hi);flex:none}
