:root{color-scheme:dark;--bg:#111329;--paper:#f7f1e6;--text:#f4f1fb;--muted:#c2bfd8;--line:#49455f;--mint:#a6ecda;--pink:#e4c4dc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 30%,#36304f,transparent 60%),var(--bg);font:16px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text)}a{color:inherit;text-underline-offset:5px}a,button,summary{min-height:44px;touch-action:manipulation}button{font:inherit;cursor:pointer;border:1px solid #78738d;border-radius:8px;background:#302e47;color:var(--text);padding:8px 10px;font-size:13px}button:hover:not(:disabled){background:#45415d}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}h1,h2,h3,p{margin:0}h2:focus{outline:none}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line)}.topbar>a{display:inline-flex;align-items:center;text-decoration:none;font-size:13px}.brand{gap:10px;font-weight:750}.brand>span{font-size:29px;color:var(--mint)}.brand small{font-size:10px;font-weight:400;letter-spacing:.12em;margin-left:5px;color:var(--muted)}.shell{width:min(1320px,calc(100% - 40px));margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px 0 20px}.eyebrow{color:var(--pink);font-size:11px;letter-spacing:.1em}h1{font-size:32px;line-height:1.4;margin-top:7px}h1 span{font-size:14px;color:var(--muted);font-weight:400;display:inline-block;margin-left:20px}.status-pill{font-size:12px;border:1px solid #77718f;padding:5px 12px;border-radius:25px;white-space:nowrap}.experience{display:grid;grid-template-columns:minmax(0,1fr) 410px;border:1px solid #71657c;border-radius:20px;overflow:hidden;background:#17192f;box-shadow:0 24px 70px #0003}.room-panel{position:relative;min-width:0;align-self:start;background:radial-gradient(ellipse at 30% 80%,#37304c,transparent 65%);padding:15px 0}.room-top{display:flex;justify-content:space-between;gap:10px;margin:8px 24px;font-size:11px;letter-spacing:.1em;color:#d7cee9}#clean-count{color:var(--mint);letter-spacing:0}#room{display:block;width:100%;height:auto;max-height:670px}.room-description{text-align:center;font-size:13px;padding:0 16px;color:#e7dfef;min-height:44px}.room-legend{display:flex;justify-content:center;gap:8px 20px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding:0 12px 15px}.console{padding:24px;background:linear-gradient(145deg,#2e2943,#211f35);border-left:1px solid var(--line);min-width:0}h2{font-size:26px;line-height:1.5;margin-bottom:7px}h3{font-size:15px}.lead{font-size:15px;color:var(--muted);margin:16px 0 24px}.small{font-size:12px;color:var(--muted);margin:8px 0;line-height:1.8}.primary{background:var(--mint);color:#182e31;border-color:var(--mint);font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;padding:11px 16px;font-size:15px}.primary:hover:not(:disabled){background:#c6f5e8}.missions{display:flex;gap:8px;margin-bottom:17px}.missions button{flex:1;min-width:0;font-size:12px;padding:7px 5px}.missions [aria-pressed=true]{border-color:var(--pink);background:#59435d}.plan-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:16px}.plan-top>span{font-size:11px;color:var(--muted)}.add-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.add-actions button{display:flex;align-items:center;justify-content:center;gap:8px}.add-actions span{font-size:22px}.empty-plan{font-size:12px;padding:18px 12px;background:#17182b;border:1px dashed #736881;border-radius:8px;color:var(--muted);margin-bottom:10px}#program{position:relative;list-style:none;margin:0;padding:0;max-height:230px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#9d8ba8 #282437;scrollbar-width:thin}#program li{display:flex;align-items:center;gap:6px;min-height:50px;padding:3px 5px;border:1px solid #61576e;border-radius:8px;background:#302c43;margin-bottom:5px}#program .number{font-size:10px;color:var(--muted);width:22px;flex-shrink:0;text-align:center}#program .command-label{flex:1;font-size:13px;min-width:0}.row-state{display:block;font-size:10px;color:#d0c9df;line-height:1.4}#program button{width:44px;padding:3px;min-width:44px;font-size:16px;border-color:transparent;background:transparent}#program li.active{background:#324b4c;border-color:var(--mint);box-shadow:inset 3px 0 var(--mint)}#program li.failed{border-color:#eebd9f;box-shadow:inset 3px 0 #eebd9f}#program li.skipped{opacity:.6}.edit-tools{display:flex;gap:6px;justify-content:space-between;margin:6px 0 14px}.edit-tools button,.help-tools button{background:none;border-color:transparent;font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:7px 4px}.run-controls{display:flex;flex-wrap:wrap;gap:8px}.run-controls .primary{flex-basis:100%}.run-controls>button:not(.primary){flex:1}.run-note{font-size:10px}.feedback{padding:12px;border-left:3px solid var(--mint);background:#a6ecda0a;font-size:13px;margin:12px 0;color:#e8f3ed}.help-tools{display:flex;justify-content:space-between;gap:8px}.hint-panel,.demo-panel{border:1px solid #80758b;border-radius:9px;padding:12px;margin:10px 0;font-size:13px}.hint-panel button{margin-top:10px}.demo-panel{border-style:dashed;border-color:var(--mint)}.demo-panel h3{color:var(--mint);margin-bottom:8px}.demo-panel button{margin-top:12px}#ending{margin-top:16px;border-top:1px solid #80758b;padding-top:16px}#ending h3{font-size:19px;color:var(--mint)}.text-link{display:inline-flex;align-items:center;font-size:12px;margin:5px 0}#trace-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:5px}summary{cursor:pointer;align-content:center;font-size:12px}#trace-count{color:var(--muted);margin-left:8px}#trace{font-size:12px;max-height:210px;overflow:auto;padding-left:22px}#trace li{padding:7px 0;color:#e0d9eb}#trace li.failed{color:#ffd0b2}.is-success .room-light{stroke:#fff0af;filter:drop-shadow(0 0 6px #ffe0a1)}.is-success .dock-light{stroke:#e6ffb0;filter:drop-shadow(0 0 4px #e6ffb0)}.is-success #finish-stars{opacity:1}.is-working .brush{animation:brush .4s linear infinite;transform-box:fill-box;transform-origin:top left}.moon{animation:moon-glow 5s ease-in-out infinite alternate}.is-hidden *{animation-play-state:paused!important}.below{display:flex;gap:5px 25px;flex-wrap:wrap;align-items:center;padding:18px 0;color:var(--muted);font-size:12px}.below>a{display:inline-flex;align-items:center}.below details{max-width:550px;margin-left:auto}.below details[open]{margin-left:0;flex-basis:100%}footer{width:min(1320px,calc(100% - 40px));margin:auto;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#b5abc8;font-size:11px;border-top:1px solid var(--line);padding:22px 0}.load-error{border:1px solid #d3a980;border-radius:8px;padding:15px;margin-top:15px;color:#ffdeb5}.skip{position:absolute;left:12px;top:-100px;background:var(--mint);color:#152c32;padding:10px;z-index:20}.skip:focus{top:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.room-jump{display:none}[hidden]{display:none!important}
.suction-particle{animation:suction .34s ease-in forwards;transform:translate(var(--dx),var(--dy));opacity:.9}@keyframes suction{to{transform:translate(0,0) scale(.2);opacity:0}}
@keyframes brush{to{rotate:360deg}}@keyframes moon-glow{to{opacity:.7}}
@media(max-width:1050px){.experience{grid-template-columns:minmax(0,1fr) 370px}.console{padding:20px}h1 span{display:block;margin:4px 0 0}.brand small{display:none}}
@media(max-width:760px){#intro>.eyebrow{display:none}.topbar{padding:10px 16px}.topbar>a{font-size:12px}.shell{width:calc(100% - 24px)}.page-heading{padding:15px 0 12px}h1{font-size:25px}h1 span{font-size:12px}.eyebrow{font-size:9px}.status-pill{font-size:10px;padding:4px 8px}.experience{grid-template-columns:1fr;border-radius:14px}.room-panel{padding:10px 0 0}.room-top{margin:4px 14px;font-size:9px}#room{max-height:350px}.room-description{font-size:11px;min-height:32px}.room-legend{font-size:9px;gap:7px 12px;padding-bottom:12px}.console{border-left:0;border-top:1px solid var(--line);padding:16px}h2{font-size:22px}#intro-title br{display:none}.lead{font-size:13px;margin:10px 0 15px}#program{max-height:195px}.row-state{display:block;font-size:10px;color:#d0c9df;line-height:1.4}#program button{min-width:44px}.room-jump{display:inline-flex;align-items:center;font-size:12px;margin-bottom:5px}.missions{margin-bottom:12px}.plan-top{margin-top:12px}.below{padding:10px 0}.below details{margin-left:0}.room-panel.is-demonstrating{outline:2px dashed var(--mint);outline-offset:-3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
