.onboarding{--onboarding-ease: cubic-bezier(.33, 0, .2, 1);position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;animation:onboarding-veil .6s var(--onboarding-ease)}.onboarding-spotlight{position:fixed;border:2px solid var(--accent);border-radius:10px;background:#2456e00f;box-shadow:0 0 0 4px #2456e024;pointer-events:none;transition:top .7s var(--onboarding-ease),left .7s var(--onboarding-ease),width .7s var(--onboarding-ease),height .7s var(--onboarding-ease),opacity .45s var(--onboarding-ease);animation:onboarding-glow 2.6s ease-in-out infinite}.onboarding-spotlight.is-hidden{opacity:0}.onboarding-card{position:fixed;top:12px;left:50%;transform:translate(-50%);width:min(720px,calc(100vw - 32px));padding:16px 20px;background:var(--panel-bg);color:var(--page-text);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 24px #00000040;pointer-events:auto;animation:onboarding-drop .6s var(--onboarding-ease);transition:left .5s var(--onboarding-ease),max-width .5s var(--onboarding-ease)}.onboarding-body{min-width:0;animation:onboarding-fade .45s var(--onboarding-ease)}.onboarding-tip{position:fixed;padding:12px 14px;background:var(--panel-bg);color:var(--page-text);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px #00000038;pointer-events:auto;animation:onboarding-fade .45s var(--onboarding-ease);transition:top .5s var(--onboarding-ease),left .5s var(--onboarding-ease)}.onboarding-tip.tip-above{transform:translateY(-100%)}.onboarding-tip-title{margin:0 0 6px;padding-right:18px;font-size:.98em;font-weight:600}.onboarding-tip-text{margin:0 0 8px;padding-right:18px;line-height:1.4;font-size:.95em;white-space:pre-wrap}.onboarding-tip .onboarding-actions{margin:0}.message-list.onboarding-scroll-lock{overflow-y:hidden}.onboarding-wait{position:fixed;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel-bg);color:var(--dim-text);border:1px solid var(--border);border-radius:999px;font-size:.88em;box-shadow:0 4px 14px #00000026;pointer-events:none;animation:onboarding-fade .45s var(--onboarding-ease)}.onboarding-wait-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:onboarding-blink 1.2s ease-in-out infinite}.onboarding-title{margin:0 0 8px;padding-right:20px;font-size:1.02em;font-weight:600}.onboarding-bubble{margin:4px 0 12px;padding-right:20px;line-height:1.45;min-height:1.45em;white-space:pre-wrap}.onboarding-status{margin:0 0 10px;color:var(--dim-text);font-size:.9em}.onboarding-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.onboarding-options{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 14px;margin:8px 0 12px;padding:0 2px}.onboarding-option{display:flex;align-items:center;gap:8px;cursor:pointer;line-height:1.4}.onboarding-option input{accent-color:var(--accent);cursor:pointer}.onboarding-footer{display:flex;justify-content:flex-start;margin-top:6px}.onboarding-back{padding:4px 8px;margin-left:-8px;border:none;background:none;color:var(--dim-text);font:inherit;font-size:1.15em;line-height:1;cursor:pointer;transition:color .2s var(--onboarding-ease)}.onboarding-back:hover{color:var(--accent)}.onboarding-button{padding:6px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font:inherit;cursor:pointer;animation:onboarding-fade .4s var(--onboarding-ease);transition:filter .2s var(--onboarding-ease)}.onboarding-button:hover{filter:brightness(1.1)}.onboarding-close{position:absolute;top:6px;right:8px;padding:2px 6px;border:none;background:none;color:var(--dim-text);font:inherit;font-size:1.2em;line-height:1;cursor:pointer;transition:color .2s var(--onboarding-ease)}.onboarding-close:hover{color:var(--page-text)}@keyframes onboarding-blink{50%{opacity:0}}@keyframes onboarding-fade{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes onboarding-veil{0%{opacity:0}to{opacity:1}}@keyframes onboarding-drop{0%{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}@keyframes onboarding-glow{0%,to{box-shadow:0 0 0 4px #2456e024}50%{box-shadow:0 0 0 7px #2456e014}}@media(max-width:768px){.onboarding-card{top:calc(12px + env(safe-area-inset-top));max-height:calc(100dvh - 24px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}.onboarding-options{grid-template-columns:repeat(2,1fr)}}@media(pointer:coarse){.onboarding-button{padding:.55rem .9rem}.onboarding-close{top:2px;right:4px;min-width:2.25rem;min-height:2.25rem}.onboarding-option{padding:.3rem 0}.onboarding-option input{width:1.1rem;height:1.1rem}.onboarding-tip-title,.onboarding-tip-text{padding-right:34px}.onboarding-title,.onboarding-bubble{padding-right:36px}}@media(prefers-reduced-motion:reduce){.onboarding,.onboarding-card,.onboarding-body,.onboarding-button,.onboarding-spotlight{animation:none}.onboarding-spotlight{transition:none}}.account-dialog-dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#131c3373;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.account-dialog{display:flex;flex-direction:column;width:min(920px,100%);height:68dvh;min-height:min(24rem,100%);max-height:100%;background:var(--page-bg);color:var(--page-text);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #131c3359;outline:none;overflow:hidden}.account-dialog-header{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--ground)}.account-dialog-header h1{margin:0;font-size:20px;font-weight:600;color:var(--user-text)}.account-dialog-close{flex-shrink:0;margin-left:auto;width:2.5rem;height:2.5rem;display:grid;place-items:center;background:none;border:1px solid transparent;border-radius:8px;color:var(--page-text);cursor:pointer}.account-dialog-close svg{width:15px;height:auto;display:block}.account-dialog-actions{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:4px}.account-dialog-actions .account-dialog-close{margin-left:0}.account-dialog-close:hover{background:var(--border);color:var(--accent)}.account-dialog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px}.profile-panel{display:flex;flex-direction:column;min-height:100%}.profile-panel .profile-section:last-child{margin-bottom:0}.profile-section{border-top:1px solid var(--border);padding-top:20px;margin-bottom:32px}.profile-section .profile-section{margin-top:24px;padding-top:24px;margin-bottom:0}.profile-section h2{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--user-text)}.profile-section .profile-success,.profile-section .profile-error{max-width:66%}.profile-tabs{display:flex;gap:20px;border-bottom:1px solid var(--border);margin-bottom:20px}.profile-tabs [role=tab]{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 2px 10px;font-size:14px;font-weight:500;font-family:inherit;text-decoration:none;color:var(--dim-text);cursor:pointer}.profile-tabs [role=tab].active{color:var(--user-text);border-bottom-color:var(--accent)}.profile-tabs+.profile-section{border-top:none;padding-top:0}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-form>.login-label{max-width:66%}.profile-note{margin:0;font-size:13px;line-height:20px;color:var(--dim-text)}.profile-empty{color:var(--dim-text);font-size:14px}.profile-error{background:color-mix(in srgb,var(--danger) 10%,var(--page-bg));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger);border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:16px}.profile-success{background:color-mix(in srgb,var(--accent) 8%,var(--page-bg));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--page-text);border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:16px}.profile-button{border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer}.profile-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,var(--user-text))}.profile-button:disabled{opacity:.55;cursor:default}.profile-button-danger{background:transparent;border-color:var(--border);color:var(--danger)}.profile-button-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,var(--page-bg))}.profile-button-inline{font-size:12px;padding:3px 10px;border-radius:6px;margin-left:4px;text-decoration:none;vertical-align:baseline}.profile-button-quiet{background:transparent;border-color:var(--border);color:var(--page-text)}.profile-button-quiet:hover:not(:disabled){background:var(--panel-bg)}.profile-form-actions{display:flex;gap:8px;margin-top:4px}.profile-checkbox-label{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13px;color:var(--dim-text);cursor:pointer}.profile-checkbox-label input[type=checkbox]{margin:0;padding:0;border:0;border-radius:0;width:16px;height:16px;flex:none;accent-color:var(--accent);cursor:pointer}.profile-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.profile-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.profile-table th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--dim-text);background:var(--panel-bg);padding:10px 14px;white-space:nowrap}.profile-table td{padding:12px 14px;border-top:1px solid var(--border);vertical-align:middle;white-space:nowrap}.profile-actions{display:flex;gap:6px;justify-content:flex-end}.profile-actions .profile-button{padding:5px 12px;font-size:13px}.profile-status{display:inline-block;font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);color:var(--dim-text)}.profile-status.active{color:#1a7f37;border-color:color-mix(in srgb,#1a7f37 35%,var(--border));background:color-mix(in srgb,#1a7f37 8%,var(--page-bg))}.profile-status.revoked{color:var(--dim-text)}.usage-cells{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;align-items:center;margin-bottom:20px}.usage-cell{min-width:0}.usage-plan{margin:0 0 4px;font-size:18px;line-height:24px;font-weight:600;color:var(--page-text)}.usage-bar-caption{margin:0;font-size:16px;line-height:24px;color:var(--page-text)}.usage-lag{margin:12px 0 0;font-size:13px;line-height:1.4;color:var(--dim-text)}.usage-resets{margin:0;font-size:14px;line-height:20px;color:var(--dim-text)}.usage-bar-row{display:flex;align-items:center;gap:10px}.usage-bar-row .usage-bar{flex:0 1 50%;max-width:none;margin-bottom:0}.usage-bar-percent{flex:0 0 auto;font-size:11px;line-height:12px;color:var(--dim-text);white-space:nowrap}.usage-bar{max-width:66%;height:10px;background:color-mix(in srgb,var(--accent) 15%,var(--ground));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--ground));border-radius:5px;overflow:hidden;margin-bottom:20px}.usage-bar-fill{height:100%;background:var(--accent);border-radius:5px;transition:width .3s ease}.usage-bar-fill.warn{background:var(--warn)}.usage-bar-fill.danger{background:var(--danger)}.usage-figures{display:flex;gap:48px;margin-bottom:16px}.usage-figure{display:flex;flex-direction:column;gap:4px}.membership-line{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.membership-when{margin:0 0 .75rem;font-size:14px;color:var(--dim-text)}.membership-when:first-letter{text-transform:uppercase}.membership-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 .5rem}.membership-actions .profile-button{font-size:13px;font-weight:500}.credit-list{list-style:none;margin:0;padding:0}.credit-row{display:flex;flex-wrap:wrap;gap:.25rem 1rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:14px}.credit-row:last-child{border-bottom:none}.credit-kind{font-weight:500;min-width:7rem}.credit-expiry{color:var(--text-muted, #666)}.usage-figure-label{font-size:13px;color:var(--dim-text)}.usage-figure-value{font-size:24px;font-weight:600;color:var(--user-text)}@media(max-width:768px){.account-dialog-dim{padding:0}.account-dialog{width:100%;height:100%;max-height:100%;border:none;border-radius:0}.account-dialog-header{padding-top:calc(16px + env(safe-area-inset-top))}.account-dialog-body{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.membership-actions,.buy-credits-actions{flex-direction:column;align-items:stretch}.profile-form>.login-label,.profile-section .profile-success,.profile-section .profile-error,.usage-bar{max-width:none}.usage-cells{grid-template-columns:minmax(0,1fr);gap:12px}}.profile-support{margin:auto 0 0;padding-top:1.5rem;font-size:14px;color:var(--dim-text);text-align:center}.edit-session-top{border-top:none;padding-top:0}.edit-session-confirm{display:flex;flex-wrap:wrap;gap:10px}.share-link-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.share-link{flex:1;min-width:14rem;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--ground);color:var(--text);font-family:var(--mono-font, ui-monospace, monospace);font-size:.85rem}.contact-page{flex:1;padding:32px 24px 48px;max-width:640px;margin:0 auto;width:100%}.contact-title{font-size:24px;margin:0 0 1rem}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-note{font-size:14px;line-height:1.6;color:var(--dim-text);margin:0}.contact-hint{font-size:12px;color:var(--dim-text);margin:-10px 0 0}.contact-page .login-label textarea{padding:9px 11px;font-size:14px;font-family:inherit;color:var(--page-text);background:var(--ground);border:1px solid var(--border);border-radius:8px;outline:none;resize:vertical}@media(pointer:coarse){.contact-page .login-label textarea{font-size:16px}}.contact-page .login-label textarea:focus{border-color:var(--accent)}.contact-count{margin-top:-10px;font-size:12px;color:var(--dim-text);text-align:right}.upgrade-page{min-height:100dvh;background:var(--panel-bg);padding:32px 24px 64px;display:flex;flex-direction:column;align-items:center;gap:16px}.upgrade-back{position:absolute;top:20px;left:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--ground);color:var(--page-text);cursor:pointer}.upgrade-back:hover{border-color:var(--accent);color:var(--accent)}.upgrade-back svg{width:18px;height:18px}.upgrade-title{margin:24px 0 0;font-size:30px;font-weight:700;text-align:center;color:var(--user-text)}.upgrade-subtitle,.upgrade-note,.upgrade-pending{margin:0;font-size:14px;color:var(--dim-text);text-align:center}.upgrade-promo{margin:0;font-size:14px;font-weight:600;color:var(--accent);text-align:center}.upgrade-cadence{display:inline-flex;gap:4px;padding:4px;margin:8px 0 16px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--panel-bg))}.upgrade-cadence button{border:none;background:transparent;color:var(--dim-text);font-size:14px;font-weight:500;padding:8px 20px;border-radius:999px;cursor:pointer}.upgrade-cadence button.is-on{background:var(--ground);color:var(--user-text);font-weight:600}.upgrade-save{color:var(--accent);font-weight:600}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,360px));grid-auto-rows:auto;justify-content:center;gap:24px;width:100%;max-width:1128px}.upgrade-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:16px;padding:32px;background:var(--ground);border:1px solid var(--border);border-radius:20px}.upgrade-said{display:flex;flex-direction:column;gap:6px}.upgrade-said p{margin:0}.upgrade-usage{font-size:14px;line-height:1.4;color:var(--page-text)}.upgrade-act{align-self:end}.upgrade-card-head h2{margin:0;font-size:22px;font-weight:700;color:var(--user-text)}.upgrade-card-head p{margin:4px 0 0;font-size:14px;color:var(--dim-text)}.upgrade-price{display:flex;align-items:baseline;gap:10px}.upgrade-amount{font-size:40px;font-weight:700;line-height:1.1;color:var(--user-text)}.upgrade-was{font-size:20px;font-weight:600;line-height:1.1;color:var(--dim-text);text-decoration:line-through}.upgrade-per{font-size:12px;line-height:1.35;color:var(--dim-text)}.upgrade-choose{width:100%;padding:14px 16px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:var(--ground);font-size:15px;font-weight:600;cursor:pointer}.upgrade-choose:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,var(--user-text))}.upgrade-choose.is-down{border-color:var(--step-down);background:var(--step-down)}.upgrade-choose.is-down:hover:not(:disabled){background:color-mix(in srgb,var(--step-down) 85%,var(--user-text))}.upgrade-choose:disabled{opacity:.55;cursor:default}.upgrade-kept{font-size:14px;line-height:1.4;color:var(--accent)}.cancel-confirm{display:flex;flex-direction:column;gap:8px}.cancel-confirm p{margin:0;font-size:14px;font-weight:600;text-align:center;color:var(--user-text)}.upgrade-card-note{margin:0;font-size:13px;line-height:1.35;text-align:center;color:var(--dim-text)}.upgrade-footnote{max-width:640px;margin:8px 0 0;font-size:13px;line-height:1.5;text-align:center;color:var(--dim-text)}@media(max-width:720px){.upgrade-page{padding:64px 16px 48px;height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain}.upgrade-title{font-size:24px}.upgrade-grid{grid-template-columns:minmax(0,1fr)}.upgrade-card{padding:24px}}
