@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--accent:#e6c873;--muted:#d7d1ad;--panel:#092b29e8;--line:#d9b96d66}*{box-sizing:border-box}body{margin:0;background:#071511;color:#eff8ed;font:14px Inter,system-ui;overflow:hidden}button,select{font:inherit}button{border:1px solid var(--line);background:#17382bdc;color:inherit;border-radius:7px;padding:12px;cursor:pointer}button:hover{border-color:var(--accent);background:#244735}button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}#world,.shade{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%}.shade{pointer-events:none;background:linear-gradient(#04130ec9,transparent 28%,transparent 65%,#04130ed9)}header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:23px 32px;border-bottom:1px solid var(--line);background:#07151166}.brand{display:flex;gap:12px;align-items:center;color:var(--accent);font:500 43px Cinzel}.brand span{color:#edf5e9;font-size:23px;letter-spacing:4px}.brand small{display:block;font:9px Inter;letter-spacing:2.5px;margin-top:6px}.phase{display:flex;gap:15px;align-items:center}.phase span{font-size:11px;letter-spacing:2px;border:1px solid var(--line);color:var(--accent);padding:9px}.phase b{font:500 18px Cinzel}.hero{position:fixed;left:32px;top:130px;width:238px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;backdrop-filter:blur(10px)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.hero h2{font:600 26px Cinzel;display:flex;align-items:center;justify-content:space-between;margin:15px 0 22px}.hero h2 small{font:11px Inter;color:var(--muted)}.label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted);margin:15px 0 7px}.label b{color:#f0f8ec;letter-spacing:0}.bar{height:7px;background:#2a4237;border-radius:5px;overflow:hidden}.bar i{display:block;width:100%;height:100%;transition:width .15s}.health i{background:linear-gradient(90deg,#40a677,#a1f0a5)}.energy i{background:linear-gradient(90deg,#327d7f,#80e5e3)}.wallet{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:21px;padding:17px 0;color:#b4eef1;font-size:11px;letter-spacing:1px}.wallet b{font-size:23px}.quest{border-top:1px solid var(--line);padding-top:21px}h3{font:500 16px/1.6 Cinzel}.quest p{color:var(--muted);font-size:12px}.dots{display:flex;gap:8px;margin-top:18px}.dots i{height:4px;flex:1;background:#30473a}.dots .active{background:var(--accent)}.right{position:fixed;right:32px;top:130px;width:210px}.map{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.map canvas{display:block;width:100%;height:140px}.map>small:last-child{font-size:10px;color:var(--accent)}.map small span{color:#fa967d;margin-left:16px}.shop-open{margin-top:12px;width:100%;display:flex;gap:12px;align-items:center;text-align:left;font-size:26px;background:linear-gradient(120deg,#3b311fe8,#142c22);border-color:#c1a47477}.shop-open span{font:500 14px Cinzel}.shop-open small{display:block;font:10px Inter;color:var(--muted);margin-top:7px}.equipment{margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--panel)}.equipment p{font-size:11px;color:var(--muted);margin:16px 0}.equipment button{font-size:12px;width:100%;padding:10px 5px}.equipment b{color:var(--accent);margin-left:10px}kbd{font:10px Inter;border:1px solid #9ebca844;border-radius:3px;padding:3px 5px;color:#c0d0c3}.caption{position:fixed;bottom:160px;left:32px;pointer-events:none}.caption small{font-size:10px;letter-spacing:3px;color:var(--accent)}.caption h1{font:500 33px Cinzel;margin:14px 0}.caption p{font-size:12px;color:var(--muted)}footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;gap:20px;border-top:1px solid var(--line);background:#071912c9;min-height:125px}.controls{font-size:11px;color:var(--muted)}.controls p{margin:8px 0}.controls kbd{margin-right:8px}.abilities{display:flex;gap:12px}.abilities button{min-width:98px;padding:12px 18px;position:relative;background:#122e23}.abilities button>span{display:block;font-size:27px;color:var(--accent)}.abilities b{display:block;font-size:12px;margin:5px 0 8px}.abilities #power{border-color:#7aefc088;box-shadow:0 0 24px #7aefc015}.abilities i{position:absolute;inset:0;background:#071912aa;transform-origin:bottom;transform:scaleY(0);pointer-events:none}#quality{font-size:11px;color:var(--muted)}#toast{position:fixed;top:108px;left:50%;transform:translateX(-50%);background:#0a211fee;border:1px solid var(--line);border-radius:8px;padding:12px 22px;opacity:0;pointer-events:none;max-width:85%;text-align:center;transition:opacity .2s}#toast.show{opacity:1}dialog{color:#eff8ed;background:linear-gradient(140deg,#17382c,#071912);border:1px solid #7aefc066;border-radius:15px;padding:32px;width:min(520px,calc(100% - 28px));box-shadow:0 20px 80px #0008}dialog::backdrop{background:#05130eaa;backdrop-filter:blur(5px)}dialog h2{font:600 32px/1.3 Cinzel;margin:15px 0}dialog p{font-size:15px;line-height:1.7;color:#bcd1c2}dialog small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:17px}dialog label{display:grid;gap:10px;margin:20px 0;color:#bcd1c2}select{background:#17382c;color:inherit;border:1px solid var(--line);border-radius:7px;padding:12px}.primary{background:var(--accent);color:#082519;font-weight:700;padding:16px;width:100%;border:0}.primary:hover{background:#b0ffd5}.rune{font-size:55px;color:var(--accent)}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialoghead button{font-size:22px;padding:5px 12px}#shopDialog{width:min(700px,calc(100% - 28px))}#shopItems{display:grid;grid-template-columns:1fr 1fr;gap:12px}.item{padding:16px;border:1px solid var(--line);border-radius:9px;background:#16372a}.item .icon{font-size:30px}.item h3{margin:7px 0}.item p{font-size:12px;line-height:1.5;min-height:36px;margin:0 0 12px}.item button{width:100%;color:var(--accent);font-weight:700}.touchpad{display:none}#error{position:fixed;inset:0;background:#071511;z-index:100;padding:40px;font-size:18px;line-height:1.6}#error[hidden]{display:none}
@media(max-width:1000px){header{padding:18px 20px}.brand span{font-size:18px}.phase b{font-size:14px}.hero{left:20px;top:110px;width:200px;padding:15px}.right{right:20px;top:110px;width:180px}.map canvas{height:100px}.caption{left:20px}.caption h1{font-size:26px}.controls{display:none}footer{justify-content:center;padding:15px 20px}#quality{position:fixed;bottom:140px;right:20px}}
@media(max-width:650px){header{padding:12px 14px;align-items:start}.brand{font-size:28px;gap:8px}.brand span{font-size:15px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1px}.phase{position:fixed;top:70px;left:14px;gap:8px}.phase span{font-size:9px;padding:5px}.phase b{font-size:12px}header button{padding:6px 10px}.hero{top:105px;left:14px;width:155px;padding:12px}.hero>.eyebrow,.hero h2,.quest{display:none}.label{margin:4px 0}.label{font-size:9px}.wallet{margin:10px 0 0;padding:8px 0 0;font-size:9px}.wallet b{font-size:18px}.right{top:105px;right:14px;width:135px}.map,.equipment p,.equipment>.eyebrow{display:none}.shop-open{margin:0;padding:9px;gap:6px;font-size:19px}.shop-open span{font-size:11px}.shop-open small{display:none}.equipment{padding:7px;margin-top:8px}.equipment button{font-size:10px}.equipment kbd{display:none}.caption{display:none}footer{min-height:103px;padding:10px;justify-content:flex-end;background:#07191288}.abilities{gap:6px}.abilities button{min-width:64px;padding:8px}.abilities b{font-size:9px}.abilities button>span{font-size:23px}.abilities kbd{display:none}#quality{bottom:115px;right:14px;font-size:9px;padding:6px}.touchpad{display:block;position:fixed;bottom:16px;left:10px;text-align:center;touch-action:none}.touchpad button{width:37px;height:34px;padding:3px;margin:2px}.touchpad div{display:flex}#toast{top:65px;font-size:12px;z-index:5;padding:9px 12px}dialog{padding:24px}dialog h2{font-size:27px}.item{padding:11px}#shopItems{gap:8px}}

#characterStatus{font-size:.85rem;color:var(--accent);min-height:2.4em}button:disabled{opacity:.5;cursor:wait}#cameraView{font-size:.75rem;padding:.65rem;background:#10291fcc;border:1px solid #adcdb533;border-radius:8px;color:#e4f3e9}

#jump,#run{padding:.65rem;border:1px solid #adcdb533;border-radius:8px;background:#10291fcc;color:#e4f3e9;touch-action:none}footer{flex-wrap:wrap;gap:8px}#run:active{background:#356348}

.region-name{font-size:.72rem;color:#c9e6a0;min-height:2em;margin:8px 0}

#startDialog{background:linear-gradient(90deg,rgba(7,18,12,.96),rgba(7,18,12,.64)),url('eclipse-landscape.webp') center/cover;max-width:680px}#seedInfo{color:#c6e6ae;font-size:.85rem}#cropType{width:100%;padding:10px;background:#17291f;color:#edf3e8;border:1px solid #759576;border-radius:8px}

#startDialog{background-image:linear-gradient(90deg,rgba(7,18,12,.95),rgba(7,18,12,.62)),url('eclipse-living.webp')}#soundToggle{padding:.65rem;background:#10291fcc;color:#edf3e8;border:1px solid #adcdb533;border-radius:8px}.volume-control{font-size:.68rem;display:flex;align-items:center;gap:4px}.volume-control input{width:65px;accent-color:#87cfa7}#world.hurt:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 80px #b3232977;pointer-events:none;z-index:1}

#world canvas{cursor:crosshair;outline:none}

#talkOpen{position:fixed;right:24px;bottom:190px;z-index:4;padding:12px 16px;background:#254632;color:#f0f6e9;border:1px solid #9abc84;border-radius:12px;max-width:260px}#talkDialog{max-width:660px;width:90vw}#talkText{font-size:1.15rem;line-height:1.8;color:#f1f5e9}#playerLine{color:#acd49b;font-size:.95rem}#talkChoices{display:grid;gap:10px}#talkChoices button{text-align:left;padding:13px;border:1px solid #85a574;border-radius:8px;background:#233c2e;color:#edf6e9}.reading-controls{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:20px 0}.reading-controls input{width:auto}.reading-controls select{padding:8px;background:#193025;color:#fff}.reading-note{font-size:.8rem;line-height:1.5}.talk-history{display:grid;gap:8px;max-height:190px;overflow:auto;margin:14px 0;padding:4px}.talk-message{display:grid;gap:3px;max-width:90%;padding:9px 12px;border-radius:12px;background:#20372b;color:#edf6e9;line-height:1.45;overflow-wrap:anywhere}.talk-message strong{font-size:.76rem;color:#b9d89f}.talk-message-player{justify-self:end;background:#294234}.talk-message-npc{justify-self:start}.talk-input-form{display:grid;gap:8px;margin:12px 0}.talk-input-form>label{font-weight:600}.talk-input-row{display:flex;gap:8px}.talk-input-row input{min-width:0;flex:1;padding:12px;border:1px solid #85a574;border-radius:8px;background:#12251c;color:#f5f8ef;font:inherit}.talk-input-row button{padding:10px 16px;border:1px solid #a3c58c;border-radius:8px;background:#355d3f;color:#fff;font:inherit}.talk-input-form small{opacity:.8;line-height:1.4}@media(max-width:700px){#talkOpen{right:10px;bottom:230px;max-width:210px;font-size:.75rem}}

.estate-overview{padding:15px;border:1px solid #71965f;border-radius:12px;margin-bottom:20px}.estate-overview p{font-size:.85rem;line-height:1.6}#estateMap{width:100%;height:auto;border-radius:10px}#estateRisk{color:#f0b89a}#estateView{padding:.6rem;background:#34503b;color:#fff;border:1px solid #9fc789;border-radius:8px}

#estateMap{cursor:pointer}#homeNav{background:#23493a;color:#f7edd1;border:1px solid #9ec19c}#homeDistance{color:#70d9ff}#goHome{min-height:44px;padding:10px 16px}

#languageDialog{max-width:520px}#languageDialog label{display:block;margin:18px 0}#languageDialog select{width:100%;padding:12px}#languageStart,#goRare{padding:12px;margin:8px 0}#languageOpen,#rareNav{background:#23493a;color:#f7edd1;border:1px solid #9ec19c}.translation{border-left:3px solid #70d9ff;padding:10px;color:#b8def0;font-size:.95rem}#talkChoices button{white-space:pre-line}#map{cursor:pointer}

#venueActions{position:fixed;top:110px;left:50%;transform:translateX(-50%);z-index:8;width:min(500px,90vw);padding:14px;background:#10271fe8;border:1px solid #c8a35c;border-radius:12px}#venueActions input{width:120px;padding:6px}#venueActions div{display:flex;gap:8px;flex-wrap:wrap}#venueActions button{padding:8px}#venueActions small{display:block;margin-top:8px}#venueActions[hidden]{display:none}

body.indoors .hero,body.indoors .right,body.indoors .caption{display:none}

[hidden]{display:none!important}.puzzle-prompt{font-size:2rem;text-align:center;letter-spacing:.1em;padding:24px;background:#173d30;border-radius:12px}#puzzleChoices button{padding:18px;font-size:1.2rem}#birthdayDialog,#birthdaySettings,#puzzleDialog{max-width:560px}.virtual-cake{position:relative;width:240px;height:210px;margin:24px auto 12px}.cake-layer{position:absolute;bottom:22px;width:220px;height:95px;left:10px;background:repeating-linear-gradient(#b77b60 0 24px,#f0cba2 24px 32px);border-radius:15px 15px 24px 24px;box-shadow:inset 0 -8px #583e35}.cake-frosting{position:absolute;bottom:97px;left:10px;width:220px;height:40px;border-radius:50%;background:#ffe3de;z-index:1}.cake-plate{position:absolute;bottom:5px;left:0;width:240px;height:35px;border-radius:50%;background:#c9d7ce}.candle{position:absolute;bottom:122px;left:111px;width:18px;height:53px;background:repeating-linear-gradient(45deg,#86c6df 0 8px,#e7f2f4 8px 16px);z-index:2;border-radius:5px}.candle i{position:absolute;width:20px;height:32px;left:-1px;top:-30px;background:#ffcd64;box-shadow:0 0 24px #ffa14b;border-radius:50% 50% 45% 45%;animation:candlelight .4s infinite alternate}.virtual-cake span{position:absolute;top:5px;right:-20px;font-size:40px}@keyframes candlelight{to{transform:rotate(7deg) scale(.95)}}@media(prefers-reduced-motion:reduce){.candle i{animation:none}}#birthdaySettings input{display:block;width:100%;padding:12px;margin:12px 0}#puzzleStart{padding:12px;margin:8px 0}
#missionsDialog{width:min(620px,92vw)}#missionCards{display:grid;gap:12px}.mission-card{padding:16px;border:1px solid var(--line,#ffffff25);border-radius:12px;background:#ffffff06}.mission-card h3{margin:0 0 8px}.mission-card p{margin:8px 0}.mission-card progress{width:100%;height:10px;accent-color:var(--accent)}#missionsOpen{margin-top:8px;width:100%}
.screen-time{width:100%;margin:8px 0;padding:8px;font-size:12px}#studyDialog,#screenInfoDialog{width:min(520px,92vw)}
#registrationDialog{width:min(560px,92vw)}#registrationForm{display:grid;gap:12px}#registrationForm label{display:grid;gap:6px}#registrationForm .registration-consent{display:flex;align-items:flex-start;line-height:1.5}#registrationAccept{width:auto;flex-shrink:0}.registration-photo{width:140px;height:140px;object-fit:cover;border-radius:12px;justify-self:center}#registrationStatus{color:var(--accent)}
#profileCameraVideo{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:#101810}#profileCameraPanel{display:grid;gap:10px}
.resource-hud{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0;font-size:12px}.resource-hud b{color:var(--accent)}

#levelsDialog{width:min(820px,calc(100% - 28px));max-height:85dvh;overflow:auto}#levelCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.level-card{padding:14px;border:1px solid var(--line);border-radius:9px;background:#16372a}.level-card h3{font-size:1rem;margin:8px 0}.level-card p,.level-card small{margin:4px 0}.level-card.locked{opacity:.65}#levelsOpen{width:100%;padding:9px;margin-top:10px;font-size:.85rem}#phaseSelect{width:100%}

#testKit{display:none!important}
