:root{color-scheme:light;--color-primary-700:#194ca9;--color-primary-600:#245fce;--color-primary-500:#3474df;--color-primary-100:#d9e8ff;--color-primary-50:#edf4ff;--color-success-600:#2e805f;--color-danger-600:#d94747;--color-text-primary:#102039;--color-text-heading:#122641;--color-text-body:#617089;--color-text-secondary:#718097;--color-text-muted:#8a98ad;--color-canvas:#f7f9fc;--color-surface:#fff;--color-surface-subtle:#f8fafc;--color-border:#dfe6ef;--color-border-strong:#cbd7e6;--color-navy:#102c54;--font-sans:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:30px;--font-size-page-title:clamp(36px,4.4vw,58px);--line-height-tight:1.2;--line-height-heading:1.35;--line-height-body:1.75;--site-width:1180px;--site-gutter:24px;--header-height:68px;--section-space:104px;--radius-sm:6px;--radius-md:9px;--radius-lg:12px;--radius-xl:16px;--shadow-workspace:0 24px 60px rgba(29,49,77,.1);--transition-fast:.16s ease;--primary-700:var(--color-primary-700);--primary-600:var(--color-primary-600);--primary-500:var(--color-primary-500);--primary-400:#5b8ee5;--primary-100:var(--color-primary-100);--primary-500-rgb:52,116,223;--primary-600-rgb:36,95,206}html{scroll-behavior:smooth}*,:after,:before{box-sizing:border-box}body{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-body);margin:0;overflow-y:scroll;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%}.container,.shell,.site-shell{margin-inline:auto;width:min(var(--site-width),100% - var(--site-gutter) * 2)}.page-title{font-size:var(--font-size-page-title);letter-spacing:-.035em;line-height:var(--line-height-tight)}.page-title,.section-title{color:var(--color-text-heading);font-weight:700;margin:0}.section-title{font-size:clamp(28px,3vw,38px);letter-spacing:-.025em;line-height:var(--line-height-heading)}.body-copy{color:var(--color-text-body);font-size:var(--font-size-md);line-height:var(--line-height-body)}.text-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.tool-workspace{border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-workspace);overflow:hidden}.tool-panel,.tool-workspace{background:var(--color-surface)}.tool-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg)}.btn{border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:600;line-height:1.4;min-height:42px;padding:9px 20px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:focus-visible{outline:3px solid rgba(var(--primary-500-rgb),.2);outline-offset:2px}.btn.primary{background:var(--color-primary-600);color:#fff}.btn.primary:hover:not(:disabled){background:var(--color-primary-700)}.btn.ghost{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-primary-600)}.btn.ghost:hover:not(:disabled){border-color:var(--color-primary-600);color:var(--color-primary-700)}.btn.secondary{background:var(--color-primary-50);color:var(--color-primary-600)}.btn.secondary:hover:not(:disabled){background:var(--color-primary-100)}.btn:disabled{background:#e5ebf3;box-shadow:none;color:var(--color-text-muted);cursor:not-allowed}@media(max-width:620px){:root{--site-gutter:16px;--header-height:60px;--section-space:80px}body{font-size:14px}.tool-workspace{border-left:0;border-radius:0;border-right:0;box-shadow:none;width:100%}}.login-page{--color-canvas:#f9f8f5;--color-surface:#fff;--color-surface-subtle:#f7f7f6;--color-border:rgba(64,72,82,.1);--color-border-strong:#d5d6d8;--color-text-heading:#111;--color-text-primary:#222;--color-text-body:#666;--color-text-secondary:#777;--color-text-muted:#90949c;--color-primary-600:#1266eb;--color-primary-700:#0a52c7;--radius-xl:10px;--radius-lg:8px;--radius-md:6px;--shadow-workspace:0 12px 40px rgba(30,30,30,.035);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}.login-page .email-title,.login-page .panel-title,.login-page h1{color:#111;font-family:Songti SC,"Noto Serif SC",STSong,SimSun,serif;font-weight:750}.login-page .card-footer a{color:var(--color-text-secondary);text-decoration:none}.login-page .card-footer a:hover{color:var(--color-primary-600)}.login-page{background:var(--color-canvas);min-height:100vh}.login-page .login-main{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:40px var(--site-gutter)}.login-page .login-stack{align-items:center;display:flex;flex-direction:column;max-width:440px;width:100%}.login-page .brand{align-items:center;display:inline-flex;text-decoration:none}.login-page .brand-header{align-items:center;display:flex;flex-direction:column;gap:14px;margin-bottom:30px}.login-page .brand-logo{display:block;height:auto;width:150px}.login-page .brand-slogan{color:var(--color-text-secondary);font-size:15px;letter-spacing:.14em;line-height:1.6;margin:0;text-indent:.14em}.login-page .login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-workspace);padding:40px 36px 28px;position:relative;width:100%}.login-page .corner-fold{background:transparent;border:0;cursor:pointer;height:68px;padding:0;position:absolute;right:0;top:0;width:68px;z-index:3}.login-page .corner-fold:before{background:var(--color-primary-600);clip-path:path("M 0 0 L 52 0 A 16 16 0 0 1 68 16 L 68 68 Z");content:"";inset:0;position:absolute;transition:background var(--transition-fast)}.login-page .corner-fold:focus-visible:before,.login-page .corner-fold:hover:before{background:var(--color-primary-700)}.login-page .corner-fold:focus-visible{outline:none}.login-page .corner-fold-icon{color:#fff;height:16px;pointer-events:none;position:absolute;right:16px;top:14px;width:16px;z-index:4}.login-page .tab-panel{min-height:360px;position:relative}.login-page .qr-panel{align-items:center;display:flex;flex-direction:column;justify-content:center;padding-top:0}.login-page .qr-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);height:220px;padding:14px;position:relative;width:220px}.login-page .qr-image{display:block;-o-object-fit:contain;object-fit:contain}.login-page .qr-image,.login-page .qr-loading{border-radius:var(--radius-md);height:100%;width:100%}.login-page .qr-loading{align-items:center;background:var(--color-surface-subtle);color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);justify-content:center;text-align:center}.login-page .qr-overlay{background:#fffffff0;border:0;border-radius:var(--radius-md);color:var(--color-text-heading);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;inset:14px;line-height:1.8;position:absolute}.login-page .qr-corner{border-color:var(--color-primary-600);border-style:solid;border-width:0;height:18px;position:absolute;width:18px}.login-page .qr-corner-tl{border-left-width:3px;border-top-left-radius:var(--radius-lg);border-top-width:3px;left:-1px;top:-1px}.login-page .qr-corner-tr{border-right-width:3px;border-top-right-radius:var(--radius-lg);border-top-width:3px;right:-1px;top:-1px}.login-page .qr-corner-bl{border-bottom-left-radius:var(--radius-lg);border-bottom-width:3px;border-left-width:3px;bottom:-1px;left:-1px}.login-page .qr-corner-br{border-bottom-right-radius:var(--radius-lg);border-bottom-width:3px;border-right-width:3px;bottom:-1px;right:-1px}.login-page .qr-tip{color:var(--color-text-heading);font-size:var(--font-size-md);font-weight:600;margin:0 0 22px;text-align:center}.login-page .qr-note{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:20px 0 0;text-align:center}.login-page .qr-error{color:var(--color-danger-600)}.login-page .qr-retry-button{margin-top:12px}.login-page .hidden-login-form{display:none}.login-page .email-panel{display:flex;flex-direction:column}.login-page .email-title{color:var(--color-text-heading);font-size:var(--font-size-lg);font-weight:600;margin:0 0 20px}.login-page .login-form{display:grid;gap:18px}.login-page .field{display:grid;gap:8px}.login-page .field span{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600}.login-page .field input{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-primary);height:46px;outline:none;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.login-page .field input::-moz-placeholder{color:var(--color-text-muted)}.login-page .field input::placeholder{color:var(--color-text-muted)}.login-page .field input:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb),.14)}.login-page .field input:disabled{background:var(--color-surface-subtle);cursor:not-allowed}.login-page .auth-banner{margin:0 0 16px;padding:10px 14px}.login-page .auth-banner,.login-page .auth-error{background:#d9474712;border:1px solid rgba(217,71,71,.24);border-radius:var(--radius-md);color:var(--color-danger-600);font-size:var(--font-size-sm);line-height:1.6}.login-page .auth-error{padding:10px 12px}.login-page .submit-button{min-height:46px;width:100%}.login-page .login-actions{align-items:center;display:flex;justify-content:space-between;margin-top:-6px}.login-page .login-actions .email-subtitle-inline{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.login-page .login-actions a{color:var(--color-primary-600);font-size:var(--font-size-sm);text-decoration:none}.login-page .login-actions a:hover{color:var(--color-primary-700)}.login-page .context-error,.login-page .form-loading{background:var(--color-surface-subtle);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);padding:24px 16px;text-align:center}.login-page .context-error{display:grid;gap:12px;justify-items:center}.login-page .retry-button{padding:6px 16px}.login-page .card-footer{background:var(--color-surface-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.7;margin:24px -36px -28px;padding:16px 36px;text-align:center}@media(max-width:560px){.login-page .login-main{padding:24px 16px}.login-page .brand-header{gap:10px;margin-bottom:22px}.login-page .brand-logo{width:124px}.login-page .brand-slogan{font-size:14px}.login-page .login-card{padding:28px 22px 22px}.login-page .corner-fold{height:56px;width:56px}.login-page .corner-fold-svg{height:100%;width:100%}.login-page .corner-fold-icon{height:14px;right:14px;top:12px;width:14px}.login-page .tab-panel{min-height:340px}.login-page .qr-frame{height:200px;padding:12px;width:200px}.login-page .qr-tip{margin-bottom:18px}.login-page .card-footer{margin:20px -22px -22px;padding:14px 22px}}.consent-page{--color-canvas:#f9f8f5;--color-surface:#fff;--color-surface-subtle:#f7f7f6;--color-border:rgba(64,72,82,.1);--color-border-strong:#d5d6d8;--color-text-heading:#111;--color-text-primary:#222;--color-text-body:#666;--color-text-secondary:#777;--color-text-muted:#90949c;--color-primary-600:#1266eb;--color-primary-700:#0a52c7;--radius-xl:10px;--radius-lg:8px;--radius-md:6px;--shadow-workspace:0 12px 40px rgba(30,30,30,.035);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}.consent-page .email-title,.consent-page .panel-title,.consent-page h1{color:#111;font-family:Songti SC,"Noto Serif SC",STSong,SimSun,serif;font-weight:750}.consent-page{background:var(--color-canvas);display:grid;min-height:100vh;padding:48px 24px;place-items:center}.consent-page .consent-stack{max-width:480px;width:100%}.consent-page .consent-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 12px 36px #1d314d0d;padding:36px}.consent-page .consent-heading{text-align:center}.consent-page .consent-logo{display:block;height:auto;margin:0 auto 24px;width:128px}.consent-page h1{color:var(--color-text-heading);font-size:28px;font-weight:750;letter-spacing:-.03em;line-height:1.45;margin:0}.consent-page .consent-intro{color:var(--color-text-body);font-size:14px;line-height:1.6;margin:8px 0 22px;overflow-wrap:anywhere}.consent-page .consent-account{align-items:center;background:var(--color-surface-subtle);border-radius:var(--radius-md);display:flex;gap:12px;padding:14px 16px}.consent-page .consent-avatar{background:#fff;border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-body);display:grid;flex:0 0 36px;height:36px;place-items:center}.consent-page .consent-avatar svg{height:21px;width:21px}.consent-page .consent-account>div{min-width:0}.consent-page .consent-account-label{color:var(--color-text-secondary);display:block;font-size:12px;margin-bottom:2px}.consent-page .consent-account strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.consent-page .consent-permissions{margin-top:22px}.consent-page .consent-permissions h2{font-size:14px;font-weight:600;margin:0 0 12px}.consent-page .consent-permissions ul{display:grid;gap:12px;list-style:none;margin:0;padding:0}.consent-page .consent-permissions li{align-items:flex-start;display:flex;gap:10px}.consent-page .consent-check{color:var(--color-success-600);flex:0 0 20px;height:20px;margin-top:2px;width:20px}.consent-page .consent-permissions h3{font-size:14px;font-weight:500;line-height:1.6;margin:0 0 2px}.consent-page .consent-permissions p{color:var(--color-text-body);font-size:13px;line-height:1.6;margin:0}.consent-page .consent-actions{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:26px}.consent-page .consent-actions form{margin:0}.consent-page .consent-button{border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;min-height:44px;padding:10px 16px;transition:background var(--transition-fast);width:100%}.consent-page .consent-button:focus-visible,.consent-page .consent-home:focus-visible{outline:3px solid var(--color-primary-100);outline-offset:3px}.consent-page .consent-primary{background:var(--color-primary-600);color:#fff}.consent-page .consent-primary:hover:not(:disabled){background:var(--color-primary-700)}.consent-page .consent-secondary{background:#fff;border-color:var(--color-border-strong);color:var(--color-text-primary)}.consent-page .consent-secondary:hover:not(:disabled){background:var(--color-surface-subtle)}.consent-page .consent-button:disabled{cursor:wait;opacity:.6}.consent-page .consent-state{text-align:center}.consent-page .consent-state p{color:var(--color-text-body);font-size:14px;line-height:1.8;margin:16px 0 24px}.consent-page .consent-result{text-align:center}.consent-page .consent-result .consent-logo{margin-bottom:20px}.consent-page .consent-result-icon{background:#238f5c1a;border-radius:50%;color:var(--color-success-600);display:grid;height:64px;margin:0 auto 20px;place-items:center;width:64px}.consent-page .consent-result-icon.is-cancelled{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.consent-page .consent-result-icon svg{height:34px;width:34px}.consent-page .consent-result-description{color:var(--color-text-primary);font-size:14px;line-height:1.8;margin:14px 0 0;overflow-wrap:anywhere}.consent-page .consent-result-guidance{color:var(--color-text-body);font-size:14px;line-height:1.8;margin:8px 0 0}.consent-page .consent-home{color:var(--color-primary-600);display:block;font-size:14px;margin-top:20px;text-decoration:none}@media(max-width:560px){.consent-page{padding:24px 16px}.consent-page .consent-card{padding:28px 24px}.consent-page h1{font-size:22px}.consent-page .consent-intro,.consent-page .consent-permissions h3,.consent-page .consent-permissions p{font-size:14px}}
