*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{width:100%;height:100%;min-height:100dvh;margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:#1a2520}.wind-section{background:#ffffff0a;border:1px solid #9fd4a81f;border-radius:10px;margin-bottom:1rem;padding:.65rem .7rem}.wind-section-title{color:#e8f4ea;margin:0 0 .35rem;font-size:.82rem;font-weight:650}.wind-section-lead{opacity:.82;margin:0 0 .65rem;font-size:.76rem;line-height:1.4}.wind-compass-grid{flex-direction:column;gap:.4rem;max-width:17.5rem;margin:0 auto .75rem;display:flex}.wind-compass-row{grid-template-columns:1fr 1fr 1fr;gap:.4rem;display:grid}.wind-dir-btn{color:#dceee0;min-height:2.65rem;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#14201cbf;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.08rem;padding:.35rem .25rem;transition:background .15s,border-color .15s,transform .1s;display:flex}.wind-dir-btn:hover{background:#284434d9;border-color:#9fd4a859}.wind-dir-btn:active{transform:scale(.97)}.wind-dir-btn--active{background:#3870488c;border-color:#9fd4a88c;box-shadow:0 0 0 1px #9fd4a833}.wind-dir-abbr{font-variant-numeric:tabular-nums;color:#b8e8c4;font-size:.95rem;font-weight:750}.wind-dir-name{opacity:.78;text-align:center;font-size:.65rem;line-height:1.15}.wind-compass-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:2.65rem;padding:.2rem;display:flex}.wind-compass-center-label{text-transform:uppercase;letter-spacing:.06em;opacity:.55;font-size:.62rem}.wind-compass-center-arrow{color:#9fd4a8;filter:drop-shadow(0 0 6px #9fd4a859);margin-top:.1rem;font-size:1.35rem;line-height:1}.wind-strength-block{margin-top:.35rem}.wind-strength-label-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;display:flex}.wind-strength-label{opacity:.85;font-size:.76rem}.wind-strength-hint{color:#9fd4a8;font-size:.72rem;font-weight:600}.wind-strength-slider{accent-color:#6ab87a;cursor:pointer;width:100%;height:.55rem}.wind-strength-scale{opacity:.55;justify-content:space-between;margin-top:.2rem;font-size:.62rem;display:flex}.wind-reset-btn{color:#c5ddd0;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px dashed #fff3;border-radius:8px;margin-top:.65rem;padding:.45rem .6rem;font-size:.76rem;transition:background .15s,border-color .15s}.wind-reset-btn:hover{background:#ffffff0f;border-color:#9fd4a859}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sim-panel--desktop{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));max-width:min(24rem,100vw - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top));color:#e4eef0;-webkit-backdrop-filter:blur(12px);z-index:10;background:#0a1216eb;border:1px solid #ffffff14;border-radius:12px;padding:1rem 1.15rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.88rem;line-height:1.45;position:fixed;overflow-y:auto;box-shadow:0 10px 40px #00000073}.sim-title{letter-spacing:-.02em;margin:0 0 .45rem;font-size:1.05rem;font-weight:650}.sim-lead{opacity:.94;margin:0 0 .75rem}.sim-lead--compact{margin-bottom:.65rem;font-size:.88rem;line-height:1.4}.sim-metrics{background:#ffffff0d;border:1px solid #ffffff0f;border-radius:8px;grid-template-columns:1fr;gap:.45rem;margin-bottom:.85rem;padding:.55rem .65rem;display:grid}.sim-panel--desktop .sim-metrics>div{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.metric-label{opacity:.78;font-size:.78rem}.metric-value{font-variant-numeric:tabular-nums;color:#9fd4a8;font-weight:700}.sim-label{opacity:.85;margin-bottom:.25rem;font-size:.78rem;font-weight:600;display:block}.sim-select{color:#f0f6f2;background:#00000059;border:1px solid #ffffff24;border-radius:10px;width:100%;min-height:44px;margin-bottom:.5rem;padding:.5rem .65rem;font-size:.9rem}.sim-scenario-desc{opacity:.82;margin:0 0 .85rem;font-size:.8rem}.sim-actions{flex-direction:column;gap:.5rem;margin-bottom:.85rem;display:flex}.sim-btn{cursor:pointer;border:1px solid #ffffff26;border-radius:10px;min-height:44px;padding:.55rem .85rem;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.sim-btn:active{transform:scale(.98)}.sim-btn.secondary{color:#e8f0ea;background:#ffffff1a}.sim-btn.secondary:hover{background:#ffffff24}.sim-btn.vr{color:#fff;background:linear-gradient(135deg,#2a5a8a,#1e4070);border-color:#64a0dc66}.sim-btn.vr:hover{filter:brightness(1.08)}.sim-btn-close{color:#fff;background:#ffffff1f;width:100%;margin-top:.5rem}.sim-vr-hint{opacity:.65;margin:0;font-size:.75rem}.sim-legend{opacity:.88;flex-direction:column;gap:.45rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.sim-legend li{align-items:flex-start;gap:.45rem;display:flex}.swatch{border-radius:4px;flex-shrink:0;width:14px;height:14px;margin-top:.15rem;box-shadow:inset 0 0 0 1px #ffffff1f}.swatch-line{background:linear-gradient(90deg,#e8d89a,#0000)}.swatch-wind{background:linear-gradient(135deg,#6a8caf,#8eb4d4)}.swatch-ring{background:radial-gradient(circle,#7cb87a 40%,#0000 70%);border-radius:50%}.sim-hint{opacity:.68;margin:.75rem 0 0;font-size:.75rem}.sim-mobile-bar{z-index:20;padding:.5rem max(.75rem, env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);background:linear-gradient(#060a0ce0 0%,#060a0cf5 100%);border-top:1px solid #ffffff1a;position:fixed;bottom:0;left:0;right:0}.sim-mobile-bar-inner{flex-direction:column;gap:.45rem;max-width:32rem;margin:0 auto;display:flex}.sim-mobile-chips{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.sim-chip{font-variant-numeric:tabular-nums;color:#c5ebd0;background:#78c88c2e;border:1px solid #78c88c40;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.sim-mobile-select{color:#f4faf6;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;width:100%;min-height:48px;padding:.55rem .75rem;font-size:1rem;font-weight:500}.sim-mobile-more{color:#e8f4ff;cursor:pointer;background:#28507873;border:1px solid #8cbedc59;border-radius:12px;width:100%;min-height:48px;font-size:1rem;font-weight:650}.sim-mobile-more:active{transform:scale(.99)}.sim-backdrop{z-index:25;opacity:0;pointer-events:none;background:#00000073;border:0;padding:0;transition:opacity .25s;position:fixed;inset:0}.sim-backdrop--visible{opacity:1;pointer-events:auto}.sim-sheet{z-index:30;max-height:min(82dvh,640px);padding:0 1rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));pointer-events:none;background:#0c1418fa;border:1px solid #ffffff1a;border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -8px 40px #00000080}.sim-sheet--open{pointer-events:auto;transform:translateY(0)}.sim-sheet-handle{background:#ffffff38;border-radius:4px;width:40px;height:4px;margin:.65rem auto .5rem}.sim-sheet-title{text-align:center;color:#f0f8f4;margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.sim-sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding-bottom:.5rem;overflow-y:auto}.sim-sheet .sim-metrics{grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.5rem}.sim-sheet .sim-metrics>div{text-align:center;flex-direction:column;align-items:center;gap:.15rem}.sim-sheet .metric-label{opacity:.75;font-size:.65rem;line-height:1.2}.sim-sheet .metric-value,.sim-sheet .sim-select{font-size:1rem}.app-root{width:100%;height:100%;min-height:100dvh;margin:0;position:relative;overflow:hidden}.canvas-wrap{touch-action:none;overscroll-behavior:none;width:100%;height:100%;min-height:100dvh}.canvas-wrap canvas{display:block;width:100%!important;height:100%!important}
