:root {
    --brand-main: #1b2742;
    --brand-sub: #4b5f86;
    --accent: #e50914;
    --on-accent: #fff;
    --theme-bg: #080a0f;
    --theme-surface: #11141b;
    --theme-surface-2: #171b24;
    --bg: var(--theme-bg);
    --surface: var(--theme-surface);
    --surface-2: var(--theme-surface-2);
    --line: rgba(255,255,255,.1);
    --text: #f7f8fa;
    --muted: #939baa;
    --radius: 14px;
    --shadow: 0 18px 50px rgba(0,0,0,.3);
    color-scheme: dark;
    font-family: Inter, Pretendard, "Noto Sans KR", system-ui, sans-serif;
}

[data-theme="cinema"] { --theme-bg:#0c0809; --theme-surface:#171011; --theme-surface-2:#211617; --text:#fff8f8; }
[data-theme="wave"] { --theme-bg:#061019; --theme-surface:#0c1a26; --theme-surface-2:#102538; --text:#effaff; --radius:22px; }
[data-theme="royal"] { --theme-bg:#0d0914; --theme-surface:#171022; --theme-surface-2:#231633; --text:#faf5ff; --radius:18px; }
[data-theme="ember"] { --theme-bg:#120b07; --theme-surface:#1c120d; --theme-surface-2:#2a1b13; --text:#fff8ef; --radius:10px; }
[data-theme="minimal"] { --theme-bg:#0e0e0e; --theme-surface:#171717; --theme-surface-2:#202020; --text:#f5f5f5; --radius:4px; }

[data-mode="light"] {
    --theme-bg:#f4f5f7;
    --theme-surface:#fff;
    --theme-surface-2:#eceff3;
    --line:rgba(10,20,30,.12);
    --text:#11151b;
    --muted:#626b78;
    --shadow:0 18px 50px rgba(20,30,50,.12);
    color-scheme:light;
}
[data-theme="cinema"][data-mode="light"] { --theme-bg:#fbf4f4; --theme-surface:#fffafa; --theme-surface-2:#f3e4e5; }
[data-theme="wave"][data-mode="light"] { --theme-bg:#f0f8fc; --theme-surface:#f9fdff; --theme-surface-2:#deeff8; }
[data-theme="royal"][data-mode="light"] { --theme-bg:#f8f3fc; --theme-surface:#fffaff; --theme-surface-2:#ece1f4; }
[data-theme="ember"][data-mode="light"] { --theme-bg:#fcf6f1; --theme-surface:#fffaf5; --theme-surface-2:#f3e5d9; }
[data-theme="minimal"][data-mode="light"] { --theme-bg:#f5f5f5; --theme-surface:#fff; --theme-surface-2:#e7e7e7; }

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:280px; margin:0; overflow-x:hidden; overflow-x:clip; background:var(--bg); color:var(--text); line-height:1.55; }
button,input,textarea,select { font:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { color:inherit; }

.site-header {
    position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:34px;
    min-height:72px; padding:12px clamp(18px,4vw,64px);
    background:var(--bg); background:color-mix(in srgb,var(--bg) 86%,transparent);
    backdrop-filter:blur(18px); border-bottom:1px solid var(--line);
}
.site-logo { flex:0 1 auto; max-width:min(34vw,260px); min-width:0; font-weight:800; font-size:1.25rem; letter-spacing:.08em; }
.site-logo span { display:block; overflow:hidden; color:var(--accent); text-overflow:ellipsis; white-space:nowrap; }
.site-logo img { width:auto; max-width:180px; height:40px; object-fit:contain; }
.main-nav { display:flex; flex:1 1 auto; min-width:0; align-items:center; gap:22px; overflow:auto; scrollbar-width:none; }
.main-nav::-webkit-scrollbar { display:none; }
.main-nav a { color:var(--muted); font-size:.9rem; font-weight:600; white-space:nowrap; }
.main-nav a:hover,.main-nav a.active { color:var(--text); }
.header-actions { flex:0 0 auto; margin-left:auto; display:flex; gap:8px; }
.icon-button,.sidebar-toggle {
    width:40px; height:40px; border:1px solid var(--line); border-radius:50%;
    background:var(--surface); cursor:pointer;
}
.discover-toolbar {
    position:sticky; top:72px; z-index:45; display:flex; align-items:center; gap:10px;
    width:100%; padding:13px clamp(18px,4vw,64px); background:var(--surface); background:color-mix(in srgb,var(--surface) 94%,transparent);
    border-bottom:1px solid var(--line); box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.discover-search { display:flex; align-items:center; flex:1; min-width:0; padding-left:14px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.discover-search>span { color:var(--muted); font-size:1.2rem; }
.discover-search input { min-width:0; border:0; background:transparent; box-shadow:none; }
.discover-search input:focus { box-shadow:none; }
.discover-search .button { min-height:44px; border-radius:10px; margin:3px; }
.filter-toggle {
    min-height:50px; display:flex; align-items:center; gap:8px; padding:10px 16px;
    border:1px solid var(--line); border-radius:12px; background:var(--surface-2); cursor:pointer; font-weight:700;
}
.filter-toggle b { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:99px; background:var(--accent); color:var(--on-accent); font-size:.72rem; }
.filter-popover {
    display:none; position:absolute; top:calc(100% + 8px); right:clamp(18px,4vw,64px); width:min(680px,calc(100vw - 36px));
    max-height:calc(100vh - 170px); overflow:auto; padding:22px; border:1px solid var(--line); border-radius:16px; background:var(--surface);
    box-shadow:0 25px 80px rgba(0,0,0,.45);
}
.filter-popover[hidden] { display:none !important; }
.filter-popover.open:not([hidden]) { display:grid; gap:22px; }
.filter-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.filter-heading>div { display:grid; }
.filter-heading span { color:var(--muted); font-size:.78rem; }
.filter-close { width:44px; height:44px; min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:50%; background:var(--surface-2); cursor:pointer; font-size:1.2rem; }
.filter-popover legend { margin-bottom:10px; }
.filter-popover legend small { margin-left:6px; color:var(--muted); font-weight:400; }
.filter-options { display:flex; flex-wrap:wrap; gap:8px; }
.filter-options label { position:relative; }
.filter-options input { position:absolute; opacity:0; pointer-events:none; }
.filter-options label span { display:block; margin:0; padding:8px 12px; border:1px solid var(--line); border-radius:99px; color:var(--muted); cursor:pointer; }
.filter-options input:focus-visible+span { outline:2px solid var(--accent); outline-offset:2px; }
.filter-options input:checked+span { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 18%,transparent); color:var(--text); }
.filter-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding-top:18px; border-top:1px solid var(--line); }
.filter-actions>a { color:var(--muted); font-size:.84rem; }
.active-filter-bar {
    display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:10px clamp(18px,4vw,64px);
    border-bottom:1px solid var(--line); background:var(--bg); color:var(--muted); font-size:.78rem;
}
.active-filter-bar b { padding:5px 9px; border-radius:99px; background:var(--surface-2); color:var(--text); font-weight:600; }
.active-filter-bar a { margin-left:auto; color:var(--accent); font-weight:700; }
input,textarea,select {
    width:100%; border:1px solid var(--line); border-radius:9px; padding:11px 13px;
    color:var(--text); background:var(--surface-2); outline:none;
}
input:focus,textarea:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent); }
textarea { resize:vertical; }
label>span,legend { display:block; margin-bottom:7px; font-size:.86rem; font-weight:700; }
label small { color:var(--muted); font-weight:400; }
fieldset { padding:0; border:0; margin:0; }

.button {
    display:inline-flex; min-height:42px; padding:9px 18px; align-items:center; justify-content:center;
    border:1px solid var(--line); border-radius:9px; background:var(--surface-2); color:var(--text);
    font-weight:700; white-space:nowrap; cursor:pointer;
}
.button.primary { border-color:transparent; background:var(--accent); color:var(--on-accent); }
.button.danger { border-color:rgba(255,83,95,.45); background:rgba(255,83,95,.12); color:#ffafb5; }
.button.wide { width:100%; }
.button:disabled { opacity:.45; cursor:not-allowed; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.eyebrow { margin:0 0 8px; color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.muted { color:var(--muted); }

.content-ribbon {
    width:100%; max-width:100%; overflow-x:hidden; overflow-x:clip; padding:8px clamp(8px,1.2vw,18px);
    border:0; background:color-mix(in srgb,var(--surface) 75%,var(--bg));
    overscroll-behavior-inline:contain;
}
.placement-top { box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--line) 60%,transparent); }
.placement-bottom { box-shadow:inset 0 1px 0 color-mix(in srgb,var(--line) 60%,transparent); }
.placement-video { padding:14px 0 0; background:transparent; border:0; margin-top:26px; overflow:visible; }
.content-row { display:grid; grid-template-columns:repeat(var(--ad-columns,5),minmax(0,1fr)); gap:4px; width:100%; max-width:var(--ad-row-max-width,1360px); margin:auto; }
.placement-top>.content-row,.placement-bottom>.content-row { max-width:var(--ad-row-max-width,1760px); }
.content-row + .content-row { margin-top:4px; }
.placement-video .content-row { grid-template-columns:repeat(var(--ad-columns,2),minmax(0,1fr)); gap:6px; width:100%; min-width:0; max-width:var(--ad-row-max-width,1180px); }
.placement-video .content-row + .content-row { margin-top:6px; }
.content-tile {
    position:relative; min-width:0; height:clamp(34px,4.8vw,68px); overflow:hidden;
    border:1px solid var(--line); border-radius:3px; background:var(--surface-2); isolation:isolate;
}
.placement-top .content-tile,.placement-bottom .content-tile {
    height:clamp(56px,4.5vw,80px);
    border-color:color-mix(in srgb,var(--line) 70%,transparent); border-radius:6px;
    box-shadow:0 2px 10px rgba(0,0,0,.1);
}
.placement-top .content-tile img,.placement-bottom .content-tile img { object-fit:contain; background:var(--surface-2); }
.placement-video .content-tile { height:clamp(48px,8vw,96px); }
.placement-video[data-columns="5"] .content-tile { height:48px; }
.placement-video[data-columns="5"] .content-tile img { object-fit:contain; background:var(--surface-2); }
.content-tile.is-vacant {
    border-color:transparent; background:transparent; box-shadow:none; pointer-events:none;
}
.content-tile.media-failed { border-color:transparent; background:transparent; box-shadow:none; }
.content-tile.media-failed .content-image { pointer-events:none; }
.content-layer { position:absolute; inset:0; z-index:2; }
.content-tile a,.content-tile img,.content-tile iframe { display:block; width:100%; height:100%; border:0; object-fit:cover; }
.content-tile .content-copy {
    display:flex; align-items:center; justify-content:center; padding:clamp(3px,.45vw,8px);
    background:
      linear-gradient(135deg,color-mix(in srgb,var(--brand-main) 24%,var(--surface-2)),color-mix(in srgb,var(--brand-sub) 20%,var(--surface)));
    color:var(--text); text-align:center; font-size:clamp(.58rem,.85vw,.92rem); font-weight:800; line-height:1.15;
}
.content-tile .content-copy span { display:-webkit-box; max-width:100%; overflow:hidden; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.content-tile a:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }

[data-theme="wave"] .post-row { grid-auto-columns:minmax(250px,25vw); }
[data-theme="minimal"] .poster { box-shadow:none; }
[data-theme="minimal"] .content-section { max-width:1500px; margin-inline:auto; }

.catalog-main {
    min-height:42vh;
    background:linear-gradient(180deg,color-mix(in srgb,var(--brand-main) 7%,transparent),transparent 180px);
}
.content-section { padding:clamp(34px,5vw,70px) clamp(18px,4vw,64px); }
.catalog-main>.content-section-lead { padding-top:clamp(26px,3.4vw,48px); }
.catalog-main>.content-section + .content-section { position:relative; }
.catalog-main>.content-section + .content-section::before {
    content:""; position:absolute; top:0; left:clamp(18px,4vw,64px); right:clamp(18px,4vw,64px); height:1px;
    background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--line) 72%,transparent) 12%,color-mix(in srgb,var(--line) 72%,transparent) 88%,transparent);
    pointer-events:none;
}
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.section-heading h2 { margin:0; font-size:clamp(1.35rem,2.5vw,2rem); }
.section-heading a,.section-heading>span { color:var(--muted); font-size:.85rem; }
.section-heading-actions { display:flex; flex:0 0 auto; align-items:center; gap:14px; }
.section-heading-actions span { color:var(--muted); font-size:.85rem; }
.catalog-sort { display:flex; min-width:0; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 12px; margin:-6px 0 20px; }
.catalog-sort-label { color:var(--muted); font-size:.78rem; font-weight:800; }
.catalog-sort-options { display:flex; min-width:0; flex-wrap:wrap; gap:8px; }
.catalog-sort-link { display:inline-flex; min-width:72px; min-height:44px; align-items:center; justify-content:center; padding:8px 13px; border:1px solid var(--line); border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:.8rem; font-weight:800; text-align:center; }
.catalog-sort-link:hover,.catalog-sort-link:focus-visible,.catalog-sort-link.is-current { border-color:var(--accent); color:var(--text); }
.catalog-sort-link.is-current { background:var(--accent); color:var(--on-accent); }
.catalog-sort-link:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent); outline-offset:2px; }
.post-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,22vw); gap:16px; overflow-x:auto; padding-bottom:14px; scroll-snap-type:x proximity; }
.post-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px 16px; }
.post-card { min-width:0; scroll-snap-align:start; }
.poster { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.poster img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.post-card:hover .poster img { transform:scale(1.04); }
.poster-placeholder { width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--surface),var(--surface-2));background:linear-gradient(135deg,color-mix(in srgb,var(--brand-main) 18%,var(--surface)),color-mix(in srgb,var(--brand-sub) 22%,var(--surface-2)));color:var(--accent);font-size:2rem; }
.poster-new-badge { position:absolute; z-index:3; left:10px; top:10px; display:inline-flex; min-height:24px; align-items:center; justify-content:center; padding:5px 8px; border:1px solid color-mix(in srgb,var(--on-accent) 34%,transparent); border-radius:7px; background:var(--accent); color:var(--on-accent); box-shadow:0 4px 14px rgba(0,0,0,.28); pointer-events:none; font-size:.68rem; font-weight:900; letter-spacing:.08em; line-height:1; white-space:nowrap; }
.play-badge { position:absolute; z-index:2; left:10px; top:10px; padding:5px 9px; border-radius:99px; background:rgba(0,0,0,.72); color:#fff; font-size:.7rem; font-weight:700; opacity:0; transform:translateY(-4px); transition:.2s; }
.poster-new-badge ~ .play-badge { right:10px; left:auto; }
.post-card:hover .play-badge { opacity:1; transform:none; }
.poster-metadata { position:absolute; z-index:1; inset:auto 0 0; display:flex; min-width:0; align-items:flex-end; justify-content:space-between; gap:8px; padding:28px 8px 7px; color:#fff; background:linear-gradient(to bottom,transparent,rgba(0,0,0,.82)); pointer-events:none; font-size:.69rem; font-variant-numeric:tabular-nums; line-height:1; }
.poster-metadata-summary,.poster-metadata-duration { display:inline-flex; min-width:0; min-height:22px; align-items:center; border-radius:6px; background:rgba(5,7,12,.8); padding:4px 6px; font-weight:800; white-space:nowrap; text-shadow:0 1px 2px rgba(0,0,0,.8); }
.poster-metadata-summary { overflow:hidden; text-overflow:ellipsis; }
.poster-metadata-duration { flex:0 0 auto; }
.poster-metadata.is-duration-only { justify-content:flex-end; }
.post-card h3 { margin:11px 0 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.97rem; }
.card-engagement { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:3px 6px; margin:0 0 6px; color:var(--muted); font-size:.72rem; font-variant-numeric:tabular-nums; line-height:1.4; }
.card-engagement-separator { color:color-mix(in srgb,var(--muted) 64%,transparent); }
.card-tags,.tag-list { display:flex; flex-wrap:wrap; gap:6px; color:var(--muted); font-size:.75rem; }
.empty-state { padding:50px 20px; text-align:center; border:1px dashed var(--line); border-radius:var(--radius); color:var(--muted); }

.watch-main { width:100%; max-width:1600px; margin:auto; padding:clamp(18px,3vw,48px); }
.player-shell { position:relative; width:min(100%,1440px); width:min(100%,1440px,calc((100svh - 168px)*16/9)); min-width:0; margin-inline:auto; aspect-ratio:16/9; overflow:hidden; border-radius:18px; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.4); isolation:isolate; }
.player-shell>iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
@media (hover:none), (pointer:coarse) {
    .player-shell>iframe:focus,.player-shell>iframe:focus-visible { outline:none; box-shadow:none; }
}
.watch-heading { max-width:920px; min-width:0; padding:0 4px clamp(22px,2.6vw,36px); }
.watch-heading h1 { margin:0 0 10px; overflow-wrap:anywhere; font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.04em; }
.watch-post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:0 0 14px; color:var(--muted); font-size:.82rem; font-variant-numeric:tabular-nums; }
.watch-body { max-width:920px; min-width:0; padding:clamp(28px,3vw,42px) 4px 0; }
.post-content { margin:0; color:var(--muted); overflow-wrap:anywhere; white-space:normal; }
.watch-recommendation { display:grid; width:min(100%,920px); min-width:0; margin-inline:auto; justify-items:center; justify-self:center; gap:10px; padding:clamp(28px,3vw,42px) 4px 0; text-align:center; }
.recommendation-button { display:inline-flex; min-width:132px; min-height:48px; align-items:center; justify-content:center; gap:9px; padding:10px 16px; border:1px solid color-mix(in srgb,var(--accent) 64%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--accent) 8%,var(--surface)); color:var(--text); font:inherit; font-weight:800; cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.recommendation-button strong { display:inline-grid; min-width:28px; min-height:24px; place-items:center; padding:2px 7px; border-radius:999px; background:color-mix(in srgb,var(--accent) 18%,var(--surface-2)); color:var(--text); font-size:.76rem; font-variant-numeric:tabular-nums; }
.recommendation-button:hover:not(:disabled),.recommendation-button:focus-visible { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,var(--surface)); }
.recommendation-button:active:not(:disabled) { transform:translateY(1px); }
.recommendation-button:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 36%,transparent); outline-offset:3px; }
.recommendation-button[aria-busy="true"] { cursor:progress; opacity:.78; }
.recommendation-button.is-recommended,.recommendation-button:disabled { cursor:default; }
.recommendation-button.is-recommended { border-color:rgba(83,216,139,.46); background:rgba(83,216,139,.1); color:#7be9a9; opacity:1; }
.recommendation-status { min-height:1.5em; margin:0; color:var(--muted); font-size:.76rem; text-align:center; }
.recommendation-status.is-error { color:#ff8a92; }
.site-footer {
    display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; padding:55px clamp(18px,4vw,64px);
    border-top:0; background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 48%,var(--bg)),var(--bg));
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--line) 55%,transparent); color:var(--muted);
}
.site-footer strong { color:var(--text); font-size:1.1rem; }
.site-footer small { margin-top:8px; }
.site-footer>* { min-width:0; max-width:100%; }
.social-links { display:flex; width:100%; max-width:100%; min-width:0; align-items:center; flex-wrap:wrap; gap:15px; }
.social-links a { display:flex; min-width:0; max-width:100%; align-items:center; gap:7px; overflow-wrap:anywhere; }
.social-links img { width:18px; height:18px; border-radius:4px; object-fit:cover; }
.footer-contact-links { grid-column:1/-1; justify-content:flex-start; padding-bottom:2px; }
.footer-copy { display:grid; max-width:min(100%,980px); gap:12px; }
.footer-copy p { margin:0; line-height:1.75; }
.social-fallback { display:inline-grid; place-items:center; width:18px; height:18px; flex:0 0 auto; border-radius:5px; background:var(--accent); color:var(--on-accent) !important; font-size:.68rem !important; font-weight:800; line-height:1; }

.storage-picker-panel {
    display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; align-items:center;
    margin:18px 0; padding:18px 20px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:14px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--brand-main) 15%,var(--surface-2)),var(--surface));
}
.storage-picker-panel h3,.storage-picker-panel p { margin:0; }
.storage-picker-panel>div>p:last-child { margin-top:5px; color:var(--muted); font-size:.86rem; }
.storage-picker-panel .eyebrow { margin-bottom:4px; }
.storage-picker-summary { grid-column:1/-1; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; }
.storage-browser-dialog {
    width:min(1080px,calc(100vw - 32px)); max-width:none; height:min(760px,calc(100dvh - 32px)); max-height:none;
    padding:0; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--surface); color:var(--text); box-shadow:0 32px 100px rgba(0,0,0,.65);
}
.storage-browser-dialog::backdrop { background:rgba(2,5,10,.78); backdrop-filter:blur(5px); }
.storage-dialog-shell { display:grid; grid-template-rows:auto auto auto auto minmax(0,1fr) auto; height:100%; min-height:0; }
.storage-dialog-header,.storage-dialog-toolbar,.storage-dialog-footer { display:flex; align-items:center; gap:14px; padding:16px 20px; border-bottom:1px solid var(--line); }
.storage-dialog-header { justify-content:space-between; }
.storage-dialog-header h2 { margin:0; font-size:1.35rem; }
.storage-dialog-close { width:44px; height:44px; flex:0 0 44px; border:1px solid var(--line); border-radius:50%; background:var(--surface-2); cursor:pointer; font-size:1.4rem; }
.storage-dialog-toolbar { align-items:end; flex-wrap:wrap; }
.storage-dialog-toolbar label { flex:1; min-width:180px; }
.storage-picker-unit-toggle { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:min(100%,280px); padding:3px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
.storage-picker-unit-toggle button { min-height:40px; padding:7px 11px; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; font-weight:750; }
.storage-picker-unit-toggle button[aria-pressed="true"] { background:var(--accent); color:var(--on-accent); box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 24%,transparent); }
.storage-picker-unit-toggle button:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.storage-breadcrumbs { display:flex; align-items:center; gap:7px; min-height:50px; overflow-x:auto; padding:10px 20px; border-bottom:1px solid var(--line); white-space:nowrap; }
.storage-breadcrumbs button { padding:4px 7px; border:0; background:none; color:var(--accent); cursor:pointer; }
.storage-breadcrumbs button:disabled { color:var(--text); cursor:default; }
.storage-breadcrumbs>span { color:var(--muted); }
.storage-hls-package-note { margin:0; padding:10px 20px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--accent) 5%,var(--surface)); color:var(--muted); font-size:.79rem; line-height:1.55; }
.storage-hls-package-note strong { color:var(--text); }
.storage-hls-package-note code { color:var(--accent); overflow-wrap:anywhere; }
.storage-hls-package-button { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.storage-browser-grid { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:0; overflow:hidden; }
.storage-directory-pane,.storage-file-pane { min-width:0; min-height:0; padding:16px 20px; overflow:auto; }
.storage-directory-pane { border-right:1px solid var(--line); background:color-mix(in srgb,var(--surface-2) 55%,var(--surface)); }
.storage-directory-pane h3 { margin:0 0 10px; font-size:.88rem; }
.storage-directory-pane>div { display:grid; gap:5px; }
.storage-hls-directory-header { display:grid; gap:9px; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.storage-hls-directory-header>div:first-child { display:grid; gap:4px; }
.storage-hls-directory-header h3 { margin:0; }
.storage-hls-directory-header p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.5; }
.storage-hls-directory-actions { display:grid; gap:5px; }
.storage-hls-directory-action-buttons { display:flex; align-items:center; gap:11px; }
.storage-hls-directory-actions .text-button { min-height:36px; }
.storage-hls-directory-actions>span { color:var(--muted); font-size:.72rem; white-space:nowrap; }
.storage-hls-directory-actions strong { color:var(--text); }
.storage-hls-folder-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px; align-items:center; }
.storage-hls-folder-pagination>span { color:var(--muted); font-size:.72rem; }
.storage-hls-folder-pagination .button { min-height:38px; padding:7px 10px; }
.storage-folder-search { display:grid; gap:8px; min-width:0; width:100%; }
.storage-folder-search input { min-width:0; width:100%; }
.storage-folder-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
.storage-folder-search-row>.button { min-height:48px; }
.storage-search-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; }
.storage-search-actions>.button { min-height:44px; }
.storage-search-scope { margin:12px 0; line-height:1.6; overflow-wrap:anywhere; }
.storage-file-pane>.storage-search-actions { margin-top:10px; }
.storage-browser-dialog .storage-file-pane>.storage-bulk-file-list { flex-shrink:0; min-height:150px; }
.storage-folder-search-row { align-items:end; }
.storage-directory-pane [aria-busy="true"],.storage-file-list[aria-busy="true"] { opacity:.6; pointer-events:none; }
.storage-browser-dialog input[type="search"] { min-width:0; width:100%; }
.storage-browser-dialog label { min-width:0; }
.storage-browser-dialog :is(.storage-empty,.empty-state,.storage-search-scope) { word-break:keep-all; overflow-wrap:anywhere; }
.storage-file-filters :is(input[type="search"],select),.storage-browser-dialog .storage-folder-search input[type="search"],.storage-browser-dialog .storage-search-actions>.button { min-height:50px; }
.storage-picker-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:8px; margin:12px auto 0; width:100%; max-width:420px; }
.storage-picker-pagination .button { min-height:44px; padding:8px 10px; white-space:normal; }
.storage-picker-pagination>span { text-align:center; color:var(--muted); font-size:.8rem; }
.storage-browser-grid[data-picker-unit="files"] .storage-folder-pagination { display:none; }
[data-storage-use][hidden] { display:none!important; }
.storage-dialog-status-group>p[data-state="success"] { display:block; overflow:visible; overflow-wrap:anywhere; }
.storage-directory-choice { display:grid; grid-template-columns:24px minmax(0,1fr); gap:5px; align-items:center; min-width:0; }
.storage-browser-grid[data-picker-unit="files"] .storage-hls-directory-header { display:none; }
.storage-directory-choice>input { width:18px; height:18px; margin:0; accent-color:var(--accent); cursor:pointer; }
.storage-directory-choice>input:disabled { opacity:.42; cursor:not-allowed; }
.storage-browser-grid[data-picker-unit="files"] .storage-directory-choice { grid-template-columns:minmax(0,1fr); }
.storage-browser-grid[data-picker-unit="files"] .storage-directory-choice>input { display:none; }
.storage-browser-grid[data-picker-unit="hls-folders"] { grid-template-columns:minmax(0,1fr); }
.storage-browser-grid[data-picker-unit="hls-folders"] .storage-file-directory-heading { display:none; }
.storage-browser-grid[data-picker-unit="hls-folders"] .storage-directory-pane { border-right:0; }
.storage-browser-grid[data-picker-unit="hls-folders"] .storage-file-pane { display:none; }
.storage-bulk-picker-grid[data-picker-unit="hls-folders"] [data-bulk-directory-list] { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:8px; }
.storage-single-picker-grid[data-picker-unit="hls-folders"] [data-storage-directory-list] { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:8px; }
.storage-browser-grid[data-picker-unit="hls-folders"] .storage-directory-choice { min-height:48px; padding:5px 7px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.storage-directory-choice.storage-directory-parent { grid-template-columns:minmax(0,1fr); }
.storage-directory-parent .storage-directory-button { color:var(--text); font-weight:750; }
.storage-directory-button { width:100%; padding:9px 10px; overflow:hidden; border:1px solid transparent; border-radius:8px; background:none; color:var(--muted); text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.storage-browser-grid[data-picker-unit="hls-folders"] .storage-directory-button { display:grid; gap:6px; white-space:normal; }
.storage-directory-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-directory-button:hover,.storage-directory-button:focus-visible { border-color:var(--line); background:var(--surface-2); color:var(--text); }
.storage-file-pane { display:flex; flex-direction:column; gap:12px; }
.storage-file-filters { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:10px; }
.storage-file-list { display:grid; align-content:start; min-height:150px; overflow:auto; border:1px solid var(--line); border-radius:10px; }
.storage-file-row { display:grid; grid-template-columns:minmax(180px,1fr) 64px 84px 168px minmax(136px,auto); gap:10px; align-items:center; width:100%; min-height:52px; padding:10px 12px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--muted); text-align:left; cursor:pointer; }
.storage-file-row:last-child { border-bottom:0; }
.storage-file-row strong { min-width:0; overflow:hidden; color:var(--text); text-overflow:ellipsis; white-space:nowrap; }
.storage-file-row:hover,.storage-file-row[aria-selected="true"] { background:color-mix(in srgb,var(--accent) 13%,var(--surface-2)); }
.storage-file-row[aria-selected="true"] { box-shadow:inset 3px 0 var(--accent); }
.storage-file-row.has-existing-post,.storage-bulk-file.has-existing-post,.storage-directory-choice.has-existing-post { border-color:color-mix(in srgb,#f6b748 46%,var(--line)); background:color-mix(in srgb,#f6b748 5%,var(--surface)); }
.storage-media-usage { display:inline-flex; align-items:center; width:max-content; max-width:100%; min-height:24px; padding:3px 8px; border:1px solid var(--line); border-radius:999px; font-size:.68rem; font-weight:800; line-height:1.25; white-space:nowrap; }
.storage-media-usage.is-used { border-color:rgba(246,183,72,.46); background:rgba(246,183,72,.12); color:#ffd483; }
.storage-media-usage.is-current { border-color:rgba(89,156,255,.46); background:rgba(89,156,255,.12); color:#a9caff; }
.storage-media-usage.is-unused { border-color:rgba(73,211,139,.4); background:rgba(73,211,139,.1); color:#8df0b9; }
.storage-media-usage.is-empty,.storage-media-usage.is-checking { border-color:rgba(144,159,181,.35); background:rgba(144,159,181,.08); color:var(--muted); }
.storage-media-usage.is-error { border-color:rgba(255,76,88,.42); background:rgba(255,76,88,.1); color:#ff9ba2; }
[data-mode="light"] .storage-media-usage.is-used { color:#805000; }
[data-mode="light"] .storage-media-usage.is-current { color:#174f9d; }
[data-mode="light"] .storage-media-usage.is-unused { color:#0b6435; }
[data-mode="light"] .storage-media-usage.is-error { color:#a20f1c; }
.storage-empty { margin:0; padding:24px 14px; color:var(--muted); text-align:center; }
.storage-load-more { align-self:center; }
.storage-hls-folder-more { width:100%; margin-top:10px; }
.storage-new-list[hidden],.storage-load-more[hidden],.storage-hls-folder-more[hidden],[data-storage-use-hls-package][hidden],[data-storage-hls-usage-status][hidden] { display:none!important; }
.storage-dialog-footer { justify-content:space-between; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:0; }
.storage-dialog-footer>p { margin:0; color:var(--muted); font-size:.82rem; }
.storage-dialog-footer>.storage-dialog-status-group { display:grid; align-content:center; justify-items:start; gap:7px; min-width:0; }
.storage-dialog-status-group>p { margin:0; color:var(--muted); font-size:.82rem; }
.storage-dialog-status-group>p[data-state="error"] { color:#ff8992; }
.storage-dialog-status-group>p[data-state="success"] { color:#8ee7b0; }
.storage-dialog-status-group>p[data-state="warning"] { color:#ffd070; }
.storage-dialog-footer>p[data-state="error"],[data-storage-status][data-state="error"] { color:#ff8992; }
.storage-dialog-footer>p[data-state="success"] { color:#8ee7b0; }
.storage-dialog-footer>p[data-state="warning"] { color:#ffd070; }
.storage-dialog-footer>div { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.storage-source-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.storage-source-wide { grid-column:1/-1; }
.storage-source-enabled { align-self:end; }
.storage-source-enabled>.check-pill { width:max-content; max-width:100%; }
.storage-source-list { display:grid; gap:12px; }
.storage-source-list>article { padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.storage-source-heading,.storage-source-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.storage-source-heading>div { display:flex; align-items:baseline; gap:10px; min-width:0; }
.storage-source-heading code { overflow:hidden; color:var(--muted); text-overflow:ellipsis; }
.storage-source-list dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:16px 0; }
.storage-source-list dl>div { min-width:0; padding:10px; border-radius:8px; background:var(--surface); }
.storage-source-list dt { color:var(--muted); font-size:.72rem; }
.storage-source-list dd { margin:3px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.85rem; }
.storage-source-actions { justify-content:flex-end; flex-wrap:wrap; }
.storage-source-actions form { margin:0; }
.status-pill { display:inline-flex; min-height:28px; padding:5px 10px; align-items:center; border:1px solid rgba(75,214,129,.35); border-radius:99px; background:rgba(75,214,129,.1); color:#9ff0bd; font-size:.72rem; font-weight:800; white-space:nowrap; }
.status-pill.muted { border-color:var(--line); background:var(--surface); color:var(--muted); }
.status-pill.warning { border-color:rgba(255,196,82,.4); background:rgba(255,196,82,.1); color:#ffd680; }
.status-pill.danger { border-color:rgba(255,83,95,.4); background:rgba(255,83,95,.1); color:#ffafb5; }
.storage-migration-form,.storage-migration-confirm-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.storage-migration-mode-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:16px; border:1px solid var(--line); border-radius:12px; }
.storage-migration-mode-picker legend { padding:0 6px; color:var(--muted); font-size:.78rem; font-weight:800; }
.storage-migration-mode-picker label { position:relative; min-width:0; }
.storage-migration-mode-picker input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.storage-migration-mode-picker label>span { display:grid; height:100%; gap:5px; padding:15px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); cursor:pointer; }
.storage-migration-mode-picker small { color:var(--muted); font-size:.75rem; font-weight:500; line-height:1.5; }
.storage-migration-mode-picker input:checked+span { border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent); }
.storage-migration-mode-picker input:focus-visible+span { outline:2px solid var(--accent); outline-offset:2px; }
.storage-migration-current { grid-column:1/-1; display:flex; min-width:0; padding:14px 16px; align-items:center; gap:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.storage-migration-current span,.storage-migration-current code { min-width:0; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.storage-migration-hosts { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:14px; align-items:center; margin:18px 0; }
.storage-migration-hosts>div:not([aria-hidden]) { display:grid; min-width:0; gap:5px; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.storage-migration-hosts span { color:var(--muted); font-size:.72rem; font-weight:700; }
.storage-migration-hosts strong,.storage-migration-hosts code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-migration-hosts>div[aria-hidden] { color:var(--muted); font-size:1.2rem; }
.storage-migration-id { display:flex; min-width:0; align-items:center; gap:10px; color:var(--muted); font-size:.78rem; }
.storage-migration-id code { min-width:0; overflow-wrap:anywhere; color:var(--text); }
.storage-migration-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0; }
.storage-migration-summary>div { display:grid; gap:5px; padding:15px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.storage-migration-summary span { color:var(--muted); font-size:.75rem; }
.storage-migration-summary strong { font-size:1.5rem; }
.storage-migration-summary .is-blocking { border-color:rgba(255,83,95,.4); color:#ffafb5; }
.storage-migration-search { display:grid; max-width:520px; gap:7px; margin:18px 0 12px; }
.storage-migration-search span { color:var(--muted); font-size:.78rem; font-weight:700; }
.storage-migration-table { min-width:980px; }
.storage-migration-table th:nth-child(1) { width:22%; }
.storage-migration-table th:nth-child(2) { width:24%; }
.storage-migration-table th:nth-child(3) { width:14%; }
.storage-migration-table code { display:block; overflow-wrap:anywhere; white-space:normal; }
.migration-result { display:inline-flex; padding:5px 8px; border-radius:99px; background:var(--surface-2); color:var(--muted); font-size:.72rem; font-weight:800; }
.migration-result.exact,.migration-result.remap { background:rgba(75,214,129,.1); color:#9ff0bd; }
.migration-result.missing,.migration-result.mismatch,.migration-result.unverifiable { background:rgba(255,83,95,.1); color:#ffafb5; }
.emergency-storage-confirm { display:flex !important; min-height:48px; align-items:flex-start; gap:10px; padding:13px 14px; border:1px solid rgba(255,196,82,.35); border-radius:10px; background:rgba(255,196,82,.08); }
.emergency-storage-confirm input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:var(--accent); }
.emergency-storage-confirm span { margin:0; color:#ffd680; line-height:1.5; }
.storage-emergency-result-actions { align-items:center; }
.storage-emergency-result-actions form { margin:0; }

@media (max-width: 760px) {
    .storage-dialog-header,.storage-dialog-toolbar,.storage-dialog-footer,.storage-breadcrumbs,.storage-hls-package-note { padding-left:16px; padding-right:16px; }
    .storage-directory-pane,.storage-file-pane { padding-left:16px; padding-right:16px; }
    .storage-picker-panel { grid-template-columns:1fr; }
    .storage-picker-panel>.button { width:100%; }
    .storage-browser-dialog,.storage-browser-dialog.storage-bulk-picker-dialog { inset:0; width:100vw; height:100dvh; margin:0; border:0; border-radius:0; }
    .storage-browser-dialog { overflow:auto; }
    .storage-dialog-shell { height:auto; min-height:100%; }
    .storage-picker-unit-toggle { grid-column:1/-1; }
    .storage-folder-search-row { grid-template-columns:minmax(0,1fr); }
    .storage-dialog-toolbar { display:grid; grid-template-columns:1fr 1fr; }
    .storage-dialog-toolbar label { grid-column:1/-1; }
    .storage-browser-grid { grid-template-columns:1fr; min-height:280px; max-height:60dvh; overflow:auto; }
    .storage-directory-pane { max-height:150px; border-right:0; border-bottom:1px solid var(--line); }
    .storage-browser-grid[data-picker-unit="hls-folders"] .storage-directory-pane { max-height:none; border-bottom:0; }
    .storage-file-pane { overflow:visible; }
    .storage-file-row { grid-template-columns:minmax(0,1fr) auto; }
    .storage-file-row span:nth-of-type(2),.storage-file-row span:nth-of-type(3) { display:none; }
    .storage-file-row .storage-media-usage { grid-column:1/-1; }
    .storage-dialog-footer { align-items:stretch; flex-direction:column; }
    .storage-dialog-footer>div { display:grid; grid-template-columns:1fr 1fr; }
    .storage-dialog-footer>.storage-dialog-status-group { grid-template-columns:1fr; }
    .storage-dialog-footer .storage-hls-package-button { grid-column:1/-1; min-height:48px; }
    .storage-hls-folder-pagination { grid-template-columns:1fr 1fr; }
    .storage-hls-folder-pagination>span { grid-column:1/-1; }
    .storage-source-form,.storage-source-list dl,.storage-migration-form,.storage-migration-confirm-form { grid-template-columns:1fr; }
    .storage-source-wide { grid-column:auto; }
    .storage-source-heading { align-items:flex-start; }
    .storage-source-heading>div { align-items:flex-start; flex-direction:column; gap:3px; }
    .storage-source-actions { display:grid; grid-template-columns:1fr; }
    .storage-source-actions .button,.storage-source-actions form,.storage-source-actions form button { width:100%; }
    .storage-migration-current { grid-column:auto; align-items:flex-start; flex-direction:column; }
    .storage-migration-hosts { grid-template-columns:1fr; }
    .storage-migration-hosts>div[aria-hidden] { transform:rotate(90deg); justify-self:center; }
    .storage-migration-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storage-migration-mode-picker { grid-template-columns:1fr; }
    .storage-emergency-result-actions,.storage-emergency-result-actions form,.storage-emergency-result-actions .button { width:100%; }
}

.install-body,.admin-login-body { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 75% 20%,rgba(229,9,20,.18),transparent 25%),var(--bg); }
.install-shell { width:min(100%,680px); }
.install-card,.login-card { width:100%; padding:clamp(28px,6vw,58px); border:1px solid var(--line); border-radius:22px; background:rgba(17,20,27,.92); box-shadow:var(--shadow); }
.login-card { max-width:460px; }
.install-card h1,.login-card h1 { margin:0 0 10px; font-size:clamp(2rem,5vw,3.5rem); letter-spacing:-.05em; }
.brand-mark { margin-bottom:34px; color:var(--accent); font-size:1.05rem; font-weight:800; letter-spacing:.16em; }
.requirements { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:24px 0; }
.requirement { display:flex; gap:9px; padding:10px 12px; border-radius:8px; background:var(--surface-2); color:var(--muted); font-size:.83rem; }
.requirement.ok span:first-child { color:#4bd681; }
.requirement.bad span:first-child { color:#ff6670; }
.stack-form { display:grid; gap:16px; }
.fine-print,.back-link { display:block; margin-top:20px; color:var(--muted); font-size:.76rem; text-align:center; }
.action-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.alert { margin:18px 0; padding:12px 14px; border-radius:9px; font-size:.88rem; }
.alert.error { border:1px solid rgba(255,83,95,.35); background:rgba(255,83,95,.1); color:#ffafb5; }
.alert.success { border:1px solid rgba(75,214,129,.35); background:rgba(75,214,129,.1); color:#9ff0bd; }
.alert.warning { border:1px solid rgba(255,196,82,.35); background:rgba(255,196,82,.1); color:#ffd680; }

.admin-toast-region {
    position:fixed; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); z-index:1800;
    display:grid; width:min(420px,calc(100vw - 36px)); gap:10px; pointer-events:none;
}
.admin-toast {
    display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start;
    min-width:0; padding:15px 14px; border:1px solid rgba(75,214,129,.48); border-radius:13px;
    background:color-mix(in srgb,#102119 94%,var(--surface)); color:#dff8e8;
    box-shadow:0 20px 55px rgba(0,0,0,.48); pointer-events:auto;
    animation:admin-toast-enter .2s ease-out both;
}
.admin-toast.is-warning { border-color:rgba(255,196,82,.52); background:color-mix(in srgb,#2a2112 94%,var(--surface)); color:#fff0c5; }
.admin-toast.is-error { border-color:rgba(255,83,95,.52); background:color-mix(in srgb,#2a1518 94%,var(--surface)); color:#ffd9dc; }
.admin-toast.is-leaving { animation:admin-toast-leave .18s ease-in both; }
.admin-toast-icon { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#4bd681; color:#07130c; font-weight:900; }
.admin-toast.is-warning .admin-toast-icon { background:#ffc452; color:#1a1202; }
.admin-toast.is-error .admin-toast-icon { background:#ff6b75; color:#210508; }
.admin-toast-copy { min-width:0; }
.admin-toast-copy strong { display:block; margin-bottom:2px; font-size:.83rem; }
.admin-toast-copy p { margin:0; overflow-wrap:anywhere; color:inherit; font-size:.86rem; line-height:1.5; }
.admin-toast-close { width:34px; height:34px; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; font-size:1.3rem; line-height:1; }
.admin-toast-close:hover,.admin-toast-close:focus-visible { background:rgba(255,255,255,.1); outline:2px solid currentColor; outline-offset:1px; }
@keyframes admin-toast-enter { from { opacity:0; transform:translate3d(18px,10px,0); } to { opacity:1; transform:none; } }
@keyframes admin-toast-leave { to { opacity:0; transform:translate3d(18px,8px,0); } }

.admin-body { min-height:100vh; background:#0b0d12; --surface:#12151c; --surface-2:#191d26; --line:rgba(255,255,255,.09); }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:80; display:flex; flex-direction:column; width:250px; overflow-y:auto; padding:26px 18px; background:#0e1117; border-right:1px solid var(--line); }
.admin-brand { padding:0 12px 28px; color:var(--accent); font-weight:800; letter-spacing:.12em; }
.admin-brand small { color:var(--muted); font-size:.58rem; }
.admin-sidebar nav { display:grid; gap:14px; }
.admin-sidebar nav a { padding:10px 12px; border-radius:8px; color:var(--muted); font-size:.9rem; font-weight:600; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:var(--text); background:var(--surface-2); }
.admin-nav-section{display:grid;min-width:0;gap:5px}
.admin-nav-section-label{margin:0;padding:0 12px;color:color-mix(in srgb,var(--muted) 78%,transparent);font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.admin-nav-section-items{display:grid;min-width:0;gap:3px}
.admin-nav-group{display:grid;min-width:0;gap:3px}
.admin-nav-group>.admin-nav-parent{display:block}
.admin-nav-submenu{display:grid;gap:2px;margin:0 0 5px;padding:3px 0 3px 13px;border-left:1px solid color-mix(in srgb,var(--accent) 36%,var(--line))}
.admin-sidebar nav .admin-nav-submenu a{min-width:0;padding:8px 10px;font-size:.8rem;overflow-wrap:anywhere}
.admin-nav-submenu a::before{content:"—";margin-right:7px;color:color-mix(in srgb,var(--accent) 70%,var(--muted))}
.sidebar-bottom { display:grid; gap:12px; margin-top:auto; padding:18px 12px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.84rem; }
.text-button,.danger-link { padding:0; border:0; background:none; color:inherit; cursor:pointer; }
.danger-link { color:#ff7580; }
.admin-main { min-height:100vh; margin-left:250px; padding:34px clamp(20px,4vw,60px) 70px; }
.admin-topbar { display:flex; align-items:center; gap:18px; margin-bottom:30px; }
.admin-topbar h1 { margin:0; font-size:clamp(1.8rem,3vw,2.8rem); letter-spacing:-.04em; }
.sidebar-toggle { display:none; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.stats-grid article { display:grid; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.stats-grid span { color:var(--muted); font-size:.82rem; }
.stats-grid strong { margin:10px 0; font-size:2.4rem; }
.stats-grid a { color:var(--accent); font-size:.78rem; font-weight:700; }
.admin-panel { margin-top:18px; padding:clamp(20px,3vw,32px); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.panel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; margin-bottom:22px; }
.panel-heading h2 { margin:0; }
.panel-heading>span { color:var(--muted); font-size:.82rem; }
.setup-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0; list-style:none; }
.setup-list li { display:flex; gap:15px; padding:18px; border-radius:10px; background:var(--surface-2); }
.setup-list li>span { color:var(--accent); font-weight:800; }
.setup-list p { margin:4px 0 0; color:var(--muted); font-size:.82rem; }
.admin-table-wrap { width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.admin-table { width:100%; min-width:820px; table-layout:fixed; border-collapse:collapse; font-size:.86rem; }
.admin-table th,.admin-table td { min-width:0; padding:14px 12px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--line); }
.admin-table th { color:var(--muted); font-size:.72rem; text-transform:uppercase; }
.admin-table td small { display:block; color:var(--muted); }
.table-actions { display:flex; align-items:center; gap:12px; }
.table-actions a { color:var(--accent); }
.table-actions form { margin:0; }
.post-admin-table { min-width:980px; }
.post-admin-table .post-col-select { width:7%; }
.post-admin-table .post-col-title { width:31%; }
.post-admin-table .post-col-category { width:17%; }
.post-admin-table .post-col-status { width:9%; }
.post-admin-table .post-col-date { width:17%; }
.post-admin-table .post-col-actions { width:19%; }
.post-admin-table tbody tr { transition:background .16s ease; }
.post-admin-table tbody tr:hover { background:color-mix(in srgb,var(--accent) 4%,transparent); }
.post-title-cell,.post-category-cell,.post-date-cell { overflow:hidden; }
.post-list-title-layout { display:grid; min-width:0; grid-template-columns:96px minmax(0,1fr); align-items:start; gap:12px; }
.post-list-title-content { min-width:0; }
.post-list-thumbnail { position:relative; display:grid; width:96px; max-width:100%; aspect-ratio:16/9; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#090d14; }
.post-list-thumbnail-image { display:block; width:100%; height:100%; object-fit:cover; }
.post-list-thumbnail.is-empty { border-style:dashed; background:linear-gradient(145deg,var(--surface-2),#0a0e15); color:var(--muted); text-align:center; }
.post-list-thumbnail.is-empty > .post-list-thumbnail-empty { padding:6px; font-size:.62rem; font-weight:800; line-height:1.35; }
.post-list-thumbnail .poster-new-badge { top:3px; left:3px; min-height:18px; padding:2px 4px; border-radius:4px; font-size:12px; letter-spacing:.02em; }
.post-list-thumbnail.is-empty:has(.poster-new-badge) > .post-list-thumbnail-empty { align-self:end; margin-bottom:14px; padding:0 2px; font-size:10px; white-space:nowrap; }
.post-list-thumbnail .post-list-thumbnail-metadata { position:absolute; z-index:2; inset:auto 0 0; display:flex; min-width:0; align-items:center; justify-content:space-between; gap:4px; padding:16px 4px 4px; color:#fff; background:linear-gradient(to bottom,transparent,rgba(0,0,0,.9)); font-size:.52rem; font-weight:800; font-variant-numeric:tabular-nums; line-height:1; pointer-events:none; }
.post-list-thumbnail .post-list-thumbnail-metadata>span { min-width:0; padding:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.post-list-thumbnail .post-list-thumbnail-metadata .is-unknown { color:#ffd56a; }
.post-list-title { display:-webkit-box; max-width:100%; overflow:hidden; overflow-wrap:anywhere; word-break:break-word; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.post-title-view { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 8px; }
.post-title-view[hidden],.post-title-editor[hidden],.post-title-batch-panel[hidden],.bulk-status-actions>[hidden] { display:none!important; }
.post-title-view .post-list-title { grid-column:1; grid-row:1; min-width:0; overflow-wrap:anywhere; }
.post-title-meta { display:flex; min-width:0; grid-column:1/-1; grid-row:2; align-items:center; flex-wrap:wrap; gap:5px 8px; overflow:hidden; }
.post-title-origin { display:inline-flex; min-height:22px; align-items:center; padding:3px 7px; border-radius:99px; background:rgba(255,255,255,.06); color:var(--muted); font-size:.62rem; font-weight:800; white-space:nowrap; }
.post-title-origin.is-storage_filename { background:rgba(72,208,137,.1); color:#9ce8bd; }
.post-title-origin.is-manual { background:rgba(111,143,255,.12); color:#becaff; }
.post-title-edit-button {
    display:inline-flex; min-width:78px; min-height:44px; flex:0 0 auto; align-items:center; justify-content:center; padding:8px 12px;
    border:1px solid color-mix(in srgb,var(--accent) 88%,#fff); border-radius:9px;
    grid-column:2; grid-row:1; align-self:center; background:var(--accent); color:var(--on-accent); box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent);
    cursor:pointer; font-size:.72rem; font-weight:850; line-height:1; white-space:nowrap;
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.post-title-edit-button:hover:not(:disabled) {
    border-color:color-mix(in srgb,var(--accent) 72%,#fff); background:color-mix(in srgb,var(--accent) 86%,#000);
    box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 30%,transparent); transform:translateY(-1px);
}
.post-title-edit-button:active:not(:disabled) { box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 20%,transparent); transform:none; }
.post-title-edit-button:focus-visible {
    outline:2px solid var(--on-accent); outline-offset:-4px;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 44%,#fff),0 7px 18px color-mix(in srgb,var(--accent) 30%,transparent);
}
.post-title-edit-button:disabled {
    border-color:color-mix(in srgb,var(--accent) 24%,var(--line)); background:color-mix(in srgb,var(--accent) 30%,var(--surface-2));
    color:color-mix(in srgb,var(--on-accent) 74%,var(--muted)); box-shadow:none; cursor:not-allowed; opacity:1;
}
.post-title-editor { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px; }
.post-title-editor label { min-width:0; }
.post-title-editor input { width:100%; min-width:0; height:42px; padding:8px 10px; font-size:.88rem; }
.post-title-editor output { color:var(--muted); font-size:.66rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.post-title-editor-actions { display:flex; grid-column:1/-1; flex-wrap:wrap; gap:6px; }
.post-title-editor-actions .button { min-height:36px; padding:6px 10px; font-size:.7rem; }
.post-title-editor>p { grid-column:1/-1; min-width:0; margin:0; overflow-wrap:anywhere; color:var(--muted); font-size:.68rem; line-height:1.4; }
.post-title-editor>p[role="alert"] { color:#ffb2b8; }
.post-list-row.is-bulk-title-edit .post-title-editor-actions { display:none; }
.post-list-row.is-title-saving { opacity:.76; }
.post-list-mode { flex:1 1 90px; min-width:0; max-width:100%; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.post-list-category { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.post-taxonomy-cell { display:grid; min-width:0; gap:7px; align-items:start; }
.post-tag-summary { display:flex; min-width:0; max-height:54px; flex-wrap:wrap; gap:5px; overflow:hidden; }
.post-tag-chip { display:inline-flex; max-width:100%; min-height:23px; align-items:center; padding:3px 7px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line)); border-radius:99px; background:color-mix(in srgb,var(--accent) 8%,var(--surface-2)); color:color-mix(in srgb,var(--accent) 68%,#fff); font-size:.65rem; font-weight:780; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.post-tag-empty { color:var(--muted); font-size:.68rem; line-height:1.4; }
.post-tags-edit-button { width:max-content; max-width:100%; min-height:40px; padding:7px 11px; border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); color:var(--text); font-size:.7rem; }
.post-tags-edit-button:hover:not(:disabled),.post-tags-edit-button:focus-visible { border-color:var(--accent); color:var(--text); }
.post-tags-dialog { width:min(640px,calc(100vw - 28px)); max-width:100%; max-height:min(84vh,760px); padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 26px 80px rgba(0,0,0,.55); }
.post-tags-dialog::backdrop { background:rgba(2,5,10,.78); backdrop-filter:blur(5px); }
.post-tags-dialog-form { display:grid; min-width:0; max-height:min(84vh,760px); gap:16px; padding:22px; overflow:auto; }
.post-tags-dialog-heading { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.post-tags-dialog-heading>div { min-width:0; }
.post-tags-dialog-heading h3 { margin:0; overflow-wrap:anywhere; font-size:1.15rem; }
.post-tags-dialog-heading output { flex:0 0 auto; color:var(--muted); font-size:.76rem; font-variant-numeric:tabular-nums; }
.post-tags-dialog-form>.muted { margin:0; line-height:1.55; }
.post-tags-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; max-height:42vh; margin:0; padding:14px; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.post-tags-option-grid legend { padding:0 6px; color:var(--muted); font-size:.74rem; font-weight:800; }
.post-tags-option-grid label { display:grid; grid-template-columns:auto minmax(0,1fr); min-width:0; min-height:44px; align-items:center; gap:9px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-2); cursor:pointer; }
.post-tags-option-grid label:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.post-tags-option-grid input { width:20px; height:20px; margin:0; accent-color:var(--accent); }
.post-tags-option-grid span { min-width:0; overflow-wrap:anywhere; }
.post-tags-dialog-message,.post-tags-dialog-error { min-width:0; margin:0; overflow-wrap:anywhere; font-size:.78rem; line-height:1.5; }
.post-tags-dialog-message { color:#8ee7b0; }
.post-tags-dialog-error { color:#ffb2b8; }
.post-tags-dialog-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:3px; }
.post-tags-dialog-actions .button { min-width:110px; min-height:44px; }
.post-date-stack { display:grid; min-width:0; gap:7px; }
.post-date-entry { display:grid; min-width:0; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:6px; }
.post-date-label { display:inline-flex; min-height:20px; align-items:center; justify-content:center; padding:2px 6px; border-radius:99px; background:rgba(255,255,255,.06); color:var(--muted); font-size:.6rem; font-weight:850; line-height:1.2; white-space:nowrap; }
.post-date-entry.is-refreshed .post-date-label { background:color-mix(in srgb,var(--accent) 14%,var(--surface-2)); color:color-mix(in srgb,var(--accent) 68%,#fff); }
.post-list-date,.post-date-empty { min-width:0; color:var(--text); font-size:.68rem; font-variant-numeric:tabular-nums; line-height:1.45; overflow-wrap:anywhere; }
.post-date-entry.is-empty { opacity:.68; }
.post-date-empty { color:var(--muted); }
.post-status-cell .status { max-width:100%; white-space:nowrap; }
.post-admin-table .post-status-cell { display:table-cell; }
.post-status-content { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:5px; }
.storage-issue-badge { display:inline-flex; max-width:100%; padding:4px 7px; border-radius:99px; background:rgba(255,83,95,.1); color:#ffafb5; font-size:.67rem; font-weight:800; line-height:1.2; white-space:nowrap; }
.storage-issue-badge.unverifiable { background:rgba(255,196,82,.1); color:#ffd680; }
.post-storage-issue-nav { display:flex; min-width:0; align-items:center; gap:12px; margin:0 0 18px; padding:12px; border:1px solid rgba(255,196,82,.3); border-radius:10px; background:rgba(255,196,82,.06); }
.post-storage-issue-nav p { min-width:0; margin:0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.button.warning { border-color:rgba(255,196,82,.4); color:#ffd680; }

.post-list-filter-tabs { display:flex; width:100%; min-width:0; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.post-list-filter-tabs a { display:inline-flex; min-height:42px; align-items:center; gap:7px; padding:9px 13px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--muted); font-size:.78rem; font-weight:800; text-decoration:none; }
.post-list-filter-tabs a span { display:inline-grid; min-width:24px; min-height:22px; place-items:center; padding:2px 6px; border-radius:99px; background:rgba(255,255,255,.06); color:var(--text); font-size:.68rem; }
.post-list-filter-tabs a:hover,.post-list-filter-tabs a:focus-visible { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); color:var(--text); }
.post-list-filter-tabs a.active { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 13%,var(--surface-2)); color:var(--text); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent); }
.post-list-filter-tabs a.warning.active { border-color:#ffc452; }
.post-list-filter-tabs a.review.active { border-color:#6f8fff; background:rgba(111,143,255,.12); }
.post-list-filter-tabs a.duration.active { border-color:#36c9a1; background:rgba(54,201,161,.12); }
.post-list-discovery-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; margin:-6px 0 18px; }
.admin-post-search { display:flex; min-width:0; margin:0; }
.admin-post-search .discover-search { width:100%; min-height:50px; }
.admin-post-search .discover-search input { min-height:48px; }
.discover-toolbar.post-list-taxonomy-filter { position:relative; top:auto; z-index:20; display:flex; grid-template-columns:none; justify-content:flex-end; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.post-list-taxonomy-filter .filter-popover { top:calc(100% + 8px); right:0; }
.post-list-active-filters { margin:-8px 0 18px; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
.post-list-filter-reset-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; margin-left:auto; }
.post-list-active-filters .post-list-filter-reset-actions a { margin-left:0; }
.post-thumbnail-dialog-actions>[hidden] { display:none!important; }

.import-review-workspace { width:100%; min-width:0; }
.import-review-intro { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:20px; margin:0 0 18px; padding:18px; border:1px solid rgba(111,143,255,.28); border-radius:14px; background:linear-gradient(135deg,rgba(111,143,255,.09),rgba(255,255,255,.02)); }
.import-review-intro>div { min-width:0; }
.import-review-intro h3,.import-review-intro p { margin:0; }
.import-review-intro h3 { margin-top:4px; font-size:clamp(1.1rem,2vw,1.45rem); }
.import-review-intro p:last-child { max-width:850px; margin-top:8px; color:var(--muted); font-size:.78rem; line-height:1.65; }
.import-review-intro>strong { flex:0 0 auto; padding:8px 11px; border-radius:99px; background:rgba(111,143,255,.14); color:#b9c8ff; font-size:.75rem; }
.import-review-queue { display:grid; min-width:0; gap:13px; margin:0 0 18px; padding:18px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent) 5%,var(--surface-2)); }
.import-review-queue-heading { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:16px; }
.import-review-queue-heading h3,.import-review-queue-heading p,.import-review-queue>p { margin:0; }
.import-review-queue>p { color:var(--muted); font-size:.75rem; line-height:1.55; }
.import-review-queue-heading output { flex:0 0 auto; padding:7px 10px; border-radius:99px; background:rgba(111,143,255,.12); color:#b9c8ff; font-size:.73rem; font-weight:800; }
.import-review-queue-controls { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:9px; }
.import-review-queue-check,.import-review-queue-item { display:inline-flex; min-width:0; min-height:44px; align-items:center; gap:9px; padding:9px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); font-size:.73rem; font-weight:760; cursor:pointer; }
.import-review-queue-check input,.import-review-queue-item input { width:19px; height:19px; flex:0 0 auto; margin:0; accent-color:var(--accent); }
.import-review-queue-item { width:max-content; max-width:100%; margin:0 0 11px; background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.import-review-mute-toggle[aria-pressed="true"] { border-color:color-mix(in srgb,var(--accent) 70%,#fff); background:color-mix(in srgb,var(--accent) 18%,var(--surface)); color:var(--text); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent); }
.import-review-mute-toggle[aria-pressed="false"] { border-color:var(--line); background:var(--surface); color:var(--muted); }
.import-review-queue-status { min-width:0; min-height:1.5em; overflow-wrap:anywhere; color:var(--muted); font-size:.76rem; line-height:1.5; }
.import-review-queue-status[data-state="loading"] { color:#b9c8ff; }
.import-review-queue-status[data-state="success"] { color:#9ce8bd; }
.import-review-queue-status[data-state="warning"] { color:#ffd680; }
.import-review-queue-status[data-state="error"] { color:#ffb2b8; }
.import-review-grid { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.import-review-card { display:flex; min-width:0; flex-direction:column; padding:16px; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--surface-2); box-shadow:0 12px 34px rgba(0,0,0,.12); }
.import-review-card.state-stale,.import-review-card.state-failed { border-color:rgba(255,83,95,.36); }
.import-review-card-summary { display:grid; min-width:0; grid-template-columns:132px minmax(0,1fr); gap:14px; }
.import-review-thumbnail { position:relative; width:100%; min-width:0; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#090c12; }
.import-review-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.import-review-thumbnail span { display:grid; width:100%; height:100%; place-items:center; color:var(--muted); font-size:1.7rem; }
.import-review-card-copy { min-width:0; }
.import-review-card-copy h4 { margin:8px 0 4px; overflow-wrap:anywhere; font-size:1rem; line-height:1.35; }
.import-review-card-copy p,.import-review-card-copy small { display:block; margin:0; overflow:hidden; color:var(--muted); font-size:.72rem; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.import-review-badges { display:flex; min-width:0; flex-wrap:wrap; gap:5px; }
.import-review-badges span { display:inline-flex; max-width:100%; padding:4px 7px; border-radius:99px; background:rgba(255,255,255,.06); color:#c8d0de; font-size:.62rem; font-weight:800; line-height:1.2; }
.import-review-badges .mapping-missing,.import-review-badges .mapping-mismatch,.import-review-badges .mapping-unverifiable,.review-state-badge.state-failed,.review-state-badge.state-stale { background:rgba(255,83,95,.1); color:#ffb2b8; }
.import-review-badges .mapping-exact,.import-review-badges .mapping-safe_remap,.review-state-badge.state-verified,.review-state-badge.state-publication_ready { background:rgba(72,208,137,.1); color:#9ce8bd; }
.import-review-card-actions { display:flex; min-width:0; flex-wrap:wrap; gap:8px; margin-top:15px; }
.import-review-card-actions .button { flex:0 1 auto; min-height:40px; padding:8px 11px; font-size:.72rem; }
.import-review-preview { width:100%; min-width:0; margin-top:14px; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#000; }
.import-review-preview[hidden] { display:none; }
.import-review-preview iframe { display:block; width:100%; height:100%; border:0; background:#000; }
.import-review-embed-confirm { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding:11px; border:1px solid rgba(255,196,82,.3); border-radius:10px; background:rgba(255,196,82,.05); }
.import-review-embed-confirm[hidden] { display:none; }
.import-review-embed-confirm label { display:flex; min-width:0; align-items:flex-start; gap:8px; color:var(--text); font-size:.72rem; line-height:1.45; }
.import-review-embed-confirm input,.import-review-select input,.import-review-publication-ready input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--accent); }
.import-review-card-footer { display:grid; min-width:0; gap:8px; margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.import-review-select { display:flex; min-height:42px; align-items:center; gap:9px; width:max-content; max-width:100%; color:var(--text); font-size:.76rem; font-weight:800; cursor:pointer; }
.import-review-select:has(input:disabled) { color:var(--muted); cursor:not-allowed; }
.import-review-card-footer output { min-width:0; color:var(--muted); font-size:.7rem; line-height:1.5; overflow-wrap:anywhere; }
.import-review-card-footer output[data-state="success"],.import-review-batch-result[data-state="success"] { color:#9ce8bd; }
.import-review-card-footer output[data-state="error"],.import-review-batch-result[data-state="error"] { color:#ffb2b8; }
.import-review-card-footer output[data-state="loading"] { color:#b9c8ff; }
.import-review-batch { display:grid; min-width:0; gap:15px; margin-top:18px; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.import-review-batch-heading { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:16px; }
.import-review-batch-heading h3,.import-review-batch>p { margin:0; }
.import-review-batch-heading output { flex:0 0 auto; padding:7px 10px; border-radius:99px; background:rgba(111,143,255,.12); color:#b9c8ff; font-size:.73rem; font-weight:800; }
.import-review-batch-selection { display:flex; min-width:0; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.import-review-batch-selection .button { min-height:40px; padding:7px 10px; font-size:.7rem; }
.import-review-batch>p { color:var(--muted); font-size:.75rem; line-height:1.55; }
.import-review-auth-grid { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.import-review-auth-grid label:not(.import-review-publication-ready) { display:grid; min-width:0; gap:7px; color:var(--text); font-size:.72rem; font-weight:750; }
.import-review-auth-grid input:not([type="checkbox"]) { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text); }
.import-review-auth-grid .wide { grid-column:1/-1; }
.import-review-auth-grid small { color:var(--muted); font-weight:500; }
.import-review-auth-grid code { overflow-wrap:anywhere; color:#dce3ff; }
.import-review-publication-ready { display:flex; min-height:44px; align-items:center; gap:9px; color:var(--muted); font-size:.75rem; font-weight:650; }
.import-review-batch-result { display:block; min-height:1.5em; color:var(--muted); font-size:.76rem; line-height:1.5; }
.post-actions-cell { text-align:right !important; }
.post-list-actions { display:flex; min-width:0; max-width:100%; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.post-list-actions>a,.post-list-actions .danger-link,.post-list-action-button { display:inline-flex; min-height:36px; align-items:center; justify-content:center; padding:6px 5px; border:0; border-radius:7px; background:transparent; font-size:.78rem; white-space:nowrap; cursor:pointer; }
.post-list-actions>a,.post-list-action-button { color:var(--accent); }
.post-list-actions>a:hover,.post-list-actions>a:focus-visible,.post-list-action-button:hover,.post-list-action-button:focus-visible { background:color-mix(in srgb,var(--accent) 10%,transparent); }
.post-list-delete-form { flex:0 0 auto; margin:0; }
.post-list-delete-form .danger-link:hover,.post-list-delete-form .danger-link:focus-visible { background:rgba(255,117,128,.09); }
.admin-thumbnail-current { display:grid; min-width:0; gap:8px; margin-top:12px; }
.admin-thumbnail-current .admin-preview { margin:0; }
.admin-thumbnail-placeholder { display:grid; width:100%; aspect-ratio:16/9; place-items:center; border:1px dashed var(--line); border-radius:10px; background:linear-gradient(145deg,var(--surface-2),#090d14); color:var(--muted); }
.admin-thumbnail-placeholder span { font-size:.82rem; font-weight:800; }
.thumbnail-reextract-button { margin-top:12px; }
.post-thumbnail-dialog { width:min(900px,calc(100vw - 28px)); max-width:100%; max-height:min(92dvh,900px); padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line)); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 28px 90px rgba(0,0,0,.62); }
.post-thumbnail-dialog::backdrop { background:rgba(2,5,10,.82); backdrop-filter:blur(5px); }
.post-thumbnail-dialog-shell { display:grid; min-width:0; max-height:min(92dvh,900px); grid-auto-rows:max-content; align-content:start; gap:14px; padding:22px; overflow:auto; }
.post-thumbnail-dialog-heading { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:16px; }
.post-thumbnail-dialog-heading>div { min-width:0; }
.post-thumbnail-dialog-heading h2 { margin:0; overflow-wrap:anywhere; font-size:1.25rem; }
.post-thumbnail-dialog-shell>.muted { margin:0; }
.post-thumbnail-player-stage,.post-thumbnail-captured-stage { position:relative; width:100%; aspect-ratio:16/9; min-height:auto; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#000; }
.post-thumbnail-player-stage:empty::before { position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); content:'영상 준비 중'; font-size:.8rem; }
.post-thumbnail-player-stage>.video-js,.post-thumbnail-player-stage .video-js,.post-thumbnail-player-stage>.fast-native-player,.post-thumbnail-player-stage .fast-native-player { display:block; width:100%; height:100%; object-fit:contain; }
.post-thumbnail-captured-stage { margin:0; }
.post-thumbnail-captured-stage[hidden] { display:none!important; }
.post-thumbnail-captured-stage img { display:block; width:100%; height:100%; object-fit:cover; }
.post-thumbnail-captured-stage figcaption { position:absolute; right:10px; bottom:10px; padding:5px 8px; border-radius:7px; background:rgba(0,0,0,.72); color:#fff; font-size:.7rem; }
.post-thumbnail-candidate-review { display:grid; min-width:0; gap:10px; padding:14px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--accent) 5%,var(--surface-2)); }
.post-thumbnail-candidate-review[hidden] { display:none!important; }
.post-thumbnail-candidate-heading { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:12px; }
.post-thumbnail-candidate-heading>div { display:grid; min-width:0; gap:3px; }
.post-thumbnail-candidate-heading strong { font-size:.9rem; }
.post-thumbnail-candidate-heading small { color:var(--muted); line-height:1.45; overflow-wrap:anywhere; }
.post-thumbnail-candidate-heading>span { flex:0 0 auto; padding:4px 8px; border-radius:999px; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); color:var(--accent); font-size:.68rem; font-weight:850; }
.post-thumbnail-candidate-list { display:grid; min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.post-thumbnail-candidate-option { display:grid; min-width:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); text-align:left; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.post-thumbnail-candidate-option:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); transform:translateY(-1px); }
.post-thumbnail-candidate-option:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent); outline-offset:2px; }
.post-thumbnail-candidate-option:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.post-thumbnail-candidate-option[aria-pressed="true"] { border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent); }
.post-thumbnail-candidate-media { display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:#000; }
.post-thumbnail-candidate-media img { display:block; width:100%; height:100%; object-fit:cover; }
.post-thumbnail-candidate-copy { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; gap:2px 5px; padding:8px; }
.post-thumbnail-candidate-copy strong { grid-column:1/-1; overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.post-thumbnail-candidate-copy small { min-width:0; overflow:hidden; color:var(--muted); font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
.post-thumbnail-candidate-state { color:var(--muted); font-size:.64rem; font-weight:850; }
.post-thumbnail-candidate-option[aria-pressed="true"] .post-thumbnail-candidate-state { color:var(--accent); }
.post-thumbnail-rotation-controls { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--accent) 7%,var(--surface-2)); }
.post-thumbnail-rotation-controls[hidden] { display:none!important; }
.post-thumbnail-rotation-controls>div:first-child { display:grid; min-width:0; gap:4px; }
.post-thumbnail-rotation-controls strong { font-size:.85rem; }
.post-thumbnail-rotation-controls small { color:var(--muted); line-height:1.45; overflow-wrap:anywhere; }
.post-thumbnail-rotation-buttons { display:grid; flex:0 0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.post-thumbnail-rotation-buttons .button { min-height:44px; white-space:nowrap; }
.post-thumbnail-rotation-buttons .button[aria-pressed="true"] { border-color:var(--accent); background:var(--accent); color:var(--on-accent); }
.post-thumbnail-dialog-status { min-height:22px; margin:0; color:var(--muted); overflow-wrap:anywhere; }
.post-thumbnail-dialog-status[data-state="success"] { color:#9ce8bd; }
.post-thumbnail-dialog-status[data-state="error"] { color:#ffb2b8; }
.post-thumbnail-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.post-thumbnail-dialog-actions .button { min-height:44px; }
.post-thumbnail-bulk-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.post-thumbnail-bulk-counts span { display:grid; gap:3px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--muted); font-size:.72rem; }
.post-thumbnail-bulk-counts strong { color:var(--text); font-size:1.1rem; }
.post-thumbnail-bulk-progress { width:100%; height:12px; accent-color:var(--accent); }
.post-thumbnail-bulk-current { min-height:1.5em; margin:0; overflow-wrap:anywhere; font-weight:750; }
.post-thumbnail-bulk-failures { padding:12px 14px; border:1px solid rgba(255,196,82,.35); border-radius:10px; background:rgba(255,196,82,.06); }
.post-thumbnail-bulk-failures[hidden] { display:none!important; }
.post-thumbnail-bulk-failures summary { cursor:pointer; color:#ffd680; font-weight:800; }
.post-thumbnail-bulk-failures ul { display:grid; gap:8px; margin:12px 0 0; padding:0; list-style:none; }
.post-thumbnail-bulk-failures li { display:grid; min-width:0; gap:3px; padding-top:8px; border-top:1px solid var(--line); }
.post-thumbnail-bulk-failures li strong,.post-thumbnail-bulk-failures li span { min-width:0; overflow-wrap:anywhere; }
.post-thumbnail-bulk-failures li span { color:var(--muted); font-size:.75rem; }
.post-thumbnail-bulk-player-host { position:fixed; left:-10000px; top:0; width:320px; height:180px; overflow:hidden; opacity:.01; pointer-events:none; }
.post-thumbnail-bulk-player-host>.video-js,.post-thumbnail-bulk-player-host>.fast-native-player { display:block; width:320px; height:180px; object-fit:contain; }
.post-status-summary { display:block; margin-top:7px; color:var(--muted); font-size:.76rem; font-weight:600; }
.post-select-control { display:inline-flex; min-width:34px; min-height:34px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:8px; cursor:pointer; }
.post-select-control:hover,.post-select-control:focus-within { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); background:color-mix(in srgb,var(--accent) 8%,transparent); }
.post-select-control input { width:18px; height:18px; margin:0; accent-color:var(--accent); cursor:pointer; }
.post-select-all { justify-content:flex-start; gap:6px; white-space:nowrap; }
.post-select-all span { font-size:.68rem; }
.bulk-status-toolbar { display:grid; grid-template-columns:minmax(180px,1fr) auto; align-items:center; gap:10px 18px; margin:0 0 18px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.bulk-status-toolbar>div:first-of-type { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:8px 14px; }
.bulk-status-toolbar output { color:var(--accent); font-size:.8rem; font-weight:800; }
.bulk-status-toolbar>small { grid-column:1/-1; color:var(--muted); line-height:1.5; }
.bulk-status-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.post-refresh-button { border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); }
.post-refresh-button:hover:not(:disabled),.post-refresh-button:focus-visible { border-color:var(--accent); color:var(--text); }
.post-title-batch-panel { display:grid; min-width:0; gap:14px; margin:0 0 18px; padding:18px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent) 6%,var(--surface-2)); }
.post-title-batch-panel .panel-heading { align-items:center; margin:0; }
.post-title-batch-panel h3 { margin:0; }
.post-title-batch-list { display:grid; min-width:0; gap:7px; }
.post-title-batch-list article { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:9px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.post-title-batch-list span,.post-title-batch-list strong { min-width:0; overflow-wrap:anywhere; }
.post-title-batch-list span { color:var(--muted); text-decoration:line-through; }
.post-title-batch-list b { color:var(--accent); }
.post-title-batch-message { min-height:1.4em; margin:0; color:var(--muted); font-size:.76rem; }
.bulk-status-panel { display:grid; gap:16px; margin:0 0 18px; padding:20px; scroll-margin-top:20px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:14px; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface-2)),var(--surface-2)); outline:none; }
.bulk-status-panel:focus-visible { box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent); }
.bulk-status-panel.is-error,.bulk-status-panel.state-failed { border-color:rgba(255,83,95,.45); }
.bulk-status-panel p { margin:0; }
.post-trash-admin-panel { display:grid; gap:18px; }
.post-trash-admin-panel>.panel-heading { align-items:flex-start; }
.post-trash-toolbar { margin-bottom:0; }
.post-trash-table td:nth-child(2) { min-width:0; }
.post-trash-table td:nth-child(2) .post-list-mode { display:block; margin-top:7px; overflow-wrap:anywhere; }
.post-trash-table .post-list-actions form { display:inline-flex; }
.post-trash-batch-panel .bulk-status-warning { overflow-wrap:anywhere; }
.post-trash-batch-panel .bulk-status-counts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.bulk-status-heading { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:16px; }
.bulk-status-heading h3 { margin:0; font-size:1.2rem; }
.bulk-status-heading code { max-width:42%; overflow:hidden; color:var(--muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.bulk-status-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.bulk-status-counts span { display:grid; gap:3px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--muted); font-size:.73rem; }
.bulk-status-counts strong { color:var(--text); font-size:1.1rem; }
.bulk-status-warning { padding:12px 14px; border:1px solid rgba(255,196,82,.32); border-radius:10px; background:rgba(255,196,82,.07); color:#ffd680; font-size:.8rem; line-height:1.55; }
.bulk-status-success { padding:12px 14px; border:1px solid rgba(93,211,145,.32); border-radius:10px; background:rgba(93,211,145,.08); color:#9aefbd; }
.bulk-status-review-required { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:14px; padding:14px; border:1px solid rgba(255,196,82,.38); border-radius:10px; background:rgba(255,196,82,.08); color:#ffe4a3; }
.bulk-status-review-required p { min-width:0; overflow-wrap:anywhere; font-size:.86rem; }
.bulk-status-review-required .button { flex:0 0 auto; }
.bulk-status-targets { padding:12px 14px; border:1px solid var(--line); border-radius:10px; }
.bulk-status-targets summary { cursor:pointer; font-weight:750; }
.bulk-status-targets ul { display:grid; gap:5px; margin:12px 0 0; padding-left:20px; color:var(--muted); }
.bulk-status-targets p { margin-top:8px; color:var(--muted); }
.bulk-status-confirm-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bulk-status-confirm-form .wide { grid-column:1/-1; }
.bulk-status-confirm-form label { display:grid; gap:7px; }
.bulk-status-confirm-form label>span { font-size:.78rem; font-weight:750; }
.bulk-status-confirm-form small { color:var(--muted); }
.bulk-status-cancel-form { margin:0; }
.status { display:inline-block; padding:4px 8px; border-radius:99px; background:var(--surface-2); }
.status.published { color:#76e39f; }
.admin-form-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start; }
.admin-form-grid .admin-panel { margin-top:0; }
.form-main { display:grid; gap:18px; }
.admin-form-side { display:grid; gap:18px; }
.check-grid { display:flex; flex-wrap:wrap; gap:7px; }
.check-pill { position:relative; display:inline-flex; }
.check-pill input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.check-pill span { margin:0; padding:6px 10px; border:1px solid var(--line); border-radius:99px; color:var(--muted); cursor:pointer; }
.check-pill input:checked+span { border-color:var(--accent); color:var(--text); background:color-mix(in srgb,var(--accent) 18%,transparent); }
.check-pill input:focus-visible+span { outline:2px solid var(--accent); outline-offset:2px; }
.upload-rule { display:block; margin:8px 0; color:var(--muted); font-size:.75rem; line-height:1.5; }
.embed-guidance { display:block; margin-top:8px; color:var(--muted); line-height:1.65; }
.player-mode-picker { padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.player-mode-picker>legend { padding:0 5px; }
.player-mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.player-mode-options label { position:relative; display:block; }
.player-mode-options input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.player-mode-options label>span { display:grid; gap:4px; height:100%; margin:0; padding:14px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; }
.player-mode-options label>span small { color:var(--muted); font-size:.76rem; font-weight:500; line-height:1.45; }
.player-mode-options input:checked+span { border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent); }
.player-mode-options input:focus-visible+span { outline:2px solid var(--accent); outline-offset:2px; }
.player-mode-panel { display:grid; gap:14px; }
.player-mode-panel[hidden] { display:none; }
.player-mode-panel textarea[name="embed_html"] { min-height:190px; font:500 .8rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.thumbnail-source { display:block; margin-top:8px; color:var(--accent); font-weight:700; }
.video-source-check { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.video-source-check[hidden] { display:none !important; }
.video-source-check strong { color:var(--muted); font-size:13px; line-height:1.5; }
.video-source-check strong[data-state="testing"] { color:#f4c46b; }
.video-source-check strong[data-state="success"] { color:#55d68b; }
.video-source-check strong[data-state="error"] { color:#ff7f8a; }
.admin-video-preview { width:min(100%,996px); margin-inline:auto; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#000; }
.admin-video-preview .video-js,.admin-video-preview .video-js.vjs-fill,.admin-video-preview .fast-native-player { display:block; width:100%; height:100%; object-fit:contain; }
.admin-video-preview .vjs-tech,.admin-video-preview .vjs-poster img { object-fit:contain; }
.admin-video-preview .vjs-play-progress,.admin-video-preview .vjs-volume-level { background:var(--accent); }
.admin-video-preview .video-js .vjs-control-bar,.post-thumbnail-player-stage .video-js .vjs-control-bar { height:52px; box-sizing:border-box; align-items:center; padding:4px 6px; }
.admin-video-preview .video-js .vjs-control:not(.vjs-progress-control),.post-thumbnail-player-stage .video-js .vjs-control:not(.vjs-progress-control) { width:44px; min-width:44px; height:44px; }
.admin-video-preview .video-js .vjs-progress-control,.post-thumbnail-player-stage .video-js .vjs-progress-control { position:absolute; top:-22px; right:10px; left:10px; display:flex; width:auto; min-width:0; height:44px; }
.admin-video-preview .video-js .vjs-progress-holder,.post-thumbnail-player-stage .video-js .vjs-progress-holder { height:5px; margin:0; border-radius:99px; }
.admin-video-preview[hidden] { display:none; }
.admin-preview { width:100%; max-height:200px; margin-top:12px; border-radius:9px; object-fit:cover; }
.logo-preview { object-fit:contain; background:var(--surface-2); }
.design-asset-panel { display:grid; min-width:0; gap:12px; }
.design-asset-heading { display:grid; gap:4px; }
.design-asset-heading .eyebrow,.design-asset-heading h3 { margin:0; }
.design-asset-current { display:grid; min-width:0; gap:9px; }
.design-asset-current .admin-preview { margin:0; }
.design-asset-current-favicon { grid-template-columns:76px minmax(0,1fr); align-items:center; }
.favicon-preview { width:76px; height:76px; padding:10px; border:1px solid var(--line); object-fit:contain; background:var(--surface-2); }
.design-asset-current-logo .logo-preview { padding:10px; border:1px solid var(--line); }
.design-asset-state { color:#76e39f; font-size:.78rem; font-weight:800; }
.design-asset-empty { display:grid; min-height:72px; place-items:center; padding:14px; border:1px dashed var(--line); border-radius:9px; background:var(--surface-2); color:var(--muted); font-size:.8rem; font-weight:750; }
.design-asset-remove { display:flex; min-height:42px; align-items:center; gap:9px; padding:10px 12px; border:1px solid color-mix(in srgb,#ff7580 34%,var(--line)); border-radius:9px; background:rgba(255,117,128,.06); color:#ff9ba3; cursor:pointer; }
.design-asset-remove input { width:18px; height:18px; margin:0; accent-color:var(--accent); }
.design-asset-remove>span { margin:0; font-size:.8rem; }
.inline-editor { display:grid; grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) minmax(180px,1fr); align-items:end; gap:10px; }
.inline-editor>.upload-rule { grid-column:1/-1; margin:0; }
.inline-editor>.action-row { grid-column:1/-1; margin-top:4px; }
.inline-editor.compact { grid-template-columns:minmax(200px,420px) auto; justify-content:start; }
.check-line { display:flex; align-items:center; gap:8px; min-height:42px; }
.check-line input { width:auto; }
.check-line span { margin:0; }
.hidden { display:none !important; }
.placement-admin-grid { display:grid; grid-template-columns:repeat(var(--admin-ad-columns,5),minmax(160px,1fr)); gap:7px; min-width:var(--admin-ad-min-width,835px); margin-top:0; }
.placement-admin-grid article,.placement-admin-grid section { min-height:85px; display:grid; place-items:center; align-content:center; gap:4px; padding:7px; border:1px dashed var(--line); border-radius:7px; color:var(--muted); font-size:.7rem; overflow:hidden; }
.placement-admin-grid article.filled,.placement-admin-grid section.filled { border-style:solid; background:var(--surface-2); color:var(--text); }
.placement-admin-grid img { width:100%; aspect-ratio:4/1; object-fit:cover; }
.placement-admin-grid .admin-placeholder { position:relative; min-height:72px; border-radius:7px; }
.placement-admin-grid .admin-placeholder img { max-height:none; height:100%; border-radius:0; }
.placement-admin-grid .admin-placeholder strong { font-size:.72rem; }
.placement-image-upload input[type="file"]:disabled { opacity:.45; }
.placement-text-only-option { align-self:end; min-height:43px; color:var(--muted); font-size:.76rem; line-height:1.4; }
.placement-text-only-option input { flex:0 0 auto; width:auto; }
.placement-text-only-option span { margin:0; font-size:inherit; font-weight:600; }
.placement-text-preview {
    display:-webkit-box; width:100%; padding:8px; overflow:hidden; border-radius:5px;
    background:linear-gradient(135deg,color-mix(in srgb,var(--brand-main) 24%,var(--surface-2)),color-mix(in srgb,var(--brand-sub) 20%,var(--surface)));
    color:var(--text); text-align:center; overflow-wrap:anywhere; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2;
}
.ad-column-control { display:grid; grid-template-columns:minmax(180px,260px) minmax(220px,1fr) auto; align-items:end; gap:12px; margin-top:20px; padding:14px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface-2) 58%,transparent); }
.ad-column-control label { min-width:0; }
.ad-column-control input { width:100%; }
.ad-column-preview { align-self:center; margin:0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.ad-column-preview.is-invalid { color:#ff9ba3; }
.ad-zone-heading { min-width:0; }
.ad-zone-title-line { display:flex; min-width:0; align-items:center; gap:8px; }
.ad-zone-title-line h2 { min-width:0; overflow-wrap:anywhere; }
.ad-banner-size-help { position:relative; z-index:30; display:inline-flex; flex:0 0 auto; align-items:center; }
.ad-banner-size-help:hover,.ad-banner-size-help:focus-within { z-index:90; }
.ad-banner-size-trigger {
    display:grid; width:28px; height:28px; min-width:28px; padding:0; place-items:center;
    border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line)); border-radius:50%;
    background:color-mix(in srgb,var(--accent) 11%,var(--surface-2)); color:var(--accent);
    font:800 .8rem/1 system-ui,sans-serif; cursor:help;
}
.ad-banner-size-trigger:hover,.ad-banner-size-trigger:focus-visible {
    border-color:var(--accent); background:color-mix(in srgb,var(--accent) 18%,var(--surface-2));
    outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent); outline-offset:2px;
}
.ad-banner-size-popover {
    position:fixed; z-index:80; top:50%; left:50%; width:min(540px,calc(100vw - 32px));
    max-height:min(78vh,650px); padding:16px; overflow:auto; overscroll-behavior:contain;
    border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line)); border-radius:12px;
    background:color-mix(in srgb,var(--surface) 96%,var(--bg)); color:var(--text);
    box-shadow:0 18px 48px rgba(0,0,0,.34); opacity:0; visibility:hidden; pointer-events:none;
    transform:translate(-50%,calc(-50% - 5px));
}
.ad-banner-size-help:hover .ad-banner-size-popover,
.ad-banner-size-help:focus-within .ad-banner-size-popover,
.ad-banner-size-help.is-open .ad-banner-size-popover {
    opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,-50%);
}
.ad-banner-size-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.ad-banner-size-heading strong { font-size:.94rem; }
.ad-banner-size-heading>span { padding:4px 8px; border-radius:999px; background:color-mix(in srgb,var(--accent) 13%,transparent); color:var(--accent); font-size:.7rem; font-weight:800; white-space:nowrap; }
.ad-banner-size-popover>p { margin:8px 0 12px; color:var(--muted); font-size:.76rem; line-height:1.55; }
.ad-banner-size-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:9px; }
.ad-banner-size-table { width:100%; min-width:360px; border-collapse:collapse; font-size:.75rem; }
.ad-banner-size-table th,.ad-banner-size-table td { padding:9px 10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
.ad-banner-size-table thead th { background:color-mix(in srgb,var(--surface-2) 72%,transparent); color:var(--muted); font-size:.68rem; }
.ad-banner-size-table tbody tr:last-child th,.ad-banner-size-table tbody tr:last-child td { border-bottom:0; }
.ad-banner-size-table tbody tr.is-current { background:color-mix(in srgb,var(--accent) 10%,transparent); }
.ad-banner-size-table tbody tr.is-current th,.ad-banner-size-table tbody tr.is-current td { color:var(--text); }
.ad-banner-current-badge { display:inline-flex; margin-left:7px; padding:2px 6px; border-radius:999px; background:var(--accent); color:var(--on-accent); font-size:.6rem; font-weight:850; vertical-align:middle; }
.ad-banner-size-popover>small { display:block; margin-top:11px; color:var(--muted); font-size:.69rem; line-height:1.55; }
.ad-register-target { padding:9px 11px; border-left:3px solid var(--accent); background:var(--surface-2); color:var(--text) !important; font-weight:750; }
.managed-placement-rows { display:grid; gap:14px; margin-top:22px; }
.managed-placement-row { padding:14px; overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface-2) 58%,transparent); }
.managed-placement-row>header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:12px; }
.managed-placement-row>header>div { display:flex; align-items:center; gap:10px; }
.managed-placement-row>header span { color:var(--muted); font-size:.76rem; }
.placement-admin-grid.is-video-zone img { aspect-ratio:105/17; }
.placement-admin-grid .ad-admin-slot {
    min-width:0; min-height:230px; display:flex; align-items:stretch; justify-content:flex-start; flex-direction:column;
    gap:10px; padding:12px; overflow:visible; text-align:left;
}
.ad-slot-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; }
.ad-slot-heading>strong { min-width:0; color:var(--text); font-size:.76rem; overflow-wrap:anywhere; }
.ad-status-label { display:inline-flex; align-items:center; flex:0 0 auto; min-height:26px; padding:4px 8px; border:1px solid transparent; border-radius:999px; font-size:.67rem; font-weight:800; white-space:nowrap; }
.ad-status-label.is-active { border-color:rgba(73,211,139,.38); background:rgba(73,211,139,.13); color:#8df0b9; }
.ad-status-label.is-inactive { border-color:rgba(144,159,181,.38); background:rgba(144,159,181,.12); color:#c1cad8; }
.ad-status-label.is-held { border-color:rgba(246,183,72,.42); background:rgba(246,183,72,.13); color:#ffd483; }
.ad-status-label.is-empty { border-color:rgba(115,139,172,.35); background:rgba(115,139,172,.08); color:var(--muted); }
[data-mode="light"] .ad-status-label.is-active { border-color:rgba(18,122,68,.35); background:rgba(18,122,68,.1); color:#0b6435; }
[data-mode="light"] .ad-status-label.is-inactive { border-color:rgba(69,84,105,.32); background:rgba(69,84,105,.08); color:#3f4d61; }
[data-mode="light"] .ad-status-label.is-held { border-color:rgba(158,98,0,.34); background:rgba(201,132,11,.1); color:#805000; }
.ad-slot-kind { color:var(--muted); font-size:.7rem; }
.placement-admin-grid .ad-slot-preview { display:block; width:100%; min-height:64px; max-height:120px; margin:0; border-radius:7px; object-fit:contain; background:color-mix(in srgb,var(--bg) 42%,transparent); }
.ad-slot-tag-preview,.ad-slot-empty-preview { display:grid; place-content:center; width:100%; min-height:82px; padding:12px; border:1px dashed var(--line); border-radius:8px; background:color-mix(in srgb,var(--bg) 35%,transparent); color:var(--muted); text-align:center; }
.ad-slot-empty-preview { flex:1; gap:5px; }
.ad-slot-empty-preview strong { color:var(--text); font-size:.76rem; }
.ad-slot-empty-preview span { font-size:.68rem; line-height:1.5; }
.ad-schedule-summary { min-height:34px; margin:0; color:var(--muted); font-size:.68rem; line-height:1.5; overflow-wrap:anywhere; }
.ad-slot-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; width:100%; margin-top:auto; }
.ad-slot-actions.single { grid-template-columns:1fr; }
.ad-slot-actions form,.ad-slot-actions .button { width:100%; min-width:0; }
.ad-slot-actions .button { min-height:38px; justify-content:center; padding-inline:7px; }
.ad-management-dialog {
    width:min(720px,calc(100vw - 28px)); max-width:100%; max-height:calc(100dvh - 28px); margin:auto; padding:0;
    overflow:auto; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:16px;
    background:var(--surface); color:var(--text); box-shadow:0 28px 90px rgba(0,0,0,.6); font-size:1rem; line-height:1.55;
}
.ad-management-dialog::backdrop { background:rgba(2,5,10,.8); backdrop-filter:blur(5px); }
.ad-dialog-form { display:grid; gap:14px; padding:22px; text-align:left; }
.ad-dialog-form>label { min-width:0; }
.ad-dialog-form textarea { min-height:120px; resize:vertical; }
.ad-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.ad-dialog-heading h3 { margin:0; font-size:1.15rem; }
.ad-dialog-heading button { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--surface-2); color:var(--text); cursor:pointer; font-size:1.4rem; }
.ad-dialog-form>p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.ad-dialog-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:5px; }
.ad-dialog-actions .button { min-width:110px; }
.zone-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.zone-tabs a { padding:8px 11px; border-radius:7px; background:var(--surface-2); }
.zone-tabs span { color:var(--accent); }
.taxonomy-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px; }
.taxonomy-admin-grid>.admin-panel { margin-top:0; }
.taxonomy-panel { min-width:0; }
.taxonomy-panel-heading { align-items:flex-start; }
.taxonomy-panel-description { margin:7px 0 0; color:var(--muted); font-size:.8rem; }
.taxonomy-count-badge { display:inline-flex; align-items:center; gap:4px; flex:0 0 auto; padding:7px 10px; border:1px solid var(--line); border-radius:99px; background:var(--surface-2); white-space:nowrap; }
.taxonomy-count-badge strong { color:var(--text); font-size:.9rem; }
.taxonomy-create-card { display:grid; gap:14px; padding:18px; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line)); border-radius:12px; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface-2)),var(--surface-2)); }
.taxonomy-create-copy { display:grid; gap:3px; }
.taxonomy-create-copy>strong { font-size:.94rem; }
.taxonomy-create-copy>span { color:var(--muted); font-size:.76rem; line-height:1.5; }
.taxonomy-bulk-field textarea { min-height:112px; }
.taxonomy-bulk-preview { display:flex; min-height:46px; max-height:116px; padding:9px; align-content:flex-start; align-items:flex-start; flex-wrap:wrap; gap:6px; overflow:auto; border:1px dashed var(--line); border-radius:10px; background:color-mix(in srgb,var(--bg) 38%,transparent); }
.taxonomy-preview-empty { align-self:center; margin:auto; color:var(--muted); font-size:.74rem; }
.taxonomy-preview-chip { display:inline-flex; max-width:100%; padding:5px 9px; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius:99px; background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--text); font-size:.72rem; overflow-wrap:anywhere; }
.taxonomy-preview-chip.more { border-style:dashed; color:var(--muted); }
.taxonomy-bulk-actions { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.taxonomy-bulk-actions>div { display:grid; gap:2px; min-width:0; }
.taxonomy-bulk-actions output { color:var(--text); font-size:.8rem; font-weight:750; }
.taxonomy-bulk-actions small { color:var(--muted); font-size:.7rem; line-height:1.45; }
.taxonomy-bulk-actions .button { min-width:142px; }
.taxonomy-list-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:24px; }
.taxonomy-list-heading>div { display:grid; gap:4px; min-width:0; }
.taxonomy-list-heading strong { font-size:.85rem; }
.taxonomy-list-heading span { color:var(--muted); font-size:.75rem; line-height:1.45; }
.taxonomy-order-form { flex:0 0 auto; margin:0; }
.taxonomy-order-save { min-height:40px; }
.taxonomy-order-status { min-height:1.2em; margin:7px 0 0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.taxonomy-list { display:grid; gap:9px; margin-top:10px; }
.taxonomy-item { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:9px 8px; padding:12px; border:1px solid transparent; border-radius:10px; background:var(--surface-2); transition:border-color .18s ease,background .18s ease,opacity .18s ease,transform .18s ease; }
.taxonomy-item:focus-within { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); background:color-mix(in srgb,var(--accent) 5%,var(--surface-2)); }
.taxonomy-item.is-dragging { z-index:2; border-color:var(--accent); opacity:.72; transform:scale(.995); box-shadow:0 10px 24px rgba(0,0,0,.22); }
.taxonomy-list.is-sorting .taxonomy-item:not(.is-dragging) { transition:transform .12s ease; }
.taxonomy-order-control { grid-column:1; grid-row:1/3; display:grid; align-content:center; justify-items:center; gap:3px; min-width:0; }
.taxonomy-drag-handle { display:grid; width:40px; height:40px; padding:0; place-items:center; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--surface) 72%,var(--surface-2)); color:var(--muted); cursor:grab; touch-action:none; user-select:none; }
.taxonomy-drag-handle:hover { border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); color:var(--text); }
.taxonomy-drag-handle:active { cursor:grabbing; }
.taxonomy-drag-handle:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent); outline-offset:2px; border-color:var(--accent); color:var(--text); }
.taxonomy-drag-handle span { font-size:1.25rem; line-height:1; }
.taxonomy-position { color:var(--muted); font-size:.66rem; font-variant-numeric:tabular-nums; }
.taxonomy-edit { grid-column:2; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; min-width:0; margin:0; }
.taxonomy-edit input { min-width:0; padding:8px 10px; }
.taxonomy-save-button,.taxonomy-delete-button { min-height:38px; padding:7px 11px; font-size:.76rem; }
.taxonomy-save-button { border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); color:var(--accent); }
.taxonomy-delete { grid-column:3; grid-row:1; margin:0; }
.taxonomy-delete-button { border-color:rgba(255,117,128,.24); background:rgba(255,117,128,.07); color:#ff8d96; }
.taxonomy-item-meta { grid-column:2/-1; grid-row:2; display:flex; align-items:center; gap:7px; min-width:0; color:var(--muted); font-size:.68rem; }
.taxonomy-item-meta code { max-width:100%; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.taxonomy-empty { padding:26px 14px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); font-size:.8rem; text-align:center; }
.provider-list { display:grid; gap:8px; margin-top:20px; }
.provider-list article { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 15px; border-radius:8px; background:var(--surface-2); }
.provider-list article>div { display:flex; align-items:center; gap:13px; min-width:0; }
.provider-list span { color:var(--muted); font-size:.82rem; overflow:hidden; text-overflow:ellipsis; }
.social-admin-icon { width:28px; height:28px; border-radius:6px; object-fit:cover; }
.social-admin-icon.social-fallback { width:28px; height:28px; border-radius:6px; }
.theme-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.theme-option { position:relative; min-width:0; }
.theme-option input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.theme-option>span { display:grid; gap:8px; margin:0; padding:10px; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.theme-option i { height:65px; border-radius:6px; background:linear-gradient(135deg,#080a0f 25%,#e50914); }
.theme-option input:checked+span { border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent); }
.theme-cinema i { background:linear-gradient(135deg,#120809,#ff2532); }
.theme-wave i { background:linear-gradient(135deg,#061019,#00a8e8); }
.theme-royal i { background:linear-gradient(135deg,#10091a,#9747ff); }
.theme-ember i { background:linear-gradient(135deg,#160b05,#ff7139); }
.theme-minimal i { background:linear-gradient(135deg,#090909,#777); }
.brand-color-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.brand-color-grid input[type="color"] { min-height:54px; padding:5px; cursor:pointer; }
.palette-preview { display:grid; grid-template-columns:1.2fr 1fr auto; min-height:76px; margin-top:12px; overflow:hidden; border:1px solid var(--line); border-radius:10px; }
.palette-preview span { display:grid; place-items:center; padding:12px; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.palette-main { background:var(--preview-main); color:var(--preview-main-ink); }
.palette-sub { background:var(--preview-sub); color:var(--preview-sub-ink); }
.palette-accent { background:var(--preview-accent); color:var(--preview-accent-ink); }
.palette-reset { justify-self:start; }
.security-note { margin-top:22px; padding:18px; border-left:3px solid var(--accent); background:var(--surface-2); }
.security-note p { margin-bottom:0; color:var(--muted); }
.security-note code { overflow-wrap:anywhere; color:var(--text); }
.admin-password-panel{max-width:1180px;overflow:hidden}
.admin-password-intro{max-width:840px;margin:-7px 0 0;overflow-wrap:anywhere}
.admin-password-session-warning{margin-top:18px}
.admin-password-form{display:grid;grid-template-columns:minmax(0,640px);gap:13px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.admin-password-form label{min-width:0}
.admin-password-form input{width:100%;min-width:0}
.admin-password-actions{grid-column:1;display:flex;justify-content:flex-start;margin-top:3px}

@media (max-width:1500px) {
}

@media (max-width:1200px) {
    .taxonomy-admin-grid { grid-template-columns:1fr; }
    .managed-placement-row { overflow-x:auto; }
    .placement-admin-grid { grid-template-columns:repeat(var(--admin-ad-columns,5),minmax(160px,1fr)); min-width:var(--admin-ad-min-width,835px); }
}

@media (max-width:1100px) {
    .post-grid { grid-template-columns:repeat(3,1fr); }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .inline-editor { grid-template-columns:repeat(2,1fr); }
    .admin-form-grid { grid-template-columns:1fr; }
    .admin-form-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-form-side>.button { grid-column:1/-1; }
    .theme-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:900px) {
    .admin-sidebar { width:min(300px,86vw); transform:translateX(-105%); transition:.2s; box-shadow:25px 0 70px rgba(0,0,0,.38); }
    .admin-sidebar.open { transform:none; }
    .admin-main { margin-left:0; padding:24px 18px 60px; }
    .sidebar-toggle { display:block; flex:0 0 auto; }
}

@media (max-width:1200px) {
    .post-admin-table-wrap { overflow:visible; }
    .post-admin-table { min-width:0; table-layout:auto; border-collapse:separate; }
    .post-admin-table colgroup { display:none; }
    .post-admin-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .post-admin-table tbody { display:grid; gap:10px; }
    .post-admin-table .post-list-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; padding:15px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
    .post-admin-table .post-list-row:hover { background:var(--surface-2); }
    .post-admin-table td { display:grid; grid-template-columns:minmax(68px,.55fr) minmax(0,1fr); align-items:center; gap:10px; min-width:0; padding:8px 0; border:0; }
    .post-admin-table .post-status-cell { display:grid; }
    .post-admin-table .post-status-content { min-width:0; justify-content:flex-start; }
    .post-admin-table .post-date-stack { gap:6px; }
    .post-admin-table .post-date-entry { grid-template-columns:58px minmax(0,1fr); align-items:center; }
    .post-admin-table .post-list-date,.post-admin-table .post-date-empty { font-size:.72rem; }
    .post-admin-table td::before { content:attr(data-label); color:var(--muted); font-size:.68rem; font-weight:750; letter-spacing:.04em; }
    .post-admin-table .post-select-cell { display:block; grid-column:1/-1; padding:0 0 9px; border-bottom:1px solid var(--line); }
    .post-admin-table .post-select-cell::before { display:none; }
    .post-admin-table .post-select-control { min-width:44px; min-height:44px; justify-content:flex-start; }
    .post-admin-table .post-title-cell { display:block; grid-column:1/-1; padding:0 0 13px; border-bottom:1px solid var(--line); }
    .post-admin-table .post-title-cell::before,.post-admin-table .post-actions-cell::before { display:none; }
    .post-admin-table .post-actions-cell { display:block; grid-column:1/-1; padding:12px 0 0; border-top:1px solid var(--line); text-align:left !important; }
    .post-list-title { font-size:.94rem; }
    .post-list-title-layout { grid-template-columns:132px minmax(0,1fr); }
    .post-list-category { white-space:normal; overflow-wrap:anywhere; }
    .post-list-actions { justify-content:flex-start; flex-wrap:wrap; gap:6px 8px; }
    .post-storage-issue-nav { align-items:stretch; flex-direction:column; }
    .post-storage-issue-nav .button { width:100%; }
}

@media (max-width:760px) {
    .post-thumbnail-candidate-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .post-thumbnail-bulk-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bulk-status-actions .button { min-height:44px; white-space:normal; }
    .site-header { gap:16px; min-height:62px; padding:10px 14px; }
    .site-logo img { height:32px; max-width:130px; }
    .main-nav { gap:14px; }
    .discover-toolbar { top:62px; display:grid; grid-template-columns:minmax(0,1fr) auto; padding:10px 12px; }
    .discover-search { padding-left:10px; }
    .discover-search .button { padding-inline:12px; }
    .filter-toggle { min-height:50px; padding-inline:13px; }
    .filter-popover { position:fixed; inset:auto 10px max(10px,env(safe-area-inset-bottom)); width:auto; max-height:min(78vh,680px); overflow:auto; border-radius:18px; }
    .discover-toolbar.post-list-taxonomy-filter { top:auto; display:flex; padding:0; }
    .post-list-discovery-tools { grid-template-columns:1fr; }
    .post-list-taxonomy-filter .filter-toggle { width:100%; justify-content:space-between; }
    .post-list-taxonomy-filter .filter-popover { inset:auto 10px max(10px,env(safe-area-inset-bottom)); width:auto; }
    .active-filter-bar { padding-inline:12px; }
    .content-ribbon.placement-top,.content-ribbon.placement-bottom {
        display:grid; grid-template-columns:repeat(var(--ad-mobile-columns,3),minmax(0,1fr)); gap:4px;
        width:100%; max-width:100%; min-width:0; overflow-x:hidden; overflow-x:clip;
        padding-top:8px; padding-bottom:8px;
        padding-left:max(8px,env(safe-area-inset-left));
        padding-right:max(8px,env(safe-area-inset-right));
    }
    .content-ribbon.is-empty { display:none; }
    .placement-top>.content-row,.placement-bottom>.content-row { display:contents; min-width:0; }
    .placement-top .content-tile.is-vacant,.placement-bottom .content-tile.is-vacant,.placement-video .content-tile.is-vacant { display:none; }
    .placement-top .content-tile,.placement-bottom .content-tile { height:clamp(44px,10.5vw,64px); min-width:0; }
    .placement-top .content-image img,.placement-bottom .content-image img { object-fit:contain; background:var(--surface-2); }
    .content-section-lead { padding-top:20px; }
    .catalog-sort { justify-content:flex-start; margin-top:-2px; }
    .catalog-sort-label { flex:0 0 100%; }
    .placement-video .content-row { grid-template-columns:repeat(var(--ad-mobile-columns,2),minmax(0,1fr)); min-width:0; }
    .post-row { grid-auto-columns:76vw; }
    .post-grid { grid-template-columns:repeat(2,1fr); gap:17px 10px; }
    .watch-main { padding:12px 0 42px; }
    .player-shell { border-radius:0; box-shadow:none; }
    .watch-heading { padding:12px 18px 22px; }
    .watch-body { padding:28px 18px 0; }
    .watch-recommendation { padding:28px 18px 0; }
    .site-footer { grid-template-columns:1fr; }
    .requirements { grid-template-columns:1fr; }
    .stats-grid,.setup-list,.admin-form-grid { grid-template-columns:1fr; }
    .theme-grid { grid-template-columns:repeat(2,1fr); }
    .brand-color-grid,.admin-form-side { grid-template-columns:1fr; }
    .player-mode-options { grid-template-columns:1fr; }
    .admin-form-side>.button { grid-column:auto; }
    .inline-editor,.inline-editor.compact { grid-template-columns:1fr; }
    .admin-password-form { grid-template-columns:1fr; }
    .admin-password-actions { grid-column:auto; }
    .admin-password-actions .button { width:100%;min-height:48px; }
    .admin-password-form input { min-height:48px;font-size:16px; }
    .provider-list article { align-items:flex-start; flex-wrap:wrap; }
    .post-admin-panel { padding:18px 14px; }
    .post-admin-heading { align-items:center; margin-bottom:18px; }
    .bulk-status-toolbar { grid-template-columns:1fr; align-items:stretch; padding:13px; }
    .bulk-status-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; }
    .bulk-status-actions .button:last-child { grid-column:1/-1; }
    .bulk-status-toolbar>small { grid-column:auto; }
    .bulk-status-heading { flex-direction:column; }
    .bulk-status-heading code { max-width:100%; }
    .bulk-status-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .post-trash-batch-panel .bulk-status-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bulk-status-confirm-form { grid-template-columns:1fr; }
    .bulk-status-confirm-form .wide { grid-column:auto; }
    .bulk-status-confirm-form .button,.bulk-status-cancel-form .button { width:100%; min-height:44px; }
    .post-title-edit-button { min-width:80px; min-height:48px; padding-inline:12px; }
    .post-title-editor { grid-template-columns:1fr; }
    .post-title-editor input { min-height:48px; font-size:16px; }
    .post-title-editor output,.post-title-editor-actions,.post-title-editor>p { grid-column:auto; }
    .post-title-editor-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .post-title-editor-actions .button { min-height:44px; }
    .post-title-batch-panel { padding:14px; }
    .post-title-batch-list article { grid-template-columns:1fr; gap:5px; }
    .post-title-batch-list b { transform:rotate(90deg); justify-self:start; }
    .post-title-batch-panel .action-row { display:grid; grid-template-columns:1fr; }
    .post-title-batch-panel .button { width:100%; min-height:44px; }
    .post-tags-dialog { width:min(640px,calc(100vw - 24px)); }
    .post-tags-dialog-form { padding:18px; }
    .post-tags-option-grid { grid-template-columns:1fr; }
    .post-tags-edit-button { min-height:44px; }
    .taxonomy-bulk-actions { align-items:stretch; flex-direction:column; }
    .taxonomy-bulk-actions .button { width:100%; }
    .taxonomy-list-heading { align-items:stretch; flex-direction:column; }
    .taxonomy-order-form,.taxonomy-order-save { width:100%; }
    .provider-list article>div:first-child { flex:1 0 100%; }
}

@media (max-width:430px) {
    .site-header { gap:10px; }
    .site-logo { max-width:34vw; font-size:1rem; }
    .discover-search>span { display:none; }
    .discover-search input { padding-inline:8px; }
    .discover-search .button { padding-inline:10px; }
    .filter-toggle { padding-inline:11px; }
    .filter-toggle>span { display:none; }
    .post-grid { grid-template-columns:1fr; }
    .post-admin-heading { align-items:stretch; flex-direction:column; }
.post-admin-heading .button { width:100%; }
    .post-title-view { grid-template-columns:1fr; }
    .post-title-meta { grid-column:1; grid-row:2; }
    .post-title-edit-button { grid-column:1; grid-row:auto; width:100%; min-width:0; }
    .bulk-status-actions { grid-template-columns:1fr; }
    .post-trash-batch-panel .bulk-status-counts { grid-template-columns:1fr; }
    .bulk-status-actions .button:last-child { grid-column:auto; }
    .bulk-status-counts { grid-template-columns:1fr; }
    .post-admin-table .post-list-row { grid-template-columns:1fr; }
    .post-list-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); width:100%; }
    .post-list-actions>a,.post-list-action-button,.post-list-delete-form,.post-list-delete-form .danger-link { width:100%; }
    .post-list-title-layout { grid-template-columns:92px minmax(0,1fr); gap:10px; }
    .post-list-thumbnail { width:92px; }
    .post-title-view { grid-template-columns:1fr; }
    .post-title-edit-button { width:100%; }
    .post-title-editor-actions { grid-template-columns:1fr; }
    .post-tags-dialog { inset:0; width:100vw; max-width:none; max-height:100dvh; height:100dvh; margin:0; border:0; border-radius:0; }
    .post-tags-dialog-form { min-height:100%; max-height:100dvh; padding:18px max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); }
    .post-tags-option-grid { max-height:none; }
    .post-tags-dialog-actions { display:grid; grid-template-columns:1fr; margin-top:auto; }
    .post-tags-dialog-actions .button,.post-tags-edit-button { width:100%; min-height:48px; }
    .taxonomy-panel { padding:18px 14px; }
    .taxonomy-panel-heading { gap:10px; }
    .taxonomy-count-badge { padding:6px 8px; font-size:.7rem; }
    .taxonomy-item { grid-template-columns:44px minmax(0,1fr); }
    .taxonomy-order-control { grid-column:1; grid-row:1/3; }
    .taxonomy-edit { grid-column:2; grid-row:1; }
    .taxonomy-edit { grid-template-columns:1fr; }
    .taxonomy-save-button,.taxonomy-delete-button { width:100%; }
    .taxonomy-delete { grid-column:2; grid-row:2; }
    .taxonomy-item-meta { grid-column:1/-1; grid-row:3; }
    .login-card,.install-card { padding:28px 20px; border-radius:16px; }
    .admin-main { padding-inline:12px; }
}

@media (max-width:640px) {
    .post-thumbnail-dialog { inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; border:0; border-radius:0; }
    .post-thumbnail-dialog-shell { min-height:100%; max-height:100dvh; padding:18px max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); }
    .post-thumbnail-rotation-controls { display:grid; align-items:stretch; }
    .post-thumbnail-rotation-buttons { width:100%; }
    .post-thumbnail-rotation-buttons .button { min-width:0; min-height:48px; white-space:normal; }
    .post-thumbnail-dialog-actions { display:grid; grid-template-columns:1fr; margin-top:auto; }
    .post-thumbnail-dialog-actions .button { width:100%; min-height:48px; }
}

@media (max-width:420px) {
    .post-thumbnail-candidate-heading { display:grid; }
    .post-thumbnail-candidate-heading>span { justify-self:start; }
    .post-thumbnail-candidate-list { grid-template-columns:1fr; }
    .post-thumbnail-candidate-option { grid-template-columns:minmax(112px,42%) minmax(0,1fr); align-items:center; }
    .post-thumbnail-candidate-copy { padding:10px; }
}

@media (max-width:900px) {
    .managed-placement-row { overflow:visible; }
    .placement-admin-grid { grid-template-columns:repeat(var(--admin-ad-tablet-columns,2),minmax(0,1fr)); min-width:0; }
    .ad-column-control { grid-template-columns:minmax(160px,220px) minmax(0,1fr); }
    .ad-column-control .button { grid-column:1/-1; justify-self:start; }
}

@media (max-width:560px) {
    .managed-placement-row { padding:12px 10px; }
    .managed-placement-row>header { align-items:flex-start; }
    .placement-admin-grid { grid-template-columns:1fr; min-width:0; }
    .ad-column-control { grid-template-columns:1fr; }
    .ad-column-control .button { width:100%; }
    .placement-admin-grid .ad-admin-slot { min-height:0; }
    .ad-management-dialog { inset:0; width:100vw; max-width:none; max-height:100dvh; height:100dvh; margin:0; border:0; border-radius:0; }
    .ad-dialog-form { min-height:100%; padding:18px max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); }
    .ad-dialog-actions { display:grid; grid-template-columns:1fr; margin-top:auto; }
    .ad-dialog-actions .button { width:100%; min-height:48px; }
    .ad-slot-actions .button { min-height:44px; }
    .ad-dialog-form input,.ad-dialog-form select,.ad-dialog-form textarea { font-size:16px; }
    .ad-banner-size-popover { width:calc(100vw - 20px); max-height:min(78vh,650px); }
}

/* Administrator post creation information architecture */
.post-create-actions{display:flex;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.post-bulk-create,.post-bulk-create *{min-width:0}
.post-bulk-create{max-width:100%;overflow-x:clip}
.post-composition-switch,.post-composition-switch *{min-width:0}
.post-composition-switch{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(420px,1.25fr);align-items:center;gap:20px;overflow:hidden}
.post-composition-switch h2,.post-composition-switch p{margin-top:0}
.post-composition-switch nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.post-composition-switch nav a{display:grid;gap:5px;min-height:86px;padding:15px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--bg) 38%,transparent);color:var(--text)}
.post-composition-switch nav a:hover,.post-composition-switch nav a:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));outline:none}
.post-composition-switch nav a.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
.post-composition-switch nav small{color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.post-bulk-intro{overflow:hidden}
.post-bulk-heading{align-items:flex-start}
.post-bulk-heading .muted{max-width:780px;margin:8px 0 0;overflow-wrap:anywhere}
.post-bulk-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.post-bulk-mode-tabs>a{display:grid;gap:5px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--bg) 38%,transparent);color:var(--text)}
.post-bulk-mode-tabs>a:hover,.post-bulk-mode-tabs>a:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));outline:none}
.post-bulk-mode-tabs>a.active{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
.post-bulk-mode-tabs small{color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.post-collection-builder{overflow:hidden}
.post-collection-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;padding:0;list-style:none}
.post-collection-flow li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.post-collection-flow li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-weight:850}
.post-collection-flow li>div{display:grid;gap:5px}
.post-collection-flow small{color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.post-collection-actions{display:flex;flex-wrap:wrap;gap:9px}

@media (max-width:760px){
    .post-composition-switch{grid-template-columns:1fr;padding:18px 14px}
    .post-composition-switch nav{grid-template-columns:1fr}
    .post-composition-switch nav a{min-height:48px;padding:14px}
    .post-create-actions{display:grid;grid-template-columns:1fr;width:100%;justify-content:stretch}
    .post-create-actions .button{width:100%;min-height:48px;justify-content:center;text-align:center}
    .post-bulk-intro,.post-collection-builder{padding:18px 14px}
    .post-bulk-heading{align-items:stretch;flex-direction:column}
    .post-bulk-heading>.button{width:100%;min-height:48px;justify-content:center}
    .post-bulk-mode-tabs,.post-collection-flow{grid-template-columns:1fr}
    .post-bulk-mode-tabs>a{min-height:48px;padding:14px}
    .post-collection-actions{display:grid;grid-template-columns:1fr}
    .post-collection-actions .button{width:100%;min-height:48px;justify-content:center;text-align:center}
    .storage-inventory-heading{align-items:stretch;flex-direction:column}
    .storage-inventory-heading .button{width:100%;min-height:48px;justify-content:center;text-align:center}
    .storage-bulk-pagination .button,.storage-bulk-selected .text-button{min-height:44px}
}

@media (hover:none), (pointer:coarse) {
    .play-badge { opacity:1; transform:none; }
}

@media (prefers-reduced-motion:reduce) {
    * { scroll-behavior:auto !important; transition:none !important; }
}
.catalog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
}

.catalog-pagination-status {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--muted);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.public-catalog-pagination,
.admin-post-pagination {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    justify-content: stretch;
    width: 100%;
}

.catalog-pagination-controls,
.catalog-page-numbers,
.catalog-page-jump {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.catalog-pagination-edge,
.catalog-page-number {
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    text-align: center;
}

.catalog-pagination-edge.is-disabled {
    cursor: not-allowed;
    pointer-events: none;
    opacity: .42;
}

.catalog-page-number {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--text);
    font-weight: 800;
}

.catalog-page-number:hover,
.catalog-page-number:focus-visible,
.catalog-page-number.is-current {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--on-accent);
}

.catalog-page-number:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--accent) 32%, transparent);
    outline-offset: 2px;
}

.catalog-pagination-ellipsis {
    min-width: 20px;
    text-align: center;
    color: var(--muted);
}

.catalog-page-jump {
    justify-content: flex-end;
}

.catalog-page-jump label {
    color: var(--muted);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.catalog-page-jump input {
    width: 76px;
    min-height: 44px;
    padding: 8px 10px;
    text-align: center;
}

.admin-catalog-pagination {
    justify-content: flex-end;
    margin-top: 18px;
}

.admin-post-pagination {
    justify-content: stretch;
}

.post-catalog-health {
    margin: 0 0 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: color-mix(in srgb, var(--panel) 90%, transparent);
}

.post-catalog-health > summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 800;
}

.post-catalog-health-body {
    padding: 0 16px 16px;
}

.post-catalog-health-body p {
    color: var(--muted);
}

.post-catalog-health-body dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0;
}

.post-catalog-health-body dl > div {
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.post-catalog-health-body dt {
    color: var(--muted);
    font-size: .78rem;
}

.post-catalog-health-body dd {
    margin: 4px 0 0;
    font-weight: 800;
}

@media (max-width: 640px) {
    .catalog-pagination,
    .admin-catalog-pagination {
        justify-content: stretch;
    }

    .catalog-pagination .button {
        flex: 1 1 0;
        text-align: center;
    }

    .catalog-pagination-status {
        flex: 0 0 auto;
    }

    .public-catalog-pagination,
    .admin-post-pagination {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .public-catalog-pagination .catalog-pagination-status,
    .admin-post-pagination .catalog-pagination-status {
        justify-self: center;
    }

    .catalog-pagination-controls {
        flex-wrap: wrap;
    }

    .public-catalog-pagination .catalog-pagination-controls .button,
    .admin-post-pagination .catalog-pagination-controls .button {
        flex: 0 1 auto;
    }

    .catalog-page-numbers {
        order: -1;
        flex: 1 0 100%;
    }

    .catalog-page-numbers .is-mobile-optional,
    .catalog-page-numbers .catalog-pagination-ellipsis {
        display: none;
    }

    .catalog-page-jump {
        justify-content: center;
    }

    .post-catalog-health-body dl {
        grid-template-columns: 1fr;
    }
}

.portability-admin,.portability-grid,.portability-card,.portability-card form { min-width:0; }
.portability-intro { overflow:hidden; }
.portability-intro code,.portability-card code { overflow-wrap:anywhere; color:var(--accent); }
.status-chip { display:inline-flex; align-items:center; min-height:32px; padding:6px 11px; border:1px solid var(--line); border-radius:999px; font-size:.76rem; font-weight:800; white-space:nowrap; }
.status-chip.ready { border-color:rgba(83,216,139,.38); background:rgba(83,216,139,.1); color:#7be9a9; }
.status-chip.warning { border-color:rgba(255,196,82,.38); background:rgba(255,196,82,.1); color:#ffd680; }
.portability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.portability-grid>.admin-panel { margin-top:18px; }
.portability-card { position:relative; overflow:hidden; }
.step-badge { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line)); border-radius:12px; color:var(--accent); font-weight:900; }
.portability-taxonomy { display:grid; gap:14px; padding:14px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--bg) 38%,transparent); }
.tag-check-fieldset { min-width:0; margin:0; padding:12px; border:1px solid var(--line); border-radius:12px; }
.tag-check-fieldset legend { padding:0 6px; color:var(--muted); font-size:.78rem; font-weight:700; }
.portability-tag-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; max-height:180px; overflow:auto; }
.portability-tag-grid label { display:flex; align-items:center; gap:7px; min-width:0; padding:8px; border:1px solid var(--line); border-radius:9px; }
.portability-tag-grid label span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-drop-field { padding:14px; border:1px dashed color-mix(in srgb,var(--accent) 38%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent) 5%,transparent); }
.file-drop-field input[type="file"] { width:100%; min-width:0; padding:10px 0; }
.file-drop-field small { color:var(--muted); }
.portability-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.portability-actions .button { width:100%; }
.portability-progress { margin-top:18px; padding:14px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--bg) 42%,transparent); }
.progress-track { position:relative; height:8px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--line) 62%,transparent); }
.progress-track>span { display:block; width:3%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--sub-color)); transition:width .22s ease; }
.progress-track>span.indeterminate { width:28% !important; animation:portability-progress 1.1s ease-in-out infinite alternate; }
.portability-progress p { margin:10px 0 0; overflow-wrap:anywhere; }
.portability-progress p[data-tone="success"] { color:#7be9a9; }
.portability-progress p[data-tone="error"] { color:#ff8a92; }
@keyframes portability-progress { from{transform:translateX(-10%)} to{transform:translateX(270%)} }
.portability-downloads,.portability-summary { display:grid; gap:10px; margin-top:14px; }
.portability-download-item { display:grid; gap:7px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:12px; }
.portability-download-item code { display:block; max-width:100%; font-size:.7rem; word-break:break-all; }
.portability-download { justify-content:center; text-align:center; }
.portability-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; }
.portability-counts>div { min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; }
.portability-counts>div>dt { color:var(--muted); font-size:.75rem; overflow-wrap:anywhere; }
.portability-counts>div>dd { margin:8px 0 0; font-weight:900; }
.portability-counts>dt,.portability-counts>dd { margin:0; padding:10px; border:1px solid var(--line); }
.portability-counts>dt { border-radius:10px 10px 0 0; border-bottom:0; color:var(--muted); font-size:.75rem; }
.portability-counts>dd { margin-top:-8px; border-radius:0 0 10px 10px; font-weight:900; }
.portability-safety { overflow:hidden; }
.portability-rule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.portability-rule-grid article { min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--bg) 35%,transparent); }
.portability-rule-grid p { margin:8px 0 0; color:var(--muted); font-size:.86rem; overflow-wrap:anywhere; }

@media (max-width:1200px) {
    .portability-grid { grid-template-columns:1fr; }
    .portability-rule-grid { grid-template-columns:1fr; }
}

@media (max-width:640px) {
    .portability-intro,.portability-card,.portability-safety { padding:18px 14px; }
    .portability-card .panel-heading,.portability-intro .panel-heading { align-items:flex-start; gap:10px; }
    .portability-card .panel-heading h2,.portability-intro .panel-heading h2 { overflow-wrap:anywhere; }
    .status-chip { white-space:normal; text-align:center; }
    .portability-actions,.portability-counts { grid-template-columns:1fr; }
    .portability-counts>dd { margin-top:-8px; }
    .portability-tag-grid { grid-template-columns:1fr; }
}

@media (max-width:1100px) {
    .import-review-grid { grid-template-columns:1fr; }
}

@media (max-width:760px) {
    .post-list-filter-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
    .post-list-filter-tabs a { min-width:0; justify-content:space-between; padding-inline:10px; }
    .post-list-filter-tabs a:last-child { grid-column:auto; }
    .import-review-intro { align-items:stretch; flex-direction:column; padding:15px; }
    .import-review-intro>strong { align-self:flex-start; }
    .import-review-queue { padding:15px; }
    .import-review-queue-heading { align-items:flex-start; flex-direction:column; }
    .import-review-queue-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .import-review-queue-controls>* { width:100%; min-width:0; }
    .import-review-card { padding:13px; }
    .import-review-card-summary { grid-template-columns:112px minmax(0,1fr); gap:11px; }
    .import-review-card-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .import-review-card-actions .button { width:100%; min-width:0; }
    .import-review-card-actions .button:last-child { grid-column:1/-1; }
    .import-review-embed-confirm { align-items:stretch; flex-direction:column; }
    .import-review-embed-confirm .button { width:100%; }
    .import-review-auth-grid { grid-template-columns:1fr; }
    .import-review-auth-grid .wide { grid-column:auto; }
    .import-review-batch-heading { align-items:flex-start; flex-direction:column; }
    .import-review-batch-selection { width:100%; justify-content:flex-start; }
}

@media (max-width:430px) {
    .post-list-filter-tabs { grid-template-columns:1fr; }
    .post-list-filter-tabs a:last-child { grid-column:auto; }
    .import-review-card-summary { grid-template-columns:1fr; }
    .import-review-thumbnail { max-height:180px; }
    .import-review-card-copy p,.import-review-card-copy small { white-space:normal; }
    .import-review-card-actions { grid-template-columns:1fr; }
    .import-review-card-actions .button:last-child { grid-column:auto; }
    .import-review-batch { padding:14px; }
    .import-review-batch-heading { align-items:flex-start; flex-direction:column; }
    .import-review-queue-controls,.import-review-batch-selection { display:grid; grid-template-columns:1fr; }
    .import-review-queue-controls>*,.import-review-batch-selection>* { width:100%; min-width:0; }
}

@media (prefers-reduced-motion:reduce) {
    .progress-track>span.indeterminate { animation:none; width:100% !important; transform:none; }
}

/* Protocol 3 inventory bulk draft creation */
.storage-bulk-import,.storage-bulk-import * { min-width:0; }
.storage-bulk-import { overflow:hidden; }
.status-chip.error { border-color:rgba(255,90,100,.42); background:rgba(255,90,100,.1); color:#ff9ca3; }
.storage-bulk-heading { align-items:flex-start; }
.storage-bulk-config { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.storage-bulk-wide { grid-column:1/-1; }
.storage-bulk-tags { margin:0; padding:12px; border:1px solid var(--line); border-radius:12px; }
.storage-bulk-tags legend,.storage-bulk-extensions legend { padding:0 6px; color:var(--muted); font-size:.78rem; font-weight:750; }
.storage-bulk-tags>div { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:7px; max-height:170px; overflow:auto; }
.storage-bulk-tags label,.storage-bulk-extensions label { display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; }
.storage-bulk-tags input,.storage-bulk-extensions input { width:18px; height:18px; flex:0 0 auto; }
.storage-bulk-mode { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:20px 0 16px; }
.storage-bulk-mode>label { display:flex; align-items:center; gap:10px; padding:14px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--bg) 38%,transparent); }
.storage-bulk-mode>label:has(input:checked) { border-color:color-mix(in srgb,var(--accent) 62%,var(--line)); background:color-mix(in srgb,var(--accent) 8%,var(--surface)); }
.storage-bulk-mode input { width:20px; height:20px; flex:0 0 auto; }
.storage-bulk-mode span { display:grid; gap:2px; }
.storage-bulk-mode small { color:var(--muted); }
.storage-bulk-picker-launch { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:18px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.storage-bulk-picker-launch h3,.storage-bulk-picker-launch p { margin:0; }
.storage-bulk-picker-launch .muted { margin-top:5px; }
.storage-bulk-picker-launch>.button { flex:0 0 auto; min-height:48px; }
.storage-bulk-picker-dialog { width:min(1180px,calc(100vw - 32px)); }
.storage-bulk-picker-toolbar { justify-content:space-between; }
.storage-bulk-picker-toolbar label { max-width:420px; }
.storage-bulk-picker-filters { grid-template-columns:minmax(0,1fr) 150px auto; align-items:end; }
.storage-bulk-picker-filters .button { min-height:46px; }
.storage-bulk-page-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.storage-bulk-picker-footer>div { align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.storage-bulk-picker-count { color:var(--muted); white-space:nowrap; }
.storage-bulk-picker-count strong { color:var(--text); font-size:1.05rem; }
.storage-bulk-picker-footer>p.success { color:#8ee7b0; }
.storage-bulk-picker-footer>p.warning { color:#ffd070; }
.storage-bulk-picker-footer>p.error { color:#ff8992; }
.storage-bulk-browser-controls { display:grid; grid-template-columns:1fr 1.5fr .8fr 1.5fr auto; gap:9px; align-items:end; }
.storage-bulk-browser-controls .button { min-height:46px; }
.storage-bulk-browser-meta { margin:12px 0 8px; color:var(--muted); font-size:.83rem; }
.storage-bulk-file-list { display:grid; gap:6px; max-height:460px; overflow:auto; padding:7px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--bg) 38%,transparent); }
.storage-bulk-file { display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.storage-bulk-file-check { width:20px; height:20px; margin:0; cursor:pointer; }
.storage-bulk-file>div { display:grid; }
.storage-bulk-file>div { gap:4px; min-width:0; }
.storage-bulk-file strong,.storage-bulk-file small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-bulk-file small,.storage-bulk-file>span { color:var(--muted); font-size:.76rem; }
.storage-bulk-pagination { display:flex; justify-content:flex-end; gap:8px; margin-top:9px; }
.storage-bulk-selected { margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:14px; }
.storage-bulk-selected .panel-heading { margin-bottom:10px; }
.storage-bulk-selected h3 { margin:0; }
.storage-bulk-selected-row { display:grid; grid-template-columns:minmax(140px,.8fr) minmax(180px,1.5fr) auto; gap:9px; align-items:center; padding:8px 0; border-top:1px solid var(--line); }
.storage-bulk-selected-row>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-bulk-selected-row input { width:100%; }
.storage-bulk-selected-row.is-collection{grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto}
.storage-bulk-selected-fixed{color:var(--muted);overflow-wrap:anywhere}
.storage-bulk-directory-grid { display:grid; grid-template-columns:1fr 1.5fr 2fr; gap:12px; align-items:start; }
.storage-bulk-extensions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:0; padding:11px; border:1px solid var(--line); border-radius:12px; }
.storage-bulk-extensions legend { grid-column:1/-1; }
.storage-bulk-actions { margin-top:16px; }
.storage-bulk-blockers { display:grid; gap:10px; margin-top:16px; padding:14px; border:1px solid rgba(255,196,82,.42); border-radius:13px; background:rgba(255,196,82,.055); }
.storage-bulk-blockers[hidden] { display:none; }
.storage-bulk-blocker-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.storage-bulk-blocker-heading>span { color:#ffd070; font-size:.8rem; font-weight:800; }
.storage-bulk-blocker-list { display:grid; gap:8px; }
.storage-bulk-blocker-list article { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--bg) 42%,transparent); }
.storage-bulk-blocker-list article>div { display:grid; gap:4px; }
.storage-bulk-blocker-list p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; overflow-wrap:anywhere; }
.storage-bulk-blocker-list .button { flex:0 0 auto; }
.storage-bulk-progress { margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--bg) 38%,transparent); }
.storage-bulk-progress p { margin:9px 0 0; overflow-wrap:anywhere; }
.storage-bulk-progress>.button { display:inline-flex; margin-top:12px; }
.storage-bulk-review { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.storage-bulk-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.storage-bulk-counts article { display:grid; gap:4px; padding:12px; border:1px solid var(--line); border-radius:11px; }
.storage-bulk-counts article span { color:var(--muted); font-size:.75rem; }
.storage-bulk-counts article strong { font-size:1.35rem; }
.storage-bulk-counts article.ready { border-color:rgba(83,216,139,.32); }
.storage-bulk-counts article.warning { border-color:rgba(255,196,82,.32); }
.storage-bulk-counts article.error { border-color:rgba(255,90,100,.32); }
.storage-bulk-preview { display:grid; gap:6px; max-height:440px; overflow:auto; padding:6px; border:1px solid var(--line); border-radius:13px; }
.storage-bulk-preview-row { display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; }
.storage-bulk-preview-row>input { width:20px; height:20px; margin:0; }
.storage-bulk-preview-row>div { display:grid; }
.storage-bulk-preview-row strong,.storage-bulk-preview-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.storage-bulk-preview-row small,.storage-bulk-preview-row>span { color:var(--muted); font-size:.75rem; }
.storage-bulk-preview-row.is-new { border-color:rgba(83,216,139,.28); }
.storage-bulk-preview-row.is-duplicate { border-color:rgba(255,196,82,.38); background:rgba(255,196,82,.035); }
.storage-bulk-preview-row .storage-bulk-duplicate-warning { color:#f3c86b; white-space:normal; overflow:visible; text-overflow:clip; line-height:1.45; }
[data-mode="light"] .storage-bulk-preview-row .storage-bulk-duplicate-warning { color:#805400; }
.storage-bulk-preview-row.is-changed { border-color:rgba(255,196,82,.3); }
.storage-bulk-preview-marker { display:grid; place-items:center; }
.storage-bulk-apply { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; padding:15px; border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent) 5%,transparent); }
.storage-bulk-apply code { color:var(--accent); overflow-wrap:anywhere; }

@media (max-width:1100px) {
    .storage-bulk-browser-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storage-bulk-browser-controls .button { width:100%; }
    .storage-bulk-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storage-bulk-extensions { grid-column:1/-1; }
}

@media (max-width:760px) {
    .storage-bulk-import { padding:17px 13px; }
    .storage-bulk-heading { flex-direction:column; align-items:stretch; }
    .storage-bulk-heading .status-chip { align-self:flex-start; }
    .storage-bulk-config,.storage-bulk-mode,.storage-bulk-browser-controls,.storage-bulk-directory-grid,.storage-bulk-apply { grid-template-columns:1fr; }
    .storage-bulk-picker-launch { align-items:stretch; flex-direction:column; }
    .storage-bulk-picker-launch>.button { width:100%; }
    .storage-bulk-picker-filters { grid-template-columns:1fr; }
    .storage-bulk-picker-filters .button { width:100%; }
    .storage-bulk-page-actions { display:grid; grid-template-columns:1fr; }
    .storage-bulk-page-actions .text-button { min-height:44px; justify-content:center; }
    .storage-bulk-blocker-heading,.storage-bulk-blocker-list article { align-items:stretch; flex-direction:column; }
    .storage-bulk-blocker-list .button { width:100%; }
    .storage-bulk-picker-footer { align-items:stretch; flex-direction:column; }
    .storage-bulk-picker-footer>div { display:grid; grid-template-columns:1fr; width:100%; }
    .storage-bulk-picker-footer .button { width:100%; min-height:48px; }
    .storage-bulk-picker-count { text-align:center; }
    .storage-bulk-wide,.storage-bulk-extensions { grid-column:auto; }
    .storage-bulk-tags>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storage-bulk-extensions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storage-bulk-extensions legend { grid-column:1/-1; }
    .storage-bulk-file { grid-template-columns:24px minmax(0,1fr); }
    .storage-bulk-file>span { grid-column:2; }
    .storage-bulk-selected-row { grid-template-columns:1fr; }
    .storage-bulk-selected-row.is-collection { grid-template-columns:1fr; }
    .storage-bulk-selected-row .text-button { justify-self:start; }
    .storage-bulk-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .storage-bulk-preview-row { grid-template-columns:24px minmax(0,1fr); }
    .storage-bulk-preview-row>span:last-child { grid-column:2; }
    .storage-bulk-actions { display:grid; grid-template-columns:1fr; }
    .storage-bulk-actions .button,.storage-bulk-actions .danger-link { width:100%; justify-content:center; text-align:center; }
}

@media (max-width:420px) {
    .storage-bulk-tags>div,.storage-bulk-extensions,.storage-bulk-counts { grid-template-columns:1fr; }
    .storage-bulk-extensions legend { grid-column:auto; }
}
.storage-reconciliation,.storage-reconciliation *{min-width:0}
.storage-reconciliation{overflow:hidden}
.storage-reconciliation-heading{align-items:flex-start}
.storage-reconciliation-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.storage-reconciliation-wide{grid-column:1/-1}
.storage-reconciliation-actions{margin:14px 0}
.storage-reconciliation-progress{padding:14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--bg) 38%,transparent)}
.storage-reconciliation-progress p{margin:9px 0 0;overflow-wrap:anywhere}
.storage-reconciliation-progress p[data-state="error"]{color:#ff8992}
.storage-reconciliation-review{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.storage-reconciliation-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}
.storage-reconciliation-counts article{display:grid;gap:4px;padding:11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 82%,transparent)}
.storage-reconciliation-counts span{color:var(--muted);font-size:.73rem}
.storage-reconciliation-counts strong{font-size:1.25rem}
.storage-reconciliation-counts .ready{border-color:rgba(83,216,139,.35)}
.storage-reconciliation-counts .warning{border-color:rgba(255,196,82,.38)}
.storage-reconciliation-filter-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end;margin-bottom:10px}
.storage-reconciliation-selection-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 76%,transparent)}
.storage-reconciliation-selection-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.storage-reconciliation-selection-toolbar p{margin:0;text-align:right;white-space:nowrap}
.storage-reconciliation-selection-toolbar>small{grid-column:1/-1;line-height:1.55}
.storage-reconciliation-results{display:grid;gap:7px;max-height:520px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:13px}
.storage-reconciliation-result{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.storage-reconciliation-result:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.storage-reconciliation-result>input{width:20px;height:20px;margin:0;cursor:pointer}
.storage-reconciliation-result>div{display:grid;gap:3px}
.storage-reconciliation-result strong,.storage-reconciliation-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.storage-reconciliation-result small,.storage-reconciliation-result>span{color:var(--muted);font-size:.75rem}
.storage-reconciliation-result.is-content_changed,.storage-reconciliation-result.is-relocated,.storage-reconciliation-result.is-ambiguous,.storage-reconciliation-result.is-missing,.storage-reconciliation-result.is-unverifiable{border-color:rgba(255,196,82,.34)}
.storage-reconciliation-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;padding:13px;border:1px solid var(--line);border-radius:13px}
.storage-reconciliation-selection legend{padding:0 6px;color:var(--muted);font-size:.8rem}
.storage-reconciliation-selection label{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:9px}
.storage-reconciliation-selection input{width:19px;height:19px;flex:0 0 auto}
.storage-reconciliation-selection .warning{grid-column:1/-1;border-color:rgba(255,196,82,.35)}
.storage-reconciliation-confirm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.storage-reconciliation-confirm code{color:var(--accent);overflow-wrap:anywhere}

@media (max-width:900px){.storage-reconciliation-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .storage-reconciliation{padding:17px 13px}
  .storage-reconciliation-heading{flex-direction:column;align-items:stretch}
  .storage-reconciliation-heading .status-chip{align-self:flex-start}
  .storage-reconciliation-config,.storage-reconciliation-confirm,.storage-reconciliation-filter-row{grid-template-columns:1fr}
  .storage-reconciliation-selection-toolbar{grid-template-columns:1fr}
  .storage-reconciliation-selection-toolbar p{text-align:left;white-space:normal}
  .storage-reconciliation-selection-toolbar>small{grid-column:auto}
  .storage-reconciliation-selection-actions{display:grid;grid-template-columns:1fr}
  .storage-reconciliation-selection-actions .button{width:100%;justify-content:center}
  .storage-reconciliation-wide{grid-column:auto}
  .storage-reconciliation-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storage-reconciliation-result{grid-template-columns:24px minmax(0,1fr)}
  .storage-reconciliation-result>span{grid-column:2}
  .storage-reconciliation-selection{grid-template-columns:1fr}
  .storage-reconciliation-selection .warning{grid-column:auto}
  .storage-reconciliation-actions{display:grid;grid-template-columns:1fr}
  .storage-reconciliation-actions .button,.storage-reconciliation-actions .danger-link{width:100%;justify-content:center;text-align:center}
}

/* Automated storage health monitor */
.storage-health-monitor,.storage-health-summary,.storage-health-monitor *,.storage-health-summary *{min-width:0}
.storage-health-monitor,.storage-health-summary{overflow:hidden;scroll-margin-top:20px}
.storage-health-heading{align-items:flex-start}
.storage-health-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:14px;align-items:end;margin:20px 0 14px}
.storage-health-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.storage-health-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0}
.storage-health-metrics article{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}
.storage-health-metrics span,.storage-health-metrics small{color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}
.storage-health-metrics strong{font-size:1.22rem;line-height:1.25;overflow-wrap:anywhere}
.storage-health-progress{display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.storage-health-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}
.storage-health-progress-copy span{color:var(--muted);font-size:.79rem;text-align:right;overflow-wrap:anywhere}
.storage-health-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:14px;align-items:start;margin-top:18px}
.storage-health-settings,.storage-health-incidents,.storage-health-cron{padding:16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 35%,transparent)}
.storage-health-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.storage-health-wide,.storage-health-subheading{grid-column:1/-1}
.storage-health-subheading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.storage-health-subheading h3{margin:0;font-size:1.05rem}
.storage-health-subheading .eyebrow{margin:0 0 5px}
.storage-health-subheading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.storage-health-incident-list{display:grid;gap:8px;max-height:540px;overflow:auto;overscroll-behavior:contain;margin-top:14px;padding-right:2px}
.storage-health-incident{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.storage-health-incident.is-warning{border-color:rgba(255,196,82,.36)}
.storage-health-incident.is-critical{border-color:rgba(255,90,100,.42)}
.storage-health-incident>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.storage-health-incident p{margin:0;overflow-wrap:anywhere}
.storage-health-incident>.button{justify-self:start}
.storage-health-incident-counts{font-size:.84rem;color:var(--text);font-weight:750}
.storage-health-incident-remedy{padding:10px 11px;border-left:3px solid rgba(255,196,82,.62);border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--muted);font-size:.84rem;line-height:1.65}
.storage-health-incident.is-critical .storage-health-incident-remedy{border-left-color:rgba(255,90,100,.72)}
.storage-health-baseline-blocked{display:block;color:var(--muted);font-size:.78rem;line-height:1.55}
.storage-health-baseline-open{justify-self:start}
.storage-health-baseline-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.storage-health-baseline-form label{display:grid;gap:5px;min-width:min(210px,100%);font-size:.78rem;color:var(--muted)}
.storage-health-baseline-form input{width:100%}
.button.compact{min-height:34px;padding:7px 10px;font-size:.75rem}
.storage-health-cron{display:grid;gap:12px;margin-top:14px}
.storage-health-cron p{margin:0;overflow-wrap:anywhere}
.storage-health-cron-guide{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent)}
.storage-health-cron-guide summary{padding:12px 14px;cursor:pointer;font-weight:800}
.storage-health-cron-guide>div{display:grid;gap:10px;padding:0 14px 14px;border-top:1px solid var(--line)}
.storage-health-cron-guide>div>p:first-child{padding-top:12px}
.storage-health-cron-guide pre{max-width:100%;margin:0;padding:12px;border-radius:9px;background:var(--bg);color:var(--text);font:500 .74rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.storage-health-cron-guide code{overflow-wrap:anywhere}
.storage-health-secret-actions{display:flex;flex-wrap:wrap;gap:8px}
.storage-health-secret-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:13px;border-top:1px solid var(--line)}
.storage-health-secret-once{display:grid;gap:10px;padding:13px;border:1px solid rgba(255,196,82,.42);border-radius:12px;background:rgba(255,196,82,.06)}
.storage-health-secret-once code{display:block;max-width:100%;padding:10px;border-radius:9px;background:var(--bg);color:var(--text);font-size:.78rem;overflow-wrap:anywhere;word-break:break-all;user-select:all}
.storage-health-dashboard-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.storage-health-dashboard-row p{margin:0;overflow-wrap:anywhere}
.admin-storage-health{margin-left:auto;flex:0 0 auto}
.admin-storage-health>a{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem;font-weight:750}
.admin-storage-health .status-chip{color:var(--text)}
#storage-connection,#storage-reconciliation{scroll-margin-top:20px}

@media (max-width:1120px){
  .storage-health-layout{grid-template-columns:1fr}
  .storage-health-incident-list{max-height:390px}
}

@media (max-width:900px){
  .storage-health-toolbar{grid-template-columns:1fr}
  .storage-health-actions{justify-content:flex-start}
  .storage-health-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
  .admin-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .admin-topbar>div:not(.admin-storage-health){min-width:0}
  .admin-topbar h1{overflow-wrap:anywhere}
  .admin-storage-health>a>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .admin-storage-health .status-chip{max-width:112px;justify-content:center}
  .storage-health-monitor,.storage-health-summary{padding:17px 13px}
  .storage-health-heading,.storage-health-subheading,.storage-health-progress-copy,.storage-health-dashboard-row{align-items:stretch;flex-direction:column}
  .storage-health-heading .status-chip,.storage-health-subheading .status-chip{align-self:flex-start}
  .storage-health-subheading-actions{width:100%;justify-content:flex-start}
  .storage-health-subheading-actions .button{min-height:44px}
  .storage-health-actions,.storage-health-secret-actions{display:grid;grid-template-columns:1fr}
  .storage-health-actions .button,.storage-health-secret-actions .button,.storage-health-dashboard-row .button{width:100%;justify-content:center;text-align:center}
  .storage-health-settings,.storage-health-secret-form{grid-template-columns:1fr;padding:13px}
  .storage-health-wide,.storage-health-subheading{grid-column:auto}
  .storage-health-progress-copy span{text-align:left}
  .storage-health-incident>div{align-items:flex-start;flex-direction:column}
  .storage-health-baseline-form{display:grid;grid-template-columns:1fr}
  .storage-health-baseline-form .button{width:100%;justify-content:center}
}

@media (max-width:420px){
  .storage-health-metrics{gap:7px}
  .storage-health-metrics article{padding:11px}
  .storage-health-metrics strong{font-size:1rem}
  .storage-health-settings,.storage-health-incidents,.storage-health-cron{padding:11px}
}

/* Hosting A administrator emergency recovery */
.admin-recovery-hold-banner{
    display:flex; min-width:0; max-width:100%; align-items:center; justify-content:space-between; gap:18px;
    margin:0 0 20px; padding:16px 18px; border:1px solid rgba(255,90,100,.42); border-radius:12px;
    background:linear-gradient(135deg,rgba(255,90,100,.12),rgba(255,196,82,.06));
}
.admin-recovery-hold-banner[hidden],
.admin-recovery-sensitive-form[hidden],
.admin-recovery-secret-once[hidden],
.admin-recovery-install-delivery[hidden],
.admin-recovery-install-ack[hidden],
.admin-recovery-review[hidden],
.admin-recovery-actions>[hidden]{display:none!important}
.admin-recovery-hold-banner>div{min-width:0}
.admin-recovery-hold-banner strong{display:block;color:#ffafb5}
.admin-recovery-hold-banner p{margin:4px 0 0;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.admin-recovery-panel{max-width:1180px;overflow:hidden}
.admin-recovery-heading{align-items:center}
.admin-recovery-intro{max-width:860px;margin:-7px 0 0;overflow-wrap:anywhere}
.admin-recovery-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}
.admin-recovery-status-grid article{display:grid;min-width:0;gap:8px;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.admin-recovery-status-grid span{color:var(--muted);font-size:.74rem}
.admin-recovery-status-grid strong{min-width:0;overflow-wrap:anywhere;font-size:1rem}
.admin-recovery-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.admin-recovery-mfa-required{margin:10px 0 0;color:#ffd680;font-size:.8rem;font-weight:750;overflow-wrap:anywhere}
.admin-recovery-policy{margin:10px 0 0;overflow-wrap:anywhere;font-size:.8rem}
.admin-recovery-install-delivery{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:18px;padding:16px;border:1px solid rgba(255,196,82,.42);border-radius:12px;background:rgba(255,196,82,.07)}
.admin-recovery-install-delivery>div{min-width:0}
.admin-recovery-install-delivery p{margin:5px 0 0;color:var(--muted);font-size:.83rem;overflow-wrap:anywhere}
.admin-recovery-install-delivery .admin-recovery-install-mfa-warning{color:#ffd680;font-weight:750}
.admin-recovery-install-delivery .button{min-width:210px}
.admin-recovery-sensitive-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.admin-recovery-form-copy,.admin-recovery-wide{grid-column:1/-1}
.admin-recovery-form-copy p{margin:5px 0 0;overflow-wrap:anywhere}
.admin-recovery-form-actions{display:flex;flex-wrap:wrap;gap:9px}
.admin-recovery-sensitive-form code,.admin-recovery-hold-fields code{color:#ffd680;overflow-wrap:anywhere}
.admin-recovery-secret-once{display:grid;min-width:0;gap:12px;margin-top:18px;padding:18px;border:1px solid rgba(255,196,82,.45);border-radius:12px;background:rgba(255,196,82,.07)}
.admin-recovery-secret-once p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}
.admin-recovery-secret-once>code{display:block;max-width:100%;padding:13px;border-radius:10px;background:var(--bg);color:var(--text);font:700 .82rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:break-all;user-select:all}
.admin-recovery-install-ack{display:grid;gap:13px;padding-top:15px;border-top:1px solid rgba(255,196,82,.28)}
.admin-recovery-install-ack-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid rgba(255,196,82,.32);border-radius:10px;background:var(--surface-2);cursor:pointer}
.admin-recovery-install-ack-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}
.admin-recovery-install-ack-check span{min-width:0;overflow-wrap:anywhere}
.admin-recovery-install-ack-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.admin-recovery-review{display:grid;gap:17px;margin-top:22px;padding:20px;border:1px solid rgba(255,90,100,.42);border-radius:13px;background:rgba(255,90,100,.06)}
.admin-recovery-review-copy h3{margin:0;font-size:1.2rem}
.admin-recovery-review-copy>p:last-child{margin:7px 0 0;color:var(--muted);overflow-wrap:anywhere}
.admin-recovery-review-copy .admin-recovery-review-mfa-warning{color:#ffd680;font-weight:750}
.admin-recovery-review form{display:grid;gap:16px}
.admin-recovery-checklist{display:grid;gap:8px}
.admin-recovery-checklist legend{margin-bottom:3px}
.admin-recovery-checklist label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);cursor:pointer}
.admin-recovery-checklist input[type="checkbox"]{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}
.admin-recovery-checklist label>span{min-width:0;margin:0;font-size:.82rem;font-weight:600;overflow-wrap:anywhere}
.admin-recovery-hold-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.admin-recovery-boundary{margin-top:22px}

@media (max-width:900px){
    .admin-recovery-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:720px){
    .admin-recovery-hold-banner{align-items:stretch;flex-direction:column;padding:14px}
    .admin-recovery-hold-banner .button{width:100%;min-height:48px}
    .admin-recovery-panel{padding:18px 14px}
    .admin-recovery-heading{align-items:flex-start;flex-direction:column}
    .admin-recovery-status-grid,.admin-recovery-sensitive-form,.admin-recovery-hold-fields{grid-template-columns:1fr}
    .admin-recovery-install-delivery{grid-template-columns:1fr}
    .admin-recovery-install-delivery .button{width:100%;min-width:0;min-height:48px}
    .admin-recovery-install-ack-fields{grid-template-columns:1fr}
    .admin-recovery-form-copy,.admin-recovery-wide{grid-column:auto}
    .admin-recovery-actions,.admin-recovery-form-actions{display:grid;grid-template-columns:1fr}
    .admin-recovery-actions .button,.admin-recovery-form-actions .button,.admin-recovery-review>.button{width:100%;min-height:48px}
    .admin-recovery-sensitive-form,.admin-recovery-secret-once,.admin-recovery-review{padding:14px}
    .admin-recovery-sensitive-form input,.admin-recovery-hold-fields input,.admin-recovery-install-ack-fields input{min-height:48px;font-size:16px}
}

@media (max-width:420px){
    .admin-recovery-status-grid{grid-template-columns:1fr;gap:7px}
    .admin-recovery-status-grid article{padding:13px}
    .admin-recovery-checklist label{padding:10px}
}

/* Public multi-video post selector */
.media-collection-edit-lock,.media-collection-edit-lock *{min-width:0}
.media-collection-edit-lock{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;margin:0 0 18px;padding:14px 16px;overflow:hidden}
.media-collection-edit-lock strong{align-self:end;overflow-wrap:anywhere}
.media-collection-edit-lock span{grid-column:1;overflow-wrap:anywhere}
.media-collection-edit-lock .button{grid-column:2;grid-row:1/3;min-height:44px;justify-content:center;text-align:center}
.media-collection-nav,.media-collection-nav *{min-width:0}
.media-collection-nav{width:100%;max-width:100%;margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 86%,transparent);overflow:hidden}
.media-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px}
.media-collection-heading span{color:var(--muted);font-size:.78rem}
.media-collection-list{display:flex;max-width:100%;gap:8px;margin:0;padding:2px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.media-collection-list>li{flex:0 0 clamp(190px,25vw,290px);min-width:0}
.media-collection-item{display:grid;width:100%;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--muted);text-decoration:none}
.media-collection-item:hover,.media-collection-item:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text);outline:none}
.media-collection-item.active{border-color:color-mix(in srgb,var(--accent) 75%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
.media-collection-index{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-size:.76rem;font-weight:850}
.media-collection-label{display:block;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;font-size:.82rem;font-weight:750}

.media-playlist-stage,.media-playlist-stage *{min-width:0}
.media-playlist-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:start;gap:16px;width:100%;max-width:1600px;margin-inline:auto}
.media-playlist-stage.is-single{display:block}
.media-playlist-player{display:grid;gap:10px;min-width:0}
.media-playlist-player .player-shell{width:100%;max-width:none}
.media-playlist-controls{display:grid;grid-template-columns:max-content minmax(220px,1fr) max-content;align-items:center;gap:10px}
.media-playlist-controls .button{min-height:44px;justify-content:center;text-align:center}
.media-playlist-controls .button.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}
.media-playlist-autonext{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:.82rem;color:var(--muted)}
.media-playlist-autonext input{width:18px;height:18px;accent-color:var(--accent)}
.media-playlist-status{min-height:1.4em;margin:0;color:var(--muted);font-size:.8rem;text-align:center}
.media-playlist-stage .media-collection-nav{position:sticky;top:18px;max-height:calc(100svh - 36px);margin:0;padding:14px;overflow:hidden}
.media-playlist-stage .media-collection-heading>div{display:grid;gap:2px}
.media-playlist-stage .media-collection-heading small{color:var(--muted);font-size:.75rem}
.media-playlist-stage .media-collection-list{display:grid;grid-template-columns:1fr;max-height:calc(100svh - 122px);gap:7px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding:2px 4px 2px 2px}
.media-playlist-stage .media-collection-list>li{width:100%;flex-basis:auto}
.media-playlist-stage .media-collection-item{grid-template-columns:30px minmax(0,1fr) auto}
.media-collection-playing{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:850;white-space:nowrap}
@media(max-width:980px){
    .media-playlist-stage{grid-template-columns:1fr}
    .media-playlist-stage .media-collection-nav{position:static;max-height:none}
    .media-playlist-stage .media-collection-list{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden}
    .media-playlist-stage .media-collection-list>li{flex:0 0 clamp(210px,42vw,300px)}
}
@media(max-width:680px){
    .media-playlist-controls{grid-template-columns:1fr 1fr}
    .media-playlist-autonext{grid-column:1/-1;grid-row:1}
    .media-playlist-controls .button{min-height:48px}
    .media-playlist-stage .media-collection-nav{border-radius:12px}
    .media-playlist-stage .media-collection-list{display:grid;grid-template-columns:1fr;overflow:visible}
    .media-playlist-stage .media-collection-list>li{width:100%;flex-basis:auto}
    .media-playlist-stage .media-collection-item{min-height:52px}
}

@media (max-width:640px){
    .media-collection-edit-lock{grid-template-columns:1fr;padding:13px}
    .media-collection-edit-lock span,.media-collection-edit-lock .button{grid-column:1;grid-row:auto}
    .media-collection-edit-lock .button{width:100%;min-height:48px}
    .media-collection-nav{padding:10px}
    .media-collection-list{display:grid;grid-template-columns:1fr;overflow:visible}
    .media-collection-list>li{width:100%;flex-basis:auto}
    .media-collection-item{width:100%;min-height:48px}
}

@media (max-width:640px){
    .admin-toast-region{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto}
    .admin-toast{grid-template-columns:auto minmax(0,1fr) auto;padding:13px 12px}
    .bulk-status-review-required{align-items:stretch;flex-direction:column}
    .bulk-status-review-required .button{width:100%;min-height:48px}
}

@media (prefers-reduced-motion:reduce){
    .admin-toast,.admin-toast.is-leaving{animation:none}
}
