:root{--bg: #f6f1e8;--panel: rgba(255, 255, 255, .86);--panel-border: rgba(170, 142, 113, .16);--panel-soft: rgba(246, 239, 229, .88);--text: #2f2418;--muted: #7f6d5d;--accent: #2aa57b;--accent-strong: #178764;--accent-warm: #b87a3c;--danger: #dd6859;--success: #3f9c72;--shadow: 0 22px 60px rgba(111, 79, 46, .12);font-family:Avenir Next,PingFang SC,Helvetica Neue,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(213,234,219,.8) 0,transparent 30%),radial-gradient(circle at top right,rgba(244,219,188,.72) 0,transparent 34%),linear-gradient(135deg,#fcfaf6,#f6f1e8 48%,#f3ede3)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh}button,input,select{font:inherit}.app-shell{position:relative;min-height:100vh;overflow:hidden;padding:36px 24px 40px}.backdrop{position:fixed;inset:auto;border-radius:999px;filter:blur(70px);opacity:.45;pointer-events:none}.backdrop-primary{top:-70px;left:-40px;width:340px;height:340px;background:#6ac5a342}.backdrop-secondary{right:-100px;bottom:0;width:360px;height:360px;background:#e7b07433}.hero{position:relative;z-index:1;display:grid;grid-template-columns:1.6fr .9fr;gap:24px;margin:0 auto 28px;max-width:1400px}.hero-copy,.hero-aside,.panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow)}.hero-copy{border-radius:28px;padding:34px 36px}.hero-copy h1{margin:10px 0 14px;font-size:clamp(34px,5vw,62px);line-height:.95;letter-spacing:-.04em}.eyebrow,.panel-kicker{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--accent-warm)}.hero-text{max-width:760px;margin:0;font-size:16px;line-height:1.8;color:var(--muted)}.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hero-badges span,.live-pill{padding:8px 12px;border-radius:999px;border:1px solid rgba(170,142,113,.14);background:#faf5eeeb;font-size:13px;color:var(--text)}.hero-aside{display:grid;gap:16px;border-radius:28px;padding:20px}.metric-card{border-radius:22px;padding:22px;background:linear-gradient(180deg,#fffcf7f2,#f6efe5eb);border:1px solid rgba(170,142,113,.12)}.metric-label,.metric-note,.field-help,.meta-row span,.performance-item span,.section-title-row span{color:var(--muted)}.metric-value{margin:10px 0 8px;font-size:30px;font-weight:700}.workspace{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;max-width:1400px;margin:0 auto}.panel{border-radius:28px;padding:26px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-header h2,.group-header h3,.section-title-row h3{margin:4px 0 0}.ghost-button,.primary-button{border:none;cursor:pointer;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.ghost-button{padding:11px 16px;border-radius:14px;color:var(--text);background:#f6efe5f2;box-shadow:inset 0 0 0 1px #aa8e7124}.primary-button{padding:12px 18px;border-radius:14px;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--accent) 0%,#69c49c 100%);box-shadow:0 12px 24px #2aa57b3d}.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.ghost-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.56;transform:none}.form-stack,.result-stack{display:grid;gap:18px}.field-group{display:grid;gap:14px}.group-header,.section-title-row,.meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-header span{font-size:13px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-card{display:grid;gap:10px;padding:16px;border-radius:20px;background:var(--panel-soft);border:1px solid rgba(170,142,113,.12)}.field-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-label{font-weight:600}.field-unit{font-size:12px;color:var(--accent)}.field-control{width:100%;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid rgba(170,142,113,.18);background:#fffffff5;color:var(--text);outline:none}.field-control:focus{border-color:#5fd0ada8;box-shadow:0 0 0 4px #5fd0ad1f}.action-row{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.empty-state{display:grid;gap:10px;padding:22px;border-radius:20px;border:1px dashed rgba(170,142,113,.22);background:#fbf8f2e6}.error-state{border-style:solid;border-color:#ff7a6a4d;background:#ff7a6a14}.result-placeholder{min-height:260px;place-content:center}.inline-error{margin-top:16px}.risk-hero{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;padding:20px;border-radius:24px;background:linear-gradient(180deg,#fffcf7f0,#f7f1e8eb)}.risk-gauge{width:220px;height:220px;display:grid;place-items:center;border-radius:50%;padding:14px}.risk-gauge-core{width:100%;height:100%;display:grid;place-content:center;gap:8px;border-radius:50%;text-align:center;background:#fffaf3;box-shadow:inset 0 0 0 1px #aa8e711f}.risk-gauge-core strong{font-size:34px;line-height:1}.risk-meta{display:grid;gap:12px}.meta-row strong{font-size:18px}.performance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.performance-item{padding:16px;border-radius:18px;background:#fffcf7f5;border:1px solid rgba(170,142,113,.12)}.performance-item strong{display:block;margin-top:6px;font-size:22px}.explanation-card{padding:20px;border-radius:24px;background:#fcf8f2f5;border:1px solid rgba(170,142,113,.12)}.shap-list{display:grid;gap:14px;margin-top:18px}.shap-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,1fr) 82px;gap:14px;align-items:center}.shap-copy{display:grid;gap:4px}.shap-copy span,.shap-number{font-size:13px;color:var(--muted)}.shap-bar-track{height:10px;overflow:hidden;border-radius:999px;background:#aa8e711f}.shap-bar{height:100%;border-radius:999px}.shap-bar.is-up{background:linear-gradient(90deg,rgba(255,122,106,.45),var(--danger))}.shap-bar.is-down{background:linear-gradient(90deg,rgba(95,208,173,.45),var(--success))}@media(max-width:1100px){.hero,.workspace,.risk-hero{grid-template-columns:1fr}.hero-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:18px 14px 22px}.hero-copy,.hero-aside,.panel{border-radius:22px}.field-grid,.performance-strip,.hero-aside{grid-template-columns:1fr}.risk-gauge{width:180px;height:180px;margin:0 auto}.shap-row{grid-template-columns:1fr}.action-row,.panel-header{flex-direction:column;align-items:stretch}}
