@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Inter:wght@400;500&display=swap";:root{--bg: #040608;--fg: #e8e3d8;--fg2: #a09880;--accent: #8a2020;--gold: #c8942a;--green: #4a7a32;--teal: #2a6860;--panel-bg: rgba(6, 8, 12, .88);--panel-border: rgba(90, 75, 50, .45);--panel-glow: rgba(120, 90, 40, .12);--ink: #1a1610}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,sans-serif;overflow:hidden}#renderCanvas{width:100vw;height:100vh;display:block;touch-action:none;outline:none}.auth{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(20,10,5,.9) 0%,transparent 70%),radial-gradient(ellipse 100% 100% at 50% 100%,rgba(5,8,6,.95) 0%,transparent 60%),#060809;z-index:100}.auth-card{width:360px;padding:2.2rem 2rem;background:linear-gradient(175deg,#0c0e12f5,#080a0efa);border:1px solid var(--panel-border);border-radius:4px;box-shadow:0 0 0 1px #c8942a14,0 30px 80px #000000b3,inset 0 1px #c8942a1a;position:relative}.auth-card:before,.auth-card:after{content:"";position:absolute;width:18px;height:18px;border-color:#c8942a66;border-style:solid}.auth-card:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.auth-card:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.auth-card h1{font-family:Cinzel,serif;font-size:1.5rem;letter-spacing:.08em;color:var(--gold);text-shadow:0 0 24px rgba(200,148,42,.35);margin-bottom:.2rem}.auth-card .sub{color:var(--fg2);font-size:.82rem;margin-bottom:1.4rem;font-style:italic;letter-spacing:.02em}.tabs{display:flex;gap:.4rem;margin-bottom:1.2rem}.tabs button{flex:1;padding:.55rem;cursor:pointer;background:transparent;color:var(--fg2);border:1px solid rgba(90,75,50,.4);border-radius:3px;font-size:.85rem;letter-spacing:.04em;transition:all .18s}.tabs button.active{color:var(--gold);border-color:#c8942a80;background:#c8942a0f}.auth-card input{width:100%;padding:.7rem .9rem;margin-bottom:.65rem;background:#040508b3;color:var(--fg);border:1px solid rgba(90,75,50,.35);border-radius:3px;font-size:.9rem;transition:border-color .18s}.auth-card input:focus{outline:none;border-color:#c8942a80}.auth-card input::placeholder{color:#a0988066}#submit{width:100%;padding:.8rem;margin-top:.3rem;cursor:pointer;background:linear-gradient(180deg,#a02828,#8a1a1a);color:#f0e8dc;border:none;border-radius:3px;font-weight:600;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;transition:all .18s;box-shadow:0 4px 16px #8a202066,inset 0 1px #ffffff1a}#submit:hover{background:linear-gradient(180deg,#b53030,#a02020)}.msg{margin-top:.75rem;min-height:1.2em;font-size:.82rem;color:#d9a875;font-style:italic}.hud{position:fixed;inset:0;pointer-events:none;z-index:50}.crosshair{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#fff9;border-radius:1px}.crosshair:before{width:2px;height:100%;left:50%;transform:translate(-50%)}.crosshair:after{width:100%;height:2px;top:50%;transform:translateY(-50%)}.bars{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;gap:7px;width:200px}.bar{display:flex;align-items:center;gap:8px}.bar-icon{font-size:.9rem;width:18px;text-align:center;flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}.bar-body{flex:1}.bar .track{height:7px;border-radius:2px;overflow:hidden;background:#0009;border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 3px #00000080}.bar .track i{display:block;height:100%;width:100%;border-radius:2px;transition:width .18s linear}#hp{background:linear-gradient(90deg,#8a1818,#c43030,#e84848)}#st{background:linear-gradient(90deg,#1a5c38,#2e9a5a,#50c87a)}#hg{background:linear-gradient(90deg,#7a4800,#c4780a,#e8a020)}#th{background:linear-gradient(90deg,#0a3a7a,#1a6ec4,#30a0e8)}.resources{position:absolute;left:18px;top:16px;display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.8rem;color:#d8d0c0}.resources span{display:inline-flex;align-items:center;gap:5px;background:#06080ca6;border:1px solid rgba(90,75,50,.3);padding:3px 9px 3px 7px;border-radius:3px;text-shadow:0 1px 3px #000}.resources b{color:#f0e4c0;font-variant-numeric:tabular-nums;font-size:.9rem}.tools{position:absolute;left:18px;top:50px;font-size:.78rem;color:#a09880;text-shadow:0 1px 3px #000}.prompt{position:absolute;top:54%;left:50%;transform:translate(-50%);font-size:.9rem;color:var(--fg);background:#06080cb8;border:1px solid var(--panel-border);padding:5px 14px;border-radius:3px;letter-spacing:.025em;opacity:0;transition:opacity .12s ease;white-space:nowrap;text-shadow:0 1px 4px #000}.buildmode{position:absolute;top:16px;left:50%;transform:translate(-50%);font-size:.85rem;color:#a8d88a;background:#081008bf;border:1px solid rgba(80,160,60,.4);padding:5px 14px;border-radius:3px;opacity:0;transition:opacity .15s ease;letter-spacing:.02em;white-space:nowrap}.nightinfo{position:absolute;top:16px;right:16px;font-size:.82rem;color:#f0c8c8;background:#100606c7;border:1px solid rgba(180,60,60,.35);padding:5px 12px;border-radius:3px;opacity:0;transition:opacity .3s ease}.narration{position:absolute;left:50%;bottom:78px;transform:translate(-50%);max-width:58ch;text-align:center;font-size:1rem;font-style:italic;letter-spacing:.025em;color:#e8e0d0;text-shadow:0 2px 12px rgba(0,0,0,.9),0 0 40px rgba(0,0,0,.7);opacity:0;transition:opacity 1s ease}.hint{position:absolute;right:14px;bottom:14px;font-size:.68rem;color:#645f5599;text-align:right;max-width:46ch;line-height:1.55}.objective{top:52px;right:16px;max-width:270px;font-size:.8rem;color:#e7ead0;background:#080c06b3;border:1px solid rgba(120,155,70,.35);padding:8px 12px;border-radius:3px;text-align:right;opacity:0;transition:opacity .3s ease;position:absolute}.obj-title{font-size:.68rem;letter-spacing:.06em;color:#b0c070;margin-bottom:2px;text-transform:uppercase}.obj-count{color:#8fae5a}.obj-text{color:#f0f2e4;line-height:1.3}.quests{position:absolute;top:148px;right:16px;width:240px;color:#e7ead0;background:#080c06b3;border:1px solid rgba(120,155,70,.35);padding:8px 12px;border-radius:3px;text-align:right;opacity:0;transition:opacity .3s ease}.q-title{font-size:.68rem;letter-spacing:.06em;color:#b0c070;margin-bottom:5px;text-transform:uppercase}.q-row{margin:6px 0}.q-line{display:flex;justify-content:space-between;gap:8px;font-size:.78rem}.q-name{color:#f0f2e4}.q-num{color:#8fae5a;font-variant-numeric:tabular-nums}.q-track{height:3px;border-radius:2px;overflow:hidden;background:#ffffff1a;margin:3px 0 2px}.q-track i{display:block;height:100%;background:linear-gradient(90deg,#6a9a30,#a8d050)}.q-rew{font-size:.65rem;color:#c0a050}.craft{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;background:#030406c7}.craft-card{width:400px;max-width:92vw;max-height:86vh;overflow-y:auto;padding:1.8rem 1.6rem;background:linear-gradient(175deg,#0a0c10fa,#07090dfc);border:1px solid var(--panel-border);border-radius:4px;box-shadow:0 30px 80px #000000b3,0 0 0 1px #c8942a0f;position:relative}.craft-card:before,.craft-card:after{content:"";position:absolute;width:16px;height:16px;border-color:#c8942a59;border-style:solid}.craft-card:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.craft-card:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.craft-card h2{font-family:Cinzel,serif;font-size:1.2rem;letter-spacing:.08em;color:var(--gold);margin-bottom:.9rem}.craft-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(90,75,50,.25)}.craft-row.owned{opacity:.55}.craft-name{font-size:.95rem;color:var(--fg)}.craft-effect{font-size:.76rem;color:var(--fg2);margin-top:.15rem;line-height:1.35}.craft-cost{font-size:.76rem;color:var(--gold);margin-top:.1rem;opacity:.9}.craft-row button{padding:.45rem .9rem;cursor:pointer;white-space:nowrap;background:linear-gradient(180deg,#a02828,#8a1a1a);color:#f0e8dc;border:none;border-radius:3px;font-size:.82rem;font-weight:600;letter-spacing:.04em;box-shadow:0 2px 8px #8a202066,inset 0 1px #ffffff1a;transition:background .15s}.craft-row button:disabled{background:#1e2028cc;color:#64646e99;cursor:default;box-shadow:none}.craft-row button:not(:disabled):hover{background:linear-gradient(180deg,#b53030,#a02020)}.craft-close{width:100%;margin-top:1rem;padding:.65rem;cursor:pointer;background:transparent;color:var(--fg2);border:1px solid rgba(90,75,50,.3);border-radius:3px;font-size:.85rem;transition:all .15s}.craft-close:hover{color:var(--fg);border-color:#c8942a66}.lock-hint{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#030406a6;color:var(--fg);font-size:1.2rem;letter-spacing:.04em;z-index:60;cursor:pointer;text-align:center;transition:opacity .3s ease}.lock-hint span{max-width:30ch;line-height:1.55}.lock-hint small{display:block;margin-top:.6rem;color:var(--fg2);font-size:.85rem}.gameover{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 70% 55% at 50% 35%,rgba(50,6,6,.9) 0%,transparent 70%),#020204f7;animation:goFade .9s ease}@keyframes goFade{0%{opacity:0}to{opacity:1}}.go-card{text-align:center}.go-card h1{font-family:Cinzel,serif;font-size:3rem;letter-spacing:.1em;color:#b82020;text-shadow:0 0 40px rgba(180,30,30,.6),0 4px 16px rgba(0,0,0,.8);margin-bottom:.4rem}.go-card p{color:var(--fg2);margin-bottom:1.8rem;font-style:italic;letter-spacing:.02em}.go-stats{display:flex;gap:3rem;justify-content:center;margin-bottom:2rem}.go-stats div{display:flex;flex-direction:column;align-items:center}.go-stats b{font-family:Cinzel,serif;font-size:2.4rem;color:var(--fg);line-height:1}.go-stats span{font-size:.68rem;color:var(--fg2);text-transform:uppercase;letter-spacing:.1em;margin-top:.4rem}.go-card button{padding:.85rem 2.2rem;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(180deg,#a02828,#8a1a1a);color:#f0e8dc;border:none;border-radius:3px;box-shadow:0 6px 24px #8a202073,inset 0 1px #ffffff1a;transition:background .2s}.go-card button:hover{background:linear-gradient(180deg,#b53030,#a02020)}.premium-btn{display:inline-block;padding:.5rem 1.1rem;background:linear-gradient(180deg,#c8942a,#a87020);color:#1a100a;font-weight:700;font-size:.82rem;letter-spacing:.06em;border:none;border-radius:3px;cursor:pointer;box-shadow:0 3px 12px #c8942a66,inset 0 1px #ffffff4d;transition:background .15s}.premium-btn:hover{background:linear-gradient(180deg,#e0a830,#c08030)}
