@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:#ececec;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#0a0a0b;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}::selection{background:#eab84e47}.login-screen{place-items:center;min-height:100vh;padding:2rem 1.25rem;display:grid}.login-card{width:min(400px,100%)}.login-brand{letter-spacing:.32em;text-indent:.08em;text-transform:uppercase;color:var(--hive-accent);margin-bottom:1.5rem;font-size:.85rem;font-weight:700}.login-title{letter-spacing:-.02em;margin-bottom:.4rem;font-size:1.75rem;font-weight:600}.login-lead{color:var(--hive-text-muted);margin-bottom:1.75rem;font-size:.9rem;line-height:1.45}.login-form{flex-direction:column;gap:.9rem;display:flex}.login-field{letter-spacing:.08em;text-transform:uppercase;color:var(--hive-text-faint);flex-direction:column;gap:.35rem;font-size:.7rem;font-weight:600;display:flex}.login-field input{font:inherit;letter-spacing:normal;text-transform:none;color:var(--hive-text);background:var(--hive-surface);border-radius:var(--hive-radius-sm);border:none;outline:none;padding:.7rem .85rem;font-size:.95rem;font-weight:400}.login-field input:focus{box-shadow:inset 0 0 0 1px var(--hive-accent)}.login-error{color:#e08a8a;margin:0;font-size:.85rem}.login-submit{border-radius:var(--hive-radius-sm);color:var(--hive-accent-ink);background:var(--hive-accent);margin-top:.35rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:background .15s}.login-submit:hover:not(:disabled){background:var(--hive-accent-soft)}.login-submit:disabled{opacity:.65;cursor:default}.clip-desk{flex-direction:column;gap:.85rem;display:flex}.clip-desk-bar{align-items:baseline;gap:1.25rem;min-width:0;display:flex}.back-link{color:var(--hive-text-dim);flex:none;font-size:.82rem;font-weight:500;transition:color .15s}.back-link:hover{color:var(--hive-accent)}.clip-desk-heading{flex:1;min-width:0}.clip-desk-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:600;overflow:hidden}.clip-desk-meta{color:var(--hive-text-faint);flex-wrap:wrap;gap:.35rem .45rem;font-size:.72rem;display:flex}.clip-desk-meta span{color:var(--hive-text-faint);opacity:.45}.clip-desk-alerts{flex-direction:column;gap:.35rem;display:flex}.clip-desk-alert-row{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;display:flex}.proxy-notice{color:var(--hive-accent);margin:0;font-size:.78rem}.proxy-notice--error{color:#e07070}.proxy-progress{flex-direction:column;gap:.35rem;max-width:28rem;display:flex}.proxy-progress-track{background:var(--hive-surface-2);border-radius:999px;height:6px;overflow:hidden}.proxy-progress-fill{background:var(--hive-accent);height:100%;transition:width .35s}.proxy-progress-label{color:var(--hive-accent);margin:0;font-size:.78rem;font-weight:500}.clip-desk-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.95fr);align-items:start;gap:1.5rem 2rem;display:grid}.clip-desk-stage{flex-direction:column;gap:.55rem;min-width:0;display:flex}.player-frame{border-radius:var(--hive-radius);background:#000;overflow:hidden}.player{aspect-ratio:16/9;vertical-align:top;background:#000;width:100%;max-height:min(64vh,780px);display:block}.filmstrip{grid-template-columns:repeat(8,1fr);gap:.35rem;list-style:none;display:grid}.filmstrip-frame{aspect-ratio:16/9;border-radius:4px;width:100%;display:block}.clip-desk-rail{flex-direction:column;gap:1.1rem;min-width:0;padding-top:.15rem;display:flex}.intel-summary{color:var(--hive-text-muted);font-size:.88rem;line-height:1.5}.rail-block{flex-direction:column;gap:.55rem;display:flex}.rail-label{letter-spacing:.1em;text-transform:uppercase;color:var(--hive-text-faint);font-size:.68rem;font-weight:600}.rail-empty{color:var(--hive-text-faint);font-size:.82rem}.star-row{flex-wrap:wrap;align-items:center;gap:.15rem .2rem;display:flex}.star-btn{color:var(--hive-text-faint);padding:.1rem .15rem;font-size:1.35rem;line-height:1;transition:color .12s,transform .12s}.star-btn:hover{color:var(--hive-accent);transform:scale(1.08)}.star-btn--on{color:var(--hive-accent)}.star-clear{color:var(--hive-text-faint);margin-left:.45rem;font-size:.72rem;font-weight:500}.star-clear:hover{color:var(--hive-accent)}.notes-box{resize:vertical;width:100%;min-height:5.5rem;font:inherit;color:var(--hive-text);background:var(--hive-surface);border-radius:var(--hive-radius-sm);border:none;padding:.65rem .75rem;font-size:.86rem;line-height:1.45;transition:box-shadow .15s;box-shadow:inset 0 0 0 1px #0000}.notes-box::placeholder{color:var(--hive-text-faint)}.notes-box:focus{box-shadow:inset 0 0 0 1px var(--hive-accent);outline:none}.face-list{flex-wrap:wrap;gap:.65rem 1rem;list-style:none;display:flex}.face-row{align-items:center;gap:.55rem;min-width:0;display:flex}.face-swatch{background:var(--hive-surface-2);border-radius:50%;flex:none;width:36px;height:36px}.face-name{font-size:.88rem;font-weight:500}.face-name-form{min-width:8rem}.transcript{color:var(--hive-text-dim);white-space:pre-wrap;margin:0;font-family:ui-monospace,Cascadia Code,monospace;font-size:.74rem;line-height:1.55}.path-line{color:var(--hive-text-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:.25rem;font-family:ui-monospace,Cascadia Code,monospace;font-size:.68rem;overflow:hidden}.danger-block{border-top:1px solid color-mix(in srgb, var(--hive-text-faint) 35%, transparent);margin-top:.5rem;padding-top:1rem}.danger-link{color:#c45c5c;align-self:flex-start;font-size:.82rem;font-weight:500}.danger-link:hover{color:#e07070}.delete-confirm{flex-direction:column;gap:.55rem;display:flex}.delete-confirm-copy{color:var(--hive-text-dim);margin:0;font-size:.8rem;line-height:1.45}.delete-confirm-name{color:var(--hive-text);word-break:break-all;margin:0;font-family:ui-monospace,Cascadia Code,monospace;font-size:.78rem;font-weight:600}.delete-confirm-error{color:#e07070;margin:0;font-size:.78rem}.delete-confirm-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.danger-btn{color:#fff;border-radius:var(--hive-radius-sm);background:#a33d3d;border:none;padding:.45rem .85rem;font-size:.82rem;font-weight:600}.danger-btn:hover:not(:disabled){background:#c24a4a}.danger-btn:disabled{opacity:.65}@media (width<=1024px){.clip-desk-grid{grid-template-columns:1fr;gap:1.25rem}.player{max-height:none}}.filters{margin-bottom:2rem}.search-input{width:100%;color:var(--hive-text);background:var(--hive-surface);border-radius:var(--hive-radius-sm);border:none;outline:none;margin-bottom:.85rem;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;transition:box-shadow .15s;box-shadow:inset 0 0 0 1px #0000}.search-input:focus{box-shadow:inset 0 0 0 1px var(--hive-accent)}.search-input::placeholder{color:var(--hive-text-faint)}.filter-row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem;display:grid}.filter-field{text-transform:uppercase;letter-spacing:.08em;color:var(--hive-text-faint);flex-direction:column;gap:.35rem;font-size:.66rem;font-weight:600;display:flex}.filter-field select{text-transform:none;letter-spacing:normal;color:var(--hive-text);background:var(--hive-surface);border-radius:var(--hive-radius-sm);border:none;outline:none;padding:.5rem .6rem;font-family:inherit;font-size:.85rem;font-weight:400}.clear-filters{margin-top:.85rem;margin-bottom:0}.results-count{color:var(--hive-text-dim);margin-bottom:1rem;font-size:.85rem}.shoot-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.shoot-row{background:var(--hive-surface);border-radius:var(--hive-radius);text-align:left;grid-template-columns:8.5rem 1fr auto;align-items:baseline;gap:1.25rem;width:100%;padding:1rem 1.15rem;transition:background .15s;display:grid}.shoot-row:hover{background:var(--hive-surface-2)}.shoot-row:hover .shoot-name{color:var(--hive-accent-soft)}.shoot-date{color:var(--hive-text-dim);font-size:.8rem;font-weight:500}.shoot-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:600;transition:color .15s}.shoot-count{color:var(--hive-text-faint);font-size:.78rem}@media (width<=560px){.shoot-row{grid-template-columns:1fr;gap:.25rem}.shoot-count{justify-self:start}}.shoot-page-date{color:var(--hive-text-dim);margin-bottom:.35rem;font-size:.85rem;font-weight:500}:root{--hive-bg:#0a0a0b;--hive-surface:#141416;--hive-surface-2:#1c1c1f;--hive-text:#ececec;--hive-text-muted:#a1a1a6;--hive-text-dim:#7a7a80;--hive-text-faint:#55555c;--hive-accent:#eab84e;--hive-accent-soft:#f3d489;--hive-accent-warm:#e79a4b;--hive-accent-ink:#17130a;--hive-radius:12px;--hive-radius-sm:8px}.library-title,.shoot-page-title,.clip-detail-title{letter-spacing:-.02em;margin-bottom:.4rem;font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:600}.library-lead{color:var(--hive-text-muted);max-width:40rem;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.text-link{color:var(--hive-text-muted);margin-bottom:1.5rem;font-size:.88rem;font-weight:500;transition:color .15s}.text-link:hover{color:var(--hive-accent)}.clip-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.4rem 1.1rem;list-style:none;display:grid}.clip-card{text-align:left;flex-direction:column;gap:.5rem;width:100%;display:flex}.clip-card:hover .clip-thumb{filter:brightness(1.15)}.clip-card:hover .clip-name{color:var(--hive-accent-soft)}.clip-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--hive-radius-sm);background:var(--hive-surface);width:100%;transition:filter .15s;display:block}.clip-thumb--empty{background:var(--hive-surface-2)}.clip-name{color:var(--hive-text);letter-spacing:.01em;font-size:.82rem;font-weight:500;transition:color .15s}.clip-sub{color:var(--hive-text-faint);font-size:.72rem}.empty-shelf{color:var(--hive-text-dim);padding:2rem 0}.tag-group{flex-direction:column;gap:.55rem;display:flex}.tag-list{flex-wrap:wrap;gap:.35rem;list-style:none;display:flex}.tag-empty{color:var(--hive-text-faint);font-size:.82rem}.tag-chip{background:var(--hive-surface-2);color:var(--hive-text);border-radius:999px;align-items:center;gap:.25rem;padding:.28rem .35rem .28rem .65rem;font-size:.76rem;font-weight:500;display:inline-flex}.tag-remove{color:var(--hive-text-dim);border-radius:999px;padding:.1rem .3rem;line-height:1}.tag-remove:hover{color:var(--hive-text);background:#ffffff14}.tag-form{gap:.45rem;display:flex}.tag-input{min-width:0;color:var(--hive-text);background:var(--hive-surface);border-radius:var(--hive-radius-sm);border:none;outline:none;flex:1;padding:.45rem .7rem;font-family:inherit;font-size:.82rem;transition:box-shadow .15s;box-shadow:inset 0 0 0 1px #0000}.tag-input:focus{box-shadow:inset 0 0 0 1px var(--hive-accent)}.tag-input::placeholder{color:var(--hive-text-faint)}.tag-add{border-radius:var(--hive-radius-sm);color:var(--hive-accent-ink);background:var(--hive-accent);white-space:nowrap;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:background .15s}.tag-add:hover{background:var(--hive-accent-soft)}code{color:var(--hive-accent-soft);background:var(--hive-surface-2);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,Cascadia Code,monospace;font-size:.85em}.app{width:min(1060px,100% - 3rem);margin:0 auto;padding:1.5rem 0 4rem}.app--wide{width:min(1560px,100% - 3rem)}.top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.25rem;display:flex}.top-right{align-items:center;gap:.85rem;display:flex}.top-user{color:var(--hive-text-faint);font-size:.78rem}.top-logout{margin-bottom:0}.app--wide .top{margin-bottom:1rem}.brand{letter-spacing:.32em;text-indent:.08em;text-transform:uppercase;color:var(--hive-text);align-items:center;gap:.6rem;font-size:.9rem;font-weight:700;transition:opacity .15s;display:inline-flex}.brand:before{content:"";background:var(--hive-accent);clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0% 50%);width:10px;height:10px}.brand:hover{opacity:.75}.labels-banner{color:var(--hive-accent);max-width:48rem;margin:-.5rem 0 1.25rem;font-size:.8rem;line-height:1.45}
