:root{color:#eee9d9;font-synthesis:none;--text-scale:1;--cream:#eee9d9;--muted:#9baea2;--gold:#d0b382;--line:#e2dec329;font-family:Arial,Helvetica,sans-serif;font-size:calc(14px * var(--text-scale));background:#192e2b}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:11px 16px;transition:background .15s,transform .15s;display:inline-flex}button:hover:not(:disabled){background:#e1e0c517;border-color:#b9bda3}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.38;cursor:default}button:focus-visible,input:focus-visible,canvas:focus-visible{outline-offset:4px;outline:3px solid #f4d199}svg{flex:none;width:21px;height:21px}button svg{width:19px;height:19px}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400}#app{background:radial-gradient(at 66% 38%,#455846 0%,#2c4237 35%,#192e2b 73%);width:100%;height:100dvh;min-height:560px;position:relative;overflow:hidden}#scene{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.topbar{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;padding:29px 38px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.wordmark{letter-spacing:3.6px;align-items:center;gap:13px;font-size:18px;font-weight:600;display:flex}.wordmark>svg{color:#c6b98c;width:35px;height:35px}.brand-sub{letter-spacing:6px;margin-top:5px;font-size:9px;display:block}.topbar nav{align-items:center;gap:14px;display:flex}.topbar nav button{color:#d4dbca;border:none;font-size:13px}.topbar nav .icon-button{border:1px solid var(--line);border-radius:50%;margin-left:6px}.objective{pointer-events:none;z-index:1;width:270px;position:absolute;top:165px;left:52px}.eyebrow{letter-spacing:2.4px;color:#d0b784;font-size:10px;font-weight:600;line-height:1.8}.eyebrow span{color:#90a092;white-space:nowrap;letter-spacing:1px}.objective h1{letter-spacing:-1.1px;margin:15px 0 19px;font-size:44px;line-height:1.09}.description{color:#aebbae;max-width:255px;font-size:13px;line-height:1.85}.steps{flex-direction:column;gap:24px;margin:30px 0 22px;padding:0;list-style:none;display:flex}.steps li{color:#9aa89a;align-items:center;gap:13px;font-size:12px;line-height:1.7;display:flex}.steps li>span{border:1px solid #55675c;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:11px;display:flex}.steps small{color:#899b8d;font-size:10px;display:block}.steps .current{color:#e1d4ae}.steps .current>span{color:#28362b;background:#d2b685;border:0}.steps .complete>span{color:#cfbd8c;border-color:#8a9474}.steps svg{width:15px}.progress-track{background:#4c5c49;width:222px;height:3px}.progress-track>div{background:#d5b888;height:100%;transition:width .12s}.side-note{color:#8f9f8b;align-items:center;gap:8px;margin-top:18px;font-size:10px;display:flex}.side-note svg{width:14px;height:14px}.scene-caption{color:#aaba9c;white-space:nowrap;pointer-events:none;align-items:center;gap:12px;font:italic 15px Georgia,serif;display:flex;position:absolute;bottom:184px;left:57%;transform:translate(-50%)}.tiny-rule{background:#91a086;width:26px;height:1px;display:block}.view-controls{border:1px solid var(--line);background:#20332cc9;border-radius:30px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:177px;right:37px}.icon-button{border:none;width:48px;min-width:48px;height:48px;padding:0}.view-controls .icon-button{width:40px;min-width:40px}.view-controls i{background:var(--line);width:1px;height:20px;margin:0 3px;display:block}.tool-dock{z-index:2;background:#21352ef2;border:1px solid #b5b59a38;border-radius:14px;align-items:center;gap:18px;max-width:calc(100% - 48px);min-height:83px;padding:14px 18px;display:flex;position:absolute;bottom:73px;left:50%;transform:translate(-50%);box-shadow:0 12px 45px #071c1b55}.selected-tool,.tool-caption{align-items:center;gap:14px;min-width:180px;display:flex}.selected-tool>svg{color:#d2b685;background:#d2b68514;border:1px solid #d2b68544;border-radius:9px;width:42px;height:42px;padding:8px}.tool-caption{flex-direction:column;align-items:flex-start;gap:5px}.tool-caption:has(>svg){flex-direction:row;align-items:center}.tool-caption:has(>svg)>svg{color:#d2b685;width:30px;height:30px}.tool-dock b{font-size:12px;font-weight:500}.tool-dock small{color:#98aa98;max-width:230px;margin-top:5px;font-size:10px;line-height:1.6;display:block}.tool-dock .quiet{white-space:nowrap;font-size:11px}.dock-divider{background:var(--line);width:1px;height:38px}.primary{color:#fffdf3;white-space:nowrap;background:#238bba;border-color:#97d8ee;font-weight:600}.primary:hover:not(:disabled){background:#147fae}.part,.target{white-space:nowrap;font-size:12px}.selected{color:#edd2a4;background:#d4bd8c1a;border-color:#ccb788}.target{border-style:dashed}.dial{color:#d4bd8c;transform:rotate(var(--angle));text-align:center;min-width:40px;font-size:36px}.gauge{text-align:center;min-width:60px}.gauge b{font-size:28px}.gauge small{font-size:9px}.pipe-options{gap:7px;display:flex}.pipe-options button{padding:10px;font-size:11px}.state-label{white-space:nowrap;font-size:11px}footer{color:#9dad9d;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:18px;left:38px;right:38px}footer button{color:#c9cbb4;border:none;min-height:48px;padding:4px;font-size:11px}.footer-note{letter-spacing:2.3px;color:#6e8676;font-size:8px}#save-state:before{content:"";background:#a0a986;border-radius:50%;width:4px;height:4px;margin-right:8px;display:inline-block}dialog{color:#2a4037;--line:#c6c8b5;--muted:#637465;background:#f0ecdf;border:1px solid #c6c5aa;border-radius:18px;width:650px;max-width:min(650px,100vw - 32px);max-height:calc(100dvh - 48px);padding:30px;overflow:auto;box-shadow:0 30px 120px #05151180}dialog.wide{width:1100px;max-width:calc(100vw - 48px)}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0b201bd4}dialog button{border-color:#bfc4b1}dialog button:hover:not(:disabled){background:#dce0cd}dialog .selected{color:#294438;background:#d7dec8;border-color:#7b9175}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.dialog-heading h2{margin-top:9px;font-size:32px;line-height:1.2}.dialog-heading .eyebrow{color:#75866a;font-size:9px}.dialog-heading .icon-button{background:#e2e4d5;border-radius:50%;flex:none}.dialog-intro{color:#627161;margin-bottom:22px;font-size:14px;line-height:1.8}dialog p{margin:12px 0;line-height:1.8}dialog h3{margin:12px 0;font-size:17px}.dialog-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 5px;display:flex}.dialog-actions>span,.muted{color:#6d7868;font-size:12px}.collection-tabs{gap:7px;padding:3px 0 16px;display:flex;overflow-x:auto}.collection-tabs button{flex:none;padding:10px 14px;font-size:11px}.collection-heading{justify-content:space-between;align-items:center;margin:6px 0 17px;display:flex}.collection-heading span{color:#6f7b6a;font-size:11px}.job-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.job-card{text-align:left;background:#e6e6d9;border:1px solid #c8cdbb;padding:0;display:block;position:relative;overflow:hidden}.job-card>svg{width:15px;position:absolute;bottom:15px;right:12px}.job-card:disabled{opacity:.5}.mini-art{background:#ccd4bb;justify-content:center;align-items:center;height:110px;display:flex;position:relative}.mini-art span{filter:drop-shadow(8px 12px 3px #40574530);display:block;transform:rotate(-10deg)}.mini-art svg{stroke-width:.7px;color:#456959;width:65px;height:65px}.mini-art b{opacity:.65;font-size:10px;position:absolute;top:12px;left:12px}.theme-1{background:#ccd7b2!important}.theme-2{background:#d5c6a1!important}.theme-3{background:#bfd0cd!important}.theme-4{background:#bbcbb3!important}.theme-5{background:#cbd6c9!important}.theme-6{background:#dcc3aa!important}.theme-7{background:#b8c9ce!important}.theme-8{background:#bec4d6!important}.theme-9{background:#d5cda9!important}.card-text{min-height:105px;padding:14px}.card-text small{letter-spacing:1px;color:#79866c;font-size:8px}.card-text h4{margin-top:8px;padding-right:4px;font:17px/1.2 Georgia,serif}.card-text p{color:#73806b;margin:10px 0 0;font-size:9px}.notice{background:#e2dbc6;border-radius:8px;padding:12px}.gallery-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.display-slot{background:linear-gradient(#e0e1d2 75%,#b9a789 76%,#cbb998 81%,#dadbca 82%);flex-direction:column;gap:12px;min-height:190px;padding:22px 12px 35px;display:flex}.display-slot>span>svg{color:#74856e;stroke-width:1px;width:55px;height:55px}.display-slot small{letter-spacing:1.5px;font-size:8px}.display-slot b{font:16px Georgia,serif}.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.shop-grid article h3{font-size:14px;line-height:1.5}.shop-grid article p{font-size:12px}.cosmetic-sample,.large-swatch{background:#c8d0ba;border-radius:9px;justify-content:center;align-items:center;height:105px;display:flex}.cosmetic-sample svg,.large-swatch svg{stroke-width:.7px;color:#687d5f;width:65px;height:65px}.large-swatch{height:180px}.archive{flex-wrap:wrap;gap:10px;display:flex}.result-emblem{background:#dbe1cb;border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;margin:18px auto;display:flex}.result-emblem svg{color:#6e8758;width:42px;height:42px}.result-title{text-align:center;font:24px Georgia,serif}.reward-row{border-block:1px solid #ccd1bd;flex-wrap:wrap;justify-content:center;gap:20px;margin:18px 0;padding:17px 0;display:flex}.reward-row span{align-items:center;gap:7px;font-size:11px;display:flex}.reward-row svg{color:#7b8c5e;width:17px;height:17px}.settings label{border-bottom:1px solid #ced2c1;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;display:flex}.settings label small{color:#76816b;margin-top:6px;font-size:11px;display:block}.settings input[type=checkbox]{accent-color:#5e7757;width:24px;height:24px}.settings input[type=range]{accent-color:#5e7757;width:140px}.toast{color:#304131;z-index:5;text-align:center;background:#e0d8b9;border-radius:25px;padding:14px 22px;font-size:12px;position:absolute;top:105px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #12251f66}.boot{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100dvh;padding:30px;display:flex}.boot h1{font-size:40px}.boot p{max-width:550px;line-height:1.8}.boot button{color:#263d31;background:#d4bd8c}@media (min-width:1700px){.objective{top:24vh;left:5vw}.objective h1{font-size:50px}.scene-caption,.view-controls{bottom:22vh}.tool-dock{bottom:9vh}}@media (max-width:1100px){.objective{width:220px;top:125px;left:28px}.objective h1{font-size:35px}.description{font-size:12px}.steps{gap:17px;margin-top:20px}.scene-caption{display:none}.tool-dock{gap:10px;padding:10px 12px}.tool-dock .quiet{padding:8px}.view-controls{right:23px}.job-grid,.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){#app{min-height:600px}.topbar{padding:17px 19px}.wordmark{letter-spacing:2.2px;gap:8px;font-size:14px}.wordmark>svg{width:27px;height:27px}.brand-sub{letter-spacing:4px;font-size:7px}.topbar nav{gap:3px}.topbar nav button{width:44px;min-width:44px;padding:10px}.topbar nav button span{display:none}.topbar nav .icon-button{width:44px;height:44px;margin:0}.objective{width:calc(100% - 46px);top:89px;left:23px}.objective h1{letter-spacing:-.5px;max-width:100%;margin:9px 0 8px;font-size:32px}.objective .description{max-width:360px;font-size:11px;line-height:1.7}.objective .eyebrow{letter-spacing:1.8px;font-size:8px}.steps{flex-direction:row;align-items:center;gap:13px;margin:15px 0 11px}.steps li{flex:1;gap:6px;font-size:9px;line-height:1.4}.steps li>span{flex:none;width:22px;height:22px;font-size:9px}.steps small{display:none}.progress-track{width:100%;height:2px}.side-note{display:none}.tool-dock{flex-wrap:wrap;justify-content:space-between;gap:8px;width:calc(100% - 28px);max-width:calc(100% - 28px);min-height:82px;padding:11px;bottom:73px}.selected-tool{gap:8px;min-width:145px}.selected-tool>svg{width:37px;height:37px}.selected-tool small{max-width:135px;font-size:9px}.tool-dock b{font-size:11px}.dock-divider{display:none}.tool-dock .quiet{min-height:48px;font-size:10px}.tool-dock>.quiet:last-child{display:none}.tool-caption{min-width:120px;max-width:180px}.tool-caption small{font-size:9px}.tool-dock button{min-height:48px;padding:10px;font-size:11px}.tool-dock .part,.tool-dock .target{padding:7px;font-size:10px}.tool-dock .part svg,.tool-dock .target svg{width:15px}.tool-dock:has(.part) .tool-caption{flex-direction:row;align-items:center;gap:10px;width:100%;max-width:none}.tool-dock:has(.pipe-options) .tool-caption{max-width:none}.pipe-options{flex-wrap:wrap;gap:4px}.pipe-options button{flex:1;min-width:40%}.view-controls{gap:0;padding:1px;bottom:166px;right:14px}.view-controls .icon-button{width:42px;min-width:42px;height:40px;min-height:40px}footer{align-items:center;font-size:8px;bottom:18px;left:19px;right:19px}.footer-note{display:none}footer button{min-height:48px;font-size:10px}.toast{width:max-content;max-width:90%;font-size:11px;top:260px}dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:21px}dialog.wide{max-width:calc(100vw - 20px)}.dialog-heading{gap:9px}.dialog-heading h2{font-size:26px}.dialog-heading .icon-button{width:48px;min-width:48px}.job-grid,.gallery-slots,.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-art{height:90px}.card-text{padding:11px}.card-text h4{font-size:16px}.display-slot{min-height:180px}.settings label{font-size:12px}.settings input[type=range]{width:105px}}@media (max-height:650px) and (min-width:701px){.topbar{padding:15px 28px}.objective{top:100px}.objective h1{font-size:30px}.objective .description{display:none}.steps{gap:12px}.side-note{display:none}.tool-dock{bottom:52px}.view-controls{bottom:149px}footer{bottom:7px}.scene-caption{display:none}}.reduced-motion *{scroll-behavior:auto!important;transition:none!important}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}dialog.preview{width:340px;max-width:calc(100vw - 30px);margin:100px 28px auto auto}dialog.preview::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#10271a20}dialog.preview .large-swatch{height:95px}dialog.preview .dialog-heading h2{font-size:23px}@media (max-width:700px){dialog.preview{width:calc(100vw - 24px);max-height:48dvh;margin:auto 12px 12px}dialog.preview .large-swatch{display:none}}#brush-cursor,#hint-marker{pointer-events:none;z-index:3;background:#e7d3a81a;border:1px solid #e7d3a8;border-radius:50%;width:36px;height:36px;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #1f342c25}#brush-cursor[hidden],#hint-marker[hidden]{display:none}.mini-art img{object-fit:cover;width:100%;height:100%}.mini-art b{background:#f0ecdfcc;border-radius:4px;padding:4px 6px}.display-slot>img{object-fit:cover;border-radius:5px;width:100%;height:100px}.display-slot{padding-top:12px}.job-card:disabled .mini-art img{filter:saturate(.45)}.description{font-size:calc(13px * var(--text-scale))}.steps li,.tool-dock b{font-size:calc(12px * var(--text-scale))}.tool-dock small{font-size:calc(10px * var(--text-scale))}button{font-size:calc(12px * var(--text-scale))}.objective{pointer-events:auto;scrollbar-width:thin;max-height:calc(100dvh - 220px);overflow:auto}#app{min-height:100dvh}.tool-dock{flex-wrap:wrap}.view-controls .icon-button{width:48px;min-width:48px;min-height:48px}.topbar nav .icon-button{min-width:48px;min-height:48px}dialog p{font-size:calc(13px * var(--text-scale))}@media (max-width:700px){.description{font-size:calc(11px * var(--text-scale))}.steps li{font-size:calc(9px * var(--text-scale))}.objective{max-height:26vh}.tool-dock small{font-size:calc(9px * var(--text-scale))}.view-controls{bottom:175px}.view-controls .icon-button{width:48px;min-width:48px;min-height:48px}.topbar nav button{width:48px;min-width:48px}.tool-dock:has(.part) .tool-caption{flex-wrap:wrap}}@media (max-width:350px){.wordmark>svg{display:none}.wordmark{font-size:11px}.topbar{padding:12px}.topbar nav button{padding:8px}.objective{width:calc(100% - 32px);left:16px}.objective h1{font-size:26px}.steps{gap:5px}.steps li{font-size:8px}.view-controls{justify-content:center;left:14px;right:14px}.tool-dock{bottom:69px}.tool-dock .selected-tool{min-width:120px}.selected-tool small{max-width:100px}.tool-dock .part,.tool-dock .target{white-space:normal;flex:1}.job-grid,.shop-grid{grid-template-columns:1fr}.footer-note{display:none}}@media (max-height:480px) and (min-width:701px){.topbar{padding:6px 20px}.objective{width:200px;max-height:calc(100dvh - 155px);top:68px;left:24px}.objective h1{font-size:25px}.objective .description,.objective .side-note{display:none}.steps{gap:7px;margin:12px 0}.steps small{display:none}.steps li{font-size:10px}.tool-dock{min-height:62px;padding:7px 12px;bottom:42px;left:60%}.view-controls{bottom:122px;right:12px}.progress-track{width:180px}.tool-caption small{display:none}footer{bottom:0}}.tool-dock button{font-size:calc(11px * var(--text-scale))}.objective{scrollbar-color:#718774 transparent}.objective::-webkit-scrollbar{width:5px}.objective::-webkit-scrollbar-track{background:0 0}.objective::-webkit-scrollbar-thumb{background:#718774;border-radius:5px}.flow-diagram{flex-shrink:0;width:180px;height:90px;overflow:visible}.flow-diagram path{fill:none;stroke:#b89254;stroke-width:5px;stroke-linecap:round}.flow-diagram circle{fill:#f5efdf;stroke:#748a7b;stroke-width:2px}.flow-diagram text{fill:#263f35;text-anchor:middle;font:8px sans-serif}.flowing path{stroke:#406e57;stroke-dasharray:6 4}.direct-stop{gap:4px;font-size:12px;display:grid}.direct-stop select{color:#293c32;background:#e9e5d4;border:1px solid #7b806b;border-radius:8px;min-width:56px;min-height:48px;padding:8px}.tool-dock:has(.flow-diagram){flex-wrap:wrap;max-width:min(1060px,100vw - 32px)}.tool-dock:has(.direct-stop){flex-wrap:wrap}@media (max-width:650px){.flow-diagram{width:135px;height:66px}.pipe-options{flex-wrap:wrap}.tool-dock:has(.flow-diagram) .tool-caption{max-width:150px}}@font-face{font-family:DioramaHindi;src:url(../assets/fonts/notosansdevanagari.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:DioramaJapanese;src:url(../assets/fonts/notosansjp.woff2)format("woff2");font-display:swap;font-weight:100 900}.settings select{color:#294235;background:#f1ecdd;border:1px solid #b7b39f;border-radius:6px;max-width:55%;height:48px;min-height:48px;padding:6px 10px}@font-face{font-family:DioramaRound;src:url(../assets/fonts/nunito.woff2)format("woff2");font-display:swap;font-weight:200 1000}:root{--cream:#fff8e7;--gold:#ffd34d;--muted:#d5e1d5;font-family:DioramaRound,Arial,sans-serif}body,button,input,select,h1,h2,h3,h4{font-family:DioramaRound,Arial,sans-serif}h1,h2,h3,h4{font-weight:800}#app{background:radial-gradient(at 65% 38%,#659d88 0%,#477f6c 48%,#295b4c 100%);min-height:100dvh}.topbar{padding:22px 26px}.wordmark{font-size:18px}.brand-sub{letter-spacing:4px}.topbar nav{gap:10px}.topbar nav .icon-button{background:#214b414d;border:1px solid #b6d3b45c;width:56px;height:56px;margin:0}.topbar nav .icon-button svg{width:25px;height:25px}#steps{z-index:2;flex-direction:row;justify-content:space-between;gap:30px;width:300px;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}#steps li{color:#d9e6d9;flex-direction:column;flex:1;align-items:center;gap:5px;font-size:18px;line-height:1.2;display:flex;position:relative}#steps li>span{border:2px solid #d2e0cf99;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:flex}#steps li:not(:last-child):after{content:"";background:#c6d8c7aa;width:42px;height:2px;position:absolute;top:20px;left:calc(50% + 30px)}#steps li.current{color:#fff8e7}#steps li.current>span{color:#143e36;background:#ffd34d;border-color:#ffd34d}#steps li.complete>span{color:#39683b;background:#e8f3d8;border-color:#e8f3d8}#steps li svg{width:24px;height:24px}#objective{color:#183e35;pointer-events:auto;background:#fff8e7;border-radius:26px;flex-direction:column;width:clamp(285px,25vw,365px);max-height:none;padding:28px;display:flex;top:126px;bottom:182px;left:24px;overflow:auto;box-shadow:0 8px 24px #0c30221a}#objective .scene-name{font-size:calc(15px * var(--text-scale));color:#41604d;font-weight:800;line-height:1.25}#objective h1{letter-spacing:-1px;max-width:none;margin:16px 0 20px;font-family:inherit;font-size:clamp(30px,3vw,46px);font-weight:900;line-height:1.06}#objective .description{font-size:calc(18px * var(--text-scale));color:#294e40;max-width:none;line-height:1.45;display:block}.picture-guide{color:#bc7b15;flex-shrink:0;justify-content:center;align-items:center;gap:20px;min-height:130px;margin:28px 0 8px;display:flex}.picture-guide>svg{stroke-width:3px;width:32px;height:32px}.brush-picture{flex:1;min-height:110px;margin:16px 0 0;padding:0;position:relative}.brush-picture img{object-fit:contain;object-position:center bottom;width:100%;height:100%;display:block;position:absolute;inset:0}.match-picture>span{color:#c88b16;justify-content:center;align-items:center;width:90px;height:110px;display:flex}.match-picture>span>svg{stroke-width:1.5px;fill:#f6c750;width:90px;height:90px}.match-picture .shape-outline>svg{fill:#e3d3aa;stroke:#9b783b;stroke-dasharray:3 2}.success-picture svg{color:#457849;background:#e1edca;border-radius:50%;width:96px;height:96px;padding:22px}.success-picture .icon-button{border-radius:50%;width:96px;height:96px;box-shadow:0 4px #aec790}.success-picture .icon-button:hover svg{background:#d1e5b6}.arrow-picture>div,.number-picture>div{text-align:center;color:#294e40;flex:1;justify-items:center;gap:10px;min-width:0;display:grid}.picture-guide small{font-size:calc(14px * var(--text-scale));font-weight:700;line-height:1.25}.teaching-dial{color:#fff8e7;background:#315c50;border-radius:50%;place-items:center;width:80px;height:80px;display:grid}.teaching-dial span{transform:rotate(var(--angle));font-size:62px;font-weight:900;line-height:1;display:block}.goal-dial{color:#234e41;background:#ffe08b;border:3px dashed #a27525}.number-picture b{background:#e7edda;border-radius:14px;width:82px;font-size:64px;font-weight:900;line-height:1.2}.number-picture .target-number b{background:#ffe08b;border:3px dashed #a27525}#objective .flow-diagram{flex-shrink:0;width:100%;height:145px;margin-top:24px}.flow-diagram text{font-size:15px;font-weight:800}.flow-diagram path{stroke-width:7px}.flow-diagram circle{r:12}#tools{width:max-content;max-width:calc(100vw - 440px);min-height:64px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:22px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:0;display:flex;bottom:84px;left:calc(50% + 120px)}#tools button{min-width:56px;min-height:64px;font-size:calc(20px * var(--text-scale));color:#193e35;white-space:normal;background:#fff8e7;border:1px solid #e7dcbd;border-radius:20px;gap:10px;padding:14px 20px;font-weight:800;line-height:1.15;display:inline-flex}#tools button svg{stroke-width:2.3px;width:30px;height:30px}#tools button.primary{color:#fffdf3;background:#1279a5;border:1px solid #a3def0;box-shadow:0 4px #136184}#tools button.primary:hover{background:#08658d}#tools .icon-button{background:#f9f1da;width:56px;padding:10px}#tools:has(.part){background:#fff8e7;padding:12px}#tools .part,#tools .target{width:108px;min-height:126px;font-size:calc(17px * var(--text-scale));background:#fffaf0;border:2px solid #e4d8b9;flex-direction:column;gap:6px;padding:10px 8px;box-shadow:0 3px 5px #795b1b14}#tools .part svg,#tools .target svg{stroke-width:1.5px;fill:#f2c355;color:#9a6a19;width:54px;height:54px}#tools .part[data-action=wrong-part] svg{fill:#ded6bb;color:#8e876c}#tools .part.selected{background:#ffe9a6;border:3px solid #d99718}#tools .target{background:#f5ecd4;border:3px dashed #bd995b}#tools .target:disabled{opacity:.68}#tools .target:not(:disabled){border:3px solid #d99718;box-shadow:0 0 0 3px #ffd34d66}#tools .target svg{fill:#cfc3a1;color:#8e754b}.relationship-count{color:#365c47;align-self:flex-start;font-size:17px;font-weight:800}#tools .relationship-count{color:#365c47;min-width:48px;min-height:48px}.pipe-options{flex-wrap:wrap;gap:8px;display:flex}.route-picture{stroke:#285645;stroke-width:8px;fill:none;stroke-linecap:round;width:72px;height:40px}#tools .pipe-options button{min-width:80px;font-size:calc(16px * var(--text-scale));border:3px solid #0000;flex-direction:column;flex:1;gap:3px;padding:8px}#tools .pipe-options button.selected{background:#ffe299;border-color:#d29827}.direct-stop{font-size:calc(14px * var(--text-scale));color:#fff8e7;text-align:center;justify-items:center;max-width:100px;font-weight:800}.direct-stop select{text-align:center;background:#fff8e7;border-radius:16px;min-width:76px;height:56px;min-height:56px;font:800 26px DioramaRound,Arial,sans-serif}.view-controls{background:#224d426b;border:1px solid #cbdec43b;border-radius:38px;flex-direction:column;gap:4px;padding:6px;display:flex;inset:50% 20px auto auto;transform:translateY(-50%)}.view-controls .icon-button{color:#fff8e7;border:1px solid #c8ddc14d;border-radius:50%;width:52px;min-width:52px;height:52px;min-height:52px}.view-controls .icon-button svg{width:26px;height:26px}.view-controls i{width:32px;height:1px;margin:4px}.restoration-progress{pointer-events:none;align-items:center;gap:16px;width:min(530px,45vw);font-size:16px;font-weight:800;display:flex;position:absolute;bottom:32px;left:calc(50% + 100px);transform:translate(-50%)}.restoration-progress[hidden]{display:none}.restoration-progress>span{white-space:nowrap}.restoration-progress .progress-track{background:#173c3552;border:1px solid #c6dfb674;border-radius:8px;flex:1;min-width:60px;height:12px;margin:0;overflow:hidden}#clean-progress{background:#9ad172;height:100%}footer{color:#e0e9d7;font-size:10px;bottom:4px;left:24px;right:24px}footer button{color:#fff8e7;min-height:48px;padding:6px;font-size:14px;font-weight:700}#hint-marker{background:#ffd74d22;border:4px dashed #ffdd57;width:64px;height:64px;box-shadow:0 0 0 3px #22453880}.hint-target{outline-offset:5px!important;outline:4px dashed #d78e0b!important}#toast{pointer-events:none;color:#244c3d;background:#fff8e7;border:1px solid #c6d3a9;border-radius:16px;max-width:calc(100vw - 32px);padding:14px 22px;font-size:18px;font-weight:800;top:auto;bottom:230px;left:50%;transform:translate(-50%)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline-offset:3px!important;outline:3px solid #193e35!important;box-shadow:0 0 0 7px #fff8e7!important}canvas:focus-visible{outline-offset:-6px!important;box-shadow:inset 0 0 0 9px #fff8e7!important}@media (max-width:1000px){#objective{width:280px;padding:24px}#objective h1{font-size:34px}#tools{max-width:calc(100vw - 370px);left:calc(50% + 130px)}#tools button{font-size:calc(18px * var(--text-scale));padding:12px 16px}}@media (max-width:900px){.topbar{padding:14px 16px}.wordmark{gap:8px;font-size:14px}.wordmark>svg{width:24px}.brand-sub{letter-spacing:3px;font-size:8px}.topbar nav{gap:5px}.topbar nav .icon-button{width:48px;min-width:48px;height:48px}#steps{gap:25px;width:270px;top:80px}#steps li{flex-direction:row;gap:6px;font-size:16px}#steps li>span{width:30px;height:30px;font-size:16px}#steps li:not(:last-child):after{display:none}#objective{border-radius:20px;width:calc(100% - 28px);min-height:130px;max-height:29dvh;padding:18px 20px;display:block;top:126px;bottom:auto;left:14px}#objective .scene-name{white-space:nowrap;text-overflow:ellipsis;max-width:65%;font-size:12px;overflow:hidden}#objective h1{letter-spacing:-.5px;margin:7px 90px 10px 0;font-size:28px;line-height:1.1}#objective .description{font-size:calc(15px * var(--text-scale));margin-right:80px;line-height:1.3}#objective .brush-picture,#objective .match-picture,#objective .success-picture{gap:5px;width:76px;min-height:90px;margin:0;padding-top:44px;position:absolute;top:20px;right:16px}#objective .brush-picture{width:100px;min-height:100px;padding:0;top:30px;right:10px}#objective:has(.brush-picture) h1{margin-right:100px}#objective:has(.brush-picture) .description{margin-right:100px}#objective .match-picture{flex-wrap:wrap;gap:2px;padding:0}#objective .match-picture>span{width:30px;height:48px}#objective .match-picture>span>svg{width:32px;height:40px}#objective .match-picture>svg{width:12px}#objective .success-picture svg{width:72px;height:72px;padding:18px}#objective .success-picture{min-height:72px;padding-top:0;top:50%;transform:translateY(-50%)}#objective .success-picture .icon-button{width:72px;height:72px}:is(#objective:has(.arrow-picture),#objective:has(.number-picture),#objective:has(.flow-diagram)){grid-template-columns:1fr 135px;gap:0 10px;display:grid}:is(#objective:has(.arrow-picture) h1,#objective:has(.number-picture) h1,#objective:has(.flow-diagram) h1),:is(#objective:has(.arrow-picture) .description,#objective:has(.number-picture) .description,#objective:has(.flow-diagram) .description){margin-right:0}#objective .arrow-picture,#objective .number-picture,#objective .flow-diagram{grid-area:1/2/4;align-self:center;gap:4px;width:135px;height:110px;min-height:100px;margin:0}#objective .picture-guide small{font-size:12px}.teaching-dial{width:48px;height:48px}.teaching-dial span{font-size:40px}.picture-guide>svg{width:16px;height:20px}.number-picture b{width:52px;font-size:38px}#tools{justify-content:center;gap:8px;width:max-content;max-width:calc(100vw - 28px);min-height:60px;padding:0;bottom:90px;left:50%}#tools button{font-size:calc(17px * var(--text-scale));border-radius:18px;min-height:60px;padding:12px 16px}#tools button svg{width:25px;height:25px}#tools:has(.part){gap:7px;width:calc(100vw - 28px);padding:10px}#tools .part,#tools .target{width:82px;min-width:65px;min-height:92px;font-size:calc(15px * var(--text-scale));flex:1;padding:6px}#tools .part svg,#tools .target svg{width:40px;height:40px}#tools:has(.part)>.secondary{flex:1;min-height:48px}#tools:has(.part)>.icon-button{height:48px;min-height:48px}#tools:has(.part) .relationship-count{width:100%;font-size:13px}#tools .pipe-options{flex-wrap:nowrap;gap:5px;width:100%}#tools .pipe-options button{min-width:60px;font-size:calc(14px * var(--text-scale));padding:5px}#tools .pipe-options button svg{width:52px;height:32px}.relationship-count{font-size:13px}.direct-stop{max-width:75px;font-size:12px}.direct-stop select{height:52px;min-height:52px;font-size:24px}.view-controls{top:auto;bottom:var(--view-bottom,172px);background:#234c417d;border-radius:30px;flex-direction:row;gap:4px;width:max-content;padding:4px;left:50%;right:auto;transform:translate(-50%)}.view-controls .icon-button{width:48px;min-width:48px;height:48px;min-height:48px}.view-controls i{width:1px;height:25px;margin:0 2px}.restoration-progress{gap:10px;width:calc(100vw - 40px);font-size:13px;bottom:62px;left:50%}.restoration-progress .progress-track{height:10px}footer{bottom:0;left:16px;right:16px}footer button{font-size:13px}#toast{max-width:calc(100vw - 32px);padding:12px 16px;font-size:16px;top:300px;bottom:auto}}@media (max-height:600px) and (min-width:901px){.topbar{padding:10px 20px}#steps{top:12px}#steps li{flex-direction:row;font-size:15px}#steps li>span{width:32px;height:32px}#steps li:not(:last-child):after{display:none}#objective{width:265px;max-height:none;padding:20px;top:82px;bottom:30px}#objective h1{margin:8px 0 10px;font-size:28px}#objective .description{font-size:calc(15px * var(--text-scale))}#objective .picture-guide{min-height:80px;margin:10px 0 0}.brush-picture{padding-top:0}.brush-picture img{max-height:150px}#tools{max-width:calc(100vw - 340px);bottom:62px;left:calc(50% + 100px)}#tools button{min-height:56px;font-size:calc(17px * var(--text-scale));padding:10px 15px}#tools .part,#tools .target{min-height:100px}.view-controls{top:80px;transform:none}.view-controls .icon-button{width:48px;min-width:48px;height:48px;min-height:48px}.view-controls{gap:2px}.restoration-progress{bottom:20px}.teaching-dial{width:64px;height:64px}.teaching-dial span{font-size:48px}}@media (max-height:480px) and (max-width:900px){#steps{width:240px;top:20px}#steps li{font-size:13px}.wordmark{display:none}.topbar nav{margin-left:auto}.topbar{padding:8px 12px}#objective{width:220px;min-height:0;max-height:calc(100dvh - 90px);padding:14px;top:72px;left:12px}#objective h1{margin:8px 0;font-size:23px}#objective .description{font-size:calc(13px * var(--text-scale));margin:0}#objective .scene-name{max-width:100%}#objective .brush-picture,#objective .match-picture,#objective .success-picture{display:none}:is(#objective:has(.arrow-picture),#objective:has(.number-picture),#objective:has(.flow-diagram)){display:block}#objective .arrow-picture,#objective .number-picture,#objective .flow-diagram{height:90px;margin:8px auto 0}#tools{max-width:calc(100vw - 250px);bottom:55px;left:calc(50% + 100px)}#tools:has(.part){width:max-content}.view-controls{left:calc(50% + 100px);bottom:var(--view-bottom,135px)}.restoration-progress{width:calc(100vw - 290px);bottom:22px;left:calc(50% + 100px)}footer #save-state{max-width:200px}#toast{max-width:50vw;top:75px;left:65%}}:lang(hi) body,:lang(hi) button,:lang(hi) h1,:lang(hi) h2,:lang(hi) h3,:lang(hi) select{font-family:DioramaHindi,sans-serif}:lang(ja) body,:lang(ja) button,:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) select{font-family:DioramaJapanese,sans-serif}dialog:has(.result-content){max-width:min(660px,100vw - 24px)}.result-content{align-items:center;gap:24px;margin:8px 0 24px;display:flex}.result-toy{object-fit:cover;border-radius:22px;flex:none;width:190px;height:158px}.result-title{font:900 calc(25px * var(--text-scale))/1.2 DioramaRound,Arial,sans-serif;text-align:left;margin:0 0 12px}.result-content .dialog-intro{font-size:calc(18px * var(--text-scale));margin:0}.result-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.result-actions button{min-height:60px;font-size:calc(18px * var(--text-scale));font-weight:800}.reward-row{flex-wrap:wrap;gap:24px;margin:0 0 24px;padding:18px 0}.reward-row>span{align-items:center;gap:8px;display:flex}.reward-row span{font-size:calc(16px * var(--text-scale));font-weight:700}details{border-top:1px solid #cbd3bd;margin:12px 0}summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:800}details p{padding-bottom:12px}.teaching-dial{flex:none;overflow:hidden}.teaching-dial span{transform-origin:50%;place-items:center;width:64px;height:64px;font-family:Arial,sans-serif;font-size:54px;line-height:1;display:grid}#tools .direct-stop{align-self:center;gap:6px;min-width:76px;max-width:110px}#tools:has(.direct-stop)>button{align-self:end;margin-bottom:0}.flow-diagram .pipe-gap{stroke:#aa9670;stroke-dasharray:5 9;stroke-width:3px}#tools .pipe-options{gap:16px;display:flex}#tools .pipe-options button{border:3px solid #a6bfa4;min-width:140px;min-height:92px}#tools .pipe-options button svg{width:130px;height:70px}.route-picture path{fill:none;stroke:#207fa0;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round}.route-picture circle{fill:#ffd34d;stroke:#596f4b;stroke-width:3px}@media (max-width:700px){.result-content{text-align:center;flex-direction:column;gap:14px}.result-toy{width:144px;height:120px}.result-title{text-align:center;font-size:calc(22px * var(--text-scale))}.result-actions{grid-template-columns:1fr}.teaching-dial span{width:42px;height:42px;font-size:36px}#tools .pipe-options button{min-width:120px;min-height:80px}#tools .pipe-options button svg{width:110px;height:60px}}#tools .tool-caption{color:#224538;background:#f5efdf;border-radius:16px;max-width:320px;padding:12px 16px}#tools .tool-caption b,#tools .tool-caption small{color:#224538;font-size:calc(16px * var(--text-scale));line-height:1.4}@media (max-width:900px){#tools{scrollbar-color:#315c50 #fff8e7;align-content:flex-start;max-height:clamp(150px,38dvh,230px);scroll-padding:8px;overflow-y:auto}#tools>*{flex-shrink:0}#tools .part,#tools .target{min-width:calc(82px * var(--text-scale))}}@media (max-height:480px) and (max-width:900px){#tools{max-width:calc(100vw - 322px);left:calc(50% + 70px)}.view-controls{flex-direction:column;gap:0;inset:72px 12px auto auto;transform:none}.view-controls i{width:25px;height:1px;margin:2px 0}}
