@font-face{font-family:Alegreya;src:url(/fonts/alegreya.woff2)format("woff2");font-weight:400 900;font-display:swap}@font-face{font-family:Alegreya Sans;src:url(/fonts/alegreya-sans-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Alegreya Sans;src:url(/fonts/alegreya-sans-700.woff2)format("woff2");font-weight:700;font-display:swap}:root,:root[data-theme=light]{--ground:#e9ecee;--panel:#f6f7f8;--panel-2:#d9dee2;--ink:#161b22;--ink-2:#47505c;--rule:#c5ccd2;--rule-strong:#6e7784;--accent:#1f4e79;--on-accent:#fff;--gilt:#765710;--danger:#a3242c;--good:#2e6b34;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ground:#12161d;--panel:#1a2029;--panel-2:#252d38;--ink:#eef1f4;--ink-2:#b4bdc8;--rule:#34404d;--rule-strong:#7d8a99;--accent:#8cb8e6;--on-accent:#0d1b2a;--gilt:#e0b95a;--danger:#ff8f8a;--good:#9bd49f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--r-field:4px;--r-btn:6px;--r-panel:10px;--r-sheet:14px;--r-pot:999px;--t-sm:.875rem;--t-md:1rem;--t-lg:1.25rem;--t-xl:2rem;--t-2xl:clamp(2.4rem,6vw,4.2rem);--font-display:"Alegreya", Georgia, serif;--font-ui:"Alegreya Sans", system-ui, sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-md);line-height:1.45}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--s2);background:var(--accent);color:var(--on-accent);padding:var(--s2) var(--s3);border-radius:var(--r-btn);z-index:10;position:absolute;top:-100px}.skip:focus{top:var(--s2)}.studio{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.studio>.main{flex:1 1 0;min-height:0}.top{align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:1px solid var(--rule);background:var(--panel);flex-wrap:wrap;min-height:52px;display:flex}.wordmark{min-width:44px;min-height:44px;font-family:var(--font-display);font-weight:800;font-size:var(--t-lg);letter-spacing:-.01em;color:var(--ink);align-items:center;margin-right:auto;text-decoration:none;display:inline-flex}.btn{min-width:44px;min-height:44px;padding:0 var(--s3);border-radius:var(--r-btn);border:1px solid var(--rule-strong);background:var(--panel);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);transition:background-color .14s var(--ease),transform 90ms var(--ease);display:inline-flex}.btn:hover{background:var(--panel-2)}.btn:active{transform:translateY(1px)}.btn[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}.btn:disabled{opacity:.5;cursor:not-allowed}.main{grid-template-rows:minmax(0,1fr);grid-template-columns:auto 1fr;min-height:0;display:grid;overflow:hidden}.rack{gap:var(--s2);min-height:0;padding:var(--s3);border-right:1px solid var(--rule);background:var(--panel);flex-direction:column;display:flex;overflow-y:auto}.bathwrap{padding:var(--s4);place-items:center;min-width:0;min-height:0;display:grid;position:relative;container-type:size}.bath{border:2px solid var(--rule-strong);border-radius:var(--r-field);box-shadow:inset 0 0 0 2px var(--panel-2);background:var(--panel-2);touch-action:none;aspect-ratio:1414/1000;cursor:crosshair;width:min(100cqw,141.4cqh);max-width:100%;max-height:100%;position:relative}.bath canvas{width:100%;height:100%;display:block}.pots{gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--rule);background:var(--panel);flex-wrap:wrap;align-items:center;display:flex}.pot{border-radius:var(--r-pot);border:2px solid var(--rule-strong);cursor:pointer;width:44px;height:44px;padding:0;position:relative}.pot[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.status{color:var(--ink-2);font-size:var(--t-sm);margin-left:auto}@media (max-width:760px){.studio{height:auto;min-height:100dvh;overflow:visible}.studio>.main{flex:none}.main{flex-direction:column;min-height:0;display:flex}.bathwrap{padding:var(--s3);container-type:normal}.bath{width:100%}.rack{border-right:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-flow:wrap;order:2}.coach ol{padding-left:var(--s4);flex-direction:column;gap:0}.coach,.top{padding:var(--s2) var(--s3)}.status{flex-basis:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation:none!important}}.badge{right:var(--s3);bottom:var(--s1);font-size:var(--t-sm);color:var(--ink-2);margin:0;position:absolute}.badge:empty{display:none}.sel{padding:0 var(--s3);background:var(--panel);color:var(--ink)}.colour{width:44px;padding:0;overflow:hidden}.note{color:var(--ink-2);font-size:var(--t-sm);max-width:36ch;margin:0}.dialog-back{padding:var(--s4);z-index:20;background:#0a0e1499;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s5);gap:var(--s3);max-width:min(920px,100%);max-height:100%;display:grid;overflow:auto;box-shadow:0 12px 40px #00000059}.dialog h2{font-family:var(--font-display);font-size:var(--t-lg);margin:0}.acts{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.print-stage{background:var(--panel-2);border-radius:var(--r-panel);padding:var(--s4);place-items:center;display:grid;overflow:hidden}.print-paper{width:min(640px,100%);padding:var(--s3);background:#f4ecd8 repeating-linear-gradient(0deg,#00000009 0 1px,#0000 1px 4px);box-shadow:0 8px 24px #00000059}.print-paper canvas{width:100%;height:auto;display:block}.portfolio{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin:0;padding:0;list-style:none;display:grid}.portfolio li{gap:var(--s2);display:grid}.portfolio img{border-radius:var(--r-field);width:100%;height:auto}progress{width:160px;height:12px}.landing{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.hero{gap:var(--s6);max-width:1280px;padding:var(--s7) var(--s5);grid-template-columns:1fr 2fr;align-items:center;width:100%;margin:0 auto;display:grid}.hero h1{font-family:var(--font-display);font-size:var(--t-2xl);margin:0 0 var(--s4);letter-spacing:-.02em;line-height:1.02}.pitch{color:var(--ink-2);max-width:46ch;margin:0 0 var(--s5)}.hero-bath{border:2px solid var(--rule-strong);box-shadow:inset 0 0 0 2px var(--panel-2);border-radius:var(--r-field);background:var(--panel-2);display:grid;position:relative}.hero-bath canvas{aspect-ratio:1414/1000;width:100%;height:auto;display:block}.hero-bath .btn{right:var(--s3);bottom:var(--s3);background:var(--panel);position:absolute}.how{max-width:900px;padding:var(--s6) var(--s5);gap:var(--s4);margin:0 auto;display:grid}.how h2{font-family:var(--font-display);font-size:var(--t-xl);margin:0}.diagram{width:200px;height:120px;color:var(--accent)}.ring{fill:none;stroke:currentColor;stroke-width:2px}.ring.b{stroke:var(--gilt)}.ring.c{fill:var(--accent);stroke:none}.how-list dt{margin-top:var(--s3);font-weight:700}.how-list dd{color:var(--ink-2);max-width:68ch;margin:0}.foot{padding:var(--s5);color:var(--ink-2);font-size:var(--t-sm);border-top:1px solid var(--rule)}.foot a{color:var(--gilt);align-items:center;min-height:24px;display:inline-flex}a.btn{text-decoration:none}@media (max-width:760px){.hero{padding:var(--s5) var(--s4);grid-template-columns:1fr}}[hidden]{display:none!important}.cross{pointer-events:none;border:2px solid var(--accent);background:radial-gradient(circle,var(--accent) 0 2px,transparent 3px);width:28px;height:28px;box-shadow:0 0 0 2px var(--panel);border-radius:50%;margin:-14px 0 0 -14px;position:absolute}.bath:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.empty{text-align:center;padding:var(--s5);color:var(--ink-2);pointer-events:none;font-family:var(--font-display);font-size:var(--t-lg);place-items:center;margin:0;display:grid;position:absolute;inset:0}.coach{gap:var(--s3);padding:var(--s2) var(--s4);background:var(--panel-2);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;display:flex}.coach ol{gap:var(--s5);padding-left:var(--s5);margin:0;display:flex}.coach li{padding-left:var(--s1)}.coach li.done{color:var(--ink-2);text-decoration:line-through}.coach .btn{margin-left:auto}.hero-bath .poster{width:100%;height:auto;display:block}.pot.pick:after{content:"";border-radius:var(--r-pot);border:2px solid var(--accent);animation:ripple .18s var(--ease) both;position:absolute;inset:-4px}@keyframes ripple{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.25)}}
