:root{font-family:Noto Sans CJK SC,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;color:#172b35;background:#edf1f2;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #edf1f2;--surface: #f9fbfb;--surface-strong: #ffffff;--surface-soft: #f1f5f5;--text: #172b35;--text-soft: #415861;--muted: #6d7f86;--accent: #006c78;--accent-strong: #00545f;--accent-soft: #dcecee;--accent-pale: #eef6f7;--line: #d6dfe1;--line-strong: #bdcbce;--success: #28705a;--success-bg: #e0eee8;--warning: #8a6120;--warning-bg: #f5ead6;--danger: #a0443c;--danger-bg: #f7e6e4;--radius: 14px;--shadow-soft: 0 10px 28px rgba(27, 50, 59, .06);--shadow-raised: 0 18px 52px rgba(27, 50, 59, .09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--canvas);font-size:14px;line-height:1.55}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.7),transparent 42%),radial-gradient(circle at 82% 4%,rgba(0,108,120,.07),transparent 30%)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid rgba(0,108,120,.24);outline-offset:2px}.app-header{color:var(--text);background:#f9fbfbf0;border-bottom:1px solid var(--line)}.app-header-inner{max-width:1500px;min-height:78px;margin:0 auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:24px}.app-identity{min-width:0;display:flex;align-items:center;gap:14px}.app-identity>div{min-width:0}.brand-mark{width:39px;height:39px;flex:none;position:relative;overflow:hidden;display:block;background:var(--accent);border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff29}.brand-mark:before,.brand-mark:after,.brand-mark i{content:"";position:absolute;left:-6px;width:51px;height:13px;border:2px solid rgba(255,255,255,.94);border-radius:50%;transform:rotate(-9deg)}.brand-mark:before{top:9px}.brand-mark i{top:17px}.brand-mark:after{top:25px}.app-identity h1{margin:0;overflow:hidden;color:var(--text);font-size:18px;font-weight:720;line-height:1.3;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.app-identity>div>span{display:block;margin-top:2px;color:var(--muted);font-size:11px;letter-spacing:.08em}.app-header-inner>p{margin:0;display:flex;align-items:baseline;gap:10px;color:var(--muted);font-size:11px}.app-header-inner>p strong{color:var(--accent-strong);font-size:13px;font-weight:680}.workspace-tabs{max-width:1500px;height:45px;margin:0 auto;padding:0 34px;display:flex;align-items:flex-end;gap:28px}.workspace-tabs button{height:45px;padding:0 1px;color:var(--muted);background:transparent;border:0;border-bottom:3px solid transparent;font-size:13px;font-weight:650;transition:color .2s ease,border-color .2s ease}.workspace-tabs button:hover:not(:disabled){color:var(--text)}.workspace-tabs button.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.app-shell{max-width:1500px;min-height:calc(100vh - 157px);margin:0 auto;padding:30px 34px 50px}.workspace-layout{display:grid;grid-template-columns:226px minmax(0,1fr);align-items:start;gap:24px}.workspace-layout>*{min-width:0}.workflow-sidebar{position:sticky;top:24px;min-width:0;overflow:hidden;background:#17333c;border-radius:var(--radius);box-shadow:var(--shadow-raised)}.workflow-sidebar>h2{margin:0;padding:22px 20px 15px;color:#f0f7f7;font-size:13px;font-weight:680}.workflow-sidebar nav{position:relative;display:grid;gap:2px;padding:0 9px 9px}.workflow-sidebar nav a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:12px 11px;color:#e1ebec;border-radius:10px;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.workflow-sidebar nav a:hover{background:#ffffff13;transform:translate(2px)}.workflow-sidebar nav b{color:#75c1c7;font:650 11px/1 ui-monospace,Cascadia Mono,monospace}.workflow-sidebar nav span{font-size:13px;font-weight:640}.workflow-sidebar nav small{display:block;margin-top:1px;color:#94a9ae;font-size:11px;font-weight:400}.workflow-sidebar details{margin:6px 10px 11px;padding:12px;color:#dce8e9;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px}.workflow-sidebar summary{font-size:12px;font-weight:620;cursor:pointer}.formula-list{display:grid;gap:4px;margin-top:10px;color:#bcd7da;font:11px/1.55 ui-monospace,Cascadia Mono,monospace}.workflow-sidebar details p{margin:9px 0 0;color:#9eb1b5;font-size:11px}.workspace-surface{min-width:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:18px}.work-section{min-width:0;padding:28px 30px 30px;scroll-margin-top:18px;background:var(--surface-strong);border:1px solid rgba(189,203,206,.62);border-radius:var(--radius);box-shadow:var(--shadow-soft)}#step-data{grid-column:1 / span 8}#step-output{grid-column:1 / -1}#step-parameters{grid-column:2 / -1}.workspace-surface>.calculate-bar{grid-column:4 / -1}.workspace-surface>.alert.prominent{grid-column:4 / -1;width:100%}.section-heading{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:baseline;gap:2px;margin-bottom:24px}.section-heading>span{color:var(--accent);font:650 11px/1 ui-monospace,Cascadia Mono,monospace;letter-spacing:.08em}.section-heading h2{margin:0;color:var(--text);font-size:20px;font-weight:720;letter-spacing:-.025em}.subheading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 12px}.subheading-row h3,.panel-toolbar h3,.frequency-sidebar h3,.review-grid h3,.process-heading h3{margin:0;color:var(--text);font-size:13px;font-weight:680}.file-row{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:16px;padding:18px;background:var(--accent-pale);border:1px dashed #adc9cd;border-radius:var(--radius)}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:0}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-summary{min-width:0;display:flex;flex-direction:column}.file-summary strong{overflow:hidden;color:var(--text-soft);font-size:13px;font-weight:660;text-overflow:ellipsis;white-space:nowrap}.file-summary span,.hint,.calculate-bar span,.panel-toolbar span,.process-heading span{color:var(--muted);font-size:12px}.setup-overview{grid-column:9 / -1;min-height:100%;padding:24px;color:#dcebed;background:#17333c;border-radius:var(--radius);box-shadow:var(--shadow-raised)}.setup-overview>div{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}.setup-overview>div span{display:block;color:#91b0b5;font-size:11px}.setup-overview>div strong{display:block;margin-top:5px;font-size:20px;font-weight:710;letter-spacing:-.03em}.setup-overview dl{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;margin:20px 0}.setup-overview dl>div{display:block;padding:0}.setup-overview dt{color:#91a9ae}.setup-overview dd{margin-top:3px;color:#eff8f8;font-size:13px}.setup-overview p{margin:0;color:#9fb5b9;font-size:11px;line-height:1.6}.button{min-height:40px;padding:9px 16px;border:0;border-radius:9px;font-weight:660;line-height:20px;white-space:nowrap;transition:transform .18s cubic-bezier(.16,1,.3,1),background-color .18s ease,box-shadow .18s ease}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0) scale(.985)}.button.primary{color:#f4fbfb;background:var(--accent-strong);box-shadow:0 8px 18px #00545f33}.button.primary:hover:not(:disabled){background:#004852;box-shadow:0 10px 23px #00545f40}.button.secondary{color:var(--accent-strong);background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--line-strong)}.button.secondary:hover:not(:disabled){background:#f5fafa}.button.compact{min-height:36px;margin-top:13px;padding:7px 13px;font-size:12px}.text-button{padding:5px 7px;color:var(--accent);background:transparent;border:0;border-radius:7px;font-size:12px;font-weight:660}.text-button:hover:not(:disabled){background:var(--accent-soft)}.text-button.danger{color:var(--danger)}.text-button.danger:hover:not(:disabled){background:var(--danger-bg)}.mapping-grid{display:grid;grid-template-columns:1.35fr .65fr 1fr 1fr;gap:14px;margin-top:20px}label{color:var(--text-soft);font-size:12px;font-weight:620}input,select{width:100%;min-height:40px;margin-top:6px;padding:8px 11px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;outline:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}input:hover,select:hover{background:var(--surface-strong);border-color:var(--line-strong)}input:focus,select:focus{background:var(--surface-strong);border-color:var(--accent);box-shadow:0 0 0 3px #006c781a}input::placeholder{color:#7d8c91}.table-wrap{width:100%;min-width:0;overflow:auto;background:var(--surface-soft);border:1px solid var(--line);border-radius:11px}table{width:100%;border-collapse:collapse;color:var(--text-soft);font-size:12px;font-variant-numeric:tabular-nums}th{position:sticky;top:0;z-index:1;color:#36515a;background:#e6eeee;font-weight:680;text-align:left}th,td{height:40px;padding:8px 11px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:#ffffff80}tbody tr:hover{background:#eaf3f3}.preview-table{margin-top:15px;max-height:240px}.parameter-table input,.duration-table input{min-width:110px;min-height:34px;margin:0;padding:5px 8px;background:var(--surface-strong)}.parameter-table th small{color:var(--muted);font-size:10px;font-weight:430}.duration-table{max-width:650px}.duration-table th:nth-child(1),.duration-table td:nth-child(1){width:45%}.duration-table th:nth-child(2),.duration-table td:nth-child(2){width:40%}.duration-table th:last-child,.duration-table td:last-child{width:80px;text-align:center}.output-step-group{margin:0;padding:0;border:0}.output-step-group legend{margin-bottom:10px;color:var(--text-soft);font-size:12px;font-weight:660}.radio-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.output-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(520px,1.28fr);gap:42px;align-items:start}.output-layout .radio-options{grid-template-columns:1fr}.duration-config{min-width:0;padding-left:32px;border-left:1px solid var(--line)}.duration-config .subheading-row{margin-top:0}.radio-option{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:14px;background:var(--surface-soft);border:1px solid transparent;border-radius:10px;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.radio-option:hover{border-color:var(--line-strong);transform:translateY(-1px)}.radio-option.selected{background:var(--accent-pale);border-color:#9fc4c8;box-shadow:inset 3px 0 0 var(--accent)}.radio-option input{width:15px;min-height:15px;margin:2px 0 0;padding:0;accent-color:var(--accent)}.radio-option>span{display:flex;flex-direction:column}.radio-option strong{color:var(--text);font-size:13px}.radio-option small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.hint{margin:11px 0 0;line-height:1.65}.calculate-bar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;color:#e9f4f5;background:#17333c;border-radius:var(--radius);box-shadow:var(--shadow-raised)}.calculate-bar>div{display:flex;flex-direction:column;gap:2px}.calculate-bar strong{font-size:13px}.calculate-bar span{color:#a9bec2}.calculate-bar .button.primary{color:#08333a;background:#9bd6d8;box-shadow:none}.calculate-bar .button.primary:hover:not(:disabled){background:#b1e1e2}.alert{margin:12px 0;padding:12px 14px;border-radius:9px;font-size:13px;line-height:1.55}.alert.error{color:#84382f;background:var(--danger-bg);box-shadow:inset 3px 0 0 var(--danger)}.alert.warning{color:#745018;background:var(--warning-bg);box-shadow:inset 3px 0 0 var(--warning)}.alert.prominent{margin:0 2px 4px}.results-workspace{min-width:0}.result-toolbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.result-toolbar>div:first-child{min-width:0;display:flex;align-items:center;gap:12px}.result-toolbar h2{margin:0;overflow:hidden;color:var(--text);font-size:25px;font-weight:730;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.toolbar-actions{display:flex;gap:10px;flex:none}.status{padding:5px 9px;border-radius:7px;font-size:11px;font-weight:660;white-space:nowrap}.status.success{color:var(--success);background:var(--success-bg)}.status.warning{color:var(--warning);background:var(--warning-bg)}.result-panel{overflow:hidden;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-raised)}.panel-toolbar{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 5px}.panel-toolbar>div:first-child{display:flex;flex-direction:column}.chart-controls{display:flex;gap:8px;justify-content:flex-end}.chart-controls label{display:flex;align-items:center;gap:7px;padding:7px 10px;color:var(--text-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;font-size:11px;font-weight:540}.chart-controls input{width:14px;min-height:14px;margin:0;padding:0;accent-color:var(--accent)}.flood-chart{width:100%;height:560px}.metrics-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:16px 0;overflow:hidden;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.metrics-strip article{min-width:0;padding:18px 19px;border-right:1px solid var(--line)}.metrics-strip article:last-child{border-right:0}.metrics-strip span,.metrics-strip small{display:block;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.metrics-strip strong{display:block;margin:5px 0 2px;color:var(--text);font-size:22px;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.analysis-layout{min-width:0;overflow:hidden;display:grid;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-raised)}.frequency-sidebar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:17px 20px 10px;border-bottom:1px solid var(--line)}.frequency-sidebar>h3{flex:none;margin-right:5px}.frequency-sidebar button{width:auto;min-width:96px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;text-align:left;transition:background-color .16s ease,transform .16s ease}.frequency-sidebar button:hover{background:var(--accent-pale);transform:translateY(-1px)}.frequency-sidebar button.active{color:#f2fafa;background:var(--accent-strong);border-color:var(--accent-strong)}.frequency-sidebar button strong{font-size:12px}.frequency-sidebar button span{color:var(--muted);font-size:10px}.frequency-sidebar button.active span{color:#c7dcdf}.analysis-main{min-width:0;padding:18px 20px 20px}.review-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);gap:12px}.review-grid>div{padding:18px;background:var(--surface-soft);border-radius:10px}.review-grid>div:nth-child(2){background:var(--accent-pale)}dl{margin:9px 0 0}dl>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0}dt{color:var(--muted);font-size:11px}dd{margin:0;color:var(--text);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}dd em{margin-left:8px;font-style:normal;font-size:10px}.pass-text{color:var(--success)!important}.fail-text{color:var(--danger)!important}.process-heading{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 3px 9px}.process-table{max-height:460px}footer{max-width:1500px;margin:0 auto;padding:16px 34px 30px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}footer strong{color:var(--text-soft);font-weight:620}@media (prefers-color-scheme: dark){:root{color:#deeaec;background:#0f1c21;--canvas: #0f1c21;--surface: #14242a;--surface-strong: #172a31;--surface-soft: #1b3037;--text: #e3edef;--text-soft: #c0d0d3;--muted: #8fa4a9;--accent: #56b2ba;--accent-strong: #287f88;--accent-soft: #1d4147;--accent-pale: #19353b;--line: #294047;--line-strong: #3c5961;--success: #77c0a4;--success-bg: #1b3a31;--warning: #d9ae65;--warning-bg: #3c321e;--danger: #e38d85;--danger-bg: #452927;--shadow-soft: 0 10px 28px rgba(0,0,0,.16);--shadow-raised: 0 18px 52px rgba(0,0,0,.22)}body:before{background:radial-gradient(circle at 82% 4%,rgba(86,178,186,.08),transparent 32%)}.app-header{background:#14242af2}.workflow-sidebar,.calculate-bar,.setup-overview{background:#0d252d}.file-row{border-color:#39636a}th{color:#c1d5d8;background:#203940}tbody tr:nth-child(2n){background:#ffffff05}tbody tr:hover{background:#203b42}input::placeholder{color:#8aa0a5}.button.secondary,.text-button{color:#8bd6dc}.button.secondary{box-shadow:inset 0 0 0 1px #3c5961}.calculate-bar .button.primary{color:#082f35}}@media (prefers-reduced-motion: no-preference){.workspace-surface>*{animation:section-arrive .55s cubic-bezier(.16,1,.3,1) both}.workspace-surface>:nth-child(2){animation-delay:.05s}.workspace-surface>:nth-child(3){animation-delay:.1s}.workspace-surface>:nth-child(4){animation-delay:.15s}.workspace-surface>:nth-child(5){animation-delay:.2s}@keyframes section-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 1120px){#step-data{grid-column:1 / span 7}.setup-overview{grid-column:8 / -1}.output-layout{grid-template-columns:1fr;gap:26px}.output-layout .radio-options{grid-template-columns:repeat(3,1fr)}.duration-config{padding:24px 0 0;border-top:1px solid var(--line);border-left:0}}@media (max-width: 800px){.workspace-surface>*{animation:none}.app-header-inner{min-height:68px;padding:0 16px}.brand-mark{width:34px;height:34px}.app-identity h1{max-width:calc(100vw - 165px);font-size:15px}.app-identity>div>span{display:none}.app-header-inner>p span{display:none}.workspace-tabs{padding:0 16px}.app-shell{padding:15px 12px 28px}.workspace-layout{grid-template-columns:1fr;gap:12px}.workflow-sidebar{position:static}.workflow-sidebar>h2{padding:14px 15px 7px}.workflow-sidebar nav{display:flex;overflow-x:auto;padding:0 6px 8px}.workflow-sidebar nav a{min-width:145px;flex:1}.workflow-sidebar details{margin-top:0}.workspace-surface{display:grid;grid-template-columns:1fr;gap:12px}#step-data,#step-output,#step-parameters,.setup-overview,.workspace-surface>.calculate-bar,.workspace-surface>.alert.prominent{grid-column:1}.setup-overview{min-height:0;padding:20px}.setup-overview dl{grid-template-columns:repeat(3,1fr)}.work-section{padding:21px 16px}.section-heading{grid-template-columns:31px minmax(0,1fr);margin-bottom:18px}.section-heading h2{font-size:18px}.file-row{grid-template-columns:1fr;align-items:stretch}.file-summary{order:-1}.mapping-grid{grid-template-columns:1fr 1fr}.radio-options,.output-layout .radio-options{grid-template-columns:1fr}.output-layout{grid-template-columns:1fr;gap:22px}.duration-config{padding:22px 0 0}.calculate-bar,.result-toolbar,.panel-toolbar{align-items:stretch;flex-direction:column}.calculate-bar .button,.toolbar-actions .button{flex:1}.result-toolbar{margin-bottom:12px}.result-toolbar>div:first-child{align-items:flex-start;flex-direction:column;gap:6px}.result-toolbar h2{white-space:normal}.toolbar-actions{width:100%}.panel-toolbar{padding:15px 15px 5px}.chart-controls{justify-content:flex-start;flex-wrap:wrap}.flood-chart{height:440px}.metrics-strip{grid-template-columns:1fr 1fr}.metrics-strip article:nth-child(2n){border-right:0}.metrics-strip article{border-bottom:1px solid var(--line)}.frequency-sidebar{padding:14px 14px 9px}.analysis-main{padding:13px 14px 14px}.review-grid{grid-template-columns:1fr}footer{padding:14px 16px 24px;flex-direction:column;gap:3px}}@media (max-width: 460px){.app-header-inner>p{display:none}.app-identity h1{max-width:calc(100vw - 78px)}.mapping-grid,.metrics-strip{grid-template-columns:1fr}.metrics-strip article{border-right:0}.toolbar-actions{flex-direction:column}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
