:root{color-scheme:light;--bg: #e9efec;--surface: #f7faf8;--ink: #15201c;--muted: #55635e;--line: #c8d4cf;--accent: #0e5a4a;--accent-ink: #ffffff;--warn: #8a5200;--danger: #a4262c;--focus: #1b6fd1;--ui: "Assistant", "Segoe UI", Arial, sans-serif;--title: "Frank Ruhl Libre", "David", "Times New Roman", serif;--r-sm: 10px;--r-lg: 22px;--player-h: 0px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #111916;--surface: #1a2420;--ink: #e6eeea;--muted: #9cada6;--line: #2f3c37;--accent: #6fcdb4;--accent-ink: #0b1a15;--warn: #e3a64a;--danger: #f19494;--focus: #8cc4ff}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:20px;line-height:1.5}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shell{max-width:560px;margin:0 auto;padding:24px 20px 40px}.shell.has-player{padding-bottom:340px}.masthead h1,.login h1{font-family:var(--title);font-weight:700;font-size:2.1rem;line-height:1.1;margin:8px 0 24px}.masthead h1{margin-bottom:10px}.usage{margin-bottom:28px}.usage-text{margin:0 0 6px;color:var(--muted);font-size:.95rem}.usage.low .usage-text{color:var(--warn);font-weight:600}.usage-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.usage-bar span{display:block;height:100%;background:var(--accent);border-radius:3px}.usage.low .usage-bar span{background:var(--warn)}button{cursor:pointer;border:0;background:none}button:disabled{cursor:default;opacity:.45}.primary,.secondary{display:block;width:100%;min-height:60px;border-radius:var(--r-sm);font-weight:700;font-size:1.1rem}.primary{background:var(--accent);color:var(--accent-ink)}.secondary{background:transparent;color:var(--accent);border:2px solid var(--accent)}.ghost{color:var(--accent);font-weight:600;padding:10px 14px;min-height:48px;border-radius:var(--r-sm)}.ghost.small{font-size:.95rem;color:var(--muted)}.danger{background:var(--danger);color:var(--surface);font-weight:700;padding:10px 16px;min-height:48px;border-radius:var(--r-sm)}label{display:block;font-weight:600;margin-bottom:6px}input[type=url],input[type=password]{width:100%;min-height:60px;padding:0 16px;border:2px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:1.05rem}input[type=url]:focus,input[type=password]:focus{border-color:var(--accent);outline:none}.url-row{display:flex;gap:8px;margin-bottom:12px}.url-row input{flex:1;min-width:0}.field-error{color:var(--danger);font-weight:600;margin:10px 0 0}.hint{color:var(--muted);font-size:.95rem;margin:12px 0 0}.banner{background:var(--surface);border-inline-start:4px solid var(--danger);padding:12px 16px;margin:0 0 20px}.add{margin-bottom:36px}.or{text-align:center;color:var(--muted);margin:14px 0;font-size:.95rem}.library{list-style:none;margin:0;padding:0}.item{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);border-inline-start:4px solid transparent}.item.current{border-inline-start-color:var(--accent)}.item-main{flex:1;min-width:0;text-align:start;padding:18px 12px;display:flex;flex-direction:column;gap:4px}.item-main:disabled{opacity:1}.item-title{font-family:var(--title);font-weight:500;font-size:1.3rem;line-height:1.3;overflow-wrap:anywhere}.status{color:var(--muted);font-size:.95rem}.status.failed{color:var(--danger)}.status.processing{color:var(--warn);animation:breathe 1.8s ease-in-out infinite}.confirm{display:flex;gap:4px}@keyframes breathe{50%{opacity:.45}}.empty{color:var(--muted);max-width:32ch}.player{position:fixed;inset:auto 0 0 0;max-width:600px;margin:0 auto;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;border-top:1px solid var(--line);padding:18px 22px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 30px #0000001f}.player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.player-title{margin:4px 0 10px;font-family:var(--title);font-weight:700;font-size:1.2rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seek{width:100%;height:32px;accent-color:var(--accent);margin:0}.times{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.controls{display:flex;align-items:center;justify-content:center;gap:28px;margin:8px 0 12px}.round{width:64px;height:64px;border-radius:50%;border:2px solid var(--line);font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}.play{width:96px;height:96px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}.play svg{width:44px;height:44px;fill:currentColor}.play:active{transform:scale(.96)}.speed{display:block;margin:0 auto;min-height:48px;padding:8px 18px;color:var(--accent);font-weight:700}.login{max-width:420px;margin:0 auto;padding:15vh 24px 40px}.login .lede{color:var(--muted);margin:-12px 0 32px}.login form .primary{margin-top:16px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
