@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#233d34;background:#dcefe9;color-scheme:light}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #e5825e;outline-offset:5px}a{color:inherit}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}#lab-world{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none;user-select:none}header{position:fixed;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:30px 4.7vw;pointer-events:none}.wordmark{font:800 29px 'Outfit',sans-serif;letter-spacing:-1.7px;text-decoration:none;pointer-events:auto}.wordmark span{color:#cf674a;margin-left:4px}.top-right{display:flex;align-items:center;gap:24px}.test-label{font-size:10px;letter-spacing:1.9px;font-weight:700;display:flex;align-items:center;gap:8px}.test-label i{height:6px;width:6px;border-radius:50%;background:#60937d}#settings-toggle{border:1px solid #274b3626;background:#ffffff9c;border-radius:50%;width:43px;height:43px;font-size:20px;pointer-events:auto;backdrop-filter:blur(12px)}#intro{position:fixed;z-index:2;left:8vw;top:21vh;width:min(39vw,510px)}.edition,.tiny-label{font-size:10px;letter-spacing:2px;font-weight:700;color:#688578}.edition:before{content:'';display:inline-block;width:27px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}h1{font-family:'Outfit',sans-serif;font-size:clamp(38px,5vw,76px);letter-spacing:-3px;line-height:1.04;font-weight:600;margin:23px 0}em{font-style:normal;color:#c36e4c}#intro p{font-size:14px;line-height:1.8;color:#60786b;margin:0 0 25px}.primary{border:0;background:#264d3e;color:#fff8e9;border-radius:13px;padding:19px 23px;min-width:220px;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:0 12px 24px #284b3b20;font-weight:600}.primary:hover{background:#36644d;transform:translateY(-1px)}.intro-links{display:flex;gap:23px;align-items:center;margin-top:21px;font-size:11px}.intro-links a{text-underline-offset:4px}.intro-links button{border:0;background:none;padding:0;font-size:11px}.character-card{margin-top:37px;border-top:1px solid #3a5b3a27;padding-top:19px;width:225px}.tiny-label{font-size:8px;letter-spacing:1.5px}.character-card strong{display:block;font-family:Outfit,sans-serif;font-weight:500;font-size:25px;letter-spacing:-.7px;margin:4px 0 11px}.character-card strong span{font:10px 'DM Sans',sans-serif;color:#7e9684;margin-left:10px}.swatches{display:flex;gap:12px}.swatches button{width:22px;height:22px;background:var(--swatch);border:2px solid #ffffffcf;border-radius:50%;outline:1px solid transparent;outline-offset:3px}.swatches button[aria-pressed=true]{outline-color:#718c74}#outfit{margin-top:16px;border:0;border-radius:7px;background:#fff8;padding:7px 9px;font-size:10px}.world-note{position:fixed;right:4.7vw;bottom:10vh;z-index:1;text-align:right;pointer-events:none}.world-note>span{font-size:9px;letter-spacing:2px;color:#667c65}.world-note strong{display:block;font:500 26px/1.2 Outfit,sans-serif;letter-spacing:-.7px;margin:10px 0}.world-note small{color:#718675;font-size:10px}#loading{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#e4eee5e8;backdrop-filter:blur(10px)}#loading b{font-size:14px}#loading small{font-size:11px;color:#7a8e7f}.loader{border:3px solid #bfd0bd;border-top-color:#ce7a55;border-radius:50%;width:32px;height:32px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#hud{position:fixed;z-index:4;top:max(98px,env(safe-area-inset-top));left:4.7vw;right:4.7vw;display:flex;gap:25px;align-items:center;pointer-events:none}#hud button{pointer-events:auto;border:0;width:42px;height:42px;border-radius:50%;background:#ffffffe0;font-size:20px}.progress{width:200px}.progress>div:first-child{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-bottom:8px}.progress-track{background:#fff8;height:5px;border-radius:5px;overflow:hidden}.progress-track i{display:block;height:100%;background:#c97d4e;width:0;transition:width .12s}#timer{font:500 14px Outfit,sans-serif;background:#ffffffa6;padding:8px 12px;border-radius:20px}#help-line{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:4.7vw;right:4.7vw;display:flex;gap:25px;font-size:10px;color:#566f5e;pointer-events:none}#toast{position:fixed;top:155px;left:50%;transform:translateX(-50%) translateY(-10px);z-index:6;background:#fff9e9ee;padding:13px 20px;border-radius:30px;box-shadow:0 8px 30px #365c4020;font-size:13px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%)}#touch-controls{position:fixed;inset:0;z-index:5;pointer-events:none}#stick{position:absolute;left:max(28px,env(safe-area-inset-left));bottom:max(34px,calc(env(safe-area-inset-bottom) + 18px));width:114px;height:114px;border-radius:50%;border:1px solid #fff9;background:#ffffff24;backdrop-filter:blur(5px);pointer-events:auto;touch-action:none;user-select:none}#stick-thumb{position:absolute;left:35px;top:35px;width:44px;height:44px;border-radius:50%;background:#faf9eaca;border:1px solid #c5d0b788;box-shadow:0 5px 15px #344e3526;pointer-events:none}.touch-actions{position:absolute;right:max(26px,env(safe-area-inset-right));bottom:max(38px,calc(env(safe-area-inset-bottom) + 18px));display:flex;gap:16px;align-items:end}.touch-actions button{width:48px;height:48px;pointer-events:auto;touch-action:none;border:1px solid #fff9;border-radius:50%;background:#fff9ddce;font-size:23px}.touch-actions #jump-touch{width:70px;height:70px;background:#2d5947dd;color:white;font-size:36px}#finish{position:fixed;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);background:#f7f5e9f2;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:25px;padding:42px;width:min(90vw,420px);box-shadow:0 24px 100px #355b3733}#finish h2{font:600 48px/1.05 Outfit,sans-serif;letter-spacing:-2px;margin:25px 0}#finish p{font-size:13px;color:#667e69}#finish-home{display:block;border:0;background:none;margin:18px auto 0}dialog{border:1px solid white;border-radius:20px;background:#f6f5eb;padding:28px;width:min(90vw,390px);box-shadow:0 20px 100px #163b3833}dialog::backdrop{background:#244e3c55;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font:500 24px Outfit,sans-serif;margin:0}.dialog-head button{background:none;border:0;font-size:30px}dialog label{display:flex;justify-content:space-between;align-items:center;margin:25px 0;font-size:13px}dialog select{border:1px solid #bac9b6;background:#fff9e9;border-radius:8px;padding:10px;max-width:170px}dialog .check{justify-content:flex-start;gap:9px}dialog p{font-size:12px;line-height:1.7;color:#647f6a}dialog a{font-size:12px}#failure{position:fixed;z-index:20;inset:20vh 8vw;background:#fff7e9;border-radius:20px;padding:35px}#failure a{margin-left:20px}body.playing #intro,body.playing #world-note{display:none}body.playing header .test-label{opacity:.6}
@media(max-width:768px){header{padding:19px 6vw}.wordmark{font-size:25px}.test-label{font-size:8px;letter-spacing:1px}.top-right{gap:13px}#intro{top:15vh;left:7vw;width:82vw;pointer-events:none}#intro button,#intro a{pointer-events:auto}h1{font-size:clamp(34px,8vw,48px);letter-spacing:-1.8px;margin:16px 0}.edition{font-size:8px;letter-spacing:1px}#intro p{font-size:12px;line-height:1.6;margin-bottom:19px;max-width:190px}.primary{padding:15px 18px;min-width:190px;font-size:12px;width:fit-content}.intro-links{font-size:10px;gap:20px;margin-top:17px}.intro-links button{font-size:10px}.character-card{position:fixed;bottom:max(47px,env(safe-area-inset-bottom));left:7vw;width:173px;background:#faf9e6b0;backdrop-filter:blur(10px);padding:15px;border:1px solid #fffa;border-radius:15px}.character-card strong{font-size:21px;margin-bottom:9px}.world-note{right:7vw;bottom:6vh}.world-note strong{font-size:17px}.world-note>span{font-size:7px;letter-spacing:1px}.world-note small{font-size:8px;display:block;max-width:110px}#help-line{display:none}#hud{top:84px;gap:14px}.progress{width:min(170px,40vw)}#timer{font-size:12px}#hud button{width:35px;height:35px}#toast{top:136px;font-size:11px;max-width:80vw;white-space:nowrap}#settings-toggle{width:37px;height:37px;font-size:17px}}
@media(max-height:500px){header{padding:14px 4vw}#intro{top:23vh;left:6vw;width:50vw}h1{font-size:38px;margin:12px 0}#intro p{display:none}.character-card{position:fixed;left:auto;right:4vw;bottom:25px;margin:0;background:#fff9e8c0;backdrop-filter:blur(12px);border-radius:14px;padding:13px;width:158px}.character-card strong{font-size:20px}.world-note{display:none}#help-line{display:none}.intro-links{margin-top:12px}#hud{top:70px}.test-label{font-size:8px}#stick{height:94px;width:94px;bottom:22px}#stick-thumb{left:25px;top:25px}.touch-actions{bottom:25px}#finish{padding:25px}#finish h2{font-size:32px;margin:13px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
