:root{--toast-success-bg: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--toast-success-color: #fff;--toast-success-border: rgba(255, 255, 255, .2);--toast-warning-bg: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);--toast-error-bg: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--toast-error-color: #fff;--toast-error-border: rgba(255, 255, 255, .2);--icon-size-compact: 22px;--icon-size-subtle: 22px;--icon-size-default: 26px;--icon-size-toolbar: 28px;--icon-size-session-corner: 32px;--icon-size-session-bar: 44px;--icon-touch-session-portrait: 44px;--icon-size-session-bar-portrait: 32px;--icon-size-video-narrow: 22px;--icon-size-spinner: 40px;--icon-touch-target-session: 54px;--icon-button-hit: 46px;--icon-button-hit-toolbar: 42px;--icon-button-hit-narrow: 38px;--icon-size-brand: 24px}:root,[data-theme=light]{--btn-transition: opacity .2s, transform .1s;--btn-hover-opacity: .9;--btn-active-scale: .98;--btn-radius: 10px;--bg: #f5f5f7;--bg-soft: rgba(0, 0, 0, .04);--text: #1d1d1f;--text-muted: #636366;--accent: #0071e3;--accent-rgb: 0, 113, 227;--accent-end: #00c7be;--on-accent: #fff;--border: rgba(0, 0, 0, .08);--input-bg: #fff;--input-border: rgba(0, 0, 0, .15);--toast-info-bg: #ffffff;--toast-info-color: #1d1d1f;--toast-info-border: rgba(0, 0, 0, .1);--toast-warning-color: #1d1d1f;--toast-warning-border: rgba(0, 0, 0, .15);--badge-success-bg: rgba(46, 204, 113, .15);--badge-success-color: #27ae60;--badge-info-bg: rgba(52, 152, 219, .15);--badge-info-color: #2980b9;--badge-error-bg: rgba(231, 76, 60, .15);--badge-error-color: #c0392b;--badge-ok-color: #22c55e;--badge-fail-color: #ef4444;--error-text: #c62828;--success: #27ae60;--success-light: rgba(46, 204, 113, .15);--danger: #c0392b;--danger-light: rgba(231, 76, 60, .15);--warning: #f39c12;--warning-light: rgba(241, 196, 15, .15);--donate-accent: #27ae60;--donate-accent-end: #2ecc71;--donate-accent-light: rgba(39, 174, 96, .08)}[data-theme=dark]{--emdr-palette-dim-a: .26;--bg: #1a1a2e;--bg-soft: rgba(255, 255, 255, .05);--text: #e6f1ff;--text-muted: #b3c0d9;--accent: #4facfe;--accent-rgb: 79, 172, 254;--accent-end: #00f2fe;--on-accent: #1a1a2e;--border: rgba(255, 255, 255, .1);--input-bg: rgba(255, 255, 255, .06);--input-border: rgba(255, 255, 255, .2);--toast-info-bg: #ffffff;--toast-info-color: #1a1a2e;--toast-info-border: rgba(0, 0, 0, .12);--toast-warning-color: #1a1a2e;--toast-warning-border: rgba(0, 0, 0, .2);--badge-success-bg: rgba(46, 204, 113, .15);--badge-success-color: #27ae60;--badge-info-bg: rgba(52, 152, 219, .15);--badge-info-color: #2980b9;--badge-error-bg: rgba(231, 76, 60, .15);--badge-error-color: #c0392b;--badge-ok-color: #22c55e;--badge-fail-color: #ef4444;--error-text: #c62828;--success: #2ecc71;--success-light: rgba(46, 204, 113, .2);--danger: #e74c3c;--danger-light: rgba(231, 76, 60, .2);--warning: #f1c40f;--warning-light: rgba(241, 196, 15, .2);--donate-accent: #2ecc71;--donate-accent-end: #27ae60;--donate-accent-light: rgba(46, 204, 113, .12);--donate-accent-end-light: rgba(46, 204, 113, .16)}.btn{display:inline-block;padding:12px 24px;font-size:.9375rem;font-weight:600;border-radius:10px;border:0;background:var(--input-bg);color:var(--text);cursor:pointer;transition:opacity .2s,transform .1s;text-decoration:none}.btn:hover{opacity:.9}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-end));color:var(--on-accent)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.control-group{margin-bottom:24px}.control-group:last-of-type{margin-bottom:0}.control-label{display:block;margin-bottom:10px;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}[data-low-vision=true]{--a11y-scale: 1.2;--a11y-outline-width: 3px;--a11y-outline-offset: 3px;font-size:120%}[data-low-vision=true],[data-low-vision=true][data-theme=dark]{--text-muted: #cdd8ea}[data-low-vision=true][data-theme=light]{--text-muted: #424242}[data-low-vision=true] body{line-height:1.5}[data-low-vision=true] .btn,[data-low-vision=true] .app-btn{padding:14px 28px;min-height:48px}[data-low-vision=true] .control-label,[data-low-vision=true] .speed-label{margin-bottom:12px}[data-low-vision=true] .ctrl-btn{padding:10px 14px;min-height:44px}[data-low-vision=true] .swatch{width:40px;height:40px;min-width:40px;min-height:40px}[data-low-vision=true] input[type=text],[data-low-vision=true] .join-input,[data-low-vision=true] .link-input{padding:12px 14px;min-height:48px}[data-low-vision=true] .speed-range{height:12px}[data-low-vision=true] .speed-range::-webkit-slider-thumb,[data-low-vision=true] .speed-range::-moz-range-thumb{width:26px;height:26px}[data-low-vision=true] :focus-visible{outline-width:var(--a11y-outline-width);outline-offset:var(--a11y-outline-offset)}[data-low-vision=true] .skip-link:focus,[data-low-vision=true] .skip-link:focus-visible{outline-width:var(--a11y-outline-width);outline-offset:var(--a11y-outline-offset)}[data-low-vision=true] .app-btn:focus-visible,[data-low-vision=true] .swatch:focus-visible{outline-width:var(--a11y-outline-width);outline-offset:var(--a11y-outline-offset)}[data-low-vision=true] .toast{padding:16px 20px}[data-low-vision=true] .status-badge{padding:8px 14px}[data-low-vision=true] .emdr-ball-stage .ball{width:120px;height:120px}[data-low-vision=true] .main :deep(.ball){--ball-size: min(21vw, 144px)}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);overflow-x:hidden}:focus{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:fixed;left:-9999px;top:12px;padding:12px 20px;background:var(--accent);color:var(--on-accent);font-weight:600;border-radius:8px;text-decoration:none;z-index:10000}.skip-link:focus,.skip-link:focus-visible{left:12px;outline:3px solid var(--on-accent);outline-offset:2px}.app{position:relative;display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;overflow-x:hidden;max-width:100%}.app-in-iframe .app{height:auto;min-height:100vh;min-height:100dvh;max-height:none;overflow-x:hidden;overflow-y:auto}.app-in-iframe .app-main{flex:1 1 auto}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));min-height:72px;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--bg-soft)}.app-header-left{display:flex;align-items:center;justify-content:flex-start}.app-header-center{display:flex;align-items:center;justify-content:center}.app-header-right{display:flex;align-items:center;justify-content:flex-end;gap:12px}.app-logo{font-weight:700;font-size:1.125rem;color:var(--accent);text-decoration:none;transition:opacity .15s}.app-logo__full{display:inline}.app-logo__short{display:none}.app-logo__short-line1,.app-logo__short-line2{display:block}.app-logo:hover{opacity:.85}@media (max-width: 480px){.app-header{position:relative;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));min-height:56px}.app-header-left{overflow:visible;min-width:0}.app-logo{font-size:1rem}.app-logo__full{display:none}.app-logo__short{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:3.2em;min-height:3.2em;line-height:1.15;text-align:center;white-space:nowrap;padding:.2em .25em;box-sizing:border-box}.app-logo__short-line1{letter-spacing:.14em;margin-right:-.14em}.app-logo__short-line2{letter-spacing:.02em;font-size:.7em}.app-header-center{position:absolute;left:50%;transform:translate(-50%);overflow:visible;min-width:0;width:fit-content}}.app-main{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%}.app-main>*{overflow-x:hidden;max-width:100%;min-width:0}.app--cabinet-page .app-main{padding:0;overflow:hidden;display:flex;flex-direction:column}.app--cabinet-page .app-footer__inner{max-width:none;padding-inline:16px}.app--admin-page .app-main{overflow:hidden;display:flex;flex-direction:column}@media (max-width: 1024px){html,body{overflow:hidden}body{position:relative;min-width:0}#app,.app{overflow:hidden;height:100vh;height:100dvh;max-width:100%;min-width:0}.app-main{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}.app-main>*{overflow-x:hidden;max-width:100%;min-width:0}}.auth-login-btn{padding:6px 14px;font-size:.8125rem;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-end));color:var(--on-accent)}.header-create-session-btn{padding:6px 14px;font-size:.8125rem;border-radius:8px;white-space:nowrap;text-decoration:none}.header-quota-badge{padding:4px 10px;font-size:.75rem;max-width:min(42vw,220px)}.header-quota-badge .quota-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.header-quota-badge{max-width:min(36vw,160px);padding:3px 8px;font-size:.6875rem}.header-create-session-btn{padding:5px 10px;font-size:.75rem}}.app-footer{width:100%;border-top:1px solid var(--border);background:var(--bg-soft)}.app-footer__inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;max-width:900px;margin:0 auto;padding:12px 16px}.app-footer-links{display:flex;align-items:center;gap:6px}.app-footer-links a{color:var(--text-muted);text-decoration:none;font-size:.8125rem;transition:color .15s;padding:4px 0}.app-footer-links a:hover{color:var(--accent)}.app-footer-dot{color:var(--text-muted);font-size:.7rem;-webkit-user-select:none;user-select:none}.app-footer-copy{margin:0;font-size:.75rem;color:var(--text-muted)}.feedback-bar{width:100%;display:flex;align-items:center;justify-content:center;gap:12px 16px;padding:14px 20px;padding-bottom:max(14px,env(safe-area-inset-bottom,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));border-top:1px solid var(--border);background:var(--bg-soft);flex-wrap:wrap}.feedback-bar__text{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.4}.feedback-bar__btn{flex-shrink:0;padding:8px 14px;font:inherit;font-size:.8125rem;font-weight:500;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--accent);cursor:pointer;transition:background .15s,border-color .15s;min-height:44px;box-sizing:border-box}.feedback-bar__btn:hover{background:var(--bg-soft);border-color:var(--accent)}.feedback-bar__btn--secondary{color:var(--text-muted)}.feedback-bar__btn--secondary:hover{color:var(--accent)}@media (orientation: landscape) and (max-height: 520px) and (max-width: 1024px){.app.app--client-page,.app.app--therapist-page{overflow:hidden;height:100vh;height:100dvh}.app.app--client-page .app-main,.app.app--therapist-page .app-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.app-footer__inner{padding:10px 12px;gap:6px 10px}.app-footer-dot{display:none}.app-footer-copy{font-size:.7rem}.feedback-bar{padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));gap:10px}.feedback-bar__text{display:none}.feedback-bar__btn{padding:6px 12px;font-size:.75rem;min-height:40px}}@media (max-width: 640px),(orientation: landscape) and (max-height: 520px) and (max-width: 1024px){.app--session-active .feedback-bar{padding:4px 8px;padding-bottom:max(4px,env(safe-area-inset-bottom,0px));padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px));gap:6px}.app--session-active .feedback-bar__btn{min-height:36px;padding:4px 10px;font-size:.7rem}}@media (orientation: landscape) and (max-height: 520px) and (max-width: 1024px){.app--session-active .feedback-bar__text{display:none}.app.app--session-active .app-header{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top,0px));min-height:52px}}@media (max-width: 768px){input,textarea,select{font-size:max(16px,1em)}}.app-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--input-border, #ccc);background:var(--input-bg, #fff);color:var(--text, #222);font-family:inherit;font-size:.9375rem;box-sizing:border-box;resize:vertical;min-height:80px;transition:border-color .2s ease}.app-textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.app-field{display:flex;flex-direction:column;gap:4px;min-width:0}.app-field__label{font-size:.8125rem;font-weight:500;color:var(--text)}.app-select-wrap{position:relative;display:block}.app-select-wrap:after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.app-select{width:100%;box-sizing:border-box;padding:10px 36px 10px 12px;border-radius:8px;border:1px solid var(--input-border, #ccc);background:var(--input-bg, #fff);color:var(--text, #222);font:inherit;font-size:.9375rem;line-height:1.25;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .2s ease,outline-color .2s ease}.app-select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.app-select:disabled{opacity:.6;cursor:not-allowed}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 72px);padding:24px}.auth-card{width:100%;max-width:420px;padding:40px 32px;background:var(--bg-soft);border:1px solid var(--border);border-radius:16px}.auth-title{font-size:1.5rem;text-align:center;margin:0 0 4px;background:linear-gradient(135deg,var(--accent),var(--accent-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{text-align:center;color:var(--text-muted);margin:0 0 28px;font-size:.9375rem}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.auth-input{padding:12px 14px;font-size:.9375rem;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--text-muted);opacity:.6}.auth-error{color:#ef4444;font-size:.875rem;margin:0;padding:8px 12px;background:#ef44441a;border-radius:8px}.auth-submit{width:100%;margin-top:4px;padding:14px;font-size:1rem}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-inline-hint{margin:0 0 16px;padding:12px 14px;font-size:.875rem;line-height:1.45;text-align:left;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);border-radius:10px}.auth-switch{text-align:center;margin-top:24px;font-size:.875rem;color:var(--text-muted)}.auth-switch-btn{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-switch-btn:hover{opacity:.8}@media (max-width: 480px){.auth-card{padding:28px 20px}}.cabinet-layout{display:grid;grid-template-columns:minmax(168px,192px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:10px;flex:1;min-height:0;width:100%;max-width:1200px;margin-inline:auto;padding:10px 16px 20px;padding-bottom:max(20px,env(safe-area-inset-bottom,0px));box-sizing:border-box}.cabinet-layout:has(.cabinet-status-bar--full){grid-template-rows:min-content minmax(0,1fr)}.cabinet-status-bar--full{grid-column:1 / -1;grid-row:1;align-self:start}.cabinet-sidebar{grid-column:1;grid-row:1;align-self:start;position:sticky;top:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);padding:12px 10px;display:flex;flex-direction:column;gap:8px}.cabinet-title{font-size:1rem;font-weight:700;margin:0;padding:0 6px 2px;background:linear-gradient(135deg,var(--accent),var(--accent-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cabinet-nav{display:flex;flex-direction:column;gap:2px}.cabinet-nav-link{border:1px solid transparent;border-radius:8px;padding:7px 10px;color:var(--text);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-size:.875rem;font-weight:500;line-height:1.25;transition:background .15s,border-color .15s,color .15s}.cabinet-nav-link:not(.cabinet-nav-link--locked){min-height:0}.cabinet-nav-link:hover{background:var(--bg);border-color:var(--border)}.cabinet-nav-link--active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.cabinet-nav-link--locked{opacity:.55;cursor:not-allowed}.cabinet-nav-hint{color:var(--text-muted);font-size:.6875rem;font-weight:400;line-height:1.2}.cabinet-nav-badge{display:inline-block;margin-left:.35rem;min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--color-warning, #c77800);color:#fff;font-size:.72rem;font-weight:700;line-height:1.35rem;text-align:center;vertical-align:middle}.cabinet-separator{height:1px;background:var(--border);margin:2px 6px}.cabinet-separator--nav{flex-shrink:0}.cabinet-content{grid-column:2;grid-row:1;align-self:stretch;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);padding:18px 20px;display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0;overflow:hidden}.cabinet-status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-size:.875rem;align-self:start;width:100%;box-sizing:border-box}.cabinet-status-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.cabinet-status-label{font-weight:500;color:var(--text);line-height:1.25;white-space:nowrap}.cabinet-status-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.25;white-space:nowrap;flex-shrink:0}.cabinet-status-badge--ok{background:var(--badge-success-bg);color:var(--badge-success-color)}.cabinet-status-badge--locked{background:var(--badge-error-bg);color:var(--badge-error-color)}.cabinet-status-action{margin-left:auto;flex-shrink:0;align-self:center;color:var(--accent);text-decoration:none;font-weight:600;font-size:.875rem;white-space:nowrap}.cabinet-status-action:hover{text-decoration:underline}.cabinet-layout:has(.cabinet-status-bar--full) .cabinet-sidebar,.cabinet-layout:has(.cabinet-status-bar--full) .cabinet-content{grid-row:2}.cabinet-content .profile-page,.cabinet-content .subscription-page{display:block;width:100%;padding:0;min-height:auto;justify-content:flex-start}.cabinet-content .profile-page .profile-card{width:100%;max-width:none;background:transparent;border:none;border-radius:0;padding:0;gap:24px;box-shadow:none}.cabinet-content .profile-page .profile-title,.cabinet-content .subscription-page .title{text-align:left;font-size:1.375rem;margin:0 0 4px}.cabinet-content .profile-page .profile-summary{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:0;border-bottom:none}.cabinet-content .profile-page .profile-summary-text{flex:1;min-width:0;text-align:left}.cabinet-content .profile-page .profile-summary-edit,.cabinet-content .profile-page .profile-summary-admin{width:auto;flex-shrink:0}.cabinet-content .profile-page .profile-avatar-section{justify-content:flex-start}.cabinet-content .profile-page .profile-avatar-block{flex-direction:row;align-items:center}.cabinet-content .profile-page .profile-form,.cabinet-content .profile-page .profile-password-form,.cabinet-content .profile-page .profile-oauth-section,.cabinet-content .profile-page .profile-password-section,.cabinet-content .profile-page .profile-danger-section{width:100%;max-width:none}@media (min-width: 720px){.cabinet-content .profile-page .profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px}.cabinet-content .profile-page .profile-email-desc,.cabinet-content .profile-page .profile-email-hint,.cabinet-content .profile-page .profile-password-error,.cabinet-content .profile-page .profile-form>.profile-save{grid-column:1 / -1}}.cabinet-content .profile-page .profile-save{width:auto;align-self:flex-start}.cabinet-content .profile-page .profile-oauth-section,.cabinet-content .profile-page .profile-password-section,.cabinet-content .profile-page .profile-danger-section,.cabinet-content .profile-page .profile-auth-section{border-top:1px solid var(--border);padding-top:20px}.cabinet-content .profile-page .profile-auth-list{gap:0}.cabinet-content .profile-page .profile-auth-item{background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:12px 0}.cabinet-content .profile-page .profile-auth-item:last-child{border-bottom:none}.cabinet-content .profile-page .profile-danger-section,.cabinet-content .profile-page .profile-danger-title,.cabinet-content .profile-page .profile-danger-desc{text-align:left}.cabinet-content .profile-page .profile-delete-btn{margin-left:0;margin-right:0}.cabinet-content .profile-page .profile-back,.cabinet-content .profile-page .profile-email-hint,.cabinet-content .profile-page .profile-password-error{text-align:left}.cabinet-content .subscription-page{max-width:none;margin:0}.cabinet-content .subscription-page .current-status,.cabinet-content .subscription-page .current-plan,.cabinet-content .subscription-page .auto-renew-toggle,.cabinet-content .subscription-page .auto-renew-info{justify-content:flex-start;text-align:left}.cabinet-content .subscription-page .already-subscribed-notice,.cabinet-content .subscription-page .email-verify-required-notice{text-align:left}@media (max-width: 640px){.cabinet-content .profile-page .profile-summary{flex-direction:column;align-items:flex-start}.cabinet-content .profile-page .profile-summary-edit,.cabinet-content .profile-page .profile-summary-admin{width:100%;text-align:center}}.cabinet-page{display:flex;flex-direction:column;gap:20px;min-height:0}.cabinet-page:not(.cabinet-calendar){flex:1;min-height:0;overflow-y:auto}.cabinet-page.cabinet-calendar{flex:1;min-height:0;overflow:hidden;gap:12px}.cabinet-calendar-workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;gap:.75rem}.cabinet-calendar-month{flex:1;min-height:0;overflow-y:auto}.cabinet-page-header{display:flex;flex-direction:column;gap:6px}.cabinet-page-title{margin:0;font-size:1.375rem;font-weight:700;color:var(--text)}.cabinet-page-desc{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.5}.cabinet-loading{display:flex;justify-content:center;padding:48px 16px}.cabinet-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.cabinet-card{border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--bg);display:flex;flex-direction:column;gap:14px}.cabinet-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.cabinet-stat{margin:0;font-size:2rem;line-height:1;font-weight:700;color:var(--text)}.cabinet-meter{width:100%;height:8px;border-radius:999px;background:var(--bg-soft);overflow:hidden;border:1px solid var(--border)}.cabinet-meter__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-end));transition:width .3s ease}.cabinet-form-card{border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--bg)}.cabinet-form-card-title{margin:0 0 16px;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cabinet-form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.cabinet-field{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:6px}.cabinet-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cabinet-input{padding:12px 14px;font-size:.9375rem;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.cabinet-input:focus{border-color:var(--accent)}.cabinet-input::placeholder{color:var(--text-muted);opacity:.6}.cabinet-textarea{resize:vertical;min-height:96px;font-family:inherit}.cabinet-actions{display:flex;flex-wrap:wrap;gap:8px}.cabinet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.cabinet-list-item{border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;background:var(--bg);transition:border-color .15s}.cabinet-list-item:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.cabinet-list-link{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;color:var(--text);text-decoration:none}.cabinet-list-link strong{font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cabinet-list-meta{font-size:.8125rem;color:var(--text-muted)}.cabinet-empty{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:.9375rem;border:1px dashed var(--border);border-radius:12px;margin:0}.cabinet-coming-soon{text-align:center;border:1px dashed var(--border);border-radius:14px;padding:48px 24px;background:var(--bg)}.cabinet-coming-soon-icon{font-size:2rem;margin-bottom:12px;opacity:.5}.cabinet-coming-soon-title{margin:0 0 8px;font-size:1.25rem;font-weight:600}.cabinet-coming-soon-desc{margin:0;color:var(--text-muted);font-size:.9375rem;max-width:420px;margin-inline:auto;line-height:1.5}.cabinet-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.cabinet-info-item{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--bg)}.cabinet-info-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.cabinet-info-value{font-size:.9375rem;color:var(--text);word-break:break-word}.cabinet-section{display:flex;flex-direction:column;gap:14px}.cabinet-section-title{margin:0;font-size:1.0625rem;font-weight:600}.cabinet-analytics-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--bg)}.cabinet-chart-wrap{display:flex;flex-direction:column;gap:8px}.cabinet-chart{width:100%;height:140px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px}.cabinet-chart__path{fill:none;stroke-width:1.6}.cabinet-chart__path--sud{stroke:var(--danger)}.cabinet-chart__path--voc{stroke:var(--accent)}.cabinet-chart__point--sud{fill:color-mix(in srgb,var(--danger) 40%,transparent);stroke:var(--danger);stroke-width:.8}.cabinet-chart__point--voc{fill:color-mix(in srgb,var(--accent) 40%,transparent);stroke:var(--accent);stroke-width:.8}.cabinet-chart__legend{display:flex;gap:16px;font-size:.8125rem;color:var(--text-muted)}.cabinet-chart__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.cabinet-chart__dot--sud{background:var(--danger)}.cabinet-chart__dot--voc{background:var(--accent)}.cabinet-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.cabinet-table{width:100%;border-collapse:collapse;font-size:.875rem}.cabinet-table th{text-align:left;padding:10px 12px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:var(--bg-soft);border-bottom:1px solid var(--border)}.cabinet-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.cabinet-table tr:last-child td{border-bottom:none}.cabinet-table tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}.cabinet-btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:8px}.cabinet-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .15s}.cabinet-back-link:hover{color:var(--accent)}.cabinet-content:has(.cabinet-vault-page){align-items:center}.cabinet-vault-page{width:100%;max-width:min(480px,100%);margin-inline:auto;box-sizing:border-box}.cabinet-vault-page .auth-form,.cabinet-vault-page .auth-submit,.cabinet-vault-page .btn-danger{width:100%}.cabinet-vault-page .cabinet-back-link{display:block;width:100%;text-align:center}.cabinet-vault-page .vault-codes-panel{display:flex;flex-direction:column;gap:12px;width:100%}.cabinet-vault-page .vault-codes-panel__list{margin:0;padding-left:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.cabinet-vault-page .vault-codes-panel__actions{display:flex;flex-wrap:wrap;gap:8px}.cabinet-vault-page .vault-codes-panel__confirm{display:flex;align-items:flex-start;gap:8px}.cabinet-vault-divider{height:1px;background:var(--border);margin:24px 0}@media (max-width: 900px){.cabinet-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);padding:12px max(12px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px));gap:10px}.cabinet-layout:has(.cabinet-status-bar--full){grid-template-rows:min-content auto minmax(0,1fr)}.cabinet-layout:has(.cabinet-status-bar--full) .cabinet-sidebar{grid-row:2}.cabinet-layout:has(.cabinet-status-bar--full) .cabinet-content{grid-row:3}.cabinet-layout:not(:has(.cabinet-status-bar--full)){grid-template-rows:auto minmax(0,1fr)}.cabinet-layout:not(:has(.cabinet-status-bar--full)) .cabinet-sidebar{grid-row:1}.cabinet-layout:not(:has(.cabinet-status-bar--full)) .cabinet-content{grid-row:2}.cabinet-layout{max-width:none}.cabinet-sidebar{position:static;grid-column:1;padding:10px;gap:8px}.cabinet-title{font-size:.9375rem;margin-bottom:0;padding-inline:4px}.cabinet-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;padding-bottom:2px;scrollbar-width:none}.cabinet-nav::-webkit-scrollbar{display:none}.cabinet-nav-link{flex:0 0 auto;white-space:nowrap;min-height:40px;justify-content:center;padding:8px 12px;font-size:.8125rem}.cabinet-nav-hint{display:none}.cabinet-separator--nav{width:1px;height:1.75rem;margin:0 2px;align-self:center}.cabinet-content{grid-column:1;padding:14px 12px;min-width:0}.cabinet-status-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center}.cabinet-status-item:first-child{grid-column:1;min-width:0}.cabinet-status-item:nth-child(2){grid-column:2;justify-self:end;text-align:right}.cabinet-status-action{grid-column:1 / -1;margin-left:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.cabinet-form-row{flex-direction:column;align-items:stretch}.cabinet-form-row .btn{width:100%;min-height:44px}.cabinet-field{flex-basis:100%}.cabinet-actions{flex-direction:column}.cabinet-actions .btn{width:100%;min-height:44px;justify-content:center}.cabinet-list-item{flex-wrap:wrap;align-items:flex-start;gap:10px}.cabinet-list-link{flex:1 1 calc(100% - 52px);min-width:0}.cabinet-list-link strong{white-space:normal}.cabinet-list-item>.btn{margin-left:auto;min-height:44px}.cabinet-table{min-width:560px}.cabinet-table-wrap{-webkit-overflow-scrolling:touch}.cabinet-table .cabinet-actions{flex-direction:row;flex-wrap:wrap;min-width:140px}.cabinet-table .cabinet-actions .btn{width:auto;flex:1 1 auto;min-height:40px}.cabinet-cards,.cabinet-info-grid{grid-template-columns:1fr}.cabinet-page-title{font-size:1.2rem}.cabinet-content:has(.cabinet-vault-page){padding:16px max(16px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px))}.cabinet-vault-page .vault-codes-panel__actions{flex-direction:column}.cabinet-vault-page .vault-codes-panel__actions .btn{width:100%;min-height:44px;justify-content:center}}.popup-cloud-wrapper[data-v-efd5577c]{display:inline-block;position:relative}.popup-cloud-backdrop[data-v-efd5577c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:transparent}.popup-cloud[data-v-efd5577c]{position:fixed;z-index:9999;box-sizing:border-box;min-width:220px;max-width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 32px #00000026,0 2px 8px #00000014;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));overflow:visible}.popup-cloud--wide[data-v-efd5577c]{min-width:min(360px,calc(100vw - 24px));max-width:min(520px,calc(100vw - 24px));padding:18px 20px 20px}.popup-cloud--compact[data-v-efd5577c]{min-width:0;max-width:min(168px,calc(100vw - 24px));padding:8px 10px;border-radius:10px}.popup-cloud--above[data-v-efd5577c]{transform-origin:bottom center}.popup-cloud-arrow[data-v-efd5577c]{position:absolute;top:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--bg);border-top:none;filter:drop-shadow(0 -1px 0 var(--border))}.popup-cloud-arrow--above[data-v-efd5577c]{top:auto;bottom:-10px;transform:none;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--bg);border-bottom:none;filter:drop-shadow(0 1px 0 var(--border))}.popup-cloud-arrow--right[data-v-efd5577c]{top:0;left:-10px;right:auto;transform:none;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid var(--bg);border-left:none;filter:drop-shadow(-1px 0 0 var(--border))}.popup-cloud-arrow--right-on-left[data-v-efd5577c]{left:auto;right:-10px;transform:none;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid var(--bg);border-right:none;filter:drop-shadow(1px 0 0 var(--border))}.popup-cloud-content[data-v-efd5577c]{position:relative;z-index:1;overflow-x:hidden;overflow-y:auto;min-width:0;max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);padding-bottom:env(safe-area-inset-bottom,0px)}.cloud-fade-enter-active[data-v-efd5577c],.cloud-fade-leave-active[data-v-efd5577c]{transition:opacity .15s ease,transform .15s ease}.cloud-fade-enter-from[data-v-efd5577c],.cloud-fade-leave-to[data-v-efd5577c]{opacity:0;transform:translateY(-4px) scale(.98)}.popup-cloud--above.cloud-fade-enter-from[data-v-efd5577c],.popup-cloud--above.cloud-fade-leave-to[data-v-efd5577c]{transform:translateY(4px) scale(.98)}.icon-btn[data-v-20e713fc]{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-button-hit);height:var(--icon-button-hit);padding:0;border:0;border-radius:var(--btn-radius);cursor:pointer;transition:var(--btn-transition),background .2s,color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.icon-btn--ghost[data-v-20e713fc]:active:not(.icon-btn--active),.icon-btn--soft[data-v-20e713fc]:active:not(.icon-btn--active){color:var(--accent)}.icon-btn--ghost[data-v-20e713fc]:active:not(.icon-btn--active) svg,.icon-btn--soft[data-v-20e713fc]:active:not(.icon-btn--active) svg{color:var(--accent)}.icon-btn--sm[data-v-20e713fc]{width:var(--icon-button-hit-toolbar);height:var(--icon-button-hit-toolbar)}.icon-btn--xs[data-v-20e713fc]{width:1.75rem;height:1.75rem}.icon-btn--primary[data-v-20e713fc]{background:var(--accent);color:var(--on-accent)}.icon-btn--primary[data-v-20e713fc]:hover{opacity:var(--btn-hover-opacity)}.icon-btn--soft[data-v-20e713fc]{border:1px solid var(--border);background:var(--bg-soft);color:var(--text)}.icon-btn--soft[data-v-20e713fc]:hover{background:var(--input-bg);opacity:var(--btn-hover-opacity)}.icon-btn--ghost[data-v-20e713fc]{background:transparent;color:var(--text-muted)}.icon-btn--ghost[data-v-20e713fc]:hover{background:#0000000f;color:var(--text);opacity:.95}[data-theme=dark] .icon-btn--ghost[data-v-20e713fc]:hover{background:#ffffff0f}.icon-btn[data-v-20e713fc]:active{transform:scale(var(--btn-active-scale))}.icon-btn--active[data-v-20e713fc],.icon-btn--active[data-v-20e713fc] svg{color:var(--accent)}.icon-btn[data-v-20e713fc] svg{width:var(--icon-size-default);height:var(--icon-size-default);flex-shrink:0}.icon-btn--sm[data-v-20e713fc] svg{width:var(--icon-size-toolbar);height:var(--icon-size-toolbar)}.icon-btn--xs[data-v-20e713fc] svg{width:.875rem;height:.875rem}.option-btn[data-v-144baa16]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.option-btn[data-v-144baa16]:hover{background:var(--bg-soft);border-color:var(--input-border)}.option-btn[data-v-144baa16]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option-btn--active[data-v-144baa16]{background:linear-gradient(135deg,var(--accent),var(--accent-end));color:var(--on-accent);border-color:var(--accent)}.option-group[data-v-b1808ab3]{display:flex;flex-direction:column;gap:8px}.option-group-label[data-v-b1808ab3]{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.option-group-options[data-v-b1808ab3]{display:flex;gap:8px}.checkbox[data-v-b1cdfdc1]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-weight:500;color:var(--text)}.checkbox-input[data-v-b1cdfdc1]{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:var(--input-bg);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;transition:background .2s,border-color .2s}.checkbox-input[data-v-b1cdfdc1]:checked{background:linear-gradient(135deg,var(--accent),var(--accent-end));border-color:var(--accent)}.checkbox-input[data-v-b1cdfdc1]:checked:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input[data-v-b1cdfdc1]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-settings-panel[data-v-a9218391],.cloud-settings[data-v-7a88f585]{display:flex;flex-direction:column;gap:16px}.hamburger-tour-btn[data-v-7a88f585]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .12s;text-align:left}.hamburger-tour-btn[data-v-7a88f585]:hover{background:var(--input-bg)}.hamburger-tour-btn svg[data-v-7a88f585]{width:var(--icon-size-compact);height:var(--icon-size-compact);flex-shrink:0}.user-avatar[data-v-16485767]{position:relative;border-radius:50%;overflow:hidden;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.user-avatar-img[data-v-16485767]{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar-initials[data-v-16485767]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-weight:600;line-height:1;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.user-avatar-unknown-icon[data-v-16485767]{flex-shrink:0;opacity:.95}.user-menu-trigger[data-v-c3b8f09b]{display:inline-flex;align-items:center;justify-content:center;padding:0;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.user-menu-trigger[data-v-c3b8f09b]:hover,.user-menu-trigger--active[data-v-c3b8f09b]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.user-menu-content[data-v-c3b8f09b]{display:flex;flex-direction:column;gap:0;min-width:220px}.user-menu-header[data-v-c3b8f09b]{display:flex;align-items:center;gap:12px;width:100%;padding:4px 4px 8px;margin:0;border:none;border-radius:10px;background:none;cursor:pointer;text-align:left;transition:background .12s}.user-menu-header[data-v-c3b8f09b]:hover{background:var(--bg-soft)}.user-menu-info[data-v-c3b8f09b]{display:flex;flex-direction:column;gap:2px;min-width:0}.user-menu-name[data-v-c3b8f09b]{font-weight:600;font-size:.9375rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email[data-v-c3b8f09b]{font-size:.8125rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider[data-v-c3b8f09b]{height:1px;background:var(--border);margin:8px 0}.user-menu-item[data-v-c3b8f09b]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 4px;border:none;border-radius:8px;background:none;color:var(--text);font-size:.875rem;cursor:pointer;transition:background .12s;text-align:left}.user-menu-item[data-v-c3b8f09b]:hover{background:var(--bg-soft)}.user-menu-item svg[data-v-c3b8f09b]{width:var(--icon-size-compact);height:var(--icon-size-compact);flex-shrink:0}.user-menu-logout[data-v-c3b8f09b]{color:var(--danger, #e74c3c)}.user-menu-settings[data-v-c3b8f09b]{display:flex;flex-direction:column;gap:16px;padding:4px 0}.header-stat[data-v-eec119c9]{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:56px;flex-shrink:0}.header-stat--inline[data-v-eec119c9]{padding-top:4px}.header-stat-label[data-v-eec119c9]{font-size:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:8ch;text-align:center}.header-stat-value[data-v-eec119c9]{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:600;color:var(--text)}.header-stat-inline[data-v-eec119c9]{font-size:.5rem;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:9ch;text-align:center}@media (max-width: 480px){.header-stat[data-v-eec119c9]{flex-shrink:1;min-width:0}.header-stat-label[data-v-eec119c9]{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-stat-value[data-v-eec119c9]{font-size:1rem;white-space:nowrap}.header-stat-inline[data-v-eec119c9]{min-width:0;white-space:nowrap}}.header-stats[data-v-d228a793]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:0}.header-stats-cols[data-v-d228a793]{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:20px}.header-stats-col[data-v-d228a793]{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px}@media (max-width: 480px){.header-stats[data-v-d228a793]{flex-shrink:1;overflow:hidden}.header-stats-cols[data-v-d228a793]{gap:8px}.header-stats-col[data-v-d228a793]{min-width:0}}.toast[data-v-9b06a4cc]{padding:14px 40px 14px 18px;border-radius:14px;font-size:.9375rem;font-weight:500;line-height:1.4;cursor:pointer;animation:toast-in-9b06a4cc .35s ease-out;border:1px solid transparent;position:relative}.toast-message[data-v-9b06a4cc]{display:block}.toast-close[data-v-9b06a4cc]{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:4px;opacity:.85;color:inherit}.toast-close[data-v-9b06a4cc]:hover{opacity:1}.toast--info[data-v-9b06a4cc]{background:var(--toast-info-bg);color:var(--toast-info-color);border-color:var(--toast-info-border)}.toast--success[data-v-9b06a4cc]{background:var(--toast-success-bg);color:var(--toast-success-color);border-color:var(--toast-success-border)}.toast--warning[data-v-9b06a4cc]{background:var(--toast-warning-bg);color:var(--toast-warning-color);border-color:var(--toast-warning-border)}.toast--error[data-v-9b06a4cc]{background:var(--toast-error-bg);color:var(--toast-error-color);border-color:var(--toast-error-border)}@keyframes toast-in-9b06a4cc{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-list-wrapper[data-v-b15c92ac]{position:fixed;bottom:24px;right:24px;left:24px;z-index:9999;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;max-height:calc(100vh - 48px)}.toast-list[data-v-b15c92ac]{display:flex;flex-direction:column;gap:10px;max-width:min(360px,100%);max-height:inherit;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.toast-list[data-v-b15c92ac]::-webkit-scrollbar{display:none}.toast-list[data-v-b15c92ac]>*{pointer-events:auto;flex-shrink:0;width:100%}.skip-link[data-v-0d48c973]{position:absolute;left:-9999px;top:0;z-index:9999}.skip-link[data-v-0d48c973]:focus{left:1rem;top:1rem;position:fixed;padding:.75rem 1rem;background:#fff;color:#000;border:2px solid currentColor}.status-badge[data-v-a5d29f76]{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 12px;min-width:140px;box-sizing:border-box;border-radius:999px;font-size:.8125rem;font-weight:500;color:var(--text-muted);background:var(--input-bg);border:1px solid var(--border)}.status-badge.connected[data-v-a5d29f76]{color:var(--on-accent);background:linear-gradient(135deg,var(--accent),var(--accent-end));border:0;border-radius:10px;font-weight:600}.status-dot[data-v-a5d29f76]{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.status-badge.connected .status-dot[data-v-a5d29f76]{animation:status-pulse-a5d29f76 1.5s ease-in-out infinite}@keyframes status-pulse-a5d29f76{0%,to{opacity:.8}50%{opacity:.3}}@media (max-width: 480px){.status-badge[data-v-a5d29f76]{min-width:0;padding:0;width:var(--icon-size-session-corner);height:var(--icon-size-session-corner);border-radius:50%}.status-badge.connected[data-v-a5d29f76]{border-radius:50%}.status-badge__text[data-v-a5d29f76]{display:none}}.quota-badge[data-v-2ba68a6e]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500}.badge-active[data-v-2ba68a6e]{background:var(--badge-success-bg);color:var(--badge-success-color)}.badge-free[data-v-2ba68a6e]{background:var(--badge-info-bg);color:var(--badge-info-color)}.badge-exhausted[data-v-2ba68a6e]{background:var(--badge-error-bg);color:var(--badge-error-color)}.app-notice-banner[data-v-9d3a6e6f]{display:flex;align-items:center;justify-content:center;padding:10px max(52px,calc(8px + env(safe-area-inset-right,0px))) 10px max(20px,env(safe-area-inset-left,0px));position:relative;transition:max-height .35s ease,padding .35s ease;border-bottom:1px solid var(--notice-banner-border, rgba(202, 138, 4, .25));background:var( --notice-banner-bg, linear-gradient(135deg, rgba(234, 179, 8, .18), rgba(202, 138, 4, .12)) )}.app-notice-banner--collapsed[data-v-9d3a6e6f]{padding-top:8px;padding-bottom:8px}.app-notice-banner--success[data-v-9d3a6e6f]{--notice-banner-bg: linear-gradient( 135deg, var(--donate-accent-light), var(--donate-accent-end-light, rgba(46, 204, 113, .16)) );--notice-banner-border: rgba(39, 174, 96, .2)}.app-notice-banner--warning[data-v-9d3a6e6f]{--notice-banner-bg: linear-gradient(135deg, rgba(234, 179, 8, .18), rgba(202, 138, 4, .12));--notice-banner-border: rgba(202, 138, 4, .25)}.app-notice-banner--error[data-v-9d3a6e6f]{--notice-banner-bg: linear-gradient(135deg, rgba(239, 68, 68, .22), rgba(185, 28, 28, .14));--notice-banner-border: rgba(185, 28, 28, .38)}.app-notice-banner__center[data-v-9d3a6e6f]{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;min-width:0}.app-notice-banner__dismiss[data-v-9d3a6e6f]{position:absolute;right:max(8px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted, #999);font-size:1rem;padding:2px 6px;transition:color .2s}.app-notice-banner__dismiss[data-v-9d3a6e6f]:hover{color:var(--text, #333)}.app-notice-banner__collapsed[data-v-9d3a6e6f]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 44px 4px 8px;background:none;border:none;cursor:pointer;font:inherit;color:var(--text, #333)}.app-notice-banner--success .app-notice-banner__collapsed[data-v-9d3a6e6f]{color:var(--donate-accent);font-weight:600;font-size:.85rem}.app-notice-banner--error .app-notice-banner__collapsed[data-v-9d3a6e6f]{color:#b91c1c;font-weight:600}.app-notice-banner__collapsed-text[data-v-9d3a6e6f]{font-size:.8rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,70vw)}.app-notice-banner__collapsed-hint[data-v-9d3a6e6f]{flex-shrink:0;font-size:.65rem;opacity:.7}@media (max-width: 480px){.app-notice-banner[data-v-9d3a6e6f]{padding:8px max(48px,calc(4px + env(safe-area-inset-right,0px))) 8px max(12px,env(safe-area-inset-left,0px))}.app-notice-banner__center[data-v-9d3a6e6f]{gap:10px}.app-notice-banner__dismiss[data-v-9d3a6e6f]{right:max(4px,env(safe-area-inset-right,0px));min-width:40px;min-height:40px}}.app-notice-banner .app-notice-banner__text{margin:0;font-size:.85rem;color:var(--text, #333);line-height:1.4}@media (max-width: 480px){.app-notice-banner--success .app-notice-banner__text--hide-narrow{display:none}.app-notice-banner .app-notice-banner__text{font-size:.8rem}}.app-notice-banner .app-notice-banner__btn{display:inline-block;padding:6px 16px;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap;text-decoration:none;text-align:center}.app-notice-banner .app-notice-banner__btn:disabled{opacity:.7;cursor:not-allowed}.app-notice-banner .app-notice-banner__btn--warning{background:var(--warning, #eab308);color:#1d1d1f}.app-notice-banner .app-notice-banner__btn--warning:hover:not(:disabled){opacity:.9}.app-notice-banner .app-notice-banner__btn--success{background:var(--donate-accent);color:#fff}.app-notice-banner .app-notice-banner__btn--success:hover{opacity:.85}.app-notice-banner .app-notice-banner__btn--error{background:#dc2626;color:#fff}.app-notice-banner .app-notice-banner__btn--error:hover:not(:disabled){opacity:.9}@media (max-width: 480px){.app-notice-banner .app-notice-banner__btn{padding:6px 12px;font-size:.75rem}}.app-btn[data-v-750f3881]{padding:12px 20px;font-size:.9375rem;font-weight:600;border-radius:var(--btn-radius);border:0;cursor:pointer;transition:var(--btn-transition)}.app-btn[data-v-750f3881]:disabled{opacity:.45;cursor:not-allowed}.app-btn[data-v-750f3881]:not(:disabled):hover{opacity:var(--btn-hover-opacity)}.app-btn[data-v-750f3881]:not(:disabled):active{transform:scale(var(--btn-active-scale))}.app-btn[data-v-750f3881]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-btn--primary[data-v-750f3881]{background:linear-gradient(135deg,var(--accent),var(--accent-end));color:var(--on-accent)}.app-btn--secondary[data-v-750f3881]{background:var(--input-bg);color:var(--text);border:1px solid var(--border)}.app-btn--toggle[data-v-750f3881]{flex:0 1 auto;padding:12px 36px;font-size:1rem;white-space:nowrap;background:linear-gradient(135deg,var(--accent),var(--accent-end));color:var(--on-accent)}.app-btn--toggle.app-btn--active[data-v-750f3881]{background:var(--input-bg);color:var(--text);border:1px solid var(--border)}.app-btn--copy[data-v-750f3881]{flex:none;padding:12px 18px;background:var(--accent);color:var(--on-accent);white-space:nowrap}.feedback-overlay[data-v-4906dd90]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.feedback-modal[data-v-4906dd90]{width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 48px #00000040;padding:24px;animation:feedback-pop-4906dd90 .25s ease}@keyframes feedback-pop-4906dd90{0%{transform:scale(.95) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.feedback-modal__header[data-v-4906dd90]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.feedback-modal__title[data-v-4906dd90]{font-size:1.125rem;font-weight:600;margin:0;color:var(--text)}.feedback-modal__close[data-v-4906dd90]{display:flex;align-items:center;justify-content:center;width:var(--icon-button-hit-narrow);height:var(--icon-button-hit-narrow);border:none;border-radius:10px;background:var(--bg-soft);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.feedback-modal__close[data-v-4906dd90]:hover{background:var(--border);color:var(--text)}.feedback-modal__close[data-v-4906dd90] svg{width:var(--icon-size-subtle);height:var(--icon-size-subtle)}.feedback-modal__form[data-v-4906dd90]{display:flex;flex-direction:column;gap:14px}.feedback-modal__label[data-v-4906dd90]{display:flex;flex-direction:column;gap:4px}.feedback-modal__label-text[data-v-4906dd90]{font-size:.8125rem;font-weight:500;color:var(--text)}.feedback-modal__optional[data-v-4906dd90]{color:var(--text-muted);font-weight:400}.feedback-modal__required[data-v-4906dd90]{color:var(--danger)}.feedback-modal__input[data-v-4906dd90],.feedback-modal__textarea[data-v-4906dd90]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-family:inherit;font-size:.9375rem;box-sizing:border-box}.feedback-modal__input[data-v-4906dd90]:focus,.feedback-modal__textarea[data-v-4906dd90]:focus{outline:2px solid var(--accent);outline-offset:-1px}.feedback-modal__textarea[data-v-4906dd90]{resize:vertical;min-height:80px;transition:border-color .2s ease}.feedback-modal__textarea--error[data-v-4906dd90]{border-color:var(--danger)}.feedback-modal__field-error[data-v-4906dd90]{font-size:.8125rem;color:var(--danger);margin-top:2px}.feedback-modal__hint[data-v-4906dd90]{font-size:.75rem;color:var(--text-muted);text-align:right;margin-top:-4px}.feedback-modal__agree[data-v-4906dd90]{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;color:var(--text-muted)}.feedback-modal__agree-checkbox[data-v-4906dd90]{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.feedback-modal__agree-text[data-v-4906dd90]{line-height:1.4}.feedback-modal__agree-link[data-v-4906dd90]{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.feedback-modal__agree-link[data-v-4906dd90]:hover{opacity:.85}.feedback-modal__captcha[data-v-4906dd90]{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft)}.feedback-modal__captcha-hint[data-v-4906dd90]{margin:0 0 8px;font-size:.8125rem;color:var(--text-muted)}.feedback-modal__captcha-box[data-v-4906dd90]{min-height:65px}.feedback-overlay-enter-active[data-v-4906dd90]{transition:opacity .2s ease}.feedback-overlay-leave-active[data-v-4906dd90]{transition:opacity .15s ease}.feedback-overlay-enter-from[data-v-4906dd90],.feedback-overlay-leave-to[data-v-4906dd90]{opacity:0}.feedback-error-enter-active[data-v-4906dd90],.feedback-error-leave-active[data-v-4906dd90]{transition:opacity .2s ease,transform .2s ease}.feedback-error-enter-from[data-v-4906dd90],.feedback-error-leave-to[data-v-4906dd90]{opacity:0;transform:translateY(-4px)}.cookie-overlay[data-v-2e37c901]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cookie-banner[data-v-2e37c901]{width:100%;max-width:520px;padding:28px 28px 24px;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 32px #0000002e;text-align:center}.cookie-banner__icon[data-v-2e37c901]{font-size:2.5rem;line-height:1;margin-bottom:8px}.cookie-banner__title[data-v-2e37c901]{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--text)}.cookie-banner__text[data-v-2e37c901]{margin:0 0 20px;font-size:.9375rem;color:var(--text-muted);line-height:1.5}.cookie-banner__link[data-v-2e37c901]{color:var(--accent);text-decoration:none}.cookie-banner__link[data-v-2e37c901]:hover{text-decoration:underline}.cookie-settings[data-v-2e37c901]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;text-align:left}.cookie-toggle[data-v-2e37c901]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;background:var(--bg-soft);cursor:pointer}.cookie-toggle__info[data-v-2e37c901]{display:flex;flex-direction:column;gap:2px;min-width:0}.cookie-toggle__name[data-v-2e37c901]{font-size:.875rem;font-weight:600;color:var(--text)}.cookie-toggle__desc[data-v-2e37c901]{font-size:.75rem;color:var(--text-muted);line-height:1.35}.cookie-toggle__input[data-v-2e37c901]{position:absolute;opacity:0;width:0;height:0}.cookie-toggle__slider[data-v-2e37c901]{position:relative;flex-shrink:0;width:44px;height:24px;border-radius:12px;background:var(--border);transition:background .2s}.cookie-toggle__slider[data-v-2e37c901]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.cookie-toggle__input:checked+.cookie-toggle__slider[data-v-2e37c901]{background:var(--accent)}.cookie-toggle__input:checked+.cookie-toggle__slider[data-v-2e37c901]:after{transform:translate(20px)}.cookie-toggle__slider--locked[data-v-2e37c901]{background:var(--accent);opacity:.6}.cookie-toggle__slider--locked[data-v-2e37c901]:after{transform:translate(20px)}.cookie-banner__actions[data-v-2e37c901]{display:flex;flex-direction:column;gap:8px}.cookie-btn[data-v-2e37c901]{width:100%;padding:12px 20px;font:inherit;font-size:.9375rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:opacity .15s,transform .1s}.cookie-btn[data-v-2e37c901]:hover{opacity:.9}.cookie-btn[data-v-2e37c901]:active{transform:scale(.98)}.cookie-btn--primary[data-v-2e37c901]{background:linear-gradient(135deg,var(--accent),var(--accent-end));color:var(--on-accent)}.cookie-btn--secondary[data-v-2e37c901]{background:var(--bg-soft);color:var(--text);border:1px solid var(--border)}.cookie-btn--text[data-v-2e37c901]{background:none;color:var(--text-muted);padding:8px 20px;font-size:.8125rem}.cookie-btn--text[data-v-2e37c901]:hover{color:var(--accent)}.cookie-slide-enter-active[data-v-2e37c901],.cookie-slide-leave-active[data-v-2e37c901]{transition:opacity .35s ease}.cookie-slide-enter-active .cookie-banner[data-v-2e37c901],.cookie-slide-leave-active .cookie-banner[data-v-2e37c901]{transition:transform .35s ease,opacity .35s ease}.cookie-slide-enter-from[data-v-2e37c901],.cookie-slide-leave-to[data-v-2e37c901]{opacity:0}.cookie-slide-enter-from .cookie-banner[data-v-2e37c901],.cookie-slide-leave-to .cookie-banner[data-v-2e37c901]{transform:translateY(40px);opacity:0}.cookie-settings-expand-enter-active[data-v-2e37c901],.cookie-settings-expand-leave-active[data-v-2e37c901]{transition:opacity .25s ease,max-height .3s ease;overflow:hidden}.cookie-settings-expand-enter-from[data-v-2e37c901],.cookie-settings-expand-leave-to[data-v-2e37c901]{opacity:0;max-height:0}.cookie-settings-expand-enter-to[data-v-2e37c901],.cookie-settings-expand-leave-from[data-v-2e37c901]{max-height:300px}@media (max-width: 480px){.cookie-overlay[data-v-2e37c901]{padding:12px}.cookie-banner[data-v-2e37c901]{padding:22px 18px 18px;border-radius:14px}.cookie-banner__icon[data-v-2e37c901]{font-size:2rem}.cookie-banner__title[data-v-2e37c901]{font-size:1.1rem}.cookie-banner__text[data-v-2e37c901]{font-size:.8125rem}.cookie-btn[data-v-2e37c901]{font-size:.875rem;padding:11px 16px}}
