:root{--wood-dark: #3d2612;--wood: #5b3a1e;--wood-light: #8a5a2b;--parchment: #f4e9cf;--parchment-dark: #e8d7b0;--page: #d9c9a3;--border: #b8995e;--border-dark: #7d6233;--ink: #2b1d0e;--ink-soft: #6b5535;--red: #8b1e1e;--green: #2e6b2a;--gold: #c9971f;--shadow: 0 2px 6px rgba(43, 29, 14, .25);font-family:Georgia,Times New Roman,serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page) url(/graphic/background/bg-tile.jpg)}a,.link{color:var(--red);cursor:pointer;text-decoration:none;background:none;border:0;padding:0;font:inherit}a:hover,.link:hover{text-decoration:underline}h1,h2,h3{font-weight:400;margin:0 0 8px;letter-spacing:.02em}h2{font-size:1.35rem}h3{font-size:1.05rem;color:var(--wood)}.icon{vertical-align:-3px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(#a8743e,#7a4e24);color:#fff8e6;border:1px solid var(--wood-dark);border-radius:4px;padding:5px 12px;font:inherit;font-size:.92rem;cursor:pointer;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:inset 0 1px #ffffff40;white-space:nowrap}.btn:hover:not(:disabled){background:linear-gradient(#b8844b,#85572a)}.btn:disabled{background:#b9ab8e;border-color:#8f8165;color:#f2ebdc;cursor:not-allowed;text-shadow:none}.btn.danger{background:linear-gradient(#a33,#7a1c1c)}.btn.small{padding:2px 8px;font-size:.82rem}.btn.ghost{background:transparent;color:var(--wood);border-color:var(--border);text-shadow:none;box-shadow:none}input[type=text],input[type=email],input[type=password],input[type=number],select{font:inherit;padding:5px 8px;border:1px solid var(--border-dark);border-radius:3px;background:#fffaf0;color:var(--ink)}input[type=number]{width:80px}input.coord{width:60px}label{display:block;font-size:.9rem;color:var(--ink-soft);margin-bottom:4px}.panel{background:var(--parchment) url(/graphic/background/content.jpg);border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow);padding:14px 16px;margin-bottom:14px}.panel>h2:first-child,.panel>h3:first-child{border-bottom:1px solid var(--border);padding-bottom:6px}table.list{width:100%;border-collapse:collapse;font-size:.92rem}table.list th{text-align:left;background:var(--parchment-dark);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:400;color:var(--wood)}table.list td{padding:6px 8px;border-bottom:1px solid #e3d3ab;vertical-align:middle}table.list tr:last-child td{border-bottom:0}table.list tr.clickable:hover td{background:#fbf3df;cursor:pointer}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--ink-soft);font-size:.88em}.warn{color:var(--red)}.ok{color:var(--green)}.cost{display:inline-flex;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.cost span{display:inline-flex;gap:3px;align-items:center}.cost .lack{color:var(--red)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grow{flex:1}.splash{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(#2b1d0e59,#2b1d0eb3),url(/graphic/visual/back_none.jpg) center / cover}.splash-card{width:min(440px,100%)}.splash-title{text-align:center;color:#f6e7c1;margin-bottom:18px;text-shadow:0 2px 4px #000}.splash-title h1{font-size:2.6rem;letter-spacing:.08em}.splash-title p{margin:0;opacity:.85;font-style:italic}.form-grid{display:grid;gap:12px}.tabs{display:flex;gap:2px;margin-bottom:12px}.tabs button{flex:1;font:inherit;padding:7px;border:1px solid var(--border);background:var(--parchment-dark);color:var(--ink-soft);cursor:pointer}.tabs button.active{background:var(--parchment);color:var(--ink);border-bottom-color:var(--parchment);font-weight:700}.error-box{background:#f6d9d0;border:1px solid #c77;color:var(--red);padding:8px 10px;border-radius:3px;font-size:.9rem}.info-box{background:#e6efd5;border:1px solid #9ab47a;color:#2e4a1d;padding:8px 10px;border-radius:3px;font-size:.9rem}.topbar{background:linear-gradient(var(--wood),var(--wood-dark));color:#f3e3bd;border-bottom:3px solid #2a190a;box-shadow:0 2px 8px #0006;position:sticky;top:0;z-index:10}.topbar-inner{max-width:1180px;margin:0 auto;padding:8px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.brand{font-size:1.3rem;letter-spacing:.1em;color:#f6dd9b}.brand small{font-size:.75rem;letter-spacing:0;color:#cdb88a;margin-left:6px}.resbar{display:flex;gap:14px;flex-wrap:wrap;font-variant-numeric:tabular-nums;margin-left:auto}.resbar span{display:inline-flex;align-items:center;gap:4px}.resbar .full{color:#ff9b7a}.resbar .cap{opacity:.7;font-size:.85em}.topbar select{background:#fff2d3;max-width:260px}.nav{background:var(--parchment-dark);border-bottom:1px solid var(--border-dark)}.nav-inner{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap}.nav button{font:inherit;font-size:.93rem;border:0;border-right:1px solid var(--border);background:transparent;color:var(--wood);padding:9px 14px;cursor:pointer;position:relative}.nav button:first-child{border-left:1px solid var(--border)}.nav button:hover{background:var(--parchment)}.nav button.active{background:var(--parchment);color:var(--ink);font-weight:700}.badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:.75rem;margin-left:4px;text-align:center;font-weight:700}.alert-bar{background:#7a1c1c;color:#fff;text-align:center;padding:6px 16px;font-size:.92rem;animation:pulse 2s infinite}@keyframes pulse{50%{background:#a32626}}.main{max-width:1180px;margin:0 auto;padding:16px}.cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}@media (max-width: 900px){.cols{grid-template-columns:minmax(0,1fr)}}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--wood-dark);color:#fbe9c0;padding:10px 18px;border-radius:4px;box-shadow:0 4px 14px #0006;z-index:50;max-width:calc(100% - 32px)}.toast.error{background:var(--red)}.save-state{font-size:.8rem;color:#cdb88a}.scene-wrap{width:100%;max-width:600px;margin:0 auto;overflow:hidden}.scene{position:relative;width:600px;height:418px;transform-origin:0 0;border:1px solid var(--border-dark)}.scene-bg{position:absolute;left:0;top:0;width:600px;height:418px;z-index:0}.scene-img{position:absolute;pointer-events:none}.scene-map{position:absolute;left:0;top:0;z-index:5}.scene-map polygon{fill:transparent;cursor:pointer}.scene-map polygon.hover{fill:#ffffc82e;stroke:#ffffdcb3;stroke-width:1.5}.scene-label{position:absolute;z-index:7;min-width:20px;padding:1px 5px;font:700 11px Verdana,sans-serif;color:#fff;text-align:center;border:1px solid #2b310b;border-radius:5px;background:linear-gradient(#668833d9,#345921d9);cursor:pointer;transition:opacity .3s}.scene-label.night{background:linear-gradient(#202060d9,#121435d9);border-color:#12082e}.scene-label:hover{opacity:.4}.queue-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--border)}.queue-item:last-child{border-bottom:0}.progress{height:6px;background:#e0cfa6;border-radius:3px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#6b8f3a,#9cbf5a)}.map-wrap{overflow:hidden;border:1px solid var(--border-dark);border-radius:4px;background:#2d3a1c}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;margin-top:8px}.legend i{display:inline-block;width:12px;height:12px;border:1px solid #000;margin-right:4px;vertical-align:-1px}.gold-chip{display:inline-flex;align-items:center;gap:4px;font:inherit;font-weight:700;color:#ffe08a;background:#00000040;border:1px solid #a07a2a;border-radius:10px;padding:1px 8px;cursor:pointer}.gold-chip:hover{background:#0006}.gold-amount{color:#a5760b}.btn-green{background:linear-gradient(#2fa52f,#127a12);border-color:#0b4d0b;font-weight:700}.btn-green:hover:not(:disabled){background:linear-gradient(#38b838,#168a16)}.btn-gold{background:linear-gradient(#e2b33b,#a87c12);border-color:#6b4d06;color:#2b1d0e;text-shadow:0 1px 0 rgba(255,255,255,.35)}.btn-gold:hover:not(:disabled){background:linear-gradient(#f0c64e,#b98a18)}.premium-head{display:flex;gap:14px;align-items:center}.premium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:14px}.premium-card{position:relative;background:#f4e4bc url(/graphic/background/content.jpg);border:2px solid #c1a264;outline:1px solid #7d510f;border-radius:3px;padding:30px 14px 14px;margin-top:14px;box-shadow:var(--shadow);display:flex;flex-direction:column}.premium-card p{margin:6px 0 0;font-family:Verdana,sans-serif;font-size:.85rem}.premium-card hr{border:0;border-top:1px solid #c1a264;width:100%;margin:10px 0 8px}.premium-card .btn{align-self:center;margin-top:10px;padding:6px 14px}.premium-title{position:absolute;top:-14px;left:50%;transform:translate(-50%);white-space:nowrap;background:linear-gradient(#8b4a2b,#5e2c14);color:#fff4dc;border:2px solid #c1a264;border-radius:8px 8px 3px 3px;padding:3px 12px;font-size:.95rem}.premium-img{display:block;margin:8px auto 4px;height:70px}@media (max-width: 640px){.topbar-inner{padding:6px 10px;gap:8px}.brand{font-size:1.05rem}.brand small{display:none}.resbar{margin-left:0;gap:10px;font-size:.9rem;width:100%}.resbar .cap,.save-state{display:none}.nav-inner{flex-wrap:nowrap;overflow-x:auto;padding:0;-webkit-overflow-scrolling:touch}.nav button{padding:10px 12px;white-space:nowrap;flex-shrink:0}.main,.panel{padding:10px}table.list{font-size:.84rem}table.list th,table.list td{padding:5px 4px}.btn{padding:6px 10px}input[type=number]{width:64px}}.report-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.unit-table td,.unit-table th{text-align:center}.unit-table td:first-child,.unit-table th:first-child{text-align:left}
