*{box-sizing:border-box}body{margin:0;background:#f5f4e9;color:#203d55;font-family:'Zen Maru Gothic',sans-serif}.kit-page{max-width:1320px;margin:auto;padding:18px 16px 30px}.kit-page>h1,.kit-page>p{text-align:center;margin:8px}.circuit-kit{position:relative;container-type:inline-size;width:100%;aspect-ratio:16/9;overflow:hidden;isolation:isolate;border:2px solid #9bcdbd;border-radius:16px;background:#f5f3e7 url('./assets/bench.webp') center/100% 100%;font-weight:700}.circuit-kit [hidden]{display:none!important}.circuit-kit button,.circuit-kit input{font:inherit}.circuit-kit button{background:#f7fbf5;color:#213d55;border:2px solid #9dbcb9;border-radius:10px;padding:.45em .6em;line-height:1.25;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 0 #86a7a136}.circuit-kit button:hover{background:#e2f8eb}.circuit-kit button:focus-visible,.circuit-kit [tabindex]:focus-visible{outline:4px solid #e28b24;outline-offset:2px}.circuit-kit button:disabled{opacity:.4;cursor:default}.circuit-kit button.primary{background:#ee685f;color:white;border-color:#da5149;box-shadow:0 3px 0 #b94b47}.circuit-kit button.mint{background:#208e7b;color:white;border-color:#19735f}.kit-base{height:100%;display:flex;flex-direction:column}.kit-tools{height:9%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:.5% 1.5%;font-size:clamp(11px,1.1cqw,21px)}.kit-tools strong{font-size:1.25em;white-space:nowrap}.kit-tools>div{display:flex;gap:5px}.kit-tools button{white-space:nowrap;padding:.4em .5em}.kit-cover{flex:1;min-height:0;display:grid;grid-template-columns:65% 35%;background:#f8f5e9}.kit-cover>img{width:100%;height:100%;object-fit:contain;min-height:0}.cover-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5%;font-size:clamp(14px,1.65cqw,30px)}.cover-copy h2{font-size:clamp(26px,4.6cqw,76px);line-height:1.15;color:#237b8b;margin:.2em 0}.cover-copy p{line-height:1.7;margin:.5em 0}.cover-copy button{width:100%;margin:.3em 0;padding:.6em .5em}.cover-copy .eyebrow{font-size:.75em}.bench-screen{flex:1;min-height:0;display:grid;grid-template-columns:67.5% 32.5%;padding:1% 1% 5%;gap:0}.experiment{min-width:0;min-height:0;display:grid;grid-template-rows:76% 24%;padding:0 2.5%}.bench{display:grid;grid-template-rows:74% 26%;min-height:0}.circuit-stage{position:relative;min-height:0}.circuit-stage>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.cable-shadow{fill:none;stroke:#596b6770;stroke-width:18;stroke-linecap:round;transform:translateY(4px)}.cable{fill:none;stroke:#be4639;stroke-width:13;stroke-linecap:round}.circuit-kit[data-live=true] .cable{stroke:#f57e4c}.slot-wrap{position:absolute;left:calc(14% + var(--i)*24%);top:33.333%;width:20%;aspect-ratio:1;transform:translate(-50%,-50%)}.circuit-kit .slot{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;box-shadow:none;border-radius:12px;isolation:isolate}.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2}.slot.empty{border:3px dashed #548d7e;background:#b5e6ce;box-shadow:inset 0 0 0 5px #d1eee3;font-size:clamp(23px,4cqw,64px);color:#39826d}.slot.live.bulb:before{content:'';position:absolute;left:19%;top:8%;width:62%;height:80%;background:#fff67d;border-radius:50%;filter:blur(10px);opacity:var(--brightness,.6);z-index:1}.slot img.rotor{inset:23%;width:54%;height:54%;z-index:3;animation:spin var(--spin,1s) linear infinite;animation-play-state:paused}.slot.live img.rotor{animation-play-state:running}.circuit-kit[data-paused=true] .slot.live img.rotor{animation-play-state:paused}.slot-name{position:absolute;top:101%;left:-8%;width:116%;text-align:center;font-size:clamp(11px,1.2cqw,22px);white-space:nowrap;background:#f2fae8db;border-radius:6px;pointer-events:none}.slot-name b{color:#247665;margin-right:.3em}.switch-control{position:absolute;top:125%;left:16%;right:16%;font-size:clamp(10px,1.05cqw,19px)!important;padding:.2em!important}.remove-part{position:absolute;right:-3%;top:-6%;width:25%;aspect-ratio:1;padding:0!important;font-size:clamp(12px,1.4cqw,24px)!important;z-index:4}.flow-label{position:absolute;bottom:0;left:5%;right:5%;margin:0;text-align:center;color:#245b4c;font-size:clamp(11px,1.2cqw,22px)}.meters{display:flex;align-items:center;justify-content:center;gap:6%;padding:1% 10%}.meters>div{flex:1;min-width:0;text-align:center;border-radius:14px;border:3px solid #78bbaf;background:#d4f3e7;box-shadow:inset 0 0 0 3px #effaf1,0 3px 3px #4a85764d;padding:3px 8px}.meters span{display:block;font-size:clamp(11px,1.1cqw,20px)}.meters strong{display:block;white-space:nowrap;color:#183e4d;font:700 clamp(24px,3cqw,54px)/1.3 'Fredoka',monospace;background:#adc6b9;border-radius:7px;box-shadow:inset 0 2px 5px #5266586b}.meters small{font-size:.46em}.parts-palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1%;align-items:center;padding:3% 0 0;min-height:0}.circuit-kit .part-choice{height:100%;max-height:125px;min-width:0;padding:2px;border:2px solid #c4eadc;border-radius:10px;font-size:clamp(10px,1.04cqw,20px);display:flex;flex-direction:column;justify-content:center;align-items:center;white-space:nowrap}.part-choice img{display:block;width:95%;height:70%;min-height:0;object-fit:contain;pointer-events:none}.part-choice[aria-pressed=true]{outline:3px solid #25776a;background:#e8ffd8}.experiment-note{min-height:0;display:flex;flex-direction:column;padding:2% 6% 0 7%;gap:1%;font-size:clamp(12px,1.4cqw,24px)}.record{display:flex;justify-content:space-between;font-size:.75em}.progress-track{height:5px;background:#d5e9dc;border-radius:5px;flex:none}.progress-track i{display:block;height:100%;background:#24a98a;width:0;border-radius:5px}.mission-panel,.free-panel{display:flex;flex-direction:column;min-height:0;flex:1}.mission-nav{display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:.75em;flex:none;padding:.25em 0}.mission-nav button{font-size:1.8em;padding:0 .4em}.note-scroll{overflow:auto;min-height:0;scrollbar-width:thin;padding:0 3px 3px;overscroll-behavior:contain}.experiment-note h2{font-size:1.5em;margin:.25em 0;line-height:1.4}.experiment-note p{line-height:1.6;margin:.5em 0}.check-item{padding:.35em .4em;border-radius:6px;background:#eaece3;margin:.3em 0;font-size:.8em;color:#55675b}.check-item.ok{background:#dff0cc;color:#225f3f}.science-note{font-size:.75em;background:#e3f3f5;border-left:4px solid #63abb5;padding:.4em .6em}.kit-feedback{flex:none;min-height:1.4em;font-size:.75em}.check-actions{display:grid;gap:5px;flex:none}.check-actions button{padding:.45em}.check-actions #clear{font-size:.7em}.free-art{width:43%;max-height:130px;object-fit:contain;float:right}.free-panel h3{font-size:1.1em;color:#277e68}.result-panel{display:flex;flex-direction:column;min-height:0;flex:1;gap:5px}.result-panel .note-scroll{flex:1}.trophy{display:block;max-height:150px;width:50%;object-fit:contain;margin:auto}.stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.stamps span{border:1px solid #bdd6c8;border-radius:5px;text-align:center;font-size:.8em;padding:.1em;background:#f3f5e9}.stamps span.done{color:#ad473e;background:#ffe5d4}.result-panel #autoStatus{font-size:.65em;margin:0}.kit-dialog{position:absolute;inset:0;z-index:10;background:#d8f0e7ef;display:grid;place-items:center;padding:4%;font-size:clamp(14px,1.6cqw,28px)}.dialog-card{width:min(780px,90%);max-height:100%;display:flex;flex-direction:column;border:4px solid #afd7c2;border-radius:20px;background:#fffbed;padding:3%}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.dialog-top h2{font-size:1.7em;margin:0}.dialog-card>div:not(.dialog-top){overflow:auto;min-height:0;line-height:1.8}.dialog-card p{margin:.65em 0}.dialog-card button{margin:.4em .2em .4em 0}.dialog-card label{display:block;margin-top:1em}.dialog-card input{display:block;width:90%;accent-color:#1e967b;margin:.6em 0 1em}.dialog-card [aria-pressed=false]{background:#e4e6de}.sound-row{display:flex;gap:4%}.pause-art{width:35%;max-height:210px;object-fit:contain;display:block;margin:auto}#pausePanel{text-align:center}.kit-parent{font-size:13px;line-height:1.8;color:#4d6660;padding:15px 0}.kit-parent a{color:#267080}.circuit-kit>audio{display:none}.circuit-kit:fullscreen{border:0;border-radius:0;width:100vw;height:100dvh;aspect-ratio:auto}.circuit-kit[data-paused=true] .cable{stroke:#be4639}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px) and (orientation:portrait){.kit-page{padding:12px 8px}.kit-page>h1{font-size:25px}.circuit-kit{aspect-ratio:auto;height:860px;background:#c9ecdc}.kit-tools{height:72px;flex:none;flex-direction:column;justify-content:center;padding:5px;font-size:10px;gap:4px;background:#f5f6e8}.kit-tools strong{font-size:17px}.kit-tools>div{gap:3px}.kit-tools button{padding:5px 3px}.kit-cover{display:flex;flex-direction:column;position:relative}.kit-cover>img{height:48%;flex:none}.cover-copy{flex:1;padding:0 7% 8%;font-size:16px;align-items:center;text-align:center}.cover-copy h2{font-size:38px}.cover-copy .eyebrow{font-size:12px}.cover-copy button{margin:.2em 0;padding:.6em}.cover-copy p{margin:.3em 0}.bench-screen{display:grid;grid-template-columns:1fr;grid-template-rows:55% minmax(0,1fr);padding:6px;gap:8px}.experiment{padding:5px;background:#a9dfc4;border:3px solid #80cbb0;border-radius:13px;grid-template-rows:73% 27%}.bench{grid-template-rows:73% 27%}.slot-name{font-size:10px}.slot-wrap{width:20%}.switch-control{font-size:10px!important;top:127%;left:6%;right:6%;padding:3px!important}.remove-part{font-size:12px!important;right:-3%;top:-6%;min-width:20px}.flow-label{font-size:11px}.meters{padding:0 9%;gap:8%}.meters>div{padding:2px 4px;border-width:2px}.meters span{font-size:10px}.meters strong{font-size:26px}.parts-palette{grid-template-columns:repeat(7,minmax(0,1fr));padding:4px 0;gap:3px}.circuit-kit .part-choice{font-size:9px;border-width:1px;border-radius:6px}.part-choice img{height:65%;width:100%}.part-choice[aria-pressed=true]{outline-width:2px}.experiment-note{background:#fff9e9;border:2px solid #e4c6ac;border-radius:12px;padding:9px 12px;font-size:15px;gap:4px}.record{font-size:11px}.mission-nav{font-size:12px;padding:0}.mission-nav button{font-size:24px}.experiment-note h2{font-size:20px;margin:.15em 0}.experiment-note p{font-size:13px;line-height:1.6;margin:.25em 0}.check-item{font-size:12px;padding:4px 6px;margin:4px 0}.science-note{font-size:12px!important}.check-actions{grid-template-columns:2fr 1fr;gap:6px}.check-actions button{font-size:14px;padding:7px 3px}.check-actions #clear{font-size:12px}.kit-feedback{font-size:11px!important;line-height:1.4!important}.result-panel .trophy{float:right;width:27%;max-height:90px}.stamps{gap:3px}.stamps span{font-size:12px}.result-panel button{font-size:14px;padding:6px}.free-art{max-height:80px}.kit-dialog{padding:10px;font-size:15px}.dialog-card{width:100%;padding:14px;max-height:100%}.dialog-top h2{font-size:22px}.dialog-card p{font-size:14px}.sound-row{display:block}.pause-art{width:65%}.circuit-kit:fullscreen{height:100dvh;min-height:700px}.circuit-kit:fullscreen .bench-screen{grid-template-rows:54% minmax(0,1fr)}}@media(max-height:500px) and (orientation:landscape){.kit-tools{font-size:10px;height:11%;min-height:34px}.kit-tools strong{font-size:12px}.kit-tools button{padding:4px}.bench-screen{padding-bottom:4%;}.experiment-note{font-size:12px;padding:0 5% 0 7%}.experiment-note h2{font-size:18px}.experiment-note p{line-height:1.4}.mission-nav{font-size:10px}.check-item{font-size:10px;padding:3px}.check-actions{grid-template-columns:2fr 1fr;gap:4px}.check-actions button{font-size:11px;padding:5px}.check-actions #clear{font-size:9px}.kit-feedback{font-size:10px}.meters strong{font-size:22px}.meters span{font-size:10px}.flow-label{font-size:10px}.slot-name{font-size:10px}.switch-control{font-size:9px!important;top:118%}.remove-part{font-size:10px!important}.parts-palette{padding:2% 0 0}.circuit-kit .part-choice{font-size:9px}.kit-dialog{font-size:13px}.dialog-top h2{font-size:20px}.dialog-card{padding:10px}.pause-art{max-height:100px}.trophy{max-height:65px;width:35%;float:right}.result-panel h2{font-size:19px}.stamps span{font-size:10px}.result-panel button{font-size:11px;padding:4px}.cover-copy{font-size:12px}.cover-copy h2{font-size:32px}}@media(prefers-reduced-motion:reduce){.slot img.rotor{animation-duration:4s!important}}
.slot img.rotor{animation:none!important}

/* Keep notebook lettering clear of the generated spiral binding. */
.experiment-note{padding-left:10%}.slot.live.bulb:after{content:"";position:absolute;z-index:3;left:40%;top:28%;width:20%;height:23%;border-radius:50%;background:radial-gradient(ellipse,#fffce0 12%,#ffe77780 55%,#ffd43d00 75%);box-shadow:0 0 13px 6px #ffdb4760;opacity:var(--brightness,.6);pointer-events:none}@media(max-width:600px) and (orientation:portrait){.experiment-note{padding-left:12px}}

.kit-dialog{grid-template-rows:minmax(0,1fr)}.dialog-card{min-height:0;overflow:hidden}

@media(max-width:600px) and (orientation:portrait){.circuit-kit{height:max(700px,100svh)}}

.circuit-kit[data-result=true] #feedback{display:none}

@media(max-width:600px) and (orientation:portrait){.kit-tools{height:120px;gap:4px}.kit-tools>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px}.kit-tools button{font-size:11px;min-height:40px;padding:3px 2px}}
