:root{--bg:#0f1418;--panel:#141820db;--text:#eef1f4;--muted:#9aa6b2;--accent:#f26b2b;--navy:#1e1a3c;--line:#ffffff1a;--ok:#4caf7d;--warn:#e0a83a;--risk:#d9655b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sa-t:env(safe-area-inset-top,0px);--sa-r:env(safe-area-inset-right,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;overflow:hidden}#viewport{position:fixed;inset:0}#viewport canvas{touch-action:none;display:block}#status{left:50%;top:calc(24px + var(--sa-t));background:var(--panel);border:1px solid var(--line);z-index:5;border-radius:8px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}#status.error{border-color:var(--risk);color:#ffd7d3}#panel{top:calc(12px + var(--sa-t));right:calc(12px + var(--sa-r));bottom:calc(12px + var(--sa-b));width:340px;max-width:calc(100vw - 24px - var(--sa-l) - var(--sa-r));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4;border-radius:12px;flex-direction:column;display:flex;position:fixed}#panel .panel-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:14px 16px 16px;overflow-y:auto}#panel.collapsed{width:auto;bottom:auto}#panel.collapsed .panel-body{display:none}#toggle-panel{color:var(--text);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;flex:none;align-self:flex-end;width:34px;height:30px;margin:8px 8px 0 0}h1{letter-spacing:.04em;margin:0 0 6px;font-size:18px}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:12px}section{border-top:1px solid var(--line);padding:12px 0}header{padding-bottom:8px}.badge{color:#ffd9c6;background:#f26b2b24;border:1px solid #f26b2b66;border-radius:6px;margin:0 0 6px;padding:6px 8px;font-size:12px}.muted{color:var(--muted);white-space:pre-wrap;margin:6px 0 0;font-size:12px}pre.muted{font-family:inherit}.buttons{flex-wrap:wrap;gap:6px;display:flex}.buttons button{color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:6px;padding:6px 10px;font-size:13px}.buttons button:hover{border-color:var(--accent)}.buttons.small button{padding:4px 8px;font-size:12px}input[type=range]{width:100%;accent-color:var(--accent)}input[type=date]{color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:6px;margin-bottom:6px;padding:4px 8px}.layers{gap:6px;font-size:13px;display:grid}.layers input{accent-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:13px}td{border-bottom:1px solid var(--line);padding:4px 0}td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums;padding-right:8px}td:nth-child(3){text-align:right;width:1%}.chip{white-space:nowrap;border:1px solid var(--line);border-radius:10px;padding:2px 6px;font-size:11px}.chip.confirmado{color:var(--ok);border-color:var(--ok)}.chip.estimado{color:var(--warn);border-color:var(--warn)}.chip.hipotese{color:var(--risk);border-color:var(--risk)}#compass{left:calc(16px + var(--sa-l));bottom:calc(16px + var(--sa-b));background:var(--panel);border:1px solid var(--line);z-index:4;border-radius:50%;width:56px;height:56px;position:fixed}#needle{transition:transform 60ms linear;position:absolute;inset:0}#needle span{color:var(--accent);font-size:13px;font-weight:700;position:absolute;top:4px;left:50%;transform:translate(-50%)}#needle:after{content:"";background:linear-gradient(var(--accent) 50%, var(--muted) 50%);width:2px;height:26px;position:absolute;top:20px;left:50%;transform:translate(-50%)}#pick{left:calc(84px + var(--sa-l));bottom:calc(16px + var(--sa-b));background:var(--panel);border:1px solid var(--accent);z-index:4;border-radius:8px;gap:2px;max-width:60vw;padding:8px 12px;font-size:13px;display:grid;position:fixed}#pick[hidden]{display:none}#topbar{left:calc(12px + var(--sa-l));top:calc(12px + var(--sa-t));z-index:4;flex-wrap:wrap;gap:8px;display:flex;position:fixed}#topbar[hidden]{display:none}#mode,#luz{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;gap:3px;padding:3px;display:flex}#mode button,#luz button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;display:inline-flex}#luz button{padding:8px 12px}#luz svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}#mode button[aria-pressed=true],#luz button[aria-pressed=true]{background:var(--accent);color:#fff}#mode button:focus-visible,#luz button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#pick span{color:var(--muted);font-size:12px}@media (max-width:720px){#panel{top:auto;left:calc(8px + var(--sa-l));right:calc(8px + var(--sa-r));bottom:calc(8px + var(--sa-b));width:auto;max-height:55vh;max-height:55dvh}#panel.collapsed{top:auto;bottom:calc(8px + var(--sa-b));left:auto;right:calc(8px + var(--sa-r))}#pick{left:calc(12px + var(--sa-l));bottom:auto;top:calc(60px + var(--sa-t))}}@media (max-height:500px) and (orientation:landscape){#panel{top:calc(8px + var(--sa-t));right:calc(8px + var(--sa-r));bottom:calc(8px + var(--sa-b));width:min(320px,45vw);max-height:none;left:auto}#panel.collapsed{top:auto;bottom:calc(8px + var(--sa-b))}#compass{left:calc(12px + var(--sa-l));bottom:calc(12px + var(--sa-b));width:48px;height:48px}#needle:after{height:22px;top:17px}#pick{left:calc(72px + var(--sa-l));bottom:calc(12px + var(--sa-b));max-width:45vw;top:auto}}@media (max-width:720px),(max-height:500px) and (orientation:landscape){#luz .rotulo{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}#luz button{padding:8px 10px}}@media (pointer:coarse){#toggle-panel{width:44px;height:44px;margin:6px 6px 0 0;font-size:18px}#mode button,#luz button{min-height:44px}#luz button{justify-content:center;min-width:44px}.buttons button{min-height:44px;padding:8px 12px;font-size:14px}.buttons.small button{min-height:40px}.layers{gap:2px}.layers label{align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.layers input{width:20px;height:20px;margin:0}input[type=date]{min-height:44px}}
