.soro-app,.soro-app[data-theme=default]{--bg:#f4f6f3;--surface:#fcfdfb;--surface-muted:#eaeee9;--surface-brand:#0d3d22;--on-brand:#eef4ef;--on-brand-muted:#a9cdb6;--ink:#0f1a14;--ink-muted:#4f5e54;--ink-subtle:#627167;--ink-inverse:#eef4ef;--line:#dde3dc;--line-strong:#7f8c83;--primary:#137a46;--primary-hover:#0f6a3c;--primary-pressed:#0b5a33;--on-primary:#fcfdfb;--primary-soft:#dcf2e4;--on-primary-soft:#0b5230;--spark:#f2b134;--spark-hover:#f5c04f;--on-spark:#1c1405;--spark-soft:#fdf1d6;--on-spark-soft:#7a4f06;--success:#0f7a63;--success-soft:#d9f2ea;--on-success-soft:#0a5646;--warning:#b84f0a;--warning-soft:#fde8d7;--on-warning-soft:#8f3d06;--danger:#c92f3c;--danger-soft:#fbe3e4;--on-danger-soft:#9c1f2b;--info:#2a62d4;--info-soft:#e1eafc;--on-info-soft:#1d4aa6;--aro:#2d3a8c;--on-aro:#f4f5fc;--aro-soft:#e6e8f7;--on-aro-soft:#242f78;--cowrie:#f3ead6;--cowrie-line:#8a6a2f;--focus:#2a62d4;--scrim:#09110c7a;--bubble-own:var(--primary);--on-bubble-own:var(--on-primary);--bubble-other:var(--surface-muted);--on-bubble-other:var(--ink);--soro-deep-green:#0d3d22;--soro-forest:#1a5c38;--soro-amber:#c8862a;--soro-cream:#faf6ee;--soro-ink:#141414;--soro-green-950:#07210f;--soro-green-900:#0a2e19;--soro-green-800:#0d3d22;--soro-green-700:#14492a;--soro-green-600:#1a5c38;--soro-green-500:#2e7049;--soro-green-400:#4e8a66;--soro-green-300:#8fb3a0;--soro-green-200:#c3d6ca;--soro-green-100:#deeae2;--soro-amber-700:#9c6818;--soro-amber-600:#b0761f;--soro-amber-500:#c8862a;--soro-amber-400:#d89a47;--soro-amber-200:#eccf9e;--soro-amber-100:#f4e6cf;--soro-paper:#fffcf6;--soro-cream-100:#faf6ee;--soro-cream-200:#f3ecdf;--soro-cream-300:#e8decb;--soro-cream-400:#d9cdb4;--soro-ink-900:#141414;--soro-slate:#6a7269;--soro-slate-light:#8b9389;--soro-success:#1a5c38;--soro-warning:#c8862a;--soro-danger:#b24430;--soro-danger-bg:#f6e2dc;--bg-page:var(--bg);--bg-page-dark:var(--surface-brand);--surface-card:var(--surface);--surface-sunken:var(--surface-muted);--surface-tint:var(--primary-soft);--surface-amber:var(--spark-soft);--surface-inverse:var(--surface-brand);--text-display:var(--ink);--text-heading:var(--ink);--text-muted:var(--ink-muted);--text-on-dark:var(--on-brand);--text-on-dark-muted:var(--on-brand-muted);--text-accent:var(--on-spark-soft);--border-subtle:var(--line);--border-on-dark:#faf6ee29;--divider:var(--line);--accent:var(--spark);--accent-hover:var(--spark-hover);--accent-pressed:var(--primary-pressed);--focus-ring:var(--focus);--shadow-xs:0 1px 2px #0f1a140f;--shadow-sm:0 1px 3px #0f1a1414;--shadow-md:0 4px 16px #0f1a1414;--shadow-lg:0 12px 32px #0f1a141f;--shadow-xl:0 24px 56px #0f1a1429;--shadow-amber:0 6px 20px #f2b13459;--shadow-inset:inset 0 1px 0 #ffffff80}.soro-app[data-theme=dark]{--bg:#09110c;--surface:#101b14;--surface-muted:#16241b;--surface-brand:#123d27;--on-brand:#e7efe9;--on-brand-muted:#9fc4ad;--ink:#e7efe9;--ink-muted:#a3b4a8;--ink-subtle:#86978b;--ink-inverse:#0f1a14;--line:#23332a;--line-strong:#5d7064;--primary:#4ccf8a;--primary-hover:#6bdba0;--primary-pressed:#3ab877;--on-primary:#05200f;--primary-soft:#153724;--on-primary-soft:#8fe4b6;--spark:#f5bf4f;--spark-hover:#f8cc6e;--on-spark:#1c1405;--spark-soft:#3a2c10;--on-spark-soft:#f8d38a;--success:#3fcfae;--success-soft:#0f3a31;--on-success-soft:#86e6cf;--warning:#f59a4f;--warning-soft:#3d2210;--on-warning-soft:#fbbf8c;--danger:#f06b73;--danger-soft:#3e1519;--on-danger-soft:#f8a8ad;--info:#6f9cf5;--info-soft:#16264a;--on-info-soft:#a9c4fa;--aro:#2b3386;--on-aro:#eef0fd;--aro-soft:#1a2150;--on-aro-soft:#bcc5fa;--cowrie:#efe4c9;--cowrie-line:#6d5423;--focus:#6f9cf5;--scrim:#000000a3;--bubble-own:var(--primary);--on-bubble-own:var(--on-primary);--bubble-other:var(--surface-muted);--on-bubble-other:var(--ink);--bg-page:var(--bg);--bg-page-dark:var(--surface-brand);--surface-card:var(--surface);--surface-sunken:var(--surface-muted);--surface-tint:var(--primary-soft);--surface-amber:var(--spark-soft);--surface-inverse:var(--surface-brand);--text-display:var(--ink);--text-heading:var(--ink);--text-muted:var(--ink-muted);--text-on-dark:var(--on-brand);--text-on-dark-muted:var(--on-brand-muted);--text-accent:var(--on-spark-soft);--border-subtle:var(--line);--divider:var(--line);--accent:var(--spark);--accent-hover:var(--spark-hover);--accent-pressed:var(--primary-pressed);--focus-ring:var(--focus);--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 32px #0009;--shadow-xl:0 24px 56px #0009;--shadow-amber:0 6px 20px #f5bf4f40}.soro-app{--border-strong:2px;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-12:7rem;--border-hairline:1px;--border-regular:1.5px;--container-sm:640px;--container-md:840px;--container-lg:1080px;--container-xl:1280px;--gutter:1.5rem;--tap-min:44px;--appbar-h:56px;--tabbar-h:64px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:40px;--radius-pill:999px;--radius-circle:50%;--dur-fast:.14s;--dur-base:.22s;--dur-slow:.4s;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.45, .05, .25, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--opsz-display:144;--opsz-text:32;--font-display:var(--font-unbounded), "Unbounded", var(--font-onest), system-ui, sans-serif;--font-body:var(--font-onest), "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-body:1rem;--text-display-2xl:4.5rem;--text-display-xl:3.5rem;--text-display-lg:3rem;--text-h1:1.75rem;--text-h2:1.25rem;--text-h3:1.0625rem;--text-body-lg:1.125rem;--text-body-sm:.875rem;--text-caption:.75rem;--text-overline:.6875rem}
.soro-app,.soro-app *,.soro-app :before,.soro-app :after{box-sizing:border-box}body.soro-body-bg,.soro-app{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}.soro-display,.soro-h1,.soro-h2,.soro-h3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0}.soro-display{font-weight:700;font-size:var(--text-display-lg);letter-spacing:-.02em;line-height:1.05}.soro-h1{font-weight:700;font-size:var(--text-h1);line-height:1.2}.soro-h2{font-weight:600;font-size:var(--text-h2);line-height:1.2}.soro-h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-h3);line-height:1.2}.soro-lead{font-size:var(--text-body-lg);line-height:1.65}.soro-body{font-size:var(--text-body);line-height:1.5}.soro-caption{font-size:var(--text-caption);color:var(--ink-muted)}.soro-overline{letter-spacing:.1em;text-transform:uppercase;color:var(--on-spark-soft);font-size:11px;font-weight:700}:where(.soro-app) a{color:var(--primary);text-underline-offset:2px}.soro-app ::selection{background:var(--spark-soft);color:var(--ink)}.soro-icon{vertical-align:middle;flex:none;display:inline-block}.soro-focus:focus-visible,.soro-btn:focus-visible,.soro-iconbtn:focus-visible,.soro-tab:focus-visible,.soro-tabbar__item:focus-visible,.soro-slot:focus-visible,.soro-avail__cell:focus-visible,.soro-row:focus-visible,.soro-plan:focus-visible,.soro-tag--interactive:focus-visible,.soro-card--interactive:focus-visible,.soro-voice__play:focus-visible,.soro-rec__btn:focus-visible,.soro-react:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.soro-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.soro-root *,.soro-btn,.soro-sheet,.soro-toast,.soro-celebrate__ring,.soro-celebrate__check,.soro-skel{transition:none!important;animation:none!important}}.soro-btn{--h:44px;height:var(--h);border-radius:var(--radius-pill);font:600 15px/1 var(--font-body);letter-spacing:0;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.soro-btn:active:not(:disabled){transform:scale(.98)}.soro-btn:disabled,.soro-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.soro-btn--sm{--h:36px;padding:0 14px;font-size:14px}.soro-btn--lg{--h:52px;padding:0 24px;font-size:16px}.soro-btn--full{width:100%}.soro-btn .soro-icon{width:18px;height:18px}.soro-btn--primary{background:var(--primary);color:var(--on-primary)}.soro-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.soro-btn--primary:active:not(:disabled){background:var(--primary-pressed)}.soro-btn--secondary{background:var(--primary-soft);color:var(--on-primary-soft)}.soro-btn--secondary:hover:not(:disabled){border-color:var(--primary)}.soro-btn--outline{color:var(--ink);border-color:var(--line-strong);background:0 0}.soro-btn--outline:hover:not(:disabled){border-color:var(--ink)}.soro-btn--ghost{color:var(--primary);background:0 0}.soro-btn--ghost:hover:not(:disabled){background:var(--primary-soft);color:var(--on-primary-soft)}.soro-btn--spark{background:var(--spark);color:var(--on-spark);box-shadow:var(--shadow-amber)}.soro-btn--spark:hover:not(:disabled){background:var(--spark-hover)}.soro-btn--danger{background:var(--danger-soft);color:var(--on-danger-soft)}.soro-btn--danger:hover:not(:disabled){border-color:var(--danger)}.soro-btn__spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite soro-spin}@keyframes soro-spin{to{transform:rotate(360deg)}}.soro-iconbtn{--s:44px;width:var(--s);height:var(--s);border-radius:var(--radius-circle);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:relative}.soro-iconbtn:active:not(:disabled){transform:scale(.94)}.soro-iconbtn:disabled{opacity:.4;cursor:not-allowed}.soro-iconbtn--sm{--s:36px}.soro-iconbtn--lg{--s:52px}.soro-iconbtn .soro-icon{width:22px;height:22px}.soro-iconbtn--sm .soro-icon{width:18px;height:18px}.soro-iconbtn--ghost:hover:not(:disabled),.soro-iconbtn--soft{background:var(--surface-muted)}.soro-iconbtn--soft:hover:not(:disabled){background:var(--primary-soft);color:var(--on-primary-soft)}.soro-iconbtn--solid{background:var(--primary);color:var(--on-primary)}.soro-iconbtn--solid:hover:not(:disabled){background:var(--primary-hover)}.soro-iconbtn--outline{border-color:var(--line-strong)}.soro-iconbtn__badge{border-radius:var(--radius-pill);background:var(--danger);min-width:18px;height:18px;color:var(--surface);font:700 11px/18px var(--font-body);text-align:center;box-shadow:0 0 0 2px var(--surface);padding:0 5px;position:absolute;top:4px;right:2px}.soro-iconbtn__dot{background:var(--spark);width:9px;height:9px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:9px;right:9px}.soro-badge{border-radius:var(--radius-pill);height:24px;font:600 12px/1 var(--font-body);white-space:nowrap;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.soro-badge .soro-icon{width:14px;height:14px}.soro-badge__dot{background:currentColor;border-radius:50%;width:7px;height:7px}.soro-badge--primary,.soro-badge--green{background:var(--primary-soft);color:var(--on-primary-soft)}.soro-badge--spark,.soro-badge--amber{background:var(--spark-soft);color:var(--on-spark-soft)}.soro-badge--solid{background:var(--surface-brand);color:var(--on-brand)}.soro-badge--neutral{background:var(--surface-muted);color:var(--ink-muted)}.soro-badge--success{background:var(--success-soft);color:var(--on-success-soft)}.soro-badge--warning{background:var(--warning-soft);color:var(--on-warning-soft)}.soro-badge--danger{background:var(--danger-soft);color:var(--on-danger-soft)}.soro-badge--info{background:var(--info-soft);color:var(--on-info-soft)}.soro-badge--live{background:var(--spark);color:var(--on-spark)}.soro-badge--live .soro-badge__dot{animation:soro-pulse 1.6s var(--ease-in-out) infinite}@keyframes soro-pulse{50%{opacity:.3}}.soro-tag{border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);height:36px;font:500 14px/1 var(--font-body);color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:0 14px;display:inline-flex}.soro-tag--interactive{cursor:pointer}.soro-tag--interactive:hover{border-color:var(--line-strong)}.soro-tag--selected{background:var(--primary-soft);color:var(--on-primary-soft);border-color:var(--primary)}.soro-tag__remove{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:2px;display:inline-flex}.soro-tag__remove .soro-icon{width:14px;height:14px}.soro-avatar{border-radius:var(--radius-circle);font-family:var(--font-body);-webkit-user-select:none;user-select:none;background:var(--primary-soft);color:var(--on-primary-soft);flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative}.soro-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.soro-avatar--xs{width:24px;height:24px;font-size:10px}.soro-avatar--sm{width:32px;height:32px;font-size:12px}.soro-avatar--md{width:44px;height:44px;font-size:15px}.soro-avatar--lg{width:64px;height:64px;font-size:22px}.soro-avatar--spark,.soro-avatar--amber{background:var(--spark-soft);color:var(--on-spark-soft)}.soro-avatar--info{background:var(--info-soft);color:var(--on-info-soft)}.soro-avatar--brand,.soro-avatar--green{background:var(--surface-brand);color:var(--on-brand)}.soro-avatar--slate{background:var(--surface-muted);color:var(--ink-muted)}.soro-avatar--ring{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--spark)}.soro-avatar__role{background:var(--spark);width:18px;height:18px;color:var(--on-spark);box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}.soro-avatar__role .soro-icon{width:11px;height:11px}.soro-avatar-group{align-items:center;display:inline-flex}.soro-avatar-group>.soro-avatar{box-shadow:0 0 0 2px var(--surface)}.soro-avatar-group>.soro-avatar+.soro-avatar{margin-left:-8px}.soro-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:16px}.soro-card--pad-sm{padding:12px}.soro-card--pad-lg{padding:24px}.soro-card--pad-none{padding:0}.soro-card--raised{box-shadow:var(--shadow-sm);border-color:#0000}.soro-card--flat{box-shadow:none}.soro-card--tint{background:var(--primary-soft);color:var(--on-primary-soft);border-color:#0000}.soro-card--amber{background:var(--spark-soft);color:var(--on-spark-soft);border-color:#0000}.soro-card--muted{background:var(--surface-muted);border-color:#0000}.soro-card--dark,.soro-card--brand{background:var(--surface-brand);color:var(--on-brand);border-color:#0000}.soro-card--interactive{cursor:pointer}.soro-card--interactive:hover{border-color:var(--line-strong)}.soro-card--interactive:active{transform:scale(.99)}.soro-field{font-family:var(--font-body);flex-direction:column;gap:6px;min-width:0;display:flex}.soro-field__label{color:var(--ink);font-size:14px;font-weight:600}.soro-field__hint{color:var(--ink-muted);font-size:13px}.soro-field__error{color:var(--danger);align-items:center;gap:6px;font-size:13px;display:inline-flex}.soro-field__error .soro-icon{width:14px;height:14px}.soro-input-wrap{align-items:center;display:flex;position:relative}.soro-input-wrap>.soro-icon{width:20px;height:20px;color:var(--ink-muted);pointer-events:none;position:absolute;left:14px}.soro-input,.soro-select select{width:100%;min-height:48px;font:400 16px/1.4 var(--font-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:12px 14px}.soro-input--lead{padding-left:44px}.soro-input::placeholder{color:var(--ink-subtle)}.soro-input:hover:not(:disabled),.soro-select select:hover:not(:disabled){border-color:var(--ink-muted)}.soro-input:focus,.soro-select select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.soro-input:disabled,.soro-select select:disabled{background:var(--surface-muted);color:var(--ink-muted);cursor:not-allowed}.soro-input--invalid,.soro-input--invalid:hover{border-color:var(--danger)!important}.soro-input--invalid:focus{box-shadow:0 0 0 3px var(--danger-soft)}textarea.soro-input{resize:vertical;min-height:104px;line-height:1.5}.soro-select{position:relative}.soro-select select{appearance:none;cursor:pointer;padding-right:44px}.soro-select__chevron{pointer-events:none;color:var(--ink-muted);display:inline-flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.soro-select__chevron .soro-icon{width:20px;height:20px}.soro-check{min-height:24px;font:400 16px/1.4 var(--font-body);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:12px;display:inline-flex;position:relative}.soro-check input{opacity:0;width:1px;height:1px;position:absolute}.soro-check__box{border:1.5px solid var(--line-strong);background:var(--surface);width:24px;height:24px;color:var(--on-primary);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:7px;flex:none;justify-content:center;align-items:center;margin-top:-1px;display:inline-flex}.soro-check__box .soro-icon{opacity:0;width:16px;height:16px}.soro-check:hover .soro-check__box{border-color:var(--ink-muted)}.soro-check input:checked+.soro-check__box{background:var(--primary);border-color:var(--primary)}.soro-check input:checked+.soro-check__box .soro-icon{opacity:1}.soro-check input:focus-visible+.soro-check__box{outline:2px solid var(--focus);outline-offset:2px}.soro-check input:disabled~*{opacity:.5}.soro-check--radio .soro-check__box{border-radius:50%}.soro-check__dot{background:var(--on-primary);opacity:0;border-radius:50%;width:10px;height:10px}.soro-check--radio input:checked+.soro-check__box .soro-check__dot{opacity:1}.soro-switch{font:400 16px/1.4 var(--font-body);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:inline-flex;position:relative}.soro-switch input{opacity:0;width:1px;height:1px;position:absolute}.soro-switch__track{border-radius:var(--radius-pill);background:var(--line-strong);width:48px;height:28px;transition:background var(--dur-base) var(--ease-out);flex:none;position:relative}.soro-switch__thumb{background:var(--surface);width:22px;height:22px;box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.soro-switch input:checked+.soro-switch__track{background:var(--primary)}.soro-switch input:checked+.soro-switch__track .soro-switch__thumb{transform:translate(20px)}.soro-switch input:focus-visible+.soro-switch__track{outline:2px solid var(--focus);outline-offset:2px}.soro-switch input:disabled+.soro-switch__track{opacity:.5}.soro-banner{border-radius:var(--radius-md);font:400 15px/1.45 var(--font-body);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.soro-banner>.soro-icon{width:20px;height:20px;margin-top:1px}.soro-banner__body{flex:1;min-width:0}.soro-banner__title{margin-bottom:2px;font-weight:700}.soro-banner__action{margin-top:10px}.soro-banner__close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:2px;display:inline-flex}.soro-banner__close .soro-icon{width:18px;height:18px}.soro-banner--info{background:var(--info-soft);color:var(--on-info-soft)}.soro-banner--success{background:var(--success-soft);color:var(--on-success-soft)}.soro-banner--warning{background:var(--warning-soft);color:var(--on-warning-soft)}.soro-banner--danger{background:var(--danger-soft);color:var(--on-danger-soft)}.soro-tabs{border-radius:var(--radius-pill);background:var(--surface-muted);gap:2px;max-width:100%;padding:3px;display:inline-flex}.soro-tabs--full{display:flex}.soro-tabs--full .soro-tab{flex:1}.soro-tab{border-radius:var(--radius-pill);cursor:pointer;height:38px;font:600 14px/1 var(--font-body);color:var(--ink-muted);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:0 16px}.soro-tab:hover{color:var(--ink)}.soro-tab--active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.soro-tab__count{color:var(--primary);margin-left:6px;font-weight:700}.soro-tabs--underline{border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:24px;padding:0}.soro-tabs--underline .soro-tab{height:44px;box-shadow:none;background:0 0;border-radius:0;padding:0;position:relative}.soro-tabs--underline .soro-tab--active:after{content:"";background:var(--primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.soro-logo{line-height:0;display:inline-block}.soro-logo img{width:auto;height:100%;display:block}.soro-logo__dark,[data-theme=dark] .soro-logo__light{display:none!important}[data-theme=dark] .soro-logo__dark{display:block!important}.soro-phrase{border-radius:var(--radius-xl);font-family:var(--font-body);padding:24px;position:relative;overflow:hidden}.soro-phrase--light{background:var(--spark-soft);color:var(--ink)}.soro-phrase--dark{background:var(--surface-brand);color:var(--on-brand)}.soro-phrase__top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.soro-phrase__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--on-spark-soft);font-size:11px;font-weight:700}.soro-phrase--dark .soro-phrase__eyebrow{color:var(--spark)}.soro-phrase__dots{gap:6px;display:inline-flex}.soro-phrase__dots span{opacity:.35;background:currentColor;border-radius:50%;width:8px;height:8px}.soro-phrase__dots span:last-child{background:var(--spark);opacity:1}.soro-phrase--light .soro-phrase__dots span:last-child{background:var(--warning)}.soro-phrase__word{font:700 30px/1.15 var(--font-display);letter-spacing:-.02em;margin:0}.soro-phrase__translation{margin-top:10px;font-size:17px;line-height:1.45}.soro-phrase--light .soro-phrase__translation{color:var(--ink)}.soro-phrase--dark .soro-phrase__translation{color:var(--on-brand)}.soro-phrase__pron{color:var(--ink-muted);margin-top:6px;font-size:14px}.soro-phrase--dark .soro-phrase__pron{color:var(--on-brand-muted)}.soro-phrase__play{margin-top:18px}.soro-phrase--dark .soro-phrase__play .soro-btn--secondary{background:var(--spark);color:var(--on-spark)}.soro-appbar{min-height:var(--appbar-h);background:var(--bg);color:var(--ink);font-family:var(--font-body);align-items:center;gap:4px;padding:6px 8px 6px 16px;display:flex}.soro-appbar--back{padding-left:4px}.soro-appbar__titles{flex:1;min-width:0}.soro-appbar__title{font:700 18px/1.25 var(--font-body);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.soro-appbar__sub{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.soro-appbar--large{align-items:flex-start;padding-top:14px;padding-bottom:14px}.soro-appbar--large .soro-appbar__titles{padding-top:4px}.soro-appbar--large .soro-appbar__title{font:700 24px/1.2 var(--font-display);letter-spacing:-.02em;white-space:normal}.soro-appbar__spacer{flex:1}.soro-appbar__actions{align-items:center;gap:2px;display:flex}.soro-appbar--large .soro-appbar__actions{margin-left:auto}.soro-tabbar{height:var(--tabbar-h);background:var(--surface);border-top:1px solid var(--line);font-family:var(--font-body);align-items:stretch;display:flex}.soro-tabbar__item{cursor:pointer;min-width:0;color:var(--ink-muted);font:500 11px/1 var(--font-body);letter-spacing:-.01em;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 0;display:flex;position:relative}.soro-tabbar__pill{border-radius:var(--radius-pill);width:56px;height:30px;transition:background var(--dur-fast) var(--ease-out);place-items:center;display:grid}.soro-tabbar__pill .soro-icon{width:22px;height:22px}.soro-tabbar__item--active{color:var(--ink);font-weight:700}.soro-tabbar__item--active .soro-tabbar__pill{background:var(--primary-soft);color:var(--on-primary-soft)}.soro-tabbar__badge{border-radius:var(--radius-pill);background:var(--danger);min-width:18px;height:18px;color:var(--surface);font:700 11px/18px var(--font-body);box-shadow:0 0 0 2px var(--surface);padding:0 5px;position:absolute;top:4px;left:calc(50% + 8px)}.soro-tabbar__label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.soro-sidenav{background:var(--surface);border-right:1px solid var(--line);width:248px;height:100%;font-family:var(--font-body);flex-direction:column;gap:4px;padding:20px 14px;display:flex}.soro-sidenav__brand{justify-content:space-between;align-items:center;padding:4px 10px 20px;display:flex}.soro-sidenav__role{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:700}.soro-sidenav__item{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;min-height:50px;font:500 15px/1 var(--font-body);color:var(--ink-muted);background:0 0;border:0;align-items:center;gap:12px;padding:4px 12px;text-decoration:none;display:flex;position:relative}.soro-sidenav__item .soro-icon{width:20px;height:20px}.soro-sidenav__item:hover{background:var(--surface-muted);color:var(--ink)}.soro-sidenav__item--active{background:var(--primary-soft);color:var(--on-primary-soft);font-weight:700}.soro-sidenav__count{border-radius:var(--radius-pill);background:var(--danger);min-width:22px;height:22px;color:var(--surface);font:700 12px/22px var(--font-body);text-align:center;margin-left:auto;padding:0 7px}.soro-sidenav__spacer{flex:1}.soro-sidenav__foot{flex-direction:column;gap:10px;display:flex}.soro-row{background:var(--surface);text-align:left;width:100%;min-height:56px;color:var(--ink);font-family:var(--font-body);border:0;align-items:center;gap:12px;padding:10px 16px;display:flex}button.soro-row,a.soro-row{cursor:pointer;text-decoration:none}button.soro-row:hover,a.soro-row:hover{background:var(--surface-muted)}.soro-row__lead{background:var(--surface-muted);width:40px;height:40px;color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.soro-row__lead .soro-icon{width:20px;height:20px}.soro-row__text{flex:1;min-width:0}.soro-row__title{font-size:16px;font-weight:600;line-height:1.3}.soro-row__sub{color:var(--ink-muted);margin-top:2px;font-size:14px;line-height:1.35}.soro-row__trail{color:var(--ink-muted);flex:none;align-items:center;gap:8px;font-size:14px;display:flex}.soro-row__trail>.soro-icon{width:20px;height:20px}.soro-rows{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);overflow:hidden}.soro-rows>.soro-row+.soro-row{border-top:1px solid var(--line)}.soro-seats{font:600 13px/1 var(--font-body);align-items:center;gap:8px;display:inline-flex}.soro-seats__dots{gap:4px;display:inline-flex}.soro-seats__dot{border:1.5px solid var(--line-strong);border-radius:50%;width:10px;height:10px}.soro-seats__dot--on{border-color:var(--primary);background:var(--primary)}.soro-seats--running{color:var(--success)}.soro-seats--forming{color:var(--warning)}.soro-seats--forming .soro-seats__dot--on{border-color:var(--warning);background:var(--warning)}.soro-seats__sub{color:var(--ink-muted);font-weight:500}.soro-class{flex-direction:column;gap:14px;display:flex}.soro-class__head{align-items:flex-start;gap:14px;display:flex}.soro-class__date{text-align:center;background:var(--surface-muted);width:56px;color:var(--ink);font-family:var(--font-body);border-radius:14px;flex:none;padding:8px 0}.soro-class__dow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:700}.soro-class__day{font:700 22px/1.1 var(--font-display);margin-top:2px}.soro-class__info{flex:1;min-width:0}.soro-class__title{font:700 17px/1.3 var(--font-body);margin:0}.soro-class__meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:14px;display:flex}.soro-class__meta span{align-items:center;gap:5px;display:inline-flex}.soro-class__meta .soro-icon{width:16px;height:16px}.soro-class__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.soro-class__hint{color:var(--ink-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.soro-class__hint .soro-icon{width:16px;height:16px}.soro-class--live{border-color:var(--spark);box-shadow:0 0 0 1px var(--spark)}.soro-class--live .soro-class__date{background:var(--spark);color:var(--on-spark)}.soro-class--live .soro-class__dow{color:var(--on-spark)}.soro-class--locked .soro-class__date{opacity:.6}.soro-credits{align-items:center;gap:16px;display:flex}.soro-credits__num{font:700 36px/1 var(--font-display);letter-spacing:-.02em}.soro-credits__text{flex:1;min-width:0}.soro-credits__label{font-size:15px;font-weight:600}.soro-credits__sub{color:var(--ink-muted);margin-top:2px;font-size:14px}.soro-credits__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--on-aro-soft);margin-bottom:2px;font-size:11px;font-weight:700}.soro-credits__shells{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.soro-credits--empty .soro-credits__num{color:var(--warning)}.soro-access{border-radius:var(--radius-lg);font-family:var(--font-body);padding:16px}.soro-access--grace{background:var(--warning-soft);color:var(--on-warning-soft)}.soro-access--ended{background:var(--danger-soft);color:var(--on-danger-soft)}.soro-access__row{align-items:flex-start;gap:12px;display:flex}.soro-access__row>.soro-icon{width:22px;height:22px;margin-top:1px}.soro-access__body{flex:1;min-width:0}.soro-access__title{font-size:16px;font-weight:700;line-height:1.35}.soro-access__text{margin-top:2px;font-size:14px;line-height:1.45}.soro-access__timer{font:700 15px/1 var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:var(--radius-pill);background:var(--surface);color:var(--on-warning-soft);padding:6px 10px}.soro-access__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.soro-access--compact{padding:12px 14px}.soro-access--compact .soro-access__row{align-items:center}.soro-slots{font-family:var(--font-body)}.soro-slots__days{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.soro-slots__day{border:1.5px solid var(--line);background:var(--surface);text-align:center;cursor:pointer;width:56px;color:var(--ink);font-family:var(--font-body);border-radius:14px;flex:none;padding:8px 0}.soro-slots__day:hover{border-color:var(--line-strong)}.soro-slots__day--active{background:var(--surface-brand);border-color:var(--surface-brand);color:var(--on-brand)}.soro-slots__day:disabled{opacity:.4;cursor:not-allowed}.soro-slots__dow{letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-size:11px;font-weight:700}.soro-slots__dnum{font:700 18px/1.2 var(--font-display);margin-top:2px}.soro-slots__grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:16px;display:grid}.soro-slot{border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--ink);cursor:pointer;font:600 15px/1.2 var(--font-body);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;display:flex}.soro-slot:hover:not(:disabled){border-color:var(--primary)}.soro-slot__sub{color:var(--ink-muted);font-size:12px;font-weight:500}.soro-slot--selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.soro-slot--selected .soro-slot__sub{color:var(--on-primary)}.soro-slot:disabled{border-style:dashed;border-color:var(--line);color:var(--ink-subtle);cursor:not-allowed;text-decoration:line-through}.soro-slots__note{color:var(--ink-muted);align-items:flex-start;gap:8px;margin-top:14px;font-size:13px;line-height:1.45;display:flex}.soro-slots__note .soro-icon{width:16px;height:16px;margin-top:1px}.soro-avail{font-family:var(--font-body);overflow-x:auto}.soro-avail table{border-collapse:separate;border-spacing:4px}.soro-avail th{color:var(--ink-muted);text-align:center;padding:0 2px 2px;font-size:12px;font-weight:600}.soro-avail th[scope=row]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-right:6px}.soro-avail__cell{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;width:100%;min-width:40px;height:36px;color:var(--on-primary);border-radius:8px;padding:0;display:block}.soro-avail__cell:hover{border-color:var(--primary)}.soro-avail__cell--on{background:var(--primary);border-color:var(--primary)}.soro-avail__cell--booked{background:var(--surface-brand);border-color:var(--surface-brand);color:var(--on-brand);cursor:default}.soro-avail__cell .soro-icon{width:14px;height:14px}.soro-avail__legend{color:var(--ink-muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:13px;display:flex}.soro-avail__legend span{align-items:center;gap:6px;display:inline-flex}.soro-avail__legend i{border:1.5px solid var(--line);border-radius:4px;width:14px;height:14px;display:inline-block}.soro-msg{max-width:100%;font-family:var(--font-body);align-items:flex-end;gap:8px;display:flex}.soro-msg--own{flex-direction:row-reverse}.soro-msg__avatar{flex:none;width:32px}.soro-msg__col{flex-direction:column;align-items:flex-start;min-width:0;max-width:min(78%,480px);display:flex}.soro-msg--own .soro-msg__col{align-items:flex-end}.soro-msg__author{color:var(--ink-muted);align-items:center;gap:6px;margin:0 0 4px 12px;font-size:13px;font-weight:600;display:inline-flex}.soro-msg__bubble{overflow-wrap:anywhere;background:var(--bubble-other);color:var(--on-bubble-other);border-radius:20px 20px 20px 6px;padding:10px 14px;font-size:16px;line-height:1.45}.soro-msg--own .soro-msg__bubble{background:var(--bubble-own);color:var(--on-bubble-own);border-bottom-right-radius:6px;border-bottom-left-radius:20px}.soro-msg__bubble--media{padding:4px}.soro-msg__bubble--media .soro-msg__caption{padding:6px 10px 4px}.soro-msg__img{aspect-ratio:4/3;background:var(--surface-muted);object-fit:cover;border-radius:16px;width:100%;max-width:280px;display:block}.soro-msg__reply{background:var(--surface);color:var(--ink);border-left:3px solid;border-radius:10px;margin:0 0 8px;padding:6px 10px;font-size:14px}.soro-msg--own .soro-msg__reply{background:var(--primary-pressed);color:var(--on-primary)}.soro-msg__reply b{margin-bottom:1px;font-size:12px;display:block}.soro-msg__meta{color:var(--ink-muted);align-items:center;gap:6px;margin:4px 8px 0;font-size:12px;display:flex}.soro-msg__meta .soro-icon{width:14px;height:14px}.soro-msg__reactions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.soro-react{border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);height:26px;font:600 12px/1 var(--font-body);color:var(--ink);cursor:pointer;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.soro-react--mine{border-color:var(--primary);background:var(--primary-soft);color:var(--on-primary-soft)}.soro-chat-day{font:600 12px/1 var(--font-body);color:var(--ink-muted);align-items:center;gap:12px;display:flex}.soro-chat-day:before,.soro-chat-day:after{content:"";background:var(--line);flex:1;height:1px}.soro-announce{border-radius:var(--radius-lg);background:var(--info-soft);color:var(--on-info-soft);font-family:var(--font-body);padding:14px 16px}.soro-announce__head{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.soro-announce__head .soro-icon{width:16px;height:16px}.soro-announce__time{margin-left:auto;font-weight:500}.soro-announce__text{color:var(--ink);margin-top:6px;font-size:15px;line-height:1.45}.soro-announce--compact{align-items:center;gap:10px;padding:10px 14px;display:flex}.soro-announce--compact .soro-announce__text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;overflow:hidden}.soro-composer{background:var(--surface);border-top:1px solid var(--line);font-family:var(--font-body);align-items:flex-end;gap:6px;padding:8px;display:flex}.soro-composer__field{background:var(--surface-muted);border-radius:22px;flex:1;align-items:flex-end;min-width:0;min-height:44px;padding:0 4px 0 16px;display:flex}.soro-composer__field textarea{resize:none;min-width:0;color:var(--ink);font:400 16px/1.4 var(--font-body);background:0 0;border:0;outline:none;flex:1;max-height:120px;padding:11px 0}.soro-composer__field textarea::placeholder{color:var(--ink-subtle)}.soro-composer__field:focus-within{box-shadow:0 0 0 2px var(--focus)}.soro-composer__replying{background:var(--surface);border-top:1px solid var(--line);font:400 14px/1.3 var(--font-body);color:var(--ink-muted);align-items:center;gap:10px;margin:0 0 -1px;padding:8px 12px 8px 14px;display:flex}.soro-composer__replying b{color:var(--ink)}.soro-composer__replying>div{white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--primary);flex:1;min-width:0;padding-left:10px;overflow:hidden}.soro-composer--locked{color:var(--ink-muted);justify-content:center;align-items:center;gap:10px;padding:14px 16px;font-size:14px}.soro-composer--locked .soro-icon{width:18px;height:18px}.soro-composer__rec{background:var(--danger-soft);min-height:44px;color:var(--on-danger-soft);font:600 15px/1 var(--font-body);font-variant-numeric:tabular-nums;border-radius:22px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.soro-composer__recdot{background:var(--danger);width:10px;height:10px;animation:soro-pulse 1.2s var(--ease-in-out) infinite;border-radius:50%}.soro-msg--queued .soro-msg__bubble{opacity:.72}.soro-msg__meta--warn{color:var(--on-warning-soft)}.soro-msg__meta--fail{color:var(--danger);font-weight:600}.soro-msg__retry{cursor:pointer;font:700 12px/1 var(--font-body);color:var(--primary);text-underline-offset:2px;background:0 0;border:0;border-radius:6px;margin-left:2px;padding:4px 6px;text-decoration:underline}.soro-rec__status{border-radius:var(--radius-md);text-align:left;align-items:flex-start;gap:8px;width:100%;padding:10px 12px;font-size:14px;line-height:1.4;display:flex}.soro-rec__status .soro-icon{flex:none;width:18px;height:18px;margin-top:1px}.soro-rec__status--saved{background:var(--warning-soft);color:var(--on-warning-soft)}.soro-rec__status--failed{background:var(--danger-soft);color:var(--on-danger-soft)}.soro-seats--open{color:var(--warning)}.soro-voice{min-width:220px;max-width:100%;font-family:var(--font-body);align-items:center;gap:10px;display:inline-flex}.soro-voice--card{border-radius:var(--radius-lg);background:var(--surface-muted);width:100%;color:var(--ink);padding:10px 14px 10px 10px}.soro-voice__play{cursor:pointer;background:var(--primary);width:40px;height:40px;color:var(--on-primary);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.soro-voice__play .soro-icon{width:18px;height:18px}.soro-voice--own .soro-voice__play{background:var(--on-primary);color:var(--primary)}.soro-voice__wave{flex:1;align-items:center;gap:2px;min-width:0;height:28px;display:flex}.soro-voice__bar{opacity:.35;background:currentColor;border-radius:2px;flex:1;min-width:2px;max-width:4px}.soro-voice__bar--played{opacity:1}.soro-voice__time{font-variant-numeric:tabular-nums;opacity:.85;flex:none;font-size:13px;font-weight:600}.soro-rec{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);font-family:var(--font-body);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px 16px;display:flex}.soro-rec__time{font:700 28px/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.soro-rec__hint{color:var(--ink-muted);max-width:32ch;font-size:14px;line-height:1.45}.soro-rec__btn{cursor:pointer;background:var(--danger);width:72px;height:72px;color:var(--surface);box-shadow:0 0 0 6px var(--danger-soft);transition:transform var(--dur-fast) var(--ease-out);border:0;border-radius:50%;place-items:center;display:grid}.soro-rec__btn:active{transform:scale(.95)}.soro-rec__btn .soro-icon{width:30px;height:30px}.soro-rec--recording .soro-rec__btn{animation:soro-ring 1.6s var(--ease-in-out) infinite}@keyframes soro-ring{50%{box-shadow:0 0 0 12px var(--danger-soft)}}.soro-rec--recording .soro-rec__time{color:var(--danger)}.soro-rec__actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.soro-rec__live{height:32px;color:var(--danger);align-items:center;gap:3px;display:flex}.soro-rec__live span{width:4px;animation:soro-eq 1s var(--ease-in-out) infinite;background:currentColor;border-radius:2px}@keyframes soro-eq{50%{transform:scaleY(.35)}}.soro-assign{flex-direction:column;gap:10px;display:flex}.soro-assign__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.soro-assign__title{font:700 17px/1.3 var(--font-body);margin:0}.soro-assign__prompt{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.45;display:-webkit-box;overflow:hidden}.soro-assign__meta{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px;display:flex}.soro-assign__meta span{align-items:center;gap:5px;display:inline-flex}.soro-assign__meta .soro-icon{width:15px;height:15px}.soro-assign__meta .soro-assign__due--over{color:var(--danger);font-weight:600}.soro-assign__feedback{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.soro-assign__fbhead{color:var(--ink-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.soro-notif{background:var(--surface);font-family:var(--font-body);color:var(--ink);text-align:left;border:0;gap:12px;width:100%;padding:14px 16px;display:flex;position:relative}button.soro-notif{cursor:pointer}button.soro-notif:hover{background:var(--surface-muted)}.soro-notif__icon{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.soro-notif__icon .soro-icon{width:20px;height:20px}.soro-notif--class .soro-notif__icon{background:var(--primary-soft);color:var(--on-primary-soft)}.soro-notif--assignment .soro-notif__icon{background:var(--spark-soft);color:var(--on-spark-soft)}.soro-notif--community .soro-notif__icon{background:var(--info-soft);color:var(--on-info-soft)}.soro-notif--account .soro-notif__icon,.soro-notif--payment .soro-notif__icon{background:var(--surface-muted);color:var(--ink)}.soro-notif__body{flex:1;min-width:0}.soro-notif__title{font-size:15px;line-height:1.35}.soro-notif--unread .soro-notif__title{font-weight:700}.soro-notif__text{color:var(--ink-muted);margin-top:2px;font-size:14px;line-height:1.4}.soro-notif__time{color:var(--ink-muted);margin-top:6px;font-size:12px}.soro-notif__unread{background:var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;top:20px;right:16px}.soro-notif--unread .soro-notif__body{padding-right:20px}.soro-ref{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);font-family:var(--font-body);overflow:hidden}.soro-ref__hero{background:var(--surface-brand);color:var(--on-brand);padding:20px}.soro-ref__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--spark);font-size:11px;font-weight:700}.soro-ref__headline{font:700 22px/1.25 var(--font-display);letter-spacing:-.01em;margin:8px 0 0}.soro-ref__sub{color:var(--on-brand-muted);margin-top:8px;font-size:14px;line-height:1.45}.soro-ref__code{border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);align-items:center;gap:8px;margin-top:16px;padding:6px 6px 6px 16px;display:flex}.soro-ref__codeval{min-width:0;font:700 16px/1 var(--font-body);letter-spacing:.08em;flex:1}.soro-ref__stats{grid-template-columns:repeat(3,1fr);display:grid}.soro-ref__stat{text-align:left;padding:16px}.soro-ref__stat+.soro-ref__stat{border-left:1px solid var(--line)}.soro-ref__statnum{font:700 20px/1.1 var(--font-display);letter-spacing:-.01em}.soro-ref__statlabel{color:var(--ink-muted);margin-top:4px;font-size:12px}.soro-ref__foot{border-top:1px solid var(--line);color:var(--ink-muted);padding:12px 16px;font-size:13px;line-height:1.45}.soro-plan{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);border-radius:var(--radius-lg);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);padding:16px;display:block;position:relative}.soro-plan:hover{border-color:var(--line-strong)}.soro-plan--selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.soro-plan__top{align-items:flex-start;gap:12px;display:flex}.soro-plan__icon{background:var(--primary-soft);width:44px;height:44px;color:var(--on-primary-soft);border-radius:14px;flex:none;place-items:center;display:grid}.soro-plan__icon .soro-icon{width:22px;height:22px}.soro-plan__names{flex:1;min-width:0}.soro-plan__name{font:700 17px/1.25 var(--font-body)}.soro-plan__yo{color:var(--ink-muted);margin-top:2px;font-size:14px}.soro-plan__radio{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.soro-plan--selected .soro-plan__radio{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.soro-plan__radio .soro-icon{width:14px;height:14px}.soro-plan__desc{color:var(--ink-muted);margin:12px 0 0;font-size:15px;line-height:1.45}.soro-plan__facts{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.soro-plan__price{border-top:1px solid var(--line);align-items:baseline;gap:6px;margin-top:14px;padding-top:12px;display:flex}.soro-plan__amount{font:700 20px/1 var(--font-display);letter-spacing:-.01em}.soro-plan__period{color:var(--ink-muted);font-size:14px}.soro-plan__flag{position:absolute;top:-11px;right:16px}.soro-sheet-wrap{z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.soro-sheet-wrap--inline{position:absolute}.soro-sheet__scrim{background:var(--scrim);animation:soro-fade var(--dur-base) var(--ease-out);position:absolute;inset:0}.soro-sheet{background:var(--surface);width:100%;max-width:560px;max-height:88%;color:var(--ink);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);font-family:var(--font-body);animation:soro-rise var(--dur-base) var(--ease-out);padding:8px 20px 24px;position:relative;overflow:auto}.soro-sheet__grab{background:var(--line-strong);opacity:.6;border-radius:3px;width:40px;height:5px;margin:0 auto 12px}.soro-sheet__head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.soro-sheet__title{font:700 18px/1.3 var(--font-body);flex:1;margin:0}.soro-sheet__desc{color:var(--ink-muted);margin:0 0 16px;font-size:15px;line-height:1.45}.soro-sheet__foot{flex-direction:column;gap:8px;margin-top:20px;display:flex}@keyframes soro-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes soro-fade{0%{opacity:0}}.soro-toast{border-radius:var(--radius-md);background:var(--ink);max-width:480px;min-height:52px;color:var(--ink-inverse);box-shadow:var(--shadow-md);font:500 15px/1.35 var(--font-body);animation:soro-rise var(--dur-base) var(--ease-out);align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex}.soro-toast>.soro-icon{width:20px;height:20px}.soro-toast__msg{flex:1;min-width:0}.soro-toast__action{cursor:pointer;font:700 14px/1 var(--font-body);color:var(--ink-inverse);text-underline-offset:3px;background:0 0;border:0;border-radius:8px;flex:none;padding:10px;text-decoration:underline}.soro-empty{text-align:center;font-family:var(--font-body);flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.soro-empty__art{background:var(--surface-muted);width:88px;height:88px;color:var(--ink-muted);border-radius:50%;place-items:center;margin-bottom:8px;display:grid;position:relative}.soro-empty__art .soro-icon{width:34px;height:34px}.soro-empty__dots{background:var(--surface-brand);border-radius:12px;gap:3px;padding:5px 7px;display:flex;position:absolute;bottom:6px;right:-4px}.soro-empty__dots i{background:var(--on-brand);border-radius:50%;width:5px;height:5px}.soro-empty__dots i:last-child{background:var(--spark)}.soro-empty__title{font:700 18px/1.3 var(--font-body);margin:0}.soro-empty__body{color:var(--ink-muted);max-width:34ch;margin:0;font-size:15px;line-height:1.5}.soro-empty__action{margin-top:12px}.soro-skel{border-radius:var(--radius-xs);background:var(--surface-muted);display:block;position:relative;overflow:hidden}.soro-skel:after{content:"";background:linear-gradient(90deg, transparent, var(--surface), transparent);opacity:.6;animation:soro-shimmer 1.4s var(--ease-in-out) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes soro-shimmer{to{transform:translate(100%)}}.soro-skel-lines{flex-direction:column;gap:8px;display:flex}.soro-celebrate{text-align:center;font-family:var(--font-body);flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex}.soro-celebrate__ring{background:var(--primary-soft);width:96px;height:96px;animation:soro-pop var(--dur-slow) var(--ease-spring) both;border-radius:50%;place-items:center;margin-bottom:10px;display:grid;position:relative}.soro-celebrate__check{background:var(--primary);width:64px;height:64px;color:var(--on-primary);animation:soro-pop var(--dur-slow) var(--ease-spring) .12s both;border-radius:50%;place-items:center;display:grid}.soro-celebrate__check .soro-icon{width:32px;height:32px}.soro-celebrate__dots{background:var(--spark);animation:soro-pop var(--dur-slow) var(--ease-spring) .26s both;border-radius:12px;gap:3px;padding:5px 7px;display:flex;position:absolute;top:-2px;right:-10px}.soro-celebrate__dots i{background:var(--on-spark);border-radius:50%;width:5px;height:5px}.soro-celebrate__title{font:700 24px/1.2 var(--font-display);letter-spacing:-.02em;margin:0}.soro-celebrate__body{color:var(--ink-muted);max-width:32ch;margin:0;font-size:16px;line-height:1.5}.soro-celebrate__action{width:100%;max-width:320px;margin-top:14px}@keyframes soro-pop{0%{opacity:0;transform:scale(.4)}}.soro-cowrie{flex:none;display:inline-block}.soro-cowrie__shell{fill:var(--cowrie);stroke:var(--cowrie-line);stroke-width:1.4px}.soro-cowrie__slit{fill:none;stroke:var(--cowrie-line);stroke-width:1.6px;stroke-linecap:round}.soro-cowrie__teeth{fill:none;stroke:var(--cowrie-line);stroke-width:1.1px;stroke-linecap:round}.soro-cowrie--used .soro-cowrie__shell{fill:none;stroke:var(--line-strong);stroke-dasharray:2.5 2.5}.soro-cowrie--used .soro-cowrie__slit,.soro-cowrie--used .soro-cowrie__teeth{stroke:var(--line-strong);opacity:.5}.soro-adire{pointer-events:none;background:var(--aro);opacity:.16;position:absolute;inset:0;-webkit-mask-repeat:repeat;mask-repeat:repeat}.soro-adire--moons{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.2'%3E%3Ccircle cx='24' cy='24' r='9'/%3E%3Cpath d='M24 9v4M24 35v4M9 24h4M35 24h4'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='24' cy='24' r='2.4'/%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='48' cy='0' r='3'/%3E%3Ccircle cx='0' cy='48' r='3'/%3E%3Ccircle cx='48' cy='48' r='3'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.2'%3E%3Ccircle cx='24' cy='24' r='9'/%3E%3Cpath d='M24 9v4M24 35v4M9 24h4M35 24h4'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='24' cy='24' r='2.4'/%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='48' cy='0' r='3'/%3E%3Ccircle cx='0' cy='48' r='3'/%3E%3Ccircle cx='48' cy='48' r='3'/%3E%3C/g%3E%3C/svg%3E")}.soro-adire--grid{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M0 .8H32M.8 0V32'/%3E%3Cpath d='M10 10l12 12M22 10L10 22'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='16' cy='4' r='1.4'/%3E%3Ccircle cx='4' cy='16' r='1.4'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M0 .8H32M.8 0V32'/%3E%3Cpath d='M10 10l12 12M22 10L10 22'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='16' cy='4' r='1.4'/%3E%3Ccircle cx='4' cy='16' r='1.4'/%3E%3C/g%3E%3C/svg%3E")}.soro-adire--zigzag{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M0 12l8-8 8 8 8-8 8 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M0 24l8-8 8 8 8-8 8 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cg fill='%23000'%3E%3Ccircle cx='8' cy='28' r='1.5'/%3E%3Ccircle cx='24' cy='28' r='1.5'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M0 12l8-8 8 8 8-8 8 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M0 24l8-8 8 8 8-8 8 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cg fill='%23000'%3E%3Ccircle cx='8' cy='28' r='1.5'/%3E%3Ccircle cx='24' cy='28' r='1.5'/%3E%3C/g%3E%3C/svg%3E")}.soro-adire--light{opacity:.08;background:#fff}.soro-adire--spark{background:var(--spark);opacity:.22}.soro-aso{background:var(--aso);flex:none;width:100%}.soro-lesson-label{border-radius:var(--radius-pill);background:var(--aro-soft);height:24px;color:var(--on-aro-soft);font:700 12px/1 var(--font-body);white-space:nowrap;align-items:center;padding:0 10px;display:inline-flex}.soro-lessondeck{min-width:0;font-family:var(--font-body);flex-direction:column;gap:10px;display:flex}.soro-lessondeck__card{border-radius:var(--radius-xl);background:var(--surface-brand);color:var(--on-brand);flex-direction:column;display:flex;position:relative;overflow:hidden}.soro-lessondeck__body{flex-direction:column;padding:20px 20px 16px;display:flex;position:relative}.soro-lessondeck__top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.soro-lessondeck .soro-lesson-label{background:var(--spark);color:var(--on-spark)}.soro-lessondeck__count{font:600 13px/1 var(--font-body);color:var(--on-brand-muted)}.soro-lessondeck__instead{color:var(--on-brand-muted);margin-bottom:6px;font-size:13px}.soro-lessondeck__word{font:700 28px/1.2 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0}.soro-lessondeck__en{margin-top:10px;font-size:17px;line-height:1.45}.soro-lessondeck__literal{color:var(--on-brand-muted);margin-top:6px;font-size:14px;font-style:italic;line-height:1.45}.soro-lessondeck__literal span{font-style:normal;font-weight:600}.soro-lessondeck__foot{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.soro-lessondeck__foot .soro-btn--secondary{background:var(--spark);color:var(--on-spark)}.soro-lessondeck__nav{gap:8px;display:flex}.soro-lessondeck__nav .soro-iconbtn{color:var(--on-brand);background:#ffffff1f}.soro-lessondeck__source{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.soro-lessondeck__source a{font-weight:600;text-decoration:none}.soro-lessonlist{font-family:var(--font-body);margin:0;padding:0;list-style:none}.soro-lessonlist__row{align-items:center;gap:12px;padding:14px 0;display:flex}.soro-lessonlist__row+.soro-lessonlist__row{border-top:1px solid var(--line)}.soro-lessonlist__main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.soro-lessonlist__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.soro-lessonlist__instead{color:var(--ink-muted);font-size:13px}.soro-lessonlist__yo{font:700 17px/1.3 var(--font-display);color:var(--ink);overflow-wrap:anywhere}.soro-lessonlist__en{color:var(--ink-muted);font-size:14px;line-height:20px}.soro-lessonlist__from{color:var(--ink-subtle);font-size:12px}.soro-lessonlist--compact .soro-lessonlist__row{padding:10px 0}.soro-lessonlist--compact .soro-lessonlist__yo{font-size:15px}.soro-lessonpost{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);max-width:100%;color:var(--ink);font-family:var(--font-body);overflow:hidden}.soro-lessonpost__head{background:var(--aro);color:var(--on-aro);align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.soro-lessonpost__head .soro-adire{background:var(--on-aro);opacity:.14}.soro-lessonpost__titles{flex-direction:column;flex:1;gap:2px;display:flex;position:relative}.soro-lessonpost__head .soro-icon{width:22px;height:22px;position:relative}.soro-lessonpost__title{font:700 17px/1.2 var(--font-display)}.soro-lessonpost__sub{opacity:.85;font-size:13px}.soro-lessonpost .soro-lessonlist{padding:0 16px}.soro-lessonpost__foot{border:0;border-top:1px solid var(--line);width:100%;color:var(--primary);font:600 14px/20px var(--font-body);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:12px 16px;display:flex}.soro-lessonpost__foot .soro-icon{width:18px;height:18px}.soro-lessonpost__foot .soro-icon:last-child{margin-left:auto}.soro-sidenav__label{flex-direction:column;gap:1px;line-height:1.2;display:flex}.soro-sidenav__en{color:var(--ink-muted);font-size:12px;font-weight:500}.soro-sidenav__item--active .soro-sidenav__en{color:var(--on-primary-soft);opacity:.8}.soro-app{--adire-fine:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cg fill='%23000'%3E%3Ccircle cx='3' cy='3' r='1.3'/%3E%3Ccircle cx='11' cy='11' r='1.3'/%3E%3C/g%3E%3Cpath d='M11 1.5v3M9.5 3h3M3 9.5v3M1.5 11h3' stroke='%23000' stroke-width='1' fill='none'/%3E%3C/svg%3E");--adire-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M0 .8H32M.8 0V32'/%3E%3Cpath d='M10 10l12 12M22 10L10 22'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='16' cy='4' r='1.4'/%3E%3Ccircle cx='4' cy='16' r='1.4'/%3E%3C/g%3E%3C/svg%3E");--adire-moons:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.2'%3E%3Ccircle cx='24' cy='24' r='9'/%3E%3Cpath d='M24 9v4M24 35v4M9 24h4M35 24h4'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Ccircle cx='24' cy='24' r='2.4'/%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='48' cy='0' r='3'/%3E%3Ccircle cx='0' cy='48' r='3'/%3E%3Ccircle cx='48' cy='48' r='3'/%3E%3C/g%3E%3C/svg%3E");--adire-zigzag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M0 12l8-8 8 8 8-8 8 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M0 24l8-8 8 8 8-8 8 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cg fill='%23000'%3E%3Ccircle cx='8' cy='28' r='1.5'/%3E%3Ccircle cx='24' cy='28' r='1.5'/%3E%3C/g%3E%3C/svg%3E");--aso:repeating-linear-gradient(0deg, #00000024 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, var(--spark) 0 6px, var(--soro-deep-green) 6px 18px, var(--aro) 18px 26px, var(--cowrie) 26px 29px, var(--primary) 29px 38px, var(--cowrie) 38px 41px, var(--aro) 41px 45px)}.soro-btn--primary,.soro-btn--secondary,.soro-btn--spark,.soro-btn--danger,.soro-iconbtn--solid,.soro-card--dark,.soro-card--brand,.soro-card--tint,.soro-badge--solid,.soro-avatar--brand,.soro-phrase--dark,.soro-ref__hero,.soro-slot--selected,.soro-slots__day--active,.soro-avail__cell--booked,.soro-msg--own .soro-msg__bubble,.soro-tabbar__item--active .soro-tabbar__pill,.soro-sidenav__item--active,.soro-tag--selected,.soro-celebrate__check,[data-adire]{isolation:isolate;position:relative}.soro-btn--primary:before,.soro-btn--secondary:before,.soro-btn--spark:before,.soro-btn--danger:before,.soro-iconbtn--solid:before,.soro-card--dark:before,.soro-card--brand:before,.soro-card--tint:before,.soro-badge--solid:before,.soro-avatar--brand:before,.soro-phrase--dark:before,.soro-ref__hero:before,.soro-slot--selected:before,.soro-slots__day--active:before,.soro-avail__cell--booked:before,.soro-msg--own .soro-msg__bubble:before,.soro-tabbar__item--active .soro-tabbar__pill:before,.soro-sidenav__item--active:before,.soro-tag--selected:before,.soro-celebrate__check:before,[data-adire]:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:var(--adire-o,.1);-webkit-mask-image:var(--adire-fine);-webkit-mask-image:var(--adire-fine);mask-image:var(--adire-fine);background:currentColor;position:absolute;inset:0;-webkit-mask-repeat:repeat;mask-repeat:repeat}.soro-msg--own .soro-msg__bubble,.soro-tag--selected,.soro-tabbar__item--active .soro-tabbar__pill,.soro-sidenav__item--active{--adire-o:.07}.soro-phrase--dark:before,.soro-card--dark:before,.soro-card--brand:before,.soro-ref__hero:before{-webkit-mask-image:var(--adire-moons);-webkit-mask-image:var(--adire-moons);mask-image:var(--adire-moons);--adire-o:.07}[data-adire=grid]:before{-webkit-mask-image:var(--adire-grid);-webkit-mask-image:var(--adire-grid);mask-image:var(--adire-grid);--adire-o:.08}[data-adire=moons]:before{-webkit-mask-image:var(--adire-moons);-webkit-mask-image:var(--adire-moons);mask-image:var(--adire-moons);--adire-o:.07}[data-adire=zigzag]:before{-webkit-mask-image:var(--adire-zigzag);-webkit-mask-image:var(--adire-zigzag);mask-image:var(--adire-zigzag);--adire-o:.08}.soro-btn{overflow:hidden}.soro-btn--primary:after,.soro-btn--spark:after,[data-aso]:after{content:"";height:var(--aso-h,3px);z-index:-1;pointer-events:none;background:var(--aso);position:absolute;bottom:0;left:0;right:0}.soro-btn--primary:after,.soro-btn--spark:after{border-radius:2px;width:min(56px,40%);height:3px;bottom:5px;left:50%;right:auto;transform:translate(-50%)}.soro-btn--sm:after{width:min(40px,36%);height:2px;bottom:3px}.soro-btn--lg:after{width:min(72px,40%);bottom:7px}[data-aso]{isolation:isolate;--aso-h:8px;position:relative;overflow:hidden}@media (forced-colors:active){.soro-btn--primary:before,.soro-btn--secondary:before,.soro-btn--spark:before,.soro-btn--danger:before,.soro-iconbtn--solid:before,.soro-card--dark:before,.soro-card--brand:before,.soro-card--tint:before,.soro-badge--solid:before,.soro-avatar--brand:before,.soro-phrase--dark:before,.soro-ref__hero:before,.soro-slot--selected:before,.soro-slots__day--active:before,.soro-avail__cell--booked:before,.soro-msg--own .soro-msg__bubble:before,.soro-tabbar__item--active .soro-tabbar__pill:before,.soro-sidenav__item--active:before,.soro-tag--selected:before,.soro-celebrate__check:before,[data-adire]:before,.soro-btn--primary:after,.soro-btn--spark:after,[data-aso]:after{display:none}}.soro-btn--outline,.soro-btn--ghost{isolation:isolate;position:relative;overflow:hidden}.soro-iconbtn--soft,.soro-iconbtn--ghost{isolation:isolate}.soro-btn--outline:before,.soro-btn--ghost:before,.soro-iconbtn--soft:before,.soro-iconbtn--ghost:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;-webkit-mask-image:var(--adire-fine);-webkit-mask-image:var(--adire-fine);mask-image:var(--adire-fine);transition:opacity var(--dur-fast) var(--ease-out);background:currentColor;position:absolute;inset:0}.soro-btn--outline:hover:before,.soro-btn--ghost:hover:before,.soro-iconbtn--soft:hover:before,.soro-iconbtn--ghost:hover:before,.soro-btn--outline:active:before,.soro-btn--ghost:active:before{opacity:.08}.soro-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.soro-streak{font-family:var(--font-display);color:inherit;white-space:nowrap;align-items:center;gap:4px;font-weight:600;line-height:1;display:inline-flex}.soro-streak__icon{color:var(--spark);flex:none}.soro-streak--risk .soro-streak__icon{color:var(--warning)}.soro-streak--off .soro-streak__icon{color:var(--ink-subtle)}.soro-streak--off{opacity:.8}.soro-streak--sm{font-size:14px}.soro-streak--md{gap:5px;font-size:18px}.soro-streak--lg{letter-spacing:-.02em;gap:8px;font-size:44px}.soro-streak__label{font-family:var(--font-body);opacity:.8;font-size:.6em;font-weight:600}.soro-streakweek{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.soro-streakweek__day{flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.soro-streakweek__label{font:600 12px/16px var(--font-body);color:var(--ink-muted)}.soro-streakweek__dot{box-sizing:border-box;background:var(--surface-muted);width:36px;height:36px;color:var(--ink-subtle);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:flex}.soro-streakweek__day--done .soro-streakweek__dot{background:var(--spark);color:var(--on-spark)}.soro-streakweek__day--done .soro-streakweek__dot svg{fill:currentColor}.soro-streakweek__day--today .soro-streakweek__dot{background:var(--spark-soft);color:var(--on-spark-soft);border-color:var(--spark)}.soro-streakweek__day--today .soro-streakweek__label{color:var(--ink);font-weight:700}.soro-streakweek__day--rest .soro-streakweek__dot{background:var(--info-soft);color:var(--on-info-soft)}.soro-streakweek__day--missed .soro-streakweek__dot{background:var(--danger-soft);color:var(--on-danger-soft)}.soro-streakweek--on-brand .soro-streakweek__label{color:var(--on-brand-muted)}.soro-streakweek--on-brand .soro-streakweek__day--today .soro-streakweek__label{color:var(--on-brand)}.soro-streakweek--on-brand .soro-streakweek__day--future .soro-streakweek__dot{border-color:var(--on-brand-muted);opacity:.6;background:0 0}@media (prefers-reduced-motion:no-preference){.soro-streakweek__day--today .soro-streakweek__dot{animation:soro-streak-pulse 1.6s var(--ease-out,ease-out) infinite}}@keyframes soro-streak-pulse{0%,to{box-shadow:0 0 0 0 var(--spark-soft)}50%{box-shadow:0 0 0 6px var(--spark-soft)}}.soro-streak__label{letter-spacing:0;font-size:12px}.soro-streak--lg .soro-streak__label{font-size:16px}
