@font-face{font-family:LocalUI;src:local('Segoe UI')}*{box-sizing:border-box} :root{--ink:#273c33;--purple:#9f4bba;--green:#31796a;--orange:#d8753e;--cream:#fffdf5;--muted:#70776c;--border:#dce1d2}body{margin:0;font-family:LocalUI,'Segoe UI',sans-serif;background:#ececdf;color:var(--ink);overflow:hidden}button,input{font:inherit}button{cursor:pointer;transition:background .18s,transform .18s}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible{outline:3px solid #d8753e;outline-offset:3px}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);z-index:30}#loading small{color:var(--muted)}.loading-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:19px;background:var(--purple);color:white;font-size:17px;font-weight:800;letter-spacing:1px;box-shadow:0 15px 40px #9f4bba30}.brand-icon{display:none}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-weight:800;font-size:23px;letter-spacing:-.8px}.brand-sub{display:inline;font-size:12px;font-weight:400;letter-spacing:1.5px;margin-left:7px}#home{position:fixed;inset:0;background:linear-gradient(90deg,#fffdf5 0%,#fffdf5f5 30%,#fffdf5bd 43%,#fffdf500 62%);pointer-events:none}#home button,#home input,#home a{pointer-events:auto}.home-header{height:108px;display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw}.header-right{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:1.4px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7c925a}.header-right .text-btn{margin-left:28px;background:#fffdf5bf;padding:13px 19px;border-radius:24px}.hero{padding:5.5vh 0 0 6.5vw;width:57vw}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;display:flex;align-items:center;gap:16px}.line{width:32px;height:1px;background:#adb69d}h1{font-family:Georgia,serif;font-size:clamp(48px,5.2vw,84px);line-height:1.07;letter-spacing:-3.8px;font-weight:400;margin:27px 0 23px}h1 em{font-weight:400;color:#496b54}.hero-copy{font-size:15px;line-height:1.85;color:#687263}.hero-facts{display:flex;gap:28px;margin:26px 0 29px}.hero-facts span{font-size:12px;color:#747c6d;border-right:1px solid #c8d0bc;padding-right:28px}.hero-facts span:last-child{border:0}.hero-facts b{font-size:24px;margin-right:6px;color:var(--ink);font-weight:500}#start-form label{font-size:9px;letter-spacing:1.7px;font-weight:700;display:block;margin-bottom:10px}.start-row{display:flex;gap:8px}input{border:1px solid #cad1c0;background:#ffffffa8;padding:16px;border-radius:8px;color:var(--ink);min-width:0;width:180px}.primary{background:var(--green);color:white;border:0;border-radius:8px;padding:16px 22px;font-weight:650;font-size:14px;display:flex;justify-content:space-between;gap:25px;align-items:center}.primary span{font-size:21px}.text-btn{border:0;background:none;color:var(--ink);font-size:12px;font-weight:600;padding:10px 0}.practice{margin:12px 0 0}.practice span{margin-left:15px}.local-note{font-size:10px;color:#7a846e;margin-top:20px}.local-note .status-dot{margin-right:7px}.scene-caption{position:absolute;bottom:15%;right:7%;display:flex;align-items:center;gap:17px;color:#fffdf5;text-shadow:0 1px 10px #263c2c40;font-size:10px;letter-spacing:2px;line-height:1.7}.scene-caption strong{font-size:14px;letter-spacing:2.5px}.caption-line{height:44px;width:2px;background:#e5ad6e}.scene-number{font-size:55px;font-family:Georgia;margin-left:30px;color:#fffdf594}.home-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:23px 4.5vw;font-size:9px;font-weight:600;letter-spacing:1px;background:#fffdf5eb;border-top:1px solid #d8ddcf}.dot-sep{margin:0 12px}.game-top{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.game-brand{display:flex;align-items:center;gap:12px;background:#fffdf5ed;border:1px solid #ffffffad;padding:14px 17px;border-radius:14px;box-shadow:0 10px 35px #102a3315}.game-brand small{font-size:8px;letter-spacing:2px;display:block;margin-bottom:4px}.game-brand strong{font-size:14px}.game-stats{display:flex;gap:26px;align-items:center;background:#fffdf5ed;border:1px solid #ffffffad;padding:12px 15px 12px 23px;border-radius:14px;box-shadow:0 10px 35px #102a3315;pointer-events:auto}.game-stats small{font-size:8px;letter-spacing:1.3px;display:block;color:var(--muted)}.game-stats b{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.icon-btn{width:34px;height:34px;border:1px solid #c8cebb;border-radius:50%;background:transparent;color:var(--ink);font-size:21px}.mission-panel{position:absolute;top:120px;left:24px;width:245px;padding:20px;background:#fffdf5e8;border-radius:12px;border:1px solid #ffffffa0}.mission-panel .eyebrow{font-size:8px;letter-spacing:1px;justify-content:space-between;gap:5px}.mission-panel .eyebrow span{font-size:7px;color:#788268}.mission-panel h2{font-size:21px;line-height:1.2;margin:13px 0 19px}.mission-row{display:flex;gap:10px;align-items:center;margin:15px 0;font-size:11px;color:#66745e}.mission-row .num{border:1px solid #c5cdba;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:9px;flex-shrink:0}.mission-row.done{color:#3b7151}.mission-row.done .num{background:#dfebd6;border:0}.mission-row.active .num{border-color:var(--orange);color:var(--orange)}#hint-btn{display:flex;justify-content:space-between;width:100%;font-size:10px;border-top:1px solid var(--border);padding-top:15px;margin-top:6px}#hint-btn span{font-size:9px;color:#a16b48}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:white;box-shadow:0 0 0 4px #ffffff25;pointer-events:none}#interact{position:absolute;left:50%;top:59%;transform:translateX(-50%);padding:12px 17px;background:#243b2dee;color:white;border:1px solid #ffffff60;border-radius:8px;display:flex;gap:12px;align-items:center;font-size:12px;pointer-events:none}kbd{display:inline-block;padding:3px 6px;border:1px solid currentColor;border-radius:4px;font-size:10px;font-family:inherit;opacity:.85}#carry{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);background:#fff1dbe8;border:1px solid #c98e5a;border-radius:8px;padding:13px 20px;font-size:11px;white-space:nowrap}.game-bottom{position:absolute;bottom:23px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.control-strip{display:flex;gap:18px;align-items:center;background:#fffdf5ee;padding:13px 18px;border-radius:10px;font-size:10px}.control-strip kbd{margin-right:4px}.control-strip button{pointer-events:auto;font-size:10px;border:0;background:transparent;color:var(--green);text-decoration:underline}.map-wrap{background:#fffdf5ef;padding:10px;border-radius:12px;display:flex;flex-direction:column;align-items:center}.map-wrap canvas{width:150px;height:120px}.map-wrap small{font-size:7px;letter-spacing:1px}.map-wrap small span{color:var(--green)}.map-wrap .orange{color:var(--orange)}#toast{position:fixed;top:105px;left:50%;transform:translateX(-50%);background:#263c2cf5;color:#fff9e9;border:1px solid #a8b997;padding:15px 24px;border-radius:10px;max-width:470px;text-align:center;z-index:25;font-size:13px;box-shadow:0 10px 30px #18291e20;pointer-events:none}dialog{border:1px solid #ffffff;border-radius:20px;background:var(--cream);color:var(--ink);padding:34px;width:min(660px,92vw);max-height:90vh;box-shadow:0 25px 120px #18281d60}dialog::backdrop{background:#233c2b75;backdrop-filter:blur(7px)}dialog h2{font-family:Georgia,serif;font-size:38px;font-weight:400;letter-spacing:-1px;margin:20px 0 15px}dialog p{font-size:13px;line-height:1.7;color:#687660}.modal-top{display:flex;justify-content:space-between;align-items:center}.pill{border:1px solid #c3cdb7;border-radius:30px;font-size:9px;letter-spacing:1px;padding:8px 12px}.wide{width:100%;margin-top:14px;justify-content:center}.secondary{border:1px solid #c1cdb5;background:transparent;color:var(--green);border-radius:8px;padding:13px;font-size:13px}.tutorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.tutorial-grid div{border-top:1px solid #d1d8c7;padding-top:14px}.tutorial-grid b{color:var(--orange);font-size:12px}.tutorial-grid strong{display:block;margin:10px 0;font-size:14px}.tutorial-grid span{font-size:11px;color:#758064;line-height:1.7;display:block}.fine{font-size:10px!important;line-height:1.6!important;color:#7b866f!important}#inspection{width:min(890px,94vw)}.inspection-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;margin-top:10px}.object-side{background:radial-gradient(ellipse,#e6eadb,#f1f0e3);border-radius:12px;min-height:330px;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center}.object-side canvas{width:100%;height:265px;touch-action:none}.object-tip{font-size:9px;color:#79866c;margin:0 0 15px}#object-switch{display:flex;gap:7px;padding:0 10px 18px}#object-switch button{border:1px solid #acbba0;border-radius:6px;background:#fbfaf2;padding:8px;font-size:10px;color:var(--green)}#object-switch button.selected{background:var(--green);color:white}.action-side h2{font-size:29px;margin:12px 0}.action-side p{font-size:12px;margin:10px 0}.label-card{background:#fffdf5;border:1px solid #d5dccb;border-left:3px solid var(--orange);border-radius:5px;padding:13px 16px;font-size:12px;line-height:1.7}.label-card small{display:block;font-size:8px;letter-spacing:1.7px;color:#a3764c;margin-bottom:5px}.label-card strong{display:block}.action-label{font-size:10px;color:#65755b;display:block;margin:16px 0 8px}.stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #c5cdba;border-radius:8px;padding:8px;margin-top:12px}.stepper button{width:38px;height:38px;border:0;background:#e0e8d5;color:var(--green);border-radius:5px;font-size:22px}.stepper output{font-size:25px;font-weight:650}.stepper small{font-size:12px}.action-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}.action-options button{flex:1;min-width:80px;border:1px solid #c6cfb9;background:white;border-radius:7px;padding:12px 8px;font-size:11px;color:var(--green)}.action-options button.selected{background:#deebd2;border-color:var(--green)}#feedback{font-size:12px;line-height:1.6;margin-top:13px;border-radius:6px;padding:10px 12px;background:#f8dfca;color:#774021}#feedback.good{background:#e2efd8;color:#2f5937}.result-score{display:flex;align-items:baseline;gap:12px}.result-score>span{font-size:70px;font-weight:600;letter-spacing:-4px}.result-score small{font-size:10px;letter-spacing:2px;color:#7b866f}#result-lessons{display:grid;gap:8px;margin:19px 0}.lesson-row{font-size:11px;line-height:1.5;border-bottom:1px solid #dce3d1;padding-bottom:8px}.lesson-row b{margin-right:9px;color:#497043}#score-rows{margin:23px 0}.score-row{display:grid;grid-template-columns:30px 1fr 65px;gap:8px;padding:13px 0;border-bottom:1px solid #d9e0cd;font-size:13px}.score-row small{display:block;font-size:9px;color:#7c876b;margin-top:3px}.score-row>b:last-child{text-align:right}.empty-state{padding:30px 10px;text-align:center;color:#7c886d}.danger b{color:#bd4f35;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.5}}#touch-controls{display:none;position:absolute;bottom:25px;left:24px;text-align:center}#touch-controls button{width:43px;height:43px;background:#fffdf5df;border:1px solid #c9d2bc;border-radius:8px;color:var(--ink)}@media(max-height:760px){.hero{padding-top:2vh}h1{font-size:clamp(44px,5vw,70px);margin:20px 0}.hero-facts{margin:19px 0}.home-header{height:85px}.hero-copy{font-size:13px}.local-note{margin-top:9px}.mission-panel{top:108px;padding:15px}.mission-row{margin:12px 0}dialog{padding:25px}.inspection-grid{gap:20px}.object-side{min-height:270px}}@media(max-width:850px){.header-right{font-size:8px}.header-right .text-btn{margin-left:0}.hero{width:70vw;padding-left:6vw}h1{font-size:56px}.home-footer span:nth-child(2){display:none}.mission-panel{width:205px}.mission-panel h2{font-size:18px}.game-brand strong{font-size:11px}.game-stats{gap:14px}.game-brand .brand-icon{width:34px;height:34px}.control-strip{gap:10px}.control-strip span:nth-child(2){display:none}}@media(max-width:600px){#home{overflow:auto;background:linear-gradient(90deg,#fffdf5f7,#fffdf5d0 60%,#fffdf510)}.home-header{padding:0 6vw;height:85px}.header-right{font-size:0;gap:0}.header-right .status-dot{display:none}.header-right .text-btn{font-size:11px}.hero{width:95vw;padding-top:20px;padding-bottom:95px}h1{font-size:53px;letter-spacing:-2.6px}.hero-copy{font-size:13px}.hero .eyebrow{font-size:8px;gap:9px}.hero-facts{margin:24px 0}.start-row{flex-wrap:wrap}.start-row input{width:42%}.start-row button{padding:15px}.scene-caption{display:none}.home-footer{position:fixed;font-size:7px;padding:15px 6vw}.home-footer span:last-child{display:none}.game-top{top:12px;left:12px;right:12px}.game-brand{padding:8px}.game-brand>div{display:block}.game-brand small{font-size:8px;letter-spacing:1px}.game-brand strong{display:none}.game-stats{padding:8px 12px;gap:16px}.game-stats b{font-size:19px}.mission-panel{top:82px;left:12px;width:174px;padding:12px}.mission-panel h2{display:none}.mission-panel .eyebrow span{display:none}.mission-row{font-size:9px;margin:11px 0;gap:7px}.mission-row .num{width:19px;height:19px;font-size:8px}#hint-btn{font-size:9px}.game-bottom{bottom:16px;right:12px}.control-strip{display:none}.map-wrap{margin-left:auto;padding:4px}.map-wrap canvas{width:100px;height:80px}.map-wrap small{font-size:6px}#touch-controls{display:block}#carry{font-size:9px;max-width:95vw;white-space:normal;bottom:130px;width:90%}#interact{font-size:10px;min-width:200px;justify-content:center;top:65%}.inspection-grid{grid-template-columns:1fr;gap:10px}.object-side{min-height:140px}.object-side canvas{height:140px}.object-tip{position:absolute;bottom:5px;right:10px;margin:0;font-size:8px}#object-switch{padding:0 0 8px;position:absolute;bottom:2px;left:6px}.action-side h2{font-size:25px;margin:6px 0}.action-side p{font-size:11px}.label-card{font-size:11px;padding:9px 12px}dialog{padding:20px;border-radius:14px}dialog h2{font-size:31px}.tutorial-grid{gap:10px}.tutorial-grid span{font-size:10px}#toast{width:85%;top:80px;font-size:11px}.eyebrow{font-size:8px}}

/* The arcade entry keeps its purple accent; the simulation uses natural cream and green. */
#home{background:linear-gradient(90deg,#faf9fc 0%,#faf9fcf5 30%,#faf9fcbd 43%,#faf9fc00 62%)}#home .primary{background:#9f4bba}#home h1 em{color:#87409f}#home .status-dot{background:#9f4bba}#home .hero-copy,#home .hero-facts span{color:#6d6874}#home .home-footer{background:#faf9fceb;border-color:#e9e4ed}#home .header-right .text-btn{background:#faf9fcc9}#loading{background:#faf9fc}@media(max-width:600px){#home{background:linear-gradient(90deg,#faf9fcf7,#faf9fcd0 60%,#faf9fc10)}}

/* Keep the player form reachable on exhibition laptops and phones. */
#home{display:flex;flex-direction:column;overflow:auto;pointer-events:auto}
#home .home-header{flex-shrink:0}
#home .hero{flex:1;padding-bottom:30px}
#home .home-footer{position:relative;flex-shrink:0;margin-top:30px}
#home select,#home label{pointer-events:auto}
