:root{--bg:#f1ede6;--surface:#ffffff;--surface-2:#f7f4ee;--ink:#16140f;--ink-2:#2c2a25;--muted:#76726a;--line:#e3dfd6;--line-2:#d4cfc3;--tint-blue:#e2e7f6;--tint-blue-fg:#2a4592;--tint-peach:#fadec5;--tint-peach-fg:#a8500f;--tint-rose:#fad1d4;--tint-rose-fg:#a8334b;--tint-mint:#d4eddc;--tint-mint-fg:#1f7048;--tint-lilac:#e4d9f3;--tint-lilac-fg:#5a37a8;--tint-yellow:#fae7b0;--tint-yellow-fg:#8a5e0a;--tint-navy:#dbe1f0;--tint-navy-fg:#1f3677;--accent:#1f7048;--danger:#d63b54;--shadow:0 1px 2px rgba(28,25,20,.04), 0 8px 24px rgba(28,25,20,.05);--shadow-lg:0 2px 4px rgba(28,25,20,.04), 0 30px 60px rgba(28,25,20,.1);--radius:24px;--radius-sm:14px}html[data-dark=true]{--bg:#0a0c0f;--surface:#15181d;--surface-2:#1c2026;--ink:#f8f5ee;--ink-2:#dad5c8;--muted:#8a857b;--line:#262a31;--line-2:#30353e;--tint-blue:#26315a;--tint-blue-fg:#a8bcfb;--tint-peach:#523523;--tint-peach-fg:#ffb878;--tint-rose:#4d2731;--tint-rose-fg:#ff95a8;--tint-mint:#1d4434;--tint-mint-fg:#7fd9b2;--tint-lilac:#352a55;--tint-lilac-fg:#cdb1ff;--tint-yellow:#4d3e16;--tint-yellow-fg:#f4d97c;--tint-navy:#1d2a55;--tint-navy-fg:#a3b6f2;--shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);--shadow-lg:0 2px 4px rgba(0,0,0,.45), 0 30px 60px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:#0a0b0d;color:var(--ink);font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button{font:inherit;color:inherit}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 80% at 50% 0%,#1a1c20,#0a0b0d 60%)}.ipad-wrap{width:1366px;height:1024px;transform-origin:center center;flex-shrink:0;position:relative}.ipad{position:relative;width:100%;height:100%;background:linear-gradient(180deg,#2a2c30,#1a1c20);border-radius:38px;padding:14px;box-shadow:0 0 0 1.5px #3a3d42 inset,0 0 0 6px #0a0b0d,0 60px 120px #0000008c,0 25px 50px #0006}.ipad-screen{position:relative;width:100%;height:100%;border-radius:24px;overflow:hidden;background:var(--bg);isolation:isolate}.ipad:before{content:"";position:absolute;top:50%;left:6px;width:6px;height:6px;border-radius:50%;background:#0a0b0d;transform:translateY(-50%);box-shadow:0 0 0 1px #2a2c30,inset 0 0 0 1px #1a1c20}.statusbar{position:absolute;top:0;left:0;right:0;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:50;color:var(--ink);font-size:13px;font-weight:600;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.01em}.statusbar .sb-right{display:flex;align-items:center;gap:6px}.statusbar svg{display:block}.screen-root{position:absolute;top:0;right:0;bottom:0;left:0;padding-top:28px}.h-display{font-family:DM Sans,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.02}.mono{font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.02em}.serif{font-family:Fraunces,serif;font-weight:600;letter-spacing:-.02em}.btn-ghost{background:transparent;border:0;cursor:default;color:var(--ink-2);border-radius:10px;padding:8px 10px;transition:background .15s ease}.btn-ghost:hover{background:#0000000a}html[data-dark=true] .btn-ghost:hover{background:#ffffff0f}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);font-size:12px;font-weight:500}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.scrollbar::-webkit-scrollbar{width:10px;height:10px}.scrollbar::-webkit-scrollbar-thumb{background:#0000001a;border-radius:8px;border:2px solid transparent;background-clip:content-box}html[data-dark=true] .scrollbar::-webkit-scrollbar-thumb{background:#ffffff1a;background-clip:content-box;border:2px solid transparent}.qr-grid{display:grid;grid-template-columns:repeat(21,1fr);gap:0;width:100%;height:100%}.qr-grid div{background:#0a0b0d}.qr-grid div.off{background:transparent}.page-enter{animation:pageIn .42s cubic-bezier(.22,.61,.36,1)}.fade-in{animation:fade .35s ease both}::selection{background:color-mix(in srgb,var(--tint-mint-fg) 30%,transparent)}@keyframes pageIn{0%{transform:translateY(8px) scale(.992)}to{transform:none}}@keyframes fade{0%{transform:translateY(2px)}to{transform:none}}@keyframes pop{0%{transform:translateY(10px) scale(.97)}to{transform:none}}@keyframes bp{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes scanline{0%,to{top:18%}50%{top:78%}}@keyframes pulseRing{0%{transform:scale(.7);opacity:.55}80%{transform:scale(1.7);opacity:0}to{transform:scale(1.7);opacity:0}}
