:root{--porcelana:#f7f4f8;--ink:#17121b;--accent:#b32a9d;--accent-soft:#b32a9d24;--line:#17121b24;--line-strong:#17121b52;--muted:#17121b8f;--font-display:"Geologica", system-ui, sans-serif;--font-logo:"Syne", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--porcelana)}body{font-family:var(--font-display);background:var(--porcelana);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--porcelana)}.lab-topbar{z-index:50;pointer-events:none;justify-content:space-between;align-items:center;padding:1.3rem 2.2rem;display:flex;position:fixed;inset:0 0 auto}.lab-topbar a,.lab-topbar span{pointer-events:auto}.lab-logo{color:var(--ink);align-items:center;line-height:1;text-decoration:none;display:inline-flex}.lab-logo svg{width:auto;height:1.48rem;display:block}.lab-logo em{color:var(--accent);font-style:normal}.lab-tag{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.hairline{border:0;border-top:1px solid var(--line)}.big{letter-spacing:-.02em;font-size:clamp(2rem,5.2vw,4.6rem);font-weight:600;line-height:1.04}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.theme-toggle{border:1.5px solid var(--line-strong);width:1.9rem;height:1.9rem;color:var(--muted);cursor:pointer;pointer-events:auto;background:0 0;border-radius:50%;margin-left:1rem;font-size:.85rem;line-height:1;transition:background .25s,border-color .25s,color .25s,transform .2s}.theme-toggle:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}.stage,.lab-topbar{transition:opacity .9s}:root{--font-dialog:"Archivo", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--r:clamp(14.3px, calc((9px + .4167vw) * 1.1), 23px);--dialog-size:calc(var(--r) * 1.7333);--dialog-w:clamp(22rem, 31vw, 46rem);--dialog-x:calc(var(--r) * 2.667);--chip-size:calc(var(--r) * .9);--field-size:var(--r);--dialog-weight:380;--dialog-tracking:-.005em;--chip-bg:#fff;--ease-out:cubic-bezier(.215, .61, .355, 1);--err:#c8285f}.stage{z-index:10;pointer-events:none;position:fixed;inset:0}.stage-track{display:contents}.convo{left:var(--dialog-x);width:var(--dialog-w);--gap:calc(var(--r) * 2.667);position:absolute;top:50%}.line-wrap{font:var(--dialog-weight) var(--dialog-size) / 1.1 var(--font-dialog);letter-spacing:var(--dialog-tracking);color:var(--ink);transform-origin:0 0;transition:transform .3s var(--ease-out);cursor:default;margin:0;position:relative}.convo.expanded .line-wrap{transform:scale(.9)}.line-wrap em{font:inherit;color:var(--accent);font-style:italic}.line .w{white-space:nowrap;display:inline}.line .g{opacity:0;display:inline-block}.line .g.on{opacity:1}.line .g.-blk{background:var(--ink);color:var(--ink)}.caret{background:var(--ink);opacity:0;pointer-events:none;transform-origin:0 0;width:.4em;height:.875em;position:absolute;top:0;left:0}.caret.show{opacity:1;animation:1s linear infinite caret-blink}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.prev,.prev-ghost{width:100%;font:var(--dialog-weight) var(--dialog-size) / 1.1 var(--font-dialog);letter-spacing:var(--dialog-tracking);color:var(--ink);transform-origin:0 0;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute;top:0;left:0}.prev{opacity:0;cursor:pointer;transform:translateY(calc(-100% - var(--gap))) scale(.8);filter:blur(4px);transition:transform .3s var(--ease-out), filter .3s var(--ease-out), opacity .3s var(--ease-out)}.prev.show{opacity:1;pointer-events:auto}.prev.-locked{pointer-events:none;cursor:default}@media (hover:hover){.prev.show:hover{filter:blur(2.5px)}}.prev:focus-visible{filter:blur(1px);outline:0}.prev.lift{filter:blur();opacity:1;transition:none;transform:none}.prev.return{filter:blur();opacity:1;transform:none}.prev-ghost{opacity:0;filter:blur(4px)}.content{margin-top:calc(var(--r) * 1.333);opacity:0;transform:translateY(calc(var(--r) * 1.333));pointer-events:none;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);position:relative}.content.show{opacity:1;pointer-events:auto;transition-delay:.1s;transform:none}.choices{max-width:100%;font-size:var(--chip-size);display:block}.chip{appearance:none;cursor:pointer;vertical-align:top;font:400 var(--chip-size) / 1.25 var(--font-dialog);letter-spacing:0;color:#000;background:var(--chip-bg);border:1px solid #0000;border-radius:999px;align-items:center;gap:1em;margin:0 .2em .4em;padding:.5em 1.5em;transition:background .22s,color .22s,border-color .22s;display:inline-flex}@media (hover:hover){.chip:hover{color:#fff;background:#000;border-color:#000}}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.-ghost{color:#000000b8;background:0 0;border-color:#00000047}@media (hover:hover){.chip.-ghost:hover{color:#fff;background:#000;border-color:#000}}.chip.-ghost svg{opacity:.85;width:1em;height:1em}.chip.-done,.chip.-done:hover{background:var(--accent);border-color:var(--accent);color:#fff}.chip.-file{cursor:pointer}.chip.-two{border-radius:calc(var(--r) * 1.05);text-align:left;flex-direction:column;align-items:flex-start;gap:.1em;padding:.5em 1.15em}.choices:has(.chip.-two) .chip{margin-bottom:.3em}.convo.tall{top:33%}@media (max-height:760px){.convo.tall{top:26%}}.chip-sub{opacity:.62;letter-spacing:0;font-variant-numeric:tabular-nums;font-size:.82em;line-height:1.2}@media (hover:hover){.chip.-two:hover .chip-sub{opacity:.78}}.hint{margin:calc(var(--r) * .7) 0 0;max-width:30ch;font:400 calc(var(--r) * .86) / 1.4 var(--font-dialog);color:#0000008c;opacity:0;transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);position:absolute;top:100%;left:0;transform:translateY(4px)}.hint.show{opacity:1;transform:none}.hint em{font-style:italic}.inputs{gap:calc(var(--r) * .6);width:100%;display:grid}.inputs[hidden]{display:none}.field{padding-top:calc(var(--r) * .5);border-bottom:1px solid #000;transition:border-color .25s;position:relative}.field:focus-within{border-color:#000}.field input,.field textarea{width:100%;font:400 var(--field-size) / 1.3 var(--font-dialog);letter-spacing:0;color:#000;resize:none;background:0 0;border:0;outline:none;padding:5px 0}.field input::placeholder,.field textarea::placeholder{color:#00000073}.field input[type=month]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.field input[type=month]:invalid,.field input[type=month]:not(:valid){color:#17121b73}.field input:-webkit-autofill{-webkit-text-fill-color:#000;caret-color:#000;-webkit-background-clip:text;background-clip:text;transition:background-color 100000s ease-in-out,color 100000s ease-in-out}.field input:-webkit-autofill:hover{-webkit-text-fill-color:#000;caret-color:#000;-webkit-background-clip:text;background-clip:text;transition:background-color 100000s ease-in-out,color 100000s ease-in-out}.field input:-webkit-autofill:focus{-webkit-text-fill-color:#000;caret-color:#000;-webkit-background-clip:text;background-clip:text;transition:background-color 100000s ease-in-out,color 100000s ease-in-out}.field input:-webkit-autofill:active{-webkit-text-fill-color:#000;caret-color:#000;-webkit-background-clip:text;background-clip:text;transition:background-color 100000s ease-in-out,color 100000s ease-in-out}.field textarea:-webkit-autofill{-webkit-text-fill-color:#000;caret-color:#000;-webkit-background-clip:text;background-clip:text;transition:background-color 100000s ease-in-out,color 100000s ease-in-out}:-webkit-any(.field input:-webkit-autofill,.field textarea:-webkit-autofill){color:#000;background:0 0}:is(.field input:autofill,.field textarea:autofill){color:#000;background:0 0}.field-err{opacity:0;transition:grid-template-rows .34s var(--ease-out), opacity .26s ease, transform .34s var(--ease-out);grid-template-rows:0fr;display:grid;transform:translateY(-3px)}.field-err-in{min-height:0;transition:padding .34s var(--ease-out);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex;overflow:hidden}.field.invalid .field-err{opacity:1;grid-template-rows:1fr;transform:none}.field.invalid.-shown .field-err-in{padding-top:.42rem;padding-bottom:.3rem}.field-err-msg{font:400 calc(var(--r) * .68) / 1.4 var(--font-dialog);letter-spacing:.01em;color:color-mix(in srgb, var(--err) 82%, var(--muted))}.field-fix{appearance:none;cursor:pointer;border:1px solid color-mix(in srgb, var(--err) 34%, transparent);background:color-mix(in srgb, var(--err) 8%, transparent);color:var(--err);font:500 calc(var(--r) * .68) / 1 var(--font-dialog);white-space:nowrap;text-overflow:ellipsis;max-width:100%;transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s var(--ease-out);border-radius:999px;padding:.34em .72em;overflow:hidden}.field-fix:hover{background:var(--err);border-color:var(--err);color:#fff;transform:translateY(-1px)}.field-fix:active{transform:none}.field-fix:focus-visible{outline:2px solid var(--err);outline-offset:2px}.field-fix[hidden]{display:none}.field.invalid{border-color:var(--err)}.field.invalid.-shown{animation:field-flash .55s var(--ease-out)}@keyframes field-flash{0%{box-shadow:0 1px 0 0 var(--err)}35%{box-shadow:0 2px 0 0 var(--err)}to{box-shadow:0 0 #c8285f00}}@media (prefers-reduced-motion:reduce){.field-err{transition:opacity 10ms}.field.invalid.-shown{animation:none}}.field-note a{color:inherit;text-underline-offset:2px;text-decoration:underline}.field-note a:hover{color:var(--ink)}.field-note{font:400 calc(var(--r) * .8) / 1.35 var(--font-dialog);color:var(--muted);max-width:22rem}.actions{margin-top:calc(var(--r) * .4);flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.arrow-btn{width:calc(var(--r) * 3.6);height:calc(var(--r) * 2.2);background:var(--chip-bg);color:#000;font:400 var(--r) / 1 var(--font-dialog);cursor:pointer;transition:background .22s ease, color .22s ease, border-color .22s ease, transform .22s var(--ease-out);border:1px solid #0000;border-radius:999px;place-items:center;margin-left:auto;display:grid}.arrow-btn span{transition:transform .22s var(--ease-out)}@media (hover:hover){.arrow-btn:hover{color:#fff;background:#000;border-color:#000}.arrow-btn:hover span{transform:translate(2px)}}.arrow-btn:active{transform:scale(.95)}.arrow-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.progress{left:0;bottom:var(--consent-h,0px);z-index:60;opacity:1;width:100%;height:4px;transform:scaleX(var(--progress,0));transform-origin:0 100%;transition:transform .45s var(--ease-out);background:#000;position:fixed}.back-circle{left:var(--dialog-x);bottom:calc(clamp(1.4rem, 4vh, 2.4rem) + var(--consent-h,0px));z-index:59;width:calc(var(--r) * 2.6);height:calc(var(--r) * 2.6);background:var(--chip-bg);color:var(--ink);font:500 1rem / 1 var(--font-dialog);cursor:pointer;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(8px);transition:opacity .35s, background .22s, border-color .22s, color .22s, transform .22s var(--ease-out);border:1px solid #17121b1f;border-radius:50%;position:fixed}.back-circle.show{opacity:1;pointer-events:auto}.back-circle{justify-content:center;align-items:center;padding:0;display:flex}.back-circle svg{width:45%;height:45%;display:block}@media (hover:hover){.back-circle:hover{background:var(--ink);color:#fff;border-color:var(--ink)}}@media (max-height:640px){.convo{top:42%}}@media (max-width:1100px){:root{--dialog-w:clamp(20rem, 42vw, 30rem)}.choices{min-width:0;max-width:100%}}@media (max-width:1024px){:root{--r:15px;--dialog-size:calc(var(--r) * 1.4667);--dialog-x:calc(var(--r) * 1.333);--chip-size:calc(var(--r) * .8);--field-size:16px;--card-pad:calc(var(--r) * 1.333);--card-bottom:calc(var(--consent-h,0px) + var(--vv-bottom,0px))}.stage-track{z-index:10;transition:transform .3s var(--ease-out);will-change:transform;display:block;position:fixed;inset:0;overflow:hidden}.stage-track.-scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow:hidden auto}.stage-track.-scroll:after{content:"";width:1px;height:1px;position:absolute;top:100%;left:0}.stage-track.-scroll .convo{overscroll-behavior:auto}body.m-start .stage-track{transform:translateY(calc(50% + 8px))}body.m-compact .stage-track{transform:translateY(30%)}.stage{inset:calc(50% - 8px) 0 var(--card-bottom) 0;pointer-events:auto;padding:0 0 calc(var(--r) * 2.667 + var(--card-pad) * 1.5 + env(safe-area-inset-bottom,0px));background:#fff;border-radius:8px 8px 0 0;flex-direction:column;display:flex;position:absolute;overflow:hidden}body.m-start .stage,body.m-compact .stage{padding-bottom:0}body.m-start .back-circle,body.m-start .lab-foot,body.m-compact .lab-foot{opacity:0!important;pointer-events:none!important}.convo,.convo.tall{--gap:1.1rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:auto;min-height:0;padding:var(--card-pad) var(--card-pad) calc(var(--card-pad) * .5);flex:auto;position:relative;top:auto;left:auto;overflow:hidden auto}.prev,.prev-ghost{display:none}.hint{margin-top:calc(var(--r) * .8);max-width:none;position:static}.choices{min-width:0;max-width:100%}.chip{color:#fff;background:#000;border:0}.chip.-two{padding:.5em 1.15em}.chip-sub{opacity:.7;font-size:.78em}.chip.-ghost{color:#000;background:#fff;border:1px solid #0003}.chip.-ghost svg{opacity:1}.chip.-done,.chip.-done:hover{background:var(--accent);border-color:var(--accent);color:#fff}.arrow-btn{color:#fff;background:#000;border-color:#000}.field-note{max-width:none}.back-circle{left:var(--card-pad);bottom:calc(var(--card-pad) + env(safe-area-inset-bottom,0px) + var(--card-bottom));width:calc(var(--r) * 2.667);height:calc(var(--r) * 2.667);background:var(--ink);color:#fff;border-color:var(--ink);-webkit-backdrop-filter:none}.progress{bottom:var(--card-bottom)}.chip,.arrow-btn,.back-circle,.field-fix,.field input,.field textarea{touch-action:manipulation}}@media (max-width:1024px) and (max-height:480px){.stage{padding-bottom:calc(var(--r) * 2.2 + var(--card-pad) * .9 + env(safe-area-inset-bottom,0px))}.convo,.convo.tall{padding-top:calc(var(--card-pad) * .7)}.back-circle{width:calc(var(--r) * 2.2);height:calc(var(--r) * 2.2);bottom:calc(var(--card-pad) * .6 + env(safe-area-inset-bottom,0px) + var(--card-bottom))}}@media (prefers-reduced-motion:reduce){.line .g{transition:none}.prev,.content,.line-wrap{transition-duration:.01ms}}
