:root{color-scheme:dark;--bg:#091d23;--panel:#102a30;--line:#29454a;--ink:#e7efe7;--soft:#a8beb8;--mint:#a9e9ce;--gold:#ecc789}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#173b3b,transparent 50%),var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,sans-serif}main{max-width:1240px;margin:auto;padding:0 38px}button,select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#163238;border-radius:9px;padding:10px 15px;cursor:pointer}button:hover{border-color:var(--mint);background:#21464a}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.4}header{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line)}.wordmark{color:var(--mint);font:italic 28px Georgia,serif;text-decoration:none;display:flex;align-items:center;gap:16px}.wordmark span{color:var(--soft);font:10px system-ui;letter-spacing:2px}header button{font-size:12px;background:transparent}.intro{display:flex;justify-content:space-between;align-items:center;padding:42px 0 30px}.eyebrow{letter-spacing:2.3px;font-size:10px;font-weight:650;color:var(--gold);margin:0 0 10px}h1{font:64px/1.05 Georgia,serif;letter-spacing:-2px;margin:0 0 17px}h1 em{color:var(--mint);font-weight:400}.lede{font-size:15px;color:var(--soft);margin:0}.collection{text-align:right}.collection>span{display:block;font:35px Georgia;color:var(--gold)}small{font-size:11px;color:var(--soft)}#seals{display:flex;gap:9px;margin-top:15px}.seal{color:#375251;font-size:18px}.seal.lit{color:var(--gold);text-shadow:0 0 10px #dca45466}.workspace{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#10272dd9;box-shadow:0 30px 90px #0003}.left{padding:24px}.studyhead{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font:27px/1.2 Georgia,serif;margin:0}.studyhead .eyebrow{margin-bottom:6px}.studyhead select{max-width:158px;font-size:12px;padding:8px}#tip{font-size:13px;color:var(--soft);margin:12px 0 18px;min-height:21px}.scene{position:relative;border:1px solid #355356;border-radius:12px;aspect-ratio:640/340;overflow:hidden;background:linear-gradient(#05202a35,#06182055),url('garden.webp') center/cover}.scene svg{position:absolute;width:100%;height:100%;inset:0}.wire{fill:none;stroke:#aacdc36b;stroke-width:2}.wire.hush{stroke:#e8bd92;stroke-dasharray:6 6}.wirelabel{fill:#d7e9dd;font:12px system-ui;paint-order:stroke;stroke:#0c252d;stroke-width:6px;stroke-linejoin:round}.flowdot{fill:var(--gold);filter:drop-shadow(0 0 4px #f4dc93)}.node{position:absolute;width:16%;height:28%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;isolation:isolate;background:transparent;border:0;padding:0}.node img{position:absolute;width:115%;height:115%;object-fit:contain;opacity:.7;filter:saturate(.75);z-index:-1;pointer-events:none}.node b{font:22px Georgia;text-shadow:0 2px 6px #000}.node small{position:absolute;top:78%;white-space:nowrap;font-size:9px;letter-spacing:.5px;background:#092027b0;padding:1px 6px;border-radius:5px;color:#deeee7}.node.active img{opacity:1;filter:brightness(1.8) drop-shadow(0 0 12px #a9e9ce)}.node.recover img{opacity:.35}.node.output img{filter:sepia(.7) hue-rotate(345deg);width:130%;height:130%}.node.output.active img{filter:sepia(.7) brightness(1.8) drop-shadow(0 0 12px #ecc789)}.scene-caption{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:1.9px;color:#9dbcb1}.scene-caption span{padding:0 10px;color:var(--gold)}.controltitle{display:flex;justify-content:space-between;color:var(--soft);font-size:11px;margin:20px 0 10px}.controltitle>span:first-child{color:var(--gold);font-weight:600}.actions{display:flex;gap:8px}.actions button{flex:1;padding:12px 5px;font-size:13px}.actions button small{display:block;font-size:10px}.actions .rest{border-style:dashed}.actions .suggested{outline:2px solid var(--gold);outline-offset:3px}.tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.tools button{background:transparent;font-size:11px;padding:7px 9px}kbd{font:10px system-ui;opacity:.6;margin-left:5px}aside{padding:28px 25px;background:#0a2027a8;border-left:1px solid var(--line)}aside h2{font-size:26px}.asidecopy{color:var(--soft);font-size:12px}.legend{display:flex;gap:15px;font-size:10px;color:var(--soft);padding:8px 0 16px}.mint{color:var(--mint)}.scorerow{display:grid;grid-template-columns:22px repeat(var(--beats),minmax(0,1fr));gap:3px;align-items:center;margin-bottom:9px}.scorerow>span{font-size:10px;text-align:center;color:var(--soft)}.beat{min-height:33px;border:1px solid #29464c;border-radius:6px;display:flex;align-items:center;justify-content:center;position:relative;background:#132c32;color:#748e8c;font:16px Georgia}.beat.target{border-color:#8b9875;color:#d4dfbd}.beat.good{background:#244e45;color:var(--mint);border-color:#4c8e72}.beat.bad{background:#633c34;color:#ffd5b3;border-color:#bf8463}.beat.now{box-shadow:0 0 0 1px var(--gold)}.beat i{position:absolute;bottom:0px;right:2px;font:8px system-ui}.scorerow.numbers{margin-bottom:3px}#feedback{border-top:1px solid var(--line);margin-top:21px;padding-top:18px;min-height:97px;color:var(--soft);font-size:13px}#feedback strong{display:block;color:var(--mint);font:22px Georgia;margin-bottom:7px}#next{width:100%;background:var(--mint);color:#10272a;font-weight:600;margin:10px 0}.arrival{margin-top:14px;border-top:1px solid var(--line);padding-top:18px}#pending{font-size:11px;color:var(--soft);line-height:1.9}.pendingrow{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #24404980}.pendingrow b{color:var(--gold);font-weight:500}footer{display:flex;justify-content:space-between;align-items:center;padding:22px 0;color:#77948f;font-size:11px}footer button{padding:0;border:0;background:transparent;color:var(--soft);font-size:11px}dialog{max-width:580px;width:calc(100% - 32px);border:1px solid #42605b;border-radius:18px;background:#102a30;color:var(--ink);padding:35px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#04141bce;backdrop-filter:blur(6px)}dialog h2{font-size:34px;margin-bottom:20px}dialog p,dialog li{font-size:13px;color:var(--soft)}dialog li{padding:0 0 12px 5px}dialog ol{padding-left:19px}.close{float:right;background:transparent;border:0;padding:0 4px;font-size:25px;line-height:1}.done{width:100%;margin-top:15px;background:var(--mint);color:#092027}a{color:var(--mint)}[hidden]{display:none!important}@media(max-width:850px){main{padding:0 20px}.workspace{grid-template-columns:1fr}aside{border-left:0;border-top:1px solid var(--line)}.intro{padding:30px 0}h1{font-size:52px}.scene{max-height:380px}.collection{padding-left:15px}.wordmark span{font-size:8px}.left{padding:18px}}@media(max-width:450px){main{padding:0 12px}header{padding:18px 0}.wordmark span{max-width:90px;font-size:7px}.intro{gap:10px}h1{font-size:44px}.lede{font-size:12px}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}.collection>span{font-size:26px}.collection small{font-size:9px}#seals{gap:4px}.seal{font-size:12px}.studyhead select{max-width:115px}.studyhead h2{font-size:24px}.actions button{font-size:12px}.node b{font-size:17px}.node small{font-size:7px}.controltitle{font-size:10px}.scene-caption{font-size:5px}.left{padding:14px}aside{padding:22px 18px}footer{font-size:9px;gap:12px}}

.node.output.active img{opacity:1}.node.active:not(.output) img{opacity:.9}
@media(prefers-reduced-motion:reduce){.flowdot{display:none}}
