:root{--color-primary: #2A80E9;--color-primary-hover: #2A80E9;--color-primary-disabled: #2A80E9;--color-gradient: linear-gradient(135deg, #2185FF, #5062EE);--color-error: #CF1322;--color-warning: #FA8C16;--color-success: #389E0D;--color-bg-page: rgba(255,255,255,.94);--color-bg-container: #F3F4F6;--color-bg-component: #E8EBEC;--color-divider: #D2D4D8;--color-text-primary: #020B1A;--color-text-secondary: #404550;--color-text-hint: #7E8087;--color-text-disabled: #AEB1B7;--color-text-white: #FFFFFF;--color-text-link: #2A80E9;--color-text-note: #1B4E8D;--shadow-bg: 0 1px 2px rgba(0,0,0,.1);--shadow-popup: 0 2px 8px rgba(0,0,0,.15);--font-family: "PingFang SC", "PingFang", -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif;--font-special: 24px;--font-h1: 18px;--font-h2: 16px;--font-body: 14px;--font-caption: 12px;--spacing-4: 4px;--spacing-8: 8px;--spacing-12: 12px;--spacing-16: 16px;--spacing-24: 24px;--spacing-32: 32px;--radius-page: 16px;--radius-card: 8px;--radius-input: 4px;--radius-btn: 4px;--ease-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .3s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg-page);line-height:1.6;min-height:100vh;overflow-x:hidden}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--color-bg-page);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-16)}.auth-overlay p{color:var(--color-text-hint);font-size:var(--font-body)}.auth-spinner{width:40px;height:40px;border:3px solid var(--color-bg-component);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-container{max-width:100%;margin:0 auto;display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-page)}.header-bar{height:56px;background:#fff;border-bottom:1px solid var(--color-divider);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-bg)}.header-inner{max-width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-24)}.brand{display:flex;align-items:center;gap:var(--spacing-12)}.brand-icon{line-height:0}.brand-title{font-size:var(--font-h1);font-weight:600;color:var(--color-text-primary);letter-spacing:-.3px}.header-user{display:flex;align-items:center;gap:var(--spacing-8);color:var(--color-text-secondary);font-size:var(--font-body)}.greeting-bar{text-align:center;padding:var(--spacing-32) var(--spacing-24) var(--spacing-16);background:#fff}.greeting-bar p{font-size:var(--font-special);font-weight:600;background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-main{flex:1;display:flex;flex-direction:column;min-height:400px;position:relative;background:#fff;margin:0 var(--spacing-24);border-radius:var(--radius-card)}.chat-container{flex:1;overflow-y:auto;padding:var(--spacing-24);padding-bottom:80px;scroll-behavior:smooth}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:var(--spacing-16);opacity:.7}.chat-empty-icon svg{opacity:.6}.chat-empty p{color:var(--color-text-hint);font-size:var(--font-h2)}.message{display:flex;gap:var(--spacing-12);margin-bottom:var(--spacing-16);animation:messageIn .2s var(--ease-out) forwards;opacity:0;transform:translateY(10px)}@keyframes messageIn{to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.message.ai .message-avatar{background:var(--color-gradient);color:var(--color-text-white)}.message.user .message-avatar{background:var(--color-primary);color:var(--color-text-white)}.message-bubble{max-width:75%;padding:var(--spacing-12) var(--spacing-16);border-radius:var(--radius-card);font-size:var(--font-body);line-height:22px;word-break:break-word;color:var(--color-text-secondary)}.message.ai .message-bubble{background:var(--color-bg-container);color:var(--color-text-secondary);border-top-left-radius:2px}.message.user .message-bubble{background:var(--color-primary);color:var(--color-text-white);border-top-right-radius:2px}.message.ai .message-bubble h1,.message.ai .message-bubble h2,.message.ai .message-bubble h3{margin-top:var(--spacing-12);margin-bottom:var(--spacing-4);font-weight:600;color:var(--color-text-primary)}.message.ai .message-bubble h3{font-size:var(--font-body)}.message.ai .message-bubble h2{font-size:var(--font-h2)}.message.ai .message-bubble ul,.message.ai .message-bubble ol{padding-left:20px;margin:var(--spacing-4) 0}.message.ai .message-bubble li{margin-bottom:3px}.message.ai .message-bubble strong{color:var(--color-primary);font-weight:600}.message.ai .message-bubble code{background:var(--color-bg-component);padding:2px 5px;border-radius:3px;font-size:var(--font-caption)}.message.ai .message-bubble p{margin-bottom:var(--spacing-8)}.message.ai .message-bubble p:last-child{margin-bottom:0}.message.ai .message-bubble table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-12);font-size:var(--font-caption)}.message.ai .message-bubble th,.message.ai .message-bubble td{border:1px solid rgba(0,0,0,.1);padding:8px 12px;text-align:left}.message.ai .message-bubble th{background:#00000008;font-weight:600;color:var(--color-text-primary)}.message.ai .message-bubble tr:nth-child(2n){background:#00000004}.stage-card{background:#fff;border:1.5px solid var(--color-primary);border-radius:var(--radius-card);padding:var(--spacing-16);margin:var(--spacing-8) 0;box-shadow:var(--shadow-bg)}.stage-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.stage-card-title{font-size:var(--font-h2);font-weight:600;color:var(--color-primary);display:flex;align-items:center;gap:6px}.stage-card-toggle{transition:transform var(--duration-normal) var(--ease-out);color:var(--color-text-hint)}.stage-card-toggle.collapsed{transform:rotate(180deg)}.stage-card-body{margin-top:var(--spacing-12);overflow:hidden;transition:max-height var(--duration-normal) var(--ease-out)}.thinking-indicator{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-12) var(--spacing-24)}.thinking-avatar{line-height:0}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:dotPulse 1s infinite}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.thinking-text{font-size:var(--font-caption);color:var(--color-text-hint)}.input-bar{position:sticky;bottom:0;background:#fff;padding:var(--spacing-12) var(--spacing-24) var(--spacing-8);z-index:50}.input-box-outer{border:1px solid var(--color-bg-component);border-radius:var(--radius-card);padding:var(--spacing-8) var(--spacing-12);background:#fff;transition:border-color var(--duration-fast) var(--ease-out)}.input-box-outer:focus-within{border-color:var(--color-primary)}.input-main-row{display:flex;align-items:flex-end;gap:var(--spacing-8)}.text-input-wrap{flex:1;position:relative}.text-input-wrap textarea{width:100%;min-height:36px;max-height:120px;padding:var(--spacing-8) 0;border:none;font-family:var(--font-family);font-size:var(--font-body);color:var(--color-text-primary);background:transparent;resize:none;outline:none;line-height:22px}.text-input-wrap textarea::placeholder{color:var(--color-text-hint);font-size:var(--font-body)}.input-actions-right{display:flex;align-items:center;gap:var(--spacing-4);flex-shrink:0}.icon-btn{width:32px;height:32px;border:none;border-radius:var(--radius-btn);background:transparent;color:var(--color-text-hint);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.icon-btn:hover{background:var(--color-bg-container);color:var(--color-primary)}.icon-btn.active{background:var(--color-primary);color:var(--color-text-white)}.btn-send{flex-shrink:0;width:32px;height:32px;border:none;border-radius:50%;background:var(--color-gradient);color:var(--color-text-white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.btn-send:hover{opacity:.9;box-shadow:var(--shadow-popup)}.btn-send:disabled{background:var(--color-text-disabled);cursor:not-allowed}.input-tags-row{display:flex;align-items:center;gap:var(--spacing-8);margin-top:var(--spacing-8);padding-top:var(--spacing-8);border-top:1px solid var(--color-bg-container)}.tag-btn{display:inline-flex;align-items:center;gap:var(--spacing-4);padding:3px 10px;border:1px solid var(--color-bg-component);border-radius:12px;background:#fff;font-size:var(--font-caption);color:var(--color-text-hint);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap}.tag-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.tag-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:#2a80e90f}.tag-btn svg{width:14px;height:14px}.tag-btn .tag-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success)}.upload-status{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-4) 0;margin-top:var(--spacing-4)}.upload-progress-bar{flex:1;height:3px;background:var(--color-bg-component);border-radius:2px;overflow:hidden}.upload-progress{height:100%;background:var(--color-primary);border-radius:2px;transition:width .2s linear;width:0%}.upload-progress.done{background:var(--color-success)}.upload-filename{font-size:var(--font-caption);color:var(--color-text-hint);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-state{font-size:var(--font-caption);font-weight:500}.upload-state.success{color:var(--color-success)}.upload-state.error{color:var(--color-error)}.disclaimer{text-align:center;padding:var(--spacing-8) var(--spacing-24);font-size:var(--font-caption);color:var(--color-text-note);background:#fff}.bottom-collapsible{background:#fff}.bottom-toggle{display:none}.guide-section{background:#fff;border-top:1px solid var(--color-divider);padding:var(--spacing-32) var(--spacing-24);margin:0 var(--spacing-24);border-radius:var(--radius-card);margin-top:var(--spacing-16)}.guide-title{text-align:center;font-size:var(--font-h1);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-24)}.guide-steps{display:flex;align-items:stretch;justify-content:center;gap:var(--spacing-16);flex-wrap:wrap}.guide-step{flex:0 1 220px;background:var(--color-bg-container);border:1px solid var(--color-bg-component);border-radius:var(--radius-card);padding:var(--spacing-16);text-align:center;transition:all var(--duration-normal) var(--ease-out)}.guide-step:hover{border-color:var(--color-primary);box-shadow:var(--shadow-popup);transform:translateY(-2px)}.step-number{width:28px;height:28px;border-radius:50%;background:var(--color-gradient);color:var(--color-text-white);font-weight:700;font-size:var(--font-body);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-8)}.step-label{font-size:var(--font-h2);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-8)}.step-details{list-style:none;text-align:left;font-size:var(--font-caption);color:var(--color-text-hint)}.step-details li{padding:2px 0 2px 14px;position:relative;line-height:20px}.step-details li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.guide-arrow{display:flex;align-items:flex-start;justify-content:center;font-size:20px;color:var(--color-primary);font-weight:700;padding-top:30px}.export-bar{text-align:center;padding:var(--spacing-24);background:var(--color-bg-page)}.btn-export{display:inline-flex;align-items:center;gap:var(--spacing-8);padding:10px 36px;background:var(--color-gradient);color:var(--color-text-white);border:none;border-radius:var(--radius-card);font-size:var(--font-h2);font-weight:600;cursor:pointer;transition:all var(--duration-slow) var(--ease-out);box-shadow:var(--shadow-bg)}.btn-export:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-popup);transform:translateY(-1px)}.btn-export:disabled{background:var(--color-text-disabled);color:#cbd5e1;cursor:not-allowed;box-shadow:none}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.onboarding-card{background:#fff;border-radius:var(--radius-card);padding:var(--spacing-32);max-width:460px;width:90%;box-shadow:var(--shadow-popup);text-align:center}.onboarding-card h3{font-size:var(--font-h1);font-weight:700;margin-bottom:var(--spacing-16);color:var(--color-text-primary)}.onboarding-card p{font-size:var(--font-body);color:var(--color-text-secondary);margin-bottom:var(--spacing-16);line-height:22px}.onboarding-steps{display:flex;justify-content:center;gap:var(--spacing-8);margin-bottom:var(--spacing-16)}.onboarding-steps span{padding:4px 12px;background:#2a80e914;color:var(--color-primary);border-radius:12px;font-size:var(--font-caption);font-weight:500}.onboarding-tip{font-size:var(--font-caption)!important;color:var(--color-text-hint)!important}.btn-primary{display:inline-block;padding:8px 28px;background:var(--color-gradient);color:var(--color-text-white);border:none;border-radius:var(--radius-btn);font-size:var(--font-body);font-weight:600;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.btn-primary:hover{opacity:.9}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9000;display:flex;flex-direction:column;gap:var(--spacing-8)}.toast{padding:8px 16px;border-radius:var(--radius-btn);font-size:var(--font-body);font-weight:500;box-shadow:var(--shadow-popup);animation:toastIn .25s var(--ease-out) forwards;display:flex;align-items:center;gap:var(--spacing-8);white-space:nowrap}.toast.success{background:#f6ffed;color:var(--color-success);border:1px solid #B7EB8F}.toast.error{background:#fff1f0;color:var(--color-error);border:1px solid #FFA39E}.toast.warning{background:#fff7e6;color:var(--color-warning);border:1px solid #FFD591}.toast.info{background:#e6f7ff;color:var(--color-primary);border:1px solid #91D5FF}.toast .toast-dot{width:6px;height:6px;border-radius:50%}.toast.success .toast-dot{background:var(--color-success)}.toast.error .toast-dot{background:var(--color-error)}.toast.warning .toast-dot{background:var(--color-warning)}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast.fade-out{animation:toastOut .25s var(--ease-out) forwards}@keyframes toastOut{to{opacity:0;transform:translateY(-20px)}}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:2px;font-size:var(--font-caption);font-weight:500}.tag-default{background:#f0f0f0;color:var(--color-text-secondary)}.tag-blue{background:#e6f7ff;color:var(--color-primary)}.tag-success{background:#f6ffed;color:var(--color-success)}.tag-warning{background:#fff7e6;color:var(--color-warning)}.tag-error{background:#fff1f0;color:var(--color-error)}.voice-recording .icon-btn#btn-voice{background:var(--color-error);color:var(--color-text-white);animation:voicePulse 1s infinite}@keyframes voicePulse{0%,to{box-shadow:0 0 #cf132266}50%{box-shadow:0 0 0 8px #cf132200}}@media (max-width: 1023px){.chat-main,.guide-section{margin:0 var(--spacing-16)}.guide-steps{gap:var(--spacing-8)}.guide-step{flex:0 1 180px}}@media (max-width: 767px){.brand-title{font-size:var(--font-h2)}.greeting-bar p{font-size:20px;padding:0 var(--spacing-16)}.chat-main,.guide-section{margin:0;border-radius:0}.message-bubble{max-width:88%}.chat-input-area{padding:var(--spacing-8) var(--spacing-12) calc(var(--spacing-8) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-bg-component);background:#fff}.input-box-outer{border-radius:20px;padding:6px 12px;border-color:var(--color-bg-component);box-shadow:0 1px 4px #0000000a}.input-main-row{gap:6px}.text-input-wrap textarea{min-height:32px;max-height:100px;padding:6px 0;font-size:15px}.btn-send,.icon-btn{width:30px;height:30px}.input-tags-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top:6px;padding-top:6px;gap:6px;margin-left:-4px;padding-left:4px;padding-right:4px;margin-right:-4px}.input-tags-row::-webkit-scrollbar{display:none}.tag-btn{padding:4px 10px;font-size:12px;border-radius:14px;flex-shrink:0}.bottom-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px var(--spacing-16);border:none;border-top:1px solid var(--color-bg-component);background:var(--color-bg-container);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.bottom-toggle:active{background:var(--color-bg-component)}.toggle-chevron{transition:transform .3s ease;color:var(--color-text-hint)}.bottom-collapsible.expanded .toggle-chevron{transform:rotate(180deg)}.bottom-content{max-height:0;overflow:hidden;transition:max-height .35s ease}.bottom-collapsible.expanded .bottom-content{max-height:800px}.disclaimer{padding:8px var(--spacing-16);font-size:11px;line-height:1.4;background:var(--color-bg-container)}.guide-section{padding:var(--spacing-12) var(--spacing-12);margin:0;border-top:none;border-radius:0}.guide-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.guide-arrow{display:none}.guide-step{flex:none;max-width:100%;width:100%;padding:10px 6px;border-radius:10px;background:#fff;border:1px solid var(--color-bg-component);text-align:center}.guide-step:hover{transform:none;box-shadow:none}.step-number{width:22px;height:22px;font-size:11px}.step-label{font-size:12px;margin-bottom:0;white-space:nowrap}.step-details{display:none}.export-bar{padding:var(--spacing-12) var(--spacing-16)}.history-panel{bottom:90px;max-height:50vh;width:calc(100vw - 24px)}}.history-panel{position:fixed;bottom:120px;left:50%;transform:translate(-50%) translateY(20px);width:480px;max-width:calc(100vw - 48px);max-height:420px;background:#fff;border-radius:var(--radius-card);box-shadow:0 8px 32px #00000026,0 2px 8px #00000014;z-index:150;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:all var(--duration-normal) var(--ease-out);border:1px solid var(--color-divider)}.history-panel.open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-16) var(--spacing-16) var(--spacing-8);border-bottom:1px solid var(--color-bg-container)}.history-panel-header h3{font-size:var(--font-h2);font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-8)}.history-panel-header h3:before{content:"";display:inline-block;width:3px;height:16px;background:var(--color-gradient);border-radius:2px}.history-panel-hint{font-size:var(--font-caption);color:var(--color-text-hint)}.history-list{flex:1;overflow-y:auto;padding:var(--spacing-8);min-height:60px}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:2px}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-32) var(--spacing-16);gap:var(--spacing-12)}.history-empty p{font-size:var(--font-body);color:var(--color-text-hint)}.history-item{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-12);border-radius:6px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);position:relative;margin-bottom:2px}.history-item:hover{background:var(--color-bg-container)}.history-item.active{background:#2a80e90f;border-left:3px solid var(--color-primary);padding-left:calc(var(--spacing-12) - 3px)}.history-item-main{flex:1;min-width:0;cursor:pointer}.history-item-title{font-size:var(--font-body);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}.history-item.active .history-item-title{color:var(--color-primary)}.history-item-meta{display:flex;align-items:center;gap:var(--spacing-8);font-size:11px;color:var(--color-text-hint)}.history-stage-tag{display:inline-block;padding:1px 6px;background:#2a80e914;color:var(--color-primary);border-radius:3px;font-size:11px;font-weight:500}.history-item-delete{flex-shrink:0;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--color-text-disabled);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all var(--duration-fast) var(--ease-out)}.history-item:hover .history-item-delete{opacity:1}.history-item-delete:hover{background:#cf132214;color:var(--color-error)}.chat-container::-webkit-scrollbar{width:6px}.chat-container::-webkit-scrollbar-track{background:transparent}.chat-container::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:3px}.chat-container::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}.preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-normal) var(--ease-out)}.preview-modal.open{opacity:1}.preview-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preview-modal-panel{position:relative;width:800px;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003,0 4px 16px #0000001a;display:flex;flex-direction:column;overflow:hidden;transform:translateY(30px) scale(.97);transition:transform var(--duration-normal) var(--ease-out)}.preview-modal.open .preview-modal-panel{transform:translateY(0) scale(1)}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--color-divider);background:linear-gradient(135deg,#2185ff0a,#5062ee0a);flex-shrink:0}.preview-modal-header h2{font-size:var(--font-h1);font-weight:600;color:var(--color-text-primary);margin:0}.preview-modal-actions{display:flex;align-items:center;gap:var(--spacing-8)}.btn-preview-download{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;background:var(--color-gradient);color:var(--color-text-white);border:none;border-radius:6px;font-size:var(--font-body);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-family:var(--font-family)}.btn-preview-download:hover{opacity:.9;box-shadow:0 4px 12px #2a80e94d}.btn-preview-download svg{flex-shrink:0}.btn-preview-close{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--color-text-hint);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.btn-preview-close:hover{background:var(--color-bg-container);color:var(--color-text-primary)}.preview-content{flex:1;overflow-y:auto;padding:32px 36px;background:#fafbfc}.preview-content::-webkit-scrollbar{width:6px}.preview-content::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:3px}.preview-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}.preview-doc-title{text-align:center;font-size:22px;font-weight:700;color:var(--color-primary);padding-bottom:24px;margin-bottom:28px;border-bottom:2px solid var(--color-primary);letter-spacing:1px}.preview-section{margin-bottom:28px}.preview-section-title{font-size:17px;font-weight:700;color:var(--color-text-primary);padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--color-bg-component);display:flex;align-items:center;gap:8px}.preview-section-title:before{content:"";display:inline-block;width:4px;height:18px;background:var(--color-gradient);border-radius:2px}.preview-table{width:100%;border-collapse:collapse;font-size:var(--font-body);line-height:1.7;table-layout:fixed}.preview-table td{padding:10px 14px;border:1px solid #DEE2E6;vertical-align:top;color:var(--color-text-secondary);word-break:break-word}.preview-table-header{background:#e8f0fe!important;font-weight:600!important;color:var(--color-text-primary)!important;font-size:13px!important;letter-spacing:.3px}.preview-label{background:#f5f7fa;font-weight:600;color:var(--color-text-primary);width:100px;white-space:nowrap}.preview-content-cell{line-height:1.8}.preview-empty{color:var(--color-text-disabled);font-style:italic}.preview-page-card{background:#fff;border:1px solid #DEE2E6;border-radius:8px;padding:18px 20px;margin-bottom:14px;transition:border-color var(--duration-fast) var(--ease-out)}.preview-page-card:hover{border-color:var(--color-primary)}.preview-page-number{font-size:14px;font-weight:700;color:var(--color-primary);margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed #E8EBEC}.preview-page-field{font-size:var(--font-body);color:var(--color-text-secondary);margin-bottom:4px}.preview-page-label{font-weight:600;color:var(--color-text-primary)}.preview-page-body{font-size:13px;color:var(--color-text-secondary);line-height:1.8;padding:8px 14px;background:var(--color-bg-container);border-radius:6px;margin-bottom:10px;white-space:pre-wrap}.preview-layout-hint{background:#fff9ed;border-left:3px solid var(--color-warning)}.preview-empty-section{text-align:center;padding:32px 16px}@media (max-width: 767px){.preview-modal-panel{max-width:calc(100vw - 16px);max-height:calc(100vh - 32px);border-radius:8px}.preview-content{padding:20px 16px}.preview-doc-title{font-size:18px}.preview-modal-header{padding:14px 16px;flex-wrap:wrap;gap:8px}.preview-modal-header h2{font-size:15px}.btn-preview-download{padding:6px 14px;font-size:13px}}.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;gap:var(--spacing-24)}.preview-loading-spinner{width:44px;height:44px;border:3px solid var(--color-bg-component);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.preview-loading p{font-size:var(--font-body);color:var(--color-text-hint);text-align:center}
