body{color:#e6e6e6;background:#1a1a1a;margin:0;font-family:system-ui,sans-serif}.page{flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;padding:16px 24px 64px;display:flex}h1{margin:0;font-size:1.4rem}h2{color:#aaa;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:1rem}.row{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.layout{border:1px solid #333;border-radius:4px;gap:16px;padding:6px 12px;display:flex}.layout legend{color:#aaa;font-size:.85em}.fields{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.fields label{flex-direction:column;gap:4px;display:flex}.hint{color:#888}input[type=text],select{color:#eee;font:inherit;background:#111;border:1px solid #444;border-radius:4px;padding:6px 8px}.toolbar{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}button{color:#eee;font:inherit;cursor:pointer;background:#2a2a2a;border:1px solid #555;border-radius:4px;padding:4px 10px}button:disabled{opacity:.35;cursor:default}.editor .tiptap{background:#111;border:1px solid #444;border-radius:4px;outline:none;min-height:120px;padding:8px 12px}.editor .tiptap:focus{border-color:#888}.tiptap p{margin:0 0 4px}.tiptap .movement{color:#fff;font-weight:700}.tiptap .instruction{color:#a78bfa}.tiptap .specification{border-left:3px solid #da2128;padding-left:6px}.tiptap .tier-label{color:#da2128;letter-spacing:.1em;font-size:.8em}.tiptap .scaling-item{color:#fff}.tiptap .load{color:#888}.tiptap .note{color:#da2128;font-style:italic}.tiptap hr.column-break{border:0;border-top:2px dashed #666;margin:8px 0}.tiptap hr.column-break.ProseMirror-selectednode{border-top-color:#da2128}.preview{cursor:zoom-in;outline:1px solid #333}.dump{border:1px solid #333;border-radius:4px;margin-bottom:12px}.dump-head{border-bottom:1px solid #333;align-items:center;gap:8px;padding:6px 8px;display:flex}.dump-label{flex:1;font-family:ui-monospace,monospace;font-size:.85em}.dump pre{white-space:pre-wrap;word-break:break-all;max-height:200px;margin:0;padding:8px;font-size:11px;overflow:auto}.modal{z-index:10;background:#000c;outline:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.shell .page{max-width:1100px}.days{border-right:1px solid #333;flex-direction:column;gap:10px;padding:16px 12px;display:flex;overflow-y:auto}.week-nav{gap:6px;display:flex}.day{flex-direction:column;gap:4px;display:flex}.day-head{color:#aaa;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;font-size:.85em;display:flex}.day-head button{padding:0 8px}.programme{text-align:left}.programme.is-open,.slide-card.is-open{border-color:#da2128}.new-programme{border:1px dashed #555;border-radius:4px;flex-direction:column;gap:4px;padding:6px;display:flex}.programme-panel{flex-direction:column;gap:8px;display:flex}.programme-head{align-items:center;gap:12px;display:flex}.slide-strip{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.slide-card{text-align:left;flex-direction:column;flex:none;gap:4px;width:200px;display:flex}.slide-card img,.slide-card .no-thumb{object-fit:cover;background:#111;width:192px;height:97px}.slide-card .no-thumb{color:#666;justify-content:center;align-items:center;font-size:.8em;display:flex}.slide-card.new{justify-content:center;align-items:center}.save-bar{z-index:5;background:#1a1a1a;align-items:center;gap:10px;padding:8px 0;display:flex;position:sticky;top:0}.status{color:#aaa}.timer{flex-direction:column;gap:4px;display:flex}.timer textarea{color:#eee;background:#111;border:1px solid #444;border-radius:4px;padding:6px 8px;font-family:ui-monospace,monospace}.error{color:#ff6b6b}.crumbs{color:#888;font-size:.9em}.crumb{font:inherit;color:#9ab;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.crumb.here{color:#eee;cursor:default;text-decoration:none}.crumbs .sep{color:#555}.week-nav{align-items:center}.week-nav h1{flex:1;margin:0;font-size:1.3rem}.day{border-top:1px solid #333;padding-top:10px}.none{color:#888;margin:0}.add{align-self:flex-start}.rename{color:#aaa;align-items:center;gap:6px;display:flex}.slide-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slide-row{text-align:left;align-items:center;gap:16px;width:100%;padding:8px;display:flex}.slide-row .seq{color:#888;width:3ch;font-family:ui-monospace,monospace}.slide-row img,.slide-row .no-thumb{object-fit:cover;background:#111;flex:none;width:192px;height:97px}.slide-row .no-thumb{color:#666;justify-content:center;align-items:center;font-size:.8em;display:flex}.slide-row .slide-title{flex:1;font-size:1.05em}.slide-row .saved-at{color:#888;font-size:.85em}.sign-in{max-width:360px;margin-top:12vh}.sign-in form{flex-direction:column;gap:12px;display:flex}.sign-in label{flex-direction:column;gap:4px;display:flex}.sign-in input{color:#eee;font:inherit;background:#111;border:1px solid #444;border-radius:4px;padding:8px}.top{align-items:center;gap:16px;display:flex}.top h1{flex:1}.who{color:#aaa}.class-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.class-row{text-align:left;align-items:center;gap:16px;width:100%;padding:8px;display:flex}.class-row .swatch{border:1px solid #444;border-radius:4px;flex:none;width:28px;height:28px}.class-row .class-name{flex:1;font-size:1.05em}.class-row .class-accent{color:#888;font-family:ui-monospace,monospace;font-size:.85em}.class-thumb{object-fit:cover;background:#111;flex:none;width:160px;height:90px}.class-thumb.none{color:#666;justify-content:center;align-items:center;font-size:.8em;display:flex}.class-edit{flex-direction:column;gap:16px;display:flex}.accent-row{align-items:center;gap:8px;display:flex}.accent-row input[type=color]{background:0 0;border:1px solid #444;width:48px;height:32px;padding:0}.class-current{max-width:320px;display:block}.splash-preview{--accent:#da2128;width:640px;height:360px;position:relative;overflow:hidden}.splash-preview .loading-screen{z-index:0;background:#131313;align-items:flex-end;display:flex;position:absolute;inset:0;overflow:hidden}.splash-preview .splash-bg{object-fit:cover;object-position:center;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.splash-preview .splash-bg.is-loaded{opacity:1}.splash-preview .splash-gradient{background:linear-gradient(#0000000d 0%,#0000004d 40%,#000c 70%,#000000f7 100%);position:absolute;inset:0}.splash-preview .splash-content{z-index:2;flex-direction:column;gap:8px;width:100%;padding:24px;display:flex;position:relative}.splash-preview .splash-type-badge{background:var(--accent);letter-spacing:1px;text-transform:uppercase;color:#fff;border-left:2px solid #ffffff4d;align-self:flex-start;padding:2px 8px;font-family:Archivo,system-ui,sans-serif;font-size:14px;font-style:italic;font-weight:800;display:inline-flex}.splash-preview .splash-title{text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;margin:0;font-family:Archivo,system-ui,sans-serif;font-size:46px;font-style:italic;font-weight:800;line-height:.92}.splash-preview .splash-title .silver{background:linear-gradient(#fff 0%,#8f8f8f 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.splash-preview .splash-title .red{background:linear-gradient(180deg, var(--accent) 0%, #5a0000 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.splash-preview .splash-date-row{align-items:center;gap:10px;display:flex}.splash-preview .splash-date-line{background:var(--accent);width:40px;height:2px}.splash-preview .splash-date{color:#b9b9c4;letter-spacing:.12em;font-size:12px}.splash-preview .splash-progress{background:var(--accent);z-index:10;height:5px;position:absolute;bottom:0;left:0}
