html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--bg: #f4f7fb;--panel: #ffffff;--panel-strong: #f8fbff;--text: #172033;--muted: #667085;--line: rgba(29, 78, 216, .12);--shadow: 0 20px 60px rgba(33, 52, 90, .1)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(29,78,216,.08),transparent 28%),radial-gradient(circle at top right,rgba(14,165,233,.1),transparent 24%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}.page{min-height:100vh}.hero{padding:24px 7vw 72px;background:linear-gradient(135deg,#07152f,#123a73 58%,#e6efff);color:#fff}.topbar,.hero-grid,.hero-points,.summary-grid,.highlights,.dashboard-grid,.materials-grid{display:grid}.topbar{grid-template-columns:1fr auto;gap:20px;align-items:center}.brand-block{display:flex;align-items:center;gap:14px}.brand-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#5b8cff,#22c55e);color:#fff;font-weight:800;letter-spacing:.08em;box-shadow:0 18px 40px #0000002e}.brand-title{font-size:20px;font-weight:800}.brand-subtitle{margin-top:4px;font-size:12px;opacity:.78;letter-spacing:.08em}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:36px;align-items:center;margin-top:64px}.hero-copy h1{font-size:clamp(38px,6vw,58px);line-height:1.1;margin:18px 0 16px;max-width:820px}.hero-copy p{font-size:18px;line-height:1.9;color:#d9e6ff;max-width:780px;margin:0}.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.hero-points{grid-template-columns:1fr;gap:10px;margin-top:24px;color:#ecf4ff}.hero-points div{display:flex;align-items:center;gap:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 14px}.login-card{box-shadow:0 24px 80px #0000003d}.login-card--signed{background:linear-gradient(180deg,#fff,#f8fbff)}.login-card-title{font-weight:700}.login-note{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.login-summary{display:grid;gap:18px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-grid div{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:14px}.summary-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.summary-grid b{font-size:22px;color:var(--text)}.content{max-width:1220px;margin:-44px auto 80px;padding:0 24px}.highlights{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.feature-card .ant-card-body{display:grid;gap:10px}.feature-card .anticon{font-size:26px;color:#1d4ed8}.feature-card b{font-size:18px}.feature-card span,.material-card p,.workspace-head p,.gate-item p{color:var(--muted);line-height:1.7}.section-block{margin-top:18px}.footer-panel{margin-top:20px;padding-bottom:6px}.workspace{margin-top:18px}.workspace-shell .ant-card-body{padding:24px}.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.workspace-head h2{margin:10px 0 6px;font-size:30px}.workspace-head p{margin:0}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card,.wide-card,.form-card,.material-card,.result-hero{border:1px solid var(--line)}.wide-card{grid-column:1 / -1}.apply-panel,.materials-panel,.result-panel{display:grid;gap:18px}.form-card{margin-top:18px;background:linear-gradient(180deg,#fff,#fbfdff)}.full{width:100%}.gate-list{display:grid;gap:12px;margin-bottom:18px}.gate-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong)}.gate-item b{font-size:16px}.gate-item p{margin:6px 0 0}.form-actions{display:flex;justify-content:flex-end;gap:12px}.materials-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f8fbff);border:1px solid var(--line)}.materials-head h3{margin:0 0 6px;font-size:24px}.materials-head p{margin:0;color:var(--muted)}.materials-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.material-card.uploaded{border-color:#16a34a59;background:linear-gradient(180deg,#fff,#f0fdf4)}.result-hero{background:linear-gradient(135deg,#eff6ff,#fff)}.result-hero h2{margin:12px 0;font-size:28px}.result-hero p{color:var(--muted);line-height:1.8}.mt-16{margin-top:16px}.ant-card{border-radius:18px;box-shadow:var(--shadow);border-color:#1d4ed814}@media(max-width:1080px){.hero-grid,.highlights,.workspace-head,.materials-head{grid-template-columns:1fr}.workspace-head,.materials-head{display:grid}.dashboard-grid,.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{margin-top:-24px}}@media(max-width:700px){.hero{padding:20px 18px 60px}.topbar{grid-template-columns:1fr}.topbar-actions{justify-content:flex-start}.hero-grid{margin-top:36px}.hero-copy h1{font-size:32px}.summary-grid,.dashboard-grid,.materials-grid{grid-template-columns:1fr}.content{padding:0 14px}.workspace-shell .ant-card-body{padding:16px}.form-actions{justify-content:stretch;flex-direction:column}.form-actions .ant-btn{width:100%}}
