:root{--primary: #ffffff;--secondary: #000000;--white: #ffffff;--gray: #75757e;--red: #ed2236;--dark-red: #d61c2e;--green: #51cf5e;--blue: #2f8af9;--yellow: #ffbc0c;--purple: #8b5cf6;--cyan: #00FFDD;--pixel-green: #00ff41;--button: #f4f4f4;--button-hover: #e8e8e8;--button-active-hover: #2a2a2a;--button-hover-transparent: rgba(0, 0, 0, .06);--button-stroke: rgba(0, 0, 0, .06);--button-text: #282828;--button-box-shadow: 0 0 0 1.5px var(--button-stroke) inset;--button-elevated: #e3e3e3;--button-elevated-hover: #dadada;--button-elevated-shimmer: #ededed;--codeblock-bg: #fafafa;--table-border: #adadb7;--popup-bg: #f1f1f1;--popup-stroke: rgba(0, 0, 0, .08);--dialog-backdrop: rgba(255, 255, 255, .3);--input-border: #adadb7;--toggle-bg: var(--input-border);--toggle-bg-enabled: var(--secondary);--card-bg: var(--primary);--card-border: rgba(0, 0, 0, .1);--card-shadow: 0 20px 40px rgba(0, 0, 0, .05);--accent: var(--cyan);--accent-hover: #00e6c7;--padding: 12px;--border-radius: 14px;--card-border-radius: 24px;--skeleton-gradient: linear-gradient( 90deg, var(--button-hover), var(--button), var(--button-hover) );--skeleton-gradient-elevated: linear-gradient( 90deg, var(--button-elevated), var(--button-elevated-shimmer), var(--button-elevated) );--logo-body: #000000;--logo-wave-bg: var(--accent);--logo-wave-bars: #000000;--wordmark-color: #000000}@media(prefers-color-scheme:dark){:root{--primary: #000000;--secondary: #e1e1e1;--gray: #818181;--blue: #2a7ce1;--green: #37aa42;--button: #191919;--button-hover: #2a2a2a;--button-active-hover: #f9f9f9;--button-hover-transparent: rgba(225, 225, 225, .1);--button-stroke: rgba(255, 255, 255, .05);--button-text: #e1e1e1;--button-box-shadow: 0 0 0 1.5px var(--button-stroke) inset;--button-elevated: #282828;--button-elevated-hover: #323232;--button-elevated-shimmer: #323232;--codeblock-bg: #1e1e1e;--table-border: #2a2a2a;--popup-bg: #191919;--popup-stroke: rgba(255, 255, 255, .08);--dialog-backdrop: rgba(0, 0, 0, .3);--input-border: #383838;--toggle-bg: var(--input-border);--toggle-bg-enabled: #8a8a8a;--card-bg: #0a0a0a;--card-border: rgba(255, 255, 255, .1);--card-shadow: 0 20px 40px rgba(0, 0, 0, .2);--accent: var(--cyan);--accent-hover: #00e6c7;--skeleton-gradient: linear-gradient( 90deg, var(--button), var(--button-hover), var(--button) );--skeleton-gradient-elevated: linear-gradient( 90deg, var(--button-elevated), var(--button-elevated-shimmer), var(--button-elevated) );--logo-body: #ffffff;--logo-wave-bg: #000000;--logo-wave-bars: var(--accent);--wordmark-color: #ffffff}}[data-theme=light] [data-reduce-transparency=true]{--dialog-backdrop: rgba(255, 255, 255, .6)}[data-theme=dark] [data-reduce-transparency=true]{--dialog-backdrop: rgba(0, 0, 0, .5)}html,body{margin:0;min-height:100vh;overflow-x:hidden;overscroll-behavior-y:none}*{font-family:Be Vietnam Pro,system-ui,-apple-system,sans-serif;user-select:none;scrollbar-width:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}a.button{text-decoration:none}::-webkit-scrollbar{display:none}a{color:inherit;text-underline-offset:3px;-webkit-touch-callout:none}a:visited{color:inherit}svg,img{pointer-events:none}button,.button{display:flex;align-items:center;justify-content:center;padding:8px 16px;gap:6px;border:none;border-radius:var(--border-radius);font-size:14.5px;font-weight:500;cursor:pointer;background-color:var(--button);color:var(--button-text);box-shadow:var(--button-box-shadow);transition:background-color .15s ease}button:focus-visible,.button:focus-visible,a:focus-visible{box-shadow:0 0 0 2px var(--accent) inset!important;outline:none;z-index:1}[tabindex="-1"][data-focus-ring-hidden]:focus,[tabindex="-1"][data-focus-ring-hidden]:focus-visible{box-shadow:none!important;outline:none!important}button:active,.button:active{background-color:var(--button-hover)}.button.elevated{background-color:var(--button-elevated)}.button.elevated:not(.color):active{background-color:var(--button-elevated-hover)}.button.elevated:not(:focus-visible){box-shadow:none}.button.active,.button.primary{color:var(--primary);background-color:var(--secondary)}.button.active:not(.color):active,.button.primary:active{background-color:var(--button-active-hover)}.button.secondary{background-color:var(--button);color:var(--button-text);box-shadow:var(--button-box-shadow)}.button.secondary:hover{background-color:var(--button-hover)}.button.accent{background-color:var(--accent);color:#000;box-shadow:none}.button.accent:hover{background-color:var(--accent-hover)}button[disabled],.button[disabled]{cursor:not-allowed;opacity:.5}.active:focus-visible{color:var(--primary)!important;background-color:var(--accent)!important}input,textarea{user-select:text;-webkit-user-select:text}.form-group{margin-bottom:var(--padding)}.form-group label{display:block;margin-bottom:8px;color:var(--gray);font-size:14px;font-weight:500}.form-group input,.input{width:100%;padding:10px 12px;box-shadow:0 0 0 1.5px var(--input-border) inset;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;box-sizing:border-box;background:transparent;color:var(--secondary)}.form-group input:focus,.input:focus{box-shadow:0 0 0 1.5px var(--accent) inset;outline:var(--accent) .5px solid}.form-group textarea{width:100%;padding:12px;box-shadow:0 0 0 1.5px var(--input-border) inset;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:400;box-sizing:border-box;background:transparent;color:var(--secondary);font-family:Be Vietnam Pro,sans-serif;resize:vertical;min-height:80px;line-height:1.5}.form-group textarea:focus{box-shadow:0 0 0 1.5px var(--accent) inset;outline:none}.button-link{background:none;border:none;color:var(--accent);font-weight:500;cursor:pointer;padding:0 4px;display:inline;vertical-align:baseline;font-size:inherit;line-height:inherit;box-shadow:none}@media(hover:hover){button:hover,.button:hover{background-color:var(--button-hover)}.button.elevated:not(.color):hover{background-color:var(--button-elevated-hover)}.button.active:not(.color):hover,.button.primary:hover{background-color:var(--button-active-hover)}.button.accent:hover{background-color:var(--accent-hover)}.button-link:hover{background:none;text-decoration:underline}}h1,h2,h3,h4,h5,h6{font-family:Unbounded Variable,sans-serif;font-weight:700;margin-block:0}h1{font-size:32px;letter-spacing:-1.5px}h2{font-size:24px;letter-spacing:-1px}h3{font-size:20px;letter-spacing:-.5px}h4{font-size:16px}h5{font-size:14px}h6{font-size:12px}.center-column-container{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center}.subtext{font-size:13px;font-weight:500;color:var(--gray);line-height:1.5;user-select:text;-webkit-user-select:text}::selection{color:var(--primary);background:var(--secondary)}[data-reduce-motion=true] *{animation:none!important;transition:none!important}.btn-close{background:transparent;border:none;box-shadow:none;cursor:pointer;padding:4px;color:var(--gray);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.btn-close:hover{background-color:var(--button-hover);color:var(--secondary)}.npc-layout{min-height:100vh;width:100%;display:flex;flex-direction:column;background-color:var(--primary);color:var(--secondary)}.npc-header{display:flex;align-items:center;justify-content:space-between;padding:var(--padding);border-bottom:1px solid var(--card-border);background-color:var(--primary);flex-shrink:0}.npc-content{display:flex;flex:1;overflow:auto;background-color:var(--primary)}.npc-main{flex:1;padding:var(--padding);overflow-y:auto}.npc-sidebar{width:280px;border-left:1px solid var(--card-border);background-color:var(--card-bg);padding:var(--padding);overflow-y:auto;flex-shrink:0}@media screen and (max-width:768px){.npc-sidebar{display:none}.npc-sidebar.mobile-visible{display:block;position:fixed;top:0;right:0;bottom:0;width:100%;max-width:320px;z-index:100;box-shadow:-4px 0 12px #0000001a}}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-border-radius);padding:var(--padding)}.card.elevated{box-shadow:0 2px 8px #00000014}.now-playing-card{display:flex;flex-direction:column;gap:16px;max-width:400px;padding:20px}.now-playing-card .artwork{width:100%;aspect-ratio:1;border-radius:var(--border-radius);object-fit:cover;background-color:var(--button)}.now-playing-card .track-info{display:flex;flex-direction:column;gap:4px}.now-playing-card .track-title{font-size:18px;font-weight:600;color:var(--secondary)}.now-playing-card .track-artist{font-size:15px;color:var(--gray)}.now-playing-card .track-album{font-size:13px;color:var(--gray)}.device-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background-color:var(--button);border-radius:calc(var(--border-radius) / 1.5);font-size:12px;font-weight:500;color:var(--button-text)}.device-badge.active{background-color:var(--green);color:var(--white)}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--gray)}.status-indicator.online{background-color:var(--green)}.status-indicator.offline{background-color:var(--red)}.api-key-display{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:var(--codeblock-bg);border-radius:var(--border-radius);font-family:Monaco,Menlo,monospace;font-size:13px;color:var(--secondary);user-select:text;-webkit-user-select:text}.destination-card{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:var(--button);border-radius:var(--border-radius);gap:12px}.destination-card .info{flex:1;display:flex;flex-direction:column;gap:4px}.destination-card .name{font-weight:500;font-size:14px}.destination-card .url{font-size:12px;color:var(--gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loader{width:16px;height:16px;border:2px solid var(--primary);border-bottom-color:transparent;border-radius:50%;display:inline-block;animation:rotation 1s linear infinite}.button.active .loader{border-color:var(--primary);border-bottom-color:transparent}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{background:var(--skeleton-gradient);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--border-radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.badge{display:inline-flex;align-items:center;padding:4px 8px;background-color:var(--button);border-radius:calc(var(--border-radius) / 2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.success{background-color:var(--green);color:var(--white)}.badge.error{background-color:var(--red);color:var(--white)}.badge.warning{background-color:var(--yellow);color:var(--secondary)}.badge.info{background-color:var(--blue);color:var(--white)}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-vietnamese-400-normal.CRcqvyg1.woff2) format("woff2"),url(./be-vietnam-pro-vietnamese-400-normal.BuGn0gnm.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-latin-ext-400-normal.CiZNW1ec.woff2) format("woff2"),url(./be-vietnam-pro-latin-ext-400-normal.DYBYyMQr.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-latin-400-normal.PpnXBOrz.woff2) format("woff2"),url(./be-vietnam-pro-latin-400-normal.bXgqVju9.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./unbounded-cyrillic-wght-normal.C627f1f8.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./unbounded-vietnamese-wght-normal.rat7GD3o.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./unbounded-latin-ext-wght-normal.D6H-S6MW.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./unbounded-latin-wght-normal.D5afBTBx.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}body{background:#000}.app-scale-wrapper.svelte-12qhfyh{background-color:var(--primary);min-height:100vh;transform-origin:top center;transition:transform .5s cubic-bezier(.32,.72,0,1),border-radius .5s cubic-bezier(.32,.72,0,1)}@media(max-width:768px){body.drawer-open .app-scale-wrapper.svelte-12qhfyh{transform:scale(.93) translateY(calc(env(safe-area-inset-top) + 14px));border-radius:10px;overflow:hidden}}
