:root{--bg:#eef1f5;--bg-soft:rgba(255,255,255,0.76);--panel:rgba(255,255,255,0.94);--panel-strong:#ffffff;--border:rgba(13,18,28,0.1);--border-strong:rgba(13,18,28,0.16);--text:#0b0b0d;--muted:#6f7480;--primary:#0b0b0d;--primary-foreground:#ffffff;--accent-lime:#dcf486;--accent-lavender:#c3bff7;--accent-orange:#ff7d52;--info:#edf1ff;--danger:#b24023;--danger-soft:#fff0eb;--shadow:0 18px 60px rgba(14,18,29,0.08);--shadow-soft:0 10px 28px rgba(14,18,29,0.06);--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--font-body:Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:"Cascadia Mono","SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 22%,rgba(255,255,255,.82),transparent 16%),radial-gradient(circle at 28% 74%,rgba(255,255,255,.68),transparent 18%),radial-gradient(circle at 86% 84%,rgba(255,255,255,.54),transparent 20%),linear-gradient(180deg,#f5f7fa 0,var(--bg) 100%);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;letter-spacing:-.025em}p{margin:0}.shell{width:min(1360px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.hero{position:relative;display:grid;grid-gap:14px;gap:14px;margin-bottom:28px;padding:28px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(250,252,255,.82));border:1px solid var(--border);border-radius:calc(var(--radius-lg) + 4px);box-shadow:var(--shadow);overflow:hidden}.hero:after,.hero:before{content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(2px)}.hero:before{width:220px;height:220px;top:-130px;left:-50px;background:rgba(255,255,255,.88)}.hero:after{width:180px;height:180px;right:40px;bottom:-110px;background:rgba(255,255,255,.7)}.hero>*{position:relative;z-index:1}.hero h1{max-width:920px;font-size:clamp(2.35rem,4.8vw,4.35rem);line-height:.96}.hero p{max-width:860px;color:var(--muted);font-size:1.02rem;line-height:1.65}.grid{display:grid;grid-gap:20px;gap:20px;align-items:flex-start}@media (min-width:1080px){.grid{grid-template-columns:430px minmax(0,1fr)}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel{padding:22px}.stack{display:grid;grid-gap:16px;gap:16px}.stack h2{font-size:1.15rem}.label{display:block;margin-bottom:8px;font-size:.88rem;font-weight:600;color:rgba(11,11,13,.9)}.hint{color:var(--muted);font-size:.92rem;line-height:1.55}.input,.textarea{width:100%;border:1px solid transparent;border-radius:var(--radius-md);background:rgba(245,247,250,.98);padding:14px 16px;color:var(--text);outline:none;box-shadow:inset 0 0 0 1px rgba(13,18,28,.08);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input::placeholder,.textarea::placeholder{color:#8f95a1}.input:focus,.textarea:focus,select.input:focus{background:#ffffff;border-color:rgba(11,11,13,.12);box-shadow:inset 0 0 0 1px rgba(11,11,13,.14),0 0 0 4px rgba(195,191,247,.38)}.textarea{min-height:128px;resize:vertical}.row{display:flex;flex-wrap:wrap;gap:10px}.button,.buttonSecondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:12px 18px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.button:hover,.buttonSecondary:hover{transform:translateY(-1px)}.button:disabled,.buttonSecondary:disabled{opacity:.6;transform:none;cursor:default}.button{background:var(--primary);color:var(--primary-foreground);box-shadow:0 10px 22px rgba(11,11,13,.16)}.buttonSecondary{background:rgba(255,255,255,.82);border-color:var(--border-strong);color:var(--text)}.pillRow{display:flex;flex-wrap:wrap;gap:8px}.pill,.scorePill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 12px;font-size:.88rem;border:1px solid rgba(11,11,13,.08);background:rgba(255,255,255,.88)}.scorePill{background:rgba(255,255,255,.94)}.scorePill strong{margin-right:4px}.status{padding:15px 16px;border-radius:var(--radius-md);line-height:1.55;border:1px solid var(--border)}.statusError{background:var(--danger-soft);color:var(--danger);border-color:rgba(178,64,35,.16)}.statusInfo{background:rgba(247,249,252,.92);color:#2f3540;border-color:rgba(13,18,28,.08)}.progressCard{display:grid;grid-gap:16px;gap:16px;padding:18px;margin-top:14px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,253,.96));border:1px solid rgba(11,11,13,.08);border-radius:var(--radius-md)}.progressCardHeader{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:flex-start}.progressCardHeader h3{font-size:1.03rem;margin-bottom:4px}.progressMeta{display:grid;grid-gap:4px;gap:4px;justify-items:end;text-align:right}.progressMeta strong{font-size:1.3rem;letter-spacing:-.04em}.progressMeta span{max-width:260px;color:var(--muted);font-size:.9rem;line-height:1.45}.progressBar{width:100%;height:10px;border-radius:999px;background:rgba(11,11,13,.07);overflow:hidden}.progressBarFill{height:100%;border-radius:999px;background:linear-gradient(90deg,#111317,#5d6677);transition:width .45s ease}.progressStepList{display:grid;grid-gap:12px;gap:12px}.progressStep{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.progressStepBadge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid rgba(11,11,13,.1);background:rgba(255,255,255,.92);color:#6f7480;font-size:.9rem;font-weight:600}.progressStepBody{display:grid;grid-gap:4px;gap:4px;padding-top:3px}.progressStepBody strong{font-size:.94rem}.progressStepBody span{color:var(--muted);font-size:.9rem;line-height:1.5}.progressStepdone .progressStepBadge{background:rgba(220,244,134,.55);color:#0b0b0d;border-color:rgba(11,11,13,.12)}.progressStepactive .progressStepBadge{background:rgba(195,191,247,.34);color:#0b0b0d;border-color:rgba(93,102,119,.2)}.progressStepactive .progressStepBody strong{color:#0b0b0d}.progressFootnote{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:.88rem}.resultHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.section{display:grid;grid-gap:12px;gap:12px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,251,253,.96));border:1px solid rgba(11,11,13,.08);border-radius:var(--radius-md)}.section h3{font-size:1.03rem}.kv{display:grid;grid-gap:6px;gap:6px}.kv strong{font-size:.83rem;text-transform:uppercase;letter-spacing:.05em;color:#727888}.kv p,.kv span,.kv ul{margin:0;line-height:1.65}.kv ul{padding-left:18px}.historyList{display:grid;grid-gap:10px;gap:10px}.historyButton{width:100%;text-align:left;padding:14px 16px;border-radius:var(--radius-md);border:1px solid rgba(11,11,13,.08);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,249,252,.96));cursor:pointer}.analyticsGrid{display:grid;grid-gap:12px;gap:12px}@media (min-width:900px){.analyticsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.analyticsValue{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;letter-spacing:-.04em}.chartList{grid-gap:12px}.chartList,.chartRow{display:grid;gap:12px}.chartRow{grid-template-columns:70px minmax(0,1fr) 42px;grid-gap:12px;align-items:center}.chartLabel,.chartValue{font-size:.88rem;color:var(--muted)}.chartValue{text-align:right}.chartBarWrap{height:12px;border-radius:999px;background:rgba(11,11,13,.06);overflow:hidden}.chartBar{height:100%;border-radius:999px;background:linear-gradient(90deg,#111317,#5d6677)}.chartBarAlt{background:linear-gradient(90deg,#7f8aa0,#a8b0bf)}.chartBarWarn{background:linear-gradient(90deg,#d4a15b,#e6c386)}.mono{font-family:var(--font-mono);font-size:.85rem}@media (max-width:760px){.shell{width:min(100% - 20px,100%);padding-top:18px}.panel{padding:18px}.hero{padding:22px}.resultHeader{flex-direction:column}.progressCardHeader,.progressMeta{justify-items:start;text-align:left}}