:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf3f6;background:#101b25;font-size:16px;--muted:#9aadb9;--line:#ffffff18;--accent:#ffca83}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#app{height:100svh;display:grid;grid-template-columns:minmax(0,1fr) 330px}#viewport{position:relative;overflow:hidden;background:linear-gradient(#264053,#8c9eaa);min-width:0}#scene{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;left:36px;top:28px;pointer-events:none;text-shadow:0 2px 15px #10203050}.eyebrow{font-size:12px;font-weight:650;letter-spacing:2px}.logo{font-size:22px;vertical-align:middle;margin-right:8px;color:#ffcc87}h1{font-size:clamp(30px,3.8vw,58px);font-weight:450;letter-spacing:-2px;margin:13px 0 0}header p{color:#d2dde3;font-size:16px;margin:4px 0}.view-tools{position:absolute;bottom:100px;left:30px;display:flex;gap:8px}button{border:1px solid var(--line);border-radius:6px;background:#172532b8;padding:9px 12px;font-size:14px}.view-tools button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.scene-bottom{position:absolute;bottom:0;left:0;right:0;padding:26px 30px;background:linear-gradient(transparent,#091725d9);pointer-events:none}.wind-key{display:flex;gap:20px;font-size:13px}.wind-key span{display:flex;align-items:center;gap:6px}.wind-key i{width:17px;height:3px;display:inline-block}.up{background:#ffac60}.down{background:#62c9f8}.out{background:#b8e3d5}.gesture{font-size:12px;color:#bccbd5;margin-top:12px}.gesture b{padding:0 6px}aside{padding:26px 23px;overflow-y:auto;background:#101b25;border-left:1px solid #ffffff10;scrollbar-width:thin}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-top .eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--muted)}#pause{font-size:12px;padding:7px 9px;background:transparent}h2{font-size:29px;line-height:1.15;letter-spacing:-.9px;font-weight:450;margin:27px 0 22px}.modes{display:flex;padding:4px;border:1px solid var(--line);border-radius:8px;background:#09121a;margin-bottom:25px}.modes button{flex:1;font-size:13px;padding:9px 0;border:0;background:none;color:#aabac6}.modes .active{color:#16232c;background:#f1d4ac;box-shadow:0 2px 5px #0003}.control{margin:21px 0}.control label{display:flex;justify-content:space-between;font-size:14px}output{color:#ebc998;font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:4px;accent-color:#f5c78e;margin:18px 0 7px;cursor:ew-resize}.range-caption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.switches{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:23px 0}.switches label{font-size:14px;display:flex;justify-content:space-between;align-items:center;min-height:35px}input[type=checkbox]{accent-color:#f5c78e;cursor:pointer;width:17px;height:17px}.section-label{font-size:12px;letter-spacing:1.3px;margin:25px 0 12px}.section-label span{display:block;letter-spacing:0;color:var(--muted);font-size:12px;margin-top:5px}.species{display:flex;align-items:center;padding:2px 0}.species button{display:flex;flex:1;align-items:center;gap:10px;background:transparent;border:1px solid transparent;padding:8px 7px;text-align:left;font-size:14px}.species.selected button{background:#ffffff08;border-color:#ffffff15}.species input{margin:0 4px 0 8px}.symbol{font-size:19px;width:21px;text-align:center;color:var(--color);line-height:1}#detail{margin:17px 0 22px;border-left:2px solid var(--detail-color,#ffcc87);padding-left:13px}#detail h3{font-size:14px;font-weight:600;margin:0 0 7px}#detail p{font-size:13px;line-height:1.6;color:#bdcbd4;margin:0}#detail .zone{font-size:12px;color:#e4bd89;margin-bottom:6px}footer{border-top:1px solid var(--line);padding-top:17px;font-size:12px;line-height:1.6;color:var(--muted)}footer strong{font-weight:500;color:#c7d3dd}footer p{margin:6px 0 12px}summary{cursor:pointer}footer a{color:#bfceda;display:block;margin-top:8px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;background:#172b3a;z-index:10}#loading span{height:18px;width:18px;border-radius:50%;border:2px solid #ffffff30;border-top-color:#ffcb87;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#error{position:absolute;inset:35% 12%;padding:20px;background:#101b25;z-index:12}#labels{position:absolute;inset:0;pointer-events:none}.scene-label{position:absolute;white-space:nowrap;transform:translate(-50%,-50%);padding:5px 8px;border-left:1px solid #f0dbc299;color:#f4f6f8;background:#0c1e2c77;font-size:12px;backdrop-filter:blur(5px)}.scene-label small{display:block;font-size:10px;color:#bacbd7;margin-top:2px}@media(min-width:1500px){#app{grid-template-columns:minmax(0,1fr) 370px}aside{padding:32px}}@media(max-width:760px){#app{height:auto;display:flex;flex-direction:column}#viewport{height:65svh;min-height:400px}aside{overflow:visible;border-left:0;border-top:1px solid var(--line);padding:23px}header{left:21px;top:19px}h1{font-size:34px;letter-spacing:-1px}.eyebrow{font-size:10px}header p{font-size:14px}.view-tools{left:20px;bottom:81px}.scene-bottom{padding:18px 20px}.wind-key{font-size:11px;gap:15px}.gesture{font-size:11px}h2{font-size:26px;margin:19px 0}h2 br{display:none}.section-label span{display:inline;margin-left:10px}#species{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}.species button{font-size:13px;padding:9px 3px}.scene-label{font-size:10px;padding:4px}.scene-label small{font-size:9px}}@media(prefers-reduced-motion:reduce){#loading span{animation:none}}
/* Version 2 keeps the instrument panel and gives the storm more breathing room. */
.version-tag{font-size:11px;letter-spacing:1px;border:1px solid #ffffff45;padding:3px 6px;border-radius:3px;vertical-align:middle;margin-left:6px}.lighting{display:flex;align-items:center;gap:6px;margin:0 0 24px}.lighting>span{font-size:14px;flex:1;color:#bacbd5}.lighting button{font-size:13px;padding:7px 12px;background:#09121a}.lighting button.active{border-color:#c9a376;color:#f5d3a5}.quality{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-top:17px}.quality select{font:inherit;font-size:14px;min-width:120px;background:#09121a;color:#deebf3;border:1px solid #ffffff25;border-radius:5px;padding:8px}.quality-note{font-size:12px;color:var(--muted);margin:6px 0 22px}input:disabled{opacity:.35;cursor:default}.control:has(input:disabled) label,.control:has(input:disabled) .range-caption{opacity:.45}h2{font-size:27px;margin:24px 0 19px}header{pointer-events:none}#error{inset:auto 20px;top:45%;line-height:1.6;border:1px solid #deaf7960}.scene-label{font-size:12px}.scene-label small{font-size:11px}#detail p{font-size:14px}.range-caption{font-size:12px}.panel-top .eyebrow{font-size:12px}.species button{min-height:39px}#loading span{flex-shrink:0}
@media(max-width:760px){.scene-label{font-size:11px}.scene-label small{display:none}.species button{font-size:14px}#viewport{height:68svh;min-height:430px}header{left:18px}h1{font-size:32px}.lighting{margin-bottom:18px}.gesture{font-size:12px}.wind-key{font-size:12px;gap:12px}.section-label span{display:block;margin-left:0}}

.render-notice{position:absolute;right:20px;bottom:26px;max-width:240px;color:#cfdae3;font-size:12px;text-align:right;pointer-events:none}@media(max-width:760px){.render-notice{right:14px;bottom:100px;max-width:180px;font-size:11px}}
