
:root{color-scheme:dark;--ink:#e8e6d6;--muted:#acbfb0;--gold:#e4bd70;--mint:#9ccca2;--dark:#122b28;--border:#ffffff1b;font-family:Segoe UI,system-ui,sans-serif;background:#102321;color:var(--ink);font-size:15px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#315047,#102321 65%)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{border:1px solid var(--border);border-radius:9px;background:#244039;color:var(--ink);padding:10px 15px;cursor:pointer;min-height:42px;transition:background .2s,transform .2s}button:hover:not(:disabled){background:#38594a;border-color:var(--gold);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:var(--gold)}.primary,.harvest{background:#d6b679;color:#172c28;font-weight:700;border-color:#e4c990}.primary:hover:not(:disabled),.harvest:hover:not(:disabled){background:#f0d19a}.quiet{background:transparent;border-color:transparent;font-size:12px}.active{color:var(--gold);background:#ffffff10;border-color:#d6b67966}.hud{max-width:1500px;margin:auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 32px;border-bottom:1px solid var(--border)}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:3px;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:2.3px;color:var(--gold);margin-top:4px}.brand-mark{font-size:40px;color:var(--gold)}nav{display:flex;gap:4px}nav button{font-size:13px;background:transparent;padding:9px 12px;border-color:transparent}.wallet{display:flex;gap:16px;align-items:center;color:var(--gold);font-size:14px;white-space:nowrap}.wallet button{padding:7px 12px}main{max-width:1500px;margin:auto;padding:22px 30px 0}h1,h2,h3{font-family:Georgia,serif;font-weight:normal}h1{font-size:clamp(28px,3.4vw,48px);margin:10px 0 14px;line-height:1.1}h2{font-size:27px;line-height:1.25;margin:12px 0}h3{font-size:21px;margin:10px 0}p{line-height:1.65;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}.scene{position:relative;overflow:hidden;border:1px solid #e4bd7040;border-radius:18px;background-color:#244238;box-shadow:0 16px 50px #0004}.district{aspect-ratio:1.8;background:url('assets/district.webp') center center/cover;min-height:470px;max-height:790px}.scene-title{position:absolute;left:30px;top:25px;z-index:4;max-width:72%;pointer-events:none;text-shadow:0 2px 12px #000;background:linear-gradient(90deg,#122823cd,#12282300);padding:12px 22px;border-radius:12px}.scene-title h1{color:#fff2d2;margin:9px 0;font-size:clamp(28px,3vw,46px)}.scene-title p{color:#eee2c7;margin:0;font-size:13px}.destination{position:absolute;z-index:6;min-width:145px;max-width:210px;text-align:left;padding:12px 18px;background:#142d29ed;border:1px solid #d7bc7880;box-shadow:0 8px 22px #0006;backdrop-filter:blur(8px);transform:translate(-50%,-50%)}.destination:hover:not(:disabled){transform:translate(-50%,-55%);background:#203d32}.destination span{position:absolute;top:-13px;left:-10px;background:#e4bd70;color:#172c28;width:26px;height:26px;text-align:center;padding:5px;border-radius:50%;font-size:11px;font-weight:800}.destination strong{font-family:Georgia,serif;font-weight:normal;font-size:19px;display:block;color:#f5dc9c}.destination small{font-size:10px;color:#c4d2b8;display:block;margin-top:4px}.greenhouse{left:19%;top:61%}.seedhouse{left:43%;top:40%}.laboratory{left:79%;top:37%}.supplies{left:80%;top:77%}.scene-caption{position:absolute;bottom:12px;left:20px;right:20px;color:#f8e5c2;font-size:11px;text-shadow:0 1px 5px #000;text-align:center}.walking-shiva{position:absolute;left:49%;top:72%;transform:translate(-50%,-70%);z-index:8;width:80px;border:0;padding:0;background:none;transition:left .85s ease-in-out,top .85s ease-in-out;filter:drop-shadow(2px 8px 5px #0008)}.walking-shiva img{width:100%;height:106px;object-fit:contain;animation:dogIdle 4s ease-in-out infinite}.walking-shiva span{font-size:10px;background:#142b28d9;border-radius:10px;padding:3px 12px;position:relative;top:-8px}.walking-shiva:hover:not(:disabled){background:none;transform:translate(-50%,-70%)}.walking-shiva.walking img{animation:dogWalk .18s ease-in-out infinite alternate}.fireflies{position:absolute;inset:0;pointer-events:none;z-index:3}.fireflies i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;background:#ffe99a;box-shadow:0 0 12px 4px #ffde8a77;border-radius:100%;animation:fly 5s var(--delay) ease-in-out infinite}.buddy-strip{display:flex;align-items:center;gap:18px;margin:18px 0 0;background:#17322d;border:1px solid var(--border);border-radius:14px;padding:10px 24px 10px 12px;min-height:104px}.buddy-strip p{margin:5px 0;font-size:14px;max-width:950px}.portrait{height:85px;width:70px;flex-shrink:0;padding:0;border:0;background:none}.portrait img{height:100%;width:100%;object-fit:contain}.buddy-strip .quiet{margin-left:auto;white-space:nowrap}footer{max-width:1500px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;color:#8da99a;font-size:10px}footer span{margin-left:auto;margin-right:15px}.grow-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.greenhouse-interior{background:url('assets/greenhouse.webp') center/cover;min-height:620px}.greenhouse-interior .scene-title{left:12px;top:12px;padding:12px}.greenhouse-interior .scene-title h1{font-size:30px}.plant-hotspot{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);width:54%;max-width:430px;height:65%;padding:0;background:none;border:0;z-index:4}.plant-hotspot:hover:not(:disabled){background:none;transform:translateX(-50%)}.botanical{width:100%;height:100%;filter:drop-shadow(0 5px 6px #0005);overflow:visible}.plant-body{transform-origin:160px 295px;animation:sway 4.5s ease-in-out infinite alternate}.leaf-joint{animation:leafwave 3.2s var(--delay) ease-in-out infinite alternate}.botanical.dry .leaf-joint{translate:0 10px;rotate:7deg}.botanical.wet .leaf-joint{translate:0 7px;filter:brightness(.7)}.botanical.hungry .leaf{filter:sepia(.7) saturate(1.1)}.botanical.burn .burn-tip{fill:#986744}.botanical.heat .leaf-joint,.botanical.light .leaf-joint{scale:.75 1;filter:sepia(.3)}.botanical.humid .leaf{stroke:#e4ead3;stroke-dasharray:1 8;stroke-width:3}.botanical.rot .bud{fill:#795b40}.botanical.stress .plant-body{filter:saturate(.5)}.light-cone{position:absolute;left:23%;top:15%;width:54%;height:75%;background:linear-gradient(#fbe29666,#fff0);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);pointer-events:none;z-index:2;transition:opacity .5s;animation:lightbreath 5s infinite}.fan-blades{position:absolute;top:7%;right:14%;font-size:70px;color:#b9b09299;animation:spin var(--speed) linear infinite;z-index:2;pointer-events:none}.room-target{position:absolute;z-index:6;font-size:11px;background:#15332be6;border-color:#f9dca278;padding:9px 12px;box-shadow:0 3px 12px #0005}.tank-target{left:4%;top:51%}.feed-target{right:3%;top:62%}.light-target{top:29%;left:50%;transform:translateX(-50%)}.light-target:hover:not(:disabled){transform:translateX(-50%)}.greenhouse-interior .walking-shiva{left:82%;top:87%;width:67px}.empty-grow{position:absolute;top:65%;left:50%;transform:translateX(-50%);z-index:5;width:80%;text-align:center}.control-panel{background:#18332d;border:1px solid var(--border);border-radius:16px;padding:19px;display:flex;flex-direction:column;min-width:0}.panel-top{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;align-items:center}.badge{border:1px solid #ddc3884d;border-radius:20px;padding:4px 9px;font-size:10px;color:#e4cd98;white-space:nowrap}.tabs,.segmented{display:flex;gap:4px;flex-wrap:wrap}.tabs button{font-size:12px;padding:7px 10px;min-height:36px}.panel-content{min-height:260px;padding:14px 0}.panel-content p{font-size:13px}.panel-content>button{margin:3px;font-size:12px}.vitals{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.vitals div{display:grid;grid-template-columns:1fr auto;font-size:12px}.vitals meter{width:100%;grid-column:span 2;height:10px;margin-top:5px}.vitals b{color:#d8e3a6}.slider-label{display:block;font-size:12px;margin:12px 0}.slider-label output{float:right;color:var(--gold)}input[type=range]{display:block;width:100%;accent-color:#d8bb7f;height:25px;cursor:pointer}select,input[type=search]{color:var(--ink);background:#142c27;border:1px solid #577263;border-radius:8px;padding:10px;max-width:100%}.turn-controls{margin-top:auto;padding-top:15px;border-top:1px solid var(--border);display:grid;gap:10px}.turn-controls label{font-size:11px;color:var(--muted)}.turn-controls select{display:block;width:100%;margin-top:6px}.turn-controls>span{font-size:11px;color:var(--gold)}.turn-controls button{font-size:12px}.tank-gauge{width:105px;height:125px;border:3px solid #8cbaa2;position:relative;border-radius:12px;overflow:hidden;margin:20px auto;background:#13342d}.tank-gauge>div{position:absolute;bottom:0;background:#528b87;width:100%;transition:height .6s}.tank-gauge b{position:absolute;inset:50% 0 auto;text-align:center;font-size:11px}.event{background:#564527;border:1px solid #cba263;padding:14px;border-radius:12px;font-size:12px;margin:10px 0}.event p{color:#efe2c5}.event button{margin:3px;font-size:11px}.paper{background:linear-gradient(135deg,#203d34,#162e2a);border:1px solid var(--border);border-radius:18px;padding:32px;min-height:570px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading h1{font-size:36px}.section-heading p{font-size:13px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--border);padding:20px 0}.filters input{flex:1;min-width:150px}.seed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.seed-card{background:#102821;border:1px solid var(--border);border-radius:12px;overflow:hidden}.seed-envelope{margin:16px 18px 0;padding:14px;min-height:184px;background:linear-gradient(150deg,hsl(calc(65 + var(--hue)) 22% 39%),#1b3d32);border:1px solid #b9c89466;border-radius:3px 3px 10px 10px;box-shadow:0 6px 10px #0003;display:flex;flex-direction:column;text-align:center;justify-content:space-between}.seed-envelope span{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:#e5d5a8}.seed-envelope b{font:21px Georgia,serif;color:#f2e5c3}.seed-envelope small{font-size:10px;color:#c2d0b9}.seed-emblem{font-size:54px;line-height:1.1;color:#b9c88e}.seed-info{padding:18px}.seed-info h3{font-size:21px;margin:14px 0 6px}.seed-info p{font-size:12px;margin:0 0 14px}.button-row{display:flex;flex-wrap:wrap;gap:7px}.button-row button{font-size:11px;padding:8px 10px;flex:1}.locked .seed-envelope{filter:saturate(.35)}.locked{opacity:.75}.micro{font-size:11px;color:#94ad9c;line-height:1.6}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.item-card{padding:25px;background:#142d26;border:1px solid var(--border);border-radius:12px}.item-card p{font-size:13px;min-height:45px}.item-card h2{font-size:24px}.balance{white-space:nowrap;color:var(--gold)}.bottle{height:90px;width:56px;background:linear-gradient(90deg,#224537,#66935c,#234e37);border-radius:9px 9px 14px 14px;margin:15px 0 25px;position:relative;text-align:center;padding-top:35px;color:#e8daa5;font-weight:800;box-shadow:0 8px 10px #0004}.bottle:before{content:'';position:absolute;top:-10px;left:10px;width:36px;height:15px;background:#b8aa84;border-radius:4px}.bottle.mineral{background:linear-gradient(90deg,#273a50,#58908f,#314a54)}.equipment-art{font-size:70px;color:var(--gold);height:115px}.lab-toolbar{display:flex;gap:20px;align-items:center;margin:25px 0}.lab-toolbar span{font-size:12px;color:var(--muted)}.scan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.scan-grid article{border:1px solid var(--border);padding:24px;border-radius:12px;background:#142c27}.scan-grid strong{display:block;font:32px Georgia,serif;color:var(--gold);margin-top:12px}.scan-grid small{font-size:12px;color:var(--muted)}.scan-grid p{font-size:13px}.lab-empty{text-align:center;margin:40px}.scan-orb{font-size:100px;color:var(--gold);animation:lightbreath 3s infinite}.harvest-report{margin:30px 0;padding:25px;border:1px solid #d8bd7766;border-radius:15px;background:radial-gradient(at right,#6a603a33,#18332a)}.score{font:80px Georgia,serif;float:right;color:var(--gold)}.score small{font:20px Georgia,serif}.rewards{color:var(--gold);margin:20px 0;font-size:14px}.achievements{display:flex;gap:12px;color:var(--gold);margin:20px 0}.vault-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}details{margin:25px 0}summary{cursor:pointer;color:var(--gold);padding:12px 0}details p{font-size:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:90%;padding:15px 24px;border:1px solid #cab77a;background:#1c392ff5;color:#f5e2b0;box-shadow:0 8px 40px #0008;border-radius:12px;opacity:0;pointer-events:none;z-index:50;transition:.25s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{color:var(--ink);background:#1a352e;border:1px solid #bca66c99;border-radius:18px;padding:32px;max-width:600px;width:calc(100% - 32px);box-shadow:0 20px 100px #000a}dialog::backdrop{background:#071b18c9;backdrop-filter:blur(4px)}dialog .close{float:right;background:none;font-size:23px;border:0;margin:-15px -12px 0 10px}dialog p{font-size:14px}.dialog-shiva{display:flex;gap:25px;align-items:center}.dialog-shiva img{width:90px;height:130px;object-fit:contain}.talk-topics{display:flex;gap:10px;flex-wrap:wrap}.talk-topics button{font-size:12px}.delivery{font-size:85px;text-align:center;color:var(--gold);animation:deliver .8s ease-out}.warning{border-left:3px solid var(--gold);padding-left:15px}.room-effect{position:absolute;inset:0;pointer-events:none;z-index:7}.room-effect i{position:absolute;top:55%;left:calc(40% + var(--i)*2%);font-style:normal;font-size:20px;color:var(--gold);animation:drops 1s calc(var(--i)*.035s) both}.sparkles i{animation:sparkles 1.2s calc(var(--i)*.03s) both}
@keyframes sway{from{rotate:-1.4deg}to{rotate:1.4deg}}@keyframes leafwave{from{translate:0 -1px}to{translate:0 2px}}@keyframes spin{to{rotate:360deg}}@keyframes lightbreath{50%{filter:brightness(1.16)}}@keyframes dogIdle{50%{rotate:1deg;translate:0 -2px}}@keyframes dogWalk{to{rotate:-3deg;translate:0 -6px}}@keyframes fly{0%,100%{opacity:.15;translate:0 0}50%{opacity:1;translate:15px -20px}}@keyframes drops{0%{opacity:0;translate:-45px -70px}20%{opacity:1}100%{opacity:0;translate:0 80px}}@keyframes sparkles{0%{opacity:0;scale:.3}30%{opacity:1}100%{opacity:0;translate:0 -100px;scale:1.2}}@keyframes deliver{from{translate:-90px 20px;opacity:0;rotate:-15deg}to{translate:0 0;opacity:1;rotate:0deg}}
@media(min-width:1600px){.district{aspect-ratio:1.8}}@media(max-width:1150px){.hud{padding:12px 20px;flex-wrap:wrap}.hud nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--border);padding-top:8px}.seed-grid{grid-template-columns:repeat(3,1fr)}.grow-layout{grid-template-columns:minmax(0,1fr) 310px}.greenhouse-interior{min-height:610px}.destination{min-width:130px;padding:10px 14px}.destination strong{font-size:16px}.destination small{font-size:9px}.buddy-strip .quiet{display:none}}
@media(max-width:820px){main{padding:14px 12px 0}.hud{gap:10px}.brand{font-size:14px}.wallet{font-size:12px;gap:10px}.hud nav{gap:0;justify-content:space-between}.hud nav button{font-size:11px;padding:8px}.grow-layout{grid-template-columns:1fr}.greenhouse-interior{min-height:0;height:520px}.control-panel{padding:20px}.panel-content{min-height:0}.turn-controls{margin-top:20px}.district{min-height:520px;aspect-ratio:auto;background-size:auto 100%}.scene-title{left:8px;top:8px;max-width:95%;padding:12px}.destination{min-width:122px;max-width:160px}.greenhouse{left:20%;top:53%}.seedhouse{left:43%;top:33%}.laboratory{left:79%;top:48%}.supplies{left:77%;top:79%}.seed-grid,.shop-grid,.vault-grid{grid-template-columns:repeat(2,1fr)}.paper{padding:20px}.paper h1{font-size:30px}.section-heading{display:block}.section-heading>button{margin-bottom:16px}.scan-grid{grid-template-columns:1fr 1fr}.buddy-strip{padding:12px;gap:10px}.buddy-strip p{font-size:12px}.buddy-strip .eyebrow{font-size:9px}.portrait{width:50px;height:72px}footer{padding:16px 14px;flex-wrap:wrap;gap:8px}footer span{display:none}}
@media(max-width:450px){.seed-grid,.shop-grid,.vault-grid{grid-template-columns:1fr}.seed-card{display:grid;grid-template-columns:115px 1fr}.seed-envelope{margin:12px 0 12px 12px;padding:10px;min-height:160px}.seed-envelope b{font-size:16px}.seed-info{padding:14px}.seed-info h3{font-size:20px}.destination strong{font-size:14px}.destination small{font-size:8px}.destination{min-width:113px;padding:10px}.scene-title h1{font-size:30px}.greenhouse-interior{height:440px}.plant-hotspot{width:65%;height:70%}.fan-blades{font-size:45px}.room-target{font-size:10px;padding:6px}.scan-grid{grid-template-columns:1fr}.lab-toolbar{align-items:flex-start;flex-direction:column}.score{font-size:65px}.filters{display:grid;grid-template-columns:1fr}.filters .tabs{grid-column:1}.greenhouse-interior .scene-title h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Phone-first navigation: scenes stay visible, actions stay reachable. */
@media(max-width:820px){
 body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
 .hud{min-height:62px;padding:8px 16px;flex-wrap:nowrap}
 .brand-mark{font-size:30px}.brand{gap:8px;font-size:13px;letter-spacing:2px}.brand small{font-size:7px}
 .hud nav{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:#142e29f5;backdrop-filter:blur(12px);border-top:1px solid #d6b67955;padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0003}
 .hud nav button{min-height:49px;border-radius:9px;font-size:10px;padding:4px;line-height:1.7}
 .hud nav button:before{display:block;font-size:18px;line-height:1.2;content:'⌂'}
 .hud nav button:nth-child(2):before{content:'♧'}.hud nav button:nth-child(3):before{content:'❧'}.hud nav button:nth-child(4):before{content:'▣'}.hud nav button:nth-child(5):before{content:'◎'}
 .wallet{gap:8px;font-size:11px}.wallet button{font-size:11px;min-height:40px;padding:5px 9px}
 main{padding:8px 10px 0}.district{background-image:url('assets/district-mobile.webp');background-size:cover;background-position:center;aspect-ratio:2/3;height:auto;min-height:0;max-height:none}
 .scene-title{left:8px;top:8px;max-width:95%;padding:9px 12px}.scene-title h1{font-size:30px}.scene-title p{font-size:11px}.scene-title .eyebrow{font-size:8px;letter-spacing:1.3px}
 .destination{min-width:115px;max-width:145px;padding:9px 12px;min-height:54px}.destination strong{font-size:15px}.destination small{font-size:9px}.destination span{width:22px;height:22px;top:-9px;left:-7px;padding:4px}
 .greenhouse{left:26%;top:40%}.seedhouse{left:72%;top:30%}.laboratory{left:73%;top:62%;max-width:152px}.laboratory strong{font-size:14px}.supplies{left:28%;top:73%}
 .district .walking-shiva{left:53%;top:64%;width:52px}.district .walking-shiva img{height:75px}.district .walking-shiva span{font-size:9px;padding:2px 8px}
 .scene-caption{font-size:9px;bottom:7px;left:8px;right:8px;background:#152d2988;border-radius:9px;padding:5px}
 .greenhouse-interior{height:clamp(310px,85vw,510px);border-radius:12px}.greenhouse-interior .scene-title h1{font-size:23px}.greenhouse-interior .scene-title p{font-size:10px}
 .plant-hotspot{height:69%;width:58%;bottom:2%}.greenhouse-interior .walking-shiva{width:48px;top:89%}.greenhouse-interior .walking-shiva img{height:70px}.fan-blades{font-size:40px}.room-target{min-height:44px;font-size:10px;padding:7px 10px}.tank-target{top:47%;left:2%}.feed-target{right:2%;top:56%}.light-target{top:27%}
 .grow-layout{gap:10px}.control-panel{padding:14px;border-radius:12px}.panel-top{margin-bottom:10px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.tabs button{min-height:44px;font-size:12px;padding:6px}.panel-content{padding:9px 0}.panel-content h3{font-size:21px}.panel-content p{font-size:13px}.vitals{margin:14px 0;gap:12px}.turn-controls{margin-top:8px;gap:8px}.turn-controls .primary{min-height:48px}.turn-controls select{min-height:44px}input[type=range]{height:36px}
 .filters .tabs{grid-template-columns:repeat(2,1fr)}.buddy-strip{margin-top:10px}.buddy-strip p{font-size:12px}.paper{padding:18px 14px}.paper h1{font-size:29px}button{min-height:44px}.button-row button{min-height:44px;font-size:12px}
 #toast{bottom:calc(86px + env(safe-area-inset-bottom));width:max-content;max-width:90%;font-size:13px}
 dialog{padding:24px 18px;max-height:85dvh;overflow:auto}.talk-topics{display:grid;grid-template-columns:1fr}.dialog-shiva{gap:12px}.dialog-shiva img{width:65px}.dialog-shiva p{font-size:13px}
}
.load-more{grid-column:1/-1;text-align:center;margin:10px}.mobile-turn-dock{display:none}
.shop-tabs{margin:20px 0}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-heading{display:flex;gap:16px;align-items:center;margin-bottom:20px}.equipment-symbol{font-size:42px;color:var(--gold)}.equipment-heading h2{margin:0 0 8px}.quality-tier{padding:14px 0;border-top:1px solid var(--border)}.quality-tier h3{display:inline;margin:0 0 0 8px;font-size:20px}.quality-tier p{min-height:0;margin:8px 0 12px}.quality-tier button{width:100%;font-size:12px}.quality-stars{color:var(--gold);font-size:12px}.tier-equipped{background:#a0c3a40b;box-shadow:inset 3px 0 #aacda0;padding-left:12px}.tier-3 .quality-stars{color:#d7b5e6}.skin-card{overflow:hidden}.skin-preview{height:150px;border-radius:12px;margin-bottom:20px;display:grid;place-items:center;overflow:hidden;position:relative;border:1px solid #ffffff20}.room-preview{background-image:linear-gradient(#45331126,#45331126),url('assets/greenhouse.webp');background-size:cover;background-position:center 40%}.preview-room-moon{background-image:linear-gradient(#12346388,#29447955),url('assets/greenhouse.webp')}.preview-room-gold{background-image:linear-gradient(#e0b04955,#a3632e33),url('assets/greenhouse.webp')}.room-preview span{position:absolute;top:15px;right:20px;font-size:30px;color:#efe2b0;text-shadow:0 0 25px currentColor}.pot-preview{background:radial-gradient(ellipse,#446258,#192f2a)}.pot-preview svg{height:125px;width:180px}.skin-card .eyebrow{font-size:9px}.reward-notice{padding:18px 20px;background:#bea5640d;border:1px solid #dfbf7750;border-radius:12px;margin:0 0 22px}.reward-notice p{font-size:12px;margin:8px 0 0}.reward-card>button{display:block;width:100%;margin-top:10px}.ticket{height:115px;margin-bottom:18px;border:1px dashed #e2c883;border-radius:8px;background:linear-gradient(120deg,#5d502f,#233b30);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.ticket:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffe7aa22 50%,transparent 70%);transform:translateX(-100%);animation:ticketSheen 8s 2s infinite}.ticket span{font:38px Georgia,serif;color:#f7dca0}.ticket small{font-size:11px;color:#d5d6b9;margin-top:8px}.saving-track{display:grid;gap:8px;margin:18px 0}.saving-track meter{width:100%;height:10px}.saving-track small{font-size:11px;color:var(--muted)}.quest-board{border:1px solid var(--border);border-radius:14px;background:#1b352e;padding:22px;margin-top:18px}.quest{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--border)}.quest:last-child{border:0;padding-bottom:0}.quest>div{flex:1;min-width:0}.quest h3{font-size:19px;margin:0 0 6px}.quest p{margin:0;font-size:12px}.quest>button{flex-shrink:0;font-size:12px;min-width:128px}.quest-done h3:before{content:'✓ ';color:var(--mint)}.quest-done{opacity:.65}.sensor-report{min-height:0;margin-top:18px}.sensor-report p,.sensor-report li{font-size:13px;line-height:1.7}
/* Skins tint the room separately so plant warning colours stay readable. */
.greenhouse-interior .light-target{left:auto;right:3%;top:25%;transform:none}.greenhouse-interior .light-target:hover:not(:disabled){transform:translateY(-1px)}
.seed-photo{position:relative;display:block;margin:16px 18px 0;min-height:184px;height:210px;border-radius:8px;overflow:hidden;background:radial-gradient(#3b5640,#142b25);border:1px solid #b9c89455}.seed-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;background:#152e26}.seed-photo-fallback{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;color:#8ead70;font-size:65px}.seed-photo-fallback small{font:11px system-ui;color:var(--muted)}.image-missing .seed-photo-fallback small:after{content:' · Bild derzeit nicht erreichbar'}.shop-product-link{display:inline-block;margin-top:14px;font-size:12px;line-height:1.5}.shiva-envelope{background:linear-gradient(145deg,#55633d,#243c30)}.shiva-envelope.shiva-haze{background:linear-gradient(145deg,#716d47,#344b37)}.shiva-envelope.shiva-cookies{background:linear-gradient(145deg,#725349,#41372e)}.shiva-seedmark{height:85px;position:relative}.shiva-seedmark img{height:85px;max-width:100%;object-fit:contain}.shiva-seedmark b{position:absolute;color:#e4bd70;right:15%;top:18px;font-size:25px}.fictional-card .seed-info p{font-size:12px}.voucher-collection{margin-top:28px}.voucher-summary{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.voucher-summary>div{min-width:0;flex:1}.voucher-summary p{font-size:12px;margin:6px 0}.voucher-summary code{display:block;overflow-wrap:anywhere;color:var(--gold);font-size:12px}.voucher-summary button{font-size:12px}.voucher-codecard{padding:18px 12px;background:#0e2c244d;border:1px dashed #e1c082;border-radius:12px;margin:15px 0;display:grid;gap:16px}.voucher-codecard b{font-size:12px;color:var(--muted)}input.voucher-code{min-width:0;width:100%;background:none;color:var(--gold);border:0;font-family:ui-monospace,monospace;font-size:clamp(10px,3.2vw,17px);text-align:center;padding:8px 0;letter-spacing:.3px}
.botanical .plant-body{animation-duration:var(--sway-duration,4.5s)}.botanical .leaf-joint{animation-duration:var(--leaf-duration,3.2s)}.botanical.dry .leaf-joint{rotate:calc(var(--side,1)*14deg)}.botanical.wet .leaf-joint{rotate:calc(var(--side,1)*9deg)}.leaf-vein{opacity:.48}.botanical.rot .bud-bract{fill:#7b593e}.botanical.hungry .leaf-vein{stroke:#d5be72}.trichome{animation:crystalTwinkle 4.8s var(--delay) ease-in-out infinite}.leaf-pest{animation:pestShuffle 1.6s ease-in-out infinite alternate}.botanical.dead .trichome{animation:none;opacity:.2}
@keyframes sway{from{rotate:calc(-1 * var(--sway-angle,1.4deg))}to{rotate:var(--sway-angle,1.4deg)}}
@keyframes crystalTwinkle{0%,100%{opacity:.35}50%{opacity:.95}}
@keyframes pestShuffle{to{translate:2px -2px;rotate:4deg}}
@media(max-width:450px){.seed-photo{margin:12px 0 12px 12px;min-height:170px;height:auto}.fictional-card .seed-envelope{min-height:205px}.voucher-summary{flex-wrap:wrap}.voucher-summary>div{flex-basis:100%}.voucher-summary button{margin-left:auto}.voucher-codecard .eyebrow{font-size:8px;letter-spacing:1px}}
.greenhouse-interior:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;transition:background .7s;background:transparent}
html[data-room-skin="room-moon"] .greenhouse-interior:before{background:linear-gradient(145deg,#13296480,#24487630)}
html[data-room-skin="room-moon"] .light-cone{background:linear-gradient(#bddaf288,#dceeff00)}
html[data-room-skin="room-gold"] .greenhouse-interior:before{background:linear-gradient(145deg,#dbb85e45,#ae6c2a35)}
html[data-room-skin="room-gold"] .light-cone{background:linear-gradient(#f6c65799,#ffedbd00)}
html[data-room-skin="room-moon"] .greenhouse-interior .fireflies i{background:#ddeaff;box-shadow:0 0 10px 2px #b6caff55;width:2px;height:2px}
html[data-pot-skin="pot-jade"] .botanical #pot stop:nth-child(1){stop-color:#163e3b}html[data-pot-skin="pot-jade"] .botanical #pot stop:nth-child(2){stop-color:#79bfb1}html[data-pot-skin="pot-jade"] .botanical #pot stop:nth-child(3){stop-color:#245754}
html[data-pot-skin="pot-cobalt"] .botanical #pot stop:nth-child(1){stop-color:#20314a}html[data-pot-skin="pot-cobalt"] .botanical #pot stop:nth-child(2){stop-color:#698cbf}html[data-pot-skin="pot-cobalt"] .botanical #pot stop:nth-child(3){stop-color:#283b68}
html[data-pot-skin="pot-gold"] .botanical #pot stop:nth-child(1){stop-color:#6f4d1a}html[data-pot-skin="pot-gold"] .botanical #pot stop:nth-child(2){stop-color:#edcd77}html[data-pot-skin="pot-gold"] .botanical #pot stop:nth-child(3){stop-color:#9a701e}
html[data-pot-skin="pot-jade"] .botanical ellipse[cy="292"]{stroke:#79bfb1}html[data-pot-skin="pot-cobalt"] .botanical ellipse[cy="292"]{stroke:#698cbf}html[data-pot-skin="pot-gold"] .botanical ellipse[cy="292"]{stroke:#edcd77}
/* Opening a parcel has anticipation, an opening lid, then a small reward burst. */
.loot-delivery{height:155px;width:min(300px,100%);margin:12px auto 25px;position:relative;isolation:isolate;overflow:hidden}
.loot-delivery:after{content:'';position:absolute;left:20%;right:20%;bottom:12px;height:13px;background:#0004;border-radius:50%;filter:blur(5px);animation:parcelShadow 1.1s both}
.loot-box{width:96px;height:72px;position:absolute;left:calc(50% - 48px);bottom:27px;border-radius:3px 3px 9px 9px;background:linear-gradient(90deg,#8d643d,#c3965b 55%,#a37a49);border:1px solid #e7c688;box-shadow:inset 0 -8px #6a4e3020;animation:parcelArrival .85s cubic-bezier(.2,.8,.3,1) both;z-index:2}
.loot-lid{position:absolute;left:-5px;top:-11px;width:104px;height:18px;border-radius:4px;background:#d6b277;border:1px solid #efcd94;transform-origin:12px 12px;animation:parcelLid .7s .75s both}
.loot-ribbon{position:absolute;width:15px;inset:0 auto 0 40px;background:#3f6b51;box-shadow:inset 3px 0 #88b18033}.loot-symbol{position:absolute;left:0;right:0;top:22px;text-align:center;font-size:27px;color:#ffebb3;animation:rewardReveal 1s .8s both;text-shadow:0 0 20px #ffe4a399}
.loot-delivery i{font-style:normal;position:absolute;left:50%;top:72px;color:var(--color);opacity:0;font-size:18px;animation:rewardBurst 1.1s calc(.8s + var(--i)*.018s) both;transform:rotate(var(--angle)) translateY(0);z-index:1}
.loot-delivery.coins .loot-box{background:linear-gradient(90deg,#6f4c27,#bb8e47,#72552c);border-radius:5px 5px 18px 18px}.loot-delivery.coins i{color:#edd081;text-shadow:0 1px 3px #443523}.loot-delivery.voucher .loot-box{background:linear-gradient(120deg,#dec685,#a49056);border:2px dashed #f2e1ad}.loot-delivery.voucher .loot-ribbon{background:#77664b33}.loot-delivery.voucher .loot-symbol{color:#403b26}
@keyframes parcelArrival{0%{transform:translate(-110px,-60px) rotate(-15deg);opacity:0}55%{transform:translate(8px,6px) rotate(5deg);opacity:1}75%{transform:translate(-3px,-6px) rotate(-3deg)}100%{transform:none;opacity:1}}
@keyframes parcelShadow{0%{opacity:0;scale:.3}70%{opacity:1;scale:1.1}100%{scale:1}}
@keyframes parcelLid{0%{transform:none}35%{transform:translateY(-10px) rotate(-8deg)}100%{transform:translate(-15px,-35px) rotate(-25deg)}}
@keyframes rewardReveal{0%{opacity:0;transform:translateY(5px) scale(.2)}55%{opacity:1;transform:translateY(-20px) scale(1.4)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rewardBurst{0%{opacity:0;transform:rotate(var(--angle)) translateY(-5px) scale(.3)}20%{opacity:1}65%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-100px) rotate(70deg) scale(.6)}}
@keyframes ticketSheen{0%,65%{transform:translateX(-100%)}90%,100%{transform:translateX(100%)}}
/* Different care actions tell different little stories in the room. */
#toast.with-care{display:flex;align-items:center;gap:10px;padding:5px 18px 5px 5px;max-width:90%;width:360px}.toast-care.care-animation{position:relative;inset:auto;flex-shrink:0;width:86px;height:86px;background:radial-gradient(ellipse,#4c665533,#17362a);border-radius:50%}#toast.with-care span{font-size:12px;line-height:1.5}
.care-animation{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.care-animation .watering-can{transform-origin:34% 38%;animation:canPour 1.6s both}.care-animation .water-stream{stroke-dasharray:5 12;animation:waterFlow 1.6s both;stroke-linecap:round}.care-animation .soil-ripple{transform-origin:50% 83%;animation:soilRipple 1.4s .4s both}.care-animation .feed-orb{transform-origin:50% 52%;animation:feedOrbit 1.8s var(--delay) both}.care-animation .feed-orb text{font:700 14px system-ui;fill:#fff4d4;text-anchor:middle}.care-animation .growth-ring{transform-origin:50% 70%;animation:soilRipple 1.2s both}.care-animation .leaf-float{animation:leafRise 1.5s var(--delay) both}.care-animation .tank-wave{animation:tankFill 1.6s both;transform-origin:18% 73%}.care-animation .boost-star{animation:boostFlash 1.5s both;transform-origin:50% 53%}
.walking-shiva.curious img{animation:dogCurious 1.7s both}.walking-shiva.celebrating img{animation:dogCelebrate 1.5s both}.lab-scanning .scan-grid article{position:relative;overflow:hidden}.lab-scanning .scan-grid article:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#accfc222,transparent);transform:translateY(-100%);animation:scanSweep 1.1s both;pointer-events:none}.botanical .leaf-joint{--droop:0px;transition:rotate .8s,scale .8s,filter .8s}.botanical.dry .leaf-joint{--droop:10px}.botanical.wet .leaf-joint{--droop:7px}.botanical.dead .leaf{fill:#877753}.botanical.dead .plant-body{animation:none;rotate:6deg;filter:saturate(.5)}
@keyframes leafwave{from{translate:0 calc(var(--droop,0px) - 1px)}to{translate:0 calc(var(--droop,0px) + 2px)}}
@keyframes canPour{0%{opacity:0;transform:translate(-35px,-15px) rotate(-15deg)}25%{opacity:1;transform:rotate(15deg)}70%{opacity:1;transform:rotate(15deg)}100%{opacity:0;transform:translate(-30px,-15px) rotate(-15deg)}}
@keyframes waterFlow{0%,18%{opacity:0;stroke-dashoffset:40}30%,75%{opacity:.8}100%{opacity:0;stroke-dashoffset:-120}}
@keyframes soilRipple{0%{opacity:0;scale:.3}30%{opacity:.7}100%{opacity:0;scale:1.3}}
@keyframes feedOrbit{0%{opacity:0;transform:translateY(-25px) scale(.5)}25%{opacity:1;transform:translateY(0) scale(1.05)}65%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(95px) scale(.3)}}
@keyframes leafRise{0%{opacity:0;translate:0 20px;rotate:-15deg}30%{opacity:.9}100%{opacity:0;translate:12px -50px;rotate:25deg}}
@keyframes tankFill{0%{opacity:0;scale:1 .2}25%{opacity:.8}70%{opacity:.8;scale:1 1}100%{opacity:0;scale:1 1}}
@keyframes boostFlash{0%{opacity:0;scale:.2;rotate:0deg}35%{opacity:.9;scale:1.1}100%{opacity:0;scale:1.5;rotate:80deg}}
@keyframes dogCurious{0%,100%{rotate:0deg;translate:0 0}35%,65%{rotate:-8deg;translate:0 -3px}}
@keyframes dogCelebrate{0%,100%{translate:0 0;rotate:0deg}25%,70%{translate:0 -9px;rotate:-5deg}45%{translate:0 -2px;rotate:3deg}}
@keyframes scanSweep{to{transform:translateY(100%)}}
@media(max-width:1100px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.equipment-grid{grid-template-columns:1fr}.item-card{padding:18px}.shop-tabs button{min-height:44px}.section-heading{flex-wrap:wrap}.balance{white-space:normal;font-size:13px}.quest-board{padding:16px}.quest{gap:10px;align-items:start}.quest>button{min-width:104px;max-width:115px;font-size:11px;padding:8px}.quest h3{font-size:17px}.skin-preview{height:120px}.shop-grid{gap:12px}.skin-card h2,.reward-card h2{font-size:21px}.skin-card .button-row{flex-direction:column}.reward-card .ticket{height:100px}.loot-delivery{height:140px;margin-bottom:15px}.sensor-report{padding:18px 14px}}
@media(max-width:520px){.shop-grid{grid-template-columns:1fr}.skin-card{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:14px;align-items:start}.skin-card .skin-preview{grid-row:span 4;height:140px;width:110px;margin:0}.skin-card .pot-preview svg{width:110px;height:100px}.skin-card p{min-height:0;margin:6px 0 12px}.skin-card h2{font-size:20px;margin:7px 0 0}.skin-card .button-row{grid-column:1/-1;flex-direction:row;margin-top:14px}.skin-card .eyebrow{font-size:8px;letter-spacing:1px}.reward-card .ticket{width:100%;height:95px}.shop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quest{flex-wrap:wrap}.quest>button{margin-left:auto;min-width:128px;max-width:none}.equipment-heading .badge{white-space:normal}}
@media(max-width:820px){.has-grow-dock{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.mobile-turn-dock{display:flex;align-items:center;gap:12px;justify-content:space-between;position:fixed;z-index:29;bottom:calc(65px + env(safe-area-inset-bottom));left:0;right:0;padding:10px 16px;background:#203c32f5;border-top:1px solid #cbb67b66;backdrop-filter:blur(12px)}.mobile-turn-dock b{display:block;font-size:13px;color:var(--gold)}.mobile-turn-dock small{font-size:10px;color:var(--muted)}.mobile-turn-dock button{min-width:145px;min-height:46px}.has-grow-dock #toast{bottom:calc(150px + env(safe-area-inset-bottom))}.control-panel{scroll-margin-top:12px}}
@media(max-width:820px){
 .embedded body,.embedded body.has-grow-dock{padding-bottom:0}
 .embedded .hud{flex-wrap:wrap}
 .embedded .hud nav{position:static;width:100%;order:3;padding:8px 0 0;box-shadow:none;background:transparent;backdrop-filter:none}
 .embedded .mobile-turn-dock{display:none}
}
