/* RESULTS CONTENT */
.results-content{padding:80px 0 0;max-width:920px;margin:0 auto}

/* RESULT HERO */
.r-hero{text-align:center;margin-bottom:64px}
.r-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 24px;border-radius:var(--radius-pill);font-family:var(--ffs);font-size:13px;font-weight:600;letter-spacing:.06em;margin-bottom:24px}
.r-badge.ok{background:rgba(74,122,74,0.1);color:var(--sage);border:1px solid var(--leaf)}
.r-badge.warn{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bd)}
.r-badge.danger{background:var(--danger-bg);color:var(--red);border:1px solid #d08080}
.r-badge-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.r-module{font-family:var(--ffd);font-size:clamp(48px,10vw,72px);font-weight:700;color:var(--forest-mid);line-height:1;letter-spacing:-0.03em;margin-bottom:8px}
.r-x{color:var(--ink-4);font-size:0.4em;margin:0 4px}
.r-unit{color:var(--ink-4);font-size:0.35em;margin-left:4px}
.r-sub{font-family:var(--ffs);font-size:15px;color:var(--ink-4)}

/* SECTIONS */
.r-sec{margin-bottom:48px}
.r-sec-label{font-family:var(--ffs);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:16px}
.r-sec-title{font-family:var(--ffd);font-size:24px;font-weight:700;color:var(--ink);margin-bottom:24px}
.r-stat-label{font-family:var(--ffs);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}

/* MODULE BADGE */
.mod-badge{background:var(--forest);border-radius:14px;padding:24px 28px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:16px}
.mb-label{font-family:var(--ffm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--leaf);margin-bottom:4px}
.mb-size{font-family:var(--ffd);font-size:34px;font-weight:700;line-height:1;color:#fff}
.mb-right{display:flex;flex-direction:column;gap:6px;min-width:260px}
.rf-row{display:flex;align-items:center;gap:8px;font-family:var(--ffm);font-size:13px;color:rgba(255,255,255,.9);padding:6px 12px;background:rgba(255,255,255,.08);border-radius:6px}
.rf-dot{font-size:10px}.rf-dot.ok{color:#7acc5a}.rf-dot.no{color:#cc7a7a}
.rf-dims{font-weight:600;color:#fff}
.rf-info{flex:1;color:rgba(255,255,255,.6);font-size:12px}
.rf-tag{font-size:10px;padding:3px 10px;border-radius:4px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.rf-tag.sel{background:rgba(255,255,255,.25);color:#fff}
.rf-tag.feas{background:rgba(197,223,192,.2);color:var(--leaf)}
.rf-tag.infeas{background:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}

/* STEP CARDS */
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
@media(max-width:700px){.steps-grid{grid-template-columns:1fr}}
.step-card{border-radius:var(--radius-xl);padding:28px;position:relative;overflow:hidden}
.step-card::before{content:'';position:absolute;top:0;right:0;width:120px;height:120px;border-radius:50%;filter:blur(60px);opacity:.15}
.sc-blue{background:var(--blue-soft);border:1.5px solid rgba(26,111,196,0.15)}
.sc-blue::before{background:var(--blue)}
.sc-orange{background:var(--orange-soft);border:1.5px solid rgba(196,106,26,0.15)}
.sc-orange::before{background:var(--orange)}
.sc-label{font-family:var(--ffs);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.sc-blue .sc-label{color:var(--blue)}.sc-orange .sc-label{color:var(--orange)}
.sc-title{font-family:var(--ffd);font-size:16px;font-weight:600;color:var(--ink);margin-bottom:16px}
.sc-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.sc-metric{background:rgba(255,255,255,0.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:14px}
.sc-ml{font-family:var(--ffs);font-size:11px;color:var(--ink-4);margin-bottom:4px}
.sc-mv{font-family:var(--ffm);font-size:28px;font-weight:700;line-height:1}
.sc-blue .sc-mv{color:var(--blue)}.sc-orange .sc-mv{color:var(--orange)}
.sc-mu{font-family:var(--ffs);font-size:10px;color:var(--ink-4);margin-top:4px}
.sc-inst{font-family:var(--ffb);font-size:14px;color:var(--ink-3);line-height:1.6;padding:14px;background:rgba(255,255,255,.5);border-radius:10px}
.sc-blue b{color:var(--blue)}.sc-orange b{color:var(--orange)}

/* STRUT TABLE */
.strut-wrap{border:1.5px solid var(--leaf);border-radius:12px;overflow:hidden}
.strut-tbl{width:100%;border-collapse:collapse;font-family:var(--ffm);font-size:13px}
.strut-tbl th{background:rgba(238,245,238,0.8);color:var(--sage);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:12px 16px;text-align:left;border-bottom:2px solid var(--leaf)}
.strut-tbl td{padding:12px 16px;border-bottom:1px solid var(--leaf-light);color:var(--ink-2)}
.sc-conn{color:var(--forest);font-weight:700;font-size:14px}
.sc-3d{font-weight:700;color:var(--ink);font-size:15px}
.sc-vert{font-size:12px;color:var(--ink-4)}
.val-warn{color:var(--amber);font-weight:700}
.strut-foot{font-family:var(--ffm);font-size:12px;color:var(--ink-4);margin-top:10px}
.strut-foot strong{color:var(--forest)}

/* DIAGRAM FRAME */
.dia-frame{border:1.5px solid var(--leaf);border-radius:var(--radius-xl);overflow:hidden;background:var(--white);box-shadow:var(--shadow-lg)}
.dia-bar{background:var(--forest);padding:14px 24px;display:flex;justify-content:space-between;align-items:center}
.dia-bar span{font-family:var(--ffs);font-size:12px;font-weight:500;color:var(--leaf);letter-spacing:.04em}
.dia-bar span:last-child{font-family:var(--ffm);color:var(--sage-mist)}
.dia-body{padding:20px;background:var(--white)}
.dia-body svg{width:100%;height:auto;display:block}

/* TERRAIN CARD */
.terrain-card{border:1.5px solid var(--leaf);border-radius:12px;overflow:hidden}
.tc-hdr{background:rgba(238,245,238,0.8);padding:12px 18px;font-family:var(--ffs);font-size:11px;font-weight:600;color:var(--sage);letter-spacing:.1em;text-transform:uppercase}
.tc-body{padding:14px 18px}
.tc-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--leaf-light);font-size:14px}
.tc-k{color:var(--ink-3)}.tc-v{font-family:var(--ffm);font-weight:600;color:var(--ink)}

/* ELEVATION CARD */
.elev-card{border:1.5px solid var(--leaf);border-radius:12px;padding:20px}
.elev-val{font-family:var(--ffm);font-size:36px;font-weight:700;color:var(--forest);line-height:1}
.elev-val span{font-size:16px;color:var(--ink-4);margin-left:2px}
.elev-sub{font-family:var(--ffs);font-size:12px;color:var(--ink-4);margin-top:4px}
.elev-warn{font-family:var(--ffm);font-size:12px;color:var(--amber);margin-top:8px}

/* BUDGET BARS */
.bud-wrap{border:1.5px solid var(--leaf);border-radius:12px;padding:22px 24px;margin-top:24px}
.bud-item{margin-bottom:16px}.bud-item:last-child{margin-bottom:0}
.bud-top{display:flex;justify-content:space-between;margin-bottom:5px;font-family:var(--ffm);font-size:12px;flex-wrap:wrap;gap:4px}
.bud-name{color:var(--ink-3);font-weight:600}.bud-desc{color:var(--ink-4)}
.bud-track{height:7px;background:var(--leaf-light);border-radius:4px;overflow:hidden}
.bud-fill{height:100%;border-radius:4px;transition:width 1s var(--ease-expo)}
.bfill-ok{background:var(--sage)}.bfill-warn{background:var(--amber)}.bfill-danger{background:var(--red)}

/* ALGORITHM CARDS */
.algo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
@media(max-width:700px){.algo-grid{grid-template-columns:1fr}}
.algo-card{border:1.5px solid var(--leaf);border-radius:12px;padding:18px 20px}
.algo-w{border-color:var(--forest);background:rgba(238,245,238,0.5)}
.algo-nf{opacity:.45}
.algo-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.algo-pill{font-family:var(--ffm);font-size:11px;font-weight:700;padding:4px 10px;border-radius:5px;background:var(--forest);color:#fff;letter-spacing:.06em}
.algo-fn{font-family:var(--ffs);font-size:11px;color:var(--ink-4)}
.algo-wbadge{font-family:var(--ffm);font-size:10px;font-weight:700;color:var(--forest);background:var(--leaf);padding:3px 10px;border-radius:4px}
.algo-kvs{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:10px}
.akv{font-family:var(--ffm);font-size:12px}
.ak{color:var(--ink-4);margin-right:4px}.av{color:var(--ink-2);font-weight:600}.av-w{color:var(--forest)}

/* VERTEX TABLE INSIDE ALGO CARD */
.vtx-tbl{width:100%;border-collapse:collapse;font-family:var(--ffm);font-size:12px}
.vtx-tbl th{font-size:10px;font-weight:600;color:var(--sage);letter-spacing:.05em;text-transform:uppercase;padding:6px 8px;text-align:left;border-bottom:1.5px solid var(--leaf)}
.vtx-tbl td{padding:6px 8px;border-bottom:1px solid var(--leaf-light)}
.mono-r{text-align:right;color:var(--ink-2)}
.vtx-c1{font-weight:700;color:var(--blue)}.vtx-c2{font-weight:700;color:var(--orange)}.vtx-c3,.vtx-c4{font-weight:700;color:var(--sage)}
.tree-a{font-weight:700;color:var(--forest)}

/* WINNER BAND */
.win-band{background:var(--forest);border-radius:14px;padding:22px 26px;color:#fff;display:flex;gap:18px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
.win-star{font-size:30px}
.win-body{flex:1;min-width:200px}
.win-tag{font-family:var(--ffm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--leaf)}
.win-name{font-family:var(--ffd);font-size:18px;font-weight:700;margin-top:2px}
.win-reason{font-size:13px;color:var(--leaf-light);margin-top:6px;line-height:1.55;font-family:var(--ffb)}
.win-stats{display:flex;gap:22px}
.ws{text-align:center}.ws-v{font-family:var(--ffm);font-size:22px;font-weight:700}.ws-l{font-family:var(--ffm);font-size:10px;color:var(--leaf)}

/* VERTEX CARDS */
.vtx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:768px){.vtx-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.vtx-grid{grid-template-columns:1fr}}
.vc{border-radius:12px;padding:16px}
.vc-blue{background:var(--blue-soft);border:1px solid var(--blue-bd)}
.vc-orange{background:var(--orange-soft);border:1px solid var(--orange-bd)}
.vc-neutral{background:rgba(238,245,238,0.6);border:1px solid var(--leaf)}
.vc-id{font-family:var(--ffd);font-size:20px;font-weight:700;margin-bottom:8px}
.vc-blue .vc-id{color:var(--blue)}.vc-orange .vc-id{color:var(--orange)}.vc-neutral .vc-id{color:var(--sage)}
.vc-row{display:flex;justify-content:space-between;font-family:var(--ffm);font-size:12px;margin-bottom:3px}
.vc-ax{color:var(--ink-4)}.vc-val{font-weight:600;color:var(--ink-2)}
.vc-dist{font-family:var(--ffm);font-size:11px;color:var(--ink-4);margin-top:8px;padding-top:8px;border-top:1px solid var(--leaf-light)}
.vc-tree{font-family:var(--ffm);font-size:11px;color:var(--ink-3);margin-top:4px}

/* NOTES */
.note-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--leaf-light);font-size:14px;color:var(--ink-2);line-height:1.6;font-family:var(--ffb)}
.note-ic{font-size:18px;flex-shrink:0}

/* POLYGON + COVERAGE */
.poly-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.poly-c{text-align:center;padding:14px;background:var(--white);border:1px solid var(--leaf);border-radius:10px}
.poly-v{font-family:var(--ffm);font-size:24px;font-weight:700;color:var(--forest)}
.poly-u{font-family:var(--ffm);font-size:11px;color:var(--ink-4)}
.poly-l{font-family:var(--ffm);font-size:10px;color:var(--ink-5);margin-top:2px}
.cov-card{border:1.5px solid var(--leaf);border-radius:12px;padding:20px}
.cov-pct{font-family:var(--ffm);font-size:36px;font-weight:700;color:var(--forest);line-height:1}
.cov-pct span{font-size:16px;color:var(--ink-4)}
.cov-sub{font-family:var(--ffm);font-size:12px;color:var(--ink-4);margin-top:4px}
.cov-range{font-family:var(--ffm);font-size:12px;color:var(--ink-5);margin-top:6px}

/* DOWNLOAD STRIP */
.dl-strip{background:var(--forest);border-radius:14px;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:48px}
.dl-title{font-family:var(--ffd);font-size:20px;font-weight:700;color:#fff;margin-bottom:4px}
.dl-desc{font-family:var(--ffs);font-size:13px;color:var(--sage-mist)}
.dl-btn{font-family:var(--ffs);font-size:14px;font-weight:600;color:var(--forest-deep);background:linear-gradient(135deg,var(--gold-light),var(--gold));padding:14px 32px;border-radius:10px;border:none;text-decoration:none;transition:all .3s;display:inline-block}
.dl-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(200,160,80,0.3)}

/* WARNINGS / FAILURES */
.r-warn{background:var(--amber-bg);border:1.5px solid var(--amber-bd);border-radius:12px;padding:18px 22px;margin-bottom:24px}
.r-warn-t{font-family:var(--ffm);font-size:12px;font-weight:700;color:var(--amber);margin-bottom:8px}
.r-warn ul{margin-left:20px;font-size:13px;color:var(--ink-3);line-height:1.7;font-family:var(--ffb)}
.fail-box{background:var(--danger-bg);border:1.5px solid #d08080;border-radius:12px;padding:18px 22px;margin-bottom:24px}
.fail-t{font-family:var(--ffm);font-size:13px;font-weight:700;color:var(--red);margin-bottom:8px}
.fail-box ul{margin-left:20px;font-size:14px;color:var(--ink-2);line-height:1.7;font-family:var(--ffb)}
