.tool-page{max-width:840px;margin:0 auto;padding:32px 24px 48px}.tool-header{margin-bottom:28px}.tool-header h1{font-size:var(--fs-xl);color:var(--text);font-weight:700;font-family:var(--font-display);margin:0 0 6px}.tool-header p{font-size:var(--fs-body);color:var(--text-muted);margin:0}.tool-section{margin-bottom:24px}.tool-section-title{font-size:var(--fs-sm);color:var(--text);margin-bottom:10px;font-weight:600}.tool-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:20px;transition:all .2s}.tool-card:hover{border-color:var(--accent);box-shadow:0 2px 12px #ff244214}.tool-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.tool-card-title{font-size:var(--fs-body);color:var(--text);font-weight:600}.tool-card-badge{font-size:var(--fs-xs);color:var(--accent);background:var(--accent-light);white-space:nowrap;border-radius:100px;padding:2px 10px}.tool-card-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}.tool-pills{flex-wrap:wrap;gap:8px;display:flex}.tool-pill{font-size:var(--fs-sm);border:1px solid var(--border);background:var(--white);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:100px;padding:7px 16px;font-weight:500;transition:all .15s}.tool-pill:hover{border-color:var(--accent);color:var(--accent)}.tool-pill--active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.tool-result{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);margin-top:20px;padding:24px}.tool-diff{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.tool-diff{grid-template-columns:1fr}}.tool-diff-col{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:16px}.tool-diff-label{font-size:var(--fs-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.tool-diff-note{background:var(--accent-light);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--accent);margin-top:16px;padding:12px 16px;line-height:1.6}.tool-actions{align-items:center;gap:12px;margin-top:24px;display:flex}.tool-hint{font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px}.tool-error{font-size:var(--fs-sm);color:var(--danger);border-radius:var(--radius-sm);background:#fff5f0;border:1px solid #f5d0c0;margin-bottom:16px;padding:12px 16px}.tool-success{font-size:var(--fs-sm);color:var(--accent);background:var(--accent-light);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sand:#e6d7bd;--sand-light:#f2ece0;--surface:#f9f5ed;--white:#fff;--text:#2c241a;--text-muted:#6b6255;--text-faint:#a0988a;--accent:#ff2442;--accent-hover:#d91e38;--accent-light:#fff0f2;--accent-soft:#ffe0e5;--warn:#c66b3d;--warn-light:#fff5f0;--warn-border:#f5d0c0;--danger:#b33a3a;--danger-light:#fdf0f0;--border:#d9cfbc;--border-light:#e8e0d2;--radius-sm:6px;--radius:12px;--radius-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--fs-xs:12px;--fs-sm:14px;--fs-body:16px;--fs-md:19px;--fs-lg:23px;--fs-xl:30px;--fs-2xl:32px;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--font-display:"Noto Serif SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", serif;--font-body:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--shadow:0 1px 3px #2c241a0f;--shadow-md:0 3px 12px #2c241a14;--shadow-lg:0 6px 24px #2c241a1a;--ease:cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s var(--ease);--transition-base:.35s var(--ease);--transition-slow:.5s var(--ease)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--sand);color:var(--text);min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);line-height:1.75}#root{min-height:100dvh}body:before{content:"";z-index:9999;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E");position:fixed;inset:0}.app-layout{height:100dvh;display:flex;overflow:hidden}.workflow-progress{background:var(--sand-light);border-bottom:1px solid var(--border-light);z-index:60;align-items:center;gap:0;height:56px;padding:12px 24px;display:flex;position:sticky;top:0}.wf-step{flex:1;align-items:center;gap:0;display:flex;position:relative}.wf-step-dot{width:28px;height:28px;font-size:var(--fs-xs);transition:all var(--transition-slow);border:2px solid var(--border);background:var(--surface);color:var(--text-faint);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.wf-step.completed .wf-step-dot{background:var(--accent);border-color:var(--accent);color:#fff}.wf-step.current .wf-step-dot{border-color:var(--accent);background:var(--accent-light);color:var(--accent);animation:2.5s ease-in-out infinite breathe}@keyframes breathe{0%,to{box-shadow:0 0 #ff244233}50%{box-shadow:0 0 0 8px #ff244200}}.wf-step-line{background:var(--border-light);height:2px;transition:background .5s var(--ease);border-radius:1px;flex:1;margin:0 6px}.wf-step.completed .wf-step-line{background:var(--accent-soft)}.wf-step:last-child .wf-step-line{display:none}.wf-step-label{white-space:nowrap;color:var(--text-faint);transition:color var(--transition-base);font-size:11px;position:absolute;top:32px;left:50%;transform:translate(-50%)}.wf-step.completed .wf-step-label,.wf-step.current .wf-step-label{color:var(--accent);font-weight:600}.side-nav{background:var(--sand-light);border-right:1px solid var(--border-light);flex-direction:column;flex-shrink:0;width:220px;display:flex}.side-nav-brand{cursor:pointer;padding:16px 16px 8px}.side-nav-logo{width:180px;max-width:100%;height:auto;display:block}.side-nav-brand:before{display:none}.side-nav-desc{font-size:var(--fs-xs);color:var(--text-faint);padding:0 20px 16px;line-height:1.4}.side-nav-links{flex-direction:column;flex:1;gap:2px;padding:0 10px;display:flex;overflow-y:auto}.side-nav-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:16px 10px 4px;font-size:11px;font-weight:600}.side-nav-link{border-radius:var(--radius-sm);width:100%;color:var(--text);font-size:var(--fs-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;display:flex}.side-nav-link:hover{background:var(--accent-light);color:var(--accent)}.side-nav-link.active{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;display:flex}.nav-badge{background:var(--accent-soft);color:var(--accent);border-radius:10px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600}.nav-icon--polish{color:var(--accent);background:#f2f6ec}.nav-icon--skeleton{color:var(--warn);background:#f5f0e6}.nav-icon--compliance{color:#b33a3a;background:#fdf0f0}.nav-icon--write{color:#ff2442;background:#fff0f0}.nav-icon--xhs{color:#ff2442;background:#fff0f2}.side-nav-pipe{align-items:center;gap:0;margin:2px 0 6px;padding:6px 12px;display:flex}.side-nav-pipe-step{align-items:center;display:flex}.pipe-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .3s,box-shadow .3s}.pipe-dot.done{background:var(--accent)}.pipe-dot.current{background:var(--accent);box-shadow:0 0 0 3px #ff244233}.pipe-line{background:var(--border);flex-shrink:0;width:14px;height:1px;transition:background .3s}.pipe-line.done{background:var(--accent)}.main-content{background:var(--sand);flex:1;overflow:auto}.page-title{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text);letter-spacing:-.02em;font-weight:700;line-height:1.3}.section-title{font-size:var(--fs-md);color:var(--text);letter-spacing:-.01em;font-weight:600}.body-text{font-size:var(--fs-body);color:var(--text);line-height:1.7}.meta-text{font-size:var(--fs-xs);color:var(--text-faint)}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);transition:all var(--transition-base);padding:20px}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.card.clickable{cursor:pointer}.card.clickable:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-soft);transform:translateY(-2px)}.btn-primary{border-radius:var(--radius-sm);font-size:var(--fs-body);cursor:pointer;background:var(--accent);color:#fff;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 24px;font-family:inherit;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 2px 12px #ff244240}.btn-primary:disabled{background:var(--border);color:var(--text-faint);cursor:not-allowed;transform:none}.btn-secondary{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);cursor:pointer;background:var(--surface);color:var(--text);transition:all var(--transition-base);justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-weight:500;display:inline-flex}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-ghost{border-radius:var(--radius-sm);font-size:var(--fs-sm);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;padding:8px 14px;font-family:inherit}.btn-ghost:hover{background:var(--accent-light);color:var(--accent)}.input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-body);color:var(--text);background:var(--white);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);outline:none;padding:12px 16px;font-family:inherit}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff24421a}.input::placeholder{color:var(--text-faint)}.textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-body);color:var(--text);background:var(--white);resize:vertical;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);outline:none;padding:14px 16px;font-family:inherit;line-height:1.7}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff24421a}.textarea::placeholder{color:var(--text-faint)}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--border);font-size:var(--fs-xs);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border-radius:20px;padding:6px 14px;font-family:inherit;font-weight:500}.pill:hover{border-color:var(--accent-soft);background:var(--accent-light);color:var(--accent)}.pill.on{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.pill:disabled{opacity:.4;cursor:not-allowed}.tag{background:var(--accent-light);color:var(--accent);font-size:var(--fs-xs);border-radius:12px;align-items:center;padding:3px 10px;font-weight:500;display:inline-flex}.tag.warn{background:var(--warn-light);color:var(--warn)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.empty-state-icon{background:var(--accent-light);width:64px;height:64px;color:var(--accent);border-radius:20px;justify-content:center;align-items:center;font-size:28px;display:flex}.empty-state-title{font-size:var(--fs-lg);color:var(--text);font-weight:600}.empty-state-desc{font-size:var(--fs-body);color:var(--text-muted);max-width:400px;line-height:1.6}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-pulse{border-radius:var(--radius);background:var(--accent);width:40px;height:40px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35;transform:scale(.95)}50%{opacity:.7;transform:scale(1.05)}}.error-banner{background:var(--danger-light);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--fs-sm);border:1px solid #b33a3a33;align-items:center;gap:12px;padding:12px 18px;display:flex}.scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c241a4d}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::selection{background:var(--accent-soft);color:var(--accent)}@media (width<=768px){.side-nav{width:56px}.side-nav-brand{padding:10px 6px}.side-nav-logo{width:40px}.side-nav-desc,.side-nav-section,.side-nav-pipe,.nav-label{display:none}.side-nav-link{justify-content:center;padding:12px 8px}.nav-badge{display:none}.workflow-progress{gap:2px;height:48px;padding:8px 10px}.wf-step-label{display:none}.wf-step-dot{border-radius:11px;width:22px;height:22px;font-size:10px}.bottom-tab-bar{height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border-light);z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 6px #2c241a0a}.bottom-tab{color:var(--text-faint);cursor:pointer;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-family:inherit;font-size:10px;font-weight:500;display:flex}.bottom-tab.active{color:var(--accent);font-weight:600}.bottom-tab-icon{font-size:20px;line-height:1}.bottom-tab-icon.num{color:#8b7355;background:#f5f0e8;border-radius:11px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.bottom-tab.active .bottom-tab-icon.num{background:var(--accent);color:#fff}.main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.scene-body{height:calc(100dvh - 48px - 56px - env(safe-area-inset-bottom,0px));flex-direction:column}.scene-controls{border-right:none;border-bottom:1px solid var(--border-light);flex-shrink:0;width:100%;max-height:45%;padding:14px 12px}.scene-result{padding:20px 16px}.home{padding:40px 16px 80px}.home-hero h1{font-size:26px}.home-hero .subtitle{font-size:var(--fs-sm)}.home-card{gap:12px;padding:16px}.home-card-icon{width:40px;height:40px;font-size:20px}.home-card-name{font-size:var(--fs-body)}.lab{padding:24px 14px 80px}.lab-grid{grid-template-columns:1fr;gap:10px}:root{--fs-xl:24px;--fs-lg:19px;--fs-md:17px}.btn-primary,.btn-secondary{min-height:44px;padding:12px 20px}.pill{min-height:36px}}@media (width>=769px){.bottom-tab-bar{display:none!important}}.mobile-toolbar-container{display:none}@media (width<=768px){.mobile-toolbar-container{display:block}.mobile-toolbar{bottom:calc(56px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border-light);z-index:90;justify-content:space-around;align-items:center;height:56px;padding:0 8px;display:flex;position:fixed;left:0;right:0;box-shadow:0 -1px 6px #2c241a0a}.mobile-tool-btn{cursor:pointer;min-width:44px;color:var(--text-faint);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;padding:4px;font-family:inherit;font-size:10px;transition:color .15s;display:flex;position:relative}.mobile-tool-btn.active{color:var(--accent);font-weight:600}.mobile-tool-btn.active:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;bottom:0;left:6px;right:6px}.mobile-tool-icon{border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;transition:all .15s;display:flex;position:relative}.mobile-tool-btn.active .mobile-tool-icon{background:#fff0f2}.mobile-tool-label{font-size:10px;line-height:1}.mobile-tool-btn.copy-btn .mobile-tool-icon{width:30px;height:30px;color:var(--accent);background:#fff5f5;border-radius:10px;font-size:18px;font-weight:700;box-shadow:0 1px 4px #ff24421f}.mobile-tool-btn.copy-btn .mobile-tool-label{color:var(--accent);font-weight:600}.mobile-tool-btn.copy-btn.active .mobile-tool-icon{background:#ffe0e5;box-shadow:0 1px 6px #ff244233}.mobile-red-dot{background:#ff2442;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite mobile-pulse-dot;position:absolute;top:-2px;right:-2px;box-shadow:0 0 0 2px #fff}@keyframes mobile-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}.mobile-tool-btn.copy-btn.generated .mobile-red-dot{display:none}.mobile-tool-sep{background:var(--border);flex-shrink:0;align-self:center;width:1px;height:22px}.mobile-sheet-overlay{z-index:88;background:#0000004d;animation:.2s mobile-fade-in;position:fixed;inset:0}@keyframes mobile-fade-in{0%{opacity:0}to{opacity:1}}.mobile-sheet{bottom:calc(56px + 56px + env(safe-area-inset-bottom,0px));background:var(--surface);z-index:89;border-radius:16px 16px 0 0;flex-direction:column;max-height:50vh;animation:.25s cubic-bezier(.32,.72,0,1) mobile-sheet-up;display:flex;position:fixed;left:0;right:0;overflow:hidden;box-shadow:0 -4px 24px #0000001f}@keyframes mobile-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sheet-handle{background:#ddd;border-radius:2px;flex-shrink:0;width:32px;height:4px;margin:8px auto 0}.mobile-sheet-title{flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px 4px;font-size:13px;font-weight:700;display:flex}.mobile-sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:8px 16px 20px;overflow-y:auto}.scene-controls,.scene-body>div:last-child{display:none!important}.scene-body{height:calc(100dvh - 48px - 56px - 56px - env(safe-area-inset-bottom,0px))!important;flex-direction:column!important;flex:none!important}.scene-body>div:nth-child(2){flex:1;overflow-y:auto;width:100%!important}.scene-result{width:100%!important;padding:8px 12px!important}.scene-header{flex-shrink:0}.main-content{padding-bottom:calc(56px + 56px + env(safe-area-inset-bottom,0px))!important}}@media (width>=769px){.mobile-toolbar-container{display:none!important}}@media (width<=768px){.xhs-editor-page .side-nav,.xhs-editor-page .bottom-tab-bar{display:none!important}.xhs-editor-page .main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))!important}.xhs-editor-page .scene-body{height:calc(100dvh - 48px - 56px - env(safe-area-inset-bottom,0px))!important}.xhs-editor-page .mobile-toolbar{bottom:env(safe-area-inset-bottom,0px)!important}.xhs-editor-page .mobile-sheet{bottom:calc(56px + env(safe-area-inset-bottom,0px))!important}.xhs-editor-page .scene-result{box-shadow:none!important;background:#f0ede8!important;border:none!important;border-radius:0!important}.xhs-editor-page .scene-result canvas{border-radius:12px!important;width:260px!important;max-width:100%!important;height:347px!important;max-height:none!important;box-shadow:0 4px 20px #0000001a!important}.xhs-editor-page .scene-header{background:#fff!important;border-bottom:1px solid #e8e8e2!important;height:50px!important;padding:0 12px!important}.xhs-editor-page .scene-header .btn-back{background:#f5f0e8!important;border-radius:16px!important;width:32px!important;height:32px!important}.creator-write{padding:20px 14px 80px!important}.creator-write h1{font-size:var(--fs-lg)!important}.creator-write>div:first-of-type>p{font-size:var(--fs-sm)!important}.creator-write textarea{min-height:180px!important;padding:16px!important;font-size:16px!important}.creator-write .material-tags{gap:4px!important;padding:6px 10px!important}.creator-write .nudge-bar{flex-wrap:wrap;gap:8px}.creator-write .generate-btn-wrap button{max-width:100%!important}.creator-write .result-variants-grid{grid-template-columns:1fr!important}.creator-write .action-bar{flex-direction:column}.creator-write .action-bar button{width:100%}.creator-write .title-list button{padding:8px 10px!important}.creator-write .quality-panel{margin-bottom:16px}.creator-write .quality-panel-header{padding:8px 12px;font-size:13px}.creator-write .quality-panel-body.open{max-height:500px}.creator-write .quality-dim-label,.creator-write .quality-flag{font-size:11px}.creator-write .quality-suggestion{padding:5px 8px;font-size:11px}.creator-write .quality-suggestions-title{font-size:11px}}.home{max-width:720px;margin:0 auto;padding:80px 24px}.home-hero{text-align:center;margin-bottom:56px}.home-hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:14px;font-size:36px;font-weight:700;line-height:1.35}.home-hero .subtitle{font-size:var(--fs-body);color:var(--text-muted);max-width:440px;margin:0 auto;line-height:1.6}.home-grid{flex-direction:column;gap:10px;display:flex}.home-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);cursor:pointer;transition:all var(--transition-base);text-align:left;color:var(--text);align-items:center;gap:18px;padding:22px 24px;font-family:inherit;display:flex}.home-card:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-md);transform:translate(4px)}.home-card-icon{border-radius:var(--radius-sm);background:var(--accent-light);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.home-card-info{flex:1}.home-card-question{font-size:var(--fs-sm);color:var(--accent);margin-bottom:4px;font-weight:500}.home-card-name{font-size:var(--fs-md);margin-bottom:2px;font-weight:600}.home-card-desc{font-size:var(--fs-sm);color:var(--text-muted)}.home-card-meta{font-size:var(--fs-xs);color:var(--text-faint);transition:transform .2s var(--ease);flex-shrink:0;align-items:center;gap:4px;display:flex}.home-card:hover .home-card-meta{color:var(--accent);transform:translate(2px)}.home-footer{text-align:center;font-size:var(--fs-xs);color:var(--text-faint);margin-top:48px}.scene-page{flex-direction:column;min-height:100vh;display:flex}.scene-header{background:var(--surface);border-bottom:1px solid var(--border-light);z-index:50;align-items:center;gap:16px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.lab{max-width:840px;margin:0 auto;padding:40px 24px 80px}.lab-stage-title{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text);margin-bottom:6px;font-weight:700}.lab-stage-desc{font-size:var(--fs-body);color:var(--text-muted);margin-bottom:32px;line-height:1.5}.lab-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:32px;display:grid}.lab-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:all var(--transition-base);padding:20px}.lab-card:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}.lab-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #ff24421a}.lab-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.lab-card-title{font-size:var(--fs-body);font-weight:600}.lab-card-badge{background:var(--accent-light);color:var(--accent);border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.lab-card-desc{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.5}.passage-list{flex-direction:column;gap:20px;margin-bottom:32px;display:flex}.passage-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);transition:border-color .2s var(--ease);padding:20px}.passage-card:focus-within{border-color:var(--accent-soft)}.passage-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.passage-label{font-size:var(--fs-sm);align-items:center;gap:10px;font-weight:600;display:flex}.passage-number{background:var(--accent-light);width:24px;height:24px;color:var(--accent);font-size:var(--fs-xs);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.passage-direction{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:12px;padding-left:34px;line-height:1.5}.passage-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:80px;font-size:var(--fs-body);color:var(--text);background:var(--sand-light);resize:vertical;transition:border-color .2s var(--ease), background .2s var(--ease);outline:none;padding:12px 14px;font-family:inherit;line-height:1.7}.passage-textarea:focus{border-color:var(--accent);background:var(--white);box-shadow:0 0 0 3px #ff244214}.passage-textarea::placeholder{color:var(--text-faint)}.passage-hint{font-size:var(--fs-xs);color:var(--text-faint);margin-top:6px;padding-left:34px}.diff-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}.diff-header{background:var(--accent-light);border-bottom:1px solid var(--accent-soft);font-size:var(--fs-xs);color:var(--accent);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;display:flex}.diff-body{grid-template-columns:1fr 1fr;gap:0;display:grid}.diff-col{font-size:var(--fs-sm);padding:14px 16px;line-height:1.6}.diff-col:first-child{background:var(--sand-light);border-right:1px solid var(--border-light)}.diff-col-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:8px;font-size:11px;font-weight:600}.diff-note{background:var(--accent-light);border-top:1px solid var(--accent-soft);font-size:var(--fs-xs);color:var(--text-muted);padding:10px 16px;line-height:1.5}.btn-retract{border:1px solid var(--border);font-size:var(--fs-xs);cursor:pointer;background:var(--surface);color:var(--text-muted);transition:all var(--transition-fast);border-radius:14px;padding:4px 12px;font-family:inherit}.btn-retract:hover{border-color:var(--warn);color:var(--warn)}.stage-actions{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:8px;padding-top:24px;display:flex}.xhs-section-title{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-weight:600}.xhs-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow)}.xhs-pill{font-size:var(--fs-xs);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all var(--transition-fast);border-radius:14px;padding:5px 14px}.xhs-pill:hover{border-color:var(--accent-soft)}.xhs-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.xhs-btn-primary{width:100%;font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);background:var(--accent);color:#fff;border:none;padding:11px 0;font-family:inherit;font-weight:600}.xhs-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.xhs-btn-primary:disabled{background:var(--border);color:var(--text-faint);cursor:not-allowed}.xhs-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-sm);background:var(--white);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);outline:none;padding:10px 14px}.xhs-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff24421a}.xhs-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-sm);resize:vertical;transition:border-color .2s var(--ease);outline:none;padding:10px 14px;font-family:inherit;line-height:1.7}.xhs-textarea:focus{border-color:var(--accent)}.xhs-empty{text-align:center;color:var(--text-muted);padding:60px 20px}.xhs-btn-ai{font-size:var(--fs-xs);border:1px solid var(--accent-soft);background:var(--surface);color:var(--accent);cursor:pointer;transition:all var(--transition-fast);border-radius:14px;padding:5px 14px;font-family:inherit;font-weight:500}.xhs-btn-ai:hover:not(:disabled){background:var(--accent-light)}.xhs-btn-ai:disabled{opacity:.5;cursor:not-allowed}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.scene-body{flex:1;height:calc(100vh - 56px);display:flex;overflow:hidden}.scene-controls{border-right:1px solid var(--border-light);background:var(--surface);flex-direction:column;flex-shrink:0;gap:16px;width:340px;padding:20px 18px;display:flex;overflow-y:auto}.scene-result{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex;overflow-y:auto}.result-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;display:flex}.empty-icon{color:var(--text-faint);font-size:56px}.empty-title{font-size:var(--fs-lg);color:var(--text);font-weight:600}.empty-sub{font-size:var(--fs-sm);color:var(--text-muted)}.result-image{border-radius:var(--radius);max-width:100%;max-height:520px;box-shadow:var(--shadow-md)}.quality-panel{border:1px solid var(--border,#e8e8e2);border-radius:var(--radius,12px);background:var(--white,#fff);margin-bottom:24px;overflow:hidden}.quality-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text,#2c241a);justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.quality-panel-header:hover{background:var(--accent-light,#fff0f2)}.quality-arrow{width:20px;height:20px;transition:transform .3s var(--ease);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.quality-arrow.open{transform:rotate(180deg)}.quality-panel-body{max-height:0;padding:0 16px;transition:max-height .3s,padding .3s;overflow:hidden}.quality-panel-body.open{max-height:600px;padding:0 16px 16px}.quality-dimension{margin-bottom:10px}.quality-dimension:first-child{margin-top:8px}.quality-dim-label{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.quality-bar-track{background:var(--border-light,#e8e0d2);border-radius:3px;width:100%;height:6px;overflow:hidden}.quality-bar-fill{height:100%;transition:width .5s var(--ease,ease);border-radius:3px}.quality-flags{border-radius:var(--radius-sm);background:#fff8e7;border:1px solid #f0d78c;margin-top:12px;padding:10px 12px}.quality-flag{font-size:var(--fs-xs);color:#8b6914;padding:2px 0;line-height:1.5}.quality-flag+.quality-flag{border-top:1px solid #f5e8c0;margin-top:4px;padding-top:6px}.quality-suggestions{margin-top:12px}.quality-suggestions-title{font-size:var(--fs-xs);color:var(--text);margin-bottom:6px;font-weight:600}.quality-suggestion{font-size:var(--fs-xs);color:var(--text-muted);border-radius:var(--radius-sm);background:var(--accent-light);align-items:flex-start;gap:6px;margin-bottom:4px;padding:6px 10px;line-height:1.5;display:flex}.quality-suggestion:last-child{margin-bottom:0}
