:root{--bg-main: #ffffff;--bg-sidebar: #f7f7f8;--bg-user-bubble: #f4f4f4;--border-composer: #d8e4f5;--accent: #3b6cff;--accent-soft: #e8eeff;--text: #1a1a1a;--text-secondary: #6b6b6b;--radius-item: 8px;--radius-composer: 22px;font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-main);color:var(--text)}.app{display:flex;height:100%;min-height:100vh}.sidebar{width:260px;flex-shrink:0;background:var(--bg-sidebar);display:flex;flex-direction:column;padding:16px 12px;border-right:1px solid #ececee}.brand{display:flex;align-items:center;gap:10px;padding:8px 10px 16px}.brand-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6b9dff,#3b6cff)}.brand-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.brand-name{font-size:17px;font-weight:600;letter-spacing:.02em}.btn-new{margin:0 8px 12px;padding:10px 14px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.btn-new:hover{filter:brightness(1.05)}.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:4px 4px 12px}.chat-item{text-align:left;border:none;background:transparent;border-radius:var(--radius-item);padding:12px 14px;cursor:pointer;color:var(--text);font-size:14px}.chat-item-with-icon{display:flex;align-items:center;gap:10px}.chat-item-with-icon .nav-item-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6b7280}.chat-item-with-icon .nav-item-icon svg{display:block}.chat-item-with-icon .nav-item-label{flex:1;min-width:0;line-height:1.35}.chat-item-with-icon:hover .nav-item-icon,.chat-item-with-icon.active .nav-item-icon{color:var(--text)}.chat-item-with-icon.active .nav-item-icon{color:var(--accent)}.chat-item-logout .nav-item-icon{color:#9ca3af}.chat-item-logout:hover .nav-item-icon{color:#b45309}.chat-item:hover{background:#ffffffa6}.chat-item.active{background:#fff;box-shadow:0 1px 2px #0000000a}.chat-item-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-meta{margin-top:auto;padding:12px 10px;font-size:12px;color:var(--text-secondary);border-top:1px solid #e8e8ea}.meta-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.meta-k{flex-shrink:0}.meta-v{text-align:right;line-height:1.35}.btn-ghost{margin-top:8px;width:100%;padding:8px;font-size:12px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;color:var(--text-secondary)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-main)}.main-header{padding:18px 24px 8px;text-align:center;border-bottom:1px solid transparent}.main-header--training{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 12px;border-bottom:1px solid #ececee;min-height:44px}.btn-ghost.training-back-progress{grid-column:1;justify-self:start;width:auto;max-width:max-content;margin-top:0;padding:5px 12px;font-size:13px;line-height:1.25;white-space:nowrap}.main-title--training{grid-column:2;margin:0;max-width:min(520px,72vw);text-align:center;font-size:16px;line-height:1.35}.main-title{margin:0;font-size:16px;font-weight:600}.thread{flex:1;overflow-y:auto;padding:20px 24px 120px;max-width:880px;width:100%;margin:0 auto}.msg{margin-bottom:20px}.msg-user{display:flex;justify-content:flex-end}.bubble-user{max-width:78%;padding:12px 16px;border-radius:16px;background:var(--bg-user-bubble);font-size:15px;line-height:1.55;color:var(--text)}.msg-ai{display:flex;align-items:flex-start;gap:10px;justify-content:flex-start}.msg-ai-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-top:2px}.msg-ai-stack{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.msg-ai-name{font-size:13px;font-weight:600;color:#64748b;line-height:1.2}.msg-ai-body{width:100%;min-width:0}.ai-md{max-width:100%;font-size:15px;line-height:1.65;color:var(--text)}.ai-md h1,.ai-md h2,.ai-md h3{font-size:1.05em;margin:.75em 0 .35em}.ai-md p{margin:.4em 0}.ai-md ul,.ai-md ol{margin:.4em 0 .4em 1.2em;padding:0}.ai-md strong{font-weight:650}.banner-error{max-width:880px;margin:0 auto;padding:0 24px 8px;color:#c62828;font-size:13px}.banner-muted{max-width:880px;margin:0 auto;padding:10px 14px;font-size:13px;line-height:1.55;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px}.composer-wrap{position:sticky;bottom:0;padding:12px 24px 20px;background:linear-gradient(to top,#fff 70%,#fff0)}.composer{max-width:880px;margin:0 auto;display:flex;align-items:flex-end;gap:10px;padding:10px 14px;border-radius:var(--radius-composer);border:1px solid var(--border-composer);background:#fff;box-shadow:0 4px 24px #0f172a0f}.composer-input{flex:1;border:none;resize:none;font:inherit;font-size:15px;line-height:1.5;padding:8px 4px;min-height:24px;max-height:160px;outline:none;background:transparent}.composer-input--training{min-height:calc(7.5em + 16px);max-height:min(40vh,320px)}.composer--training{align-items:stretch}.composer--training .composer-actions{align-self:flex-end}.composer-training-hint{max-width:880px;margin:8px auto 0;padding:0 2px;font-size:12px;line-height:1.5;color:var(--muted, #64748b)}.composer-training-hint-sub{color:#94a3b8}.composer-input::placeholder{color:#9a9a9a}.composer-actions{display:flex;align-items:center;gap:4px;padding-bottom:2px}.composer-actions--explore{gap:8px}.composer-training-countdown{font-size:12px;line-height:1.25;color:var(--muted, #64748b);white-space:nowrap}.icon-btn{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn.send{color:var(--accent)}.icon-btn:not(:disabled):hover{background:var(--accent-soft)}.intro-banner{max-width:880px;margin:0 auto;padding:8px 24px 0}.intro-panel{max-width:640px;margin:0 auto;padding:20px 24px 8px;text-align:left}.intro-title{margin:0 0 12px;font-size:20px;font-weight:600}.intro-lead{margin:0 0 16px;font-size:15px;line-height:1.65;color:var(--text)}.intro-bullets{margin:0 0 20px;padding-left:1.25rem;color:var(--text-secondary);font-size:14px;line-height:1.55}.intro-bullet-item{margin-bottom:8px}.intro-bullet-item .ai-md p{margin:.25em 0 0}.intro-bullet-item .ai-md p:first-child{margin-top:0}.intro-start{margin:0!important}.card-picker{max-width:880px;margin:0 auto;padding:12px 24px 8px}.card-picker-hint{margin:0 0 14px;font-size:14px;color:var(--text-secondary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.stimulus-picker-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:24px}.stimulus-picker-panel{padding-bottom:32px}.stimulus-picker-lead{font-size:15px;color:var(--text-secondary)}.stimulus-card-grid{margin-top:8px}.stimulus-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:112px;border:1px solid #e4e4e7;border-radius:14px;padding:20px 16px;background:#fff;cursor:pointer;text-align:center;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .12s;box-shadow:0 1px 3px #0000000a}.stimulus-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 4px 16px #3b6cff1f;transform:translateY(-1px)}.stimulus-card:disabled{opacity:.55;cursor:not-allowed}.stimulus-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stimulus-card-label{font-size:18px;font-weight:600;color:var(--text);line-height:1.35}.stimulus-card-action{font-size:12px;font-weight:500;color:var(--accent)}.gate-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-sidebar)}.gate-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:28px 28px 24px;box-shadow:0 8px 40px #0f172a14}.gate-brand{margin-bottom:20px}.gate-title{margin:0 0 8px;font-size:22px;font-weight:600}.gate-desc{margin:0 0 20px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.gate-form{display:flex;flex-direction:column;gap:14px}.gate-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.gate-input{padding:10px 12px;border-radius:10px;border:1px solid #e4e4e7;font:inherit;font-size:15px}.gate-input:focus{outline:none;border-color:var(--accent)}.gate-submit{margin:8px 0 0!important;width:100%}.gate-error{margin:0}.gate-admin-link-wrap{margin:20px 0 0;padding-top:16px;border-top:1px solid #ececee;text-align:center;font-size:13px}.gate-admin-link{color:var(--text-secondary);text-decoration:none}.gate-admin-link:hover{color:var(--accent);text-decoration:underline}.sidebar-user{padding:0 12px 12px;margin:0 8px 8px;border-bottom:1px solid #e8e8ea}.sidebar-user-name{font-size:14px;font-weight:600}.sidebar-user-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.sidebar-user-btn{display:block;width:100%;margin:0;padding:10px 8px;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;font:inherit;color:inherit;cursor:pointer}.sidebar-user-btn:hover{background:#ffffffb3;border-color:#e0e0e4}.sidebar-user-hint{font-size:11px;color:#999;margin-top:8px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:4px}.progress-page{max-width:720px;margin:0 auto;padding:8px 24px 32px}.section-title{margin:0 0 8px;font-size:17px;font-weight:600}.section-desc{margin:0 0 20px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.flow-section{margin-bottom:28px}.flow-track{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.flow-step{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:12px;border:1px solid #ececee;background:#fafafa}.flow-step.active{border-color:var(--accent);background:var(--accent-soft)}.flow-step.done{opacity:.85;border-color:#c8e6c9;background:#f1f8f4}.flow-step.flow-step-locked{border-color:#e5e5ea;background:#f4f4f6}.flow-step.flow-step-locked .flow-step-marker{border-color:#c5c5c9;color:#6b6b70}.flow-step.active.flow-step-locked .flow-step-marker{background:#fff;border-color:#c5c5c9;color:#6b6b70}.flow-step-title-muted{color:#6b7280}.flow-step-gate{font-size:12px;color:var(--text-secondary);margin-top:8px;line-height:1.45}.flow-step-gate.flow-step-gate-open{color:#2e7d32}.flow-step-gate.flow-step-gate-closed{color:#64748b;font-weight:500}.flow-step-marker{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.flow-step.active .flow-step-marker{background:var(--accent);color:#fff;border-color:var(--accent)}.flow-step-row{flex:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.flow-step-body{min-width:0;flex:1}.flow-step-actions{flex-shrink:0;padding-top:2px}.flow-step-primary-btn{white-space:nowrap;font-size:14px;padding:10px 16px}.ability-task-body,.ability-submitted-pre{margin:0;padding:14px 16px;border-radius:12px;border:1px solid #ececee;background:#fafafa;font:inherit;font-size:15px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.ability-pack-page{max-width:920px;margin:0 auto;padding-left:16px;padding-right:16px}.ability-pack-lead-panel{position:sticky;top:0;z-index:4;margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;box-shadow:0 1px #0f172a0a}.ability-pack-lead-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text);letter-spacing:.02em}.ability-pack-lead-body{margin:0;font-size:14px;line-height:1.65;color:var(--text)}.ability-pack-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.ability-pack-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid #e2e4ea;background:#fff;cursor:pointer;font:inherit;text-align:left;max-width:100%;transition:border-color .15s,background .15s}.ability-pack-tab:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.ability-pack-tab.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px #3b6cff33}.ability-pack-tab.has-draft:not(.is-active){border-color:#c5e6c0}.ability-pack-tab-n{font-size:12px;font-weight:700;color:var(--text-secondary)}.ability-pack-tab-l{font-size:13px;font-weight:600;color:var(--text);line-height:1.35}.ability-pack-current .section-title{margin-bottom:6px}.section-title--sub{font-size:16px;margin-top:16px}.ability-pack-subtitle{margin:0 0 10px;font-size:14px;color:var(--text-secondary)}.ability-pack-label{display:block;margin-top:16px}.ability-pack-textarea{width:100%;min-height:180px;margin-top:8px}.ability-pack-readonly-block{margin-top:16px}.ability-pack-footer{max-width:920px;margin-top:20px}.ability-pack-footer-hint{margin-top:10px}.ability-pack-tab.is-sealed:not(.is-active){border-color:#a8d4f0;background:#3b6cff0f}.ability-explore-hint,.ability-explore-sealed-note{margin-top:12px;margin-bottom:0}.ability-explore-thread{max-height:min(52vh,420px);overflow-y:auto;margin-top:12px;padding-right:4px}.ability-explore-composer{margin-top:16px}.ability-explore-seal-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.ability-explore-seal-hint{font-size:13px;color:var(--text-secondary)}.ability-finalize-slot-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.ability-score-feedback-wrap{margin-top:16px}.ability-score-feedback-wrap .msg-ai-name:after{content:" · 评分预览";font-weight:600;font-size:13px;color:var(--text-secondary)}.ability-score-disclaimer{margin:8px 0 0 44px;font-size:12px;line-height:1.45;color:var(--text-secondary);max-width:640px}.ability-ai-feedback-section{max-width:920px;margin:0 auto;padding:0 20px 8px}.ability-ai-feedback-status{margin-top:0;margin-bottom:12px}.ability-ai-feedback-err{margin-bottom:12px}.ability-ai-feedback-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.ability-ai-feedback-card{border:1px solid rgba(59,108,255,.2);border-radius:12px;padding:14px 16px;background:#ffffffd9}.ability-ai-feedback-card-title{font-weight:650;font-size:15px;margin-bottom:10px}.ability-ai-feedback-slot-err{font-size:13px;color:var(--err, #b91c1c);margin:0 0 8px}.ability-ai-score-line{font-weight:600;white-space:pre-wrap;margin-bottom:10px;line-height:1.5}.ability-ai-explain{white-space:pre-wrap;line-height:1.55;font-size:15px}.ability-ai-feedback-empty{margin:0}.flow-step-title{font-size:15px;font-weight:600}.flow-step-role{font-size:13px;color:var(--text-secondary);margin-top:4px;line-height:1.45}.flow-step-meta{font-size:12px;color:var(--text-secondary);margin-top:6px}.progress-actions{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:20px}.progress-actions .btn-new:disabled{opacity:.5;cursor:not-allowed}.btn-ghost.wide{width:100%;max-width:320px}.final-on-progress{margin-top:24px;padding-top:20px;border-top:1px solid #ececee}.done-banner{max-width:880px;margin:0 auto;padding:16px 24px;background:#f1f8f4;border-bottom:1px solid #c8e6c9;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.done-banner p{margin:0;flex:1;min-width:200px;font-size:14px}.thread-padded{padding:16px 24px 24px;max-width:880px;margin:0 auto}.training-footer-actions{max-width:880px;margin:0 auto;padding:0 24px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.training-footer-actions .training-complete-round{margin:0}.training-complete-round-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:100%}.training-footer-actions .training-complete-round:disabled{opacity:.55;cursor:not-allowed;filter:none}.training-footer-actions .training-complete-round:disabled:hover{filter:none}.training-complete-round-hint{margin:0;max-width:42em;font-size:13px;line-height:1.5;color:var(--muted, #64748b)}.first-reply-gate-banner{margin:0 0 12px}.first-reply-final-lock-banner{border-color:#c8782859;background:#fff8ebf2;font-size:15px;line-height:1.55}.final-score-wrap{font-size:15px;line-height:1.65}.intro-doc-section{margin-bottom:28px}.intro-doc-body{padding:16px 18px;border-radius:12px;border:1px solid #ececee;background:#fafafa;font-size:14px;line-height:1.65}.casual-welcome{max-width:880px;margin:0 auto;padding:16px 24px 8px;font-size:15px;line-height:1.65;color:var(--text)}.casual-welcome p{margin:0 0 12px}.casual-welcome p:last-child{margin-bottom:0}.card-picker{max-width:880px;margin:0 auto;padding:16px 24px 24px}.card-picker-desc{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.card-picker-row{display:flex;flex-wrap:wrap;gap:12px}.card-option{flex:1;min-width:200px;max-width:100%;padding:16px 18px;border-radius:12px;border:1px solid #e0e0e4;background:#fff;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.card-option:hover:not(:disabled){border-color:var(--accent);box-shadow:0 2px 12px #3b6cff1f}.card-option:disabled{opacity:.6;cursor:not-allowed}.card-option-preview{font-size:14px;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.stimulus-intro{margin-bottom:20px;padding:14px 16px;background:#f8fafc;border-radius:12px;border:1px solid var(--border-composer);font-size:15px;line-height:1.65}.card-option-stimulus{min-height:76px;display:flex;align-items:center;justify-content:center}.card-option-stimulus-label{font-size:18px;font-weight:600;color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a38;display:flex;align-items:center;justify-content:center;padding:24px}.modal-card{position:relative;z-index:1;width:100%;max-width:400px;background:#fff;border-radius:16px;padding:22px 24px 20px;box-shadow:0 12px 40px #00000026}.modal-title{margin:0 0 6px;font-size:18px;font-weight:600}.modal-sub{margin:0 0 18px;font-size:13px;color:var(--text-secondary)}.profile-stats{margin:0 0 20px}.profile-stat-row{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.profile-stat-row:last-of-type{border-bottom:none}.profile-stat-row dt{margin:0;color:var(--text-secondary);font-weight:400}.profile-stat-row dd{margin:0;font-weight:600;text-align:right}.profile-demo-switch{margin:4px 0 16px;padding:12px 14px;border-radius:10px;border:1px dashed #c5cad6;background:#fafbff}.profile-demo-switch-title{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-primary)}.profile-demo-switch-hint{margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--text-secondary)}.profile-demo-switch-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.profile-demo-switch-select{flex:1;min-width:140px;padding:8px 10px;font-size:14px;border-radius:8px;border:1px solid #d8dce6;background:#fff}.profile-demo-switch-msg{margin:8px 0 0;font-size:12px;color:var(--text-secondary)}.modal-close-btn{width:100%;margin:0}.modal-ident-hint{font-size:13px;line-height:1.55;color:var(--text-secondary);margin:0 0 16px;padding:12px 14px;background:#f8f8f9;border-radius:10px;border:1px solid #ececee}.modal-ident-hint p{margin:0 0 8px}.modal-ident-hint p:last-child{margin-bottom:0}.lab-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:8px;background:linear-gradient(135deg,#f5f8ff,#eef3ff);border-radius:12px;border:1px solid #d8e4f5}.lab-banner-text{margin:0;font-size:14px;line-height:1.55;color:var(--text);flex:1;min-width:200px}.btn-link-feedback{border:none;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer}.btn-link-feedback:hover{filter:brightness(.97)}.gate-lab-intro{background:#f5f8ff;padding:12px 14px;border-radius:10px;border:1px solid #e0e8f8}.feedback-textarea{width:100%;margin-top:8px;padding:12px 14px;border:1px solid #e0e0e4;border-radius:10px;font:inherit;font-size:14px;line-height:1.5;resize:vertical;min-height:120px;box-sizing:border-box}.feedback-modal-actions{display:flex;gap:10px;margin-top:16px}.feedback-modal-actions .modal-close-btn{flex:1;margin:0}.feedback-modal-actions .btn-new,.feedback-modal-actions .btn-ghost{margin:0}.app-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:2000;padding:12px 22px;border-radius:12px;background:#1a1a1a;color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 28px #0003;animation:toast-in .22s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0f172a38;display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box;isolation:isolate}.consent-panel{position:relative;z-index:1;width:min(640px,100%);max-height:min(92vh,900px);min-height:280px;background:#fff;background:var(--bg-main, #ffffff);border-radius:16px;box-shadow:0 24px 60px #0f172a2e;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8e8ec}.consent-overlay-title{margin:0;padding:22px 22px 0;font-size:1.2rem;font-weight:700}.consent-overlay-sub{margin:8px 0 0;padding:0 22px;font-size:13px;color:var(--text-secondary);line-height:1.55}.consent-banner{margin:14px 22px 0}.consent-scroll{margin:16px 22px 0;flex:1;min-height:200px;overflow-y:auto;border:1px solid #e8e8ec;border-radius:12px;padding:16px 18px;background:#fafafa;-webkit-overflow-scrolling:touch}.consent-body-text{margin:0;font-family:inherit;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word;color:var(--text)}.consent-sign-block{margin-top:20px;padding-top:16px;border-top:1px dashed #cfd4dc}.consent-sign-line{margin:0 0 10px;font-size:14px}.consent-sign-note{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.5}.consent-loading-hint{margin:0;color:var(--text-secondary);font-size:14px}.consent-footer{padding:16px 22px 22px;flex-shrink:0;border-top:1px solid #ececee;background:#fff;background:var(--bg-main, #ffffff)}.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.55;cursor:pointer;margin:0 0 12px}.consent-check input{margin-top:3px;flex-shrink:0}.consent-hint{margin:0 0 12px;font-size:13px;color:#b45309}.consent-submit{width:100%;margin:0;padding:12px 16px;font-size:15px;font-weight:600}.consent-submit:disabled{opacity:.45;cursor:not-allowed}
