.recovery-codes{width:100%;max-width:640px;padding:var(--space-8);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-lg)}@media (max-width:639px){.recovery-codes{padding:var(--space-6)}}.recovery-codes__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-5) 0}.recovery-codes__warning{align-items:flex-start;gap:var(--space-3);padding:var(--space-3_5) var(--space-5);background:var(--calm-info-soft);border-left:var(--bw-thick) solid var(--calm-info);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:var(--space-6);display:flex}.recovery-codes__warning-icon{width:18px;height:18px;color:var(--calm-info);flex-shrink:0;margin-top:1px}.recovery-codes__warning-text{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--neutral-950)}.recovery-codes__actions{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.recovery-codes__copy-all{align-items:center;gap:var(--space-2);padding:var(--space-2_5) var(--space-5);background:var(--calm-primary);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(--surface);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);white-space:nowrap;border:none;outline:none;display:inline-flex}.recovery-codes__copy-all:hover{background:var(--neutral-700)}.recovery-codes__copy-all:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.recovery-codes__copy-all--success{background:var(--calm-success)}.recovery-codes__copy-all--success:hover{background:var(--calm-success-deep)}.recovery-codes__download{align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-body-sm);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;display:inline-flex}.recovery-codes__download:hover{text-underline-offset:2px;text-decoration:underline}.recovery-codes__download:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);border-radius:var(--radius-xs);outline:none}.recovery-codes__grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:639px){.recovery-codes__grid{grid-template-columns:1fr}}.recovery-codes__card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--neutral-50);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);outline:none;min-width:0;display:flex}.recovery-codes__card:hover{border-color:var(--calm-primary)}.recovery-codes__card:focus-visible{border-color:var(--calm-primary);box-shadow:var(--shadow-focus);outline:none}.recovery-codes__card-text{font-family:var(--font-mono);font-size:var(--text-h4);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);color:var(--neutral-950);white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.recovery-codes__card-text--masked{color:var(--neutral-300)}.recovery-codes__card-copy{width:var(--space-3_5);height:var(--space-3_5);color:var(--neutral-300);opacity:0;transition:opacity var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);flex-shrink:0}.recovery-codes__card:hover .recovery-codes__card-copy,.recovery-codes__card-copy--visible{opacity:1}.recovery-codes__card-copy--success{color:var(--calm-success);opacity:1}.recovery-codes__reveal{justify-content:center;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-6);border:var(--bw-thin) dashed var(--neutral-300);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(--text-tertiary);cursor:pointer;margin-bottom:var(--space-6);transition:color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);background:0 0;outline:none;display:inline-flex}.recovery-codes__reveal:hover{color:var(--neutral-950);border-color:var(--neutral-500)}.recovery-codes__reveal:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.recovery-codes__confirm{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6);cursor:pointer;display:flex}.recovery-codes__confirm-input{width:18px;height:18px;margin:var(--space-half) 0 0 0;accent-color:var(--calm-success);cursor:pointer;flex-shrink:0}.recovery-codes__confirm-label{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);-webkit-user-select:none;user-select:none}.recovery-codes__continue{width:100%;padding:var(--space-3_5) var(--space-8);background:var(--calm-primary);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(--surface);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}.recovery-codes__continue:hover:not(:disabled){background:var(--neutral-700)}.recovery-codes__continue:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.recovery-codes__continue:disabled{background:var(--neutral-200);color:var(--neutral-300);cursor:not-allowed}.recovery-codes__anti-screenshot{position:relative}.recovery-codes__anti-screenshot:before{content:"";pointer-events:none;z-index:var(--z-tooltip);position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.recovery-codes__card,.recovery-codes__copy-all,.recovery-codes__card-copy{transition:none}}
@keyframes session-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes session-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes session-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes session-dialog-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.session-overlay{z-index:var(--z-modal);background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));animation:session-overlay-in var(--duration-fast) ease-out forwards;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.session-overlay--exit{animation:.15s ease-in forwards session-overlay-out}.session-dialog{width:calc(100% - var(--space-12));max-width:440px;margin:var(--space-6);padding:var(--space-10) 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;animation:session-dialog-in var(--duration-fast) ease-out forwards;outline:none;flex-direction:column;align-items:center;display:flex}.session-dialog--exit{animation:.15s ease-in forwards session-dialog-out}.session-dialog__icon{width:var(--space-10);height:var(--space-10);margin-bottom:var(--space-6);flex-shrink:0}.session-dialog__icon--timeout{color:var(--calm-info)}.session-dialog__icon--revoked,.session-dialog__icon--manual,.session-dialog__icon--concurrent{color:var(--calm-danger)}.session-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}.session-dialog__desc{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-500);margin:0 0 var(--space-5) 0}.session-dialog__context{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--neutral-50);border-radius:var(--radius-sm);margin-bottom:var(--space-6);text-align:left;display:flex}.session-dialog__context-icon{width:var(--space-3_5);height:var(--space-3_5);color:var(--neutral-500);flex-shrink:0}.session-dialog__context-text{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)}.session-dialog__data{align-items:center;gap:var(--space-3);width:100%;margin-bottom:var(--space-6);justify-content:center;display:flex}.session-dialog__data--saved{color:var(--calm-success)}.session-dialog__data--lost{color:var(--calm-danger)}.session-dialog__data-icon{width:var(--space-3_5);height:var(--space-3_5);flex-shrink:0}.session-dialog__data-text{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body)}.session-dialog__cta{width:100%;padding:var(--space-3_5) var(--space-8);background:var(--calm-primary);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(--text-on-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}.session-dialog__cta:hover{background:var(--neutral-700)}.session-dialog__cta:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.session-dialog__security{margin:var(--space-4) 0 0 0;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)}.session-dialog__security-link{font-weight:var(--fw-medium);color:var(--calm-primary);text-decoration:none}.session-dialog__security-link:hover{text-underline-offset:2px;text-decoration:underline}.session-dialog__security-link:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);border-radius:var(--radius-smooth);outline:none}@media (max-width:479px){.session-dialog{padding:var(--space-8) var(--space-6);margin:var(--space-4);width:calc(100% - var(--space-8))}}@media (prefers-reduced-motion:reduce){.session-overlay,.session-dialog{animation:none}.session-overlay--exit,.session-dialog--exit{opacity:0;animation:none}}
@keyframes expiry-slide-down{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:200px;transform:translateY(0)}}@keyframes expiry-slide-up{0%{opacity:1;max-height:200px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-8px)}}@keyframes expiry-cta-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.expiry-banner{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3_5) var(--space-6);border-left:var(--bw-thick) solid transparent;animation:expiry-slide-down var(--duration-fast) var(--ease-enter) forwards;display:flex;overflow:hidden}.expiry-banner--exit{animation:expiry-slide-up .15s var(--ease-exit) forwards}.expiry-banner--info,.expiry-banner--warning{background:var(--calm-info-soft);border-left-color:var(--calm-info)}.expiry-banner--danger{background:var(--overlay-error-soft);border-left-color:var(--calm-danger)}.expiry-banner__icon{flex-shrink:0;width:18px;height:18px}.expiry-banner__icon--info,.expiry-banner__icon--warning{color:var(--calm-info)}.expiry-banner__icon--danger{color:var(--calm-danger)}.expiry-banner__message{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--neutral-950);flex:1;min-width:0}.expiry-banner__time{font-weight:var(--fw-semibold)}.expiry-banner__time--info,.expiry-banner__time--warning{color:var(--calm-info)}.expiry-banner__time--danger{color:var(--calm-danger)}.expiry-banner__cta{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--calm-primary);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--surface);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-default);border:none;outline:none;flex-shrink:0;display:inline-flex}.expiry-banner__cta:hover:not(:disabled){background:var(--neutral-700)}.expiry-banner__cta:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.expiry-banner__cta:disabled{background:var(--neutral-200);color:var(--neutral-300);cursor:not-allowed}.expiry-banner__cta-spinner{width:var(--space-3_5);height:var(--space-3_5);border:var(--bw-medium) solid var(--overlay-light);border-top-color:var(--surface);border-radius:var(--radius-full);flex-shrink:0;animation:1s linear infinite expiry-cta-spin}.expiry-banner__dismiss{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--neutral-300);cursor:pointer;transition:color var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.expiry-banner__dismiss:hover{color:var(--neutral-500);background:var(--overlay-hover)}.expiry-banner__dismiss:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}@media (max-width:479px){.expiry-banner{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.expiry-banner__message{flex:none;width:100%}.expiry-banner__cta{margin-left:30px;margin-top:var(--space-3);width:calc(100% - 30px)}.expiry-banner__dismiss{margin-left:auto}}@media (prefers-reduced-motion:reduce){.expiry-banner{opacity:1;max-height:none;animation:none;transform:none}.expiry-banner--exit{opacity:0;max-height:0;animation:none}.expiry-banner__cta-spinner{animation:none}}
@keyframes profile-enter{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:200px;transform:translateY(0)}}@keyframes profile-exit{0%{opacity:1;max-height:200px;transform:translateY(0)}to{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translateY(-8px)}}.profile-prompt{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--calm-primary-soft);border:var(--bw-thin) solid var(--overlay-hover);border-radius:var(--radius-sm);width:100%;animation:profile-enter var(--duration-fast) var(--ease-enter) forwards;display:flex;overflow:hidden}.profile-prompt--exit{animation:profile-exit .15s var(--ease-exit) forwards}.profile-prompt__icon{width:20px;height:20px;color:var(--calm-primary);flex-shrink:0}.profile-prompt__content{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.profile-prompt__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)}.profile-prompt__desc{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)}.profile-prompt__progress{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.profile-prompt__progress-track{background:var(--neutral-200);border-radius:var(--radius-smooth);width:40px;height:4px;overflow:hidden}.profile-prompt__progress-fill{background:var(--calm-primary);border-radius:var(--radius-smooth);height:100%;transition:width var(--duration-normal) var(--ease-default)}.profile-prompt__progress-text{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);color:var(--calm-primary)}.profile-prompt__cta{padding:var(--space-2) var(--space-5);border:var(--bw-thin) solid var(--calm-primary);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-primary);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.profile-prompt__cta:hover{background:var(--calm-primary);color:var(--surface)}.profile-prompt__cta:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.profile-prompt__dismiss{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default), background var(--duration-fast) var(--ease-default);background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.profile-prompt__dismiss:hover{color:var(--neutral-500);background:var(--overlay-hover)}.profile-prompt__dismiss:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}@media (max-width:479px){.profile-prompt{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.profile-prompt__content{flex:none;width:100%}.profile-prompt__cta{margin-left:36px;margin-top:var(--space-3)}.profile-prompt__dismiss{margin-left:auto}}@media (prefers-reduced-motion:reduce){.profile-prompt{opacity:1;max-height:none;animation:none;transform:none}.profile-prompt--exit{opacity:0;max-height:0;padding:0 var(--space-6);animation:none}.profile-prompt__progress-fill{transition:none}}
.language-switcher{display:inline-block;position:relative}.language-switcher__trigger{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);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(--text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);display:inline-flex}.language-switcher__trigger:hover{background:var(--neutral-50)}.language-switcher__trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.language-switcher__flag{font-size:var(--text-h4);line-height:1}.language-switcher__chevron{margin-left:var(--space-1);color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-default)}.language-switcher__chevron--open{transform:rotate(180deg)}.language-switcher__dropdown{margin-top:var(--space-1);background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:var(--space-1);min-width:180px;z-index:var(--z-dropdown);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-default), transform var(--duration-fast) var(--ease-default);position:absolute;top:100%;left:0;transform:translateY(-4px)}.language-switcher__dropdown--open{opacity:1;pointer-events:auto;transform:translateY(0)}.language-switcher__search{width:100%;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-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--text-primary);background:var(--surface);margin-bottom:var(--space-1);outline:none}.language-switcher__search:focus{border-color:var(--calm-primary);box-shadow:var(--shadow-focus)}.language-switcher__search::placeholder{color:var(--text-tertiary)}.language-switcher__list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.language-switcher__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--text-primary);transition:background var(--duration-instant) var(--ease-default);outline:none;display:flex}.language-switcher__item:hover,.language-switcher__item--highlighted{background:var(--neutral-50)}.language-switcher__item--active{background:var(--calm-primary-soft);color:var(--calm-primary);font-weight:var(--fw-medium)}.language-switcher__item-flag{font-size:var(--text-h4);flex-shrink:0;line-height:1}.language-switcher__item-name{flex:1}.language-switcher__item-check{width:14px;height:14px;color:var(--calm-primary);flex-shrink:0;margin-left:auto}.language-switcher__separator{height:var(--bw-thin);background:var(--neutral-200);margin:var(--space-1) 0;border:none}.language-switcher__empty{padding:var(--space-3);text-align:center;font-size:var(--text-caption);color:var(--text-tertiary)}
.push-notify-container{z-index:var(--z-sticky);gap:var(--space-1);pointer-events:none;flex-direction:column;display:flex;position:fixed;top:0;left:0;right:0}.push-notify-container--inline{z-index:auto;position:relative;top:auto;left:auto;right:auto}.push-notify-container>*{pointer-events:auto}.push-notify-container__inner{width:100%;max-width:1200px;padding:0 var(--space-4);gap:var(--space-1);flex-direction:column;margin:0 auto;display:flex}.push-notify-banner{align-items:center;gap:var(--space-3);background:var(--surface);border-bottom:var(--bw-thin) solid var(--neutral-200);border-left:var(--bw-thick) solid transparent;padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);min-height:var(--h-lg);width:100%;display:flex;position:relative;overflow:hidden}.push-notify-banner--info{border-left-color:var(--calm-primary)}.push-notify-banner--success{border-left-color:var(--calm-success)}.push-notify-banner--warning{border-left-color:var(--calm-info)}.push-notify-banner--error{border-left-color:var(--calm-danger)}.push-notify-banner__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.push-notify-banner__icon svg{width:20px;height:20px}.push-notify-banner--info .push-notify-banner__icon{color:var(--calm-primary)}.push-notify-banner--success .push-notify-banner__icon{color:var(--calm-success)}.push-notify-banner--warning .push-notify-banner__icon{color:var(--calm-info)}.push-notify-banner--error .push-notify-banner__icon{color:var(--calm-danger)}.push-notify-banner__message{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-normal);line-height:var(--lh-body);color:var(--neutral-700);word-break:break-word;flex:1;min-width:0}.push-notify-banner__action{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-semibold);line-height:var(--lh-body);cursor:pointer;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;padding:0}.push-notify-banner__action:hover{opacity:.8;text-decoration:underline}.push-notify-banner__action:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);border-radius:var(--radius-smooth);outline:none}.push-notify-banner--info .push-notify-banner__action{color:var(--calm-primary)}.push-notify-banner--success .push-notify-banner__action{color:var(--calm-success)}.push-notify-banner--warning .push-notify-banner__action{color:var(--calm-info)}.push-notify-banner--error .push-notify-banner__action{color:var(--calm-danger)}.push-notify-banner__dismiss{width:32px;height:32px;padding:var(--space-2);border-radius:var(--space-1);cursor:pointer;color:var(--text-tertiary);margin-left:var(--space-2);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}.push-notify-banner__dismiss:hover{color:var(--neutral-700);background:var(--neutral-100)}.push-notify-banner__dismiss:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.push-notify-banner__dismiss svg{width:16px;height:16px}.push-notify-banner__countdown{opacity:.5;height:3px;transition:width 50ms linear;position:absolute;bottom:0;left:0}.push-notify-banner--info .push-notify-banner__countdown{background:var(--calm-primary)}.push-notify-banner--success .push-notify-banner__countdown{background:var(--calm-success)}.push-notify-banner--warning .push-notify-banner__countdown{background:var(--calm-info)}.push-notify-banner--error .push-notify-banner__countdown{background:var(--calm-danger)}.push-notify-banner--entering{opacity:0;transform:translateY(-100%)}.push-notify-banner--visible{opacity:1;transition:opacity .3s var(--ease-enter), transform .3s var(--ease-enter);transform:translateY(0)}.push-notify-banner--exiting{opacity:0;transition:opacity .25s var(--ease-exit), transform .25s var(--ease-exit);transform:translateY(-100%)}.push-notify-banner--swiping{transition:opacity .2s var(--ease-default), transform .2s var(--ease-default)}@media (max-width:640px){.push-notify-banner{flex-wrap:wrap}.push-notify-banner__action{margin-left:32px;margin-top:var(--space-1)}}@media (prefers-reduced-motion:reduce){.push-notify-banner--entering,.push-notify-banner--visible,.push-notify-banner--exiting,.push-notify-banner--swiping{opacity:1;transition:none;transform:none}.push-notify-banner__countdown{display:none}}
.email-deep-link{align-items:center;gap:var(--space-1);font-family:var(--font-sans);display:inline-flex;position:relative}.email-deep-link__button{align-items:center;gap:var(--space-2);padding:var(--space-2_5) var(--space-4);background:var(--calm-primary-soft);color:var(--calm-primary);border-radius:var(--radius-sm);font-size:var(--text-body);font-weight:var(--fw-medium);line-height:var(--lh-body);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);border:none;text-decoration:none;display:inline-flex}.email-deep-link__button:hover{background:var(--calm-primary-soft-2)}.email-deep-link__button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.email-deep-link__icon{width:16px;height:16px;color:var(--calm-primary);flex-shrink:0}.email-deep-link__copy{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-xs);cursor:pointer;color:var(--neutral-500);transition:background var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.email-deep-link__copy:hover{background:var(--neutral-100);color:var(--neutral-700)}.email-deep-link__copy:focus-visible{box-shadow:var(--shadow-focus);outline:none}.email-deep-link__copy-icon{width:16px;height:16px}.email-deep-link__tooltip{bottom:calc(100% + var(--space-2));background:var(--calm-success);color:var(--surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-compact);font-size:var(--text-caption);font-weight:var(--fw-medium);line-height:var(--lh-caption);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-default);position:absolute;left:50%;transform:translate(-50%)}.email-deep-link__tooltip--visible{opacity:1}.email-deep-link__dropdown{background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:var(--space-1);min-width:200px;z-index:var(--z-layer-20);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0}.email-deep-link__dropdown-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--neutral-700);text-align:left;width:100%;transition:background var(--duration-fast) var(--ease-default);background:0 0;border:none;display:flex}.email-deep-link__dropdown-item:hover{background:var(--neutral-50)}.email-deep-link__dropdown-item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.email-deep-link__dropdown-icon{width:16px;height:16px;color:var(--neutral-500);flex-shrink:0}@media (prefers-reduced-motion:reduce){.email-deep-link__button,.email-deep-link__copy,.email-deep-link__tooltip,.email-deep-link__dropdown-item{transition:none}}
.action-card{background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;text-align:left;width:100%;min-width:280px;max-width:400px;transition:box-shadow var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default), transform .1s var(--ease-default);flex-direction:column;display:flex;position:relative}.action-card:focus{outline:none}.action-card:focus-visible{box-shadow:var(--shadow-focus)}.action-card:hover:not(.action-card--loading){box-shadow:var(--shadow-md);border-color:var(--neutral-300)}.action-card:active:not(.action-card--loading){box-shadow:var(--shadow-sm);transform:scale(.99)}.action-card__header{margin-bottom:var(--space-4);flex-shrink:0}.action-card__icon-container{border-radius:var(--radius-sm);background:var(--calm-primary-soft);width:48px;height:48px;color:var(--calm-primary);justify-content:center;align-items:center;display:inline-flex}.action-card__icon-container svg{width:24px;height:24px}.action-card__thumbnail{border-radius:var(--radius-sm);object-fit:cover;width:48px;height:48px}.action-card__body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.action-card__title{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--fw-semibold);line-height:var(--lh-h4);color:var(--neutral-700);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.action-card__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);opacity:.7;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.action-card__metadata{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:0}.action-card__footer{margin-top:var(--space-4);align-items:center;gap:var(--space-1_5);flex-shrink:0;display:flex}.action-card__action{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-body);color:var(--calm-primary)}.action-card__action-icon{color:var(--calm-primary);transition:transform var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:inline-flex}.action-card__action-icon svg{width:14px;height:14px}.action-card:hover .action-card__action-icon{transform:translate(3px)}.action-card--loading{cursor:default;pointer-events:none}.action-card--loading:hover{box-shadow:none;border-color:var(--neutral-200)}.action-card__skeleton{background:var(--neutral-200);border-radius:var(--radius-xs);position:relative;overflow:hidden}.action-card__skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--neutral-100) 50%, transparent 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite action-card-shimmer;position:absolute;inset:0}@keyframes action-card-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.action-card__skeleton--icon{border-radius:var(--radius-sm);width:48px;height:48px}.action-card__skeleton--title{width:70%;height:16px}.action-card__skeleton--desc{width:100%;height:12px}.action-card__skeleton--meta{width:40%;height:12px}.action-card__skeleton--action{width:80px;height:12px}.action-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%;display:grid}@media (prefers-reduced-motion:reduce){.action-card,.action-card__action-icon{transition:none}.action-card:hover .action-card__action-icon{transform:none}.action-card__skeleton:after{animation:none;display:none}}
.anc{background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-xl);padding:var(--space-5);gap:var(--space-4);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.anc__because{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:var(--bw-thin) dashed var(--neutral-200);flex-direction:column;display:flex}.anc__because-lbl{font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary)}.anc__because-text{font-size:var(--text-caption);color:var(--text-secondary);line-height:var(--lh-body);margin:0}.anc__body{align-items:flex-start;gap:var(--space-3);display:flex}.anc__icon{background:var(--calm-primary-soft);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--calm-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.anc__content{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.anc__action{font-size:var(--text-body);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--lh-h4);margin:0}.anc__desc{font-size:var(--text-caption);color:var(--text-secondary);line-height:var(--lh-body);margin:0}.anc__impact{margin-top:var(--space-1);font-size:var(--text-micro);font-weight:var(--fw-semibold);color:var(--calm-success);background:var(--calm-success-soft);padding:var(--space-half) var(--space-2);border-radius:var(--radius-xs);display:inline-block}.anc__footer{padding-top:var(--space-3);border-top:var(--bw-thin) solid var(--neutral-100);justify-content:space-between;align-items:center;display:flex}.anc__urgency{font-size:var(--text-micro);font-weight:var(--fw-medium);color:var(--text-tertiary)}.anc__urgency--medium{color:var(--calm-info-deep)}.anc__urgency--high{color:var(--calm-danger)}.anc__cta{align-items:center;gap:var(--space-1);font-size:var(--text-caption);font-weight:var(--fw-semibold);color:var(--calm-primary);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-default);background:0 0;border:none;display:flex}.anc__cta:hover{background:var(--overlay-hover)}.anc__cta:focus-visible{box-shadow:var(--shadow-focus);outline:none}
.ip{background:var(--calm-tertiary-soft);border:var(--bw-thin) solid var(--calm-tertiary-soft-2);border-left:var(--bw-thick) solid var(--calm-tertiary);border-radius:var(--radius-xl);padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.ip__eyebrow{align-items:center;gap:var(--space-2);font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--calm-tertiary);display:flex}.ip__headline{font-size:var(--text-body);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0;line-height:1.6}.ip__metric{align-items:baseline;gap:var(--space-3);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);border:var(--bw-thin) solid var(--calm-tertiary-soft-2);width:fit-content;display:inline-flex}.ip__metric-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-h3);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);color:var(--text-primary)}.ip__metric--pos .ip__metric-val{color:var(--calm-success)}.ip__metric--neg .ip__metric-val{color:var(--calm-danger)}.ip__metric-lbl{font-size:var(--text-body-sm);color:var(--text-tertiary)}.ip__section{gap:var(--space-1);flex-direction:column;display:flex}.ip__section-lbl{font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--calm-tertiary)}.ip__section-text{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--lh-body);margin:0}
.nlg-insight{gap:var(--space-3);padding:var(--space-4) 0;padding-left:var(--space-3);margin-bottom:var(--space-4);border-left:var(--bw-thick) solid var(--calm-primary);transition:all var(--duration-fast) var(--ease-default);background-color:#0000;display:flex;position:relative}.nlg-insight--loading{border-left-color:var(--neutral-200)}.nlg-insight__icon{color:var(--neutral-300);margin-top:var(--space-1);flex-shrink:0}.nlg-insight__content{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.nlg-insight__text{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);font-weight:var(--fw-normal);color:var(--text-secondary);word-wrap:break-word}.nlg-insight__text--truncated{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.nlg-insight__highlight{color:var(--calm-primary);font-weight:var(--fw-semibold)}.nlg-insight__expand-btn{font-family:inherit;font-size:var(--text-caption);color:var(--calm-primary);cursor:pointer;font-weight:var(--fw-medium);margin-top:var(--space-1);line-height:var(--lh-caption);background:0 0;border:none;padding:0;display:inline-block}.nlg-insight__expand-btn:hover{text-decoration:underline}.nlg-insight__expand-btn:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--space-1);outline-offset:var(--space-1);outline:none}.nlg-insight__timestamp{font-family:var(--font-sans);font-size:var(--text-caption);color:var(--text-tertiary);font-weight:var(--fw-medium);margin-top:var(--space-1);line-height:var(--lh-caption)}.nlg-insight__skeleton-container{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.nlg-insight__skeleton-line{height:calc(var(--text-body) * var(--lh-body));background:var(--neutral-200);border-radius:var(--radius-xs);position:relative;overflow:hidden}.nlg-insight__skeleton-line:after{content:"";background:linear-gradient(90deg, transparent, var(--overlay-light), transparent);width:100%;height:100%;animation:nlg-shimmer var(--duration-slow) infinite;position:absolute;top:0;left:0}@keyframes nlg-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
.nann{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:var(--bw-thin) dashed var(--neutral-200);background:var(--neutral-50);display:flex}.nann--insight{border-color:var(--calm-tertiary-soft-2);background:var(--calm-tertiary-soft)}.nann--warning{border-color:var(--calm-info-soft);background:var(--calm-info-soft)}.nann--action{border-color:var(--calm-success-soft);background:var(--calm-success-soft)}.nann__icon{margin-top:var(--space-half);color:var(--text-disabled);flex-shrink:0}.nann--insight .nann__icon{color:var(--calm-tertiary)}.nann--warning .nann__icon{color:var(--calm-info-deep)}.nann--action .nann__icon{color:var(--calm-success)}.nann__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.nann__lbl{font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.nann--insight .nann__lbl{color:var(--calm-tertiary)}.nann--warning .nann__lbl{color:var(--calm-info-deep)}.nann--action .nann__lbl{color:var(--calm-success)}.nann__text{font-size:var(--text-caption);color:var(--text-secondary);line-height:var(--lh-body)}
.op{background:var(--surface);border:var(--bw-thin) solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:stretch;display:flex;overflow:hidden}.op__context{padding:var(--space-3) var(--space-4);font-size:var(--text-micro);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary);border-right:var(--bw-thin) solid var(--neutral-200);background:var(--neutral-100);white-space:nowrap;flex-shrink:0;align-items:center;display:flex}.op__signal{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-right:var(--bw-thin) solid var(--neutral-100);flex:1;min-width:0;display:flex}.op__signal:last-child{border-right:none}.op__dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.op__signal--ok .op__dot{background:var(--calm-success)}.op__signal--warn .op__dot{background:var(--calm-info)}.op__signal--crit .op__dot{background:var(--calm-danger)}.op__signal-body{gap:var(--space-half);flex-direction:column;min-width:0;display:flex}.op__signal-lbl{font-size:var(--text-micro);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary)}.op__signal-row{align-items:baseline;gap:var(--space-2);display:flex}.op__signal-val{font-family:var(--font-mono);font-size:var(--text-body);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap}.op__signal--ok .op__signal-val{color:var(--calm-success)}.op__signal--warn .op__signal-val{color:var(--calm-info)}.op__signal--crit .op__signal-val{color:var(--calm-danger)}.op__signal-sub{font-size:var(--text-caption);color:var(--text-tertiary);white-space:nowrap}.op__delta{font-size:var(--text-micro);font-weight:var(--fw-semibold);padding:var(--space-half) var(--space-2);border-radius:var(--radius-xs)}.op__delta--up{color:var(--calm-success);background:var(--calm-success-soft)}.op__delta--down{color:var(--calm-danger);background:var(--calm-danger-soft)}.op__delta--neutral{color:var(--text-tertiary);background:var(--neutral-100)}
.fab{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-elevated);background:var(--calm-primary);color:var(--on-primary);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-default), opacity var(--duration-normal) var(--ease-default);touch-action:manipulation;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:fixed}.fab--inline{position:relative;bottom:auto;right:auto}@supports (bottom:env(safe-area-inset-bottom)){.fab{bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}}@media (min-width:1024px){.fab{bottom:var(--space-8);right:var(--space-8)}}.fab:focus{outline:none}.fab:focus-visible{box-shadow:var(--shadow-focus)}.fab:hover:not([disabled]){background:var(--calm-primary-hover)}.fab:active:not([disabled]){background:var(--calm-primary-active);transform:scale(.95)}.fab--default{width:calc(var(--space-7) * 2);height:calc(var(--space-7) * 2)}.fab--large{width:var(--space-16);height:var(--space-16)}.fab--mini{width:var(--space-10);height:var(--space-10)}.fab--extended{width:auto;height:var(--h-lg);padding:var(--space-3) var(--space-5);gap:var(--space-2)}.fab__icon{justify-content:center;align-items:center;display:inline-flex}.fab__icon svg{width:var(--icon-xl);height:var(--icon-xl)}.fab--mini .fab__icon svg{width:var(--icon-lg);height:var(--icon-lg)}.fab__label{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);white-space:nowrap;line-height:1}.fab__badge{top:var(--space-1);right:var(--space-1);width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--calm-info);animation:2s ease-in-out infinite fab-badge-pulse;position:absolute}@keyframes fab-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.fab__badge--danger{background:var(--calm-danger)}.fab--hidden{transform:translateY(var(--space-24));opacity:0;pointer-events:none}.fab-speed-dial{bottom:calc(var(--space-6) + (var(--space-7) * 2) + var(--space-4));right:var(--space-6);z-index:var(--z-elevated);align-items:flex-end;gap:var(--space-4);flex-direction:column;display:flex;position:fixed}@supports (bottom:env(safe-area-inset-bottom)){.fab-speed-dial{bottom:calc(var(--space-6) + env(safe-area-inset-bottom) + (var(--space-7) * 2) + var(--space-4))}}@media (min-width:1024px){.fab-speed-dial{bottom:calc(var(--space-8) + (var(--space-7) * 2) + var(--space-4));right:var(--space-8)}}.fab-speed-dial--large{bottom:calc(var(--space-6) + var(--space-16) + var(--space-4))}@media (min-width:1024px){.fab-speed-dial--large{bottom:calc(var(--space-8) + var(--space-16) + var(--space-4))}}.fab-speed-dial--mini{bottom:calc(var(--space-6) + var(--space-10) + var(--space-4))}@media (min-width:1024px){.fab-speed-dial--mini{bottom:calc(var(--space-8) + var(--space-10) + var(--space-4))}}.fab-speed-dial__overlay{background:var(--bg-overlay);z-index:var(--z-elevated);animation:fab-overlay-in var(--duration-fast) var(--ease-enter) forwards;position:fixed;inset:0}@keyframes fab-overlay-in{0%{opacity:0}to{opacity:1}}.fab-speed-dial__item{align-items:center;gap:var(--space-3);opacity:0;transform:translateY(var(--space-5));animation:fab-speed-dial-item-in var(--duration-fast) var(--ease-enter) forwards;display:inline-flex}@keyframes fab-speed-dial-item-in{0%{opacity:0;transform:translateY(var(--space-5))}to{opacity:1;transform:translateY(0)}}.fab-speed-dial__item-button{width:var(--space-10);height:var(--space-10);background:var(--bg-elevated);color:var(--text-secondary);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-xs);cursor:pointer;box-shadow:var(--elevation-3);transition:transform var(--duration-fast) var(--ease-default), opacity var(--duration-fast) var(--ease-default);touch-action:manipulation;justify-content:center;align-items:center;display:inline-flex}.fab-speed-dial__item-button:hover{background:var(--overlay-hover)}.fab-speed-dial__item-button:active{transform:scale(.95)}.fab-speed-dial__item-button:focus{outline:none}.fab-speed-dial__item-button:focus-visible{box-shadow:var(--shadow-focus)}.fab-speed-dial__item-button svg{width:var(--icon-lg);height:var(--icon-lg)}.fab-speed-dial__item-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-secondary);white-space:nowrap;background:var(--bg-elevated);padding:var(--space-1) var(--space-2_5);border-radius:var(--radius-xs);border:var(--bw-thin) solid var(--border-subtle);box-shadow:var(--shadow-sm)}.fab[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (prefers-reduced-motion:reduce){.fab,.fab-speed-dial__item,.fab-speed-dial__item-button{transition:none;animation:none}.fab--hidden{opacity:0;transform:none}.fab__badge,.fab-speed-dial__overlay{animation:none}}
.icon-button{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:transform var(--duration-fast) var(--ease-default), opacity var(--duration-fast) var(--ease-default);touch-action:manipulation;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-button:focus{outline:none}.icon-button:focus-visible{box-shadow:var(--shadow-focus)}.icon-button--sm{width:var(--h-md);height:var(--h-md);padding:var(--space-2)}.icon-button--default{width:var(--h-md);height:var(--h-md);padding:var(--space-2_5)}.icon-button--lg{width:var(--space-12);height:var(--space-12);padding:var(--space-3)}.icon-button__icon{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.icon-button__icon svg{width:var(--icon-md);height:var(--icon-md)}.icon-button--sm .icon-button__icon svg{width:var(--icon-sm);height:var(--icon-sm)}.icon-button--lg .icon-button__icon svg{width:var(--icon-lg);height:var(--icon-lg)}.icon-button:hover:not([disabled]):not(.icon-button--toggled){background:var(--overlay-hover);color:var(--calm-primary)}.icon-button:active:not([disabled]){background:var(--overlay-hover);transform:scale(.96)}.icon-button--toggled{background:var(--calm-primary-soft);color:var(--calm-primary)}.icon-button--toggled:hover:not([disabled]){background:var(--calm-primary-soft-2)}.icon-button[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.icon-button[disabled]:focus-visible{box-shadow:var(--shadow-focus)}.icon-button-tooltip{z-index:var(--z-elevated);padding:var(--space-1_5) var(--space-2_5);background:var(--bg-elevated);color:var(--text-secondary);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-xs);box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--fw-normal);line-height:var(--lh-body);white-space:nowrap;pointer-events:none;animation:icon-button-tooltip-in var(--duration-fast) var(--ease-enter) forwards;position:absolute}@keyframes icon-button-tooltip-in{0%{opacity:0}to{opacity:1}}.icon-button-tooltip--top{bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%)}.icon-button-tooltip--bottom{top:calc(100% + var(--space-2));left:50%;transform:translate(-50%)}.icon-button-tooltip--left{right:calc(100% + var(--space-2));top:50%;transform:translateY(-50%)}.icon-button-tooltip--right{left:calc(100% + var(--space-2));top:50%;transform:translateY(-50%)}.icon-button-group{align-items:center;gap:var(--space-1);display:inline-flex}.icon-button-group__separator{width:var(--bw-thin);height:var(--space-5);background:var(--border-subtle);margin:0 var(--space-1);flex-shrink:0}.icon-button-group__spacer{width:var(--space-4);flex-shrink:0}@media (prefers-reduced-motion:reduce){.icon-button{transition:none}.icon-button-tooltip{opacity:1;animation:none}}
.cp-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:var(--z-overlay);opacity:1;transition:opacity var(--duration-fast) var(--ease-exit);animation:cp-fadein var(--duration-fast) var(--ease-enter);position:fixed;inset:0}.cp-backdrop.cp-closing{opacity:0}.cp-shell{padding:var(--space-4);padding-top:var(--space-8);z-index:var(--z-modal);pointer-events:none;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}@media (min-width:768px){.cp-shell{padding-top:var(--space-24)}}.cp-modal{background:var(--bg-elevated);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:480px;box-shadow:var(--elevation-4);pointer-events:auto;opacity:1;transition:opacity var(--duration-fast) var(--ease-exit), transform var(--duration-fast) var(--ease-exit);animation:cp-enter var(--duration-fast) var(--ease-enter);flex-direction:column;display:flex;overflow:hidden;transform:scale(1)translateY(0)}.cp-modal.cp-closing{opacity:0;transform:scale(.98) translateY(calc(var(--space-1) * -1))}@keyframes cp-fadein{0%{opacity:0}to{opacity:1}}@keyframes cp-enter{0%{opacity:0;transform:scale(.98) translateY(calc(var(--space-1) * -1))}to{opacity:1;transform:scale(1)translateY(0)}}.cp-search{align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:var(--bw-thin) solid var(--border-subtle);flex-shrink:0;display:flex}.cp-search-icon{color:var(--text-tertiary);flex-shrink:0}.cp-input{font-family:var(--font-sans);font-size:var(--text-body);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0}.cp-input::placeholder{color:var(--text-tertiary)}.cp-clear-btn{width:var(--h-md);height:var(--h-md);border-radius:var(--radius-xs);cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.cp-clear-btn:hover{background:var(--overlay-hover);color:var(--text-secondary)}.cp-clear-btn:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}.cp-kbd-hint{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-tertiary);padding:var(--space-1) var(--space-1_5);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-sunken);flex-shrink:0}.cp-results{padding:var(--space-2);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex:1;overflow-y:auto}.cp-results::-webkit-scrollbar{width:var(--space-1)}.cp-results::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}.cp-group+.cp-group{border-top:var(--bw-thin) solid var(--border-subtle);margin-top:var(--space-1);padding-top:var(--space-1)}.cp-group-header{padding:var(--space-2) var(--space-5);font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--text-tertiary);letter-spacing:var(--tracking-subtle);-webkit-user-select:none;user-select:none}.cp-item{align-items:center;gap:var(--space-3);min-height:var(--h-md);padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit;display:flex}.cp-item:hover{background:var(--overlay-hover)}.cp-item:focus-visible{box-shadow:var(--shadow-focus);outline-offset:calc(var(--space-1) * -1);outline:none}.cp-item.cp-on{background:var(--calm-primary-soft)}.cp-item-icon{color:var(--text-tertiary);flex-shrink:0;align-items:center;display:flex}.cp-item.cp-on .cp-item-icon{color:var(--calm-primary)}.cp-item-body{flex:1;min-width:0}.cp-item-title{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--lh-body)}.cp-item.cp-on .cp-item-title{color:var(--text-primary)}.cp-item-desc{font-size:var(--text-caption);color:var(--text-tertiary);line-height:var(--lh-caption);margin-top:var(--space-1)}.cp-item-meta{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.cp-highlight{color:var(--calm-primary);font-weight:var(--fw-semibold)}.cp-shortcut{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:var(--fw-medium);color:var(--text-tertiary);padding:var(--space-1) var(--space-1_5);border:var(--bw-thin) solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--bg-sunken);white-space:nowrap}.cp-time{font-size:var(--text-caption);color:var(--text-tertiary);white-space:nowrap}.cp-empty{padding:var(--space-12) var(--space-6);text-align:center;justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.cp-empty-icon{color:var(--text-tertiary);margin-bottom:var(--space-1)}.cp-empty-title{font-size:var(--text-body-sm);color:var(--text-tertiary);line-height:var(--lh-body)}.cp-empty-suggestions{justify-content:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.cp-empty-suggestion{font-size:var(--text-caption);color:var(--calm-primary);cursor:pointer;padding:var(--space-2) var(--space-3);min-height:var(--h-md);border-radius:var(--radius-xs);background:0 0;border:none;font-family:inherit}.cp-empty-suggestion:hover{background:var(--calm-primary-soft)}.cp-empty-suggestion:focus-visible{box-shadow:var(--shadow-focus);outline-offset:var(--focus-outline-offset);outline:none}@media (prefers-reduced-motion:reduce){.cp-backdrop,.cp-modal{transition:none;animation:none}}
.morphing-submit{height:var(--h-md);padding:var(--space-2_5) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--fw-medium);letter-spacing:var(--tracking-subtle);cursor:pointer;white-space:nowrap;transition:transform var(--duration-normal) var(--ease-default), opacity var(--duration-normal) var(--ease-default);touch-action:manipulation;border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative;overflow:hidden}.morphing-submit:focus{outline:none}.morphing-submit:focus-visible{box-shadow:var(--shadow-focus)}.morphing-submit--idle{background:var(--calm-primary);color:var(--on-primary)}.morphing-submit--idle:hover:not([disabled]){background:var(--calm-primary-hover)}.morphing-submit--idle:active:not([disabled]){transform:scale(.96)}.morphing-submit--loading{background:var(--calm-primary);color:var(--on-primary);cursor:default;pointer-events:none}.morphing-submit--success{background:var(--calm-success);color:var(--on-primary);cursor:default;pointer-events:none}.morphing-submit--error{background:var(--calm-danger);color:var(--on-primary);cursor:default;pointer-events:none}.morphing-submit__content{justify-content:center;align-items:center;gap:var(--space-2);transition:opacity var(--duration-fast) var(--ease-default);display:inline-flex}.morphing-submit--loading .morphing-submit__content,.morphing-submit--success .morphing-submit__content,.morphing-submit--error .morphing-submit__content{opacity:0}.morphing-submit__spinner{opacity:0;transition:opacity var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.morphing-submit--loading .morphing-submit__spinner{opacity:1}.morphing-submit__spinner svg{width:var(--icon-lg);height:var(--icon-lg);animation:.7s linear infinite morphing-spin}@keyframes morphing-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.morphing-submit__checkmark{opacity:0;transition:opacity var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.morphing-submit--success .morphing-submit__checkmark{opacity:1}.morphing-submit__checkmark svg{width:var(--space-5);height:var(--space-5);opacity:0;transition:transform var(--duration-slow) var(--ease-enter), opacity var(--duration-slow) var(--ease-enter);transform:scale(.8)}.morphing-submit--success .morphing-submit__checkmark svg{opacity:1;transform:scale(1)}.morphing-submit__error{opacity:0;transition:opacity var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.morphing-submit--error .morphing-submit__error{opacity:1}.morphing-submit__error svg{width:var(--space-5);height:var(--space-5);opacity:0;transition:transform var(--duration-fast) var(--ease-default), opacity var(--duration-fast) var(--ease-default);transform:scale(.5)}.morphing-submit--error .morphing-submit__error svg{opacity:1;transform:scale(1)}.morphing-submit[disabled]{opacity:.5;cursor:not-allowed}.morphing-submit--loading[disabled],.morphing-submit--success[disabled],.morphing-submit--error[disabled]{cursor:default}@media (prefers-reduced-motion:reduce){.morphing-submit{transition:opacity var(--duration-fast) var(--ease-default)}.morphing-submit__content,.morphing-submit__spinner,.morphing-submit__checkmark,.morphing-submit__error{transition:none}.morphing-submit__spinner svg{animation:none}.morphing-submit__checkmark svg,.morphing-submit__error svg{opacity:1;transform:scale(1)}}
@keyframes actmarker-pulse{0%{opacity:.6}50%{opacity:1;transform:scale(1.3)}to{opacity:.6}}.act-marker-container{width:fit-content;display:inline-block;position:relative}.act-marker{pointer-events:auto;z-index:var(--z-sticky);transition:opacity var(--duration-fast) var(--ease-enter);justify-content:center;align-items:center;display:flex;position:absolute}.act-marker--removing{opacity:0;transition:opacity var(--duration-normal) var(--ease-exit)}.act-marker--top-right{top:calc(var(--space-1) * -1);right:calc(var(--space-1) * -1)}.act-marker--top-left{top:calc(var(--space-1) * -1);left:calc(var(--space-1) * -1)}.act-marker--bottom-right{bottom:calc(var(--space-1) * -1);right:calc(var(--space-1) * -1)}.act-marker--bottom-left{bottom:calc(var(--space-1) * -1);left:calc(var(--space-1) * -1)}.act-marker__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--calm-danger);opacity:.8}.act-marker--pulse .act-marker__dot{animation:2s ease-in-out infinite actmarker-pulse}.act-marker__badge{min-width:var(--icon-sm);height:var(--icon-sm);border-radius:var(--radius-full);background:var(--calm-danger);color:var(--text-inverse);font-family:var(--font-mono);font-feature-settings:"tnum" 1;font-size:var(--text-micro);font-weight:var(--fw-semibold);padding:0 var(--space-1);text-align:center;justify-content:center;align-items:center;line-height:1;display:flex}.act-marker__badge--large{padding:0 var(--space-1_5)}@media (prefers-reduced-motion:reduce){.act-marker,.act-marker--removing{transition:none}.act-marker--pulse .act-marker__dot{animation:none}}
