@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-italic-BEGvmv_3.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-italic-C_Uk1MUY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-italic-D3GtrbRZ.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-italic-AH1vqu4S.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jost-cyrillic-300-normal-DcIdRxLM.woff2) format("woff2"),url(/assets/jost-cyrillic-300-normal-Da-u_v9v.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jost-latin-ext-300-normal--ixxmfGr.woff2) format("woff2"),url(/assets/jost-latin-ext-300-normal-DIStW2bt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/jost-latin-300-normal-DkBQXsFU.woff2) format("woff2"),url(/assets/jost-latin-300-normal-Ckm9JHl_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-cyrillic-400-normal-bVZEi0jL.woff2) format("woff2"),url(/assets/jost-cyrillic-400-normal-Dk3McGkH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-ext-400-normal-CpdMQIMr.woff2) format("woff2"),url(/assets/jost-latin-ext-400-normal-Dsyb2mtt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-400-normal-q-RKOgPK.woff2) format("woff2"),url(/assets/jost-latin-400-normal-C7S-3Ky6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-cyrillic-500-normal-DtB2bvF0.woff2) format("woff2"),url(/assets/jost-cyrillic-500-normal-DlHwnXyv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-ext-500-normal-BkvHgcKf.woff2) format("woff2"),url(/assets/jost-latin-ext-500-normal-Cpxiadwk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2) format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #e9e1d6;--paper-deep: #ddd2c4;--panel: rgba(255, 253, 249, .42);--ink: #2a201a;--ink-soft: #4f4238;--muted: #6e5e51;--line: rgba(74, 58, 46, .18);--line-strong: rgba(60, 45, 35, .55);--earth: #4a3b31;--cream: #f6f1ea;--sage: #6c7a58;--clay: #a8573c;--amber: #a07233;--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--sans: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}html{font-variant-numeric:lining-nums}.paper-bg{background-color:var(--paper);background-image:radial-gradient(ellipse 70% 55% at 12% 8%,rgba(255,252,246,.75),transparent 60%),radial-gradient(ellipse 60% 50% at 92% 95%,rgba(120,94,72,.22),transparent 65%),linear-gradient(160deg,transparent 40%,rgba(110,86,66,.08) 41%,transparent 70%);background-attachment:fixed}.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--sans);font-weight:400;font-size:16px;color:var(--ink)}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0}p{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--clay)}.center{text-align:center;margin-top:30vh;font-family:var(--serif);font-size:1.4rem;font-style:italic}button{font:inherit;font-weight:400;padding:10px 22px;border-radius:999px;cursor:pointer;border:1px solid var(--line-strong);background:transparent;color:var(--ink);transition:background-color .2s,color .2s,border-color .2s}button:hover:not(:disabled){border-color:var(--earth)}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:2px solid rgba(74,59,49,.35);outline-offset:3px}button.primary{background:var(--earth);border-color:var(--earth);color:var(--cream)}button.primary:hover:not(:disabled){background:#3a2e26}button.big{padding:14px 34px;font-size:1.05rem;letter-spacing:.02em}button.link{border:0;padding:0;border-radius:0;background:none;color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}button.link:hover:not(:disabled){color:var(--ink)}button.link.danger{color:var(--clay);text-decoration-color:#a8573c66}.app{max-width:1000px;margin:0 auto;padding:0 16px 56px}.topbar{display:flex;gap:20px;align-items:baseline;padding:26px 0 10px}.topbar .brand{font-family:var(--serif);font-size:1.7rem;margin-right:auto}.topbar .brand .eyebrow{margin-left:10px}.topbar .user{font-size:.9rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:26px 28px;margin-top:18px}.node{display:inline-block;width:11px;height:11px;flex:none;border-radius:50%;border:1px solid var(--line-strong);background:var(--cream)}.login{max-width:360px;margin:12vh auto 0;padding:0 16px;display:flex;flex-direction:column;gap:22px}.login h1{font-size:3rem;margin-top:-10px}.login label{display:flex;flex-direction:column;gap:6px}.login input{font:inherit;font-size:1.1rem;padding:6px 0 8px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-strong);outline:none}.login input:focus{border-bottom-color:var(--earth)}.login .primary{margin-top:10px;align-self:flex-start;padding:12px 40px}.ring-deco{position:relative;width:84px;height:84px;border-radius:50%;border:1px solid var(--line-strong);margin-bottom:10px}.ring-deco i{position:absolute;width:9px;height:9px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--cream);border:1px solid var(--line-strong)}.ring-deco i:nth-child(1){left:50%;top:0;background:var(--earth);border-color:var(--earth)}.ring-deco i:nth-child(2){left:100%;top:50%}.ring-deco i:nth-child(3){left:50%;top:100%}.ring-deco i:nth-child(4){left:0;top:50%}.hero{padding:7vh 0 8px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.hero h1{font-size:3.2rem}.hero p{max-width:30em;line-height:1.5}.room-list{list-style:none;padding:0;margin:14px 0 0}.room-list li{display:flex;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.room-list li:first-child{border-top:0}.room-list li .node{background:var(--earth);border-color:var(--earth)}.room-list li button{margin-left:auto}.code{font-family:var(--serif);font-weight:500;font-size:1.35rem;letter-spacing:.18em;font-variant-numeric:lining-nums}.big-code{font-size:2.8rem;letter-spacing:.22em;line-height:1.1;margin-top:4px}.share{display:grid;grid-template-columns:auto 1fr;gap:20px 36px;align-items:end}.share-actions{grid-column:1 / -1;display:flex;gap:26px;justify-content:flex-end;font-size:.95rem}.copy-field{display:flex;gap:16px;align-items:baseline;margin-top:6px}.copy-field input{flex:1;min-width:0;font:inherit;font-size:.95rem;padding:6px 0;color:var(--ink-soft);background:transparent;border:0;border-bottom:1px solid var(--line);outline:none}.status-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-bottom:18px}.server-line{font-size:.85rem}.server-line.ok{color:var(--sage)}.server-line.bad{color:var(--clay);font-weight:500}.path{--p: 0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.path:before,.path:after{content:"";position:absolute;left:11px;top:11px;height:0}.path:before{width:75%;border-top:1px dashed var(--line-strong)}.path:after{width:calc(75% * var(--p));border-top:2px solid var(--earth);top:10px;transition:width .5s ease}.step{position:relative;display:flex;flex-direction:column;gap:2px;padding-right:12px;z-index:1}.step .node{width:12px;height:12px;margin:6px 0 12px 5px;transition:all .3s ease}.step-label{font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.step-note{font-size:.85rem;color:var(--muted);line-height:1.3}.step.done .node{background:var(--earth);border-color:var(--earth)}.step.done .step-label{color:var(--ink-soft)}.step.skipped .node{background:var(--cream);border:1px dashed var(--amber)}.step.skipped .step-note{color:var(--amber)}.step.current .node{width:22px;height:22px;margin:1px 0 7px;border-width:0;background:var(--earth);box-shadow:0 0 0 5px #4a3b3124;animation:here 2.4s ease-in-out infinite}.step.current .step-label{color:var(--ink)}.step.current .step-note{font-family:var(--serif);font-size:1.4rem;color:var(--ink);line-height:1.15;margin-top:2px}.step.current.ok .node{background:var(--sage);box-shadow:0 0 0 5px #6c7a5833}.step.current.bad .node{background:var(--clay);box-shadow:0 0 0 5px #a8573c33}.step.current.bad .step-note{color:var(--clay)}.step.current.wait .step-note{font-style:italic}@keyframes here{50%{box-shadow:0 0 0 9px #4a3b310d}}.step.current.ok .node{animation-name:here-ok}.step.current.bad .node{animation-name:here-bad}@keyframes here-ok{50%{box-shadow:0 0 0 9px #6c7a580f}}@keyframes here-bad{50%{box-shadow:0 0 0 9px #a8573c0f}}@media(prefers-reduced-motion:reduce){.step.current .node{animation:none}}.detail{margin-top:16px;padding-left:14px;border-left:1px solid var(--line-strong);line-height:1.5;color:var(--ink-soft)}.detail.bad{color:var(--clay);border-left-color:var(--clay)}.run-row{display:flex;gap:48px;align-items:center}.run-circle{width:168px;height:168px;padding:0;border-radius:50%;flex:none;position:relative;border:1px solid var(--earth);background:#fffdf959;color:var(--earth)}.run-circle span{font-family:var(--serif);font-size:2.2rem;letter-spacing:.02em}.run-circle:before{content:"";position:absolute;left:50%;top:-6px;width:11px;height:11px;margin-left:-6px;border-radius:50%;background:var(--earth)}.run-circle:hover:not(:disabled){background:#fffdf9b3}.run-circle.running{background:var(--earth);color:var(--cream)}.run-circle.running:before{background:var(--cream);border:1px solid var(--earth)}.run-circle.running:hover:not(:disabled){background:#3a2e26}.counter{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.counter-value{font-family:var(--serif);font-size:4.6rem;line-height:.9;font-variant-numeric:lining-nums tabular-nums}.keys{margin:22px 0 6px}.schemes{display:flex;flex-direction:column;gap:12px;margin-top:26px}.scheme-options{display:flex;gap:12px;flex-wrap:wrap}.scheme{display:inline-flex;align-items:center;gap:12px;padding:7px 18px 7px 7px;border-color:var(--line)}.scheme.active{border-color:var(--earth);background:#fffdf999}.swatch{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line)}.swatch span{width:11px;height:11px;border-radius:50%}.slider{display:flex;flex-direction:column;gap:10px;margin-top:26px}.slider-head{display:flex;justify-content:space-between;align-items:baseline}.slider-value{font-family:var(--serif);font-size:1.5rem;font-variant-numeric:lining-nums}.slider-value .small{font-family:var(--sans);font-size:.8rem}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;margin:0;background:transparent;cursor:pointer}input[type=range]:disabled{cursor:default;opacity:.5}input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--line-strong)}input[type=range]::-moz-range-track{height:1px;background:var(--line-strong)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--cream);border:1px solid var(--earth)}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--cream);border:1px solid var(--earth)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px #4a3b3126}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 6px #4a3b3126}.section-title{font-size:1.7rem;margin-bottom:18px}.run-row{flex-wrap:wrap}.run-row .preview-wrap{margin-left:auto}.choice{display:flex;flex-wrap:wrap;gap:10px}.choice button{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-color:var(--line)}.choice button.active{border-color:var(--earth);background:var(--earth);color:var(--cream)}.choice.patterns button{flex-direction:column;gap:4px;padding:10px 14px 8px;border-radius:18px;min-width:104px}.choice.patterns button span{font-size:.85rem}.toggles{display:flex;flex-wrap:wrap;gap:18px 40px}.toggle{display:inline-flex;align-items:center;gap:12px;cursor:pointer}.toggle.disabled{opacity:.5;cursor:default}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{width:46px;height:26px;border-radius:999px;border:1px solid var(--line-strong);position:relative;flex:none;transition:background-color .2s}.toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--cream);border:1px solid var(--earth);transition:transform .2s}.toggle input:checked+.toggle-track{background:var(--earth);border-color:var(--earth)}.toggle input:checked+.toggle-track .toggle-knob{transform:translate(20px)}.toggle input:focus-visible+.toggle-track{box-shadow:0 0 0 4px #4a3b3126}.toggle-note{display:block}.sound-settings{margin-top:20px;transition:opacity .2s}.sound-settings.off{opacity:.5}.colors{display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:20px}.color-field{display:inline-flex;align-items:center;gap:12px;cursor:pointer}.color-swatch{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);overflow:hidden;flex:none}.color-swatch input{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;width:calc(100% + 16px);height:calc(100% + 16px);opacity:0;cursor:pointer;border:0;padding:0}.preview-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.preview{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--line-strong);box-shadow:0 8px 24px #3c2d231f;transition:background-color .4s}.preview-dot{position:absolute;left:50%;top:50%;border-radius:50%;will-change:transform}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.chip{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px}.chip button{border:0;border-radius:999px;padding:8px 6px 8px 18px}.chip button.chip-x{padding:8px 14px 8px 8px;color:var(--muted);font-size:1.1rem;line-height:1}.chip button.chip-x:hover{color:var(--clay)}.preset-form{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}.preset-form input{flex:1;min-width:200px;font:inherit;padding:6px 0;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-strong);outline:none}.tabs{display:flex;gap:28px;padding:4px 0 6px;border-bottom:1px solid var(--line);margin-bottom:8px}.tabs a{color:var(--ink-soft);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;font-weight:500;letter-spacing:.02em}.tabs a.active{color:var(--ink);border-bottom-color:var(--earth)}.tabs a:hover{color:var(--ink)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 28px;padding:26px 0 6px}.page-head h1{font-size:2.8rem;margin-right:auto}.page-head>div:first-child{margin-right:auto}.page-head p{margin-top:6px}.back{display:inline-block;margin-top:18px;color:var(--ink-soft);text-decoration:none}.back:hover{color:var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.room-for{margin-top:18px;font-family:var(--serif);font-size:1.35rem}.room-for .eyebrow{margin-right:8px;font-family:var(--sans)}.empty{padding:12px 0}.badge{display:inline-block;margin-left:10px;padding:1px 10px;border-radius:999px;font-size:.8rem;border:1px solid var(--line-strong);color:var(--ink-soft);vertical-align:1px}.badge.done{border-color:var(--sage);color:var(--sage)}.badge.cancelled{border-color:var(--clay);color:var(--clay)}.warn-text{color:var(--clay)}a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--line-strong)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px 22px;align-items:end}.form-grid .section-title,.form-grid .full{grid-column:1 / -1;margin-bottom:0}.form-grid .wide{grid-column:span 2}.form-grid label,.target{display:flex;flex-direction:column;gap:6px}.form-grid input,.form-grid select,.target input,.search,.inline-form input{font:inherit;padding:6px 0 8px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;outline:none;min-width:0}.form-grid select{cursor:pointer}.form-grid input:focus,.form-grid select:focus,.target input:focus,.search:focus{border-bottom-color:var(--earth)}.form-actions{display:flex;gap:20px;align-items:center}.inline-form{display:inline-flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.actions-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.button-like{display:inline-block;padding:10px 22px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink);text-decoration:none}.button-like:hover{border-color:var(--earth)}button.danger-outline{color:var(--clay);border-color:#a8573c73}.week-nav{display:flex;align-items:center;gap:12px}.week-nav button:not(.link){width:40px;height:40px;padding:0}.week-label{font-family:var(--serif);font-size:1.4rem;min-width:11em;text-align:center}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:18px}.day{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px 10px;min-height:190px;display:flex;flex-direction:column;gap:8px}.day.today{border-color:var(--earth)}.day-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 4px}.day-num{font-family:var(--serif);font-size:1.6rem;line-height:1}.day.today .day-num{color:var(--clay)}.slot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:#fffdf9b3}.slot:hover{border-color:var(--earth)}.slot-time{font-family:var(--serif);font-size:1.15rem;font-variant-numeric:lining-nums}.slot-name{font-weight:500;line-height:1.2;word-break:break-word}.slot-meta{font-size:.8rem;color:var(--ink-soft)}.slot.done{border-left:3px solid var(--sage)}.slot.cancelled{opacity:.55;text-decoration:line-through;text-decoration-color:#3c2d2366}.day-add{margin-top:auto;align-self:center;width:34px;height:34px;padding:0;border-color:var(--line);color:var(--muted);opacity:0;transition:opacity .15s}.day:hover .day-add,.day-add:focus-visible{opacity:1}.list-tools{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-bottom:10px}.search{flex:1;min-width:220px;font-size:1.05rem}.client-list,.session-list{list-style:none;margin:0;padding:0}.client-row,.session-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;text-align:left;border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 4px;background:none}.client-list li:first-child .client-row,.session-list li:first-child .session-row{border-top:0}.client-row:hover,.session-row:hover{background:#fffdf980}.client-row .node{background:var(--earth);border-color:var(--earth)}.client-name{font-family:var(--serif);font-size:1.45rem}.client-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto;font-size:.9rem;color:var(--ink-soft)}.client-head h1{font-size:3rem}.session-date{font-family:var(--serif);font-size:1.25rem;min-width:12em}.session-score{margin-left:auto;font-family:var(--serif);font-size:1.3rem;font-variant-numeric:lining-nums}.session-row.cancelled{opacity:.55}.consent-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;line-height:1.5}.consent-line>span:nth-child(2){flex:1;min-width:240px}.consent.ok .node{background:var(--sage);border-color:var(--sage)}.consent.missing{border-color:#a8573c73}.consent.missing .node{background:var(--clay);border-color:var(--clay)}.consent-form{margin-top:18px}textarea.note{width:100%;font:inherit;line-height:1.55;color:var(--ink);padding:14px 16px;resize:vertical;background:#fffdf9a6;border:1px solid var(--line);border-radius:16px;outline:none}textarea.note:focus{border-color:var(--earth)}textarea.note:disabled{opacity:.55}.note-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.target{margin-bottom:22px}.scales{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}.scale-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.scale-value{font-family:var(--serif);font-size:2rem;line-height:1;font-variant-numeric:lining-nums}.scale-row{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}.scale-row button{padding:0;aspect-ratio:1;min-height:30px;border-radius:50%;border-color:var(--line);font-variant-numeric:lining-nums tabular-nums;font-size:.9rem}.scale-row button.active{background:var(--earth);border-color:var(--earth);color:var(--cream)}.scale-ends{display:flex;justify-content:space-between;margin-top:6px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.legend{display:flex;gap:22px;font-size:.9rem;color:var(--ink-soft)}.legend i,.tooltip i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:0}.chart-plot{position:relative}.chart-plot svg{display:block;width:100%;height:auto;overflow:visible}.chart-plot .axis{font-family:var(--sans);font-size:11px;fill:var(--muted)}.chart-plot .direct{font-family:var(--sans);font-size:12px;fill:var(--ink-soft)}.tooltip{position:absolute;top:8px;pointer-events:none;background:var(--cream);border:1px solid var(--line-strong);border-radius:12px;padding:8px 12px;font-size:.88rem;box-shadow:0 6px 18px #3c2d231f;min-width:140px}.tooltip-date{font-family:var(--serif);font-size:1.05rem;margin-bottom:2px}.tooltip-target{margin-top:4px;color:var(--ink-soft);max-width:220px}.data-table{width:100%;border-collapse:collapse;font-variant-numeric:lining-nums}.data-table th{text-align:left;font-weight:500;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line-strong)}.data-table td{padding:10px 8px;border-bottom:1px solid var(--line)}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.95rem}.auth-links a,.login a{color:var(--ink-soft)}.login label.check,.check{flex-direction:row;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.45}.check input{margin-top:3px;width:16px;height:16px;accent-color:var(--earth);flex:none}.login input.code-input{font-family:var(--serif);font-size:2rem;letter-spacing:.4em;text-align:center}.topbar a.user{color:var(--ink-soft);text-decoration:none;font-size:.9rem}.topbar a.user:hover,.topbar a.user.active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.trial-banner{margin:2px 0 8px;padding:8px 16px;border-radius:999px;background:#fffdf98c;border:1px solid var(--line);font-size:.9rem;color:var(--ink-soft);width:fit-content}.sub-status{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.sub-title{font-family:var(--serif);font-size:1.8rem}.subscription.trial .node,.subscription.active .node{background:var(--sage);border-color:var(--sage)}.subscription.expired .node{background:var(--clay);border-color:var(--clay)}.subscription.expired{border-color:#a8573c73}.price-line{margin:22px 0 6px}.price{font-family:var(--serif);font-size:2.4rem}.subscription .data-table{margin-top:18px}.legal-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px}.legal-links a{color:var(--ink-soft)}@media(max-width:600px){.panel{padding:22px 18px;border-radius:22px}.topbar .brand .eyebrow{display:none}.share{grid-template-columns:1fr}.share-actions{justify-content:space-between}.run-row{gap:28px}.run-circle{width:132px;height:132px}.run-circle span{font-size:1.9rem}.counter-value{font-size:3.6rem}.path{grid-template-columns:1fr;gap:14px}.path:before{left:11px;top:11px;width:0;height:calc(100% - 40px);border-top:0;border-left:1px dashed var(--line-strong)}.path:after{left:10px;top:11px;width:0;height:calc((100% - 40px) * var(--p));border-top:0;border-left:2px solid var(--earth)}.step{display:grid;grid-template-columns:30px 1fr;column-gap:8px}.step .node{grid-row:span 2}.step.current .step-note{font-size:1.2rem}.hero h1{font-size:2.6rem}.run-row .preview-wrap{margin:4px auto 0;width:100%}.page-head h1,.client-head h1{font-size:2.3rem}.tabs{gap:18px;overflow-x:auto}.week{grid-template-columns:1fr}.day{min-height:0}.day-add{opacity:1;align-self:flex-start}.week-label{min-width:0;font-size:1.15rem}.form-grid .wide{grid-column:1 / -1}.scales{grid-template-columns:1fr}.client-meta{margin-left:0;width:100%}.session-date{min-width:0}.choice.patterns button{min-width:0;flex:1 1 28%}}
