*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Segoe UI,Tahoma,sans-serif;-webkit-user-select:none;user-select:none}#app{position:relative;width:100%;height:100%}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.hidden{display:none!important}#topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:6px 14px;background:linear-gradient(to bottom,#140e08f2,#140e08bf);border-bottom:2px solid #6b5327;color:#e8d9b0;z-index:10}.res{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:600;min-width:70px}.res .ico{font-size:17px}#score{min-width:86px;font-size:13px}#clock{font-size:13px;color:#bfae85;min-width:44px}#tod{font-size:16px;min-width:22px}#netstat{font-size:12px;font-weight:700;padding:3px 9px;border-radius:10px;border:1px solid #4c9a4c;color:#b8f0b8;background:#1e3c1e8c}#netstat.warn{border-color:#c9a84c;color:#f0dc9a;background:#463a1499}#netstat.bad{border-color:#c04a3a;color:#ffb0a0;background:#46181499}.mini-btn{background:linear-gradient(to bottom,#3d3021,#241a0e);border:1px solid #7a6335;border-radius:4px;color:#e8d9b0;font-size:12px;font-weight:600;padding:4px 8px;cursor:pointer}.mini-btn:hover{filter:brightness(1.3)}.mini-btn.active{background:linear-gradient(to bottom,#8a6d2f,#5d4a1e);border-color:#c9a84c}.speed-group{display:flex;gap:3px}#age-display{margin-left:auto;font-size:16px;font-weight:700;letter-spacing:1px;color:#f0c96c;text-shadow:0 1px 2px #000;white-space:nowrap}#age-up-btn{background:linear-gradient(to bottom,#8a6d2f,#5d4a1e);border:1px solid #c9a84c;border-radius:4px;color:#f5e6bc;font-weight:700;font-size:13px;padding:5px 12px;cursor:pointer;white-space:nowrap}#age-up-btn:hover{filter:brightness(1.2)}#age-up-btn:disabled{filter:grayscale(.8) brightness(.7);cursor:default}#age-progress{width:140px;height:14px;border:1px solid #c9a84c;border-radius:3px;background:#2a2114;overflow:hidden}#age-progress-fill{height:100%;width:0%;background:linear-gradient(to bottom,#f0c96c,#a5822f)}#messages{position:absolute;top:52px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:10;pointer-events:none}.msg{background:#000000a6;color:#ffe9b0;padding:4px 14px;border-radius:4px;font-size:14px;border:1px solid rgba(201,168,76,.5);animation:msgfade 5s forwards}.msg.bad{color:#ff9d8a;border-color:#dc5a4699}@keyframes msgfade{0%,70%{opacity:1}to{opacity:0}}#pause-overlay{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:42px;font-weight:800;letter-spacing:4px;color:#f0c96c;text-shadow:0 2px 12px #000;z-index:20;pointer-events:none}#tutorial{position:absolute;top:60px;left:14px;width:310px;z-index:12;background:linear-gradient(to bottom,#1e160cf5,#120d07f5);border:2px solid #c9a84c;border-radius:8px;padding:12px 14px;color:#e8d9b0;box-shadow:0 4px 20px #0009}#tut-step{font-size:11px;color:#9a8c68;letter-spacing:1px;text-transform:uppercase}#tut-title{font-size:16px;font-weight:800;color:#f0c96c;margin:3px 0 6px}#tut-text{font-size:13px;line-height:1.55}#tut-text b{color:#ffe9b0}#tut-hint{font-size:12px;color:#86c46a;margin-top:8px;font-style:italic}#tut-skip{margin-top:10px;font-size:11px;padding:4px 10px;cursor:pointer;background:#2d2416;border:1px solid #6b5327;border-radius:4px;color:#bfae85}#tut-skip:hover{filter:brightness(1.4)}#settings{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#050402b8}#settings-box{background:linear-gradient(to bottom,#1e160cfa,#120d07fa);border:2px solid #8a6d2f;border-radius:10px;padding:26px 32px;color:#e8d9b0;min-width:400px}#settings-box h2{color:#f0c96c;margin-bottom:16px}#settings-box label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;font-size:14px}#settings-box label.chk{justify-content:flex-start}#settings-box select,#settings-box input[type=range]{flex:1;max-width:210px}#settings-box select{background:#1d150c;color:#f0dcae;border:1px solid #7a6335;border-radius:4px;padding:5px}#set-close{margin-top:10px;width:100%;padding:9px;background:linear-gradient(to bottom,#8a6d2f,#5d4a1e);border:1px solid #c9a84c;border-radius:6px;color:#f5e6bc;font-weight:700;cursor:pointer}#set-close:hover{filter:brightness(1.2)}#bottombar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:10px;padding:8px;z-index:10;pointer-events:none}#bottombar>*{pointer-events:auto}#minimap-wrap{border:2px solid #6b5327;border-radius:4px;background:#0a0a0a;line-height:0;box-shadow:0 0 12px #000000b3}#minimap{cursor:crosshair}#selection-panel{flex:0 0 auto;min-width:360px;max-width:620px;background:linear-gradient(to top,#140e08f2,#140e08cc);border:2px solid #6b5327;border-radius:4px;padding:8px 10px;color:#e8d9b0;min-height:96px}#sel-info{display:flex;gap:10px;align-items:center}#sel-portrait{font-size:34px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0006;border:1px solid #6b5327;border-radius:4px}#sel-name{font-weight:700;font-size:15px;color:#f0c96c}#sel-hp{font-size:13px}#sel-stats{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.stat-chip{font-size:11px;font-weight:600;color:#e8dcc0;background:#00000059;border:1px solid #5a4a2e;border-radius:4px;padding:1px 6px;white-space:nowrap}#sel-extra{font-size:12px;color:#bfae85}#sel-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;padding:4px 2px;background:linear-gradient(to bottom,#3d3021,#241a0e);border:1px solid #7a6335;border-radius:4px;color:#e8d9b0;font-size:11px;cursor:pointer}.action-btn .a-ico{font-size:20px}.action-btn .a-cost{font-size:10px;color:#bfae85}.action-btn:hover{filter:brightness(1.3)}.action-btn:disabled{filter:grayscale(.9) brightness(.6);cursor:default}.action-btn.owned{border-color:#4a8a3a;filter:none;background:linear-gradient(to bottom,#2d4021,#1a240e)}#help-panel{margin-left:auto;background:#140e08bf;border:1px solid #6b5327;border-radius:4px;color:#cbbd97;font-size:11px;line-height:1.55;padding:8px 10px}#sel-prog{margin-top:4px;width:200px;height:8px;border:1px solid #6b5327;border-radius:3px;background:#221a10;overflow:hidden}#sel-prog-fill{height:100%;width:0%;background:linear-gradient(to bottom,#86c46a,#4d8a3a)}.floater{position:absolute;z-index:9;pointer-events:none;font-weight:800;font-size:13px;color:#fff;text-shadow:0 1px 3px #000,0 0 5px rgba(0,0,0,.8)}.floater.own{color:#ff7a6a}@keyframes idlepulse{0%,to{box-shadow:0 0 #f0c96c00}50%{box-shadow:0 0 10px #f0c96ce6;border-color:#f0c96c}}#idle-btn.pulse{animation:idlepulse 1.2s infinite}#endgame-graph{background:#140e08d9;border:1px solid #6b5327;border-radius:6px}#select-box{position:absolute;border:1px solid #7fe07f;background:#5adc5a1f;z-index:5;pointer-events:none}#menu{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a08048c,#050402e0)}#menu-box{text-align:center;color:#e8d9b0;background:linear-gradient(to bottom,#22190efa,#100b06fa);border:2px solid #8a6d2f;border-radius:14px;padding:30px 46px;box-shadow:0 0 60px #000000e6,inset 0 0 40px #0006;max-height:92vh;overflow-y:auto;width:min(880px,94vw);scrollbar-width:thin;scrollbar-color:#8a6d2f transparent}#menu-box::-webkit-scrollbar{width:9px}#menu-box::-webkit-scrollbar-thumb{background:#6a541f;border-radius:5px}#menu-box h1{font-size:34px;letter-spacing:3px;color:#f0c96c;text-shadow:0 2px 10px #000;margin-bottom:6px}.menu-sub{color:#bfae85;font-size:14px;margin-bottom:26px}.menu-label{font-size:13px;color:#cbbd97;margin-bottom:10px;text-transform:uppercase;letter-spacing:2px}.menu-row{display:flex;flex-wrap:wrap;gap:20px 26px;justify-content:center;margin-bottom:22px}.menu-group{max-width:100%}.menu-group .menu-label{margin-bottom:6px}.opt-group{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:100%}.opt-btn{background:linear-gradient(to bottom,#3d3021,#241a0e);border:1px solid #7a6335;border-radius:5px;color:#e8d9b0;font-size:13px;font-weight:600;padding:6px 12px;cursor:pointer}.opt-btn:hover{filter:brightness(1.3)}.opt-btn.active{background:linear-gradient(to bottom,#8a6d2f,#5d4a1e);border-color:#c9a84c}#menu-diffs,.diff-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.diff-btn{display:flex;flex-direction:column;gap:5px;align-items:center;width:160px;padding:12px 10px;background:linear-gradient(to bottom,#3d3021,#241a0e);border:1px solid #6a5530;border-radius:8px;color:#f0dcae;font-size:16px;font-weight:700;cursor:pointer;transition:transform .12s,filter .12s,border-color .12s,box-shadow .12s}.diff-btn span{font-size:11px;font-weight:400;color:#bfae85}.diff-btn:hover{filter:brightness(1.3);transform:translateY(-2px)}.diff-btn.active{border-color:#f0c96c;box-shadow:0 0 0 2px #f0c96c59,0 4px 14px #00000080;background:linear-gradient(to bottom,#6a5326,#43350f)}.menu-hint{text-transform:none;letter-spacing:0;color:#9a8c68;font-size:11px;font-weight:400}.menu-toggles{display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:620px;margin:0 auto}.menu-toggles .chk{display:flex;align-items:center;gap:8px;font-size:13px;color:#dccca0;cursor:pointer}.menu-toggles .chk input{accent-color:#c9a84c;width:15px;height:15px}.menu-settings-grid{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}.menu-settings-grid label{display:flex;align-items:center;gap:8px;font-size:13px;color:#dccca0}.menu-settings-grid select,.menu-settings-grid input[type=range]{accent-color:#c9a84c}.start-btn{display:block;margin:8px auto 14px;min-width:320px;padding:15px 40px;font-size:21px;font-weight:800;letter-spacing:1px;color:#10240f;cursor:pointer;border-radius:10px;background:linear-gradient(to bottom,#7fe07f,#3f9a3f);border:2px solid #a6f0a6;box-shadow:0 6px 20px #32a03259;transition:transform .1s,filter .1s}.start-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.start-btn:active{transform:translateY(0)}.menu-secondary{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:6px}.menu-secondary .opt-btn{padding:8px 16px}.mod-load{cursor:pointer}.settings-actions{display:flex;gap:10px;justify-content:space-between;margin-top:8px}.danger-btn{background:linear-gradient(to bottom,#7a2f2f,#4a1d1d);border:1px solid #b05050;color:#f0d0d0;font-weight:700;padding:9px 18px;border-radius:6px;cursor:pointer}.danger-btn:hover{filter:brightness(1.2)}.menu-help{font-size:12px;color:#9a8c68}#continue-btn{display:block;margin:0 auto 18px;background:linear-gradient(to bottom,#2f5d2f,#1d3a1d);border:1px solid #4c9a4c;border-radius:6px;color:#d8f0c8;font-weight:700;font-size:15px;padding:10px 26px;cursor:pointer}#continue-btn:hover{filter:brightness(1.3)}#replay-btn{display:block;margin:0 auto 14px;background:linear-gradient(to bottom,#3d3a5d,#24223a);border:1px solid #7a76c4;border-radius:6px;color:#d8d6f0;font-weight:700;font-size:14px;padding:8px 22px;cursor:pointer}#replay-btn:hover{filter:brightness(1.3)}#continue-btn{margin-bottom:14px}#tutorial-btn{display:block;margin:0 auto 16px;background:linear-gradient(to bottom,#2f5d5d,#1d3a3a);border:1px solid #4c9a9a;border-radius:6px;color:#c8f0f0;font-weight:700;font-size:15px;padding:10px 26px;cursor:pointer}#tutorial-btn:hover{filter:brightness(1.3)}#mp-code{width:90px;text-align:center;text-transform:uppercase;background:#1d150c;border:1px solid #7a6335;border-radius:5px;color:#f0dcae;font-size:14px;font-weight:700;letter-spacing:2px;padding:6px 8px;outline:none}#mp-status{margin-top:8px;min-height:16px}#endgame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#000000bf}#endgame-text{font-size:56px;font-weight:800;letter-spacing:3px;color:#f0c96c;text-shadow:0 2px 12px #000}#endgame-stats{font-size:16px;color:#cbbd97}#restart-btn{font-size:18px;font-weight:700;padding:10px 30px;background:linear-gradient(to bottom,#8a6d2f,#5d4a1e);border:1px solid #c9a84c;border-radius:6px;color:#f5e6bc;cursor:pointer}#restart-btn:hover{filter:brightness(1.2)}
