:root{color-scheme:dark;--bg:#14251f;--deep:#111d19;--panel:#1b2d27;--panel2:#263b32;--line:#395048;--cream:#f4eddd;--muted:#b5c5b5;--ochre:#e1af64;--green:#86c6a1;--font:"Nunito Sans",system-ui,sans-serif;--display:"Fraunces",Georgia,serif}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--deep);color:var(--cream);font-family:var(--font);line-height:1.4}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}a{color:inherit;text-decoration:none}button:disabled{opacity:.38;cursor:not-allowed}
.topbar{height:70px;display:flex;gap:20px;align-items:center;padding:0 24px;background:#15241f;border-bottom:1px solid #3d5145;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:210px}.brand-mark{font-size:29px;color:var(--ochre)}.brand b{font:700 22px/1 var(--display);letter-spacing:-.03em;display:block}.brand small{font:700 10px/1.4 var(--font);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.era-tag{border:1px solid #536148;border-radius:100px;background:#26382b;padding:7px 13px;color:#e6d3a5;font-size:10px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.era-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d8ad65;margin-right:6px}.era-no{color:#92a58f;margin-left:6px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.xp-header{text-align:right;display:flex;flex-direction:column;white-space:nowrap}.xp-header b{font-size:15px;color:var(--ochre)}.xp-header span{font-size:10px;color:var(--muted)}.icon-button,.map-btn{border:1px solid #6173688a;background:#263b32;color:var(--cream);border-radius:10px;display:grid;place-items:center}.icon-button{height:33px;width:33px;font-weight:900}.exit{font-size:12px;color:#d8e5d7;padding:8px 10px;border:1px solid #52675b;border-radius:8px}
.game-shell{height:calc(100dvh - 70px);min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) 356px;overflow:hidden}.stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 42% 42%,#3e674b,#2b4b39 65%,#182e28);touch-action:none}.stage canvas{position:absolute;width:100%;height:100%;display:block;cursor:crosshair;z-index:0}.map-grain{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 42%,#0c231b66 110%)}.stage-top{position:absolute;z-index:2;inset:18px 18px auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.stage-top>*{pointer-events:auto}.quest-card{background:#152820eb;max-width:300px;border:1px solid #6e866b77;box-shadow:0 12px 35px #101d1794;backdrop-filter:blur(8px);border-radius:15px;padding:16px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--ochre);font-weight:800}.quest-card h2{font:700 21px/1.25 var(--display);margin:8px 0}.quest-card p{font-size:12px;color:#d5e2d1;margin:0;max-width:33ch;line-height:1.55}.quest-count{float:right;color:#aab7a3;letter-spacing:0}.quest-progress,.progress-track{height:6px;border-radius:7px;background:#4a614f;overflow:hidden}.quest-progress{margin-top:15px}.quest-progress>div,.progress-track>div{height:100%;border-radius:7px;background:linear-gradient(90deg,#bc995b,#edc786);transition:width .3s;width:0}.quest-detail{font-size:10px;color:#c8d5c8;margin-top:6px}.map-tools{display:flex;align-items:center;gap:6px}.day-chip{white-space:nowrap;background:#152820dd;color:#f6eee0;padding:9px 12px;border:1px solid #68886d66;border-radius:10px;font-size:11px;font-weight:800}.sun{color:#ecbb67;margin-right:4px}.chip-divider{color:#7f927d;margin:0 3px}.map-btn{font-size:19px;font-weight:800;width:34px;height:34px;background:#172820dc}.stage-bottom{position:absolute;bottom:18px;left:18px;right:18px;pointer-events:none;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.hint{background:#132a21d9;color:#e5e9d9;box-shadow:0 4px 16px #11241855;max-width:580px;display:flex;gap:9px;align-items:center;padding:9px 13px;border:1px solid #526954a8;border-radius:12px;font-size:11px}.hint-dot{background:#d9b068;width:7px;height:7px;flex-shrink:0;border-radius:50%}.coordinates{background:#152820aa;font-size:11px;border-radius:7px;padding:5px 9px;color:#cfdfc9}.toast{position:absolute;z-index:7;left:50%;bottom:78px;transform:translate(-50%,15px);background:#f0e4c8;color:#243326;border-radius:99px;padding:10px 16px;font-size:12px;box-shadow:0 12px 40px #101c1599;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100% - 20px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.side{min-height:0;background:linear-gradient(155deg,#20372d,#182820 80%);border-left:1px solid #4a6353;display:flex;flex-direction:column;box-shadow:-10px 0 30px #142c2444;z-index:3}.side-head{padding:19px 21px 14px;border-bottom:1px solid var(--line);position:relative}.side-head h2{font:700 24px/1.18 var(--display);margin:4px 0 9px}.side-head p{font-size:11px;color:#beccbd;line-height:1.5;margin:0 0 14px;max-width:30ch}.leaf-icon{position:absolute;right:20px;top:25px;color:var(--ochre);font-size:23px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mini-stats>div{background:#30473a84;border:1px solid #445e4a;border-radius:10px;text-align:center;padding:9px 3px}.mini-stats strong{display:block;font-size:18px;font-weight:800;color:#f9edd8}.mini-stats strong span{font-size:11px;color:#95a89b}.mini-stats small{font-size:9px;color:#b8c6b4}.tabs{display:flex;padding:12px 16px 0;gap:5px;border-bottom:1px solid #455a4a}.tabs button{flex:1;border:0;border-radius:8px 8px 0 0;font-size:11px;font-weight:800;background:none;color:#adbdaf;padding:10px 4px 12px;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.on{color:var(--ochre);background:#2f443585;border-bottom-color:var(--ochre)}.panel-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-color:#52695a transparent;scrollbar-width:thin}.panel{padding:18px 17px 34px}.section-label{font-size:10px;color:#d5b579;letter-spacing:.14em;font-weight:800;margin-bottom:10px}.subtle{font-size:12px;color:#b3c6b5}.craft-card{border:1px solid #486052;border-radius:13px;background:#2a403383;padding:12px;margin-bottom:9px;position:relative}.craft-card.locked{opacity:.74}.craft-top{display:flex;gap:10px;align-items:center}.craft-icon{height:41px;min-width:41px;border:1px solid #6d7c58;background:#46513a80;border-radius:11px;display:grid;place-items:center;font-size:22px}.craft-info{flex:1;min-width:0}.craft-info b{font-size:13px;display:block}.craft-info small{font-size:10px;color:#bfcebd}.craft-desc{margin:9px 0 8px;font-size:11px;color:#b6c9b8;line-height:1.5}.craft-cost{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.cost{border:1px solid #526555;background:#273a30;border-radius:6px;padding:4px 6px;font-size:10px;color:#d7e1d1}.cost.ok{border-color:#689876;color:#a9d8b5}.cost.missing{border-color:#85674f;color:#efd0a2}.craft-foot{display:flex;gap:8px;align-items:center;justify-content:space-between}.craft-state{font-size:10px;color:#d2ae74}.action{border:0;background:#d7a767;color:#1c2c22;font-weight:900;border-radius:8px;padding:8px 12px;font-size:11px;min-width:92px;transition:filter .18s}.action:not(:disabled):hover{filter:brightness(1.1)}.action:disabled{background:#708476;color:#e0e0d4}.empty{border:1px dashed #5d7564;border-radius:12px;padding:25px 15px;text-align:center;color:#bdceba;font-size:12px}
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.item{background:#2c423585;border:1px solid #4a6353;border-radius:12px;padding:11px}.item>div{display:flex;gap:8px;align-items:center;justify-content:space-between}.item-icon{font-size:22px}.item strong{font-size:18px;color:var(--ochre)}.item b{display:block;font-size:11px;margin-top:5px}.item small{font-size:10px;color:#a9bda8}.item.dim{opacity:.5}.tech-card{padding:11px 12px;background:#26392d;border:1px solid #456051;border-radius:12px;display:flex;gap:11px;margin-bottom:8px}.tech-card.complete{border-color:#6c9876;background:#284c39}.tech-card .tech-ico{font-size:23px;line-height:1.4}.tech-card b{font-size:13px;display:block}.tech-card p{margin:3px 0 5px;font-size:10.5px;color:#b6c8b7;line-height:1.5}.tech-card small{font-size:10px;color:#d4ae72}.tech-card a{display:inline-block;margin-top:6px;font-size:11px;color:#e7c08a;text-decoration:underline;text-underline-offset:2px}.side-foot{padding:13px 17px 18px;border-top:1px solid #465c4c}.foot-info{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#becebb;margin-top:7px}.foot-info button{font-size:10px;border:0;background:transparent;color:#e1b57b;text-decoration:underline;text-underline-offset:3px}
.modal-backdrop{position:fixed;inset:0;background:#07150cba;backdrop-filter:blur(7px);z-index:30;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal{background:linear-gradient(145deg,#2c4336,#152921);border:1px solid #7e9574;box-shadow:0 30px 80px #06150ec7;max-width:460px;width:100%;border-radius:22px;padding:30px;position:relative}.modal-x{position:absolute;right:17px;top:14px;border:1px solid #72856e;background:#263a30;border-radius:50%;width:32px;height:32px;font-size:19px}.modal-icon{font-size:43px;margin:0 0 8px}.modal h2{font:700 33px/1.2 var(--display);margin:8px 0 14px}.modal p{color:#c6d4c2;font-size:13px;line-height:1.7}.modal ul{padding-left:20px;color:#c6d4c2;font-size:13px;line-height:1.8}.modal strong{color:#f4ddb4}.modal-actions{display:flex;gap:8px;margin-top:22px}.modal-actions button{flex:1}.button-primary{border:0;background:#e2b271;color:#172820;padding:13px 16px;font-weight:900;border-radius:10px}.button-outline{background:none;border:1px solid #758b73;color:#e8e1d2;padding:12px 16px;border-radius:10px}.touchpad{display:none}
@media(max-width:1000px){.game-shell{grid-template-columns:minmax(0,1fr) 314px}.topbar{padding:0 14px}.brand{min-width:0}.era-tag{display:none}.side-head h2{font-size:21px}}
@media(max-width:720px){.topbar{height:58px;gap:8px}.brand-mark{font-size:24px}.brand b{font-size:19px}.brand small{font-size:9px}.xp-header span{display:none}.exit{display:none}.game-shell{height:calc(100dvh - 58px);min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(260px,52%) minmax(240px,48%);overflow:hidden}.stage-top{inset:8px 8px auto}.quest-card{max-width:215px;padding:10px 12px;border-radius:11px}.quest-card h2{font-size:16px;margin:5px 0}.quest-card p{font-size:10px;line-height:1.35}.quest-progress{margin-top:7px}.quest-detail{font-size:9px}.day-chip{font-size:10px;padding:6px}.map-tools{gap:3px;flex-wrap:wrap;justify-content:flex-end;max-width:124px}.map-btn{height:28px;width:28px;font-size:17px}.stage-bottom{left:8px;right:8px;bottom:9px}.hint{font-size:10px;padding:7px 9px;max-width:78%}.coordinates{font-size:9px}.side{border-left:0;border-top:1px solid #526958}.side-head{padding:12px 13px 8px}.side-head h2{font-size:19px;margin:2px 0 4px}.side-head p{display:none}.leaf-icon{top:13px}.mini-stats>div{padding:4px}.mini-stats strong{font-size:13px}.mini-stats small{font-size:9px}.tabs{padding:3px 10px 0}.tabs button{padding:8px 2px;font-size:10px}.panel{padding:10px 11px 26px}.craft-card{padding:9px}.craft-desc{margin:6px 0}.craft-icon{width:36px;height:36px;min-width:36px}.side-foot{padding:7px 12px 9px}.touchpad{display:block;position:absolute;right:10px;bottom:44px;z-index:3;text-align:center;pointer-events:auto}.touchpad button{border:1px solid #e3ead166;background:#203d2dc9;min-width:34px;height:33px;border-radius:8px;margin:2px;font-size:18px;box-shadow:0 4px 10px #1c271b77}.hint{max-width:66%}.toast{bottom:110px}}
@media(max-width:360px){.xp-header{display:none}.quest-card{max-width:185px}.quest-card p{font-size:9px}.quest-card h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}


/* Reinventário — interface da expansão multiera */
.era-tag{display:flex;align-items:center;gap:5px;max-width:320px}
.era-no{font-weight:800}
.minimap-wrap{position:absolute;right:18px;top:82px;z-index:2;background:#172b23e8;border:1px solid #65816b9c;border-radius:14px;padding:9px 11px 8px;box-shadow:0 10px 28px #071b1394;backdrop-filter:blur(9px);pointer-events:none}
.minimap-wrap canvas{position:static;width:128px;height:128px;border-radius:8px;border:1px solid #496a54;background:#2b5140;image-rendering:pixelated}
.minimap-title{font-size:9px;font-weight:800;color:#dec18a;letter-spacing:.13em;padding-bottom:6px;display:flex;gap:7px;align-items:center}
.minimap-title span{font-size:14px}
.minimap-caption{font-size:9px;letter-spacing:.01em;color:#c0cebf;margin-top:5px;text-align:center}
.filter-strip{display:flex;gap:7px;padding:2px 0 11px;position:sticky;top:0;z-index:4;background:#1c3027}
.filter-strip button{border:1px solid #516e57;background:#263e30;color:#bdcdbc;font-size:11px;font-weight:800;border-radius:9px;padding:8px 10px;flex:1}
.filter-strip button.active{background:#d7b47d;border-color:#d7b47d;color:#1c2a21}
.era-section{font-size:10px;font-family:var(--font);font-weight:800;color:#e0c193;letter-spacing:.14em;display:flex;align-items:center;gap:8px;text-transform:uppercase;margin:15px 1px 10px}
.era-marker{height:7px;width:7px;background:#e0ba72;border-radius:50%;box-shadow:0 0 0 3px #a07c3c30}
.craft-card.complete{border-color:#62876c;background:#2a4a367b}
.research-tools{display:flex;gap:7px;flex-direction:column;position:sticky;top:0;z-index:4;background:#1e342a;padding:5px 0 8px}
.research-tools input,.research-tools select{width:100%;border-radius:9px;background:#283f33;color:#f2e9d9;border:1px solid #5e7763;padding:10px 11px;font:600 12px var(--font);outline-offset:2px}
.research-tools input::placeholder{color:#adbfae}
.search-count{font-size:11px;color:#afc0b1;margin:5px 0 13px}
.load-more{width:100%;border:1px solid #8d9877;border-radius:10px;padding:12px;background:#293d31;color:#e7d2ad;font-size:12px;font-weight:800;margin:9px 0}
.save-tools{display:flex;gap:7px;align-items:center;justify-content:space-between;border-top:1px solid #3e5b48;margin-top:9px;padding-top:9px}
.save-tools button{flex:1;border:1px solid #506c57;background:#243a2c;color:#d8e4d5;font-size:10px;border-radius:8px;padding:7px 3px;font-weight:800}
.save-tools button:hover{background:#365442}
@media(max-width:1000px){.era-tag{display:none}.minimap-wrap{right:10px;top:80px}}
@media(max-width:720px){
 .minimap-wrap{display:none}
 .side-foot{padding-bottom:max(9px,env(safe-area-inset-bottom))}
 .save-tools{margin-top:6px;padding-top:6px}
 .save-tools button{font-size:9px;padding:5px 4px}
 .era-section{margin-top:10px}
 .filter-strip{padding-top:3px}
}
@media(prefers-reduced-motion:reduce){.minimap-wrap{backdrop-filter:none}}


/* Refinamento visual: legibilidade, materiais, interações e narrativa. */
:root{--cream:#f7f0dc;--ochre:#ecc187;--moss:#91c6a0;--panel:#1d332a}
body{font-synthesis:none;-webkit-font-smoothing:antialiased}
.topbar{background:linear-gradient(100deg,#13251e 0%,#1c332b 54%,#152a22 100%);border-bottom:1px solid #496655;box-shadow:0 5px 22px #0717114d}
.brand-mark{filter:drop-shadow(0 0 9px #e2b56b77)}
.brand b{letter-spacing:-.045em}
.era-tag{border-color:#8c986580;background:linear-gradient(90deg,#3a4531aa,#283b32);box-shadow:inset 0 1px #ffffff0a}
.stage{background:radial-gradient(ellipse at 50% 35%,#496c57,#254d3f 64%,#182f2b 100%)}
.map-grain{background:radial-gradient(ellipse at 48% 46%,transparent 36%,#071c1770 107%);mix-blend-mode:multiply}
.quest-card{background:linear-gradient(135deg,#1b332aeF,#13271fF5);border:1px solid #78987b8e;box-shadow:0 12px 44px #0a1e15ae,inset 0 1px 0 #ebf4de12}
.quest-card .eyebrow{letter-spacing:.18em}
.quest-card h2{font-weight:700;letter-spacing:-.03em}
.quest-card .quest-detail{font-variant-numeric:tabular-nums}
.day-chip{background:#193126e8;box-shadow:0 4px 13px #0c241965}
.map-btn{background:#193427de;box-shadow:inset 0 1px 0 #ffffff0b;transition:background .16s,transform .16s}
.map-btn:hover:not(:disabled){background:#385b43;transform:translateY(-1px)}
.side{background:linear-gradient(154deg,#233c30,#182b23 72%,#15271f);border-left-color:#5b7560}
.side-head{background:linear-gradient(144deg,#36524138,transparent 78%)}
.side-head h2{letter-spacing:-.04em}
.mini-stats>div{background:#314a3ac9;border-color:#56705a;box-shadow:inset 0 1px 0 #ffffff11}
.tabs{background:#1f362b6a}
.tabs button:hover:not(.on){color:#e6dabd;background:#40534255}
.craft-card{transition:border-color .16s,background .16s,transform .16s;box-shadow:inset 0 1px 0 #ffffff0c}
.craft-card:hover{border-color:#728f71;background:#324b3a91}
.craft-card.complete{border-color:#80ad87}
.craft-top .craft-icon{background:linear-gradient(135deg,#58664a,#38483b);border-color:#81916b;box-shadow:inset 0 1px 0 #c2d1a02c}
.craft-info b{letter-spacing:-.015em}
.action{box-shadow:0 4px 12px #10241944,inset 0 1px 0 #ffffff44}
.action:not(:disabled):hover{background:#f2c58a}
.cost.ok{background:#294b38;border-color:#75a37d}
.cost.missing{background:#43372871}
.research-tools input:focus,.research-tools select:focus{outline:2px solid var(--ochre);border-color:var(--ochre)}
.era-section{margin:17px 1px 11px}
.era-marker{background:#f2c482}
.research-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}
.research-actions a{font-size:10px}
.study-action{background:#4e7154;color:#f9efdc;border:1px solid #84ad80;padding:7px 9px;border-radius:8px;font-size:10px;font-weight:800}
.study-action:hover:not(:disabled){background:#688f65}
.modal-backdrop{background:#07150dc7;backdrop-filter:blur(10px)}
.modal{max-width:520px;max-height:min(88dvh,760px);overflow-y:auto;background:linear-gradient(150deg,#2a4838,#172e25 60%,#102720);border:1px solid #97ad8a;box-shadow:0 27px 100px #050f0bd9,inset 0 1px 0 #ffffff1a}
.modal h2{letter-spacing:-.035em}
.challenge-intro{margin:0 0 12px}
.challenge-cost{background:#364b379a;border-left:3px solid #d6ba78;border-radius:7px;padding:9px 11px;font-size:12px!important}
.challenge-question{font:700 20px/1.34 var(--display);margin:18px 0 13px;letter-spacing:-.015em}
.quiz-options{display:grid;gap:9px}
.quiz-options button{width:100%;background:#294638;border:1px solid #698476;color:#f6eedc;border-radius:11px;padding:12px 14px;text-align:left;font-size:13px;line-height:1.5;transition:background .15s,border-color .15s}
.quiz-options button:hover:not(:disabled){background:#375f49;border-color:#a2c498}
.quiz-options button:focus-visible{outline:3px solid #edc388}
.quiz-options button.wrong{background:#543b34;border-color:#c87963;color:#f2cbbd}
.quiz-feedback{min-height:24px;margin:13px 0 0!important;color:#f0c78f!important}
.modal-actions{position:sticky;bottom:-30px;background:#172f26eF;padding:13px 0 0;border-top:1px solid #5b755c}
.tech-card{transition:border-color .16s}
.tech-card:hover{border-color:#7b9677}
.minimap-wrap{border:1px solid #9db2948c;box-shadow:0 10px 40px #0a2416aa,inset 0 1px 0 #ffffff19}
.minimap-wrap canvas{border-radius:9px}
.save-tools button{transition:background .15s}
.save-tools button:hover{background:#3b5545}
@media(max-width:720px){
 .topbar{box-shadow:0 4px 18px #0717118a}
 .stage{touch-action:none}
 .quest-card{max-width:220px}
 .modal{max-height:calc(100dvh - 32px);padding:24px 18px}
 .modal h2{font-size:27px}
 .challenge-question{font-size:18px}
 .quiz-options button{padding:11px 12px}
 .modal-actions{bottom:-24px}
 .craft-card{padding:11px}
 .research-actions{align-items:stretch}
}
