:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; color: #1d2433; background: #f6f7fb; }
/* Keep the persistent admin sidebar out of soft-navigation animations. */
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
::view-transition-old(admin-dashboard) { animation: admin-page-out .14s ease both; }
::view-transition-new(admin-dashboard) { animation: admin-page-in .18s ease both; }
@keyframes admin-page-out { to { opacity:0; transform:translateY(-3px); } }
@keyframes admin-page-in { from { opacity:0; transform:translateY(4px); } }
@media (prefers-reduced-motion: reduce) { ::view-transition-old(admin-dashboard),::view-transition-new(admin-dashboard) { animation:none; } }
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
button { cursor: pointer; border: 0; border-radius: 8px; background: #4c4cf0; color: white; padding: .75rem 1rem; font-weight: 700; }
button.secondary { background: #e9ebf3; color: #252b3c; }
a { color: #4c4cf0; font-weight: 700; text-decoration: none; }
.login-body { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; }
.ranking-form { display:grid; gap:1rem; max-width:760px; }.ranking-form label { display:grid; gap:.4rem; font-weight:700; }.ranking-form textarea { min-height:220px; resize:vertical; }.form-actions { display:flex; gap:.6rem; }.ranking-preview-list { display:grid; gap:.65rem; padding:0; list-style:none; }.ranking-preview-list li { display:grid; grid-template-columns:64px minmax(0,1fr); gap:.45rem .8rem; padding:.7rem 0; border-bottom:1px solid #e5e7ef; }.ranking-preview-list img { grid-row:1 / span 3; width:64px; height:92px; object-fit:cover; border-radius:7px; background:#e7e9f0; }.ranking-preview-list strong,.ranking-preview-list span { min-width:0; }.ranking-preview-controls { display:flex; gap:.35rem; }.ranking-work-picker { display:grid; gap:.4rem; grid-column:1 / -1; padding:.55rem; background:#f4f3ff; border-radius:8px; }.ranking-work-results { display:grid; gap:.35rem; max-height:180px; overflow:auto; }.ranking-work-results button { text-align:left; } :root[data-theme="dark"] .ranking-work-picker { background:#34335c; }
.admin-tabs { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1rem; }.admin-tabs button { color:#515a70; background:#e9ebf3; }.admin-tabs button.active { color:#fff; background:#4c4cf0; }.ranking-tab-panel + .ranking-tab-panel { margin-top:1rem; }:root[data-theme="dark"] .admin-tabs button { color:#cbd2e2; background:#343b50; }:root[data-theme="dark"] .admin-tabs button.active { color:#fff; background:#6962e9; }
.login-card { background: white; width: min(100%, 390px); padding: 2rem; border-radius: 16px; box-shadow: 0 14px 45px #20285714; }
.eyebrow { margin: 0 0 .35rem; color: #4c4cf0; font-size: .76rem; font-weight: 800; letter-spacing: .11em; }
h1 { margin: 0; font-size: 1.7rem; } h2 { margin-top: 0; font-size: 1.1rem; }
.muted { color: #6e7688; }.error { min-height: 1.3em; color: #c2273f; font-size: .9rem; }
form { display: grid; gap: 1rem; margin-top: 1.5rem; } label { display: grid; gap: .45rem; font-weight: 650; font-size: .9rem; }
input { border: 1px solid #d9ddea; border-radius: 8px; padding: .7rem .8rem; }
.dashboard { max-width: 1040px; margin: 0 auto; padding: 2rem 1.25rem; view-transition-name: admin-dashboard; } header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 2rem; }.header-actions { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; color: #6e7688; font-size: .9rem; }.header-actions a, .header-actions button { min-height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; }.header-actions form { display: contents; margin: 0; }.header-actions #user-email { margin-right: .2rem; }
.has-admin-sidebar { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100vh; }.admin-sidebar { position:sticky; top:0; align-self:start; height:100vh; padding:1.4rem .9rem; background:#252653; color:#fff; }.admin-sidebar-brand { display:block; margin:.3rem .55rem 1.5rem; color:#fff; font-size:.9rem; font-weight:900; letter-spacing:.1em; }.admin-sidebar nav { display:grid; gap:.18rem; }.admin-sidebar nav a { padding:.62rem .7rem; border-radius:7px; color:#d7d8f3; font-size:.9rem; }.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:#fff; background:#4c4cf0; }.has-admin-sidebar .dashboard { width:100%; max-width:1120px; margin:0; }.has-admin-sidebar .dashboard > header .header-actions > a { display:none; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1rem; }.stats article, .panel { background: white; border-radius: 12px; padding: 1.25rem; box-shadow: 0 3px 16px #2028570b; }.stats span { color: #6e7688; display: block; }.stats strong { font-size: 2rem; margin-top: .25rem; display: block; }
.admin-shortcuts { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1rem; }.admin-shortcut { display:grid; gap:.35rem; min-height:150px; padding:1.15rem; border-radius:12px; background:#4c4cf0; color:#fff; box-shadow:0 3px 16px #20285718; }.admin-shortcut:hover { background:#3d3dd8; }.admin-shortcut span { font-size:.72rem; font-weight:800; letter-spacing:.1em; opacity:.75; }.admin-shortcut strong { font-size:1.15rem; }.admin-shortcut p { margin:0; color:#fff; font-size:.88rem; font-weight:500; opacity:.88; }
.admin-search-results { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.7rem; }.admin-search-results button { text-align:left; }.admin-media-list { display:grid; gap:.8rem; }.admin-media-row { display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.8rem 0; border-bottom:1px solid #e5e7ef; }.admin-media-row img { width:110px; height:76px; object-fit:cover; border-radius:8px; background:#e9ebf3; }.admin-media-row > div { display:grid; gap:.3rem; }.admin-media-row > div:last-child { display:flex; flex-wrap:wrap; gap:.4rem; }.resolution-warning { color:#a34b00; font-size:.8rem; }.inline-check { display:flex; align-items:center; gap:.5rem; }.inline-check input { width:1rem; height:1rem; }.danger { background:#b2263d; }.success { min-height:1.3em; color:#087d4b; font-size:.9rem; }
.person-merge-result { display:flex; align-items:center; gap:.6rem; }.person-merge-result img { width:38px; height:38px; object-fit:cover; border-radius:50%; background:#e9ebf3; }.person-merge-result > span { display:grid; gap:.15rem; text-align:left; }.person-merge-result small { font-weight:500; opacity:.8; }
table { width: 100%; border-collapse: collapse; } th, td { text-align: left; padding: .85rem .5rem; border-bottom: 1px solid #eef0f6; } th { color: #6e7688; font-size: .8rem; } td { font-size: .92rem; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }.table-wrap { overflow-x: auto; }
@media (max-width: 600px) { .stats,.admin-shortcuts { grid-template-columns: 1fr; } header { align-items: flex-start; flex-direction: column; } .header-actions { width: 100%; justify-content: space-between; } .weight-row { grid-template-columns:1fr; align-items:stretch; }.weight-row button { width:100%; }.admin-media-row { grid-template-columns:84px minmax(0,1fr); gap:.65rem; }.admin-media-row img { width:84px; height:62px; }.admin-media-row > div:last-child { grid-column:1 / -1; } }
@media (max-width:800px) { .has-admin-sidebar { display:block; }.admin-sidebar { position:sticky; z-index:20; width:100%; height:auto; padding:.55rem .8rem; }.admin-sidebar-brand { display:inline-block; margin:.35rem .55rem .55rem; }.admin-sidebar nav { display:flex; overflow-x:auto; gap:.3rem; }.admin-sidebar nav a { flex:none; padding:.45rem .6rem; white-space:nowrap; font-size:.82rem; }.has-admin-sidebar .dashboard { margin:0 auto; }.has-admin-sidebar .dashboard > header .header-actions > a { display:inline-flex; } }

:root[data-theme="dark"] { color: #e8ecf7; background: #151824; } :root[data-theme="dark"] body { background: #151824; } :root[data-theme="dark"] .login-card, :root[data-theme="dark"] .stats article, :root[data-theme="dark"] .panel { background: #222738; box-shadow: none; } :root[data-theme="dark"] input { color: #e8ecf7; background: #171b28; border-color: #444c63; } :root[data-theme="dark"] button.secondary { color: #e8ecf7; background: #343b50; } :root[data-theme="dark"] .muted, :root[data-theme="dark"] .header-actions, :root[data-theme="dark"] .stats span, :root[data-theme="dark"] th { color: #aeb7ca; } :root[data-theme="dark"] th, :root[data-theme="dark"] td { border-color: #353d51; }
.trailer-admin-list { display:grid; gap:.6rem; }.trailer-admin-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.7rem 0; border-bottom:1px solid #e5e7ef; }.trailer-admin-row div { display:grid; gap:.2rem; }:root[data-theme="dark"] .trailer-admin-row { border-color:#353d51; }
.aggregate-result { margin-top:1rem; }.weight-list { display:grid; gap:.75rem; margin-top:1rem; }.weight-row { display:grid; grid-template-columns:120px repeat(2,minmax(130px,1fr)) auto; gap:.55rem; align-items:end; margin:0; padding:.8rem 0; border-bottom:1px solid #e5e7ef; }.weight-row .error { grid-column:1 / -1; margin:0; }.weight-row label { font-size:.78rem; }.weight-row input { min-width:0; }.ranking-applied-weight { display:block; min-height:42px; padding:.7rem .8rem; border:1px solid #d9ddea; border-radius:8px; background:#f4f5f9; font-weight:800; font-size:1rem; }:root[data-theme="dark"] .ranking-applied-weight { border-color:#444c63; background:#171b28; }.form-actions label { display:grid; gap:.35rem; font-weight:650; font-size:.85rem; } :root[data-theme="dark"] .weight-row { border-color:#353d51; }
.kobis-movie-import { display:grid; gap:.55rem; margin:1rem 0; padding:1rem; background:#f4f3ff; border-radius:9px; }.kobis-movie-import input { flex:1; }:root[data-theme="dark"] .kobis-movie-import { background:#34335c; }
.source-platform-tabs { margin:1rem 0; }.source-platform-select { display:none !important; }.source-config-list { display:grid; gap:.55rem; margin-top:1rem; }.source-config-row { display:grid; grid-template-columns:minmax(140px,1fr) auto auto auto; align-items:center; gap:.7rem; padding:.7rem 0; border-bottom:1px solid #e5e7ef; }.source-config-row strong,.source-config-row span { min-width:0; }.status-ready { color:#198754; font-weight:700; }.status-not_configured,.status-fetch_failed { color:#a34b00; font-weight:700; }:root[data-theme="dark"] .source-config-row { border-color:#353d51; }@media (max-width:700px){.source-config-row{grid-template-columns:1fr 1fr;}.source-config-row>div{grid-column:1 / -1;}}
.mail-inbox-body { max-height:14rem; margin:.7rem 0 0; padding:.75rem; overflow:auto; white-space:pre-wrap; font:.86rem/1.55 inherit; color:var(--text); background:color-mix(in srgb,var(--surface) 82%,var(--text) 4%); border-radius:.45rem; }
.work-history-work-group + .work-history-work-group { margin-top:1rem; }.work-history-work-group { border:1px solid #e0e4ef; border-radius:9px; overflow:hidden; }.work-history-work-group > summary { padding:.9rem 1rem; cursor:pointer; font-size:1.05rem; font-weight:750; }.work-history-work-group > .work-edit-history-list { padding:.75rem; border-top:1px solid #e5e7ef; }.work-edit-history-list { display:grid; gap:.55rem; }.work-edit-history-item { border:1px solid #e0e4ef; border-radius:9px; overflow:hidden; }.work-edit-history-item summary { padding:.8rem .9rem; cursor:pointer; font-weight:650; }.history-item-actions { padding:0 .9rem .75rem; }.work-edit-history-data { max-height:420px; margin:0; padding:1rem; overflow:auto; border-top:1px solid #e0e4ef; background:#f7f8fc; color:#333b50; font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }.history-state-filters { display:flex; gap:.45rem; flex-wrap:wrap; margin-bottom:1rem; }.history-state-filters .active { background:#243b7c; color:#fff; border-color:#243b7c; }:root[data-theme="dark"] .work-history-work-group,:root[data-theme="dark"] .work-history-work-group > .work-edit-history-list,:root[data-theme="dark"] .work-edit-history-item,:root[data-theme="dark"] .work-edit-history-data { border-color:#46506a; }:root[data-theme="dark"] .work-edit-history-data { background:#171b28; color:#d9dfef; }
.dictionary-form { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }.dictionary-form .form-actions { align-items:center; }.checkbox-label { display:flex; align-items:center; gap:.5rem; padding-top:1.8rem; }.checkbox-label input { width:1rem; height:1rem; }.dictionary-list { display:grid; gap:1rem; margin-top:1rem; }.dictionary-group { border:1px solid #e0e4ef; border-radius:10px; overflow:hidden; }.dictionary-group-heading,.dictionary-tag-row { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; padding:.85rem 1rem; }.dictionary-group-heading > div:first-child { display:grid; gap:.25rem; }.dictionary-group-heading strong { font-size:1.05rem; }.dictionary-group-heading span { margin-left:.5rem; }.dictionary-group-heading p,.dictionary-tag-row p { margin:.1rem 0 0; }.dictionary-tag-list { border-top:1px solid #e5e7ef; }.dictionary-tag-row + .dictionary-tag-row { border-top:1px solid #eef0f6; }.dictionary-tag-row > div:first-child { min-width:0; }.dictionary-tag-row strong { margin-right:.45rem; }.dictionary-controls { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem; flex-shrink:0; }.dictionary-controls button { padding:.48rem .65rem; font-size:.8rem; }.dictionary-inactive,.dictionary-unverified,.dictionary-on-hold,.dictionary-classified { font-size:.8rem; font-weight:700; }.dictionary-inactive { color:#a34b00; }.dictionary-unverified { color:#855d00; }.dictionary-on-hold { color:#7b4a9b; }.dictionary-classified { color:#087d4b; }.dictionary-filters { display:flex; gap:.5rem; align-items:center; }.dictionary-filters select { min-width:100px; }.section-heading #dictionary-search { width:min(300px,100%); }.dictionary-tag-edit-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; width:100%; }.dictionary-tag-edit-form label { display:grid; gap:.3rem; font-size:.78rem; font-weight:700; }.dictionary-tag-edit-form input,.dictionary-tag-edit-form select { min-width:0; padding:.55rem .6rem; }.dictionary-tag-edit-form .dictionary-controls { align-self:end; }
.dictionary-related-tags { display:grid; gap:.45rem; align-content:start; padding:.65rem; border:1px solid #e5e7ef; border-radius:8px; font-size:.78rem; }.dictionary-related-tags > input { width:100%; }
@media (max-width:600px) { .dictionary-form,.dictionary-tag-edit-form { grid-template-columns:1fr; }.checkbox-label { padding-top:0; }.dictionary-group-heading,.dictionary-tag-row { flex-direction:column; }.dictionary-controls { justify-content:flex-start; }.section-heading { align-items:stretch; flex-direction:column; } }
:root[data-theme="dark"] .dictionary-group,:root[data-theme="dark"] .dictionary-tag-list,:root[data-theme="dark"] .dictionary-tag-row { border-color:#46506a; }
