.wind-drift-page{min-height:100vh;display:flex;flex-direction:column;background:var(--charcoal);color:var(--bone)}.forge-nav{display:flex;gap:4px;padding:12px 32px;background:#0a0a0af2;border-bottom:1px solid var(--steel);position:sticky;top:0;z-index:50}.forge-nav a{color:var(--bone-dim);text-decoration:none;padding:6px 14px;border-radius:4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;transition:background .12s,color .12s}.forge-nav a:hover{background:#f59e0b1a;color:var(--ember)}.forge-nav a.active{background:var(--ember);color:var(--charcoal);font-weight:600}.wind-drift-header{padding:24px 32px 16px;border-bottom:1px solid var(--steel)}.wind-drift-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.header-buttons{display:flex;gap:6px}.reset-button,.share-button{background:transparent;border:1px solid var(--steel);color:var(--bone-dim);padding:8px 14px;border-radius:4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:border-color .12s,color .12s}.reset-button:hover,.share-button:hover{border-color:var(--ember);color:var(--ember)}.share-button{background:#f59e0b1a;border-color:#f59e0b66;color:var(--ember)}.share-button:hover{background:#f59e0b33}.copy-toast{position:fixed;bottom:24px;right:24px;padding:10px 16px;background:var(--ember);color:var(--charcoal);border-radius:4px;font-size:12px;font-weight:600;z-index:1000;box-shadow:0 4px 12px #00000080;animation:slide-up .2s}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.wind-drift-header h1{margin:0 0 4px;font-size:32px;color:var(--ember);letter-spacing:-.02em}.wind-drift-header .lede{margin:0;font-size:14px;color:var(--bone-dim);max-width:720px}.wind-drift-layout{flex:1;display:grid;grid-template-columns:320px 1fr 320px;gap:0;min-height:0}.wind-drift-inputs,.wind-drift-scores{background:#1f293766;border-right:1px solid var(--steel);padding:20px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.wind-drift-scores{border-left:1px solid var(--steel);border-right:none}.wind-drift-scene{position:relative;min-height:600px}.scene-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--bone-dim)}.build-picker{border-left:3px solid var(--ember);padding-left:12px}.build-picker-cyan{border-left-color:var(--cyan)}.build-picker h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.picker-load{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--steel)}.picker-load .load-saved{background:#f59e0b14;border:1px solid rgba(245,158,11,.3);color:var(--bone);padding:6px 10px;border-radius:4px;font-size:12px;cursor:pointer}.picker-load .load-saved:hover{background:#f59e0b26;border-color:var(--ember)}.build-picker-ember h3{color:var(--ember)}.build-picker-cyan h3{color:var(--cyan)}.picker-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}.picker-row label{color:var(--bone-dim)}.picker-row input,.picker-row select{background:var(--charcoal);border:1px solid var(--steel);color:var(--bone);padding:4px 8px;border-radius:4px;font-size:12px;width:100%}.picker-row input[type=range]{padding:0}.picker-row span{font-variant-numeric:tabular-nums;color:var(--bone)}.compare-toggle{background:transparent;border:1px dashed var(--steel);color:var(--bone-dim);padding:8px;border-radius:4px;cursor:pointer;font-size:12px}.compare-toggle:hover{border-color:var(--ember);color:var(--bone)}.environment-controls h3,.scenario-selector h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--bone)}.scenario-selector select{background:var(--charcoal);border:1px solid var(--steel);color:var(--bone);padding:6px 10px;border-radius:4px;width:100%;font-size:13px}.scenario-note{font-size:11px;color:var(--bone-dim);margin:8px 0 0;line-height:1.5}.score-panel{border-left:3px solid var(--ember);padding-left:12px}.score-panel-cyan{border-left-color:var(--cyan)}.score-panel h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.score-panel-ember h3{color:var(--ember)}.score-panel-cyan h3{color:var(--cyan)}.score-headline{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.score-number{font-size:44px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--bone);text-decoration:none;transition:color .12s}.score-number:hover{color:var(--ember)}a.score-number{border-bottom:none;cursor:help}.score-tier{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--bone-dim)}.score-components{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.score-bar{display:grid;grid-template-columns:1fr 80px auto;align-items:center;gap:8px;font-size:11px}.score-bar-label{color:var(--bone-dim)}.score-bar-weight{opacity:.6}.score-bar-track{background:var(--steel);height:6px;border-radius:3px;overflow:hidden}.score-bar-fill{background:linear-gradient(90deg,var(--ember),var(--cyan));height:100%;border-radius:3px}.score-bar-value{font-variant-numeric:tabular-nums;color:var(--bone)}.score-trajectory{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--steel);border-bottom:1px solid var(--steel);margin-bottom:8px}.score-row{display:flex;justify-content:space-between;font-size:12px}.score-row-label{color:var(--bone-dim)}.score-row-value{color:var(--bone);font-variant-numeric:tabular-nums}.score-diagnostic{margin:12px 0 8px;padding:10px 12px;background:#f59e0b14;border-left:3px solid var(--ember);border-radius:0 4px 4px 0;font-size:12px;line-height:1.55;color:var(--bone)}.score-source-note{font-size:10px;color:var(--bone-dim);margin:0;font-style:italic}.measure-link{background:none;border:none;color:var(--ember);font-size:10px;cursor:pointer;margin-left:6px;padding:0;font-style:normal;text-decoration:underline}.measure-link:hover{color:#ffb547}.measure-modal-backdrop{position:fixed;inset:0;background:#000000b3;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}.measure-modal{background:var(--charcoal);border:1px solid var(--steel);border-radius:8px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:24px;color:var(--bone)}.measure-header h2{margin:0 0 6px;color:var(--ember);font-size:18px}.measure-header p{margin:0 0 16px;font-size:12px;color:var(--bone-dim);line-height:1.55}.measure-header strong{color:var(--bone)}.measure-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--steel)}.measure-tabs button{background:transparent;border:none;color:var(--bone-dim);padding:8px 14px;font-size:12px;cursor:pointer;border-bottom:2px solid transparent}.measure-tabs button.active{color:var(--ember);border-bottom-color:var(--ember)}.measure-body{margin-bottom:16px}.measure-pitch{font-size:12px;color:var(--bone-dim);line-height:1.5;margin:0 0 12px}.measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.measure-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--bone-dim)}.measure-grid input{background:var(--charcoal);border:1px solid var(--steel);color:var(--bone);padding:8px 10px;border-radius:4px;font-size:13px}.measure-result{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:4px;padding:10px 12px;font-size:14px;color:var(--bone)}.measure-result strong{color:var(--ember);font-size:18px;font-variant-numeric:tabular-nums}.measure-note{font-size:10px;color:var(--bone-dim);line-height:1.5;margin:8px 0 0;font-style:italic}.photo-upload{display:flex;align-items:center;gap:10px;border:1px dashed var(--steel);border-radius:6px;padding:14px;margin-bottom:12px;font-size:12px;color:var(--bone-dim);cursor:pointer}.photo-upload input{flex:1}.measure-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--steel);padding-top:14px}.cta-primary,.cta-secondary{padding:8px 16px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid var(--steel);background:transparent;color:var(--bone)}.cta-primary{background:var(--ember);color:var(--charcoal);border-color:var(--ember);font-weight:600}.cta-primary:hover{background:#ffb547}.cta-secondary:hover{border-color:var(--ember);color:var(--ember)}.energy-budget{margin-top:8px;border:1px solid var(--steel);border-radius:4px;background:#1f293766}.energy-budget summary{cursor:pointer;padding:8px 10px;font-size:11px;color:var(--bone);text-transform:uppercase;letter-spacing:.06em;list-style:none}.energy-budget summary::-webkit-details-marker{display:none}.energy-budget summary:before{content:"▸ ";display:inline-block;color:var(--ember);transition:transform .12s}.energy-budget[open] summary:before{content:"▾ "}.budget-rows{padding:0 12px 10px;display:flex;flex-direction:column;gap:3px}.budget-row{display:flex;justify-content:space-between;font-size:11px;font-variant-numeric:tabular-nums}.budget-row.positive .budget-row-value{color:var(--bone)}.budget-row.negative .budget-row-value{color:#f87171}.budget-row.bold{border-top:1px dashed var(--steel);padding-top:4px;margin-top:2px;font-weight:600}.budget-row.bold .budget-row-label,.budget-row.bold .budget-row-value{color:var(--ember)}.budget-row-label{color:var(--bone-dim)}.brush-clearance{margin-top:8px;padding:8px 10px;border-radius:4px;font-size:12px;font-weight:600}.brush-clearance.clears{background:#10b98126;color:#10b981;border-left:3px solid #10b981}.brush-clearance.blocked{background:#ef44442e;color:#ef4444;border-left:3px solid #ef4444}.brush-detail{font-size:10px;font-weight:400;color:var(--bone-dim);margin-top:4px}.starter-scenarios{margin-top:16px;padding-top:12px;border-top:1px solid var(--steel)}.starter-scenarios h3{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--bone)}.scenarios-hint{margin:0 0 8px;font-size:11px;color:var(--bone-dim)}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px}.scenario-card{display:flex;flex-direction:column;gap:2px;text-align:left;padding:6px 8px;background:#1f293780;border:1px solid var(--steel);border-radius:4px;color:var(--bone);cursor:pointer;transition:background .12s,border-color .12s;font-size:11px;line-height:1.25}.scenario-card:hover{background:#f59e0b1a;border-color:var(--ember)}.scenario-title{font-size:11px;font-weight:600}.scenario-subtitle{font-size:10px;color:var(--bone-dim);line-height:1.3}.distance-label{color:var(--bone-dim);background:#0a0a0ab3;padding:2px 6px;border-radius:3px;font-size:11px;font-variant-numeric:tabular-nums}.wind-label{color:var(--ember);background:#0a0a0ab3;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600}.apex-label{color:var(--bone);background:#0a0a0ab3;padding:2px 6px;border-radius:3px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.brush-label{color:#10b981;background:#0a0a0ad9;padding:2px 6px;border-radius:3px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid rgba(16,185,129,.4)}.score-bar{cursor:help}.score-bar:hover .score-bar-label{color:var(--ember)}.photo-detect-teaser{margin:24px 16px 8px;padding:12px 14px;background:#f59e0b14;border-left:3px solid var(--ember);border-radius:0 4px 4px 0;font-size:11px;color:var(--bone);line-height:1.5;overflow:visible}.photo-detect-teaser strong{color:var(--ember);display:block;font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;padding-top:1px}.optimizer-panel{background:var(--charcoal);border-top:1px solid var(--steel);padding:24px 32px}.optimizer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.optimizer-header h3{margin:0;color:var(--ember);font-size:14px;text-transform:uppercase;letter-spacing:.08em}.species-picker{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--bone-dim)}.species-picker select{background:var(--charcoal);border:1px solid var(--steel);color:var(--bone);padding:6px 10px;border-radius:4px;font-size:12px}.optimizer-anchor{background:#f59e0b14;border-left:3px solid var(--ember);padding:8px 12px;margin-bottom:12px;font-size:12px;color:var(--bone-dim);border-radius:0 4px 4px 0}.optimizer-anchor strong{color:var(--ember)}.optimizer-curves{display:grid;grid-template-columns:repeat(auto-fit,minmax(540px,1fr));gap:16px}.curve-chart-shell{background:#1f293766;border:1px solid var(--steel);border-radius:8px;padding:14px 16px}.curve-ember{border-left:3px solid var(--ember)}.curve-cyan{border-left:3px solid var(--cyan)}.curve-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.curve-header h4{margin:0 0 4px;font-size:13px;color:var(--bone);text-transform:uppercase;letter-spacing:.06em}.curve-header p{margin:0;font-size:11px;color:var(--bone-dim);line-height:1.4;max-width:360px}.curve-best{text-align:right;font-size:11px;flex-shrink:0}.curve-best-label{color:var(--bone-dim);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.curve-best-value{color:var(--bone);font-weight:600}.curve-sweet-range{color:var(--ember);margin-top:6px;font-size:11px}.curve-header-text{flex:1;min-width:0}.curve-compare{flex-shrink:0;min-width:240px;max-width:340px;background:#0a0a0a66;border:1px solid var(--steel);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.curve-compare-row{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--bone)}.curve-compare-row-best{color:var(--ember)}.curve-compare-tag{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--bone-dim);background:#52525b4d;padding:2px 6px;border-radius:3px;min-width:44px;text-align:center;font-weight:600}.curve-compare-row-best .curve-compare-tag{color:var(--ember);background:#f59e0b26}.curve-compare-detail{font-variant-numeric:tabular-nums}.curve-compare-detail strong{color:inherit}.curve-compare-detail em{color:var(--bone-dim);font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.curve-compare-delta{padding-top:6px;border-top:1px dashed rgba(82,82,91,.4);font-size:10.5px;color:var(--bone-dim);line-height:1.5;font-variant-numeric:tabular-nums}.curve-compare-delta .d-up{color:#10b981;font-weight:600}.curve-compare-delta .d-down{color:#f59e0b;font-weight:600}.curve-apply-best{margin-top:6px;background:var(--ember);color:var(--charcoal);border:none;padding:8px 12px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;transition:opacity .12s,transform 80ms;font-variant-numeric:tabular-nums}.curve-apply-best:hover{opacity:.92}.curve-apply-best:active{transform:translateY(1px)}.curve-already-best{margin-top:4px;padding:6px 8px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:4px;color:#10b981;font-size:11px;text-align:center;font-weight:500}.curve-svg{width:100%;height:auto;background:#0a0a0a80;border-radius:4px;cursor:crosshair}.curve-hover-info{margin-top:8px;padding:6px 10px;background:#1f293799;border-radius:4px;font-size:12px;color:var(--bone);font-variant-numeric:tabular-nums}.curve-hover-info strong{color:var(--ember)}@media (max-width: 900px){.wind-drift-layout{grid-template-columns:1fr;grid-template-rows:auto 50vh auto}.wind-drift-inputs,.wind-drift-scores{border:none;border-bottom:1px solid var(--steel);padding:14px 12px}.wind-drift-header{padding:16px 20px 10px}.wind-drift-header h1{font-size:24px}.wind-drift-header .lede{font-size:12px}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.scenario-card{padding:5px 7px}.scenario-title{font-size:10px}.scenario-subtitle{font-size:9px}.wind-drift-scene{min-height:50vh;touch-action:pan-y}.score-headline{margin-bottom:8px}.score-number{font-size:36px}.picker-row{grid-template-columns:1fr 1fr auto;font-size:11px}}@media (max-width: 600px){.wind-drift-layout{grid-template-rows:auto 45vh auto auto}.wind-drift-scores{padding-top:18px}.photo-detect-teaser{margin:8px 8px 6px;padding:12px;font-size:11px}.photo-detect-teaser strong{font-size:10px;line-height:1.5;padding-top:2px}.curve-header{flex-direction:column;gap:10px}.curve-compare{min-width:0;max-width:none;width:100%}.curve-compare-delta{font-size:11px}}.forge-nav-help{margin-left:auto;width:26px;height:26px;border-radius:50%;background:transparent;border:1px solid var(--steel);color:var(--bone-dim);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background .12s;align-self:center}.forge-nav-help:hover{border-color:var(--ember);color:var(--ember);background:#f59e0b14}.welcome-overlay{position:fixed;inset:0;background:#0a0a0ac7;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;animation:welcome-fade-in .16s ease-out}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}.welcome-card{background:var(--charcoal);border:1px solid var(--steel);border-radius:10px;padding:26px 28px;max-width:540px;width:100%;color:var(--bone);box-shadow:0 24px 48px #00000080;animation:welcome-pop-in .2s cubic-bezier(.2,.9,.3,1.2)}@keyframes welcome-pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-stamp{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember);margin:0 0 8px}.welcome-title{margin:0 0 14px;font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--bone)}.welcome-lede{font-size:15px;line-height:1.55;color:var(--bone-dim);margin:0 0 18px}.welcome-bullets{list-style:none;padding:0;margin:0 0 18px;border-top:1px solid var(--steel);border-bottom:1px solid var(--steel)}.welcome-bullets li{padding:11px 0 11px 18px;font-size:13px;color:var(--bone-dim);line-height:1.55;border-bottom:1px solid rgba(82,82,91,.25);position:relative}.welcome-bullets li:last-child{border-bottom:none}.welcome-bullets li:before{content:"→";position:absolute;left:0;top:11px;color:var(--ember);font-weight:600}.welcome-bullets li strong{color:var(--bone)}.welcome-note{font-size:12px;color:var(--bone-dim);font-style:italic;margin:0 0 20px;line-height:1.55}.welcome-actions{display:flex;gap:8px;flex-wrap:wrap}.welcome-primary{background:var(--ember);color:var(--charcoal);border:none;padding:9px 16px;border-radius:5px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:opacity .12s}.welcome-primary:hover{opacity:.9}.welcome-secondary{background:transparent;color:var(--bone-dim);border:1px solid var(--steel);padding:9px 16px;border-radius:5px;font-size:12px;cursor:pointer;transition:border-color .12s,color .12s}.welcome-secondary:hover{border-color:var(--bone-dim);color:var(--bone)}@media (max-width: 500px){.welcome-card{padding:20px 18px}.welcome-title{font-size:20px}.welcome-lede{font-size:14px}}
