:root{--navy:#14223c;--ink:#17253e;--muted:#617087;--accent:#a9e642;--teal:#14aaa6;--violet:#8159e8;--canvas:#edf2fa;--line:#dce3ee;--radius:19px;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);min-width:280px}button,select,input{font:inherit}button,select{cursor:pointer}button{touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible,#world:focus-visible{outline:3px solid var(--violet);outline-offset:3px}button:disabled{opacity:.5;cursor:default}button[hidden],[hidden]{display:none!important}.workshop{width:min(1120px,100%);margin:0 auto;padding:20px 24px 12px}.masthead{display:flex;align-items:center;gap:16px;min-height:111px;padding:21px 25px;background:var(--navy);border-radius:23px;color:white;position:relative;overflow:hidden}.masthead:after{content:"";position:absolute;width:200px;height:200px;border:38px solid #293751;border-radius:50%;right:65px;top:-115px;pointer-events:none}.brand-mark{height:48px;width:46px;flex:none;position:relative}.brand-mark i{position:absolute;height:23px;width:23px;border-radius:7px;background:var(--accent);transform:rotate(-10deg);left:0;top:0}.brand-mark i:nth-child(2){background:#55d8cf;left:22px;top:12px;border-radius:50%}.brand-mark i:nth-child(3){background:#a888ff;left:4px;top:28px;height:18px;width:18px;transform:rotate(20deg)}.headline{flex:1;min-width:0;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.35px;font-weight:800;margin:0 0 7px}.masthead .eyebrow{color:#bdd2eb}h1{font-size:clamp(23px,3.15vw,35px);line-height:1.12;letter-spacing:-1px;margin:0 0 8px;font-weight:850}#subtitle{margin:0;color:#d6e2f3;font-size:13px;line-height:1.4}.header-actions{display:flex;gap:7px;position:relative;z-index:1;align-self:flex-start}.icon-button{height:37px;min-width:37px;background:#2c3a52;color:white;border:1px solid #46526a;border-radius:11px;font-size:12px;font-weight:750;padding:0 10px}#help{font-size:20px;padding:0;width:37px}.level-bar{display:flex;align-items:center;gap:17px;padding:16px 4px 16px;min-height:81px}.select-control{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:750;color:var(--muted)}select{height:38px;background:white;border:1px solid var(--line);border-radius:10px;padding:0 31px 0 11px;color:var(--ink);font-size:13px;font-weight:700;max-width:100%}.level-control{gap:7px}.level-control select{min-width:64px}.level-count{font-size:11px;white-space:nowrap}.progress-wrap{margin-left:auto;width:180px;max-width:23%;font-size:11px;font-weight:750;color:var(--muted)}.progress-track{height:5px;background:#dce3ef;border-radius:10px;margin-top:7px;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:var(--teal);transition:width .2s}.move-count{background:#e2e8f2;padding:8px 11px;border-radius:10px;color:#4c5c74;font-size:11px;font-weight:750;white-space:nowrap}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:15px;align-items:stretch}.world-card{border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden;min-width:0}.world-label{height:37px;display:flex;align-items:center;gap:7px;padding:0 16px;font-size:10px;color:var(--muted);font-weight:750;border-bottom:1px solid #e5eaf2;letter-spacing:.3px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}#level-badge{margin-left:auto;font-size:10px;color:var(--ink);background:#f0f4fa;border-radius:5px;padding:3px 7px}#world{height:350px;position:relative;overflow:hidden;background:#eff4fb;touch-action:manipulation}#world canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;font-size:13px;color:var(--muted);z-index:2;background:#eff4fb}.loading-shapes{font-size:28px;letter-spacing:12px;color:var(--violet);animation:breathe 1.6s infinite}@keyframes breathe{50%{opacity:.4;transform:translateY(-4px)}}.feedback-bar{min-height:55px;background:white;display:flex;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid #e5eaf2}.feedback-icon{height:27px;width:27px;flex:none;border-radius:9px;color:#0b8986;background:#ddf7f3;display:grid;place-items:center;font-size:18px}#feedback{font-size:12px;line-height:1.4;margin:0;font-weight:600}#feedback[data-kind="bad"]{color:#b4444b}#feedback[data-kind="good"]{color:#068780}.challenge-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px 19px 13px;display:flex;flex-direction:column;min-width:0;max-height:443px;overflow:auto}.challenge-heading{display:flex;gap:10px;align-items:center;margin-bottom:14px}.section-number{height:35px;width:35px;flex:none;display:grid;place-items:center;background:#eee9ff;border-radius:11px;color:var(--violet);font-weight:850;font-size:14px}.challenge-card .eyebrow{color:var(--violet);font-size:9px;margin-bottom:3px;letter-spacing:1.1px}.challenge-card h2{font-size:18px;letter-spacing:-.4px;line-height:1.15;margin:0}#lesson{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 13px}.clue-tray{font-size:13px;line-height:1.45;min-width:0}.clue-tray p{margin:0 0 8px}.clue-tray strong{color:var(--ink)}.clue-tray .clue,.clue-tray .card,.clue-tray .badge{background:#f1f5fb;border-radius:11px;padding:9px 11px;margin-bottom:7px;border:1px solid #e7edf6}.mode-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;min-width:0}.mode-controls:empty{display:none}.mode-controls button{min-height:39px;max-width:100%;flex:1 1 auto;font-size:12px;font-weight:750;padding:8px 12px;background:#f1f5fb;color:var(--ink);border:1px solid #d9e1ef;border-radius:11px}.mode-controls button.selected,.mode-controls button.active,.mode-controls button[aria-pressed="true"]{background:var(--navy);color:white;border-color:var(--navy)}.mode-controls label{display:flex;align-items:center;gap:7px;font-size:12px;max-width:100%;flex-wrap:wrap}.mode-controls input{max-width:100%;min-width:0}.mode-controls input[type="number"],.mode-controls input[type="text"]{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;padding:7px 10px}.mode-controls input[type="range"]{width:100%;accent-color:var(--teal)}.mode-controls select{width:100%;min-width:0}.input-note{font-size:10px;line-height:1.5;color:#8590a4;margin:auto 0 0;padding-top:17px}.action-bar{min-height:77px;display:flex;align-items:center;gap:12px;padding:13px 2px}.action-intro{display:flex;align-items:center;gap:9px;margin-right:auto}.action-intro span{font-size:23px;color:var(--violet)}.action-intro p{font-size:12px;font-weight:750;margin:0;color:#607088}.action-buttons{display:flex;gap:9px}.primary-button,.secondary-button{min-height:40px;border-radius:11px;padding:9px 16px;border:1px solid transparent;font-size:12px;font-weight:800;display:inline-flex;gap:7px;align-items:center;justify-content:center}.primary-button{background:var(--accent);color:#243512}.primary-button:hover{filter:brightness(.97)}.secondary-button{background:white;border-color:var(--line);color:var(--ink)}.secondary-button:hover{background:#f7f9fd}.save-note{font-size:10px;color:#8793a7;text-align:center;margin:0}.save-note:before{content:"●";font-size:7px;color:var(--teal);margin-right:6px}#win{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#14223c45;backdrop-filter:blur(4px);padding:16px}.win-card{background:white;border-radius:22px;box-shadow:0 12px 35px #14223c25;padding:24px 22px;text-align:center;max-width:335px;width:100%;border:1px solid #eff4fa}.win-card .eyebrow{color:var(--teal);font-size:9px}.win-card h2{font-size:27px;margin:5px 0 9px;letter-spacing:-.7px}#stars{font-size:37px;color:#f4b82d;letter-spacing:3px;margin:4px 0 5px}#win-message{font-size:12px;line-height:1.4;color:var(--muted);margin:8px 0 18px}.win-actions{display:flex;gap:8px;justify-content:center}.win-actions button{font-size:11px;padding:9px 12px;flex:1}dialog{max-width:440px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:22px;padding:24px;color:var(--ink);box-shadow:0 20px 80px #13213b40}dialog::backdrop{background:#101d376b;backdrop-filter:blur(3px)}.help-top{display:flex;justify-content:space-between;gap:12px;align-items:center}dialog h2{font-size:24px;letter-spacing:-.6px;margin:19px 0 12px}dialog p{font-size:13px;line-height:1.7;color:var(--muted)}.dialog-save{background:#eaf8ed;color:#377041;padding:12px;border-radius:11px;font-size:12px}
@media(max-width:800px){.workshop{padding:13px 15px 12px}.masthead{padding:19px 18px;gap:13px;border-radius:19px}.play-layout{grid-template-columns:minmax(0,1fr) 235px;gap:12px}.challenge-card{padding:18px 15px}.progress-wrap{width:140px}.level-bar{gap:12px}h1{font-size:26px}.brand-mark{transform:scale(.85);transform-origin:center;width:40px}}
@media(max-width:630px){.workshop{padding:10px 10px 12px}.masthead{padding:17px 15px;min-height:116px;gap:10px;align-items:flex-start}.masthead:after{right:-42px;top:-127px}.brand-mark{margin-top:19px;width:32px;transform:scale(.75);transform-origin:left center}.headline{padding-right:45px}.masthead .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:7px}h1{font-size:24px;letter-spacing:-.7px;margin-bottom:7px}#subtitle{font-size:11px;line-height:1.5}.header-actions{position:absolute;right:10px;top:12px;flex-direction:column;gap:5px}.icon-button{height:31px;min-width:31px;font-size:10px;padding:0 7px;border-radius:9px}#mute{width:36px;font-size:0}#mute:after{content:"♫";font-size:17px}#mute[aria-pressed="true"]:after{content:"♫̸"}#help{width:36px;height:30px;font-size:18px}.level-bar{display:grid;grid-template-columns:1fr auto;gap:11px 8px;padding:12px 3px;min-height:99px}.select-control{font-size:11px;gap:6px}.select-control select{height:36px;font-size:12px;padding-left:9px;padding-right:25px}.level-control{justify-content:flex-end}.level-control select{min-width:58px}.progress-wrap{margin:0;max-width:100%;width:100%;font-size:10px}.move-count{justify-self:end;font-size:10px;padding:6px 9px}.play-layout{grid-template-columns:1fr;gap:10px}.world-label{height:31px;padding:0 13px;font-size:9px}#world{height:235px}.feedback-bar{min-height:49px;padding:9px 12px}#feedback{font-size:11px}.challenge-card{padding:14px 15px 11px;max-height:260px;min-height:151px}.challenge-heading{margin-bottom:8px;gap:8px}.section-number{height:29px;width:29px;border-radius:9px;font-size:12px}.challenge-card h2{font-size:16px}.challenge-card .eyebrow{font-size:8px}#lesson{font-size:11px;line-height:1.5;margin-bottom:8px}.clue-tray{font-size:12px}.clue-tray .clue,.clue-tray .card,.clue-tray .badge{padding:7px 9px;margin-bottom:5px}.mode-controls{margin-top:8px;gap:6px}.mode-controls button{min-height:36px;padding:7px 10px;font-size:11px}.input-note{padding-top:9px;font-size:9px}.action-bar{min-height:65px;padding:11px 0;gap:7px}.action-intro{display:none}.action-buttons{width:100%;gap:7px;justify-content:flex-end}.action-buttons button{min-height:38px;padding:8px 12px;font-size:11px;flex:1}.win-card{max-width:290px;padding:17px 18px}.win-card h2{font-size:23px;margin:3px 0 3px}#stars{font-size:30px}#win-message{font-size:11px;margin:5px 0 11px}.save-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:630px){.select-control{min-width:0}.select-control select{width:87px}.level-control select{width:64px;min-width:64px;padding-right:18px}#mute[aria-pressed="true"]:after{content:"×";font-size:20px}}
