:root{--color-brand-sun:#ffb703;--color-brand-coral:#fb5607;--color-brand-sky:#219ebc;--color-brand-grape:#8338ec;--color-brand-leaf:#06d6a0;--color-brand-berry:#ef476f;--color-neutral-ink:#1b1b2f;--color-neutral-ink2:#2a2a44;--color-neutral-ink3:#3b3b5c;--color-neutral-cream:#fff8e7;--color-neutral-cream2:#f3e9d2;--color-neutral-mist:#b8b8cc;--color-neutral-white:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--motion-fast:.12s;--motion-normal:.22s;--motion-slow:.4s;--font-display:"Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, sans-serif;--text-display:34px;--text-title:26px;--text-heading:20px;--text-body:17px;--text-caption:14px;--bg:#fff8e7;--surface:#fff;--surfaceRaised:#f3e9d2;--text:#1b1b2f;--textMuted:#5e5e7a;--focus:#219ebc;--primary:#ffb703;--onPrimary:#1b1b2f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1b2f;--surface:#2a2a44;--surfaceRaised:#3b3b5c;--text:#fff;--textMuted:#b8b8cc;--focus:#219ebc;--primary:#ffb703;--onPrimary:#1b1b2f}}:root[data-theme=dark]{--bg:#1b1b2f;--surface:#2a2a44;--surfaceRaised:#3b3b5c;--text:#fff;--textMuted:#b8b8cc;--focus:#219ebc;--primary:#ffb703;--onPrimary:#1b1b2f}.tv{--text-display:72px;--text-title:48px;--text-heading:36px;--text-body:28px;--text-caption:22px;--tv-focus-scale:1.08;--tv-focus-ring:6px;--tv-safe:5vmin}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.4}h1,h2,h3{font-family:var(--font-display);margin:0}h1{font-size:28px}h2{font-size:20px}h3{font-size:17px}a{color:var(--color-brand-sky);text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.shell{grid-template-columns:240px 1fr;min-height:100%;display:grid}.side{background:var(--color-neutral-ink);color:#fff;padding:var(--space-5) var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.side .brand{font-family:var(--font-display);color:var(--color-brand-sun);margin-bottom:var(--space-4);font-size:22px;font-weight:700}.side a{color:var(--color-neutral-mist);border-radius:var(--radius-sm);padding:10px 12px;font-weight:700}.side a.active,.side a:hover{background:var(--color-neutral-ink2);color:#fff}.side .foot{color:var(--color-neutral-mist);margin-top:auto;font-size:13px}.main{padding:var(--space-6);max-width:1200px}.head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.card{background:var(--surface);border:1px solid var(--surfaceRaised);border-radius:var(--radius-md);padding:var(--space-5)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.grid2{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.btn{border-radius:var(--radius-sm);background:var(--primary);min-height:40px;color:var(--onPrimary);border:0;align-items:center;gap:6px;padding:0 16px;font-weight:800;display:inline-flex}.btn.secondary{background:var(--surfaceRaised);color:var(--text)}.btn.danger{background:var(--color-brand-berry);color:#fff}.btn.small{min-height:32px;padding:0 10px;font-size:13px}.btn[disabled]{opacity:.5;cursor:default}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--textMuted);font-size:13px;font-weight:700}.input{border-radius:var(--radius-sm);border:2px solid var(--surfaceRaised);background:#fff;width:100%;min-height:40px;padding:0 12px}textarea.input{resize:vertical;min-height:90px;padding:10px 12px}.input:focus{border-color:var(--focus);outline:none}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--surfaceRaised);vertical-align:middle;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--textMuted);font-size:12px}tr:hover td{background:#00000005}.badge{border-radius:var(--radius-pill);background:var(--surfaceRaised);padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.badge.published,.badge.ready{background:var(--color-brand-leaf);color:var(--color-neutral-ink)}.badge.draft,.badge.uploading{background:var(--color-brand-sun);color:var(--color-neutral-ink)}.badge.failed,.badge.archived{background:var(--color-brand-berry);color:#fff}.muted{color:var(--textMuted)}.error{color:var(--color-brand-berry);font-weight:700}.ok{color:#0a8f6a;font-weight:700}.progress{background:var(--surfaceRaised);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress>span{background:var(--color-brand-leaf);height:100%;transition:width .12s;display:block}.drop{border:3px dashed var(--surfaceRaised);border-radius:var(--radius-md);padding:var(--space-7);text-align:center;color:var(--textMuted)}.drop.over{border-color:var(--focus);background:#219ebc0f}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-pill);border:2px solid var(--surfaceRaised);background:#fff;padding:4px 10px;font-size:13px;font-weight:700}.chip.on{border-color:var(--color-brand-sky);background:#219ebc1f}.sortable li{align-items:center;gap:var(--space-3);border:1px solid var(--surfaceRaised);border-radius:var(--radius-sm);cursor:grab;background:#fff;margin-bottom:6px;padding:8px 12px;list-style:none;display:flex}.sortable li.dragging{opacity:.4}.sortable{margin:0;padding:0}.login{background:var(--color-neutral-ink);place-items:center;min-height:100vh;display:grid}.login .card{width:380px}
