.auth-page{background:linear-gradient(90deg, transparent calc(50% - 360px), var(--seyes-margin) calc(50% - 360px), var(--seyes-margin) calc(50% - 359px), transparent calc(50% - 359px)), var(--paper);flex-direction:column;min-height:100dvh;display:flex}.auth-page .site-foot{background:0 0}.auth{flex:1;align-content:start;justify-items:center;gap:24px;padding:8px 16px 40px;display:grid}.auth:focus{outline:none}.auth-top{width:100%;max-width:472px;padding:max(20px, env(safe-area-inset-top)) 16px 16px;margin:0 auto}.auth-consents{gap:10px;display:grid}.auth-page>.auth:first-child{padding-top:max(32px, env(safe-area-inset-top))}.auth-sheet{gap:18px;width:100%;max-width:440px;display:grid}.auth-lead{color:var(--ink-2);margin-top:-8px}.auth-form{gap:18px;margin-top:4px;display:grid}.auth-switch{color:var(--ink-2);font-size:.95rem}.password-row{position:relative}.password-row .input{padding-right:92px}.password-toggle{min-height:38px;color:var(--ink-2);background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:.875rem;font-weight:600;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{background:var(--sunken)}.role-picker{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;display:grid}.role-picker legend{margin-bottom:8px;padding:0}.role-option{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--sheet);cursor:pointer;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);color:var(--ink-2);align-content:start;gap:8px;padding:14px 12px;display:grid;position:relative}.role-option input{opacity:0;pointer-events:none;position:absolute}.role-option:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink)}.role-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.role-text{gap:2px;display:grid}.role-name{color:var(--ink);font-weight:700}.role-hint{font-size:.85rem;line-height:1.35}@media (min-width:720px){.auth-top{padding-top:40px}.auth{gap:40px;padding-top:16px}}.auth-page{background:var(--paper)}.auth-top{max-width:1120px;padding:max(22px, env(safe-area-inset-top)) 24px 8px}.auth{align-content:center;padding:24px 20px 56px}.auth-sheet{gap:22px;min-width:0;max-width:400px}.auth-title{letter-spacing:-.022em;text-wrap:balance;font-size:clamp(2.1rem,8vw,2.75rem);font-weight:520;line-height:1.05}.auth-lead{color:var(--ink-3);text-wrap:pretty;margin-top:-12px;font-size:.975rem}.auth-switch{color:var(--ink-3);text-align:center;font-size:.925rem}.auth-switch a{color:var(--ink);-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:4px;font-weight:600}.role-option{background:var(--field);transition:background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);border:1px solid #0000;border-radius:14px;padding:14px}.role-option:hover{background:var(--field-hover)}.role-option:has(input:checked){border-color:var(--ink);box-shadow:none;background:var(--sheet)}.role-option svg{color:var(--ink-3)}.role-option:has(input:checked) svg{color:var(--accent)}.oauth{gap:8px;display:grid}.oauth-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.oauth-btn{border:1px solid var(--rule);background:var(--sheet);min-height:48px;color:var(--ink);justify-content:center;gap:9px;padding:0 12px;font-size:.925rem;font-weight:600}.oauth-btn:hover{border-color:var(--rule-strong);background:var(--sheet);box-shadow:0 6px 18px -12px color-mix(in oklab, var(--ink) 45%, transparent)}.oauth-notice{text-align:center;margin:0}.oauth-hint{text-align:center;text-wrap:pretty;margin-top:10px}.oauth-divider{color:var(--ink-3);align-items:center;gap:14px;margin:4px 0;font-size:.8rem;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--rule);flex:1;height:1px}.link-btn{color:var(--ink);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link-btn:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.auth-split{flex:1;gap:20px;width:100%;max-width:520px;margin:0 auto;padding:8px 20px 48px;display:grid}.auth-split:focus{outline:none}.auth-pane{min-width:0;display:none}.auth-split[data-mode=login] .auth-pane-login,.auth-split[data-mode=register] .auth-pane-register{animation:pane-in .42s var(--ease) both;display:block}.auth-pane .auth-sheet{max-width:none}@keyframes pane-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.auth-art{background:radial-gradient(ellipse 70% 60% at 30% 15%, color-mix(in oklab, var(--accent-wash) 60%, transparent), transparent 70%), var(--sheet);height:230px;box-shadow:0 0 0 1px var(--rule) inset;border-radius:22px;order:-1;position:relative;overflow:hidden}.art-stage{position:absolute;inset:0 0 46px}.art-canvas{opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease);position:absolute;inset:0}.art-canvas[data-on=true]{opacity:1}.art-copy{opacity:0;transition:opacity .5s var(--ease);pointer-events:none;justify-content:space-between;align-items:baseline;gap:12px;display:flex;position:absolute;bottom:12px;left:18px;right:18px}.art-copy[data-on=true]{opacity:1;pointer-events:auto}.art-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.art-kicker:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.art-formula{color:var(--ink-2);min-width:0;font-size:.95rem;overflow:hidden}.art-formula .katex-display{margin:0}.art-switch{display:none}@media (max-width:979px){.art-stage{inset:0 0 64px}.art-copy{flex-direction:column;align-items:flex-start;gap:2px}.art-formula{max-width:100%;font-size:.85rem}}@media (min-width:980px){.auth-split{flex:none;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1180px;height:min(860px,100dvh - 140px);min-height:640px;padding:12px 24px 40px;position:relative}.auth-pane{overscroll-behavior:contain;scrollbar-width:thin;opacity:0;height:100%;transition:opacity .5s var(--ease) 0s;padding:40px clamp(28px,4vw,64px);display:block;overflow-y:auto}.auth-pane .auth-sheet{align-content:center;max-width:420px;min-height:100%;margin:auto}.auth-split[data-mode=login] .auth-pane-login,.auth-split[data-mode=register] .auth-pane-register{opacity:1;transition-delay:.32s;animation:none}.auth-pane-login{grid-area:1/1}.auth-pane-register{grid-area:1/2}.auth-art{z-index:2;width:calc(50% - 24px);height:auto;box-shadow:0 0 0 1px var(--rule) inset, 0 40px 80px -48px color-mix(in oklab, var(--ink) 55%, transparent);will-change:transform;border-radius:28px;order:0;transition:transform .9s cubic-bezier(.76,0,.24,1);position:absolute;top:12px;bottom:40px;left:24px;transform:translate(100%)}.auth-split[data-mode=register] .auth-art{transform:translate(0)}.art-stage{inset:24px 24px 262px}.art-copy{justify-content:stretch;align-items:start;gap:14px;display:grid;bottom:40px;left:44px;right:44px}.art-formula{color:var(--ink);font-size:1.25rem}.art-formula .katex-display,.art-formula .katex-display>.katex{text-align:left}.art-switch{border-top:1px solid var(--rule);justify-items:start;gap:8px;padding-top:18px;display:grid}.art-title{font-family:var(--font-text);letter-spacing:-.015em;font-size:1.6rem;font-weight:520;line-height:1.15}.art-text{max-width:30em;color:var(--ink-2);text-wrap:pretty;font-size:.95rem}.art-btn{border:1px solid var(--ink);min-height:44px;color:var(--ink);background:0 0;margin-top:6px;padding:0 20px}.art-btn:hover{background:var(--ink);color:var(--on-ink)}}@media (prefers-reduced-motion:reduce){.auth-art,.auth-pane,.art-canvas,.art-copy{transition:none!important}.auth-split .auth-pane{animation:none!important}}.auth-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-lang{padding:2px}.auth-lang button{letter-spacing:.04em;min-height:30px;padding:0 10px;font-size:.78rem}.auth-sheet{gap:16px}.auth-title{font-size:clamp(1.8rem,6.4vw,2.3rem)}.auth-lead{margin-top:-10px;font-size:.925rem}.auth-form{gap:12px}.auth-sheet .field{gap:5px}.auth-sheet .field-label{font-size:.83rem}.auth-sheet .input{border:1px solid var(--rule-strong);background-color:var(--sheet);min-height:46px;box-shadow:0 1px 2px color-mix(in oklab, var(--ink) 6%, transparent);border-radius:11px;padding:10px 13px}.auth-sheet .input:hover{border-color:var(--ink-3);background-color:var(--sheet)}.auth-sheet .input:focus-visible{border-color:var(--ink);background-color:var(--sheet);box-shadow:0 0 0 3px color-mix(in oklab, var(--ink) 12%, transparent)}.auth-sheet .input[aria-invalid=true]{border-color:var(--danger);background-color:var(--sheet)}.auth-sheet input[type=email],.auth-sheet .password-row .input{background-position:13px;background-repeat:no-repeat;background-size:17px 17px;padding-left:40px}.auth-sheet input[type=email]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b909a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")}.auth-sheet .password-row .input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b909a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}.auth-sheet .btn{min-height:46px}.role-picker{gap:8px}.role-picker legend{margin-bottom:5px}.role-option{border:1px solid var(--rule-strong);background:var(--sheet);border-radius:11px;align-items:center;gap:9px;min-height:46px;padding:0 14px;display:flex}.role-option:hover{background:var(--sheet);border-color:var(--ink-3)}.role-option:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.role-name{font-size:.925rem}.auth-consents{gap:4px}.auth-sheet .check-row-strong{background:0 0;border:0;border-radius:0;padding:4px 0;font-size:.875rem;line-height:1.4}.auth-sheet .check-row-strong:has(input:checked){background:0 0;border:0}.auth-sheet .check-row-strong[data-invalid]{color:var(--danger)}.auth-sheet .check-row input{width:18px;height:18px}.oauth-btn{min-height:44px}.oauth-divider{margin:0}.oauth-hint{margin-top:6px;font-size:.8rem}.auth-switch{font-size:.9rem}@media (max-width:979px){.auth-split{gap:14px;padding-top:0}.auth-art{border-radius:18px;height:112px}.art-stage{inset:0 0 0 50%}.art-copy{justify-content:center;width:48%;inset:0 auto 0 16px}.art-formula{font-size:.8rem}.art-copy[data-on=true] .art-formula{display:block}}@media (max-width:379px){.art-formula{display:none!important}}@media (min-width:980px){.auth-pane{padding:24px clamp(28px,4vw,60px)}}.steps{gap:8px;margin-bottom:14px;display:grid}.steps-label{color:var(--ink-3);margin:0;font-size:.82rem}.steps-label strong{color:var(--ink);font-weight:600}.steps-bar{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.steps-bar span{background:var(--rule-strong);border-radius:99px;height:4px;transition:background-color .3s}.steps-bar span[data-done]{background:var(--accent)}.step-actions{align-items:stretch;gap:10px;display:flex}.step-actions .btn-block{flex:1}.auth-pane-register .auth-form{animation:.28s both step-in}@keyframes step-in{0%{opacity:0;transform:translate(14px)}}@media (prefers-reduced-motion:reduce){.auth-pane-register .auth-form{animation:none}}.oauth-buttons[data-wide]{grid-template-columns:minmax(0,1fr);gap:8px}.via-head{border:1px solid var(--rule);background:var(--sheet);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.via-head>svg{flex:none;margin-top:2px}.via-title{margin:0;font-weight:600}.via-lead{color:var(--ink-3);text-wrap:pretty;margin:2px 0 0;font-size:.85rem}.invite-toggle{color:var(--ink-2);justify-self:start;font-size:.875rem;font-weight:500}.auth-split{isolation:isolate;position:relative}.auth-split:before,.auth-split:after{content:"";z-index:-1;pointer-events:none;border-radius:26px;position:absolute;inset:0 10px 18px}.auth-split:before{background:color-mix(in oklab, var(--sunken) 42%, var(--sheet));box-shadow:0 0 0 1px var(--rule) inset, 0 30px 70px -50px color-mix(in oklab, var(--ink) 50%, transparent)}.auth-split:after{background-image:linear-gradient(color-mix(in oklab, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in oklab, var(--ink) 6%, transparent) 1px, transparent 1px);background-position:-1px -1px;background-size:22px 22px;-webkit-mask-image:radial-gradient(75% 70% at 50% 45%,#000 20%,#0000 85%);mask-image:radial-gradient(75% 70% at 50% 45%,#000 20%,#0000 85%)}@media (max-width:979px){.auth-split{padding:12px 24px 42px}.auth-art{z-index:1}}@media (min-width:980px){.auth-split:before,.auth-split:after{border-radius:34px;inset:0 12px 28px}.auth-art{border-radius:26px;width:calc(50% - 26px);top:14px;bottom:42px;left:26px}}@media (max-width:979px){.art-kicker{white-space:normal;align-items:baseline}}.auth-drift{z-index:-1;pointer-events:none;width:calc(100% - 20px);height:calc(100% - 18px);font-family:var(--font-text);border-radius:26px;position:absolute;inset:0 10px 18px;-webkit-mask-image:linear-gradient(#0000,#000 10% 88%,#0000);mask-image:linear-gradient(#0000,#000 10% 88%,#0000)}@media (min-width:980px){.auth-drift{border-radius:34px;width:calc(100% - 24px);height:calc(100% - 28px);inset:0 12px 28px}}.nf{flex:1;align-content:center;gap:28px;width:100%;max-width:1040px;margin:0 auto;padding:24px 20px 56px;display:grid}.nf-art{border:1px solid var(--rule);background:var(--sheet);box-shadow:0 30px 60px -44px color-mix(in oklab, var(--ink) 55%, transparent);border-radius:24px;margin:0;padding:18px}.nf-art svg{width:100%;height:auto;display:block}.nf-grid line{stroke:var(--rule);stroke-width:1px}.nf-axes line,.nf-axes path{stroke:var(--ink-3);stroke-width:1.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.nf-curve{fill:none;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round}.nf-guide{stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:4 5}.nf-hole{fill:var(--sheet);stroke:var(--accent);stroke-width:2.2px}.nf-label{fill:var(--accent);font-family:var(--font-text);font-size:15px;font-weight:600}.nf-fn{fill:var(--ink-2);font-family:var(--font-text);font-size:17px;font-style:italic}.nf-copy{align-content:center;gap:14px;display:grid}.nf-code{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0;font-size:.78rem;font-weight:600;display:inline-flex}.nf-code:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.nf-title{font-family:var(--font-text);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(2rem,6vw,3.1rem);font-weight:500;line-height:1.05}.nf-lead{max-width:34em;color:var(--ink-2);text-wrap:pretty;margin:0}.nf-en{color:var(--ink-3);font-size:.92rem}.nf-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}html[data-motion]:not([data-motion=none]) .nf-curve{stroke-dasharray:1;animation:nf-draw 1.1s var(--ease) both}html[data-motion]:not([data-motion=none]) .nf-curve-2{animation-delay:1.15s}html[data-motion]:not([data-motion=none]) .nf-hole{animation:nf-pop .5s var(--ease) 1.05s both}@keyframes nf-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes nf-pop{0%{opacity:0;transform:scale(.4)}}.nf-hole{transform-box:fill-box;transform-origin:50%}@media (min-width:860px){.nf{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px}}.cb-card{border:1px solid var(--rule);background:var(--sheet);text-align:center;width:min(420px,100%);box-shadow:0 30px 60px -44px color-mix(in oklab, var(--ink) 55%, transparent);border-radius:22px;justify-items:center;gap:16px;margin:0 auto;padding:36px 28px;display:grid}.cb-text{color:var(--ink-2);text-wrap:pretty;margin:0}.cb-spinner{place-items:center;width:64px;height:64px;display:grid;position:relative}.cb-spinner:before{content:"";border:2px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:.9s linear infinite cb-spin;position:absolute;inset:0}@keyframes cb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cb-spinner:before{animation:none}}.cb-icon{width:52px;height:52px;color:var(--danger);background:var(--danger-wash);border-radius:50%;place-items:center;display:grid}.cb-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}
