:root{color-scheme:light;font-family:SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:#111827;background:#eef2f7;--page-bg: #eef2f7;--panel-bg: rgba(255, 255, 255, .88);--surface-bg: #ffffff;--surface-soft: #f7f9fc;--surface-tint: #f1f5fb;--text-main: #111827;--text-muted: #66758c;--text-soft: #93a1b4;--border-main: #d8e1ec;--border-soft: #e8edf4;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .1);--success-bg: #ecf8f1;--success-border: #c0e2cd;--success-text: #1c7a50;--warn-bg: #fff4f1;--warn-border: #efc7c0;--warn-text: #9d4639;--shadow-panel: 0 12px 32px rgba(15, 23, 42, .06);--shadow-frame: 0 18px 44px rgba(15, 23, 42, .1);--radius-panel: 20px;--radius-card: 16px;--radius-pill: 999px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;color:var(--text-main);background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 20%),var(--page-bg)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid rgba(37,99,235,.22);outline-offset:2px}.app-shell{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:16px;overflow:hidden}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-card{width:min(440px,100%);display:grid;gap:18px;padding:28px;border:1px solid rgba(216,225,236,.88);border-radius:var(--radius-panel);background:var(--panel-bg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-brand{align-items:flex-start}.login-copy{display:grid;gap:6px}.login-copy strong{font-size:22px;line-height:1.2}.login-copy p,.login-helper{margin:0;color:var(--text-muted);font-size:14px}.login-field{display:grid;gap:8px;font-size:13px;color:var(--text-main)}.login-field input{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--border-main);border-radius:14px;background:#fff;color:var(--text-main)}.login-error{padding:12px 14px;border-radius:14px;border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text);font-size:13px}.login-submit{width:100%}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.app-brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:15px;box-shadow:0 10px 22px #2563eb3d}.brand-copy-wrap{min-width:0}.brand-copy-wrap h1,.panel-head h2,.section-head h3,.preview-panel-head h2{margin:0}.brand-copy-wrap h1{font-size:28px;line-height:1.08;letter-spacing:-.03em}.compact-status span,.preview-empty p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.status-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:var(--radius-pill);border:1px solid var(--border-main);background:#ffffffdb;color:var(--text-muted);font-size:12px;font-weight:600;white-space:nowrap}.status-pill.pending{color:#8d6216;border-color:#efd6a0;background:#fff7e8}.status-pill.ready{color:var(--success-text);border-color:var(--success-border);background:var(--success-bg)}.workspace-grid{min-height:0;display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(280px,320px);gap:16px}.tool-column,.preview-column{min-width:0;min-height:0}.tool-column{position:relative}.tool-panel,.preview-panel{height:100%;min-height:0;border:1px solid rgba(216,225,236,.88);border-radius:var(--radius-panel);background:var(--panel-bg);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tool-panel{display:flex;flex-direction:column;gap:14px;padding:18px;overflow:auto}.preview-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px}.panel-head,.section-head,.preview-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head{align-items:flex-start}.panel-head h2,.preview-panel-head h2{font-size:18px;line-height:1.2}.preview-panel-head{justify-content:flex-start;align-items:flex-start}.stack-block,.control-block{display:grid;gap:12px;padding:14px;border-radius:var(--radius-card);background:var(--surface-bg);border:1px solid var(--border-soft)}.compact-status{display:grid;gap:2px;min-width:0}.compact-status strong{display:block;font-size:15px;word-break:break-all}.path-text{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.button-stack{display:grid;gap:10px}.task-hint{display:inline-flex;align-items:center;gap:8px;min-height:18px;color:var(--text-muted);font-size:12px}.task-hint.busy:before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid rgba(37,99,235,.16);border-top-color:var(--accent);animation:task-spin .9s linear infinite}.inline-actions>*{flex:1 1 0}.primary-button,.ghost-button,.preset-button,.text-button,.segment,.alert button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border-radius:14px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.primary-button{color:#fff;background:linear-gradient(180deg,#3474f2,#245cd9);box-shadow:0 10px 20px #2563eb33}.primary-button:hover{background:linear-gradient(180deg,#286cef,#1f52cb)}.ghost-button,.preset-button,.text-button,.segment,.alert button{color:var(--text-main);background:#fff;border-color:var(--border-main)}.ghost-button:hover,.preset-button:hover,.text-button:hover,.segment:hover,.alert button:hover{border-color:#c7d4e4;background:#fafcff}.primary-button:active,.ghost-button:active,.preset-button:active,.text-button:active,.segment:active,.alert button:active{transform:translateY(1px) scale(.99)}.primary-button:disabled,.ghost-button:disabled,.text-button:disabled{opacity:.56;cursor:not-allowed;box-shadow:none}.text-button{min-height:auto;padding:0;border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:500;box-shadow:none}.text-button:hover{background:transparent;border-color:transparent;color:#1f52cb}.brand-mark svg,.primary-button svg,.ghost-button svg,.text-button svg,.segment svg,.alert button svg{flex:none}.section-head{align-items:end}.section-head h3{font-size:15px;line-height:1.3}.section-head strong{font-size:18px;letter-spacing:-.03em}.section-head .section-value{font-size:15px;font-weight:600;letter-spacing:0}.preset-row,.segmented-control{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-button.active,.segment.active{color:var(--accent);border-color:#2563eb3d;background:var(--accent-soft)}.range-input{width:100%;margin:0;accent-color:var(--accent)}.field-label{display:grid;gap:8px;font-size:13px;color:var(--text-main)}.compact-field{margin-top:-2px}.field-label input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--border-main);border-radius:14px;background:#fff;color:var(--text-main);cursor:text}.directory-block{display:grid;gap:10px}.directory-path{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:normal}.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-stats>div{padding:12px 14px;border-radius:var(--radius-card);background:var(--surface-tint);border:1px solid var(--border-soft)}.meta-label{display:block;margin-bottom:4px;color:var(--text-soft);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.preview-rail{position:relative;min-height:0;overflow:auto;border-radius:18px;border:1px solid #dce5f0;background:linear-gradient(180deg,rgba(211,220,232,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(211,220,232,.4) 1px,transparent 1px),linear-gradient(180deg,#eef3f9,#ecf1f8);background-size:28px 28px;padding:24px}.preview-stage{width:max-content;min-width:100%;display:flex;justify-content:center}.preview-frame{position:relative;overflow:hidden;border-radius:18px;border:1px solid #ccd7e6;background:#fff;box-shadow:var(--shadow-frame)}.preview-frame iframe{display:block;border:0;background:#fff}.slice-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.slice-line{position:absolute;left:0;right:0;height:0;border-top:2px dashed rgba(37,99,235,.78);box-shadow:0 0 0 2px #ffffff6b}.preview-empty{min-height:100%;display:grid;place-items:center;padding:24px;border-radius:18px;border:1px dashed #c7d4e4;background:#ffffffd6}.preview-empty-content{text-align:center}.preview-empty strong{display:block;font-size:28px;line-height:1.14;letter-spacing:-.03em}.export-actions{display:grid;gap:10px}.slice-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.slice-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:10px 12px;border-radius:14px;border:1px solid var(--border-soft);background:var(--surface-soft);font-size:13px}.floating-alerts{position:fixed;top:16px;right:16px;z-index:20;width:min(380px,calc(100vw - 32px))}.alert-stack{display:grid;gap:10px}.alert{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px;border-radius:16px;border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text);box-shadow:0 16px 36px #9d46391a;font-size:13px}.alert.notice{align-items:center;border-color:#cfe0ff;background:#f4f8fff5;color:#365f9f;box-shadow:0 16px 36px #2563eb14}.alert button{min-height:32px;min-width:32px;padding:0;color:inherit;background:#ffffffc2}@keyframes task-spin{to{transform:rotate(360deg)}}@media (max-width: 1240px){.workspace-grid{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(260px,300px)}}@media (max-width: 1080px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.workspace-header,.workspace-grid{display:grid}.workspace-grid{grid-template-columns:1fr}.tool-panel,.preview-panel{height:auto}.preview-panel{min-height:640px}.preview-rail{min-height:520px}}@media (max-width: 720px){.app-shell{padding:12px;gap:12px}.login-shell{padding:12px}.login-card{padding:22px}.workspace-header{gap:12px}.tool-panel,.preview-panel{padding:14px;border-radius:18px}.brand-copy-wrap h1,.preview-empty strong{font-size:24px}.preset-row,.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-actions{display:grid;grid-template-columns:1fr}.preview-panel-head,.panel-head,.section-head{align-items:flex-start}.preview-panel-head,.preview-stats{display:grid}.preview-rail{padding:16px}.floating-alerts{top:auto;right:12px;bottom:12px;width:calc(100vw - 24px)}}
