:root{--porcelana: #f7f4f8;--ink: #17121b;--accent: #b32a9d;--accent-soft: rgba(179, 42, 157, .14);--line: rgba(23, 18, 27, .14);--line-strong: rgba(23, 18, 27, .32);--muted: rgba(23, 18, 27, .56);--font-display: "Geologica", system-ui, sans-serif;--font-logo: "Syne", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}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{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.3rem 2.2rem;pointer-events:none}.lab-topbar a,.lab-topbar span{pointer-events:auto}.lab-logo{font-family:var(--font-logo);font-weight:800;font-size:1.8rem;letter-spacing:.01em;color:var(--ink);text-decoration:none;line-height:1}.lab-logo em{color:var(--accent);font-style:normal}.lab-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.hairline{border:0;border-top:1px solid var(--line)}.big{font-weight:600;font-size:clamp(2rem,5.2vw,4.6rem);line-height:1.04;letter-spacing:-.02em}.kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.theme-toggle{width:1.9rem;height:1.9rem;border-radius:50%;margin-left:1rem;border:1.5px solid var(--line-strong);background:transparent;color:var(--muted);font-size:.85rem;line-height:1;cursor:pointer;pointer-events:auto;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)}.startgate{position:fixed;inset:0;z-index:90;border:0;cursor:pointer;background:#08050b8c;display:grid;place-content:center}.startgate span{font-family:var(--font-dialog);font-size:.85rem;letter-spacing:.34em;text-transform:uppercase;color:#f4eef6;border:1px solid rgba(244,238,246,.4);border-radius:999px;padding:.9rem 1.9rem;animation:gate-pulse 2.2s ease-in-out infinite}.startgate:hover span{border-color:#fff}@keyframes gate-pulse{50%{opacity:.55}}body.pre-start .stage,body.pre-start .lab-topbar{opacity:0}.stage,.lab-topbar{transition:opacity .8s ease}: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: #ffffff;--ease-out: cubic-bezier(.215, .61, .355, 1);--err: #c8285f}.stage{position:fixed;inset:0;z-index:10;pointer-events:none}.convo{position:absolute;left:var(--dialog-x);top:50%;width:var(--dialog-w);--gap: calc(var(--r) * 2.667)}.line-wrap{position:relative;margin:0;font:var(--dialog-weight) var(--dialog-size) / 1.1 var(--font-dialog);letter-spacing:var(--dialog-tracking);color:var(--ink);transform-origin:left top;transition:transform .3s var(--ease-out);cursor:default}.convo.expanded .line-wrap{transform:scale(.9)}.line-wrap em{font:inherit;font-style:italic;color:var(--accent)}.line .w{display:inline;white-space:nowrap}.line .g{display:inline-block;opacity:0;transform:translateY(.16em);transition:opacity .14s ease,transform .22s var(--ease-out)}.line .g.on{opacity:1;transform:none}.caret{position:absolute;left:0;top:0;width:.42em;height:1em;background:var(--ink);opacity:0;pointer-events:none;transform-origin:left top}.caret.show{opacity:1;animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.prev,.prev-ghost{position:absolute;left:0;top:0;width:100%;margin:0;font:var(--dialog-weight) var(--dialog-size) / 1.1 var(--font-dialog);letter-spacing:var(--dialog-tracking);color:var(--ink);transform-origin:left top;pointer-events:none;-webkit-user-select:none;user-select:none}.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{outline:0;filter:blur(1px)}.prev.lift{transform:none;filter:blur(0);opacity:1;transition:none}.prev.return{transform:none;filter:blur(0);opacity:1}.prev-ghost{opacity:0;filter:blur(4px)}.content{position:relative;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)}.content.show{opacity:1;transform:none;pointer-events:auto;transition-delay:.1s}.choices{display:flex;flex-wrap:wrap;gap:.4em .4em;max-width:100%;font-size:var(--chip-size)}.chip{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5em;font:400 var(--chip-size) / 1.25 var(--font-dialog);letter-spacing:0;color:#000;background:var(--chip-bg);border:1px solid transparent;border-radius:999px;padding:.375em 1.333em;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s var(--ease-out)}@media(hover:hover){.chip:hover{background:#000;color:#fff;border-color:#000}}.chip:active{transform:scale(.97)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.-ghost{background:transparent;color:#000000b8;border-color:#00000047}@media(hover:hover){.chip.-ghost:hover{background:#000;color:#fff;border-color:#000}}.chip.-ghost svg{width:1em;height:1em;opacity:.85}.chip.-done,.chip.-done:hover{background:var(--accent);border-color:var(--accent);color:#fff}.chip.-file{cursor:pointer}.chip.-two{flex-direction:column;align-items:flex-start;gap:.1em;padding:.5em 1.15em;border-radius:calc(var(--r) * 1.05);text-align:left}.choices:has(.chip.-two){gap:.3em}.convo.tall{top:33%}@media(max-height:760px){.convo.tall{top:26%}}.chip-sub{font-size:.82em;line-height:1.2;opacity:.62;letter-spacing:0;font-variant-numeric:tabular-nums}@media(hover:hover){.chip.-two:hover .chip-sub{opacity:.78}}.hint{position:absolute;top:100%;left:0;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;transform:translateY(4px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.hint.show{opacity:1;transform:none}.hint em{font-style:italic}.inputs{display:grid;gap:calc(var(--r) * .6);width:100%}.inputs[hidden]{display:none}.field{position:relative;padding-top:calc(var(--r) * .5);border-bottom:1px solid #000;transition:border-color .25s}.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;background:transparent;border:0;outline:none;padding:5px 0;resize:none}.field input::placeholder,.field textarea::placeholder{color:#00000073}.field input[type=month]{color-scheme:light}.field input[type=month]:invalid,.field input[type=month]:not(:valid){color:#17121b73}.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus,.field input:-webkit-autofill:active,.field textarea:-webkit-autofill{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#000;caret-color:#000;transition:background-color 100000s ease-in-out 0s,color 100000s ease-in-out 0s}.field input:autofill,.field textarea:autofill{background:transparent;color:#000}.field-err{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-3px);transition:grid-template-rows .34s var(--ease-out),opacity .26s ease,transform .34s var(--ease-out)}.field-err-in{overflow:hidden;min-height:0;transition:padding .34s var(--ease-out);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.field.invalid .field-err{grid-template-rows:1fr;opacity:1;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-radius:999px;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);padding:.34em .72em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-out)}.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 .01s}.field.invalid.-shown{animation:none}}.field-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}.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{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:calc(var(--r) * .4)}.arrow-btn{margin-left:auto;width:calc(var(--r) * 3.6);height:calc(var(--r) * 2.2);border-radius:999px;border:1px solid transparent;background:var(--chip-bg);color:#000;font:400 var(--r) / 1 var(--font-dialog);cursor:pointer;display:grid;place-items:center;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s var(--ease-out)}.arrow-btn span{transition:transform .22s var(--ease-out)}@media(hover:hover){.arrow-btn:hover{background:#000;color:#fff;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{position:fixed;left:0;bottom:var(--consent-h, 0px);z-index:60;width:100%;height:4px;background:#000;opacity:1;transform:scaleX(var(--progress, 0));transform-origin:left bottom;transition:transform .45s var(--ease-out)}.back-circle{position:fixed;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);border-radius:50%;border:1px solid rgba(23,18,27,.12);background:var(--chip-bg);color:var(--ink);font:500 1rem / 1 var(--font-dialog);cursor:pointer;opacity:0;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .35s,background .22s,border-color .22s,color .22s,transform .22s var(--ease-out)}.back-circle.show{opacity:1;pointer-events:auto}@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{max-width:100%;min-width:0}}@media(max-width:820px){:root{--r: 16.5px;--dialog-size: 1.5rem;--dialog-x: 1.25rem;--chip-size: .92rem;--field-size: 1.1rem}.convo{left:var(--dialog-x);right:var(--dialog-x);width:auto;top:auto;bottom:calc(5.6rem + var(--consent-h, 0px));--gap: 1.1rem}.prev{transform:translateY(calc(-100% - var(--gap))) scale(.78)}.chip{padding:.55em 1.2em}.chip.-two{padding:.45em 1em}.chip-sub{font-size:.78em}.convo.tall{top:auto}.choices{max-width:100%;min-width:0}.back-circle{bottom:1.1rem}}@media(prefers-reduced-motion:reduce){.line .g{transition:none}.prev,.content,.line-wrap{transition-duration:.01ms}}
