.toasts[data-v-0aeaacec]{position:fixed;top:var(--sp-5);right:var(--sp-5);z-index:10000;display:flex;flex-direction:column;gap:var(--sp-3);max-width:420px;pointer-events:none}.toast[data-v-0aeaacec]{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);pointer-events:auto;cursor:pointer;min-width:280px}.toast--error[data-v-0aeaacec]{border-left:3px solid var(--c-error)}.toast--success[data-v-0aeaacec]{border-left:3px solid var(--c-success)}.toast--info[data-v-0aeaacec]{border-left:3px solid var(--c-accent)}.toast__icon[data-v-0aeaacec]{flex-shrink:0;margin-top:1px}.toast--error .toast__icon[data-v-0aeaacec]{color:var(--c-error)}.toast--success .toast__icon[data-v-0aeaacec]{color:var(--c-success)}.toast--info .toast__icon[data-v-0aeaacec]{color:var(--c-accent)}.toast__body[data-v-0aeaacec]{flex:1;min-width:0}.toast__title[data-v-0aeaacec]{font-size:var(--text-sm);font-weight:var(--fw-semi);margin-bottom:2px;color:var(--c-text)}.toast__message[data-v-0aeaacec]{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-snug);white-space:pre-wrap;word-break:break-word}.toast__close[data-v-0aeaacec]{width:22px;height:22px;border-radius:50%;color:var(--c-text-3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--dur-fast) var(--ease)}.toast__close[data-v-0aeaacec]:hover{background:var(--c-surface);color:var(--c-ink)}.toast-enter-active[data-v-0aeaacec],.toast-leave-active[data-v-0aeaacec]{transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.toast-enter-from[data-v-0aeaacec],.toast-leave-to[data-v-0aeaacec]{opacity:0;transform:translate(20px)}.toast-leave-active[data-v-0aeaacec]{position:absolute;right:0}@media (max-width: 768px){.toasts[data-v-0aeaacec]{top:var(--sp-3);right:var(--sp-3);left:var(--sp-3);max-width:none}}.modal-enter-active[data-v-f9250634],.modal-leave-active[data-v-f9250634]{transition:opacity var(--dur-base) var(--ease)}.modal-enter-from[data-v-f9250634],.modal-leave-to[data-v-f9250634]{opacity:0}.modal-enter-active .modal__container[data-v-f9250634],.modal-leave-active .modal__container[data-v-f9250634]{transition:transform var(--dur-base) var(--ease)}.modal-enter-from .modal__container[data-v-f9250634]{transform:translateY(12px)}.modal-leave-to .modal__container[data-v-f9250634]{transform:translateY(8px)}.confirm__message[data-v-3148d48d]{font-size:var(--text-base);color:var(--c-text-2);line-height:var(--lh-snug)}.confirm__cancel[data-v-3148d48d]{height:44px;padding:0 var(--sp-5);border-radius:var(--r-pill);background:transparent;border:1px solid var(--c-border);color:var(--c-text-2);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--dur-fast) var(--ease)}.confirm__cancel[data-v-3148d48d]:hover{color:var(--c-ink);border-color:var(--c-ink)}:root{--c-bg: #FAFAF7;--c-bg-warm: #F2F0EA;--c-surface: #EDEAE3;--c-surface-2: #E0DCD2;--c-border: #DCD8CD;--c-border-light: #E8E4D9;--c-border-dark: #B5AE9C;--c-text: #0A0A0A;--c-text-2: #4A4945;--c-text-3: #8A887F;--c-text-inv: #FAFAF7;--c-ink: #0A0A0A;--c-ink-soft: #1F1E1B;--c-accent: #0A0A0A;--c-accent-hover: #000000;--c-accent-light: #ECEAE3;--c-success: #2F4F3A;--c-success-bg: #E7EEE8;--c-error: #6E2932;--c-error-bg: #F4E8E9;--c-warning: #7A5A1F;--c-warning-bg: #F4ECD7;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Inter", -apple-system, system-ui, sans-serif;--font-display: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--text-6xl: 4.5rem;--text-7xl: 6rem;--text-8xl: 7.5rem;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--fw-black: 800;--lh-tight: 1.05;--lh-snug: 1.3;--lh-normal: 1.6;--lh-loose: 1.8;--tracking-tight: -.03em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--tracking-widest: .16em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--sp-24: 6rem;--sp-32: 8rem;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--r-xl: 28px;--r-pill: 9999px;--shadow-xs: 0 1px 2px rgba(10,10,10,.04);--shadow-sm: 0 2px 8px rgba(10,10,10,.05);--shadow-md: 0 8px 24px rgba(10,10,10,.08);--shadow-lg: 0 20px 50px rgba(10,10,10,.12);--shadow-xl: 0 30px 80px rgba(10,10,10,.16);--shadow-card: 0 8px 30px rgba(10,10,10,.06), 0 2px 6px rgba(10,10,10,.04);--ease: cubic-bezier(.4,0,.2,1);--ease-out: cubic-bezier(.16,1,.3,1);--dur-fast: .12s;--dur-base: .24s;--dur-slow: .4s;--sidebar-w: 260px;--header-h: 72px;--content-max: 1280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button{cursor:pointer;font:inherit;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}input,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semi);line-height:var(--lh-tight)}body{background-image:radial-gradient(rgba(10,10,10,.025) 1px,transparent 1px);background-size:24px 24px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:var(--r-pill);border:2px solid var(--c-bg)}::-webkit-scrollbar-thumb:hover{background:var(--c-border-dark)}:focus-visible{outline:2px solid var(--c-ink);outline-offset:3px;border-radius:var(--r-sm)}:focus:not(:focus-visible){outline:none}::selection{background:var(--c-ink);color:var(--c-bg)}a,button{transition:color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.star{display:inline-block;width:1em;height:1em;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-6);height:48px;font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:var(--r-pill);transition:background var(--dur-base) var(--ease),color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-base) var(--ease);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid transparent}.btn:disabled{opacity:.45;pointer-events:none}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}.btn--primary:hover{background:transparent;color:var(--c-ink)}.btn--secondary{background:transparent;color:var(--c-ink);border-color:var(--c-ink)}.btn--secondary:hover{background:var(--c-ink);color:var(--c-bg)}.btn--ghost{background:transparent;color:var(--c-text-2)}.btn--ghost:hover{background:var(--c-surface);color:var(--c-ink)}.btn--danger{background:var(--c-error);color:var(--c-bg);border-color:var(--c-error)}.btn--danger:hover{opacity:.85}.btn--sm{height:36px;padding:0 var(--sp-4);font-size:var(--text-xs)}.btn--lg{height:56px;padding:0 var(--sp-8);font-size:var(--text-base)}.btn--icon{width:48px;padding:0}.btn--icon.btn--sm{width:36px}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-text-2);letter-spacing:var(--tracking-wider);text-transform:uppercase}.field__input,.field__select,.field__textarea{width:100%;padding:0 var(--sp-4);height:48px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-pill);color:var(--c-text);font-size:var(--text-sm);font-family:var(--font-sans);transition:border-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.field__textarea{height:auto;padding:var(--sp-3) var(--sp-5);resize:vertical;min-height:100px;border-radius:var(--r-lg)}.field__input[type=time],.field__input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}.field__input::placeholder,.field__textarea::placeholder{color:var(--c-text-3)}.field__input:focus,.field__select:focus,.field__textarea:focus{outline:none;border-color:var(--c-ink);box-shadow:0 0 0 3px #0a0a0a0f}.field__input--error,.field__select--error{border-color:var(--c-error)}.field__error{font-size:var(--text-xs);color:var(--c-error);padding-left:var(--sp-4)}@media (max-width: 768px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--sp-8);position:relative}.card--surface{background:var(--c-surface)}.card--dark{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}.card--hover{transition:box-shadow var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.card--hover:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:4px var(--sp-3);border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);line-height:1.6;border:1px solid transparent}.badge--accent{background:var(--c-ink);color:var(--c-bg)}.badge--success{background:var(--c-success-bg);color:var(--c-success)}.badge--error{background:var(--c-error-bg);color:var(--c-error)}.badge--warning{background:var(--c-warning-bg);color:var(--c-warning)}.badge--neutral{background:var(--c-surface);color:var(--c-text-2);border-color:var(--c-border)}.badge--outline{background:transparent;color:var(--c-ink);border-color:var(--c-ink)}.divider{height:1px;background:var(--c-border)}.avatar{border-radius:50%;object-fit:cover;background:var(--c-ink);color:var(--c-bg);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-semi);flex-shrink:0;letter-spacing:var(--tracking-wide)}.avatar--sm{width:36px;height:36px;font-size:var(--text-xs)}.avatar--md{width:44px;height:44px;font-size:var(--text-sm)}.avatar--lg{width:64px;height:64px;font-size:var(--text-lg)}.avatar--xl{width:96px;height:96px;font-size:var(--text-2xl)}.stat-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6) var(--sp-8);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-xl);position:relative}.stat-card--dark{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}.stat-card--dark .stat-card__label{color:#fafaf799}.stat-card--dark .stat-card__value{color:var(--c-bg)}.stat-card__label{font-size:var(--text-xs);color:var(--c-text-3);letter-spacing:var(--tracking-widest);text-transform:uppercase;font-weight:var(--fw-medium)}.stat-card__value{font-size:var(--text-4xl);font-weight:var(--fw-bold);color:var(--c-ink);line-height:1;letter-spacing:var(--tracking-tight)}.stat-card__delta{font-size:var(--text-xs);color:var(--c-text-3)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-text-3);text-transform:uppercase;letter-spacing:var(--tracking-widest);padding:var(--sp-4);border-bottom:1px solid var(--c-border)}.table td{padding:var(--sp-5) var(--sp-4);font-size:var(--text-sm);border-bottom:1px solid var(--c-border-light);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--c-surface)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-20) var(--sp-8);text-align:center;color:var(--c-text-3)}.empty-state__icon{font-size:3rem;color:var(--c-border-dark)}.empty-state__title{font-size:var(--text-2xl);color:var(--c-text);font-weight:var(--fw-semi);letter-spacing:var(--tracking-tight)}.empty-state__text{font-size:var(--text-sm);max-width:360px;line-height:var(--lh-loose)}.spinner{width:20px;height:20px;border:2px solid var(--c-border);border-top-color:var(--c-ink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-8);border-bottom:1px solid var(--c-border);flex-wrap:wrap}.page-header>div:first-child{min-width:0}.page-header__eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);background:var(--c-surface);border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-text-2);letter-spacing:var(--tracking-wide);margin-bottom:var(--sp-4)}.page-header__title{font-size:var(--text-5xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);color:var(--c-ink);text-transform:uppercase;word-break:break-word}.page-header__subtitle{font-size:var(--text-base);color:var(--c-text-2);margin-top:var(--sp-3);max-width:600px;line-height:var(--lh-snug)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch;gap:var(--sp-4)}.page-header__title{font-size:var(--text-3xl);word-break:break-word}.page-header__subtitle{font-size:var(--text-sm)}}.app-shell{display:flex;min-height:100dvh}.sidebar{width:var(--sidebar-w);background:var(--c-bg);border-right:1px solid var(--c-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100dvh;z-index:200;transition:transform var(--dur-slow) var(--ease)}.sidebar__logo{padding:var(--sp-8) var(--sp-6) var(--sp-6);flex-shrink:0}.sidebar__logo-mark{display:inline-flex;align-items:baseline;gap:4px;font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--c-ink);letter-spacing:var(--tracking-tight);text-transform:lowercase}.sidebar__logo-mark:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-ink)}.sidebar__logo-sub{font-size:10px;color:var(--c-text-3);margin-top:var(--sp-1);letter-spacing:var(--tracking-widest);text-transform:uppercase;font-weight:var(--fw-medium)}.sidebar__nav{flex:1;overflow-y:auto;padding:var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1)}.sidebar__section-label{font-size:10px;font-weight:var(--fw-semi);color:var(--c-text-3);text-transform:uppercase;letter-spacing:var(--tracking-widest);padding:var(--sp-4) var(--sp-4) var(--sp-2)}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-4);border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-2);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);cursor:pointer;text-align:left;width:100%;border:1px solid transparent}.nav-item:hover{background:var(--c-surface);color:var(--c-ink)}.nav-item--active{background:var(--c-ink);color:var(--c-bg);border-color:var(--c-ink)}.nav-item__icon{width:16px;height:16px;flex-shrink:0}.nav-item__badge{margin-left:auto;background:var(--c-error);color:var(--c-bg);font-size:10px;font-weight:var(--fw-bold);padding:1px 6px;border-radius:var(--r-pill);min-width:18px;text-align:center}.sidebar__footer{padding:var(--sp-4);border-top:1px solid var(--c-border);flex-shrink:0}.sidebar__user{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease);width:100%;border:1px solid var(--c-border);background:var(--c-bg)}.sidebar__user:hover{background:var(--c-surface);border-color:var(--c-border-dark)}.sidebar__user-info{flex:1;min-width:0;text-align:left}.sidebar__user-name{font-size:var(--text-sm);font-weight:var(--fw-semi);color:var(--c-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:var(--tracking-tight)}.sidebar__user-role{font-size:10px;color:var(--c-text-3);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-weight:var(--fw-medium)}.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100dvh;min-width:0}.topbar{height:var(--header-h);background:#fafaf7d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--c-border);display:flex;align-items:center;padding:0 var(--sp-10);gap:var(--sp-4);position:sticky;top:0;z-index:100}.topbar__title{font-size:var(--text-base);font-weight:var(--fw-semi);flex:1;letter-spacing:var(--tracking-tight)}.topbar__actions{display:flex;align-items:center;gap:var(--sp-2)}.page{flex:1;padding:var(--sp-12) var(--sp-10);max-width:var(--content-max);width:100%;min-width:0;overflow-x:hidden}.page__header{margin-bottom:var(--sp-10)}.page__grid{display:grid;gap:var(--sp-5)}.page__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.page__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.page__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0a80;z-index:199}.topbar__burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--r-pill);color:var(--c-text-2);background:var(--c-surface)}.topbar__burger:hover{background:var(--c-ink);color:var(--c-bg)}@media (max-width: 1024px){.page__grid--4,.page__grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:var(--sp-8)}}@media (max-width: 768px){:root{--sidebar-w: 0px}.sidebar{width:280px;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block}.main-content{margin-left:0}.topbar{padding:0 var(--sp-4);height:64px}.topbar__burger{display:flex}.page{padding:var(--sp-6) var(--sp-4)}.page__grid--2,.page__grid--3,.page__grid--4{grid-template-columns:minmax(0,1fr)}}:root{--modal-bg: var(--c-bg);--modal-overlay-bg: rgba(26,26,24,.48);--modal-radius: var(--r-lg);--modal-shadow: var(--shadow-lg);--modal-pad-header: var(--sp-6) var(--sp-8);--modal-pad-body: var(--sp-6) var(--sp-8);--modal-pad-footer: var(--sp-6) var(--sp-8);--modal-gap-content: var(--sp-8);--modal-w-sm: 480px;--modal-w-md: 640px;--modal-w-lg: 800px;--modal-w-xl: 1040px}.modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:400;animation:modal-fade-in var(--dur-base) var(--ease)}.modal__container{position:relative;background:var(--modal-bg);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);width:100%;max-width:var(--modal-w-md);max-height:calc(100dvh - var(--sp-8));display:flex;flex-direction:column;animation:modal-slide-up var(--dur-base) var(--ease)}.modal__container--sm{max-width:var(--modal-w-sm)}.modal__container--md{max-width:var(--modal-w-md)}.modal__container--lg{max-width:var(--modal-w-lg)}.modal__container--xl{max-width:var(--modal-w-xl)}.modal__header{padding:var(--modal-pad-header);border-bottom:1px solid var(--c-border);display:flex;align-items:flex-start;gap:var(--sp-4);flex-shrink:0}.modal__title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--fw-medium);line-height:var(--lh-tight);color:var(--c-text);flex:1}.modal__subtitle{font-size:var(--text-sm);color:var(--c-text-2);margin-top:var(--sp-1);line-height:var(--lh-snug)}.modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--c-text-3);flex-shrink:0;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.modal__close:hover{color:var(--c-text);background:var(--c-surface)}.modal__body{padding:var(--modal-pad-body);overflow-y:auto;flex:1}.modal__footer{padding:var(--modal-pad-footer);border-top:1px solid var(--c-border);flex-shrink:0;margin-top:var(--modal-gap-content)}.modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);flex-wrap:wrap}@media (max-width: 600px){:root{--modal-pad-header: var(--sp-5) var(--sp-4);--modal-pad-body: var(--sp-5) var(--sp-4);--modal-pad-footer: var(--sp-4) var(--sp-4);--modal-gap-content: var(--sp-5)}.modal__overlay{padding:var(--sp-3)}.modal__container{max-height:calc(100dvh - var(--sp-6))}.modal__title{font-size:var(--text-xl)}.modal__actions{flex-direction:column-reverse;align-items:stretch}.modal__actions>.btn,.modal__actions>button{width:100%}.modal__actions>[style*="flex:1"],.modal__actions>[style*="flex: 1"]{display:none}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lp{--ink: #1d1d1f;--ink-2: #555;--ink-3: #8a8a82;--paper: #ffffff;--paper-soft: #f4f4f2;--line: #e2e2dd;--line-strong: #c9c9c2;--accent: #0a0a0a;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;padding-top:56px}.lp [id]{scroll-margin-top:70px}.lp .wrap{max-width:980px;margin:0 auto;padding:0 22px}.lp .wrap--narrow{max-width:760px}.lp .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.lp .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.lp .reveal{opacity:1;transform:none;transition:none}}.lp .accent{font-family:var(--font-serif);font-style:italic;font-weight:600;letter-spacing:0}.lp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:980px;font-size:17px;font-weight:500;line-height:1;padding:13px 26px;text-align:center;transition:background .25s ease,color .25s ease,transform .2s ease,border-color .2s ease}.lp .btn--lg{font-size:19px;padding:16px 32px}.lp .btn--primary{background:var(--accent);color:#fff}@media (hover: hover){.lp .btn--primary:hover{background:#000;transform:translateY(-1px)}}.lp .btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}@media (hover: hover){.lp .btn--ghost:hover{background:#0000000d;border-color:var(--ink)}}.lp .btn--light{background:#fff;color:var(--ink)}@media (hover: hover){.lp .btn--light:hover{transform:scale(1.02)}}.lp .btn__short{display:none}@media (max-width: 600px){.lp .btn__full{display:none}.lp .btn__short{display:inline}}.lp .hero{position:relative;text-align:center;padding:clamp(64px,11vw,140px) 22px clamp(56px,9vw,100px);margin:0 auto;overflow:hidden}.lp .hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(10,10,10,.06) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);pointer-events:none}.lp .hero>:not(.deco){position:relative;z-index:1}.lp .hero__eyebrow{font-size:13px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px}.lp .hero__title{font-size:clamp(33px,6.2vw,66px);font-weight:700;letter-spacing:-.025em;line-height:1.05;color:var(--ink);margin:0 auto 24px;max-width:900px}.lp .hero__sub{font-size:clamp(17px,2.3vw,23px);line-height:1.45;color:var(--ink-2);max-width:680px;margin:0 auto 34px}.lp .hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.lp .hero__note{margin-top:18px;font-size:15px;color:var(--ink-3)}.lp .deco{position:absolute;top:0;right:0;bottom:0;left:0;color:var(--ink);pointer-events:none}.lp .deco svg{position:absolute}.lp .deco__spark{top:8%;right:12%;width:78px;opacity:.12;transform:rotate(8deg)}.lp .deco__orbit{top:22%;left:7%;width:130px;opacity:.1}.lp .deco__atom{top:16%;left:7%;width:140px;opacity:.1}.lp .deco__hex{opacity:.1}.lp .deco__hex--tr{top:12%;right:9%;width:92px}.lp .deco__hex--br{bottom:10%;right:9%;width:96px}.lp .deco__flask{bottom:12%;left:13%;width:56px;opacity:.14}.lp .deco__plus{width:44px;opacity:.16}.lp .deco__plus--bl{bottom:18%;left:14%}.lp .deco__plus--br{bottom:22%;right:14%}.lp .section{position:relative;overflow:hidden;padding:clamp(64px,11vw,130px) 0}.lp .section--soft{background:var(--paper-soft)}.lp .section>.wrap{position:relative;z-index:1}.lp .sdeco{position:absolute;z-index:0;display:block;aspect-ratio:1 / 1;color:var(--ink);opacity:.05;pointer-events:none}.lp .sdeco--tl{top:7%;left:-24px;width:120px;transform:rotate(-8deg)}.lp .sdeco--tr{top:9%;right:-16px;width:140px;transform:rotate(10deg)}.lp .sdeco--bl{bottom:8%;left:3%;width:96px;transform:rotate(6deg)}.lp .sdeco--br{bottom:-16px;right:4%;width:160px;transform:rotate(-6deg)}.lp .sdeco--light{color:#fff;opacity:.07}.lp .kicker{text-align:center;font-size:13px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.18em;margin-bottom:16px}.lp .section__title{font-size:clamp(27px,4.6vw,48px);font-weight:700;letter-spacing:-.02em;line-height:1.08;text-align:center}.lp .big{font-size:clamp(25px,4vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.15;text-align:center}.lp .lead{font-size:clamp(17px,2vw,21px);line-height:1.55;color:var(--ink-2);margin-top:24px}.lp .lead--center{text-align:center;max-width:720px;margin-left:auto;margin-right:auto}.lp .section__lead{font-size:clamp(17px,2vw,21px);line-height:1.5;color:var(--ink-2);text-align:center;max-width:720px;margin:26px auto 0}.lp .pains{max-width:720px;margin:38px auto 0;display:grid;gap:14px}.lp .pains li{position:relative;padding-left:34px;font-size:clamp(16px,2vw,20px);line-height:1.5;color:var(--ink)}.lp .pains li:before{content:"";position:absolute;left:8px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.lp .dreams{margin-top:50px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.lp .dream{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 24px;text-align:center;transition:transform .25s ease,box-shadow .25s ease}@media (hover: hover){.lp .dream:hover{transform:translateY(-4px);box-shadow:0 18px 50px #00000014}}.lp .dream__icon{display:inline-flex;width:46px;height:46px;color:var(--ink);margin-bottom:16px}.lp .dream__title{font-size:19px;font-weight:600;margin-bottom:6px}.lp .dream__sub{font-size:14px;color:var(--ink-3)}.lp .values,.lp .features{margin-top:50px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.lp .value,.lp .feature{background:var(--paper-soft);border-radius:22px;padding:34px}.lp .section--soft .feature{background:#fff}.lp .feature--wide{grid-column:1 / -1}.lp .value__icon,.lp .feature__icon{display:inline-flex;width:42px;height:42px;color:var(--ink);margin-bottom:16px}.lp .value h3,.lp .feature h3{font-size:clamp(20px,2.4vw,25px);font-weight:600;letter-spacing:-.01em;margin-bottom:10px}.lp .value p,.lp .feature p{font-size:17px;line-height:1.5;color:var(--ink-2)}.lp .steps{margin-top:50px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.lp .step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px}.lp .step__num{display:block;font-size:15px;font-weight:600;color:var(--accent);margin-bottom:14px;letter-spacing:.02em}.lp .step h3{font-size:clamp(19px,2.2vw,23px);font-weight:600;margin-bottom:10px}.lp .step p{font-size:16px;line-height:1.5;color:var(--ink-2)}.lp .subjects{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lp .subject{text-align:left;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:8px;color:var(--ink);-webkit-text-fill-color:currentColor;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.lp .subject.is-ready{cursor:pointer}@media (hover: hover){.lp .subject.is-ready:hover{transform:translateY(-4px);box-shadow:0 18px 50px #0000001a;border-color:var(--accent)}}.lp .subject.is-soon{opacity:.6;cursor:default}.lp .subject__head{display:flex;align-items:center;gap:10px}.lp .subject__name{font-size:22px;font-weight:600}.lp .subject__arrow{margin-left:auto;color:var(--accent)}.lp .subject__badge{margin-left:auto;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:#0000000f;padding:3px 9px;border-radius:980px}.lp .subject__tag{font-size:15px;color:var(--ink-2)}.lp .plans{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.lp .plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px 28px;display:flex;flex-direction:column}.lp .plan--featured{border-color:var(--accent);box-shadow:0 12px 40px #0000001f}.lp .plan__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:12px;font-weight:600;padding:5px 14px;border-radius:980px;letter-spacing:.02em}.lp .plan__name{font-size:21px;font-weight:600;margin-bottom:8px}.lp .plan__price{font-size:34px;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.lp .plan__price span{font-size:16px;font-weight:500;color:var(--ink-3)}.lp .plan__desc{font-size:15px;line-height:1.5;color:var(--ink-2);margin-bottom:24px;flex:1}.lp .plan .btn{width:100%}.lp .plans__note{margin-top:28px;text-align:center;font-size:15px;color:var(--ink-3)}.lp .faq{margin-top:44px;border-top:1px solid var(--line)}.lp .faq__item{border-bottom:1px solid var(--line)}.lp .faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:24px 4px;font-size:clamp(16px,2vw,20px);font-weight:500;color:var(--ink)}.lp .faq__chevron{flex-shrink:0;color:var(--ink-3);transition:transform .3s ease}.lp .faq__item.is-open .faq__chevron{transform:rotate(180deg)}.lp .faq__a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1)}.lp .faq__item.is-open .faq__a{max-height:600px}.lp .faq__a>p{font-size:17px;line-height:1.55;color:var(--ink-2);padding:0 36px 24px 4px}.lp .cta{position:relative;overflow:hidden;background:var(--ink);color:#fff;text-align:center;padding:clamp(80px,12vw,150px) 0}.lp .cta>.wrap{position:relative;z-index:1}.lp .cta__title{font-size:clamp(28px,5vw,52px);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin-bottom:22px}.lp .cta__text{font-size:clamp(17px,2.1vw,21px);line-height:1.5;color:#ffffffb8;max-width:660px;margin:0 auto 34px}.lp .cta__note{margin-top:18px;font-size:15px;color:#ffffff80}.lp .trust{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 44px;margin-top:38px;list-style:none;padding:0}.lp .trust__item{display:flex;flex-direction:column;align-items:center;gap:3px}.lp .trust__value{font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.lp .trust__label{font-size:13.5px;color:var(--ink-3)}.lp .demos{margin-top:50px;display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.lp .demo{margin:0}.lp .demo__cap{margin:16px auto 0;max-width:420px;font-size:15px;line-height:1.5;color:var(--ink-2);text-align:center}.lp .mock{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px #00000014}.lp .mock__bar{display:flex;gap:6px;padding:12px 14px;background:var(--paper-soft);border-bottom:1px solid var(--line)}.lp .mock__bar span{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.lp .mock__body{padding:18px}.lp .mock__body--lesson{display:grid;grid-template-columns:132px 1fr;gap:16px}.lp .mock__side{border-right:1px solid var(--line);padding-right:14px}.lp .mock__side-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:10px}.lp .mock__topic{font-size:13px;color:var(--ink-2);padding:6px 8px;border-radius:8px;margin-bottom:3px}.lp .mock__topic--done{color:var(--ink-3)}.lp .mock__topic--active{background:var(--accent);color:#fff;font-weight:600}.lp .mock__main{min-width:0}.lp .mock__eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.lp .mock__h{font-size:16px;font-weight:600;margin:6px 0 14px;line-height:1.25}.lp .mock__lines{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.lp .mock__lines span{height:7px;border-radius:4px;background:var(--line)}.lp .mock__lines span:nth-child(1){width:100%}.lp .mock__lines span:nth-child(2){width:92%}.lp .mock__q{background:var(--paper-soft);border:1px solid var(--line);border-radius:12px;padding:14px}.lp .mock__q-label{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.lp .mock__q-text{font-size:13.5px;color:var(--ink);margin:6px 0 12px}.lp .mock__opts{display:flex;gap:8px;flex-wrap:wrap}.lp .mock__opt{font-size:13px;padding:6px 14px;border-radius:8px;border:1px solid var(--line-strong);color:var(--ink-2)}.lp .mock__opt--ok{background:#34b27b;border-color:#34b27b;color:#fff;font-weight:600}.lp .mock__body--parent{display:flex;flex-direction:column;gap:14px}.lp .mock__phead{display:flex;align-items:center;gap:12px}.lp .mock__avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:600;flex-shrink:0}.lp .mock__pname{font-size:15px;font-weight:600}.lp .mock__psub{font-size:12.5px;color:var(--ink-3)}.lp .mock__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lp .mock__stat{background:var(--paper-soft);border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center}.lp .mock__stat b{display:block;font-size:20px;font-weight:700;letter-spacing:-.02em}.lp .mock__stat span{font-size:11.5px;color:var(--ink-3)}.lp .mock__prog{display:flex;align-items:center;gap:12px}.lp .mock__prog span{width:122px;font-size:13px;color:var(--ink-2);flex-shrink:0}.lp .mock__prog i{flex:1;height:8px;border-radius:5px;background:var(--line);overflow:hidden}.lp .mock__prog b{display:block;height:100%;border-radius:5px;background:var(--accent)}.lp .apply{max-width:460px;margin:0 auto;text-align:left}.lp .apply__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.lp .apply__input{width:100%;font-size:16px;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;outline:none;transition:border-color .2s ease,background .2s ease}.lp .apply__input::placeholder{color:#ffffff80}.lp .apply__input:focus{border-color:#ffffff8c;background:#ffffff1f}.lp .apply__select{display:block;margin-bottom:14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%23ffffff' stroke-width='1.6'%3E%3Cpath d='M3.5 5.5L7 9l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.lp .apply__select option{color:var(--ink)}.lp .apply__agree{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;font-size:13.5px;line-height:1.45;color:#fff9;text-align:left;cursor:pointer}.lp .apply__agree input{margin-top:1px;width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:#fff}.lp .apply__agree a{color:#ffffffd9;text-decoration:underline;text-underline-offset:2px}.lp .apply__agree a:hover{color:#fff}.lp .apply__submit{width:100%;margin-top:4px}.lp .apply__error{margin-top:12px;font-size:14px;color:#ff9b8a;text-align:center}.lp .apply__note{margin-top:16px;font-size:14px;color:#ffffff8c;text-align:center}.lp .apply__note a{color:#fff;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.lp .apply--done{text-align:center}.lp .apply__check{width:56px;height:56px;border-radius:50%;background:#34b27b;color:#fff;font-size:28px;display:grid;place-items:center;margin:0 auto 18px}.lp .apply__done-title{font-size:24px;font-weight:700;margin-bottom:8px}.lp .apply__done-text{font-size:16px;line-height:1.5;color:#ffffffb8;max-width:420px;margin:0 auto}@media (max-width: 900px){.lp .dreams,.lp .subjects{grid-template-columns:repeat(2,1fr)}.lp .plans{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}@media (max-width: 760px){.lp .features,.lp .steps,.lp .values{grid-template-columns:1fr}.lp .feature--wide{grid-column:auto}.lp .deco__orbit,.lp .deco__atom,.lp .deco__hex{display:none}.lp .demos{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}}@media (max-width: 600px){.lp .wrap{padding:0 18px}.lp .dreams,.lp .subjects{grid-template-columns:1fr}.lp .hero{padding:56px 18px 48px}.lp .section{padding:56px 0}.lp .value,.lp .feature,.lp .step,.lp .plan,.lp .subject,.lp .dream{padding:26px 22px}.lp .hero__actions{flex-direction:column;align-items:stretch}.lp .hero__actions .btn{width:100%}.lp .hero__title br,.lp .cta__title br{display:none}.lp .faq__a>p{padding-right:4px}.lp .faq__item.is-open .faq__a{max-height:900px}.lp .sdeco{width:90px!important;opacity:.045}.lp .sdeco--tr,.lp .sdeco--tl{display:none}.lp .trust{gap:12px 24px}.lp .apply__row,.lp .mock__body--lesson{grid-template-columns:1fr}.lp .mock__side{border-right:none;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:4px;display:flex;flex-wrap:wrap;gap:4px}.lp .mock__side-title{width:100%;margin-bottom:4px}.lp .mock__prog span{width:96px;font-size:12px}.lp .mock__stat b{font-size:18px}}
