:root{--bg:#fbfbfd;--ink:#1d1d1f;--ink-strong:#111827;--muted:#6e6e73;--muted-2:#8a8a90;--line:#d2d2d7;--line-soft:rgba(15,23,42,0.08);--accent:#0071e3;--accent-strong:#005bbd;--brand:#f1636b;--rose-soft:rgba(241,99,107,0.08);--blue-soft:#e7f2ff;--surface:rgba(255,255,255,0.88);--surface-soft:rgba(255,255,255,0.64);--shadow-card:0 24px 60px -34px rgba(0,0,0,0.32);--shadow-hover:0 30px 70px -42px rgba(0,0,0,0.34);font-family:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}[hidden]{display:none !important}html,body{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(1200px 560px at 50% -12%,#f2f6ff 0%,rgba(242,246,255,0) 62%),linear-gradient(180deg,#fff 0%,var(--bg) 42%,#f7f8fb 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:0}button,input{font:inherit}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:0}p{color:var(--muted)}.app-shell{width:95%;margin:0 auto;padding:2rem 0 2.5rem}.tool-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;margin-bottom:1.1rem;padding:1.25rem 0.25rem 0.4rem}.eyebrow,.panel-kicker{display:block;margin-bottom:0.42rem;color:var(--brand);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.hero-copy h1{margin-bottom:0.55rem;font-size:clamp(1.9rem,3.2vw,3.7rem);font-weight:760;line-height:1.06}.hero-copy p{max-width:760px;margin-bottom:0;color:#5f6368;font-size:0.98rem;line-height:1.65}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(5.5rem,1fr));gap:0.55rem}.metric{min-width:5.5rem;padding:0.72rem 0.82rem;border:1px solid var(--line-soft);border-radius:16px;background:rgba(255,255,255,0.72);box-shadow:0 18px 45px -35px rgba(0,0,0,0.32)}.metric strong{display:block;color:var(--ink);font-size:1.24rem;line-height:1.1;font-variant-numeric:tabular-nums}.metric span{display:block;margin-top:0.18rem;color:var(--muted);font-size:0.72rem}.tool-panel{overflow:hidden;border:1px solid rgba(0,0,0,0.05);border-radius:24px;background:rgba(255,255,255,0.62);box-shadow:0 1px 0 rgba(255,255,255,0.95) inset,0 30px 70px -48px rgba(0,0,0,0.38);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px)}.workflow-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.8rem;border-bottom:1px solid var(--line-soft);background:rgba(255,255,255,0.58)}.step-list,.workflow-status{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}.step-pill{display:inline-flex;align-items:center;gap:0.45rem;min-height:2.2rem;padding:0 0.8rem;border:1px solid rgba(15,23,42,0.08);border-radius:999px;color:#515154;background:rgba(255,255,255,0.86);cursor:default;font-size:0.82rem;font-weight:700;transition:border-color 0.25s ease,background-color 0.25s ease,color 0.25s ease}.step-pill span{color:var(--muted-2);font-size:0.7rem;font-variant-numeric:tabular-nums}.step-pill.active{color:var(--accent);border-color:#b8d8ff;background:var(--blue-soft)}.step-pill.active span{color:var(--accent)}.workflow-status{justify-content:flex-end}.workflow-status span,.clear-button{display:inline-flex;align-items:center;min-height:1.75rem;padding:0 0.62rem;border:1px solid rgba(15,23,42,0.08);border-radius:999px;color:#52525b;background:rgba(248,250,252,0.92);font-size:0.76rem;font-weight:650;font-variant-numeric:tabular-nums}.clear-button{color:#b42318;border-color:rgba(244,63,94,0.14);background:rgba(244,63,94,0.07);cursor:pointer;transition:background-color 0.2s ease,color 0.2s ease,transform 0.15s ease}.clear-button:hover{color:#981b1b;background:rgba(244,63,94,0.12)}.clear-button:active{transform:scale(0.97)}.workspace-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr) minmax(210px,260px);gap:0.8rem;padding:0.8rem}.panel{border:1px solid var(--line-soft);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-card);transition:transform 0.45s cubic-bezier(0.22,0.61,0.36,1),box-shadow 0.45s ease}.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.input-panel,.export-panel{padding:0.95rem}.input-panel{min-width:0}.preview-panel{display:flex;flex-direction:column;min-width:0;min-height:calc(100vh - 19rem);overflow:hidden}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0.85rem}.preview-head{flex-shrink:0;margin-bottom:0;padding:0.95rem 1rem;border-bottom:1px solid var(--line-soft);background:rgba(255,255,255,0.74)}.panel-head h2{margin-bottom:0.2rem;font-size:1rem;font-weight:760;line-height:1.25}.panel-note{margin-bottom:0;color:var(--muted);font-size:0.78rem;line-height:1.45}.soft-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.55rem;padding:0.1rem 0.52rem;border:1px solid rgba(241,99,107,0.18);border-radius:999px;color:#bf3f48;background:var(--rose-soft);font-size:0.7rem;font-weight:760}.soft-badge.is-blue{color:#0b63c2;border-color:#b8d8ff;background:var(--blue-soft)}.drop-zone{display:grid;grid-template-columns:2.9rem minmax(0,1fr);align-items:center;gap:0.78rem;min-height:6.7rem;margin-bottom:0.85rem;padding:0.82rem;border:1px dashed rgba(0,113,227,0.38);border-radius:16px;background:rgba(246,250,255,0.72);cursor:pointer;transition:background-color 0.2s ease,border-color 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop-zone:hover,.drop-zone.is-dragover{border-color:rgba(0,113,227,0.72);background:rgba(231,242,255,0.86);box-shadow:0 18px 36px -28px rgba(0,113,227,0.4);transform:translateY(-1px)}.drop-icon{display:grid;align-content:center;gap:0.24rem;width:2.9rem;height:2.9rem;padding:0.66rem;border-radius:14px;background:linear-gradient(135deg,var(--accent),#3b82f6);box-shadow:0 18px 28px -20px rgba(0,113,227,0.72)}.drop-icon span{display:block;height:3px;border-radius:999px;background:#fff}.drop-icon span:nth-child(2){width:78%}.drop-icon span:nth-child(3){width:58%}.drop-copy{display:grid;min-width:0;gap:0.2rem}.drop-copy strong{color:var(--ink);font-size:0.88rem;line-height:1.25}.drop-copy small{color:var(--muted);font-size:0.73rem;line-height:1.4}.settings-card{display:grid;gap:0.85rem;margin-bottom:0.85rem;padding:0.82rem;border:1px solid rgba(15,23,42,0.08);border-radius:16px;background:rgba(255,255,255,0.68)}.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem}.settings-head h3{margin-bottom:0;font-size:0.9rem;font-weight:760}.settings-section{display:grid;gap:0.62rem;margin:0;padding:0.72rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:rgba(248,250,252,0.72)}.settings-section legend{padding:0 0.28rem;color:#475467;font-size:0.74rem;font-weight:760}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.38rem}.check-line{display:flex;align-items:center;gap:0.42rem;min-width:0;color:#3f3f46;font-size:0.76rem;font-weight:650;line-height:1.35}.check-line input{flex:0 0 auto;width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.settings-grid{display:grid;grid-template-columns:minmax(4.6rem,0.72fr) minmax(0,1.28fr);gap:0.5rem}.range-grid{grid-template-columns:minmax(4.6rem,0.72fr) minmax(0,1.28fr)}.range-grid .field-wide{grid-column:1 / -1}.range-grid .range-line-field{grid-column:1 / -1}.field{display:grid;gap:0.3rem;min-width:0}.field-wide{grid-column:span 1}.field span{color:var(--muted);font-size:0.7rem;font-weight:650}.field input{width:100%;min-height:2rem;padding:0.42rem 0.55rem;border:1px solid rgba(15,23,42,0.11);border-radius:10px;color:var(--ink-strong);background:rgba(255,255,255,0.88);font-size:0.78rem;outline:none;transition:border-color 0.18s ease,box-shadow 0.18s ease,background-color 0.18s ease}.field input:focus{border-color:#8ec5ff;background:#fff;box-shadow:0 0 0 3px rgba(0,113,227,0.1)}.range-choice-list{display:grid;gap:0.38rem;width:100%;max-height:none;overflow:visible;padding:0.38rem;border:1px solid rgba(15,23,42,0.08);border-radius:12px;background:rgba(248,250,252,0.72)}.range-choice-note{color:#b42318;font-size:0.72rem;font-weight:700;line-height:1.35}.range-choice{display:block;width:100%;min-height:2rem;height:auto;padding:0.42rem 0.52rem;border:1px solid rgba(15,23,42,0.08);border-radius:10px;color:#3f3f46;background:rgba(255,255,255,0.86);cursor:pointer;font-size:0.74rem;font-weight:650;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;transition:border-color 0.18s ease,background-color 0.18s ease,color 0.18s ease}.range-choice:hover{background:#fff}.range-choice.is-selected{color:var(--accent);border-color:#b8d8ff;background:var(--blue-soft)}.file-list{display:grid;gap:0.45rem;max-height:none;overflow:auto;padding-right:0.12rem}.file-empty{display:grid;place-items:center;min-height:2.6rem;border:1px dashed rgba(15,23,42,0.12);border-radius:14px;color:var(--muted);background:rgba(255,255,255,0.56);font-size:0.78rem}.file-row{display:grid;grid-template-columns:2.15rem minmax(0,1fr) 1.72rem;align-items:center;gap:0.55rem;width:100%;min-height:3.35rem;padding:0.45rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;color:inherit;background:rgba(255,255,255,0.78);text-align:left;cursor:pointer;transition:background-color 0.18s ease,border-color 0.18s ease,transform 0.18s ease}.file-row:hover{transform:translateY(-1px);background:#fff}.file-row.is-active{border-color:#b8d8ff;background:var(--blue-soft)}.file-badge{display:grid;place-items:center;width:2.15rem;height:2.15rem;border:1px solid rgba(0,113,227,0.2);border-radius:12px;color:#0b63c2;background:#f2f8ff;font-size:0.56rem;font-weight:800;text-transform:uppercase}.file-name{display:block;overflow:hidden;margin-bottom:0.16rem;color:var(--ink-strong);font-size:0.78rem;font-weight:740;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:block;overflow:hidden;color:var(--muted);font-size:0.7rem;text-overflow:ellipsis;white-space:nowrap}.remove-button{display:grid;place-items:center;width:1.72rem;height:1.72rem;border-radius:999px;color:#9ca3af;background:transparent;cursor:pointer;font-size:1.05rem;line-height:1;transition:color 0.15s ease,background-color 0.15s ease}.remove-button:hover{color:#e11d48;background:rgba(244,63,94,0.08)}.stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0.45rem}.stats span{display:inline-flex;align-items:center;min-height:1.65rem;padding:0.12rem 0.52rem;border:1px solid rgba(15,23,42,0.08);border-radius:999px;color:#334155;background:#eef2f7;font-size:0.72rem;font-weight:720;font-variant-numeric:tabular-nums}.stats span:first-child{color:#0b63c2;border-color:#b8d8ff;background:var(--blue-soft)}.preview-area{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:linear-gradient(rgba(255,255,255,0.7),rgba(255,255,255,0.7)),linear-gradient(90deg,rgba(15,23,42,0.035) 1px,transparent 1px),linear-gradient(180deg,rgba(15,23,42,0.035) 1px,transparent 1px);background-size:auto,36px 36px,36px 36px}.sheet-tabs{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:0.42rem;padding:0.62rem 0.72rem;border-bottom:1px solid rgba(15,23,42,0.08);background:rgba(255,255,255,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.sheet-tab{display:inline-flex;align-items:center;max-width:min(24rem,100%);min-height:1.95rem;padding:0.28rem 0.62rem;border:1px solid rgba(15,23,42,0.08);border-radius:999px;color:#475467;background:rgba(248,250,252,0.92);cursor:pointer;font-size:0.76rem;font-weight:720;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color 0.18s ease,border-color 0.18s ease,color 0.18s ease}.sheet-tab:hover{background:#fff}.sheet-tab.is-active{color:var(--accent);border-color:#b8d8ff;background:var(--blue-soft)}.preview-scroll-top{flex:0 0 auto;height:14px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid rgba(15,23,42,0.08);background:rgba(248,250,252,0.82)}.preview-scroll-top>div{height:1px}.preview-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.empty-state{display:grid;place-items:center;align-content:center;min-height:100%;padding:2rem;text-align:center}.empty-state h3{margin:0.9rem 0 0.3rem;font-size:1.02rem;font-weight:760}.empty-state p{margin:0;font-size:0.84rem}.empty-mark{display:grid;align-content:center;gap:0.28rem;width:4.1rem;height:4.1rem;padding:0.95rem;border:1px solid rgba(15,23,42,0.08);border-radius:18px;background:rgba(255,255,255,0.92);box-shadow:0 18px 42px -34px rgba(0,0,0,0.36)}.empty-mark span{display:block;height:0.34rem;border-radius:999px;background:#dbeafe}.empty-mark span:first-child{width:75%;background:#b8d8ff}.empty-mark span:last-child{width:55%;background:#ffe1e5}.sheet-preview{min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed;background:rgba(255,255,255,0.94);font-size:0.78rem}.sheet-preview th,.sheet-preview td{height:2.05rem;padding:0.38rem 0.5rem;overflow:hidden;color:var(--ink-strong);border-right:1px solid rgba(15,23,42,0.08);border-bottom:1px solid rgba(15,23,42,0.08);text-overflow:ellipsis;white-space:pre}.sheet-preview th{position:sticky;top:0;z-index:1;color:#475467;background:rgba(248,250,252,0.96);font-weight:760}.sheet-preview th:first-child{left:0;z-index:2;text-align:center}.sheet-preview td:first-child{position:sticky;left:0;color:#475467;background:rgba(248,250,252,0.96);text-align:center;font-weight:760;font-variant-numeric:tabular-nums}.sheet-preview tr:hover td:not(:first-child){background:rgba(0,113,227,0.045)}.status-line{position:sticky;bottom:0;padding:0.68rem 0.9rem;color:var(--muted);border-top:1px solid rgba(15,23,42,0.08);background:rgba(255,255,255,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:0.78rem}.export-panel{display:flex;flex-direction:column;min-height:22rem}.export-summary{display:grid;gap:0.55rem;margin-bottom:0.85rem}.export-summary div{display:grid;gap:0.18rem;padding:0.68rem 0.72rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:rgba(255,255,255,0.78)}.export-summary span{color:var(--muted);font-size:0.72rem}.export-summary strong{overflow-wrap:anywhere;color:var(--ink-strong);font-size:0.92rem;font-weight:760}.export-mode{display:grid;gap:0.45rem;margin-bottom:0.85rem;padding:0.62rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:rgba(248,250,252,0.72)}.radio-line{display:flex;align-items:center;gap:0.45rem;min-height:1.85rem;color:#3f3f46;font-size:0.78rem;font-weight:650;line-height:1.35}.radio-line input{flex:0 0 auto;width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.merge-tools{display:grid;gap:0.5rem;margin-bottom:0.85rem;padding:0.62rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:rgba(255,255,255,0.72)}.merge-status{margin:0;color:var(--muted);font-size:0.73rem;line-height:1.45}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.34rem;margin-top:0.45rem;padding:0.62rem 0.95rem;border:1px solid transparent;border-radius:999px;cursor:pointer;font-size:0.86rem;font-weight:760;white-space:nowrap;transition:background-color 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease,color 0.2s ease,transform 0.15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(0.98)}.btn:disabled{cursor:not-allowed;opacity:0.48}.btn-primary{color:#fff;background:var(--accent);box-shadow:0 18px 34px -24px rgba(0,113,227,0.82)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary{color:#1d1d1f;border-color:rgba(15,23,42,0.1);background:rgba(255,255,255,0.84)}.btn-secondary:hover:not(:disabled){background:#fff}.btn-compact{min-height:2rem;margin-top:0;font-size:0.78rem}.export-note{margin:auto 0 0;padding-top:0.85rem;color:var(--muted);border-top:1px solid rgba(15,23,42,0.08);font-size:0.76rem;line-height:1.5}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid rgba(255,255,255,0.74);border-radius:999px;background:rgba(100,116,139,0.42)}::-webkit-scrollbar-track{background:rgba(248,250,252,0.8)}@media (max-width:1180px){.tool-hero{grid-template-columns:1fr;align-items:start}.hero-metrics{width:min(100%,520px)}.workspace-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.export-panel{grid-column:1 / -1;min-height:auto}.export-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.app-shell{width:95%}.tool-hero{padding-top:1rem}.hero-copy h1{font-size:clamp(1.75rem,9vw,2.55rem)}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{min-width:0;padding:0.68rem}.workflow-bar{align-items:flex-start;flex-direction:column}.workflow-status{justify-content:flex-start}.workspace-grid{grid-template-columns:1fr}.preview-panel{min-height:34rem}.file-list{max-height:none}.export-summary{grid-template-columns:1fr}}@media (max-width:560px){.app-shell{padding-top:1rem}.tool-panel{border-radius:20px}.hero-metrics{grid-template-columns:1fr}.metric{display:flex;align-items:baseline;justify-content:space-between;gap:0.6rem}.workflow-bar,.workspace-grid{padding:0.62rem}.step-list{width:100%}.step-pill{flex:1 1 100%;justify-content:center}.drop-zone{grid-template-columns:1fr;justify-items:start}.check-grid,.settings-grid{grid-template-columns:1fr}.range-grid .field-wide{grid-column:auto}.preview-head{flex-direction:column}.stats{justify-content:flex-start}.preview-table-wrap{-webkit-overflow-scrolling:touch}}