:root{--bg:#0c1016;--bg2:#121a24;--ink:#e8edf2;--dim:#8294a6;--faint:#3a4858;--accent:#7fd4d4;--accent2:#f4b454;--serif:"Fraunces",Georgia,"Times New Roman",serif;--mono:"Spline Sans Mono",ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:radial-gradient(1200px 700px at 50% -10%,#16202c 0%,transparent 60%),radial-gradient(900px 600px at 100% 110%,#101820 0%,transparent 55%),var(--bg);color:var(--ink);font-family:var(--mono);overflow:hidden;-webkit-font-smoothing:antialiased}#app{position:fixed;inset:0;display:flex;flex-direction:column}.topbar{padding:16px 22px 10px}.title{font-family:var(--serif);font-weight:500;line-height:1.05}.title .big{font-size:26px;letter-spacing:.5px}.title .sub{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-top:6px;font-family:var(--mono)}.controls-top{display:flex;flex-direction:column;gap:8px;padding:0 22px;z-index:3}.ctrl label{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);margin-bottom:7px}.ctrl label .val{color:var(--ink);letter-spacing:0;text-transform:none;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{display:flex;gap:10px;align-items:center}.ctrl.loc{position:relative}.search{flex:1;min-width:0;font-family:var(--mono);font-size:13px;color:var(--ink);background:#141c2699;border:1px solid var(--faint);border-radius:999px;padding:9px 16px;outline:none;transition:.2s}.search::placeholder{color:var(--faint)}.search:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.hint{display:block;margin-top:7px;font-size:11px;color:var(--faint);letter-spacing:1px;line-height:1.5}.hint.warn{color:var(--accent2)}.toggles{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;padding:2px 0 4px}.toggles #b-arc{margin-left:auto}.phys{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.phys[hidden]{display:none}.phys .slim{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);min-width:104px;flex:0 1 150px}.phys .slim .lbl{display:flex;justify-content:space-between;gap:8px;white-space:nowrap}.phys .slim .lbl b{color:var(--accent);font-weight:600;letter-spacing:.5px}.phys .slim input[type=range]{width:100%}.phys .presets{display:flex;gap:8px;flex-basis:100%;order:-1;flex-wrap:wrap}.phys .presets button{font:inherit;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);background:transparent;border:1px solid rgba(120,140,160,.28);border-radius:999px;padding:3px 12px;cursor:pointer;transition:color .15s,border-color .15s}.phys .presets button:hover{color:var(--ink);border-color:#788ca080}.phys .presets button.on{color:var(--accent);border-color:var(--accent)}.stage{flex:1;position:relative;min-height:180px}canvas{display:block;width:100%;height:100%}.feed{position:absolute;left:22px;bottom:14px;z-index:2;pointer-events:none;font-size:11px;color:var(--faint);line-height:1.7;max-width:160px}.feed b{color:var(--dim);font-weight:500}.under{display:grid;grid-template-columns:minmax(170px,280px) minmax(210px,330px) auto;justify-content:space-between;gap:16px 32px;align-items:end;padding:8px 22px 0;z-index:4}.block .bigval{font-family:var(--serif);font-size:30px;letter-spacing:.5px;text-align:center;margin-bottom:8px}.modeblock .bigval{color:var(--accent)}.readout{justify-self:end;text-align:right;font-size:12px;color:var(--dim);background:#121a2473;border:1px solid rgba(58,72,88,.25);border-radius:12px;padding:10px 14px;min-width:215px;max-width:100%}.readout .line{margin-top:3px}.readout .line:first-child{margin-top:0}.readout .line b{color:var(--ink);font-weight:500}.readout .src{margin-top:6px;font-size:11px;letter-spacing:1px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readout .unit{cursor:pointer;border-bottom:1px dashed rgba(130,148,166,.45);transition:.15s}.readout .unit:hover{color:var(--ink);border-bottom-color:var(--accent)}.readout .unit:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.bottombar{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px 22px max(16px,env(safe-area-inset-bottom));z-index:3}.bottombar .vol{width:min(420px,78vw)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--faint);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 12px var(--accent)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 12px var(--accent)}button.toggle{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);background:transparent;border:1px solid var(--faint);border-radius:999px;padding:8px 14px;cursor:pointer;transition:.2s;white-space:nowrap}button.toggle.on{color:var(--bg);background:var(--accent);border-color:var(--accent);box-shadow:0 0 18px -2px var(--accent)}button.toggle:hover{border-color:var(--accent);color:var(--ink)}button.toggle.on:hover{color:var(--bg)}.select{font-family:var(--mono);font-size:12px;color:var(--ink);width:100%;background:#141c2699;border:1px solid var(--faint);border-radius:999px;padding:8px 14px;outline:none;cursor:pointer;transition:.2s}.select:focus{border-color:var(--accent)}.results,.dd-panel{position:absolute;left:0;right:0;z-index:6;display:flex;background:#0a0e14f7;border:1px solid var(--faint);border-radius:14px;overflow-y:auto;max-height:min(304px,44vh);overscroll-behavior:contain;box-shadow:0 18px 50px -12px #000000b3;backdrop-filter:blur(6px)}.dd-panel{flex-direction:column}.results[hidden],.dd-panel[hidden]{display:none}.results.up{bottom:calc(100% + 8px);flex-direction:column-reverse}.results.down{top:calc(100% + 8px);flex-direction:column}.dd-panel.up{bottom:calc(100% + 8px)}.dd-panel.down{top:calc(100% + 8px)}.results .item,.dd-panel .item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 16px;cursor:pointer;transition:.12s;line-height:1.4}.results.up .item{border-top:1px solid rgba(58,72,88,.4)}.results.up .item:last-child{border-top:none}.results.down .item,.dd-panel .item{border-bottom:1px solid rgba(58,72,88,.4)}.results.down .item:last-child,.dd-panel .item:last-child{border-bottom:none}.results .item:hover,.results .item.active,.dd-panel .item:hover,.dd-panel .item.active{background:#7fd4d41f}.results .item.active,.dd-panel .item.active{box-shadow:inset 2px 0 0 var(--accent)}.results .place,.dd-panel .place{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.results .where,.dd-panel .where{color:var(--ink);font-size:13px}.results .region,.dd-panel .region{color:#9db0c2;font-size:11px;letter-spacing:.3px}.dd-panel .item.selected .where{color:var(--accent)}.results .dist{color:var(--dim);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.results .empty{padding:12px 16px;font-size:11px;color:var(--dim)}.dd{position:relative}.dd-trigger{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}.dd-trigger:hover{border-color:var(--accent)}.dd-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-caret{color:var(--dim);font-size:11px;line-height:1;transition:.2s}.dd.open .dd-caret{transform:rotate(180deg)}@media (max-width: 720px){.topbar{padding:14px 16px 8px}.title .big{font-size:22px}.controls-top{padding:0 16px}.toggles .phys{flex-basis:100%;order:3}.phys .slim{flex:1 1 140px}.under{grid-template-columns:1fr 1fr;gap:12px 16px;padding:8px 16px 0}.block .bigval{font-size:22px;margin-bottom:6px}.readout{grid-column:1 / -1;justify-self:stretch;text-align:left;min-width:0}.feed{display:none}}@media (orientation: landscape) and (max-height: 480px){#app{overflow-y:auto;overscroll-behavior:contain}.stage{flex:none;height:72vh;min-height:240px}.topbar{padding:12px 16px 6px}.title .big{font-size:20px}.controls-top{padding:0 16px}.feed{display:none}}@media (orientation: portrait) and (max-height: 700px){#app{overflow-y:auto;overscroll-behavior:contain}.stage{flex:none;height:46vh;min-height:220px}}.overlay{position:fixed;inset:0;z-index:9;background:#080b0fed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:30px;backdrop-filter:blur(3px)}.overlay h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,6vw,56px);letter-spacing:1px}.overlay p{color:var(--dim);max-width:440px;font-size:13px;line-height:1.7}.start{font-family:var(--mono);font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--bg);background:var(--accent);border:none;border-radius:999px;padding:16px 40px;cursor:pointer;box-shadow:0 0 40px -6px var(--accent);transition:.2s}.start:hover{transform:translateY(-2px)}.note{position:absolute;bottom:24px;color:var(--faint);font-size:11px;letter-spacing:2px}
