@font-face{font-family:Cyclo;src:url(/fonts/Cyclo_Trial.otf) format("opentype")}:root{color-scheme:light;--wood-1: oklch(58% .085 50);--wood-2: oklch(42% .075 42);--wood-3: oklch(27% .055 35);--wood-shadow: oklch(16% .03 30);--parchment-1: oklch(90% .032 85);--parchment-2: oklch(80% .038 78);--gold: oklch(83% .13 86);--ink: oklch(30% .03 50);--pill-1: oklch(97% .008 240);--pill-2: oklch(87% .02 225);--pill-border: oklch(38% .05 45)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{max-height:100vh;overflow:hidden;background-image:url(/images/background.webp);background-size:cover;font-family:Cyclo,sans-serif}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:url(/images/PR3Logo.webp) center no-repeat #fff;transition:opacity .6s ease}.preloader.hidden{opacity:0;pointer-events:none}.map-container{position:relative;width:100%;height:100vh;overflow:hidden}#map{width:100%;height:100%;cursor:grab}#map .town{stroke:#000;fill-rule:nonzero;paint-order:stroke;cursor:zoom-in;transition:fill .15s ease}#map image{filter:none;transition:filter .5s ease}#map.vintage image{filter:grayscale(.6) contrast(1.15) brightness(1.02)}#map .map-style-overlay{opacity:0;pointer-events:none;transition:opacity .5s ease}#map.vintage .map-style-overlay{opacity:1}#map .map-tint{mix-blend-mode:color}#map .map-hatch,#map .map-vignette{mix-blend-mode:multiply}.top-controls{position:fixed;z-index:3;top:16px;right:16px;max-width:calc(100vw - 32px);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.lang-switcher,.map-style-switcher{display:flex;gap:6px;padding:6px;background:#00000059;border-radius:10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lang-btn{width:32px;height:22px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:4px;overflow:hidden;background:none;cursor:pointer;opacity:.55;transition:opacity .15s ease,transform .1s ease,box-shadow .15s ease}.lang-btn svg{width:100%;height:100%;display:block}.lang-btn:hover{opacity:.85;transform:translateY(-1px)}.lang-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lang-btn.active{opacity:1;box-shadow:0 0 0 2px var(--gold),0 0 8px 1px #edc15a8c}.map-style-btn{width:32px;height:22px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .15s ease,transform .1s ease,box-shadow .15s ease,color .15s ease,background .15s ease}.map-style-btn svg{width:15px;height:15px}.map-style-btn:hover{opacity:.85;transform:translateY(-1px)}.map-style-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.map-style-btn.active{opacity:1;background:var(--gold);color:var(--wood-3);box-shadow:0 0 8px 1px #edc15a8c}.year-switcher{position:fixed;z-index:3;top:60px;right:16px;display:flex;gap:6px;padding:6px;background:#00000059;border-radius:10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.year-btn{padding:5px 8px;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:none;color:#fff;font-family:Cyclo,sans-serif;font-size:.72rem;font-weight:700;cursor:pointer;opacity:.65;transition:opacity .15s ease,transform .1s ease,box-shadow .15s ease}.year-btn:hover{opacity:.9;transform:translateY(-1px)}.year-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.year-btn.active{opacity:1;background:var(--gold);color:var(--wood-3);box-shadow:0 0 8px 1px #edc15a8c}.nation-flag{display:none;pointer-events:none}#legend{font-family:Cyclo,sans-serif;text-align:center;font-size:smaller;font-weight:bolder;color:#fff;background:#000000b3;border-radius:25px;padding:10px 15px;position:fixed;bottom:20px;left:20px;z-index:2}#legend img{height:1em;vertical-align:middle;margin:0 4px}#town-card{position:fixed;z-index:3;display:none;width:15rem;pointer-events:none;border-radius:12px;overflow:hidden;box-shadow:0 10px 20px #00000080,0 3px 6px #00000059}#town-card-title{margin:0;padding:7px 14px;text-align:center;font-family:Cyclo,sans-serif;font-size:1.05rem;font-weight:400;letter-spacing:.03em;color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.7),0 0 10px rgba(0,0,0,.35);background:repeating-linear-gradient(100deg,rgba(0,0,0,.08) 0px,rgba(0,0,0,.08) 1px,transparent 1px,transparent 4px),linear-gradient(180deg,var(--wood-1) 0%,var(--wood-2) 20%,var(--wood-3) 80%,var(--wood-2) 100%);border-bottom:2px solid var(--wood-shadow);box-shadow:inset 0 1px #ffffff40}#town-card .goods-row{display:flex;flex-wrap:nowrap;justify-content:space-evenly;gap:6px;padding:10px;background:radial-gradient(120% 60% at 15% -10%,rgba(255,255,255,.4),transparent 55%),radial-gradient(140% 90% at 100% 110%,rgba(0,0,0,.1),transparent 60%),linear-gradient(160deg,var(--parchment-1),var(--parchment-2))}#town-card .goods-row img{width:34px;height:34px;object-fit:contain;padding:4px;border-radius:7px;border:1px solid var(--wood-shadow);background:linear-gradient(160deg,var(--wood-1),var(--wood-3));box-shadow:inset 0 1px 1px #ffffff4d,inset 0 -2px 3px #0006}.drawer{position:fixed;z-index:4;top:0;left:0;height:100vh;display:flex;align-items:flex-start}.drawer-content{box-sizing:border-box;width:424px;max-width:calc(100vw - 60px);height:100%;padding:24px 16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--wood-2) transparent;direction:rtl;transform:translate(-100%);transition:transform .3s ease}.drawer.open .drawer-content{transform:translate(0)}.drawer-content>.panel{direction:ltr}.drawer-content::-webkit-scrollbar{width:8px}.drawer-content::-webkit-scrollbar-thumb{background:var(--wood-2);border-radius:4px}.drawer-handle{position:absolute;top:24px;left:0;transition:left .3s ease;width:34px;height:64px;padding:0;border:2px solid var(--gold);border-left:none;border-radius:0 16px 16px 0;background:radial-gradient(circle at 35% 30%,var(--wood-1),var(--wood-3) 75%);box-shadow:3px 3px 10px #0000008c,0 0 0 2px #00000059;display:flex;align-items:center;justify-content:center;cursor:pointer}.drawer.open .drawer-handle{left:408px}.drawer-handle svg{width:20px;height:20px;color:var(--gold);transition:transform .3s ease}.drawer.open .drawer-handle svg{transform:rotate(180deg)}.drawer-handle:hover svg{transform:translate(2px)}.drawer.open .drawer-handle:hover svg{transform:rotate(180deg) translate(2px)}.drawer-handle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.panel{flex-shrink:0;border-radius:16px;overflow:hidden;box-shadow:0 14px 26px #00000073,0 3px 8px #00000059}.panel-header{flex-shrink:0;position:relative;padding:10px 20px;text-align:center;background:repeating-linear-gradient(100deg,rgba(0,0,0,.08) 0px,rgba(0,0,0,.08) 1px,transparent 1px,transparent 4px),linear-gradient(180deg,var(--wood-1) 0%,var(--wood-2) 20%,var(--wood-3) 80%,var(--wood-2) 100%);border-bottom:2px solid var(--wood-shadow);box-shadow:inset 0 1px #ffffff40,inset 0 -2px 4px #00000059}.panel-header h2{margin:0;font-family:Cyclo,sans-serif;font-size:1.3rem;font-weight:400;letter-spacing:.03em;color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.7),0 0 10px rgba(0,0,0,.35)}.panel-body{padding:16px;background:radial-gradient(120% 60% at 15% -10%,rgba(255,255,255,.4),transparent 55%),radial-gradient(140% 90% at 100% 110%,rgba(0,0,0,.1),transparent 60%),linear-gradient(160deg,var(--parchment-1),var(--parchment-2));box-shadow:inset 0 3px 8px #0000002e}#resources-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}#resources-list li{width:46px;height:46px}#resources-list button{width:100%;height:100%;padding:6px;border:1px solid var(--wood-shadow);border-radius:9px;background:linear-gradient(160deg,var(--wood-1),var(--wood-3));box-shadow:inset 0 1px 1px #ffffff59,inset 0 -3px 4px #00000073,0 2px 3px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,box-shadow .15s ease}#resources-list button img{width:30px;height:30px;object-fit:contain;filter:saturate(.3) brightness(.8);transition:filter .15s ease}#resources-list button:hover{transform:translateY(-1px)}#resources-list button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#resources-list button.active{box-shadow:0 0 0 2px var(--gold),0 0 12px 2px #edc15a8c,inset 0 1px 1px #fff6}#resources-list button.active img{filter:none}#calc-form{display:flex;flex-direction:column;align-items:center}#calc-inputs{display:flex;gap:16px;margin-bottom:14px}.field{display:flex;flex-direction:column;align-items:center;gap:5px}.field-label{font-family:Cyclo,sans-serif;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--wood-3);font-weight:700}.pill-input{width:100px;height:32px;text-align:center;background:linear-gradient(180deg,var(--pill-1),var(--pill-2));border:1px solid var(--pill-border);border-radius:16px;box-shadow:inset 0 1px 3px #00000047;font-family:Cyclo,sans-serif;font-weight:700;font-size:.95rem;color:var(--ink)}.pill-input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}#calc-submit{display:block;margin:0 0 16px;padding:9px 30px;border:1px solid var(--wood-shadow);border-radius:20px;background:linear-gradient(180deg,var(--wood-1),var(--wood-3));box-shadow:inset 0 1px 1px #ffffff59,inset 0 -3px 4px #0006,0 3px 6px #00000059;font-family:Cyclo,sans-serif;font-weight:700;letter-spacing:.03em;color:var(--gold);text-shadow:0 1px 1px rgba(0,0,0,.5);cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}#calc-submit:hover{transform:translateY(-1px)}#calc-submit:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #00000080}#calc-submit:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#calc-results{display:flex;flex-direction:column;gap:8px;width:100%}.calc-row{display:flex;align-items:center;gap:8px;min-width:0}.icon-frame{flex:none;width:44px;height:44px;border-radius:9px;border:1px solid var(--wood-shadow);background:linear-gradient(160deg,var(--wood-1),var(--wood-3));box-shadow:inset 0 1px 1px #ffffff59,inset 0 -3px 4px #00000073,0 2px 3px #0000004d;display:flex;align-items:center;justify-content:center}.icon-frame img{width:30px;height:30px;object-fit:contain}.pill{display:flex;align-items:center;justify-content:center;flex:auto;min-width:0;height:32px;padding:0 10px;border:1px solid var(--pill-border);border-radius:16px;background:linear-gradient(180deg,var(--pill-1),var(--pill-2));box-shadow:inset 0 1px 2px #00000040;font-family:Cyclo,sans-serif;font-weight:700;font-size:.9rem;color:var(--ink)}@media (max-width: 600px){.drawer-content{width:calc(100vw - 40px)}.drawer.open .drawer-handle{left:calc(100vw - 56px)}}
