.membership-dialog{width:min(36rem,calc(100vw - 2rem));max-height:85vh;border:1px solid var(--border,#ddd);border-radius:16px;padding:1.5rem;color:inherit;background:var(--surface,#fff);overflow:auto}.membership-dialog::backdrop{background:#00000059}.membership-dialog header,.membership-dialog dl>div,.membership-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.membership-dialog header h2{margin:0}.membership-dialog header button{font-size:1.5rem;background:none;border:0;color:inherit;cursor:pointer}.membership-dialog fieldset{border:0;padding:0}.membership-dialog fieldset label{display:block;padding:.5rem 0}.membership-dialog input{margin-right:.5rem}.membership-dialog dl{padding:1rem 0}.membership-dialog dd{margin:.4rem 0;font-variant-numeric:tabular-nums}.membership-dialog footer{justify-content:flex-end;flex-wrap:wrap;margin-top:1.5rem}.portal-shell.todo-subscribe-page{display:block}.todo-subscribe-header{min-height:88px;max-width:1120px;margin:auto;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--border)}.todo-subscribe-brand{display:flex;align-items:center;gap:12px;color:var(--fg);font-size:18px;font-weight:650;text-decoration:none}.todo-subscribe-brand img{width:38px;height:38px;object-fit:contain}.todo-subscribe-tools{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0}.todo-subscribe-account{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;text-decoration:none}.todo-subscribe-content{max-width:920px;margin:auto;padding:48px 32px 72px}.todo-subscribe-intro{margin-bottom:36px;text-align:center}.todo-subscribe-intro img{width:88px;height:88px;object-fit:contain}.todo-subscribe-intro h1{margin:16px 0 10px;font-size:clamp(30px,5vw,42px);letter-spacing:-.04em}.todo-subscribe-intro p{color:var(--muted);line-height:1.6}.todo-subscribe-page .plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.todo-subscribe-page .plan{padding:28px;background:var(--bg)}.todo-subscribe-page .plan-price strong{font-size:30px}.todo-subscribe-page .plan-actions{margin-top:auto}@media(max-width:620px){.todo-subscribe-header{padding:16px;gap:16px;flex-wrap:wrap}.todo-subscribe-brand{gap:8px;font-size:15px}.todo-subscribe-tools{gap:12px;flex-basis:100%;justify-content:space-between}.todo-subscribe-content{padding:32px 16px 48px}.todo-subscribe-page .plans{grid-template-columns:1fr}.todo-subscribe-page .plan{padding:22px}}#support-tickets{scroll-margin-top:96px}.ticket-fields{border:0;padding:0;margin:0;min-width:0}.ticket-fields:disabled{opacity:.7}.ticket-image-picker{min-width:0}.ticket-upload-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.ticket-upload-zone{position:relative;display:flex;align-items:center;flex:none;gap:6px;min-height:36px;padding:7px 10px;border:1px solid var(--eos-line);border-radius:var(--eos-control-radius);background:#fff;transition:border-color .15s ease,background-color .15s ease}.ticket-upload-zone:hover{border-color:var(--eos-muted);background:#efede8}.ticket-upload-zone:focus-within{outline:2px solid var(--eos-ink);outline-offset:3px}.ticket-upload-zone:has(input:disabled){opacity:.6;background:var(--eos-paper)}#support-tickets .ticket-file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}#support-tickets .ticket-file-input:disabled{cursor:default}.ticket-upload-icon{flex:none;color:var(--eos-muted)}.ticket-upload-copy{font-size:13px;color:var(--eos-ink)}.ticket-upload-formats{font-size:12px;color:var(--eos-muted);line-height:1.5;text-wrap:pretty}.ticket-upload-count{margin-left:auto;flex:none;font-size:12px;color:var(--eos-muted)}.ticket-image-picker>p{margin:8px 0;line-height:1.6}.ticket-images{display:flex;flex-wrap:wrap;gap:12px;min-width:0}.ticket-images:empty{display:none}.ticket-image{display:grid;gap:6px;width:96px;min-width:0}.ticket-image img,.ticket-attachment img{width:96px;height:80px;object-fit:cover;border-radius:var(--eos-control-radius);border:1px solid var(--line)}.ticket-image>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#support-tickets .ticket-image button{padding:5px 8px;font-size:12px}.ticket-attachment{display:block;max-width:100%;overflow-wrap:anywhere}.ticket-attachment:focus-visible{outline:2px solid currentColor;outline-offset:4px}.ticket-reply .ticket-images{margin-top:12px}.support-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;align-items:start}.support-alert{margin:0;grid-column:1 / -1}.support-create .card-desc{max-width:46ch;line-height:1.7}.support-threads .tickets{margin:0}.support-empty{padding-block:2px}.support-empty p{margin:0}.support-empty p+p{margin-top:6px}.support-empty-title{font-size:14px}@media(max-width:920px){.support-layout{grid-template-columns:minmax(0,1fr)}}.support-layout-empty{grid-template-columns:minmax(0,1fr);max-width:820px}#support-tickets .ticket-field input,#support-tickets .ticket-field select,#support-tickets .ticket-field textarea{width:100%}.security-layout{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1160px}.security-layout .card{margin:0;min-width:0}.security-layout .security-identity{display:block;padding:28px}.security-identity .profile-avatar-block{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:20px;padding:0;margin:0;border:0}.security-identity .profile-avatar-info{max-width:280px;justify-content:flex-end}.security-identity .profile-avatar-info>.setting-label{display:none}.security-identity .profile-avatar-info>.small{text-align:right}.security-layout .security-who{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;text-align:left;overflow-wrap:anywhere}.security-who strong{font-size:19px;font-weight:650;line-height:1.4;letter-spacing:-.02em}.security-who span{font-size:14px;color:var(--muted)}.security-layout .security-settings{padding:0 28px;gap:0}.security-settings>h2{margin:0;padding:24px 0 20px;font-size:18px}.security-setting{padding:24px 0;border-top:1px solid var(--border);min-width:0}.security-setting .setting-block,.security-layout .security-oauth{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:8px 24px;align-items:start;margin:0}.security-setting .setting-block{border:0;padding:0}.security-setting .setting-label{grid-column:1;grid-row:1;padding-top:7px;font-size:14px;font-weight:600;color:var(--fg);text-transform:none;letter-spacing:0}.security-setting .setting-value,.security-setting .setting-hint{grid-column:2;margin:0;overflow-wrap:anywhere}.security-setting .setting-value{grid-row:1;padding-top:7px}.security-setting .setting-hint{font-size:13px;line-height:1.6}.security-setting .setting-label+.setting-hint{grid-row:1;padding-top:7px}.security-setting .setting-actions{grid-column:3;grid-row:1 / span 2;justify-content:flex-end}.security-setting .setting-block[data-editing=true]>input,.security-setting .setting-block[data-editing=true]>.row,.security-setting .setting-block[data-editing=true]>.setting-actions{grid-column:2 / -1;grid-row:auto;max-width:560px;justify-content:flex-start}.security-setting .setting-block>.notice,.security-setting .setting-block>.error{grid-column:2 / -1;margin:0}.security-provider-list{grid-column:2 / -1;display:flex;flex-direction:column;gap:12px;min-width:0}.security-layout .binding-row{background:transparent;border:0;padding:0;min-width:0;gap:12px}.security-layout .binding-status{color:#25705c;margin-left:auto}.security-layout .binding-name{flex:0 1 auto;overflow-wrap:anywhere}.security-layout .add-providers{gap:12px}.security-layout .add-provider{min-height:36px}.security-layout .security-danger{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;background:transparent;border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}.security-danger h2{margin:0 0 6px;font-size:16px;color:var(--danger)}.security-danger .setting-hint{max-width:68ch;line-height:1.6}.security-danger .setting-actions{flex-shrink:0}.security-layout button.ghost.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}@media(max-width:1100px){.security-setting .setting-block,.security-layout .security-oauth{grid-template-columns:120px minmax(0,1fr) auto;gap:8px 16px}}@media(max-width:640px){.security-layout{gap:16px}.security-layout .security-identity{padding:20px}.security-identity .profile-avatar-block{grid-template-columns:52px minmax(0,1fr);gap:16px}.security-identity .profile-avatar-image{width:52px;height:52px}.security-identity .profile-avatar-info{grid-column:1 / -1;justify-content:flex-start;max-width:none}.security-identity .profile-avatar-info>.small{flex-basis:auto;text-align:left}.security-who strong{font-size:17px}.security-layout .security-settings{padding:0 20px}.security-settings>h2{padding:20px 0}.security-setting{padding:20px 0}.security-setting .setting-block,.security-layout .security-oauth{grid-template-columns:minmax(0,1fr);gap:10px}.security-setting .setting-label,.security-setting .setting-value,.security-setting .setting-hint,.security-setting .setting-actions,.security-setting .setting-block[data-editing=true]>input,.security-setting .setting-block[data-editing=true]>.row,.security-setting .setting-block[data-editing=true]>.setting-actions,.security-setting .setting-block>.notice,.security-setting .setting-block>.error,.security-provider-list{grid-column:1;grid-row:auto;padding-top:0}.security-setting .setting-label+.setting-hint{grid-row:auto;padding-top:0}.security-setting .setting-actions{justify-content:flex-start}.security-layout .binding-row{flex-wrap:wrap}.security-layout .security-danger{flex-direction:column;align-items:flex-start;padding:20px;gap:16px}}.shell-nav .shell-nav-foot{width:100%;gap:16px}.shell-nav-tools{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;padding:0 10px}.shell-nav-tools .locale-switch{display:block;flex:none;width:100%;min-width:0}.shell-nav-tools .locale-select{width:100%;min-width:0;min-height:36px}.shell-nav .shell-nav-tools>a{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:4px 2px;font-size:13px;line-height:1.5}.shell-nav-tools>a .auth-arrow{flex:none;width:14px;height:14px;transform:rotate(-45deg)}.account-menu{position:relative;width:100%;min-width:0;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.shell-nav-foot .account-menu .account-menu-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:var(--eos-control-radius);background:transparent;color:var(--eos-paper);text-align:left;text-decoration:none;cursor:pointer}.shell-nav-foot .account-menu .account-menu-trigger:hover,.shell-nav-foot .account-menu .account-menu-trigger[aria-expanded=true]{background:#ffffff14}.account-menu-trigger:focus-visible{outline:2px solid var(--eos-paper);outline-offset:2px}.account-menu-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;background:#e9e1d3;color:#423b30;font-size:14px;font-weight:650}.account-menu-avatar img{display:block;width:100%;height:100%;object-fit:cover}.account-menu-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:550}.account-menu-chevron{flex:0 0 16px;width:16px;height:16px;color:#f5f4f1a6}.account-menu-trigger[aria-expanded=true] .account-menu-chevron{transform:rotate(180deg)}.account-menu-panel{position:absolute;z-index:30;bottom:calc(100% + 8px);left:0;width:100%;min-width:220px;padding:6px;border:1px solid var(--eos-line);border-radius:var(--eos-card-radius);background:#fff;color:var(--eos-ink);box-shadow:0 8px 28px #00000024}.account-menu-identity{display:flex;flex-direction:column;gap:5px;padding:10px 10px 14px;margin-bottom:6px;border-bottom:1px solid var(--eos-line);overflow-wrap:anywhere}.account-menu-identity strong{font-size:14px;font-weight:600}.account-menu-identity span{font-size:12px;color:var(--eos-muted);line-height:1.5}.shell-nav-foot .account-menu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:6px;background:transparent;color:var(--eos-ink);font-size:13px;text-decoration:none;text-align:left;line-height:1.5;cursor:pointer}.account-menu [role=menuitem] svg{width:17px;height:17px;flex:0 0 17px}.shell-nav-foot .account-menu [role=menuitem]:hover,.shell-nav-foot .account-menu [role=menuitem]:focus{outline:none;color:var(--eos-ink);background:var(--eos-paper)}.shell-nav-foot .account-menu .account-menu-logout{color:#9a3b32}.shell-nav-foot .account-menu .account-menu-logout:hover,.shell-nav-foot .account-menu .account-menu-logout:focus{color:#9a3b32;background:#faf0ee}@media(max-width:860px){.shell-nav .shell-nav-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}.shell-nav-tools{gap:8px;padding:0}.account-menu{padding:0;border:0}.account-menu-chevron{transform:rotate(180deg)}.account-menu-trigger[aria-expanded=true] .account-menu-chevron{transform:none}.account-menu-panel{top:calc(100% + 8px);bottom:auto;left:auto;right:0;width:280px;max-width:calc(100vw - 32px)}}:root{--eos-paper: #f7f6f3;--eos-ink: #1c1915;--eos-muted: #746e64;--eos-line: #e3dfd6;--eos-accent: #b64b2a;--eos-night: #211e1a;--eos-control-radius: 8px;--eos-card-radius: 10px;--eos-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Segoe UI", sans-serif;--eos-font-display: "Iowan Old Style", Palatino, "Palatino Linotype", "Songti SC", "Noto Serif SC", "Source Han Serif SC", "Hiragino Mincho ProN", serif}:root{color-scheme:light dark;--fg: #171a1f;--muted: #6b7280;--card: #ffffff;--bg: #eef1f5;--bg-glow: #e4eaf2;--accent: #2563eb;--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--border: #e5e7eb;--surface-2: rgba(23, 26, 31, .04);--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06)}@media(prefers-color-scheme:dark){:root{--fg: #e8eaed;--muted: #9aa3af;--card: #1a1f27;--bg: #0f1318;--bg-glow: #151b24;--accent: #60a5fa;--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--border: #2a313c;--surface-2: rgba(255, 255, 255, .06);--shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 10px 28px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;font-family:var(--eos-font-sans);background:radial-gradient(1400px 640px at 12% -10%,var(--bg-glow),transparent 55%),radial-gradient(1000px 480px at 88% 0%,color-mix(in srgb,var(--bg-glow) 70%,transparent),transparent 50%),var(--bg);color:var(--fg);min-height:100vh;-webkit-font-smoothing:antialiased}.portal{max-width:600px;margin:0 auto;padding:28px 16px 64px;display:flex;flex-direction:column;gap:18px}.portal-home{min-height:100vh;display:flex;flex-direction:column}.portal-topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.portal-topbar-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;min-height:64px;display:flex;align-items:center;gap:16px}.portal-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.portal-topbar .locale-switch{margin-left:0;margin-right:8px}.portal-topbar .link{text-decoration:none;color:var(--muted);font-size:13px;padding:8px 12px;border-radius:var(--eos-control-radius);white-space:nowrap}.portal-topbar .link:hover{color:var(--fg);background:var(--surface-2)}.portal-body{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:28px 0 72px;display:flex;flex-direction:column;gap:20px;flex:1}.portal-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 2px 2px}.portal-intro-title{margin:0;font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.15}.portal-intro-desc{margin:6px 0 0;font-size:14px}.portal-intro-chip{display:inline-flex;align-items:center;gap:10px;max-width:min(360px,100%);padding:8px 12px 8px 8px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--card) 80%,transparent);box-shadow:var(--shadow)}.portal-intro-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--fg);color:var(--card);font-size:12px;font-weight:650;flex-shrink:0}.portal-intro-chip-text{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.portal-topbar-inner,.portal-body{width:calc(100% - 28px)}.portal-topbar-inner{align-items:flex-start;flex-wrap:wrap;row-gap:4px;padding:10px 0}.portal-topbar-actions{flex-wrap:wrap;justify-content:flex-end}.portal-intro{flex-direction:column;align-items:flex-start}.portal-intro-chip{max-width:100%}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--eos-card-radius);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.login-card{margin-top:12vh}.brand{font-size:24px;font-weight:700;letter-spacing:.04em;margin:0}.portal-header-brand{display:flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none}.portal-header-logo{width:34px;height:34px;border-radius:9px;flex-shrink:0}.portal-header-titles{display:flex;flex-direction:column;gap:1px;min-width:0}.portal-header-name{font-size:15px;font-weight:650;letter-spacing:.02em;line-height:1.2}.portal-header-email{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:8px;align-items:center}.row input{flex:1}input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--eos-control-radius);background:transparent;color:var(--fg);font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}button{padding:10px 16px;border:none;border-radius:var(--eos-control-radius);background:var(--accent);color:#fff;font-size:15px;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;border:1px solid var(--border);color:var(--fg);font-size:13px;padding:8px 14px;font-weight:500}button.ghost:hover:not(:disabled){background:var(--surface-2)}button.ghost.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:var(--danger-soft)}button.ghost.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 14%,transparent)}button.link{background:none;color:var(--accent);padding:4px 8px;font-size:13px;text-decoration:none;border:none;width:fit-content}button.link:hover{text-decoration:underline}.card-head{display:flex;flex-direction:column;gap:4px;padding-bottom:2px}.card-head h2,.card-desc{margin:0}.setting-block{display:flex;flex-direction:column;gap:10px;padding:14px 0 0;border-top:1px solid var(--border)}.card-head+.setting-block,.alert-banner+.setting-block{border-top:none;padding-top:0}.setting-pair{display:grid;grid-template-columns:1fr;gap:0}.setting-pair .setting-block{min-width:0}@media(min-width:720px){.setting-pair{grid-template-columns:1fr 1fr;gap:0 20px;padding-top:14px;border-top:1px solid var(--border)}.setting-pair .setting-block{border-top:none;padding-top:0}}.setting-label{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.setting-value{margin:0;font-size:14px;line-height:1.45}.setting-hint{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}.setting-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.setting-block.danger-zone{margin-top:4px;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border));border-radius:var(--eos-card-radius);background:var(--danger-soft)}.setting-block.danger-zone .setting-label{color:var(--danger);text-transform:none;letter-spacing:0;font-size:13px}.binding-list{display:flex;flex-direction:column;gap:8px}.binding-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--eos-card-radius);background:var(--surface-2)}.binding-row .provider-btn-mark{width:22px;height:22px}.binding-name{flex:1;font-size:14px;font-weight:550}.binding-status{font-size:12px;color:var(--muted);margin-right:4px}.add-providers{display:flex;flex-wrap:wrap;gap:8px}.add-provider{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px dashed var(--border);border-radius:var(--eos-control-radius);color:var(--fg);text-decoration:none;font-size:13px;font-weight:500;background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.add-provider:hover:not(:disabled){background:var(--surface-2);border-style:solid}button.add-provider{font:inherit}.add-provider .provider-btn-mark{width:18px;height:18px}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 16px;border-radius:var(--eos-card-radius);background:var(--surface-2);border:1px dashed var(--border)}.empty-state p{margin:0}.empty-state-title{font-size:14px;font-weight:550}.empty-state-desc{font-size:13px;color:var(--muted);line-height:1.45}.entitlements,.devices,.orders,.tickets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.entitlements li{padding:12px 14px;border:1px solid var(--border);border-radius:var(--eos-control-radius);background:var(--surface-2)}.entitlement-row,.sub-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.entitlement-main{display:flex;flex-direction:column;gap:2px;min-width:0}.sub-row .ghost{flex-shrink:0;white-space:nowrap}.devices li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--eos-control-radius);background:var(--surface-2)}.subs-detail summary{cursor:pointer}.orders li,.tickets li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--eos-control-radius);background:var(--surface-2)}.order-main{min-width:0}.order-name{font-weight:550}.order-id{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-meta{text-align:right;flex-shrink:0}.order-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px}.order-actions>button{min-height:40px;padding:9px 16px;border:1px solid transparent;font:inherit;font-size:14px;font-weight:550;line-height:20px;white-space:nowrap}@media(max-width:600px){.orders li{flex-direction:column;align-items:stretch;gap:10px}.order-meta{text-align:left;min-width:0;flex-shrink:1}.order-actions{justify-content:flex-start}}.order-amount{font-weight:650;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.error{color:var(--danger);font-size:14px;margin:0}.notice{margin:0;padding:10px 12px;border-radius:var(--eos-control-radius);background:var(--surface-2);font-size:13px;color:var(--muted)}.alert-banner{margin:0;padding:12px 14px;border-radius:var(--eos-control-radius);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--danger);font-size:13px;line-height:1.45}.footer-hint{text-align:center;padding-top:4px}h2{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.plan{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border);border-radius:var(--eos-card-radius);background:var(--surface-2)}.plan-name{font-weight:600}.plan-price strong{font-size:1.4em;letter-spacing:-.02em}.plan-features{margin:0;padding-left:18px;flex:1}.plan .primary-btn{margin-top:auto}.gumroad-notes{display:flex;flex-direction:column;gap:6px;max-width:62ch}.gumroad-notes p{margin:0}.gumroad-claim,.gumroad-claim-entry{max-width:640px}.gumroad-steps{margin:0;padding:0 0 0 1.25em;display:flex;flex-direction:column;gap:8px;max-width:62ch;line-height:1.55}.gumroad-receipt-note,.gumroad-sale-hint{margin:0;line-height:1.55}.gumroad-claim .card-desc,.gumroad-claim-entry .card-desc{max-width:62ch;line-height:1.55}.gumroad-notes a.link,.gumroad-claim a.link{color:var(--accent);font-size:13px;width:fit-content;text-decoration:none}.gumroad-notes a.link:hover,.gumroad-claim a.link:hover{text-decoration:underline}a.gumroad-paid-link{display:inline-flex;width:fit-content;color:var(--fg);font-size:15px;font-weight:650;line-height:1.45;text-decoration:underline;text-underline-offset:3px}a.gumroad-entry-btn{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:10px 16px;background:var(--fg);color:var(--card);border-radius:var(--eos-control-radius);font-size:15px;font-weight:550;line-height:1.2;text-decoration:none}a.gumroad-entry-btn:hover,a.gumroad-paid-link:hover{opacity:.88}.portal-topbar a.gumroad-nav{color:var(--fg);font-weight:650}.portal-home .gumroad-claim .card-desc,.portal-home .gumroad-claim-entry .card-desc{display:block;max-width:62ch;line-height:1.55}.eos-paper .gumroad-notes a.link,.eos-paper .gumroad-claim a.link,.eos-paper a.gumroad-paid-link{color:#1c1915;text-decoration:underline;text-underline-offset:3px}.eos-paper a.gumroad-entry-btn{background:#1c1915;color:#f7f6f3;border-radius:var(--eos-control-radius);opacity:1}.eos-paper a.gumroad-entry-btn:hover{opacity:.88}.portal-flow{max-width:420px;min-height:100vh;justify-content:flex-start;padding-top:10vh}.flow-switch{display:flex;justify-content:center;gap:4px;padding-top:10px;border-top:1px solid var(--border)}.flow-switch .link{text-decoration:none;color:var(--muted);border-radius:var(--eos-control-radius);padding:6px 10px}.flow-switch .link:hover{color:var(--fg);background:var(--surface-2, rgba(127, 127, 127, .12))}.flow-switch .link.active{color:var(--fg);font-weight:600;background:var(--surface-2, rgba(127, 127, 127, .12))}.flow-page{width:100%}.flow-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-bottom:4px}.flow-brand-id{display:flex;align-items:center;gap:10px;min-width:0}.flow-brand .locale-switch{position:static;flex:none}.locale-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--fg);border-radius:var(--eos-control-radius);padding:6px 28px 6px 10px;font-size:13px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b7280' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.locale-select:hover{border-color:color-mix(in srgb,var(--fg) 25%,var(--border))}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flow-brand-logo{width:34px;height:34px;border-radius:8px;-webkit-user-select:none;user-select:none}.flow-brand-name{font-size:16px;font-weight:600;letter-spacing:.02em}.flow-card{padding:28px 26px;gap:12px;border-radius:var(--eos-card-radius);box-shadow:0 10px 40px #10182812}.flow-product{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--border)}.flow-product-text{min-width:0}.flow-title{margin:0;font-size:18px;font-weight:650;line-height:1.3}.flow-series{margin:2px 0 0}.provider-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--eos-control-radius);color:var(--fg);font-size:15px;font-weight:500;transition:box-shadow .15s ease,background .15s ease}.provider-btn:hover:not(:disabled){background:var(--bg);box-shadow:0 1px 4px #1018281a}.provider-btn:disabled{cursor:default;pointer-events:none}.provider-btn:disabled:not([aria-busy=true]){opacity:.55}.provider-btn-mark{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.flow-session-avatar{border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:600}.flow-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:4px 0}.flow-divider:before,.flow-divider:after{content:"";flex:1;height:1px;background:var(--border)}.primary-btn{background:var(--fg);color:var(--card);font-weight:550}.primary-btn:hover:not(:disabled){opacity:.88}.flow-code-hint{margin:0}.flow-password summary{cursor:pointer;list-style-position:inside}.flow-password[open] summary{margin-bottom:10px}.flow-return-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:11px 16px;background:var(--fg);color:var(--card);border-radius:var(--eos-control-radius);text-decoration:none;font-size:15px;font-weight:550}.flow-return-btn:hover{opacity:.88}.flow-success{align-items:center;text-align:center;gap:10px;padding:36px 28px}.flow-success-badge{width:44px;height:44px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;margin-top:-2px}.flow-failure{gap:10px;padding:32px 28px}.flow-failure .flow-title{margin-bottom:2px}.flow-failure .error{font-size:15px}.flow-foot{text-align:center;margin-top:18px;letter-spacing:.02em}.flow-success-icon{width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;font-size:32px;line-height:56px;text-align:center}.flow-success h1{font-size:20px;margin:4px 0 0}.flow-password form{margin-top:10px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.dialog{background:var(--card);border:1px solid var(--border);border-radius:var(--eos-card-radius);padding:24px;width:100%;max-width:430px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px #0006}.dialog h3{margin:0;font-size:18px}.dialog input{width:100%}.typed-mismatch{border-color:var(--danger)}.deletion-assets{border:1px solid var(--border);border-radius:var(--eos-card-radius);padding:12px;display:flex;flex-direction:column;gap:8px}.deletion-asset-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.deletion-note{margin:0}body:has(.eos-paper){background:#f7f6f3;color:#1c1915}.eos-paper{--fg: #1c1915;--muted: #7a7368;--card: #ffffff;--bg: #f6f4ef;--bg-glow: transparent;--border: #d9d3c7;--accent: #1c1915;--surface-2: rgba(28, 25, 21, .045);--shadow: 0 1px 2px rgba(28, 25, 21, .05), 0 10px 26px rgba(28, 25, 21, .07);--danger: #9a3b32;--danger-soft: transparent;--serif: "Iowan Old Style", Palatino, "Palatino Linotype", "Songti SC", "Noto Serif SC", "Source Han Serif SC", serif;background:#f7f6f3;color:#1c1915}.eos-paper .portal-header-name,.eos-paper .portal-intro-title,.eos-paper .flow-title,.eos-paper .flow-brand-name,.eos-paper h2{font-family:var(--serif);font-weight:500;letter-spacing:-.03em}.eos-paper .primary-btn,.eos-paper .flow-return-btn,.eos-paper button:not(.ghost):not(.link):not(.add-provider):not(.provider-btn){background:#1c1915;color:#f7f6f3;border-radius:var(--eos-control-radius)}.eos-paper input,.eos-paper .locale-select,.eos-paper .plan,.eos-paper .dialog,.eos-paper .provider-btn,.eos-paper #support-tickets select,.eos-paper #support-tickets textarea{border-radius:var(--eos-control-radius)}.eos-paper .locale-select{background-color:transparent;border:1px solid #e7e4de;color:#1c1915}.eos-paper .provider-btn{background:transparent;border:1px solid #e7e4de;box-shadow:none;color:#1c1915}.eos-paper .provider-btn:hover:not(:disabled){background:transparent;box-shadow:none;border-color:#1c1915}.eos-paper .flow-card{background:transparent;border:none;border-radius:0;box-shadow:none;padding:12px 0 0}.eos-paper .flow-title{font-size:clamp(32px,4vw,40px);line-height:1.05}.eos-paper .flow-product{align-items:flex-end;border-bottom:none;padding-bottom:4px}.eos-paper .flow-product-identity .flow-title{font-size:clamp(22px,6.4vw,28px);line-height:1.2;white-space:nowrap}.eos-paper .flow-switch{justify-content:flex-start;gap:18px;border-top:none;padding-top:4px}.eos-paper .flow-switch .link,.eos-paper .flow-switch .link.active,.eos-paper .flow-switch .link:hover{background:none;border-radius:0;padding:0}.eos-paper .flow-switch .link.active{font-weight:600;text-decoration:underline;text-underline-offset:3px}.portal-home .portal-topbar{background:#f7f6f3;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #e7e4de}.portal-home .portal-intro-title{font-size:clamp(36px,4vw,48px);line-height:1}.portal-home .portal-intro-email{margin:10px 0 0;font-size:14px;color:#7a7368}.portal-home .portal-body{padding-top:40px;gap:36px}.portal-home .portal-home .card{gap:22px}.portal-home .card-desc,.portal-home .footer-hint{display:none}.portal-home #support-tickets .card-desc{display:block;max-width:68ch;line-height:1.55}.portal-home h2{font-size:22px}.portal-home .setting-label{text-transform:none;letter-spacing:0;font-size:13px;font-weight:500}.portal-home .binding-row,.portal-home .entitlements li,.portal-home .orders li,.portal-home .tickets li,.portal-home .devices li{background:transparent;border:none;border-bottom:1px solid #e7e4de;border-radius:0;padding:14px 0}.portal-home .empty-state{background:transparent;border:none;border-radius:0;padding:4px 0 0}.portal-home .setting-block{border-top-color:#e7e4de}.portal-home .setting-block.danger-zone{background:transparent;border:none;border-radius:0;padding:18px 0 0}.portal-home button.ghost,.portal-home .add-provider{background:transparent;border:none;border-radius:0;padding:0;color:#1c1915;text-decoration:underline;text-underline-offset:3px}.portal-home button.ghost.danger{background:transparent;border:none;color:#9a3b32}.portal-home .plan{background:transparent;border-color:#e7e4de}.billing-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;max-width:1160px;align-items:start}.billing-page>*{min-width:0}.billing-subscriptions,.billing-credit-summary{align-self:stretch}.billing-plans,.billing-credit-packs,.billing-purchases,.billing-orders,.billing-help{grid-column:1 / -1}.billing-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.billing-card-heading>button{flex-shrink:0}.billing-page .card-head{gap:6px}.billing-page .card-desc{line-height:1.55}.billing-page .empty-state{border:0;background:transparent;padding:4px 0}.billing-page .entitlements li{background:transparent;border:0;border-radius:0;padding:8px 0}.billing-page .sub-row{flex-wrap:wrap}.billing-page .entitlement-main{flex:1;min-width:min(220px,100%);gap:6px}.subscription-state{display:inline-block;margin-left:10px;color:#245f49;font-size:12px;font-weight:500}.credit-balance{display:flex;flex-direction:column;gap:4px;margin:4px 0}.credit-balance strong{font-size:clamp(30px,3vw,40px);font-weight:650;line-height:1.2;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.credit-expiry{margin:0;line-height:1.55}.credit-details{font-size:13px;line-height:1.6}.credit-details summary{width:fit-content;cursor:pointer;color:var(--muted)}.credit-details ul{margin:12px 0 0;padding-left:18px}.credit-details h3{margin:16px 0 6px;font-size:13px;font-weight:600}.credit-details p{margin:12px 0 0}.credit-details .credit-usage{list-style:none;padding:0}.credit-usage li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.credit-usage strong{font-variant-numeric:tabular-nums;white-space:nowrap}.billing-page .plans{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}.billing-credit-packs .plan{background:var(--eos-paper);gap:12px;padding:20px}.billing-credit-packs .plan p{margin:0;line-height:1.5}.billing-credit-packs .plan .primary-btn{margin-top:4px}.billing-help{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding:0 4px;font-size:13px;color:var(--muted)}.billing-help summary{cursor:pointer}.billing-help p{max-width:60ch;line-height:1.6}.billing-page .billing-text-link{color:var(--eos-ink);text-underline-offset:4px}@media(max-width:1100px){.billing-page{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.billing-page{gap:16px}.billing-card-heading{flex-wrap:wrap}.billing-page .card{padding:20px}}.ticket-form{min-width:0}.ticket-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.ticket-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;font-size:13px;color:var(--muted)}.ticket-field>span{font-weight:500}#support-tickets .ticket-field input,#support-tickets select,#support-tickets textarea{width:100%;max-width:100%;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--eos-control-radius);background:transparent;color:var(--fg);font:inherit;font-size:15px}#support-tickets select{max-width:420px;padding-right:32px;field-sizing:fixed;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b7280' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 12px center}#support-tickets select:focus,#support-tickets textarea:focus,#support-tickets .ticket-field input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}#support-tickets textarea{resize:vertical;line-height:1.5}@media(min-width:720px){.ticket-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px}.ticket-field-wide{grid-column:1 / -1}}#support-tickets button.ticket-primary,#support-tickets button.ghost{width:fit-content;align-self:flex-start}.ticket-section-title{margin:0;font-size:15px;font-weight:600}.eos-paper .ticket-section-title{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.02em}#support-tickets button.link.ticket-subject{display:block;width:100%;max-width:100%;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:15px;font-weight:550;color:var(--fg)}.ticket-status{display:inline-flex;align-items:center;flex-shrink:0;height:fit-content;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;line-height:1.5;white-space:nowrap}.ticket-status-open,.ticket-status-in_progress,.ticket-status-waiting_user{color:var(--fg);border-color:color-mix(in srgb,var(--fg) 28%,var(--border))}.ticket-pager{flex-wrap:wrap}.ticket-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ticket-detail-head .ticket-section-title{min-width:0}.ticket-replies{display:flex;flex-direction:column;gap:12px}.ticket-reply{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--border)}.ticket-reply p{margin:0}.ticket-reply-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.profile-avatar-block{display:flex;align-items:center;gap:18px;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line, #e5e1d9)}.profile-avatar-image{width:64px;height:64px;flex:0 0 64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--paper, #f5f3ef);color:var(--muted, #74716b)}.profile-avatar-image img{width:100%;height:100%;object-fit:cover}.profile-avatar-image svg{width:32px;height:32px}.profile-avatar-info{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.profile-avatar-info>.setting-label{margin:0}.profile-avatar-info>.small,.profile-avatar-info>.error,.profile-avatar-info>[role=status]{flex-basis:100%;font-size:12px}.portal-section{display:flex;flex-direction:column;gap:14px}.portal-section-label{margin:10px 0 0;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--muted)}.portal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start}.account-header{color-scheme:light;background:var(--eos-paper);color:var(--eos-ink);border-bottom:1px solid var(--eos-line);position:sticky;top:0;z-index:30}.account-header-inner{width:min(1100px,92%);min-height:80px;margin-inline:auto;display:flex;align-items:center;gap:20px}.account-header .flow-brand-logo{width:36px;height:36px}.account-header-label{border-left:1px solid var(--eos-line);padding-left:20px;color:var(--eos-muted);font-size:14px}.account-header-actions{margin-left:auto;display:flex;align-items:center;gap:24px}.account-header-actions>a{color:var(--eos-muted);text-decoration:none;font-size:14px}.account-header-actions>a:hover{color:var(--eos-ink);text-decoration:underline}.account-header .locale-select{height:40px;border:1px solid var(--eos-line);border-radius:var(--eos-control-radius);background-color:var(--eos-paper);color:var(--eos-ink);font-family:inherit}.auth-purchase-context{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--eos-line);border-radius:var(--eos-control-radius);background:#efede8}.auth-purchase-context span,.auth-purchase-context p{font-size:13px;color:var(--eos-muted);margin:0;line-height:1.5}.auth-purchase-context strong{font-size:15px;font-weight:600}@media(max-width:600px){.account-header-inner{width:calc(100% - 40px);flex-wrap:wrap;gap:10px 14px;padding-block:14px}.account-header-label{font-size:12px;padding-left:14px}.account-header-actions{width:100%;margin:0;justify-content:space-between;gap:12px}.account-header .locale-select{min-width:124px}}body:has(.portal-auth){background:var(--eos-paper);color:var(--eos-ink)}.portal-auth{color-scheme:light;--fg: var(--eos-ink);--muted: var(--eos-muted);--card: #ffffff;--bg: var(--eos-paper);--border: var(--eos-line);--accent: var(--eos-accent);--danger: #9a3b32;--danger-soft: rgba(154, 59, 50, .08);min-height:100vh;display:flex;flex-direction:column}.portal-auth>.alert-banner{margin:12px 16px 0}.auth-split{flex:1;min-height:calc(100svh - 81px);display:grid;grid-template-columns:minmax(340px,.92fr) minmax(420px,1.08fr)}.auth-brand{color:var(--eos-paper);background:var(--eos-night);padding:64px clamp(32px,4vw,80px);display:flex;flex-direction:column;justify-content:center;gap:32px;min-width:0}.auth-lockup{color:inherit;text-decoration:none;display:flex;align-items:center;gap:10px;min-width:0}.auth-wordmark{font-size:20px;font-weight:650;letter-spacing:.02em}.auth-kicker{margin:0;color:var(--eos-accent);font-size:12px;font-weight:650;letter-spacing:.16em}.auth-brand-copy{margin:0}.auth-brand .auth-kicker{color:#d6b195}.auth-brand-copy h1{margin:20px 0 0;font-family:var(--eos-font-display);max-width:640px;font-size:clamp(40px,4.4vw,58px);line-height:1.22;letter-spacing:0;font-weight:500;white-space:pre-line;text-wrap:balance}.auth-brand-copy h1:lang(zh){font-size:clamp(36px,3.6vw,58px);letter-spacing:.01em}.auth-lead{margin:18px 0 0;max-width:34em;color:#f5f4f1ad;font-size:15px;line-height:1.55}.auth-points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.auth-points li{display:flex;align-items:flex-start;gap:10px;color:#f5f4f1d1;font-size:14px;line-height:1.4}.auth-points li:before{content:"";width:16px;height:16px;margin-top:1px;flex:none;border-radius:50%;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4 8.2l2.4 2.4L12 5.2'/></svg>") center / 12px no-repeat,#f7f6f324}.auth-domain{margin:16px 0 0;color:#f5f4f180;font-size:11px;letter-spacing:.18em}.auth-panel{background:var(--eos-paper);display:flex;flex-direction:column;min-width:0}.auth-form{width:min(420px,calc(100% - 64px));margin:auto;padding:48px 0 24px;display:flex;flex-direction:column;gap:14px}.auth-kicker-form{letter-spacing:.12em}.auth-form h2{margin:0;font-size:clamp(32px,3vw,40px);line-height:1.2;letter-spacing:-.02em;font-weight:600}.auth-form-lead{margin:-4px 0 6px;color:var(--eos-muted);font-size:14px;line-height:1.5}.auth-oauth{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.portal-auth .provider-btn{background:#fff;border:1px solid var(--eos-line);border-radius:var(--eos-control-radius);box-shadow:none;color:var(--eos-ink)}.portal-auth .provider-btn:hover:not(:disabled){background:#fff;border-color:#cfc9be;box-shadow:0 1px 2px #1616160d}.portal-auth .auth-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#3c3934}.portal-auth .auth-input{position:relative;display:block}.portal-auth .auth-glyph{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--eos-muted);pointer-events:none}.portal-auth .auth-input input{padding-left:36px}.portal-auth input{width:100%;background:#fff;border:1px solid var(--eos-line);border-radius:var(--eos-control-radius);padding:12px 14px}.portal-auth input:focus{border-color:var(--eos-ink);box-shadow:0 0 0 3px #1616160f}.auth-hint{margin:-4px 0 0;color:var(--eos-muted);font-size:13px;line-height:1.45}.portal-auth .auth-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;min-height:46px;padding:11px 16px;border-radius:var(--eos-control-radius);background:var(--eos-ink);color:#fff;font-weight:600}.portal-auth .auth-submit:hover:not(:disabled){opacity:.9}.portal-auth .auth-secondary{width:100%;padding:12px 16px;border-radius:var(--eos-control-radius);border:1px solid var(--eos-line);background:#fff;color:var(--eos-ink);font-weight:600}.portal-auth .auth-secondary:hover:not(:disabled){border-color:var(--eos-ink);background:#fff}body:has(.portal-shell){background:var(--eos-paper);color:var(--eos-ink)}.portal-shell{color-scheme:light;--fg: var(--eos-ink);--muted: var(--eos-muted);--card: #ffffff;--bg: var(--eos-paper);--border: var(--eos-line);--accent: var(--eos-accent);--danger: #9a3b32;--danger-soft: rgba(154, 59, 50, .08);--surface-2: rgba(22, 22, 22, .04);min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.shell-nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 16px 18px;background:var(--eos-night);color:var(--eos-paper)}.shell-brand{color:inherit;text-decoration:none}.shell-links{display:flex;flex-direction:column;gap:4px}.shell-links a{color:#f5f4f1b8;text-decoration:none;border-radius:var(--eos-control-radius);padding:10px 12px;font-size:14px}.shell-links a:hover{color:#fff;background:#ffffff0f}.shell-links a[aria-current=page]{color:var(--eos-paper);background:#ffffff14;font-weight:500}.shell-nav-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.shell-nav .locale-select{background-color:transparent;color:#f5f4f1;border-color:#ffffff38}.shell-email{margin:4px 0 0;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#f5f4f18c;font-size:12px}.shell-nav-foot a,.shell-nav-foot button{background:none;color:#f5f4f1b8;padding:0;font-size:13px;text-decoration:none}.shell-nav-foot a:hover,.shell-nav-foot button:hover{color:#fff}.shell-main{min-width:0;padding:36px 40px 64px;display:flex;flex-direction:column;gap:18px}.shell-page-head h1{margin:8px 0 0;font-size:clamp(32px,4vw,44px);letter-spacing:-.04em;line-height:1.05}.shell-page-head p:last-child{margin:10px 0 0;max-width:62ch;color:var(--eos-muted);line-height:1.5}.shell-stack{display:flex;flex-direction:column;gap:16px;max-width:820px}.shell-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;max-width:980px}.shell-tile{position:relative;display:flex;flex-direction:column;gap:8px;min-height:104px;padding:18px 44px 18px 18px;border-radius:var(--eos-card-radius);background:#fff;border:1px solid var(--eos-line);color:inherit;text-decoration:none}.shell-tile:hover{border-color:var(--eos-ink)}.shell-tile strong{font-size:18px;letter-spacing:-.02em}.shell-tile span{color:var(--eos-muted);font-size:13px;line-height:1.45}.portal-shell .card{border-radius:var(--eos-card-radius);box-shadow:none}.portal-shell button:not(.link):not(.ghost):not(.provider-btn):not(.add-provider){background:var(--eos-ink);color:#fff;border-radius:var(--eos-control-radius)}.portal-shell button.ghost,.portal-shell .provider-btn,.portal-shell .add-provider{background:#fff;color:var(--eos-ink);border:1px solid var(--eos-line);border-radius:var(--eos-control-radius)}.portal-shell a.gumroad-entry-btn{background:var(--eos-ink);color:#fff;border-radius:var(--eos-control-radius)}.portal-shell input,.portal-shell select,.portal-shell textarea{border-radius:var(--eos-control-radius);background:#fff}@media(max-width:860px){.portal-shell{grid-template-columns:minmax(0,1fr)}.shell-nav{min-width:0;position:static;height:auto;gap:14px;padding:16px}.shell-links{flex-direction:row;flex-wrap:wrap;overflow:visible}.shell-links a{white-space:nowrap}.shell-nav-foot{flex-direction:row;flex-wrap:wrap;align-items:center}.shell-main{padding:24px 16px 48px}}.auth-links{display:flex;flex-direction:column;gap:8px;margin-top:6px}.auth-links p{margin:0;color:var(--eos-muted);font-size:14px}.portal-auth .auth-links .link,.portal-auth button.link.auth-quiet{color:var(--eos-accent);padding:0;font-size:inherit;text-decoration:none}.portal-auth .auth-links .link:hover,.portal-auth button.link.auth-quiet:hover{text-decoration:underline}.portal-auth .auth-links .auth-link-muted{color:var(--eos-muted)}.auth-links .auth-claim{margin-top:4px;padding-top:14px;border-top:1px solid var(--eos-line);font-size:13px;line-height:1.5}.auth-center{margin:0;padding:8px 24px 22px;text-align:center;color:var(--eos-muted);font-size:11px;letter-spacing:.16em}@media(max-width:960px){.auth-split{grid-template-columns:1fr;min-height:0}.auth-brand{min-height:0;padding:20px 20px 24px;gap:16px}.auth-points,.auth-domain{display:none}.auth-brand-copy{margin-top:0}.auth-brand-copy h1,.auth-brand-copy h1:lang(zh){max-width:none;font-size:clamp(26px,7.2vw,32px)}.auth-form{width:min(420px,calc(100% - 40px));padding-top:32px}}.provider-status{margin:12px 0;font-size:.875rem;color:var(--muted)}.loading-skeleton{display:grid;gap:16px;margin-bottom:20px}.loading-skeleton span{display:block;height:22px;width:75%;border-radius:6px;background:currentColor;opacity:.08}.loading-skeleton span:nth-child(2){width:95%}.loading-skeleton span:nth-child(3){width:55%}.redeem-form{display:grid;gap:8px;margin-top:18px}.redeem-input{display:flex;gap:12px;align-items:center}.redeem-input input{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--border, #d8dce5);border-radius:8px;background:transparent;color:inherit;font:inherit}.redeem-input button{flex-shrink:0}@media(max-width:480px){.redeem-input{align-items:stretch;flex-direction:column}}.auth-brand .locale-select,.shell-nav .locale-select{width:146px;height:40px;background-repeat:no-repeat;background-position:right 10px center;padding:6px 28px 6px 10px;border-radius:8px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23d0ccc6' d='M1 1l5 5 5-5'/></svg>")}.auth-control{display:flex;flex:1;flex-wrap:wrap;min-width:0;position:relative}.auth-control input{width:100%;min-width:0}.auth-password input{padding-right:72px}.auth-password .password-toggle{position:absolute;right:12px;top:12px;padding:2px;color:#6f6a62;font-size:12px}.auth-control .auth-field-error{flex-basis:100%;margin-top:6px;color:var(--danger);font-size:12px;font-weight:400}.auth-control input[aria-invalid=true]{border-color:var(--danger);outline:1px solid var(--danger)}.auth-input:has(input[aria-invalid=true]){border-color:var(--danger)}.auth-input:has(.auth-field-error){align-items:flex-start}.auth-input:has(.auth-field-error)>svg{top:22px}.portal-auth .auth-glyph{z-index:1}.plan-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:12px}.portal-shell button:disabled:not(.link):not(.ghost):not(.provider-btn):not(.add-provider){background:#ece9e2;color:#77726a;border-color:#e3dfd6;cursor:not-allowed;opacity:1}.pack-eligibility{margin-top:auto;margin-bottom:8px}.portal-session{min-height:100dvh;background:#f7f6f2;display:grid;place-items:center;padding:24px}.session-panel{width:min(100%,680px);display:grid;gap:18px}.session-panel h1{font-size:24px;margin:0}.session-skeleton{display:grid;gap:12px}.session-skeleton span{display:block;height:70px;border-radius:12px;background:#e9e6df}.shell-tile>svg{position:absolute;right:18px;top:20px;color:var(--eos-muted)}.shell-tile:focus-visible{outline:2px solid var(--eos-accent);outline-offset:3px}.account-header .locale-select{width:146px;min-width:0;height:40px;border-radius:8px}
