:root{--brand:#d81f54;--brand-soft:#fdeaf1;--brand-border:#f7a6bf;--brand-text:#b7173d;--surface-page:#f8fafc;--surface-card:#fff;--surface-sunken:#f1f5f9;--border-subtle:#f1f5f9;--border-default:#e2e8f0;--border-strong:#cbd5e1;--text-heading:#0f172a;--text-body:#334155;--text-muted:#64748b;--text-subtle:#94a3b8;--color-danger:#dc2626;--color-danger-soft:#fee2e2;--color-success-soft:#dcfce7;--color-sky-700:#0d74a1;--font-sans:"Assistant", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--surface-page);color:var(--text-heading);-webkit-font-smoothing:antialiased;overflow-x:hidden}@media (pointer:coarse){.field,input.field,select.field,textarea.field{font-size:16px}}button,input,select,textarea{font-family:var(--font-sans)}.field{background:var(--surface-card);border:1px solid var(--border-strong);width:100%;color:var(--text-heading);border-radius:10px;padding:11px 13px;font-size:15px;line-height:1.4}.field:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.field--locked{background:var(--surface-sunken);color:var(--text-body)}select.field{cursor:pointer}.cta{cursor:pointer;background:var(--brand);color:#fff;border:none;border-radius:12px;width:100%;min-height:48px;padding:15px 16px;font-size:16px;font-weight:700}.cta:disabled{background:var(--border-strong);color:var(--text-subtle);cursor:not-allowed}.opt{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-heading);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:14px 16px;font-size:15px;transition:border-color .12s,background-color .12s;display:flex}.opt:hover{border-color:var(--brand)}.opt:disabled{opacity:.55;cursor:default}.opt--inline{flex:none;width:auto;padding:11px 14px}.opt--cal{flex:1;justify-content:center;padding:11px 8px;font-size:13px;font-weight:600;text-decoration:none}.choice{text-align:start;border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-heading);cursor:pointer;border-radius:10px;min-height:44px;padding:13px 14px;font-size:14.5px}.choice.is-on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text);font-weight:600}.slot{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-heading);cursor:pointer;border-radius:10px;min-height:44px;padding:13px 0;font-size:15px;font-weight:600;transition:border-color .12s,background-color .12s}.slot:hover{border-color:var(--brand);background:var(--brand-soft)}.slot:disabled{opacity:.55;cursor:default}.link{color:var(--color-sky-700);cursor:pointer;background:0 0;border:none;padding:8px;font-size:14px;font-weight:600}.daystrip{scrollbar-width:none;gap:8px;padding:10px 18px 14px;display:flex;overflow-x:auto}.daystrip::-webkit-scrollbar{display:none}.day{border:1px solid var(--border-default);background:var(--surface-card);width:66px;color:var(--text-heading);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:1px;padding:9px 0;display:flex}.day.is-on{border-color:var(--brand);background:var(--brand);color:#fff}.day.is-full{opacity:.45;cursor:not-allowed}.day__rel{opacity:.75;font-size:11px}.day__num{font-size:17px;font-weight:700;line-height:1.3}.day__count{opacity:.7;font-size:10px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:root{--form-radius:16px;--form-radius-sm:12px}.hero{background:linear-gradient(160deg, var(--brand-soft) 0%, #fff6f9 60%, var(--surface-card) 100%);border-bottom:1px solid var(--brand-border);padding:22px 18px 20px}.hero__title{color:var(--brand-text);letter-spacing:-.01em;margin:0 0 10px;font-size:22px;font-weight:800;line-height:1.32}.hero__line{color:var(--text-body);margin:0 0 5px;font-size:14.5px;line-height:1.6}.hero__line:last-child{margin-bottom:0}.progress{z-index:5;background:var(--border-subtle);height:3px;position:-webkit-sticky;position:sticky;top:0}.progress__fill{background:var(--brand);border-radius:0 3px 3px 0;height:100%;transition:width .35s cubic-bezier(.4,0,.2,1)}.q{flex-direction:column;display:flex}.q__label{color:var(--text-heading);font-size:16px;font-weight:700;line-height:1.4}.q__label--bad{color:var(--color-danger)}.q__req{color:var(--brand);font-weight:700}.q__help{color:var(--text-muted);margin:5px 0 0;font-size:13.5px;line-height:1.55}.q__body{margin-top:11px}.topic{border:1px solid var(--border-default);border-radius:var(--form-radius);background:var(--surface-card);transition:border-color .15s,box-shadow .15s;overflow:hidden}.topic+.topic{margin-top:9px}.topic.is-on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.topic.is-bad{border-color:var(--color-danger)}.topic__btn{cursor:pointer;text-align:start;width:100%;min-height:56px;color:var(--text-heading);background:0 0;border:none;align-items:center;gap:11px;padding:15px;font-size:15.5px;line-height:1.4;display:flex}.topic.is-on .topic__btn{color:var(--brand-text);font-weight:700}.topic__mark{border:1.5px solid var(--border-strong);background:var(--surface-card);color:#0000;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:13px;transition:background-color .15s,border-color .15s,color .15s;display:grid}.topic.is-on .topic__mark{background:var(--brand);border-color:var(--brand);color:#fff}.topic__answer{border-top:1px dashed var(--brand-border);background:#fffafc;flex-direction:column;gap:14px;padding:4px 15px 15px;animation:.22s cubic-bezier(.4,0,.2,1) reveal;display:flex}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.topic__answer{animation:none}.progress__fill{transition:none}}.topic__answer .q__label{font-size:14.5px;font-weight:600}.topic__answer .q__help{font-size:12.5px}.topic__answer .q__body{margin-top:8px}.field{transition:border-color .12s,box-shadow .12s}.field--error{border-color:var(--color-danger);background:#fffbfb}.field--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}textarea.field{resize:none;min-height:108px;line-height:1.6}.counter{color:var(--text-subtle);font-variant-numeric:tabular-nums;align-self:flex-end;margin-top:5px;font-size:11.5px}.counter--near{color:var(--color-danger)}.picker{border-radius:var(--form-radius);cursor:pointer;border:1.5px dashed var(--brand-border);color:var(--brand-text);background:#fffafc;justify-content:center;align-items:center;gap:9px;min-height:60px;padding:18px;font-size:14.5px;font-weight:600;transition:border-color .15s,background-color .15s;display:flex}.picker:hover,.picker:focus-within{border-color:var(--brand);background:var(--brand-soft)}.tiles{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px;margin:10px 0 0;padding:0;list-style:none;display:grid}.tile{aspect-ratio:1;border-radius:var(--form-radius-sm);background:var(--surface-sunken);border:1px solid var(--border-default);place-items:center;display:grid;position:relative;overflow:hidden}.tile--error{border-color:var(--color-danger)}.tile img{object-fit:cover;width:100%;height:100%}.tile__icon{font-size:26px}.tile__name{left:0;right:0;color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#0009);padding:12px 6px 4px;font-size:10px;position:absolute;bottom:0;overflow:hidden}.tile__x{top:4px;cursor:pointer;color:#fff;background:#0f172a9e;border:none;border-radius:999px;place-items:center;width:26px;height:26px;font-size:12px;display:grid;position:absolute}.tile__x:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4px}.tile__x:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4px}.tile__x:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4px}.tile__x:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4px}.tile__x:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4px}.tile__x:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4px}.tile__x:hover{background:var(--color-danger)}.tile__progress{left:0;right:0;background:#ffffff80;height:3px;position:absolute;bottom:0}.tile__progress span{background:var(--brand);height:100%;display:block}.tile__err{color:var(--color-danger);text-align:center;background:#fee2e2f2;place-items:center;padding:6px;font-size:10.5px;line-height:1.35;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.consent{border-radius:var(--form-radius);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-body);cursor:pointer;align-items:flex-start;gap:12px;padding:15px;font-size:14px;line-height:1.6;transition:border-color .15s,background-color .15s;display:flex}.consent.is-on{border-color:var(--brand);background:#fffafc}.consent--error{border-color:var(--color-danger);background:#fffbfb}.consent input{width:21px;height:21px;accent-color:var(--brand);cursor:pointer;flex:none;margin-top:2px}.bar__hint{color:var(--text-muted);text-align:center;font-size:12.5px;line-height:1.45}.bar__hint--bad{color:var(--color-danger)}.cta{transition:background-color .15s,transform 80ms}.cta:not(:disabled):active{transform:scale(.985)}.done{text-align:center;padding:42px 22px}.done__ring{background:var(--brand-soft);border-radius:999px;place-items:center;width:84px;height:84px;margin:0 auto 18px;font-size:38px;animation:.4s cubic-bezier(.34,1.56,.64,1) pop;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.done__ring{animation:none}}.done__title{color:var(--brand-text);margin:0 0 10px;font-size:21px;font-weight:800}.done__sub{color:var(--text-body);margin:0;font-size:15px;line-height:1.6}
