:root{font-family:Arial,Helvetica,sans-serif;color:#233d34;--ink:#233d34;--sage:#3e6555;--lime:#d8e7a5;--cream:#f5f2e9;--orange:#db6945;--panel:rgba(248,247,237,.93);color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#dddac9}button,select,input{font:inherit}button{cursor:pointer;border:0;color:inherit;touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #da714a;outline-offset:4px}button:disabled{opacity:.6;cursor:default}button{transition:background .18s,transform .18s}button:hover{filter:brightness(.97)}button:active{transform:scale(.97)}[hidden]{display:none!important}#world{display:block;width:100%;height:100%;touch-action:none}#vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(243,240,226,.98) 0%,rgba(243,240,226,.9) 22%,rgba(243,240,226,.55) 40%,transparent 64%),linear-gradient(0deg,rgba(221,224,205,.45),transparent 18%);transition:opacity .5s}.playing #vignette{opacity:0}.topbar{position:absolute;top:max(26px,env(safe-area-inset-top));left:max(36px,env(safe-area-inset-left));right:max(36px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;z-index:10;pointer-events:none}.topbar button{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;background:none;text-align:left;padding:0;font-size:21px;font-weight:900;letter-spacing:1px}.brand small{display:block;font-size:8px;font-weight:700;letter-spacing:2.3px;margin-top:5px}.brand-icon{display:grid;place-items:center;width:45px;height:45px;background:#345e4e;color:#e9edb8;border-radius:50%;font-size:40px;line-height:1}.header-actions{display:flex;align-items:center;gap:10px}.icon-button{height:40px;width:40px;display:grid;place-items:center;background:rgba(249,248,238,.8);border:1px solid rgba(55,79,62,.15);border-radius:50%;font-size:23px}.status{font-size:9px;font-weight:700;letter-spacing:1.4px;display:flex;gap:8px;align-items:center;margin-right:10px}.status i,.home-footer i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#648370}.play-only{display:none}.playing .play-only{display:grid}.screen{position:absolute;inset:0}.hero{position:absolute;left:8%;top:24%;max-width:520px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.tiny-spark{color:var(--orange);font-size:22px;margin-right:9px;vertical-align:middle}.hero h1{font-size:clamp(75px,9vw,148px);line-height:.88;letter-spacing:-7px;margin:28px 0 29px;font-weight:800}.hero em{font-style:normal;color:#668270}.hero p{font-size:17px;line-height:1.7;color:#647266;margin:0 0 27px}.hero-buttons{display:flex;gap:12px}.primary,.secondary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 23px;border-radius:7px;font-size:13px;font-weight:700;min-height:50px}.primary{background:var(--ink);color:#f9f9e8}.primary span{font-size:23px;color:#d5e6a6}.secondary{background:#efeee1;border:1px solid #cbd0bc}.secondary span{font-size:20px}.hero-note{font-size:10px;margin-top:22px;color:#728170;letter-spacing:.25px}.circle-check{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #81937e;border-radius:50%;margin-right:6px}.scene-label{position:absolute;left:65%;bottom:19%;display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:1.7px;font-weight:700}.scene-label strong{display:block;font-size:16px;letter-spacing:0;font-weight:500;margin-top:7px}.label-line{width:30px;height:1px;background:#496351}.label-number{background:#f8f5e8;padding:12px;border-radius:4px;margin-left:8px;font-size:10px;letter-spacing:0}.home-footer{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:36px;right:36px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:8px;letter-spacing:1.4px;font-weight:700}.home-footer>span:first-child{display:flex;gap:7px;align-items:center}.home-footer>div{display:flex;gap:20px;font-size:10px;font-weight:400;letter-spacing:0;color:#566754}.job-heading{position:absolute;top:108px;left:36px;text-shadow:0 1px 8px #f5f0df}.job-heading .eyebrow{color:#527b62;font-size:9px}.job-heading h2{font-size:28px;letter-spacing:-1px;margin:8px 0}.job-heading p{font-size:11px;margin:0;color:#53624f}.objective-card{position:absolute;top:222px;left:36px;background:var(--panel);width:240px;border:1px solid rgba(93,105,74,.16);border-radius:10px;padding:17px;backdrop-filter:blur(12px)}.objective-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:17px;font-size:8px;letter-spacing:1px;font-weight:700}.objective-head button{background:none;font-size:10px;color:#527459;letter-spacing:0;padding:0}.objective-head button span{font-size:17px}.object-row{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:11px}.object-check{width:17px;height:17px;border:1px solid #bbc6a7;border-radius:50%;display:grid;place-items:center;font-size:10px}.object-row.done .object-check{background:#4c745d;color:white;border-color:#4c745d}.object-row>span:nth-child(2){flex:1}.object-row small{font-size:9px;color:#67816b}.overall-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d9dfcb;padding-top:14px;margin-top:15px;font-size:10px}.overall-row strong{font-size:26px;letter-spacing:-1px}.overall-row small{font-size:12px;margin-left:2px}.progress-track{margin-top:8px;background:#dfe3cf;height:4px;border-radius:4px;overflow:hidden}#progress-fill{background:var(--sage);width:0;height:100%;transition:width .3s}.crosshair{position:absolute;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,238,.85);border-radius:50%;box-shadow:0 0 0 1px rgba(37,57,45,.25);pointer-events:none;display:grid;place-items:center}.crosshair span{background:#fffcef;width:3px;height:3px;border-radius:50%}.crosshair.valid{border-color:#d8eda3;box-shadow:0 0 0 1px #345e4e}.target-info{position:absolute;top:calc(50% + 30px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;pointer-events:none;white-space:nowrap;text-shadow:0 1px 5px #2d392d,0 0 12px #2d392d;color:#fffdee}.target-info strong{font-size:12px}.target-info span{font-size:10px;max-width:320px;white-space:normal}.tool-status{position:absolute;right:36px;bottom:148px;width:160px;text-align:right;padding:14px;background:var(--panel);border-radius:8px}.tool-status>span{font-size:7px;letter-spacing:1px;display:block;color:#688169}.tool-status>strong{font-size:24px;letter-spacing:-1px;display:block;margin-top:5px}.charge-track{height:3px;background:#d2dbc2;margin:12px 0 5px}.charge-track span{display:block;background:#6f8c5e;height:100%;width:100%}.tool-status small{font-size:9px;color:#638061}.toolbelt{position:absolute;left:50%;bottom:max(47px,calc(env(safe-area-inset-bottom) + 25px));transform:translateX(-50%);display:flex;gap:5px;padding:7px;background:rgba(248,247,237,.95);border:1px solid #d5dac6;border-radius:13px;backdrop-filter:blur(10px);box-shadow:0 7px 40px rgba(22,39,27,.12)}.tool-button{width:80px;min-height:73px;position:relative;background:transparent;border-radius:8px;padding:9px 7px;color:#85917a}.tool-button .tool-symbol{font-size:25px;display:block;line-height:29px}.tool-button .tool-label{font-size:9px;display:block;margin-top:5px}.tool-button .tool-key{position:absolute;top:5px;left:7px;font-size:8px;opacity:.6}.tool-button.active{background:#345e4e;color:#edf2cf}.desktop-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#eaf0dc;text-shadow:0 1px 5px #42543e;font-size:9px;letter-spacing:.2px}.desktop-hint b{margin:0 8px}.capture{position:absolute;top:65%;left:50%;transform:translateX(-50%);background:rgba(248,247,237,.9);border:1px solid #c8d3b7;padding:12px 21px;border-radius:30px;font-size:12px}.capture span{display:block;font-size:9px;margin-top:4px;color:#7a8971}.capture:active{transform:translateX(-50%) scale(.97)}.touch-controls{display:none}.touch-device .touch-controls{display:block}.touch-device .desktop-hint,.touch-device .capture{display:none!important}.move-pad{position:absolute;bottom:160px;left:35px;width:110px;height:110px;border-radius:50%;background:rgba(241,245,222,.17);border:1px solid rgba(255,255,239,.55);touch-action:none;display:grid;place-items:center;box-shadow:inset 0 0 15px rgba(228,238,202,.12)}#move-knob{width:46px;height:46px;border-radius:50%;background:rgba(242,245,224,.75);border:1px solid #fafbeb;pointer-events:none}.move-label{position:absolute;bottom:143px;left:35px;width:110px;text-align:center;font-size:8px;letter-spacing:2px;color:#f7f7e8;text-shadow:0 1px 4px #405240}.touch-clean{position:absolute;right:30px;bottom:170px;width:85px;height:85px;border-radius:50%;border:1px solid #f6f7dc;background:rgba(220,236,178,.85);font-size:10px;font-weight:bold;touch-action:none;user-select:none}.touch-clean span{font-size:35px;display:block;line-height:40px}.touch-clean.pressed{background:#345e4e;color:#f0f4da}.look-label{position:absolute;right:30px;bottom:149px;text-align:center;width:85px;font-size:8px;letter-spacing:1px;color:#f7f7e8;text-shadow:0 1px 4px #405240}.touch-device .tool-status{bottom:290px;right:25px}.toast{position:absolute;top:100px;left:50%;transform:translate(-50%,-10px);background:#345e4e;color:#f1f4de;padding:13px 22px;border-radius:25px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;max-width:80vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #c4cfb4;background:#f5f3e9;color:var(--ink);padding:0;border-radius:18px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);width:650px;box-shadow:0 20px 100px rgba(25,49,28,.3);overflow:auto}dialog::backdrop{background:rgba(20,40,28,.5);backdrop-filter:blur(5px)}.modal-shell{position:relative;padding:38px}.close-modal{position:absolute;right:16px;top:16px;z-index:1}.modal-eyebrow{font-size:9px;font-weight:bold;letter-spacing:2px;color:#789064;margin-bottom:10px}.modal-shell h2{font-size:36px;margin:8px 0 12px;letter-spacing:-1.5px}.modal-shell p{font-size:12px;line-height:1.7;color:#64765a}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.job-card{background:#ebeedd;border:1px solid #d3dbc3;padding:20px;text-align:left;border-radius:10px;min-height:150px;position:relative}.job-card:nth-child(3n+2){background:#efe5d7}.job-card:nth-child(3n){background:#dfe8dc}.job-card .job-icon{font-size:30px;display:block;margin:8px 0}.job-card small{font-size:8px;letter-spacing:1px}.job-card strong{display:block;font-size:15px;margin:7px 0}.job-card p{font-size:10px;margin:0}.job-card .job-badge{position:absolute;right:13px;top:15px;font-size:10px;letter-spacing:2px;color:#65804f}.setting-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #d6dec9;font-size:12px}.setting-row label{font-weight:700}.setting-row label small{font-weight:400;display:block;font-size:10px;margin-top:4px;color:#78826a}.setting-row select{border:1px solid #c4d0b3;background:#e9edda;border-radius:6px;padding:9px;color:var(--ink);max-width:155px}.setting-row input[type=range]{max-width:150px;accent-color:#4d7259}.setting-row input[type=checkbox]{accent-color:#4d7259;width:18px;height:18px}.controls-table{margin:18px 0;width:100%;font-size:11px;border-collapse:collapse}.controls-table td{padding:8px;border-bottom:1px solid #d6dec9}.controls-table th{padding:8px;text-align:left;font-size:9px;color:#6e845f}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.completion{text-align:center}.completion .big-spark{font-size:70px;color:#63885a}.completion .stats{display:flex;justify-content:center;gap:35px;margin:28px 0}.completion .stats strong{display:block;font-size:25px}.completion .stats span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#78826a}.completion .modal-actions{justify-content:center}.tool-guide{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.tool-guide>div{padding:12px;background:#e9eddd;border-radius:8px;font-size:11px}.tool-guide strong{display:block;margin-bottom:4px}.tool-guide small{font-size:10px;color:#6b7e5e;line-height:1.6}.tip-box{background:#e7eccf;padding:14px 18px;border-radius:8px;margin-top:15px;font-size:11px;line-height:1.7}#loading{position:absolute;inset:0;background:#eeeee1;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px}#loading .brand-icon{animation:rotate 6s linear infinite}#loading strong{font-size:18px;letter-spacing:-.5px}#loading>span:last-child{font-size:11px;color:#728366}#error{position:absolute;inset:0;background:#f1f1e5;z-index:101;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}#error h1{font-size:32px}#error p{max-width:450px;line-height:1.7;font-size:14px}@keyframes rotate{to{transform:rotate(360deg)}}
@media(min-width:1600px){.hero{top:26%}}@media(max-width:1050px){.hero{left:6%;top:25%}.hero h1{font-size:105px}.hero p{font-size:15px}.scene-label{left:auto;right:7%;bottom:18%}.home-footer .version-label{display:none}.status{display:none}.tool-status{width:140px}.objective-card{width:210px}.tool-button{width:69px}.desktop-hint{font-size:8px}.desktop-hint b{margin:0 4px}}
@media(max-width:700px){.topbar{top:max(18px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}.brand{font-size:17px;gap:8px}.brand small{font-size:6px;letter-spacing:1.7px}.brand-icon{width:36px;height:36px;font-size:33px}.header-actions{gap:6px}.icon-button{width:34px;height:34px;font-size:19px}#vignette{background:linear-gradient(90deg,rgba(243,240,226,.91),rgba(243,240,226,.55) 60%,transparent),linear-gradient(0deg,rgba(227,232,205,.3),transparent 40%)}.hero{top:20%;left:7%;max-width:90%}.hero h1{font-size:clamp(72px,20vw,118px);letter-spacing:-5px;margin:23px 0}.hero p{font-size:14px;line-height:1.65;margin-bottom:23px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-buttons{gap:8px}.primary,.secondary{padding:14px 18px;gap:15px;font-size:11px;min-height:48px}.hero-note{font-size:8px;margin-top:17px}.scene-label{bottom:14%;right:7%;font-size:7px}.scene-label strong{font-size:14px}.home-footer{bottom:max(22px,env(safe-area-inset-bottom));left:20px;right:20px;font-size:6px;letter-spacing:1px;flex-direction:column;gap:11px;align-items:flex-start}.home-footer>div{gap:15px;font-size:9px}.job-heading{top:83px;left:20px}.job-heading h2{font-size:21px}.job-heading p{font-size:9px;max-width:230px}.job-heading .eyebrow{font-size:8px}.objective-card{top:159px;left:20px;width:176px;padding:12px}.objective-head{font-size:6px;margin-bottom:8px}.objective-head button{font-size:9px}.object-row{font-size:9px;margin:9px 0;gap:6px}.object-row small{font-size:8px}.object-check{width:15px;height:15px}.overall-row{padding-top:8px;margin-top:9px;font-size:9px}.overall-row strong{font-size:20px}.tool-status{right:20px;bottom:145px;width:125px;padding:10px}.tool-status>strong{font-size:20px}.tool-status>span{font-size:6px}.toolbelt{width:calc(100% - 28px);gap:2px;padding:5px;bottom:max(34px,calc(env(safe-area-inset-bottom) + 14px));justify-content:space-between}.tool-button{width:calc(100% / 6);min-height:62px;padding:7px 2px}.tool-button .tool-symbol{font-size:23px;line-height:25px}.tool-button .tool-label{font-size:8px}.tool-key{display:none}.desktop-hint{font-size:6px;max-width:95vw;white-space:normal;width:95vw;text-align:center}.move-pad{width:90px;height:90px;left:25px;bottom:148px}.move-label{left:25px;width:90px;bottom:130px}.touch-clean{width:75px;height:75px;right:25px;bottom:151px}.look-label{right:20px;bottom:130px}.touch-device .tool-status{bottom:251px;right:20px;width:125px}.target-info strong{font-size:11px}.target-info span{font-size:9px;max-width:210px}.toast{top:75px;font-size:10px;width:max-content;max-width:80vw;padding:10px 15px}.modal-shell{padding:28px 21px}.modal-shell h2{font-size:30px}.job-grid{gap:8px;margin-top:18px}.job-card{padding:13px;min-height:140px}.job-card strong{font-size:13px}.job-card p{font-size:9px}.job-card .job-icon{font-size:25px}.controls-table{font-size:9px}.controls-table td{padding:7px 5px}.controls-table th{font-size:8px}.tool-guide>div{padding:10px}.completion .stats{gap:23px}}
@media(max-height:550px){.topbar{top:12px;left:20px;right:20px}.brand-icon{width:32px;height:32px;font-size:29px}.brand{font-size:15px}.brand small{font-size:5px}.hero{top:22%;left:7%}.hero h1{font-size:68px;letter-spacing:-4px;margin:15px 0}.hero p{font-size:11px;margin-bottom:13px}.hero .eyebrow{font-size:7px}.hero-note{display:none}.hero-buttons .primary,.hero-buttons .secondary{padding:9px 16px;min-height:38px;font-size:10px}.scene-label{bottom:21%;right:8%;left:auto}.home-footer{bottom:15px;flex-direction:row}.home-footer>span:first-child{font-size:6px}.home-footer>div{font-size:8px}.job-heading{top:62px;left:20px}.job-heading h2{font-size:19px;margin:5px 0}.job-heading p{display:none}.objective-card{top:120px;left:20px;width:170px;padding:10px}.object-row{font-size:9px;margin:7px 0}.objective-head{font-size:6px;margin-bottom:4px}.overall-row{padding-top:5px;margin-top:5px}.overall-row strong{font-size:17px}.toolbelt{bottom:16px;width:auto;min-width:370px;padding:4px}.tool-button{width:59px;min-height:53px}.tool-button .tool-symbol{font-size:20px;line-height:22px}.tool-button .tool-label{font-size:7px}.desktop-hint{display:none}.tool-status{right:20px;bottom:100px;width:125px}.touch-device .tool-status{right:20px;bottom:195px;width:115px}.move-pad{bottom:72px;left:20px;width:82px;height:82px}.move-label{bottom:55px;left:20px;width:82px}.touch-clean{bottom:85px;right:28px;width:72px;height:72px}.look-label{bottom:65px;right:20px}.target-info span{max-width:200px}.toast{top:59px}.capture{font-size:10px;padding:8px 15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-height:550px){.objective-card #objectives{display:none}.objective-card{width:160px}.objective-card .overall-row{margin-top:8px}.hero-note{display:none}}
.touch-controls{position:absolute;inset:0;pointer-events:none}.touch-controls .move-pad,.touch-controls .touch-clean{pointer-events:auto}
@media(max-width:700px) and (min-height:551px){.hero h1{font-size:clamp(60px,18vw,105px)}}
