@font-face{font-family:Alegreya SC;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/AlegreyaSC-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya SC;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/AlegreyaSC-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya SC;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/AlegreyaSC-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya SC;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/AlegreyaSC-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/AlegreyaSans-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/AlegreyaSans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/AlegreyaSans-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/AlegreyaSans-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/AlegreyaSans-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/AlegreyaSans-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-void: #0f0c08;--wood-900: #14100a;--wood-800: #1c1610;--wood-700: #272016;--wood-600: #35291b;--edge: #55452c;--edge-dim: #3a3020;--edge-bright: #8a7040;--ink: #e8d9a0;--ink-strong: #f6eecf;--ink-muted: #a89570;--ink-dim: #7a6a50;--gold: #d9a940;--gold-bright: #f2c75c;--gold-deep: #8f6d24;--ok: #8ab060;--ok-bg: #1a2818;--ok-edge: #3a5a30;--err: #ff9a9a;--err-bg: #281818;--err-edge: #6a3030;--info: #90b0d0;--font-display: "Alegreya SC", Georgia, "Times New Roman", serif;--font-body: "Alegreya Sans", "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, Consolas, monospace;--slot-bg: #241d12;--hpbar-bg: #1c0e0c;--field-bg: #16120c;--collect-dot: #e8c860;--hint-ok: #a0d090;--rune-label: #c8b890;--carousel-visible: 3.5;--building-icon-size: 88px;--unit-card-height: 640px;--panel-shadow: 0 10px 28px rgba(0, 0, 0, .75);--panel-grain: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, 0) 26%), repeating-linear-gradient(93deg, rgba(0, 0, 0, 0) 0 5px, rgba(0, 0, 0, .07) 5px 6px), linear-gradient(180deg, var(--wood-700), var(--wood-900))}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}body{font-family:var(--font-body);font-size:14px;color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--wood-600) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--wood-600);border-radius:5px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.panel{background:var(--panel-grain);border:1px solid var(--edge);border-radius:10px;box-shadow:var(--panel-shadow),inset 0 1px #ffffff12;color:var(--ink)}.panel--ornate{position:relative}.panel--ornate:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(217,169,64,.18);border-radius:7px;pointer-events:none}.panel__title{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.15;color:var(--gold-bright);letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.9)}.panel__title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--edge-dim)}.btn{cursor:pointer;font-family:var(--font-display);font-weight:500;font-size:15px;line-height:1.1;letter-spacing:.03em;color:var(--ink);background:linear-gradient(180deg,#322818,#211a10);border:1px solid var(--edge);border-radius:6px;padding:6px 14px;box-shadow:inset 0 1px #ffffff14,0 1px 3px #0000008c;text-shadow:0 1px 1px rgba(0,0,0,.7);transition:border-color .12s,filter .12s,transform .05s}.btn:hover:not(:disabled){border-color:var(--edge-bright);filter:brightness(1.18)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 5px #0000008c;filter:brightness(.95)}.btn:disabled{cursor:default;opacity:.45}.btn--primary{color:#241a08;background:linear-gradient(180deg,#ecc258,#b7892e);border-color:var(--gold-deep);text-shadow:0 1px 0 rgba(255,235,180,.45);box-shadow:inset 0 1px #fff5d280,0 1px 3px #0009}.btn--primary:hover:not(:disabled){border-color:#c79a35;filter:brightness(1.08)}.btn--on{background:linear-gradient(180deg,#40522c,#2c3a1e);border-color:var(--ok)}.btn--ghost{background:#ffffff08;border-color:var(--edge-dim);color:var(--ink-muted);box-shadow:none}.btn--sm{font-size:13px;padding:3px 9px;border-radius:5px}.btn--danger{background:linear-gradient(180deg,#4a2420,#331814);border-color:var(--err-edge);color:var(--err)}.input{width:100%;padding:7px 10px;color:var(--ink-strong);background:#0e0b07;border:1px solid var(--edge-dim);border-radius:5px;box-shadow:inset 0 2px 5px #00000080;outline:none;transition:border-color .12s}.input:focus{border-color:var(--gold-deep)}.input::placeholder{color:var(--ink-dim)}.input[type=number]::-webkit-outer-spin-button,.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield}.card{background:linear-gradient(180deg,var(--wood-800),var(--wood-900));border:1px solid var(--edge-dim);border-radius:8px;padding:10px;transition:border-color .12s,transform .12s,box-shadow .12s}.card--hover:hover{border-color:var(--edge-bright);transform:translateY(-2px);box-shadow:0 6px 16px #0000008c}.card--off{opacity:.55}.card--sel{border-color:var(--gold-deep);box-shadow:0 0 0 1px var(--gold-deep),0 4px 12px #00000073}.card__name{font-family:var(--font-display);font-weight:500;font-size:14px;color:var(--ink-strong);line-height:1.2}.carousel{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:calc((100% - (var(--carousel-visible) - 1) * 8px) / var(--carousel-visible));gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:10px;cursor:grab}.carousel:active{cursor:grabbing}.carousel{scrollbar-width:thin;scrollbar-color:var(--wood-600) var(--wood-900)}.carousel::-webkit-scrollbar{height:10px}.carousel::-webkit-scrollbar-thumb{background:var(--wood-600);border-radius:5px;border:2px solid transparent;background-clip:content-box}.carousel::-webkit-scrollbar-track{background:var(--wood-900);border-radius:5px}.carousel__cell{min-width:0;display:flex}.carousel__cell>.card{flex:1;min-width:0;margin:0;height:100%;overflow-wrap:anywhere}.carousel__cell .card>div:first-child{height:auto!important;align-self:stretch;width:120px!important}.carousel__cell .card *{min-width:0}.carousel--buildings{--carousel-visible: 4.2;--building-cell-height: 118px}.carousel--buildings .carousel__cell{min-height:var(--building-cell-height)}.carousel--buildings .carousel__cell img{width:var(--building-icon-size);height:auto;align-self:stretch;object-fit:contain}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 5px;background:#ffffff0b;border:1px solid rgba(255,255,255,.06);border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}.chip img{display:block}.toast{font-size:13px;padding:4px 12px;border-radius:5px;box-shadow:0 3px 10px #0009}.toast--ok{background:var(--ok-bg);color:#a0d090;border:1px solid var(--ok-edge)}.toast--err{background:var(--err-bg);color:var(--err);border:1px solid var(--err-edge)}.form-error{padding:8px 10px;border:1px solid var(--err-edge);border-radius:5px;background:var(--err-bg);color:var(--err);font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0503014d;z-index:9}.hud-top{position:fixed;top:0;left:0;right:0;height:46px;display:flex;gap:8px;align-items:center;padding:0 10px;background:linear-gradient(180deg,#241c12f2,#161009f2);border-bottom:1px solid var(--edge);box-shadow:0 3px 12px #00000080;z-index:1000}.hud-bottom{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(180deg,#1d1710,#120e08);border-top:1px solid var(--edge);box-shadow:0 -4px 14px #00000073,inset 0 1px #ffffff0d;color:var(--ink);z-index:800}.map-marker{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;cursor:pointer;background:radial-gradient(circle at 35% 30%,var(--gold-bright),var(--gold-deep));border:2px solid #14100a;box-shadow:0 0 10px #000000b3,0 0 12px #f2c75c80;animation:marker-pulse 1.8s ease-in-out infinite}.map-marker:hover{filter:brightness(1.2)}.map-marker--locked{background:radial-gradient(circle at 35% 30%,#8a7a56,#55452c);box-shadow:0 0 8px #000000b3;animation:none;opacity:.85}.map-marker--village{width:36px;height:36px;background:radial-gradient(circle at 35% 30%,#7fae6a,#3f5e33);animation:none}.map-badge{position:absolute;top:-8px;right:-9px;font-size:11px;line-height:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.9)}.map-badge--done{color:var(--ok);font-weight:700;font-size:15px}.map-marker--ping:before,.map-marker--ping:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid #e0483c;pointer-events:none;animation:map-ping 1s ease-out infinite}.map-marker--ping:after{animation-delay:.5s}@keyframes map-ping{0%{transform:scale(1);opacity:.9}to{transform:scale(2.4);opacity:0}}@keyframes marker-pulse{0%,to{box-shadow:0 0 10px #000000b3,0 0 6px #f2c75c59}50%{box-shadow:0 0 10px #000000b3,0 0 18px #f2c75ccc}}.onboarding-scroll{position:relative;color:#2b1f10;border:1px solid #6a5636;border-radius:3px;background-image:url(/assets/ui/parchment.png),radial-gradient(120% 90% at 50% 50%,#0000 55%,#4a341666),linear-gradient(180deg,#e8d7ab,#d7c191 55%,#c9b07c);background-size:cover,auto,auto;background-blend-mode:multiply,normal,normal;box-shadow:0 12px 30px #000000b3,inset 0 0 26px #78582859}.onboarding-scroll:before,.onboarding-scroll:after{content:"";position:absolute;left:-7px;right:-7px;height:15px;border:1px solid #1c1409;border-radius:8px;background:linear-gradient(180deg,#7a6440,#4a3820 55%,#2a1e10);box-shadow:0 2px 7px #0009,inset 0 1px #ffffff24;pointer-events:none}.onboarding-scroll:before{top:-8px}.onboarding-scroll:after{bottom:-8px}.onboarding-scroll .panel__title{color:#5c3a12;text-shadow:0 1px 0 rgba(255,255,255,.25)}.onboarding-scroll .scroll-body{color:#2b1f10}.onboarding-scroll .scroll-tip{color:#5a4426;border-top-color:#5a442659}.onboarding-scroll .dim{color:#6b563a}.onboarding-hl{position:relative;outline:2px solid var(--gold-bright);outline-offset:2px;border-radius:4px;animation:onboarding-pulse 1.6s ease-in-out infinite}@keyframes onboarding-pulse{0%,to{box-shadow:0 0 #f2c75c8c}50%{box-shadow:0 0 10px 4px #f2c75c59}}.fx-smoke,.fx-smoke:before,.fx-smoke:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#eee9ded9 20%,#c8c3b900 65%);animation:fx-smoke-rise 3.5s ease-in infinite;pointer-events:none}.fx-smoke:before{left:-6px;animation-delay:1.15s}.fx-smoke:after{left:6px;animation-delay:2.3s}@keyframes fx-smoke-rise{0%{transform:translateY(0) scale(.6);opacity:0}18%{opacity:.9}to{transform:translateY(-40px) scale(2.2);opacity:0}}.float-delta{position:absolute;left:50%;bottom:100%;pointer-events:none;font-family:var(--font-display);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.9);animation:float-delta-rise .7s ease-out forwards;z-index:1200}.float-delta--up{color:var(--ok)}.float-delta--down{color:var(--err)}@keyframes float-delta-rise{0%{transform:translate(-50%);opacity:0}15%{opacity:1}to{transform:translate(-50%,-16px);opacity:0}}.muted{color:var(--ink-muted)}.dim{color:var(--ink-dim)}.gold{color:var(--gold-bright)}.num{font-variant-numeric:tabular-nums}.hr{border:0;height:1px;margin:8px 0;background:linear-gradient(90deg,transparent,var(--edge) 18%,var(--edge) 82%,transparent)}
