@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-vietnamese-400-normal-B6gKbkHm.woff2) format("woff2"),url(/assets/bungee-vietnamese-400-normal-CmjDSWyd.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-ext-400-normal-DWzJMwsA.woff2) format("woff2"),url(/assets/bungee-latin-ext-400-normal-DXe9_7Rr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-400-normal-Dfnurram.woff2) format("woff2"),url(/assets/bungee-latin-400-normal-DA8IEVW_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Bungee", "Impact", sans-serif;--font: "Bricolage Grotesque Variable", "Trebuchet MS", sans-serif;--mono: ui-monospace, "JetBrains Mono", "Cascadia Code", monospace;--bg: #131114;--bg-2: #1b181c;--bg-3: #241f25;--bg-sunk: #0d0b0e;--line: #2f2930;--line-strong: #463d47;--fg: #f3ece4;--fg-soft: #c3b8ae;--fg-faint: #85796f;--accent: #ff5a1f;--accent-soft: #ff5a1f33;--on-accent: #1a0d07;--led: #c6ff3d;--led-glow: #c6ff3d88;--danger: #ff4d6d;--ok: #4ade80;--radius: 10px;--radius-lg: 18px;--pill: 999px;--shadow-pad: 0 1px 0 #ffffff14 inset, 0 -3px 0 #00000055 inset, 0 6px 14px #00000066;--shadow-pop: 0 18px 40px #000000aa;--scroll-thumb: #ff5a1f55;--scroll-thumb-hover: #ff5a1f99;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f3eee6;--bg-2: #fbf8f3;--bg-3: #e9e2d7;--bg-sunk: #e2d9cc;--line: #d9cfc2;--line-strong: #bfb2a3;--fg: #1d1a1e;--fg-soft: #4f4650;--fg-faint: #857a82;--accent: #e8440c;--accent-soft: #e8440c22;--on-accent: #fff7f2;--led: #3f9d00;--led-glow: #3f9d0066;--shadow-pad: 0 1px 0 #ffffff99 inset, 0 -3px 0 #00000022 inset, 0 6px 12px #3b2a1a22;--shadow-pop: 0 18px 40px #3b2a1a33;--scroll-thumb: #e8440c44;--scroll-thumb-hover: #e8440c88;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}#app{position:relative;z-index:1;min-height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.15}.display{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}button,.btn{font:inherit;font-weight:600;color:var(--fg);background:var(--bg-3);border:1px solid var(--line-strong);border-radius:var(--radius);padding:9px 14px;min-height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background .12s,border-color .12s,transform .06s;touch-action:manipulation}button:hover,.btn:hover{border-color:var(--fg-faint);text-decoration:none}button:active,.btn:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.ghost,.btn.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--bg-3)}button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}button.icon{padding:0;width:40px;min-width:40px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--fg);background:var(--bg-sunk);border:1px solid var(--line-strong);border-radius:var(--radius);padding:9px 11px;min-height:40px;width:100%}input[type=range]{padding:0;min-height:28px;accent-color:var(--accent);background:transparent;border:0}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--accent)}input[type=color]{padding:2px;width:44px;height:40px}label{display:block}.field{display:grid;gap:6px;margin:0 0 14px}.field>span{font-size:13px;color:var(--fg-soft);font-weight:600}.muted{color:var(--fg-soft)}.faint{color:var(--fg-faint)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--pill);background:var(--bg-3);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--fg-soft)}.segmented{display:inline-flex;background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--pill);padding:3px;gap:2px}.segmented button{border:0;background:transparent;border-radius:var(--pill);min-height:32px;padding:4px 12px;font-size:13px}.segmented button.on{background:var(--accent);color:var(--on-accent)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:10px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#000a;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:min(720px,100%);max-height:92vh;overflow:auto;padding:18px 18px calc(18px + var(--safe-bottom));box-shadow:var(--shadow-pop);animation:rise .2s cubic-bezier(.2,.9,.3,1.1)}@media(min-width:760px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--radius-lg)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(30px);opacity:0}}.toast{position:fixed;left:50%;bottom:calc(24px + var(--safe-bottom));z-index:80;transform:translate(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:var(--pill);font-weight:700;font-size:14px;box-shadow:var(--shadow-pop);animation:rise .2s ease;max-width:calc(100% - 32px)}.page{max-width:1100px;margin:0 auto;padding:calc(16px + var(--safe-top)) 16px calc(40px + var(--safe-bottom))}.topbar[data-v-f9b7ec29]{position:relative;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(8px + var(--safe-top)) 14px 8px;background:var(--bg-2);border-bottom:1px solid var(--line);font-weight:600;font-size:14px}.topbar img[data-v-f9b7ec29]{border-radius:7px}.topbar button[data-v-f9b7ec29]{min-height:34px;padding:5px 12px}.update[data-v-f9b7ec29]{background:color-mix(in srgb,var(--accent) 18%,var(--bg-2))}
