:root{--accent:#ff5a36;--ink:#f4f6f8;--ink-dim:#f4f6f89e;--glass:#0b1320b8;--glass-border:#ffffff1a;--radius:14px;--gutter:16px;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:#0b1320;height:100%;margin:0;overflow:hidden}#map{position:fixed;inset:0}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 8px 30px #00000040}.topbar{top:max(var(--gutter), env(safe-area-inset-top));left:var(--gutter);right:var(--gutter);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:fixed}.topbar>*{pointer-events:auto}.headline{min-width:0;padding:10px 14px}.brand{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.headline h1{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:17px;font-weight:650;overflow:hidden}.headline p{color:var(--ink-dim);margin:2px 0 0;font-size:13px}.open-btn{color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;padding:10px 14px;font-size:14px;font-weight:600}.open-btn:hover{border-color:#ffffff4d}.status{max-width:calc(100% - 2 * var(--gutter));text-align:center;margin:0;padding:14px 18px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.panel{left:50%;bottom:max(var(--gutter), env(safe-area-inset-bottom));width:min(760px, calc(100% - 2 * var(--gutter)));padding:12px 14px;position:fixed;transform:translate(-50%)}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 8px;display:grid}.stats dt{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-size:11px}.stats dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:2px 0 0;font-size:17px;font-weight:650}.note{text-transform:none;letter-spacing:0;color:var(--accent);cursor:help}.profile{cursor:pointer;touch-action:none;border-radius:8px;width:100%;height:64px;display:block}.controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.play{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.play svg{fill:currentColor;width:22px;height:22px}.play .icon-pause,.play.is-playing .icon-play{display:none}.play.is-playing .icon-pause{display:block}.time{font-variant-numeric:tabular-nums;min-width:56px;font-weight:600}.chips{background:#ffffff12;border-radius:999px;padding:3px;display:inline-flex}.chips button{color:var(--ink-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600}.chips button[aria-pressed=true]{color:var(--ink);background:#ffffff29}#camera-modes{margin-left:auto}button:focus-visible,.open-btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}.drop{border:3px dashed var(--accent);background:#0b132099;place-items:center;font-size:22px;font-weight:700;display:grid;position:fixed;inset:0}[hidden]{display:none!important}.attribution{color:var(--ink-dim);margin:8px 0 0;font-size:10px;line-height:1.3}.attribution a{color:inherit}@media (width<=600px){.headline h1{font-size:15px}.headline p{font-size:12px}.panel{padding:10px 12px}.stats{grid-template-columns:repeat(2,1fr);gap:6px 10px}.stats dd{font-size:15px}.profile{height:52px}.controls{gap:8px}#camera-modes{margin-left:0}.chips button{padding:6px 8px}}a.brand{text-decoration:none}.headline .summary{color:var(--ink);cursor:help;margin:4px 0 0;font-size:13px;font-weight:600}.app{padding:max(20px, env(safe-area-inset-top)) var(--gutter) max(32px, env(safe-area-inset-bottom));background:radial-gradient(1200px 500px at 85% -10%,#ff5a3624,#0000 60%),radial-gradient(900px 500px at -10% 110%,#408cff1a,#0000 60%),#0b1320;position:fixed;inset:0;overflow-y:auto}.app>*{max-width:880px;margin-left:auto;margin-right:auto}.app h1{letter-spacing:-.02em;margin:10px 0 8px;font-size:clamp(26px,5vw,38px);line-height:1.1}.app h2{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);margin:0;font-size:13px}.app a{color:var(--ink)}.lead{color:var(--ink-dim);max-width:46ch;margin:0 0 22px;font-size:16px;line-height:1.5}.hint{color:var(--ink-dim);margin:6px 0 0;font-size:13px;line-height:1.45}.link-muted{width:fit-content;margin-top:18px;font-size:14px;display:block;color:var(--ink-dim)!important}.hero,.narrow{padding-top:10vh}.narrow{max-width:440px!important}.btn{border:1px solid var(--glass-border);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:#ffffff4d}.btn:disabled{opacity:.55;cursor:wait}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{border-color:#fff}.btn-ghost{background:0 0}.btn-danger{color:#ff8f7a;background:0 0;border-color:#ff5a3666}.btn:focus-visible,.text-input:focus-visible,.code-input:focus-visible,.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-error{color:#ff8f7a;margin:10px 0 0;font-size:14px}.app-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;display:flex}.me{align-items:center;gap:10px;min-width:0;display:flex}.me-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.avatar{border-radius:50%;flex:none;width:34px;height:34px}.section{margin-bottom:36px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.import-status{white-space:pre-line;color:var(--ink-dim);margin:0 0 12px;font-size:13px}.cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.cards{grid-template-columns:1fr 1fr}}.cards[aria-busy=true]:after{content:"Wczytuję…";color:var(--ink-dim)}.empty{color:var(--ink-dim);padding:18px 0;line-height:1.5}.card{border-radius:var(--radius);border:1px solid var(--glass-border);background:#ffffff0a;align-items:center;gap:14px;padding:12px;text-decoration:none;transition:border-color .15s,background .15s;display:flex;position:relative}.card:hover{background:#ffffff12;border-color:#ffffff3d}.thumb{background:#13213a;border-radius:10px;flex:none;width:72px;height:72px}.thumb path{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.card-body{flex:1;min-width:0}.card-meta{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.card h3{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 6px;font-size:16px;font-weight:650;overflow:hidden}.card-stats{gap:14px;margin:0;display:flex}.card-stats dt{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-size:10px}.card-stats dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:1px 0 0;font-size:14px;font-weight:650}.badge{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);background:#ffffff12;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;position:absolute;top:10px;right:10px}.badge-link{color:#9cc3ff}.badge-public{color:#7ee2a8}.devices{gap:8px;margin:0 0 6px;padding:0;list-style:none;display:grid}.device{border-radius:var(--radius);border:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.device strong{display:block}.device .hint{margin:2px 0 0}.pair-form{gap:6px;display:grid}.pair-form label{margin-top:12px;font-size:13px;font-weight:600}.pair-form .btn{justify-self:start;margin-top:18px}.text-input,.code-input{border:1px solid var(--glass-border);width:100%;color:var(--ink);font:inherit;background:#ffffff0f;border-radius:12px;padding:12px 14px;font-size:16px}.code-input{letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:tabular-nums;text-align:center;font-size:28px;font-weight:700}.share-panel{z-index:2;top:calc(max(var(--gutter), env(safe-area-inset-top)) + 56px);right:var(--gutter);width:min(360px, calc(100% - 2 * var(--gutter)));padding:14px;position:fixed}.share-panel h2{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);margin:0 0 10px;font-size:12px}.share-link{gap:8px;margin-top:10px;display:flex}.share-link .text-input{padding:8px 10px;font-size:13px}.share-panel hr{border:0;border-top:1px solid var(--glass-border);margin:14px 0}
