html,body{height:100%;margin:0}#app{position:fixed;inset:0;overflow:hidden}canvas{display:block}#ui{position:fixed;top:12px;left:12px;right:12px;z-index:10;display:flex;flex-direction:column;gap:8px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#e7e7e7;pointer-events:none}.row{display:flex;gap:8px;align-items:center;pointer-events:auto;flex-wrap:wrap}.hint{opacity:.75;font-size:12px}.btn,.select{background:#141414bf;color:#e7e7e7;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn{cursor:pointer;-webkit-user-select:none;user-select:none}.btn.secondary{opacity:.9}.btn:active{transform:translateY(1px)}.select{cursor:pointer}.btn input[type=file]{display:none}.status{pointer-events:auto;width:fit-content;background:#141414a6;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;font-size:13px;max-width:min(900px,calc(100vw - 24px))}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.modal{pointer-events:auto;position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:20}.modal.hidden{display:none}.modalCard{width:min(680px,calc(100vw - 24px));background:#141414eb;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;box-shadow:0 12px 44px #0006}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.modalTitle{font-size:16px;font-weight:650}.modalBody{margin-top:10px;font-size:13px;line-height:1.5;opacity:.95}.sectionTitle{margin-top:10px;font-weight:650}ul{margin:8px 0 0 18px}.field{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#141414bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fieldLabel{font-size:12px;opacity:.9}.range{width:140px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;opacity:.95}.chk{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#141414bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.chk input{accent-color:#9aa4ff}.subhint{margin-top:6px;font-size:12px;opacity:.85}
