.sb-container{bottom:var(--space-6);left:var(--space-6);z-index:var(--z-toast,700);gap:var(--space-2);pointer-events:none;flex-direction:column-reverse;display:flex;position:fixed}@media (max-width:640px){.sb-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);align-items:center}}.sb-item{pointer-events:auto;background-color:var(--neutral-900);border-radius:var(--radius-sm);min-width:280px;max-width:400px;box-shadow:var(--shadow-lg);color:var(--surface);-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast) ease-out;flex-direction:column;display:flex;overflow:hidden}[data-theme=dark] .sb-item{background-color:var(--surface);color:var(--neutral-900);border:var(--bw-thin) solid var(--border-subtle)}.sb-enter{animation:sb-slide-up .25s var(--ease-default)}@keyframes sb-slide-up{0%{opacity:0;transform:translateY(var(--radius-lg))}to{opacity:1;transform:translateY(0)}}.sb-exit{animation:sb-slide-down var(--duration-fast) var(--ease-default) forwards}@keyframes sb-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--radius-lg))}}.sb-swiping{transition:none}.sb-content{padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.sb-message{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sb-action{color:var(--calm-success);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);cursor:pointer;transition:opacity var(--duration-fast);background:0 0;border:none;flex-shrink:0;padding:0}.sb-action:hover{opacity:.8}[data-theme=dark] .sb-action:hover{background-color:var(--calm-success-soft)}.sb-action:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);border-radius:var(--radius-smooth);outline:none}.sb-progress-wrap{width:100%;height:var(--bw-medium);background-color:var(--border-subtle)}[data-theme=dark] .sb-progress-wrap{background-color:var(--overlay-hover)}.sb-progress-bar{height:100%;transition:width var(--duration-instant) linear}.sb-bar--success{background-color:var(--calm-success)}.sb-bar--info,.sb-bar--warning{background-color:var(--calm-info)}.sb-bar--error{background-color:var(--calm-danger)}
.bn{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:var(--bw-thin) solid;display:flex}.bn-ic-wrap{flex-shrink:0;align-items:center;display:flex}.bn .bn-ic{flex-shrink:0;width:18px;height:18px}.bn-content{flex:1;min-width:0}.bn .bn-h{font-size:var(--text-body-sm);font-weight:var(--fw-semibold)}.bn .bn-b{font-size:var(--text-caption);line-height:var(--lh-caption);margin-top:var(--space-half)}.bn .bn-a{font-size:var(--text-caption);font-weight:var(--fw-semibold);cursor:pointer;min-height:44px;padding:var(--space-1) var(--space-2);align-items:center;margin-left:auto;text-decoration:underline;display:inline-flex}.bn.bn-info{background:var(--calm-tertiary-soft);border-color:var(--calm-tertiary-soft-2);color:var(--calm-tertiary-hover)}.bn.bn-pos{background:var(--calm-success-soft);border-color:var(--calm-success-deep);color:var(--calm-success-deep)}.bn.bn-warm{background:var(--off-white);border-color:var(--calm-info-soft);color:var(--calm-info-deep)}.bn.bn-neg{background:var(--calm-danger-soft);border-color:var(--calm-danger-deep);color:var(--calm-danger-deep)}.bn-dismiss{cursor:pointer;color:currentColor;opacity:.5;min-width:44px;min-height:44px;padding:var(--space-2);border-radius:var(--radius-xs);transition:opacity var(--duration-fast) var(--ease-default);margin-left:var(--space-1);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.bn-dismiss:hover{opacity:1}.bn-dismiss:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}
.al-alert{padding:var(--space-5);border-radius:var(--radius-sm);border:none;border-left:var(--bw-thick) solid transparent;width:100%;animation:al-enter var(--duration-fast) var(--ease-default);justify-content:space-between;display:flex;position:relative;overflow:hidden}@keyframes al-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.al-content{gap:var(--space-3);flex:1;display:flex}.al-icon-container{flex-shrink:0;align-items:flex-start;padding-top:2px;display:flex}.al-icon{flex-shrink:0}.al-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.al-title{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-900)}.al-description{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700)}.al-truncated{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.al-details-btn{font-family:inherit;font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--calm-primary);cursor:pointer;margin-top:var(--space-1);background:0 0;border:none;width:fit-content;padding:0;text-decoration:underline}.al-details-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);border-radius:var(--radius-smooth);outline:none}.al-actions{gap:var(--space-2);margin-left:var(--space-3);flex-shrink:0;display:flex}.al-close-btn,.al-action-btn{min-width:44px;min-height:44px;padding:var(--space-2);cursor:pointer;color:var(--neutral-500);transition:opacity var(--duration-fast) var(--ease-default);border-radius:var(--radius-xs);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;display:flex}.al-close-btn:hover,.al-action-btn:hover{background-color:var(--overlay-hover)}.al-close-btn:focus-visible,.al-action-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.al-info{background-color:var(--calm-info-soft);border-left-color:var(--calm-info)}.al-info .al-icon{color:var(--calm-info)}.al-success{background-color:var(--calm-success-soft);border-left-color:var(--calm-success)}.al-success .al-icon{color:var(--calm-success)}.al-warning{background-color:var(--calm-info-soft);border-left-color:var(--calm-info)}.al-warning .al-icon{color:var(--calm-info)}.al-danger{background-color:var(--calm-danger-soft);border-left-color:var(--calm-danger)}.al-danger .al-icon{color:var(--calm-danger)}.al-minimized{padding:var(--space-3) var(--space-5);align-items:center}.al-minimized .al-body{flex-direction:row;align-items:center}@media (prefers-reduced-motion:reduce){.al-alert{animation:none}.al-close-btn,.al-action-btn{transition:none}}
.ald-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:var(--z-overlay);position:fixed;inset:0}.ald-overlay--animate{animation:ald-overlay-in var(--duration-fast) var(--ease-enter)}.ald-content{width:calc(100% - var(--radius-2xl));max-width:var(--layout-auth-form);background:var(--surface);border-radius:var(--radius-xl);border:var(--bw-thin) solid var(--border-subtle);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:ald-content-in .25s var(--ease-enter);outline:none;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes ald-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ald-content-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ald-header{padding:var(--space-6) var(--space-6) var(--space-1);text-align:center;flex-direction:column;align-items:center;display:flex}.ald-icon-container{margin-bottom:var(--space-3);color:var(--calm-danger);justify-content:center;display:flex}.ald-title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-900);margin:0}.ald-desc{padding:var(--space-1) var(--space-6) var(--space-5);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);text-align:center}.ald-footer{padding:var(--space-5) var(--space-6) var(--space-6);justify-content:flex-end;gap:var(--space-2);display:flex}.ald-btn-cancel,.ald-btn-action{min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-body);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);border:none;font-family:inherit}.ald-btn-cancel:focus-visible,.ald-btn-action:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.ald-btn-cancel{color:var(--neutral-700);background:0 0}.ald-btn-cancel:hover{background:var(--overlay-hover)}.ald-btn-action--destructive{background:var(--calm-danger);color:var(--text-on-primary)}.ald-btn-action--destructive:hover{background:var(--calm-danger-deep)}.ald-btn-action--warning{background:var(--calm-info);color:var(--text-on-primary)}.ald-btn-action--warning:hover{filter:brightness(.92)}.ald-btn-action--default{background:var(--neutral-900);color:var(--text-on-primary)}.ald-btn-action--default:hover{background:var(--neutral-700)}
.ccm-wrapper{pointer-events:none;z-index:var(--z-toast,700);opacity:0;transition:opacity var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ccm-wrapper--active{opacity:1}.ccm-wrapper--exit{opacity:0}.ccm-container{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.ccm-checkmark-bg{background:var(--calm-success-soft);border-radius:var(--radius-full);width:64px;height:64px;box-shadow:var(--shadow-md);margin-bottom:var(--space-3);opacity:0;justify-content:center;align-items:center;display:flex;transform:scale(0)}.ccm-checkmark-bg--animate{animation:ccm-checkmark-pop var(--duration-slow) var(--ease-enter) forwards}@keyframes ccm-checkmark-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.ccm-svg{width:64px;height:64px}.ccm-circle-stroke{stroke-dasharray:189;stroke-dashoffset:189px;animation:ccm-circle-draw var(--duration-slow) var(--ease-enter) forwards}@keyframes ccm-circle-draw{to{stroke-dashoffset:0}}.ccm-check-stroke{stroke-dasharray:35;stroke-dashoffset:35px;animation:ccm-check-draw var(--duration-normal) var(--ease-default) var(--duration-fast) forwards}@keyframes ccm-check-draw{to{stroke-dashoffset:0}}.ccm-particle{pointer-events:none;will-change:transform, opacity;opacity:0;position:absolute;top:32px;left:32px}.ccm-particle--animate{animation:ccm-particle-burst var(--ccm-particle-duration,1s) var(--ease-default) var(--ccm-particle-delay,0s) forwards}@keyframes ccm-particle-burst{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--ccm-particle-x,100px), calc(var(--ccm-particle-y,100px) + 50px)) rotate(var(--ccm-particle-rotation,360deg)) scale(.3);opacity:0}}.ccm-text{text-align:center;opacity:0;transform:translateY(var(--space-2))}.ccm-text--animate{animation:ccm-text-in var(--duration-normal) var(--ease-default) var(--duration-normal) forwards}@keyframes ccm-text-in{to{opacity:1;transform:translateY(0)}}.ccm-title{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--fw-semibold);line-height:var(--lh-micro);color:var(--neutral-900);margin:0}.ccm-subtitle{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);margin:var(--space-1) 0 0}@media (prefers-reduced-motion:reduce){.ccm-checkmark-bg{opacity:1;animation:none;transform:scale(1)}.ccm-circle-stroke,.ccm-check-stroke{stroke-dashoffset:0;animation:none}.ccm-particle{display:none}.ccm-text{opacity:1;animation:none;transform:none}.ccm-wrapper{transition:none}}
.auto-save-indicator{align-items:center;gap:var(--space-1_5);padding:var(--space-1_5) var(--space-3);background:var(--surface);border-radius:var(--radius-xs);box-shadow:var(--shadow-sm);transition:opacity .2s var(--ease-default), transform .2s var(--ease-default);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);display:inline-flex}.auto-save-indicator--fixed{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-layer-40);position:fixed}.auto-save-indicator--inline{position:static}.auto-save-indicator--hidden{opacity:0;transform:translateY(var(--space-1));pointer-events:none}.auto-save-indicator--visible{opacity:1;transform:translateY(0)}.auto-save-indicator--saving{color:var(--neutral-500)}.auto-save-indicator__spinner{border:var(--bw-medium) solid var(--neutral-200);border-top-color:var(--neutral-500);border-radius:var(--radius-full);flex-shrink:0;width:14px;height:14px;animation:1s linear infinite auto-save-spin}@keyframes auto-save-spin{to{transform:rotate(360deg)}}.auto-save-indicator--saved{color:var(--calm-success)}.auto-save-indicator__check{width:14px;height:14px;color:var(--calm-success);flex-shrink:0}.auto-save-indicator--error{color:var(--calm-danger)}.auto-save-indicator__alert{width:14px;height:14px;color:var(--calm-danger);flex-shrink:0}.auto-save-indicator__retry{margin-left:var(--space-1_5);cursor:pointer;color:inherit;font:inherit;font-weight:var(--fw-semibold);background:0 0;border:none;padding:0;text-decoration:underline}.auto-save-indicator__retry:hover{opacity:.8}.auto-save-indicator__retry:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}@media (prefers-reduced-motion:reduce){.auto-save-indicator{transition:none}.auto-save-indicator__spinner{border-top-color:var(--neutral-200);animation:none}}
.countdown{padding:var(--space-4) var(--space-6);background:var(--surface);border-radius:var(--radius-xs);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-default);flex-direction:column;align-items:center;display:inline-flex;position:relative;overflow:hidden}.countdown--alert{border-left:var(--bw-thick) solid var(--calm-info);background:var(--calm-info-soft)}.countdown--critical{border-left:var(--bw-thick) solid var(--calm-danger);background:var(--calm-danger-soft);box-shadow:var(--shadow-md)}.countdown--completed{border-left:var(--bw-thick) solid var(--calm-danger)}.countdown--critical .countdown__numbers-wrapper{animation:countdown-pulse-subtle 1s var(--ease-default) infinite}.countdown__label{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--text-tertiary);margin-bottom:var(--space-2);text-align:center}.countdown__numbers-wrapper{align-items:center;gap:var(--space-1);display:flex}.countdown__numbers{align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "lnum" 1;transition:color var(--duration-normal) var(--ease-default);display:flex}.countdown__numbers--sm{font-size:var(--text-h2);font-weight:var(--fw-semibold);line-height:1}.countdown__numbers--default{font-size:var(--text-h1);font-weight:var(--fw-semibold);line-height:1}.countdown__numbers--lg{font-size:var(--text-display);font-weight:var(--fw-semibold);line-height:1}.countdown--normal .countdown__numbers{color:var(--neutral-700)}.countdown--alert .countdown__numbers{color:var(--calm-info-deep)}.countdown--critical .countdown__numbers,.countdown--completed .countdown__numbers{color:var(--calm-danger)}.countdown--paused .countdown__numbers{opacity:.6}.countdown__separator{font-weight:var(--fw-normal);transition:color var(--duration-normal) var(--ease-default)}.countdown--normal .countdown__separator{color:var(--text-tertiary)}.countdown--alert .countdown__separator{color:var(--calm-info)}.countdown--critical .countdown__separator,.countdown--completed .countdown__separator{color:var(--calm-danger)}.countdown__separator--blinking{animation:1s ease-in-out infinite countdown-pulse-separator}.countdown--alert .countdown__separator--blinking{animation-duration:.7s}.countdown--critical .countdown__separator--blinking{animation-duration:.5s}.countdown--paused .countdown__separator--blinking{opacity:.5;animation-play-state:paused}.countdown--completed .countdown__separator--blinking{opacity:1;animation:none}.countdown__completed{align-items:center;gap:var(--space-2);color:var(--calm-danger);min-height:var(--h-lg);flex-direction:column;justify-content:center;display:flex}.countdown__completed-icon{justify-content:center;align-items:center;display:inline-flex}.countdown__completed-icon svg{width:20px;height:20px}.countdown__completed-text{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-danger)}.countdown__controls{gap:var(--space-2);margin-top:var(--space-3);display:flex}@keyframes countdown-pulse-separator{0%,to{opacity:1}50%{opacity:.3}}@keyframes countdown-pulse-subtle{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}@media (prefers-reduced-motion:reduce){.countdown__separator--blinking{opacity:1!important;animation:none!important}.countdown--critical .countdown__numbers-wrapper{animation:none!important}.countdown,.countdown__numbers,.countdown__separator{transition:none}}
.es-empty{padding:var(--space-8);border:var(--bw-thin) dashed var(--neutral-300);border-radius:var(--radius-lg);text-align:center;background:var(--off-white)}.es-empty .es-ic{width:var(--h-md);height:var(--h-md);border-radius:var(--radius-full);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);margin:0 auto var(--space-2);place-items:center;display:grid}.es-empty .es-ic svg{stroke:var(--neutral-500)}.es-empty h3{font-size:var(--text-body);font-weight:var(--fw-bold);color:var(--text-primary);margin:0}.es-empty p{margin:var(--space-1) 0 var(--space-4);font-size:var(--text-caption);color:var(--neutral-600);line-height:var(--lh-caption)}.es-empty .es-cta{appearance:none;background:var(--calm-primary);color:var(--on-primary);font:inherit;font-size:var(--text-caption);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;border:0}
.ds-separator-container{align-items:center;width:100%;display:flex;position:relative}.ds-separator-simple{background:var(--neutral-200);height:1px}.ds-separator-labeled{gap:var(--space-2);display:flex}.ds-separator-line{background:var(--neutral-200);flex:1;align-self:center;height:1px}.ds-separator-label{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--text-tertiary);padding:0 var(--space-2);background:var(--surface);white-space:nowrap}
.scroll-area{border-radius:var(--radius-sm);position:relative;overflow:hidden}.scroll-area--no-radius{border-radius:0}.scroll-area__viewport{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;height:100%;overflow:hidden auto}.scroll-area__viewport::-webkit-scrollbar{display:none}.scroll-area__content{padding:var(--space-4);min-height:100%}.scroll-area--no-padding .scroll-area__content{padding:0}.scroll-area__scrollbar{opacity:0;width:6px;transition:opacity var(--duration-normal) var(--ease-default);pointer-events:none;z-index:var(--z-above);position:absolute;top:2px;bottom:2px;right:2px}.scroll-area:hover .scroll-area__scrollbar,.scroll-area--scrolling .scroll-area__scrollbar{opacity:1}.scroll-area__scrollbar-track{border-radius:var(--radius-full);background:0 0;width:100%;height:100%;position:relative}.scroll-area__scrollbar-thumb{border-radius:var(--radius-full);background:var(--neutral-300);cursor:pointer;pointer-events:auto;width:6px;min-height:40px;transition:background var(--duration-fast) var(--ease-default), opacity var(--duration-fast) var(--ease-default);position:absolute;top:0;left:0}.scroll-area__scrollbar-thumb:hover{background:var(--neutral-500)}.scroll-area__shadow-top,.scroll-area__shadow-bottom{height:var(--space-4);pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-default);z-index:calc(var(--z-above) + 1);position:absolute;left:0;right:0}.scroll-area__shadow-top{background:linear-gradient(to bottom, var(--overlay-hover), transparent);top:0}.scroll-area__shadow-bottom{background:linear-gradient(to top, var(--overlay-hover), transparent);bottom:0}.scroll-area--show-top-shadow .scroll-area__shadow-top,.scroll-area--show-bottom-shadow .scroll-area__shadow-bottom{opacity:1}@media (prefers-reduced-motion:reduce){.scroll-area__scrollbar,.scroll-area__scrollbar-thumb,.scroll-area__shadow-top,.scroll-area__shadow-bottom{transition:none}}
.accordion{gap:var(--space-1);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.accordion__item{border-radius:var(--radius-sm);overflow:hidden}.accordion__item--open{background:var(--surface)}.accordion__trigger{width:100%;min-height:var(--h-md);padding:var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-950);text-align:left;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.accordion__trigger:hover{background:var(--neutral-50)}.accordion__trigger:focus-visible{box-shadow:inset 0 0 0 2px var(--calm-primary);background:var(--surface);outline:none}.accordion__item--open .accordion__trigger{background:var(--surface);color:var(--calm-primary);font-weight:var(--fw-semibold)}.accordion__item--open .accordion__trigger:hover{background:var(--neutral-50)}.accordion__trigger-main{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.accordion__trigger-label{flex:1;min-width:0}.accordion__trigger-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-micro);color:var(--text-tertiary);font-weight:var(--fw-medium);margin-left:var(--space-3);flex-shrink:0}.accordion__item--open .accordion__trigger-meta{color:var(--calm-info)}.accordion__chevron{width:16px;height:16px;color:var(--neutral-500);transition:transform var(--duration-normal) var(--ease-default), color var(--duration-fast) var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.accordion__chevron svg{width:16px;height:16px}.accordion__item--open .accordion__chevron{color:var(--calm-primary);transform:rotate(180deg)}.accordion__content-wrapper{transition:grid-template-rows var(--duration-normal) var(--ease-default);grid-template-rows:0fr;display:grid}.accordion__item--open .accordion__content-wrapper{grid-template-rows:1fr}.accordion__content{min-height:0;overflow:hidden}.accordion__content-inner{padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700)}.accordion__content-inner ul{padding:0 0 0 var(--space-4);margin:0}@media (prefers-reduced-motion:reduce){.accordion__content-wrapper,.accordion__chevron,.accordion__trigger{transition:none}}
.collapsible__trigger{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) 0;border:none;border-bottom:var(--bw-thin) solid var(--neutral-200);margin-bottom:var(--space-2);color:var(--neutral-950);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);text-align:left;cursor:pointer;transition:color var(--duration-fast) var(--ease-default);background:0 0;display:flex}.collapsible__trigger:hover{color:var(--calm-primary)}.collapsible__trigger:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}.collapsible__icon{width:16px;height:16px;color:var(--neutral-500);transition:transform var(--duration-normal) var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.collapsible__icon svg{width:16px;height:16px}.collapsible--open .collapsible__icon{transform:rotate(90deg)}.collapsible__content{transition:height var(--duration-normal) var(--ease-default);overflow:hidden}.collapsible__content--closed{height:0}.collapsible__content-inner{padding:0 0 var(--space-4) 0;color:var(--neutral-700);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body)}@media (prefers-reduced-motion:reduce){.collapsible__content,.collapsible__icon{transition:none}}
.tab-root{flex-direction:column;display:flex}.tab-bar{border-bottom:var(--bw-thin) solid var(--neutral-200);scrollbar-width:none;align-items:flex-end;display:flex;position:relative;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-bar.tab-fade-left:before,.tab-bar.tab-fade-right:after{content:"";pointer-events:none;width:32px;z-index:var(--z-above);position:absolute;top:0;bottom:0}.tab-bar.tab-fade-left:before{background:linear-gradient(to right, var(--surface), transparent);left:0}.tab-bar.tab-fade-right:after{background:linear-gradient(to left, var(--surface), transparent);right:0}.tab-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);min-height:var(--h-md);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--neutral-700);white-space:nowrap;transition:color var(--duration-instant) var(--ease-default);background:0 0;border:none;flex-shrink:0;display:flex;position:relative}.tab-item:hover{color:var(--neutral-950)}.tab-item:not(.tab-on):not(:disabled):hover:after{content:"";bottom:0;left:var(--space-4);right:var(--space-4);background:var(--neutral-200);border-radius:var(--radius-full);height:1px;position:absolute}.tab-item.tab-on{color:var(--calm-primary);font-weight:var(--fw-medium)}.tab-item:disabled,.tab-item[aria-disabled=true]{color:var(--neutral-200);cursor:not-allowed;pointer-events:none}.tab-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.tab-edit-input{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;background:0 0;border:none;outline:none;width:100px;margin:0;padding:0}.tab-close{min-width:var(--h-md);min-height:var(--h-md);border-radius:var(--space-1);cursor:pointer;color:var(--neutral-400);margin-left:var(--space-half);transition:background var(--duration-instant), color var(--duration-instant);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:none}.tab-item:hover .tab-close{display:flex}.tab-close:hover{background:var(--neutral-100);color:var(--neutral-700)}.tab-indicator{background:var(--calm-primary);border-radius:var(--radius-full);height:2px;transition:left var(--duration-fast) var(--ease-default), width var(--duration-fast) var(--ease-default);pointer-events:none;position:absolute;bottom:0}.tab-more-wrap{flex-shrink:0;position:relative}.tab-more-btn{align-items:center;gap:var(--space-1);padding:var(--space-2);min-height:var(--h-md);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);color:var(--neutral-700);white-space:nowrap;transition:color var(--duration-instant);background:0 0;border:none;display:flex}.tab-more-btn:hover{color:var(--neutral-950)}.tab-more-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.tab-dropdown{top:calc(100% + var(--space-1));background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-xs);box-shadow:var(--shadow-md);padding:var(--space-1);min-width:180px;z-index:var(--z-dropdown);animation:tab-fadein var(--duration-fast) var(--ease-enter);position:absolute;right:0}@keyframes tab-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tab-dropdown-item{width:100%;min-height:var(--h-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);color:var(--neutral-700);text-align:left;transition:background var(--duration-instant), color var(--duration-instant);background:0 0;border:none;align-items:center;display:flex}.tab-dropdown-item:hover{background:var(--neutral-50);color:var(--neutral-950)}.tab-dropdown-item.tab-on{background:var(--calm-primary-soft);color:var(--calm-primary);font-weight:var(--fw-medium)}.tab-add-btn{min-width:var(--h-md);min-height:var(--h-md);margin:auto var(--space-2);border-radius:var(--radius-full);border:var(--bw-thin) solid var(--neutral-200);cursor:pointer;color:var(--neutral-500);transition:border-color var(--duration-instant), color var(--duration-instant);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tab-add-btn:hover{border-color:var(--calm-primary);color:var(--calm-primary)}.tab-add-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.tab-panel{display:none}.tab-panel.tab-panel-active{animation:tab-enter var(--duration-fast) var(--ease-enter);display:block}@keyframes tab-enter{0%{opacity:0;transform:translateY(var(--space-1))}to{opacity:1;transform:translateY(0)}}.tab-skeleton{background:var(--neutral-100);border-radius:var(--radius-sm);animation:1.5s ease-in-out infinite tab-pulse}@keyframes tab-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.tab-indicator,.tab-item,.tab-more-btn{transition:none}.tab-dropdown,.tab-panel.tab-panel-active,.tab-skeleton{animation:none}}
.section-title-container{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;width:100%;display:flex}.section-title-left{border-left:var(--bw-thick) solid var(--calm-primary);padding-left:var(--space-3);flex:1;align-items:center;min-width:0;display:flex}.section-title-content{align-items:center;width:100%;min-width:0;display:flex}.section-title-icon{margin-right:var(--space-2);color:var(--neutral-300);flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-title-icon svg{width:var(--space-4);height:var(--space-4)}.section-title-text{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--fw-semibold);line-height:var(--lh-h4);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;width:100%;margin:0;overflow:hidden}.section-title-skeleton{width:40%;height:var(--space-4);background:var(--neutral-200);border-radius:var(--radius-xs);animation:section-title-pulse var(--duration-slow) var(--ease-default) infinite}.section-title-right{margin-left:var(--space-4);flex-shrink:0}.section-title-action{font-family:inherit;font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--calm-primary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none;padding:0;text-decoration:none}.section-title-action:hover{text-decoration:underline}.section-title-action:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline-offset:var(--space-1);outline:none}@keyframes section-title-pulse{0%,to{opacity:1}50%{opacity:.5}}
.page-header{z-index:var(--z-sticky);height:var(--h-md);padding:var(--space-2) var(--space-6);background:var(--bg-elevated);border-bottom:var(--bw-thin) solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:sticky;top:0}.page-header__breadcrumbs{align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.page-header__crumb{align-items:center;display:flex}.page-header__crumb-link{color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-default);text-decoration:none}.page-header__crumb-link:hover{color:var(--text-secondary)}.page-header__crumb-separator{margin:0 var(--space-2);color:var(--text-tertiary)}.page-header__actions{align-items:center;display:flex;position:relative}.page-header__badge{top:var(--space-1);right:var(--space-1);border-radius:var(--radius-full);background:var(--calm-danger);border:var(--bw-thin) solid var(--bg-elevated);pointer-events:none;width:8px;height:8px;position:absolute}.page-header__avatar{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);background:var(--calm-tertiary-soft);color:var(--calm-tertiary);font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--text-body-sm);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-header__avatar:hover{background:var(--calm-tertiary-soft-2)}.page-header__avatar:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.page-header__avatar-img{border-radius:var(--radius-full);object-fit:cover;width:100%;height:100%}
.st-row{gap:var(--space-3);flex-direction:column;max-width:540px;display:flex}.st-step{align-items:center;gap:var(--space-4);display:flex}.st-dot{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--fw-bold);place-items:center;display:grid}.st-done{background:var(--calm-primary);color:var(--on-primary)}.st-cur{background:var(--surface);border:var(--bw-medium) solid var(--calm-primary);color:var(--calm-primary)}.st-todo{background:var(--neutral-100);color:var(--neutral-600)}.st-label{font-size:var(--text-body-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.st-todo+.st-label{color:var(--neutral-600);font-weight:var(--fw-medium)}.st-line{background:var(--neutral-200);height:1px;margin:0 var(--space-1);flex:1}.st-sub{font-size:var(--text-micro);color:var(--text-tertiary);margin-left:38px}.st-h{flex-direction:column;align-items:flex-start;display:flex}.st-cur+.st-h .st-label{color:var(--text-primary)}.st-row.steps{flex-direction:row;align-items:center;gap:0}.st-dot{transition:all var(--duration-fast);cursor:default}.st-step{cursor:default}
.step-transition{background:var(--surface);padding:var(--space-6);border-radius:var(--radius-lg);overflow:hidden}.step-transition__header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.step-transition__dots{gap:var(--space-2);align-items:center;display:flex}.step-transition__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-default);background:var(--neutral-200)}.step-transition__dot--active{background:var(--calm-primary)}.step-transition__dot--completed{background:var(--calm-primary);width:6px;height:6px}.step-transition__counter{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--neutral-500)}.step-transition__content-wrapper{transition:height var(--duration-slow) var(--ease-default);position:relative;overflow:hidden}.step-transition__step{transition:all var(--duration-slow) var(--ease-default);width:100%}.step-transition__step--entering{opacity:0;transform:translate(40px)}.step-transition__step--active{opacity:1;transform:translate(0)}.step-transition__step--exiting{opacity:0;transform:translate(-40px)}.step-transition__footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:var(--bw-thin) solid var(--neutral-200);justify-content:space-between;display:flex}.step-transition__back{padding:var(--space-3) var(--space-6);color:var(--neutral-700);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);line-height:var(--lh-body);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);background:0 0}.step-transition__back:hover:not(:disabled){background:var(--neutral-50)}.step-transition__back:disabled{opacity:.4;cursor:not-allowed}.step-transition__back:focus-visible{box-shadow:var(--shadow-focus);outline:none}.step-transition__continue{padding:var(--space-3) var(--space-6);background:var(--calm-primary);color:var(--surface);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);line-height:var(--lh-body);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none}.step-transition__continue:hover:not(:disabled){background:var(--calm-primary-hover)}.step-transition__continue:disabled{opacity:.5;cursor:not-allowed}.step-transition__continue:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (prefers-reduced-motion:reduce){.step-transition__content-wrapper,.step-transition__step,.step-transition__dot,.step-transition__back,.step-transition__continue{transition:none}}
.sad{gap:var(--space-1);flex-direction:column;display:flex}.sad__row{align-items:center;gap:var(--space-4);display:flex}.sad__badge{align-items:center;gap:var(--space-2);white-space:nowrap;flex-shrink:0;display:flex}.sad__num{font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary)}.sad__sep{color:var(--neutral-300);font-size:var(--text-micro)}.sad__lbl{font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.sad--1 .sad__lbl{color:var(--text-tertiary)}.sad--2 .sad__lbl{color:var(--calm-tertiary)}.sad--3 .sad__lbl{color:var(--calm-success)}.sad__rule{background:var(--neutral-200);flex:1;height:1px}.sad__desc{font-size:var(--text-caption);color:var(--text-tertiary);line-height:var(--lh-caption);margin:0}
.expectation-steps{background:var(--surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.expectation-steps__progress-track{background:var(--neutral-200);border-radius:var(--radius-smooth);width:100%;height:4px;margin-bottom:var(--space-6);overflow:hidden}.expectation-steps__progress-fill{background:var(--calm-primary);border-radius:var(--radius-smooth);height:100%;transition:width var(--duration-slow) var(--ease-default)}.expectation-steps__list{gap:var(--space-4);flex-direction:column;display:flex}.expectation-steps__step{align-items:flex-start;gap:var(--space-3);display:flex}.expectation-steps__circle{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-default);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.expectation-steps__circle--completed{background:var(--calm-success);color:var(--surface)}.expectation-steps__circle--current{background:var(--calm-primary);color:var(--surface)}.expectation-steps__circle--future{background:var(--neutral-100);color:var(--neutral-500);border:var(--bw-medium) solid var(--neutral-200)}.expectation-steps__circle svg{width:16px;height:16px}.expectation-steps__text{padding-top:var(--space-1_5);flex:1;min-width:0}.expectation-steps__title{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);line-height:var(--lh-body);color:var(--neutral-950)}.expectation-steps__description{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);margin-top:var(--space-1)}.expectation-steps__action{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--calm-primary-soft);color:var(--calm-primary);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none}.expectation-steps__action:hover{background:var(--calm-primary-soft-2)}.expectation-steps__action:focus-visible{box-shadow:var(--shadow-focus);outline:none}.expectation-steps__optional{margin-left:var(--space-2);padding:var(--space-half) var(--space-1_5);background:var(--neutral-100);color:var(--neutral-500);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);border-radius:var(--radius-full);display:inline-block}.expectation-steps__complete{align-items:center;gap:var(--space-4);padding:var(--space-6) 0;text-align:center;flex-direction:column;display:flex}.expectation-steps__complete-icon{width:var(--space-16);height:var(--space-16);background:var(--calm-success-soft);border-radius:var(--radius-full);color:var(--calm-success);justify-content:center;align-items:center;display:flex}.expectation-steps__complete-icon svg{width:32px;height:32px}.expectation-steps__complete-title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-950)}.expectation-steps__complete-text{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700)}.expectation-steps__confetti{pointer-events:none;width:100%;height:100%;z-index:var(--z-layer-10);position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.expectation-steps__progress-fill,.expectation-steps__circle,.expectation-steps__action{transition:none}.expectation-steps__confetti{display:none}}
.question-block{background:var(--surface);padding:var(--space-6);border-radius:var(--radius-lg)}.question-block__question-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.question-block__question{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--fw-semibold);line-height:var(--lh-h4);color:var(--neutral-950);margin:0}.question-block__help{width:18px;height:18px;color:var(--neutral-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.question-block__help:hover{color:var(--neutral-700)}.question-block__help:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}.question-block__help svg{width:18px;height:18px}.question-block__tooltip{left:50%;bottom:calc(100% + var(--space-2));background:var(--neutral-950);color:var(--surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);width:max-content;max-width:280px;z-index:var(--z-layer-20);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-default);position:absolute;transform:translate(-50%)}.question-block__tooltip--visible{opacity:1;pointer-events:auto}.question-block__options{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.question-block__option{padding:var(--space-4);background:var(--neutral-50);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);align-items:center;display:flex;position:relative}.question-block__option:hover{border-color:var(--neutral-300);background:var(--surface)}.question-block__option--selected{background:var(--calm-primary-soft);border-color:var(--calm-primary);box-shadow:var(--shadow-sm)}.question-block__option--selected:hover{background:var(--calm-primary-soft);border-color:var(--calm-primary)}.question-block__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.question-block__input:focus-visible+.question-block__radio{box-shadow:0 0 0 var(--bw-thick) var(--calm-primary)}.question-block__radio{border:var(--bw-medium) solid var(--neutral-300);border-radius:var(--radius-full);width:18px;height:18px;margin-right:var(--space-3);transition:all var(--duration-fast) var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;display:flex}.question-block__radio--checked{border-color:var(--calm-primary);background:var(--calm-primary)}.question-block__radio--checked:after{content:"";background:var(--surface);border-radius:var(--radius-full);width:6px;height:6px}.question-block__checkbox{border:var(--bw-medium) solid var(--neutral-300);border-radius:var(--space-1);width:18px;height:18px;margin-right:var(--space-3);transition:all var(--duration-fast) var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;display:flex}.question-block__checkbox--checked{border-color:var(--calm-primary);background:var(--calm-primary)}.question-block__checkbox--checked svg{width:12px;height:12px;color:var(--surface)}.question-block__label{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-950);flex:1}.question-block__other{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-xs);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);color:var(--neutral-950);width:100%;transition:border-color var(--duration-fast) var(--ease-default)}.question-block__other:focus{border-color:var(--calm-primary);outline:none}.question-block__other-wrapper{transition:all var(--duration-fast) var(--ease-default);overflow:hidden}.question-block__other-wrapper--hidden{opacity:0;max-height:0;margin-top:0}.question-block__other-wrapper--visible{opacity:1;max-height:60px;margin-top:var(--space-3)}.question-block__show-more{padding:var(--space-3) var(--space-4);color:var(--calm-primary);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);cursor:pointer;text-align:left;transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none}.question-block__show-more:hover{color:var(--calm-primary-hover)}@media (prefers-reduced-motion:reduce){.question-block__tooltip,.question-block__option,.question-block__radio,.question-block__checkbox,.question-block__other-wrapper{transition:none}}
.toc-root{scrollbar-width:none;flex-shrink:0;width:220px;max-height:calc(100vh - 100px);position:sticky;top:80px;overflow-y:auto}.toc-root::-webkit-scrollbar{display:none}.toc-list{gap:var(--space-half);flex-direction:column;padding-left:0;display:flex;position:relative}.toc-list:before{content:"";background:var(--neutral-200);width:1px;position:absolute;top:0;bottom:0;left:0}.toc-item{width:100%;padding:var(--space-1_5) var(--space-2_5);cursor:pointer;text-align:left;border-radius:0 var(--radius-xs) var(--radius-xs) 0;transition:background var(--duration-instant), color var(--duration-instant);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;align-items:center;font-family:inherit;display:flex;position:relative;overflow:hidden}.toc-item[data-depth="1"]{font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--neutral-700);padding-left:var(--space-4)}.toc-item[data-depth="2"]{font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--neutral-700);padding-left:var(--space-8)}.toc-item[data-depth="3"]{font-size:var(--text-caption);font-weight:var(--fw-normal);color:var(--neutral-500);padding-left:var(--space-12)}.toc-item:hover{background:var(--neutral-50);color:var(--neutral-950)}.toc-item.toc-active{color:var(--calm-primary);font-weight:var(--fw-medium)}.toc-item.toc-active:before{content:"";left:0;top:var(--space-1);bottom:var(--space-1);width:var(--bw-medium);background:var(--calm-primary);border-radius:0 var(--bw-medium) var(--bw-medium) 0;position:absolute}.toc-item.toc-active:after{content:"";border-radius:var(--radius-full);background:var(--calm-primary);width:6px;height:6px;position:absolute;top:50%;left:-3px;transform:translateY(-50%)}.toc-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:calc(var(--focus-outline-offset) * -1);outline:none}.toc-section{display:contents}.toc-section-header{width:100%;padding:var(--space-1_5) var(--space-2_5) var(--space-1_5) var(--space-5);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--neutral-700);border-radius:0 var(--radius-xs) var(--radius-xs) 0;text-align:left;transition:background var(--duration-instant), color var(--duration-instant);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex;position:relative}.toc-section-header:hover{background:var(--neutral-50);color:var(--neutral-950)}.toc-section-header:focus-visible{box-shadow:var(--shadow-focus);outline-offset:calc(var(--focus-outline-offset) * -1);outline:none}.toc-section-header.toc-active{color:var(--calm-primary);font-weight:var(--fw-medium)}.toc-section-chevron{opacity:.4;transition:transform var(--duration-fast) var(--ease-default);flex-shrink:0}.toc-section-chevron.toc-open{transform:rotate(180deg)}.toc-section-children{max-height:0;transition:max-height var(--duration-fast) var(--ease-default);overflow:hidden}.toc-section-children.toc-open{max-height:1000px}.toc-fab{bottom:var(--space-6);right:var(--space-6);width:48px;height:var(--h-lg);border-radius:var(--radius-full);background:var(--calm-primary);color:var(--on-primary);cursor:pointer;box-shadow:var(--shadow-lg);z-index:var(--z-sticky);transition:background var(--duration-instant), transform var(--duration-fast);border:none;justify-content:center;align-items:center;display:none;position:fixed}.toc-fab:hover{background:var(--calm-primary-hover);transform:scale(1.05)}.toc-fab:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.toc-sheet-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:var(--z-overlay);animation:toc-fadein var(--duration-fast) var(--ease-enter);position:fixed;inset:0}.toc-sheet{background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:70vh;box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:toc-slideup .25s var(--ease-enter);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes toc-fadein{0%{opacity:0}to{opacity:1}}@keyframes toc-slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.toc-sheet-header{padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:var(--bw-thin) solid var(--neutral-200);align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.toc-sheet-title{font-size:var(--text-body-sm);font-weight:var(--fw-semibold);color:var(--text-primary);flex:1}.toc-sheet-search{align-items:center;gap:var(--space-2);padding:var(--space-1_5) var(--space-2_5);background:var(--neutral-50);border-radius:var(--radius-sm);flex:1;display:flex}.toc-sheet-search input{font:inherit;font-size:var(--text-body-sm);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.toc-sheet-close{width:32px;height:var(--h-sm);border-radius:var(--radius-xs);cursor:pointer;color:var(--neutral-500);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toc-sheet-close:hover{background:var(--neutral-100);color:var(--neutral-700)}.toc-sheet-close:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.toc-sheet-list{padding:var(--space-1_5) 0;flex:1;overflow-y:auto}@media (max-width:768px){.toc-root{display:none}.toc-fab{display:flex}}@media (prefers-reduced-motion:reduce){.toc-section-chevron,.toc-section-children,.toc-fab{transition:none}.toc-sheet-backdrop,.toc-sheet{animation:none}}
:focus-visible{outline:var(--bw-medium) solid var(--calm-primary);outline-offset:var(--focus-outline-offset);border-radius:inherit}input:focus,textarea:focus,select:focus{outline:var(--bw-medium) solid var(--calm-primary);outline-offset:var(--focus-outline-offset);border-color:var(--calm-primary)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:var(--bw-medium) solid var(--calm-primary);outline-offset:var(--focus-outline-offset)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){:focus-visible{transition:none}}
.ds-header-border{border-bottom:var(--bw-thin) solid var(--neutral-200);width:100%;margin:0;padding:0}.ds-header-with-border{flex-direction:column;width:100%;display:flex}.ds-header-content{padding-bottom:var(--space-4)}
.dlg-overlay{background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:var(--z-overlay);animation:dlg-overlay-in var(--duration-fast) var(--ease-default);position:fixed;inset:0}@keyframes dlg-overlay-in{0%{opacity:0}to{opacity:1}}.dlg-content{width:calc(100% - var(--radius-2xl));background-color:var(--surface);border-radius:var(--radius-xl);border:var(--bw-thin) solid var(--border-subtle);box-shadow:var(--shadow-xl);z-index:var(--z-modal);max-height:90vh;animation:dlg-content-in .25s var(--ease-default);outline:none;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes dlg-content-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.dlg-content--sm{max-width:400px}.dlg-content--md{max-width:520px}.dlg-content--lg{max-width:720px}.dlg-content--xl{max-width:1024px}.dlg-content--full{width:calc(100% - var(--radius-2xl));max-width:none}.dlg-header{padding:var(--space-5) var(--space-6) 0;position:relative}.dlg-title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-900);margin:0}.dlg-desc{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);margin:var(--space-1) 0 0}.dlg-close-btn{top:var(--space-4);right:var(--space-4);padding:var(--space-1);border-radius:var(--radius-xs);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;position:absolute}.dlg-close-btn:hover{background-color:var(--overlay-hover);color:var(--neutral-900)}.dlg-close-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.dlg-body{padding:var(--space-5) var(--space-6);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex:1;overflow-y:auto}.dlg-body::-webkit-scrollbar{width:6px}.dlg-body::-webkit-scrollbar-thumb{background-color:var(--border-subtle);border-radius:var(--radius-xs)}.dlg-footer{padding:var(--space-5) var(--space-6);justify-content:flex-end;gap:var(--space-2);border-top:var(--bw-thin) solid var(--border-subtle);display:flex}.dlg-confirm-overlay{background-color:var(--bg-overlay);z-index:calc(var(--z-modal) + 1);position:fixed;inset:0}.dlg-confirm-content{background-color:var(--surface);border-radius:var(--radius-md);width:280px;padding:var(--space-6);box-shadow:var(--shadow-xl);z-index:calc(var(--z-modal) + 2);text-align:center;outline:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dlg-confirm-title{font-size:var(--text-h4);font-weight:var(--fw-semibold);color:var(--neutral-900);margin:0 0 var(--space-2)}.dlg-confirm-desc{font-size:var(--text-body);color:var(--neutral-700);margin-bottom:var(--space-6)}.dlg-confirm-footer{gap:var(--space-2);flex-direction:column;display:flex}.dlg-confirm-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-body);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--duration-fast);border:none;min-height:44px}.dlg-confirm-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.dlg-confirm-btn--secondary{background-color:var(--neutral-100);color:var(--neutral-700)}.dlg-confirm-btn--secondary:hover{background-color:var(--neutral-200)}.dlg-confirm-btn--danger{background-color:var(--calm-danger);color:var(--text-on-primary)}.dlg-confirm-btn--danger:hover{background-color:var(--calm-danger-deep)}@media (max-width:640px){.dlg-content{width:calc(100% - var(--radius-2xl));margin:var(--space-5)}}@media (prefers-reduced-motion:reduce){.dlg-overlay,.dlg-content{animation:none}}
.sheet-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));opacity:0;transition:opacity .3s var(--ease-default);z-index:var(--z-elevated);position:fixed;inset:0}.sheet-overlay--open{opacity:1}.sheet{background:var(--surface);z-index:calc(var(--z-elevated) + 1);flex-direction:column;display:flex;position:fixed;overflow:hidden}.sheet--right{border-radius:var(--radius-xl) 0 0 var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-xl);transition:transform var(--duration-slow) cubic-bezier(.32, .72, 0, 1);top:0;bottom:0;right:0;transform:translate(100%)}.sheet--right.sheet--open{transform:translate(0)}.sheet--bottom{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:80vh;box-shadow:var(--shadow-lg);transition:transform var(--duration-slow) cubic-bezier(.32, .72, 0, 1);bottom:0;left:0;right:0;transform:translateY(100%)}.sheet--bottom.sheet--open{transform:translateY(0)}@media (max-width:480px){.sheet--right{max-width:95%}}.sheet__header{padding:var(--space-4) var(--space-6);border-bottom:var(--bw-thin) solid var(--neutral-200);background:var(--surface);z-index:var(--z-above);flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sheet__title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-950);margin:0}.sheet__close{width:var(--space-8);height:var(--space-8);padding:var(--space-1_5);border-radius:var(--radius-xs);cursor:pointer;color:var(--neutral-500);transition:color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sheet__close:hover{color:var(--neutral-700);background:var(--neutral-100)}.sheet__close:focus-visible{box-shadow:var(--shadow-focus);outline:none}.sheet__close svg{width:18px;height:18px}.sheet__content{padding:var(--space-6);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;overflow-y:auto}.sheet__content::-webkit-scrollbar{display:none}.sheet__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:var(--bw-thin) solid var(--neutral-200);background:var(--surface);flex-shrink:0;display:flex}@media (prefers-reduced-motion:reduce){.sheet-overlay,.sheet--right,.sheet--bottom{transition:none}}
.pp-content{background-color:var(--surface);border:var(--bw-thin) solid var(--overlay-hover);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:320px;width:calc(100vw - var(--radius-2xl));z-index:var(--z-dropdown);animation-duration:var(--duration-fast);animation-timing-function:var(--ease-default);will-change:transform, opacity;outline:none}.pp-content[data-state=open]{animation-name:pp-enter}.pp-content[data-state=closed]{animation-name:pp-exit;animation-duration:var(--duration-fast)}@keyframes pp-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pp-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.pp-header{padding:var(--space-5) var(--space-5) var(--space-1)}.pp-title{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-900);margin:0}.pp-subtitle{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);margin:var(--space-1) 0 0}.pp-body{padding:var(--space-1) var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.pp-footer{padding:var(--space-2) var(--space-5);justify-content:flex-end;gap:var(--space-2);border-top:var(--bw-thin) solid var(--overlay-hover);display:flex}.pp-close{padding:var(--space-1);border-radius:var(--space-1);color:var(--neutral-700);cursor:pointer;min-width:44px;min-height:44px;transition:all var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.pp-close:hover{background-color:var(--overlay-hover);color:var(--neutral-900)}.pp-close:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.pp-close--absolute{top:var(--space-3);right:var(--space-3);position:absolute}.pp-arrow{fill:var(--surface);stroke:var(--border-subtle);stroke-width:1px}.pp-confirm-overlay{background-color:var(--overlay-medium);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:calc(var(--z-dropdown) + 1);animation:pp-fade-in var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pp-confirm-dialog{background-color:var(--surface);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-xl);text-align:center;width:100%;max-width:280px}.pp-confirm-title{font-size:var(--text-h4);font-weight:var(--fw-semibold);color:var(--neutral-900);margin:0 0 var(--space-4)}.pp-confirm-footer{gap:var(--space-2);flex-direction:column;display:flex}.pp-confirm-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-body);font-weight:var(--fw-medium);cursor:pointer;min-height:44px;transition:all var(--duration-fast) var(--ease-default);border:none}.pp-confirm-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.pp-confirm-btn--ghost{color:var(--neutral-700);background:0 0}.pp-confirm-btn--ghost:hover{background:var(--neutral-100);color:var(--neutral-950)}.pp-confirm-btn--danger{background-color:var(--calm-danger);color:var(--text-on-primary)}.pp-confirm-btn--danger:hover{background-color:var(--calm-danger-deep)}@keyframes pp-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.pp-content,.pp-confirm-overlay{animation:none}.pp-close,.pp-confirm-btn{transition:none}}
.tt-trigger{cursor:default}.tt-content{background-color:var(--neutral-900);color:var(--surface);padding:var(--space-1_5) var(--space-2_5);border-radius:var(--radius-xs);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-normal);line-height:var(--lh-caption);max-width:250px;box-shadow:var(--shadow-md);z-index:var(--z-tooltip);pointer-events:none;white-space:normal;word-wrap:break-word}.tt-enter{animation:tt-fade-in var(--duration-fast) var(--ease-default)}@keyframes tt-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tt-enter{animation:none}}
.tm-row{gap:var(--space-5);flex-wrap:wrap;align-items:flex-start;display:flex}.tm-card{display:inline-block;position:relative}.tm-tt{bottom:calc(100% + var(--space-1_5));background:var(--calm-primary);color:var(--on-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-micro);font-weight:var(--fw-medium);max-width:250px;line-height:var(--lh-h4);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.tm-tt:after{content:"";border:var(--bw-extra) solid transparent;border-top-color:var(--calm-primary);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tm-target{padding:var(--space-1) var(--space-3);border:var(--bw-thin) solid var(--neutral-300);border-radius:var(--radius-sm);font-size:var(--text-body-sm);background:var(--surface);transition:all var(--duration-fast) var(--ease-default)}.tm-target:hover{border-color:var(--neutral-400)}.tm-wrapper{display:inline-block;position:relative}.tm-trigger{cursor:pointer}.tm-wrapper .tm-menu{bottom:calc(100% + var(--space-1_5));z-index:var(--z-dropdown);position:absolute;left:50%;transform:translate(-50%)}.tm-menu{background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-1);min-width:200px;box-shadow:var(--shadow-lg);display:inline-block}.tm-mi{align-items:center;gap:var(--space-3);padding:var(--space-2_5) var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-body-sm);color:var(--neutral-700);cursor:pointer;transition:all var(--duration-instant) var(--ease-default);display:flex}.tm-mi:hover,.tm-mi.tm-on{background:var(--neutral-100);color:var(--text-primary)}.tm-mi .tm-icon{width:14px;height:14px;color:var(--neutral-500);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tm-mi .tm-k{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--neutral-400);margin-left:auto}.tm-sep{background:var(--neutral-200);height:1px;margin:var(--space-1)}.tm-danger{color:var(--calm-danger)}
.locked-overlay-container{position:relative;overflow:hidden}.locked-overlay__content{transition:filter .5s var(--ease-default)}.locked-overlay__content--locked{filter:blur(var(--blur-md));-webkit-user-select:none;user-select:none;pointer-events:none}.locked-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-md));z-index:var(--z-layer-10);border-radius:inherit;opacity:0;animation:locked-overlay-fade-in .3s var(--ease-default) forwards;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.locked-overlay--fixed{position:fixed}.locked-overlay--exiting{animation:locked-overlay-fade-out .5s var(--ease-default) forwards}.locked-overlay__card{background:var(--surface);padding:var(--space-8);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:360px;box-shadow:var(--shadow-lg)}.locked-overlay__icon-container{background:var(--calm-primary-soft);border-radius:var(--radius-lg);width:48px;height:48px;margin:0 auto var(--space-4);justify-content:center;align-items:center;display:flex}.locked-overlay__icon-container svg{width:24px;height:24px;color:var(--calm-primary)}.locked-overlay__title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-950);margin:0 0 var(--space-2)}.locked-overlay__description{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);margin:0 0 var(--space-5)}.locked-overlay__cta{padding:var(--space-3) var(--space-6);background:var(--calm-primary);color:var(--surface);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);line-height:var(--lh-body);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;justify-content:center;align-items:center;display:inline-flex}.locked-overlay__cta:hover{background:var(--calm-primary-hover)}.locked-overlay__cta:focus-visible{box-shadow:var(--shadow-focus);outline:none}.locked-overlay__dismiss{margin-top:var(--space-3);color:var(--text-disabled);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);cursor:pointer;transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none;display:inline-block}.locked-overlay__dismiss:hover{color:var(--neutral-700)}@keyframes locked-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes locked-overlay-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.locked-overlay{opacity:1;animation:none}.locked-overlay--exiting{opacity:0;animation:none}.locked-overlay__content{transition:none}}
.protected-loading{background:var(--neutral-50);justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;width:100%;min-height:100vh;display:flex}.protected-loading__spinner{border:var(--bw-thick) solid var(--neutral-200);border-top-color:var(--calm-primary);border-radius:var(--radius-full);flex-shrink:0;width:32px;height:32px;animation:1s linear infinite protected-spin}@keyframes protected-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.protected-loading__text{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-500)}.protected-skeleton{background:var(--neutral-50);width:100%;min-height:100vh;padding:var(--space-8);flex-direction:column;justify-content:center;align-items:center;display:flex}.protected-skeleton__container{gap:var(--space-4);flex-direction:column;width:100%;max-width:600px;display:flex}.protected-skeleton__header{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-200) 50%, var(--neutral-100) 75%);background-size:200% 100%;width:120px;height:16px;animation:2s ease-in-out infinite protected-shimmer}.protected-skeleton__block{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-200) 50%, var(--neutral-100) 75%);background-size:200% 100%;width:100%;height:200px;animation:2s ease-in-out infinite protected-shimmer}.protected-skeleton__bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-200) 50%, var(--neutral-100) 75%);background-size:200% 100%;width:100%;height:16px;animation:2s ease-in-out infinite protected-shimmer}@keyframes protected-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.protected-403{min-height:100vh;padding:var(--space-12) var(--space-6);background:var(--neutral-50);justify-content:center;align-items:center;display:flex}.protected-403__card{text-align:center;background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:var(--space-12) var(--space-8);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.protected-403__icon{width:48px;height:48px;color:var(--calm-info);flex-shrink:0}.protected-403__title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-950);margin:0}.protected-403__description{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-500);max-width:360px;margin:0}.protected-403__actions{align-items:center;gap:var(--space-6);margin-top:var(--space-2);display:flex}.protected-403__link{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-primary);cursor:pointer;background:0 0;border:none;outline:none;padding:0;text-decoration:none}.protected-403__link:hover{text-underline-offset:2px;text-decoration:underline}.protected-403__link:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);border-radius:var(--radius-smooth);outline:none}@media (prefers-reduced-motion:reduce){.protected-loading__spinner{animation:none}.protected-skeleton__header,.protected-skeleton__block,.protected-skeleton__bar{background:var(--neutral-100);animation:none}}
.submit-confirmation{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:var(--bw-thin) solid transparent;box-shadow:var(--shadow-sm);width:100%;min-height:var(--h-md);display:flex;position:relative;overflow:hidden}.submit-confirmation--success{background:var(--calm-success-soft);border-color:var(--calm-success);color:var(--calm-success)}.submit-confirmation--error{background:var(--calm-danger-soft);border-color:var(--calm-danger);color:var(--calm-danger)}.submit-confirmation--warning{background:var(--calm-info-soft);border-color:var(--calm-info);color:var(--calm-info)}[data-theme=dark] .submit-confirmation--success{background:var(--calm-success-soft);border-color:var(--calm-success)}[data-theme=dark] .submit-confirmation--error{background:var(--calm-danger-soft);border-color:var(--calm-danger)}[data-theme=dark] .submit-confirmation--warning{background:var(--calm-info-soft);border-color:var(--calm-info)}.submit-confirmation__icon{flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;animation:.2s ease-out forwards submit-confirmation-icon-in;display:inline-flex}.submit-confirmation__icon svg{width:16px;height:16px}@keyframes submit-confirmation-icon-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.submit-confirmation__content{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.submit-confirmation__message{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);word-break:break-word}.submit-confirmation__action{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);cursor:pointer;color:inherit;text-align:left;transition:opacity var(--duration-fast) var(--ease-default);background:0 0;border:none;padding:0;text-decoration:underline}.submit-confirmation__action:hover{opacity:.8}.submit-confirmation__action:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-smooth);outline:none}.submit-confirmation__dismiss{top:var(--space-2);right:var(--space-2);width:var(--space-6);height:var(--space-6);padding:var(--space-1);border-radius:var(--space-1);cursor:pointer;color:inherit;opacity:.5;transition:opacity var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:absolute}.submit-confirmation__dismiss:hover{opacity:1;background:var(--overlay-hover)}.submit-confirmation__dismiss:focus-visible{box-shadow:var(--shadow-focus);outline:none}.submit-confirmation__dismiss svg{width:14px;height:14px}.submit-confirmation__countdown{opacity:.4;background:currentColor;height:2px;transition:width linear;position:absolute;bottom:0;left:0}.submit-confirmation--entering{opacity:0;transform:translateY(-8px)}.submit-confirmation--visible{opacity:1;transition:opacity .25s var(--ease-enter), transform .25s var(--ease-enter);transform:translateY(0)}.submit-confirmation--exiting{opacity:0;transition:opacity var(--duration-normal) var(--ease-exit), transform var(--duration-normal) var(--ease-exit);transform:translateY(-8px)}.submit-confirmation-stack{gap:var(--space-2);flex-direction:column;width:100%;display:flex}@media (prefers-reduced-motion:reduce){.submit-confirmation--entering,.submit-confirmation--visible,.submit-confirmation--exiting{opacity:1;transition:none;transform:none}.submit-confirmation__icon{opacity:1;animation:none;transform:scale(1)}.submit-confirmation__countdown{transition:none}}
@keyframes logout-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes logout-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes logout-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes logout-dialog-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.logout-overlay{z-index:var(--z-modal);background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));justify-content:center;align-items:center;animation:.2s ease-out forwards logout-overlay-in;display:flex;position:fixed;inset:0}.logout-overlay--exit{animation:.15s ease-in forwards logout-overlay-out}.logout-dialog{width:calc(100% - var(--space-12));max-width:400px;margin:var(--space-6);padding:var(--space-8);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;outline:none;flex-direction:column;align-items:center;animation:.2s ease-out forwards logout-dialog-in;display:flex}.logout-dialog--exit{animation:.15s ease-in forwards logout-dialog-out}.logout-dialog__icon{width:24px;height:24px;color:var(--calm-info);margin-bottom:var(--space-5);flex-shrink:0}.logout-dialog__title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-950);margin:0 0 var(--space-3) 0}.logout-dialog__desc{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--text-tertiary);margin:0 0 var(--space-5) 0}.logout-dialog__unsaved{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--overlay-error-soft);border-left:var(--bw-thick) solid var(--calm-danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:var(--space-5);text-align:left;display:flex}.logout-dialog__unsaved-icon{width:16px;height:16px;color:var(--calm-danger);flex-shrink:0;margin-top:1px}.logout-dialog__unsaved-text{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-danger)}.logout-dialog__actions{align-items:center;gap:var(--space-3);width:100%;display:flex}.logout-dialog__cancel{padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--text-tertiary);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);white-space:nowrap;background:0 0;border:none;outline:none;flex:1;justify-content:center;align-items:center;display:inline-flex}.logout-dialog__cancel:hover{background:var(--neutral-50)}.logout-dialog__cancel:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.logout-dialog__confirm{padding:var(--space-3) var(--space-6);border:var(--bw-thin) solid var(--calm-danger);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-danger);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);white-space:nowrap;background:0 0;outline:none;flex:1;justify-content:center;align-items:center;display:inline-flex}.logout-dialog__confirm:hover{background:var(--overlay-error-soft)}.logout-dialog__confirm:focus-visible{box-shadow:var(--shadow-focus-error);outline-offset:var(--focus-outline-offset);outline:none}.logout-dialog__remember{align-items:center;gap:var(--space-2);margin-top:var(--space-5);cursor:pointer;width:100%;display:flex}.logout-dialog__remember-input{width:16px;height:16px;accent-color:var(--calm-primary);cursor:pointer;flex-shrink:0;margin:0}.logout-dialog__remember-label{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--text-tertiary);-webkit-user-select:none;user-select:none}@media (max-width:479px){.logout-dialog{padding:var(--space-6);margin:var(--space-4);width:calc(100% - var(--space-8))}.logout-dialog__actions{flex-direction:column-reverse}.logout-dialog__cancel,.logout-dialog__confirm{width:100%}}@media (prefers-reduced-motion:reduce){.logout-overlay,.logout-dialog{animation:none}.logout-overlay--exit,.logout-dialog--exit{opacity:0;animation:none}}
.nv-row{gap:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.nv-bc{align-items:center;gap:var(--space-2);font-size:var(--text-caption);color:var(--neutral-500);display:flex}.nv-bc a{color:var(--neutral-600);font-weight:var(--fw-medium);transition:color var(--duration-fast) var(--ease-default);text-decoration:none}.nv-bc a:hover{color:var(--text-primary)}.nv-bc .nv-sep{color:var(--neutral-300);font-size:var(--text-caption)}.nv-bc .nv-cur{color:var(--text-primary);font-weight:var(--fw-semibold)}.nv-pg{align-items:center;gap:var(--space-1);display:inline-flex}.nv-pg button{appearance:none;font:inherit;width:32px;height:var(--h-sm);border-radius:var(--radius-sm);border:var(--bw-thin) solid transparent;color:var(--neutral-600);font-size:var(--text-caption);font-weight:var(--fw-semibold);cursor:pointer;font-family:var(--font-mono);background:0 0}.nv-pg button:hover{background:var(--neutral-100)}.nv-pg button.nv-on{background:var(--calm-primary);color:var(--on-primary)}.nv-pg .nv-nav{color:var(--text-tertiary)}.nv-pg button:disabled{opacity:.4;cursor:not-allowed}.nv-pg button:focus{box-shadow:var(--shadow-focus);outline:none}
.nb-bar{z-index:var(--z-sticky);background:var(--bg-elevated);border-bottom:var(--bw-thin) solid var(--border-subtle);height:var(--space-16);padding:0 var(--space-6);align-items:center;gap:var(--space-2);width:100%;transition:height var(--duration-fast) var(--ease-default), width var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default);display:flex;position:sticky;top:0}.nb-bar.nb-scrolled{height:var(--h-lg);box-shadow:var(--shadow-md)}.nb-bar.nb-collapsed{width:var(--space-16);height:100vh;padding:var(--space-5) 0;border-bottom:none;border-right:var(--bw-thin) solid var(--border-subtle);flex-direction:column;position:fixed;top:0;left:0}.nb-logo{margin-right:var(--space-3);flex-shrink:0;align-items:center;display:flex}.nb-collapsed .nb-logo span:not(.nb-brand-icon){display:none}.nb-collapsed .nb-logo{margin-right:0;margin-bottom:var(--space-6);justify-content:center}.nb-items{align-items:center;gap:var(--space-1);flex:1;display:flex}.nb-collapsed .nb-items{gap:var(--space-1);flex-direction:column;width:100%}.nb-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--text-secondary);white-space:nowrap;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;display:flex;position:relative}.nb-item:hover{background:var(--bg-app);color:var(--text-primary)}.nb-item.nb-active{background:var(--calm-primary-soft);color:var(--calm-primary);font-weight:var(--fw-medium)}.nb-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nb-item svg{flex-shrink:0}.nb-collapsed .nb-item{padding:var(--space-2);width:var(--h-md);height:var(--h-md);justify-content:center}.nb-collapsed .nb-item-label{display:none}.nb-badge-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.nb-dot{border-radius:var(--radius-full);background:var(--calm-primary);border:var(--bw-thin) solid var(--surface);pointer-events:none;width:6px;height:6px;position:absolute;top:-2px;right:-2px}.nb-sub-wrap{position:relative}.nb-collapsed .nb-sub-wrap{width:100%}.nb-dropdown{top:calc(100% + var(--space-1));background:var(--bg-elevated);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:var(--space-1_5);min-width:200px;z-index:var(--z-dropdown);animation:nb-fadein var(--duration-fast) var(--ease-enter);position:absolute;left:0}.nb-collapsed .nb-dropdown{left:calc(100% + var(--space-1_5));top:0}@keyframes nb-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nb-dropdown-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);color:var(--neutral-700);text-align:left;width:100%;transition:background var(--duration-fast) var(--ease-default);background:0 0;border:none;display:flex}.nb-dropdown-item:hover{background:var(--bg-app);color:var(--neutral-950)}.nb-dropdown-item.nb-active{background:var(--calm-primary-soft);color:var(--calm-primary);font-weight:var(--fw-medium)}.nb-dropdown-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nb-more-wrap{position:relative}.nb-more-btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);color:var(--neutral-700);white-space:nowrap;transition:background var(--duration-fast) var(--ease-default);background:0 0;border:none;display:flex}.nb-more-btn:hover{background:var(--neutral-50);color:var(--neutral-950)}.nb-more-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nb-collapsed .nb-more-btn .nb-item-label{display:none}.nb-collapsed .nb-more-btn{padding:var(--space-2_5);justify-content:center;width:44px}.nb-trailing{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.nb-collapsed .nb-trailing{gap:var(--space-4);padding-bottom:var(--space-3);flex-direction:column;margin-top:auto;margin-left:0}.nb-collapse-btn{width:var(--space-8);height:var(--h-sm);border-radius:var(--radius-xs);cursor:pointer;color:var(--text-tertiary);transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nb-collapse-btn:hover{background:var(--bg-sunken);color:var(--neutral-700)}.nb-collapse-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nb-search-hint{align-items:center;gap:var(--space-1_5);padding:var(--space-1) var(--space-1_5);border-radius:var(--radius-xs);background:var(--neutral-50);border:var(--bw-thin) solid var(--neutral-200);-webkit-user-select:none;user-select:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-default);font-family:inherit;display:flex}.nb-search-hint:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nb-search-hint:hover{background:var(--neutral-100)}.nb-hint-text{font-size:var(--text-caption);color:var(--text-tertiary)}.nb-hint-kbd{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--text-tertiary);background:var(--surface);border:var(--bw-thin) solid var(--border-default);border-radius:var(--space-1);padding:0 var(--space-1)}@media (prefers-reduced-motion:reduce){.nb-bar,.nb-item,.nb-dropdown-item,.nb-more-btn{transition:none}.nb-dropdown{animation:none}}
.nd-hamburger{top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-drawer) + 1);width:44px;height:44px;padding:var(--space-2);border-radius:var(--radius-xs);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;display:flex;position:fixed}.nd-hamburger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.nd-drawer{background:var(--bg-elevated);border-right:var(--bw-thin) solid var(--border-subtle);width:280px;height:100%;z-index:var(--z-drawer);transition:width var(--duration-normal) var(--ease-default), transform var(--duration-normal) var(--ease-default);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.nd-drawer.nd-collapsed{width:64px}.nd-drawer.nd-inline{position:absolute}.nd-drawer.nd-mobile-closed{transform:translate(-100%)}.nd-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:calc(var(--z-drawer) - 1);animation:nd-fadein var(--duration-fast) var(--ease-enter);position:fixed;inset:0}@keyframes nd-fadein{0%{opacity:0}to{opacity:1}}.nd-header{height:var(--h-md);border-bottom:var(--bw-thin) solid var(--border-subtle);padding:0 var(--space-2);align-items:center;gap:var(--space-2);flex-shrink:0;display:flex;overflow:hidden}.nd-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2);flex:1;min-width:0;display:flex;overflow:hidden}.nd-brand-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.nd-brand-name{font-size:var(--text-body-sm);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);white-space:nowrap;opacity:1;transition:opacity var(--duration-fast) var(--ease-default);overflow:hidden}.nd-collapsed .nd-brand-name{opacity:0;pointer-events:none}.nd-toggle-btn{border-radius:var(--radius-xs);cursor:pointer;width:44px;height:44px;color:var(--text-tertiary);transition:background var(--duration-instant), color var(--duration-instant);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nd-toggle-icon-btn{width:100%;height:var(--h-md);color:var(--text-secondary);border-radius:0}.nd-toggle-btn:hover{background:var(--overlay-hover);color:var(--text-secondary)}.nd-toggle-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.nd-primary{padding:var(--space-2) var(--space-2);gap:var(--space-1);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.nd-primary::-webkit-scrollbar{width:4px}.nd-primary::-webkit-scrollbar-track{background:0 0}.nd-primary::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}.nd-utility{padding:var(--space-2) var(--space-2);background:var(--bg-elevated);border-top:var(--bw-thin) solid var(--border-subtle);gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.nd-item{align-items:center;gap:var(--radius-sm);width:100%;min-height:44px;padding:var(--space-3) var(--space-2);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--text-secondary);text-align:left;white-space:nowrap;transition:background var(--duration-instant) var(--ease-default), color var(--duration-instant) var(--ease-default);background:0 0;border:none;display:flex;position:relative;overflow:visible}.nd-collapsed .nd-item{padding:var(--space-2);justify-content:center}.nd-item:hover{background:var(--overlay-hover);color:var(--text-primary)}.nd-item.nd-active{background:var(--calm-primary-soft);color:var(--calm-primary);font-weight:var(--fw-medium)}.nd-item.nd-parent-active .nd-item-icon{color:var(--calm-primary)}.nd-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nd-item-icon{color:inherit;flex-shrink:0;align-items:center;display:flex}.nd-item-label{text-overflow:ellipsis;opacity:1;transition:opacity var(--duration-fast) var(--ease-default);flex:1;overflow:hidden}.nd-collapsed .nd-item-label{opacity:0;pointer-events:none;width:0}.nd-sr{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nd-chevron{transition:transform var(--duration-fast) var(--ease-default);opacity:.5;flex-shrink:0}.nd-collapsed .nd-chevron{display:none}.nd-item-open .nd-chevron{transform:rotate(180deg)}.nd-badge-wrap{display:inline-flex;position:relative}.nd-dot{border-radius:var(--radius-full);background:var(--calm-primary);border:var(--bw-thin) solid var(--bg-elevated);pointer-events:none;width:6px;height:6px;position:absolute;top:-2px;right:-2px}.nd-sub-group{max-height:0;transition:max-height var(--duration-fast) var(--ease-default);overflow:hidden}.nd-sub-group.nd-sub-open{max-height:500px;overflow-y:auto}.nd-sub-items{padding-left:var(--space-5);padding-top:var(--space-1);padding-bottom:var(--space-1);position:relative}.nd-sub-items:before{content:"";left:var(--space-6);background:var(--border-subtle);width:1px;position:absolute;top:0;bottom:0}.nd-sub-item{align-items:center;gap:var(--radius-sm);width:100%;min-height:44px;padding:var(--space-2) var(--space-2);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--text-tertiary);text-align:left;white-space:nowrap;transition:background var(--duration-instant), color var(--duration-instant);background:0 0;border:none;display:flex;overflow:hidden}.nd-sub-item:hover{background:var(--overlay-hover);color:var(--text-primary)}.nd-sub-item.nd-active{background:var(--calm-primary-soft);color:var(--calm-primary);font-weight:var(--fw-medium)}.nd-sub-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.nd-drawer .tt-trigger{width:100%;display:block!important}.nd-drawer{box-shadow:inset -1px 0 0 var(--border-subtle)}.nd-drawer.nd-overlay{box-shadow:var(--shadow-lg), inset -1px 0 0 var(--border-subtle)}
.dash-navbar{z-index:var(--z-sticky);height:var(--h-lg);padding:0 var(--space-6);background:var(--bg-elevated);border-bottom:var(--bw-thin) solid var(--border-subtle);align-items:center;gap:var(--space-6);display:flex;position:sticky;top:0}@media (min-width:768px){.dash-navbar{padding:0 var(--space-8);gap:var(--space-8)}}.dash-navbar__greeting{font-size:var(--text-body);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap;margin-right:var(--space-2);flex-shrink:0}.dash-navbar__search{max-width:var(--layout-auth-form);align-items:center;gap:var(--space-2);min-height:var(--h-sm);height:auto;padding:0 var(--space-3);background:var(--bg-sunken);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--text-tertiary);transition:border-color var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);flex:1;display:flex}.dash-navbar__search:hover{border-color:var(--border-default);color:var(--text-secondary)}.dash-navbar__search:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dash-navbar__search-icon{color:var(--text-tertiary);flex-shrink:0}.dash-navbar__search-placeholder{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.dash-navbar__search-kbd{font-family:var(--font-sans);font-size:var(--text-micro);color:var(--text-tertiary);background:var(--bg-elevated);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-xs);padding:var(--space-half) var(--space-1_5);line-height:var(--lh-caption);flex-shrink:0}.dash-navbar__actions{align-items:center;gap:var(--space-3);flex-shrink:0;margin-left:auto;display:flex}.dash-navbar .bdg{min-height:26px;padding:var(--space-half) var(--space-2);font-size:var(--text-micro);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide)}.dash-navbar__avatar{border-radius:var(--radius-full);background:var(--calm-tertiary-soft);width:32px;height:32px;color:var(--calm-tertiary);font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--text-caption);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-navbar__avatar:hover{background:var(--calm-tertiary-soft-2)}.dash-navbar__avatar:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.dash-navbar__avatar-img{border-radius:var(--radius-full);object-fit:cover;width:100%;height:100%}
.auth-card{background:var(--surface);width:100%;max-width:var(--layout-auth-form);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:var(--bw-thin) solid var(--border-default);opacity:0;transform:translateY(var(--space-2));animation:auth-card-enter var(--duration-normal) var(--ease-default) forwards;transition:opacity var(--duration-normal) var(--ease-default), border-color var(--duration-normal) var(--ease-default);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}@keyframes auth-card-enter{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}.auth-card__content{padding:var(--space-8);gap:var(--space-6);flex-direction:column;display:flex}@media (min-width:768px){.auth-card__content{padding:var(--space-10) var(--space-12)}}.auth-card--loading{opacity:.7}.auth-card--error{border:var(--bw-thin) solid var(--overlay-error-medium)}.auth-card__overlay{background:var(--overlay-loading);z-index:var(--z-sticky);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.auth-card__spinner{width:var(--space-6);height:var(--space-6);color:var(--calm-primary);animation:1s linear infinite auth-card-spin}@keyframes auth-card-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes auth-card-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.auth-card--shake{animation:auth-card-shake var(--duration-slow) var(--ease-default)}.auth-card__step{flex-direction:column;width:100%;display:flex}@keyframes auth-step-enter-forward{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes auth-step-enter-backward{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.auth-card__step--forward{animation:auth-step-enter-forward var(--duration-normal) var(--ease-default) both}.auth-card__step--backward{animation:auth-step-enter-backward var(--duration-normal) var(--ease-default) both}.auth-card__progress{gap:var(--space-1_5);padding-top:var(--space-4);justify-content:center;display:flex}.auth-card__progress-dot{border-radius:var(--radius-full);background:var(--neutral-200);transform-origin:50%;width:14px;height:5px;transition:transform var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);transform:scaleX(.36)}.auth-card__progress-dot--active{background:var(--calm-primary);transform:scaleX(1)}.auth-card__progress-dot--done{background:var(--neutral-400);transform:scaleX(.36)}@media (prefers-reduced-motion:reduce){.auth-card__step--forward,.auth-card__step--backward{animation:none}}
.auth-container{justify-content:center;align-items:center;width:100%;display:flex}.auth-container--fullpage{background:var(--neutral-50);min-height:100svh;padding:var(--space-12) var(--space-4);flex-direction:column;position:relative}.auth-container--fullpage:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#0a0a0b24 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 85%,#000 30%,#0000 100%);mask-image:radial-gradient(85% 85%,#000 30%,#0000 100%)}[data-theme=dark] .auth-container--fullpage:before{background-image:radial-gradient(circle,#f8f8fa1a 1px,#0000 1px)}@media (min-width:768px){.auth-container--fullpage{padding:0 var(--space-6)}}.auth-container__full-content{width:100%;max-width:var(--layout-auth-form);padding:var(--space-10) 0;z-index:1;justify-content:center;display:flex;position:relative}.auth-container--modal{padding:0 var(--space-4);position:fixed;inset:0}@media (min-width:768px){.auth-container--modal{padding:0 var(--space-6)}}.auth-container__overlay{background:var(--bg-overlay);z-index:var(--z-base);position:fixed;inset:0}.auth-container__overlay--enter{animation:auth-container-overlay-in var(--duration-fast) var(--ease-default) forwards}.auth-container__overlay--exit{animation:auth-container-overlay-out var(--duration-fast) var(--ease-default) forwards}@keyframes auth-container-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes auth-container-overlay-out{0%{opacity:1}to{opacity:0}}.auth-container__modal-card{width:100%;max-width:var(--layout-auth-form);z-index:var(--z-above);outline:none}.auth-container__modal-card--enter{animation:auth-container-card-in var(--duration-normal) var(--ease-default) forwards;animation-delay:50ms}.auth-container__modal-card--exit{animation:auth-container-card-out var(--duration-fast) var(--ease-default) forwards}@keyframes auth-container-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes auth-container-card-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}
.auth-form{flex-direction:column;width:100%;display:flex}.auth-form__steps{margin-bottom:var(--space-4)}.auth-form__step-indicator{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--neutral-500);font-weight:var(--fw-normal)}.auth-form__global-error{padding:var(--space-3);background:var(--calm-danger-soft);border:var(--bw-thin) solid var(--calm-danger);border-radius:var(--radius-sm);color:var(--calm-danger);font-size:var(--text-caption);font-weight:var(--fw-medium);margin-bottom:var(--space-5)}.auth-form__fields{gap:var(--space-5);flex-direction:column;display:flex}.auth-form__actions{margin-top:var(--space-6);flex-direction:column;display:flex}.auth-form__submit-container{flex-direction:column;display:flex}.auth-form__multi-step-actions{align-items:center;gap:var(--space-3);display:flex}.auth-form .auth-form__submit{width:100%;height:var(--h-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-body);font-weight:var(--fw-semibold);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-default)}.auth-form .auth-form__submit:active{transform:scale(.98)}.auth-form__spinner{width:var(--space-5);height:var(--space-5);color:var(--surface);animation:1s linear infinite auth-form-spin}@keyframes auth-form-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-form__secondary-links{gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;align-items:center;display:flex}.auth-form__secondary-link{font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-normal);color:var(--calm-primary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none;padding:0;text-decoration:none}.auth-form__secondary-link:hover{color:var(--neutral-700);text-decoration:underline}.auth-form__secondary-link:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--space-1);outline-offset:var(--space-1);outline:none}.auth-form__back-button{align-items:center;gap:var(--space-1);color:var(--neutral-500);font-size:var(--text-body-sm);height:auto;padding:0;display:flex}.auth-form__back-button:hover{color:var(--neutral-700);background:0 0}
.auth-header{text-align:center;margin-bottom:var(--space-2);flex-direction:column;align-items:center;width:100%;display:flex}.auth-header__content{opacity:0;width:100%;transform:translateY(var(--space-1));animation:auth-header-enter var(--duration-normal) var(--ease-default) forwards;flex-direction:column;align-items:center;display:flex}@keyframes auth-header-enter{0%{opacity:0;transform:translateY(var(--space-1))}to{opacity:1;transform:translateY(0)}}.auth-header__logo{height:44px;margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-header__logo-img{object-fit:contain;width:auto;height:100%;max-height:40px}.auth-header__title{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--fw-semibold);line-height:var(--lh-h3);color:var(--neutral-950);letter-spacing:var(--tracking-tight);margin:0}@media (max-width:480px){.auth-header__title{font-size:var(--text-h4)}}.auth-header__title+.auth-header__description{margin-top:var(--space-2)}.auth-header__description{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-500);max-width:320px;margin:0}
.auth-field{margin-bottom:var(--space-5);flex-direction:column;width:100%;display:flex}.auth-field__label{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--neutral-700);margin-bottom:var(--space-2);cursor:pointer;width:fit-content}.auth-field__input-container{align-items:center;display:flex;position:relative}.auth-field__input{width:100%;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-950);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-xs);padding:var(--space-3) var(--space-4);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);outline:none}.auth-field__input::placeholder{color:var(--text-tertiary)}.auth-field__input:hover:not(:disabled){border-color:var(--neutral-300)}.auth-field__input:focus:not(:disabled){border-color:var(--calm-primary);box-shadow:var(--shadow-focus)}.auth-field__input--error{border-color:var(--calm-danger);background:var(--overlay-error-soft)}.auth-field__input:disabled{background:var(--neutral-50);border-color:var(--neutral-200);color:var(--text-disabled);cursor:not-allowed}.auth-field__icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;transition:color var(--duration-fast) var(--ease-default);position:absolute}.auth-field__input:focus+.auth-field__icon{color:var(--calm-primary)}.auth-field__input--with-icon{padding-left:44px}.auth-field__toggle{right:var(--space-1);width:44px;height:var(--h-md);color:var(--neutral-500);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.auth-field__toggle:hover:not(:disabled){color:var(--neutral-700)}.auth-field__toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-field__input--with-toggle{padding-right:48px}.auth-field__error-area{min-height:var(--h-xs);margin-top:var(--space-1_5);align-items:flex-start;display:flex}.auth-field__error-message{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--calm-danger);opacity:0;animation:auth-field-error-in var(--duration-fast) var(--ease-default) forwards}@keyframes auth-field-error-in{0%{opacity:0}to{opacity:1}}.auth-field__strength{margin-top:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.auth-field__strength-bars{gap:var(--space-1);display:flex}.auth-field__strength-bar{height:var(--space-1);border-radius:var(--space-1);background:var(--neutral-100);transition:background-color var(--duration-normal) var(--ease-default);flex:1}.auth-field__strength-label{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--neutral-500)}.auth-field__requirements{margin-top:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.auth-field__requirement{align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--neutral-500);display:flex}.auth-field__requirement--satisfied{color:var(--calm-success)}.auth-field__requirement-icon{width:14px;height:14px}@media (prefers-reduced-motion:reduce){.auth-field__error-message{opacity:1;animation:none}.auth-field__strength-bar{transition:none}}
.auth-help-toggle{top:var(--space-6);right:var(--space-6);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-lg);z-index:var(--z-layer-30);transition:background var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:flex;position:fixed}.auth-help-toggle:hover{background:var(--neutral-50)}.auth-help-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-help-toggle svg{width:20px;height:20px;color:var(--calm-primary)}.auth-help-overlay{background:var(--bg-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-default);z-index:var(--z-layer-20);position:fixed;inset:0}.auth-help-overlay--visible{opacity:1;pointer-events:auto}.auth-help-sidebar{background:var(--neutral-50);border-left:var(--bw-thin) solid var(--neutral-200);width:320px;box-shadow:var(--shadow-xl);transition:transform var(--duration-normal) var(--ease-default);z-index:var(--z-layer-20);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.auth-help-sidebar--open{transform:translate(0)}.auth-help-sidebar__header{padding:var(--space-5) var(--space-4);border-bottom:var(--bw-thin) solid var(--neutral-200);justify-content:space-between;align-items:center;display:flex}.auth-help-sidebar__title{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--fw-semibold);color:var(--neutral-950);margin:0}.auth-help-sidebar__close{cursor:pointer;width:32px;height:32px;color:var(--neutral-500);border-radius:var(--radius-xs);transition:color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.auth-help-sidebar__close:hover{color:var(--neutral-700);background:var(--neutral-100)}.auth-help-sidebar__close:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-help-sidebar__close svg{width:18px;height:18px}.auth-help-sidebar__faqs{padding:var(--space-4);scrollbar-width:none;flex:1;overflow-y:auto}.auth-help-sidebar__faqs::-webkit-scrollbar{display:none}.auth-help-faq{background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);margin-bottom:var(--space-1);overflow:hidden}.auth-help-faq--highlighted{border-color:var(--calm-primary);box-shadow:0 0 0 1px var(--calm-primary)}.auth-help-faq__trigger{width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);color:var(--neutral-950);text-align:left;transition:background var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.auth-help-faq__trigger:hover{background:var(--neutral-50)}.auth-help-faq__trigger:focus-visible{box-shadow:inset 0 0 0 2px var(--calm-primary);outline:none}.auth-help-faq__trigger-icon{width:16px;height:16px;color:var(--neutral-500);transition:transform var(--duration-fast) var(--ease-default);margin-left:var(--space-2);flex-shrink:0}.auth-help-faq--open .auth-help-faq__trigger-icon{transform:rotate(180deg)}.auth-help-faq__content-wrapper{transition:grid-template-rows var(--duration-normal) var(--ease-default);grid-template-rows:0fr;display:grid}.auth-help-faq--open .auth-help-faq__content-wrapper{grid-template-rows:1fr}.auth-help-faq__content{min-height:0;overflow:hidden}.auth-help-faq__content-inner{padding:0 var(--space-4) var(--space-3);font-family:var(--font-sans);font-size:var(--text-body-sm);color:var(--neutral-700);line-height:var(--lh-body)}.auth-help-sidebar__support{margin:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--calm-primary);color:var(--surface);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:background var(--duration-fast) var(--ease-default);border:none;flex-shrink:0;min-height:44px;display:flex}.auth-help-sidebar__support:hover{background:var(--calm-primary-hover)}.auth-help-sidebar__support:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-help-sidebar__support svg{width:18px;height:18px}@media (max-width:768px){.auth-help-sidebar{border-left:none;width:100%}}@media (prefers-reduced-motion:reduce){.auth-help-toggle,.auth-help-overlay,.auth-help-sidebar,.auth-help-faq__content-wrapper,.auth-help-faq__trigger-icon{transition:none}}
.auth-method-divider{width:100%;margin:var(--space-6) 0;align-items:center;gap:var(--space-4);display:flex}.auth-method-divider__line{border-top:var(--bw-thin) solid var(--neutral-200);flex:1}.auth-method-divider__text{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--text-tertiary);text-transform:lowercase;white-space:nowrap}
.auth-method-selector{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.auth-method-selector__button{justify-content:center;align-items:center;gap:var(--space-3);width:100%;min-height:var(--h-lg);padding:var(--space-3) var(--space-4);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--neutral-700);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), transform var(--duration-instant) var(--ease-default);background:0 0;display:flex}.auth-method-selector__button:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300);box-shadow:var(--shadow-sm)}.auth-method-selector__button:active:not(:disabled){transform:scale(.98)}.auth-method-selector__button:disabled{background:var(--neutral-50);color:var(--text-disabled);border-color:var(--neutral-200);cursor:not-allowed}.auth-method-selector__button--error{border-color:var(--calm-danger)}.auth-method-selector__icon{flex-shrink:0;width:20px;height:20px}.auth-method-selector__spinner{width:16px;height:16px;color:var(--neutral-500);flex-shrink:0;animation:1s linear infinite auth-method-spin}@keyframes auth-method-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-method-selector__error{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--calm-danger);padding-top:var(--space-1_5)}.auth-method-selector__more{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--h-lg);padding:var(--space-3) var(--space-4);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--neutral-700);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);background:0 0;display:flex}.auth-method-selector__more:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.auth-method-selector__dropdown{gap:var(--space-3);animation:auth-method-dropdown-in var(--duration-fast) var(--ease-default);flex-direction:column;display:flex}@keyframes auth-method-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.social-auth{width:100%;max-width:400px;margin:0 auto}.social-auth__grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:480px){.social-auth__grid{gap:var(--space-3);grid-template-columns:1fr}}.social-auth__button{align-items:center;gap:var(--space-3);width:100%;min-height:var(--h-md);padding:var(--space-3) var(--space-5);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-950);cursor:pointer;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);outline:none;display:flex}.social-auth__button:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300)}.social-auth__button:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.social-auth__button:disabled{opacity:.5;cursor:not-allowed;background:var(--neutral-100)}.social-auth__button--error{border-color:var(--calm-danger)}.social-auth__logo{width:var(--space-5);height:var(--space-5);object-fit:contain;flex-shrink:0}.social-auth__logo-skeleton{width:var(--space-5);height:var(--space-5);background:var(--neutral-100);border-radius:var(--space-1);flex-shrink:0;animation:2s cubic-bezier(.4,0,.6,1) infinite social-auth-pulse}@keyframes social-auth-pulse{0%,to{opacity:1}50%{opacity:.5}}.social-auth__label{text-align:left;flex:1}.social-auth__external{width:14px;height:14px;color:var(--neutral-500);flex-shrink:0}.social-auth__spinner{width:16px;height:16px;color:var(--neutral-500);flex-shrink:0;animation:1s linear infinite social-auth-spin}@keyframes social-auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.social-auth__separator{margin:var(--space-6) 0;align-items:center;gap:var(--space-4);display:flex}.social-auth__separator-line{border-top:var(--bw-thin) solid var(--neutral-200);flex:1}.social-auth__separator-text{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--neutral-500);text-transform:lowercase;white-space:nowrap;padding:0 var(--space-1)}@media (prefers-reduced-motion:reduce){.social-auth__button{transition:none}.social-auth__logo-skeleton,.social-auth__spinner{animation:none}}
.remember-device{width:100%;max-width:480px}.remember-device__row{align-items:center;gap:var(--space-3);display:flex}.remember-device__toggle{background:var(--neutral-300);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:22px;transition:background var(--duration-fast) var(--ease-default);border:none;outline:none;flex-shrink:0;padding:0;position:relative}.remember-device__toggle:hover{background:var(--neutral-500)}.remember-device__toggle[aria-checked=true]{background:var(--calm-success)}.remember-device__toggle[aria-checked=true]:hover{background:var(--calm-success-deep)}.remember-device__toggle:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.remember-device__thumb{background:var(--surface);border-radius:var(--radius-full);width:18px;height:18px;box-shadow:0 1px 3px var(--overlay-hover);transition:transform var(--duration-fast) var(--ease-default);pointer-events:none;position:absolute;top:2px;left:2px}.remember-device__toggle[aria-checked=true] .remember-device__thumb{transform:translate(18px)}.remember-device__label{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--neutral-950);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-device__help{margin:var(--space-2) 0 0 0;font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-normal);line-height:var(--lh-caption);color:var(--text-tertiary);padding-left:52px}.remember-device__confirm{align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--calm-success-soft);border-radius:var(--radius-sm);animation:remember-confirm-in var(--duration-fast) var(--ease-enter) forwards;display:flex}@keyframes remember-confirm-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.remember-device__confirm--exit{animation:remember-confirm-out var(--duration-fast) var(--ease-exit) forwards}@keyframes remember-confirm-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.remember-device__confirm-icon{width:16px;height:16px;color:var(--calm-success);flex-shrink:0}.remember-device__confirm-text{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-success)}.remember-device__list{margin-top:var(--space-5)}.remember-device__list-title{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-semibold);line-height:var(--lh-body);color:var(--neutral-950);margin:0 0 var(--space-3) 0}.remember-device__list-items{gap:var(--space-2);flex-direction:column;display:flex}.remember-device__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--neutral-50);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-default);display:flex}.remember-device__item--exit{animation:remember-item-out var(--duration-fast) var(--ease-exit) forwards}@keyframes remember-item-out{0%{opacity:1;max-height:60px}to{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}}.remember-device__item-icon{width:16px;height:16px;color:var(--neutral-500);flex-shrink:0}.remember-device__item-info{text-align:left;gap:var(--space-half);flex-direction:column;flex:1;min-width:0;display:flex}.remember-device__item-name{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-950)}.remember-device__item-access{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-normal);line-height:var(--lh-caption);color:var(--neutral-500)}.remember-device__revoke{padding:var(--space-1_5) var(--space-3);border-radius:var(--radius-xs);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-danger);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);white-space:nowrap;background:0 0;border:none;outline:none;flex-shrink:0}.remember-device__revoke:hover{background:var(--overlay-error-medium)}.remember-device__revoke:focus-visible{box-shadow:var(--shadow-focus-error);outline-offset:var(--focus-outline-offset);outline:none}.remember-device__device-icon{width:14px;height:14px;color:var(--neutral-500);flex-shrink:0}@media (prefers-reduced-motion:reduce){.remember-device__toggle,.remember-device__thumb{transition:none}.remember-device__confirm{animation:none}.remember-device__item--exit{opacity:0;max-height:0;padding:0;animation:none;overflow:hidden}}
