@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-300-normal-BgP24wlQ.woff2)format("woff2"),url(/assets/montserrat-latin-300-normal-sTRdVzlf.woff)format("woff")}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-300-italic-DSsDFQ71.woff2)format("woff2"),url(/assets/montserrat-latin-300-italic-BB6rDLGV.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2)format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2)format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2)format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}:root{--bg:#0a0a0a;--panel:#111;--card:#141414;--card-key:#1c1c1c;--pill:#2a2a2a;--img-hole:#131313;--red:red;--red-soft:#ff4d4d;--red-fill:#200000;--on:#22c55e;--border:#2e2e2e;--border-subtle:#3a3a3a;--border-white:#fff;--text:#fff;--text-2:#c9c9c9;--text-3:#9a9a9a;--text-faint:#6e6e6e;--radius:12px;--radius-sm:8px;--gap:16px;--font:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}.app{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:14px;padding:12px 20px;display:flex}.brand img{height:26px;display:block}.title{letter-spacing:.5px;font-size:14px;font-weight:600}.accent{color:var(--red)}.spacer{flex:1}.badge{border:1px solid var(--border-subtle);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.badge.uv{color:var(--on);border-color:var(--on);background:color-mix(in srgb, var(--on) 12%, transparent)}.badge.projected{color:var(--red-soft);border-color:var(--red-soft);background:var(--red-fill)}.lang{gap:4px;display:flex}.lang-btn{color:var(--text-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 9px;font-family:inherit;font-size:12px}.lang-btn.on{color:var(--text);border-color:var(--border-white)}.body{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;gap:18px;width:300px;padding:16px;display:flex;overflow-y:auto}.group{flex-direction:column;gap:8px;display:flex}.group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 2px;font-size:12px}.lbl{color:var(--text-2);font-size:12px}.or{color:var(--text-faint);margin-top:4px;font-size:12px}select,input[type=color]{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:7px 9px;font-family:inherit;font-size:13px}input[type=color]{cursor:pointer;width:44px;height:28px;padding:2px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-sm{background:var(--card);color:var(--text);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;padding:7px 11px;font-family:inherit;font-size:13px}.btn-sm:hover{border-color:var(--border-white)}.btn-sm.ghost{color:var(--text-3);background:0 0}.btn-sm:disabled{opacity:.4;cursor:not-allowed}.subrow{flex-direction:column;gap:6px;margin:2px 0 2px 24px;display:flex}.radio,.chk{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.radio input,.chk input{accent-color:var(--red)}.drop{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:10px;padding:14px;font-size:12px;display:flex}.drop.over{border-color:var(--red);background:var(--red-fill)}.warn{color:var(--red-soft);font-size:12px;font-weight:600}.status{color:var(--text-3);border-top:1px solid var(--border);min-height:1.4em;margin-top:auto;padding-top:12px;font-size:12px}.status.error{color:var(--red-soft)}.viewer{flex:1;min-width:0;position:relative}.viewer-host{position:absolute;inset:0}.viewer-host canvas{display:block}#viewer-empty{color:var(--text-faint);pointer-events:none;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{color:#fff;white-space:normal;background-color:#333;border-radius:4px;outline:0;font-size:14px;line-height:1.4;transition-property:transform,visibility,opacity;position:relative}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-width:8px 8px 0;border-top-color:initial;transform-origin:top;bottom:-7px;left:0}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-width:0 8px 8px;border-bottom-color:initial;transform-origin:bottom;top:-7px;left:0}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;transform-origin:0;right:-7px}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:100%;left:-7px}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;width:16px;height:16px}.tippy-arrow:before{content:"";border-style:solid;border-color:#0000;position:absolute}.tippy-content{z-index:1;padding:5px 9px;position:relative}
