:root{--lp-bg:#f5f6f8;--lp-surface:#fff;--lp-border:#dde1e7;--lp-text-primary:#111318;--lp-text-secondary:#5a6473;--lp-text-muted:#8f97a3;--lp-accent:#1a6dcc;--lp-accent-text:#fff;--lp-live:#16a249;--lp-silent:#d97706;--lp-offline:#c0c7d0;--lp-radius:16px;--lp-radius-sm:10px;color:#202124;background:#f7f8fb;font-family:Noto Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;padding:32px}.shell>section{max-width:720px}.eyebrow{color:var(--lp-text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:700}h1{margin:0 0 16px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05}button,a[download]{color:#202124;cursor:pointer;font:inherit;background:#fff;border:1px solid #9aa6b2;border-radius:6px;padding:8px 10px;font-weight:650;text-decoration:none}button:hover,a[download]:hover{background:#eef3f8}input,select,textarea{color:#202124;width:100%;font:inherit;border:1px solid #b9c2cc;border-radius:6px;padding:8px 10px}textarea{resize:vertical;min-height:72px}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #d9dfe7;padding:8px 6px}.language-list{gap:8px;margin:24px 0 0;padding:0;list-style:none;display:grid}.language-list li{background:#fff;border:1px solid #ccd3da;border-radius:8px;width:min(100%,360px);padding:12px 14px}.shell-listener{background:var(--lp-bg);color:var(--lp-text-primary);justify-content:center;padding:20px 16px 40px;display:flex}.listener-screen{width:min(100%,480px)}.lp-header{margin-bottom:18px}.listener-screen h1{color:var(--lp-text-primary);margin:0;font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.15}.listener-meta{color:var(--lp-text-secondary);margin:6px 0 0;font-size:.9rem}.lp-info{color:var(--lp-text-secondary);font-size:.95rem}.listener-status{color:var(--lp-text-secondary);margin:0 0 14px;font-size:1rem;font-weight:600}.listener-alert{border:1px solid var(--lp-silent);border-radius:var(--lp-radius-sm);color:#92400e;background:#fffbeb;margin:0 0 12px;padding:10px 14px;font-size:.9rem;font-weight:600}.lp-tile-list{gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.lp-tile{border:1.5px solid var(--lp-border);border-radius:var(--lp-radius);background:var(--lp-surface);justify-content:space-between;align-items:center;gap:12px;min-height:84px;padding:14px 16px;display:flex}.lp-tile--offline{background:var(--lp-bg)}.lp-tile--playing{border-color:var(--lp-accent);box-shadow:0 2px 10px #11131814}.lp-tile-main{min-width:0}.lp-lang{color:var(--lp-text-primary);overflow-wrap:anywhere;margin:0;font-size:1.75rem;font-weight:600;line-height:1.3}.lp-tile--offline .lp-lang{color:var(--lp-text-secondary)}.lp-tile-state{color:var(--lp-text-secondary);align-items:center;gap:6px;margin:4px 0 0;font-size:.85rem;display:flex}.lp-dot{border-radius:50%;flex:none;width:9px;height:9px}.lp-dot--live{background:var(--lp-live)}.lp-dot--silent{background:var(--lp-silent)}.lp-dot--offline{background:var(--lp-offline)}.lp-playing{color:var(--lp-live);font-weight:600}.lp-btn{cursor:pointer;background:var(--lp-accent);color:var(--lp-accent-text);border:none;border-radius:999px;flex:none;padding:11px 18px;font-size:.95rem;font-weight:700}.lp-btn:disabled{opacity:.6;cursor:default}.lp-btn:hover{background:var(--lp-accent)}.lp-btn--switch{background:var(--lp-surface);color:var(--lp-accent);border:1.5px solid var(--lp-accent)}.lp-btn--switch:hover{background:#eef4fb}.lp-btn--stop{color:var(--lp-text-primary);background:#f3f4f6}.lp-btn--stop:hover{background:#e9ebee}.lp-tile--offline .lp-btn--play{color:var(--lp-text-muted);background:#e5e7eb}.lp-volume{border:1px solid var(--lp-border);border-radius:var(--lp-radius);background:var(--lp-surface);justify-content:center;align-items:center;gap:18px;margin:0 0 16px;padding:14px;display:flex}.lp-vol-btn{width:56px;height:56px;color:var(--lp-text-primary);cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;font-size:1.6rem;line-height:1}.lp-vol-btn:hover{background:#e9ebee}.lp-vol-level{align-items:center;gap:6px;display:flex}.lp-vol-seg{background:var(--lp-border);border-radius:3px;width:12px;height:12px}.lp-vol-seg--on{background:var(--lp-accent)}.lp-audio-sink{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.admin-screen{max-width:1440px;margin:0 auto}.admin-header{margin-bottom:20px}.admin-header h1{font-size:2rem;line-height:1.15}.admin-grid{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.35fr);align-items:start;gap:18px;display:grid}.admin-section,.admin-panel,.admin-subsection{background:#fff;border:1px solid #d2d9e1;border-radius:8px}.admin-section{gap:16px;padding:16px;display:grid}.admin-panel,.admin-subsection{padding:14px}.admin-login{max-width:420px}.admin-section h2,.admin-subsection h2,.admin-form h3,.admin-item h3{margin:0}.admin-section-head{justify-content:space-between;align-items:center;display:flex}.admin-alert{color:#8b1d1d;background:#fff0f0;border:1px solid #c84646;border-radius:6px;padding:10px 12px}.admin-form{gap:10px;display:grid}.admin-form label{color:#3f4954;gap:5px;font-size:.9rem;font-weight:650;display:grid}.admin-inline-form{grid-template-columns:repeat(3,minmax(120px,1fr)) auto;align-items:end}.admin-list{gap:10px;display:grid}.admin-list.compact{gap:6px}.admin-item,.admin-row{background:#fbfcfe;border:1px solid #d9dfe7;border-radius:8px}.admin-item{justify-content:space-between;gap:12px;padding:12px;display:flex}.admin-item p{color:#4d5965;overflow-wrap:anywhere;margin:5px 0 0}.admin-row{grid-template-columns:1fr 80px auto auto;align-items:center;gap:10px;padding:8px;display:grid}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-subsection{gap:12px;display:grid}.admin-metrics{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:0;display:grid}.admin-metrics div{border:1px solid #d9dfe7;border-radius:6px;padding:8px}.admin-metrics dt{color:#59636e;text-transform:uppercase;font-size:.78rem;font-weight:700}.admin-metrics dd{overflow-wrap:anywhere;margin:4px 0 0}.admin-qr{max-width:192px;height:auto}@media (width<=960px){.shell{padding:20px}.admin-grid,.admin-inline-form,.admin-metrics{grid-template-columns:1fr}.admin-item{display:grid}}@media (width<=360px){.lp-tile{flex-wrap:wrap}.lp-tile .lp-btn{width:100%}}
