:root{--yellow:#d8cf87;--paper:#c9c078;--dark:#17180f;--ink:#252719;--line:#6f6e43;--green:#8fbf78;--danger:#b6684b;--cream:#ede9b8;--panel:rgba(222,214,142,.9)}*{box-sizing:border-box}html{background:#17180f}body{margin:0;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:linear-gradient(rgba(30,31,18,.1),rgba(30,31,18,.2)),repeating-linear-gradient(90deg,#d8cf87 0,#d8cf87 58px,#d3ca82 59px,#d3ca82 118px);min-height:100vh}.noise{position:fixed;inset:0;pointer-events:none;opacity:.08;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 24px;background:rgba(27,29,17,.95);color:#e9e3a8;border-bottom:1px solid #66643e;backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2px;opacity:.6}.brand-mark{border:1px solid #b5ad69;padding:8px;font-family:monospace;font-weight:800}.topbar nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.topbar nav a{color:#dcd597;text-decoration:none;font-size:14px}.inline{display:inline}.shell{max-width:1500px;margin:auto;padding:26px}.hero,.episode-header{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:28px;border:1px solid var(--line);background:rgba(226,219,148,.82);box-shadow:8px 8px 0 rgba(40,41,24,.18)}h1{font-size:clamp(30px,5vw,62px);margin:4px 0 8px;line-height:1}.hero p,.episode-header p{max-width:780px;margin:0}.eyebrow{font-family:monospace;letter-spacing:2px;font-size:11px;font-weight:700;color:#57572f}.hero-actions,.main-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary,.danger-btn,.ghost{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid #363821;padding:10px 14px;font-weight:700;cursor:pointer;font:inherit}.primary{background:#252719;color:#eee8ae}.danger-btn{background:#7f3f2e;color:#fff1d5}.ghost{background:transparent;color:inherit}.ghost.danger{border-color:#8a4b39;color:#7c3325}.wide{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:22px 0}.stats-grid a{color:inherit;text-decoration:none;background:rgba(235,229,166,.85);border:1px solid var(--line);padding:16px}.stats-grid b{display:block;font:700 28px monospace}.stats-grid span{font-size:12px}.level-strip{display:grid;grid-template-columns:repeat(11,1fr);gap:4px;margin:18px 0}.level-strip a{background:#292b19;color:#d9d18b;text-decoration:none;text-align:center;padding:12px 4px;font:700 11px monospace;border-bottom:3px solid #777348}.filters,.new-episode,.episode-settings{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}.input,select,textarea{background:#f0ebbd;border:1px solid #77764b;padding:10px 12px;color:#252719;font:inherit}.filters .input{flex:1;min-width:220px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-card{background:rgba(233,226,159,.92);border:1px solid #737145;box-shadow:5px 5px 0 rgba(45,45,25,.16);overflow:hidden}.thumb-wrap{display:block;aspect-ratio:16/9;background:#2d2e1c;position:relative;overflow:hidden}.lazy-thumb,.detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lazy-thumb{display:block;position:absolute;inset:0;z-index:1}.thumb-placeholder{position:absolute;z-index:0;inset:0;display:grid;place-items:center;text-align:center;color:#d5ce88;font:700 13px monospace;letter-spacing:1px}.card-body{padding:14px}.badges{display:flex;gap:6px;flex-wrap:wrap}.badges span,.success-chip{font-size:11px;border:1px solid #7a784b;padding:4px 7px;background:#e5de9c}.badges .recovery{background:#b9d7a5}.card-body h3{font-size:17px;margin:10px 0;min-height:44px}.card-body h3 a{color:inherit;text-decoration:none}.metrics{display:flex;justify-content:space-between;font:12px monospace;border-top:1px dashed #8f8b55;padding-top:8px}.metric-grid,.big-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.metric-grid div,.big-metrics div{background:rgba(255,255,220,.35);padding:8px;border-left:3px solid #68683d}.metric-grid small,.big-metrics small{display:block;font-size:10px}.metric-grid b,.big-metrics b{font:700 18px monospace}.card-actions{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.entity-file,.editor-panel,.recommendation-section,.tutorial,.profile-card,.episode-card{background:rgba(232,226,158,.92);border:1px solid var(--line);padding:20px}.detail-thumb{aspect-ratio:16/9;background:#292b19;overflow:hidden;position:relative}.big-metrics{grid-template-columns:repeat(3,1fr)}.editor-panel label{display:block;margin:12px 0;font-weight:700}.editor-panel select,.editor-panel textarea{width:100%;margin-top:6px}.check{display:flex!important;align-items:center;gap:8px;font-weight:400!important}.hint{font-size:12px;opacity:.7}.recommendation-section{margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end}.comments-list{display:grid;gap:10px}.comment-card{background:rgba(255,252,211,.45);border-left:4px solid #68683d;padding:12px}.comment-card p{white-space:pre-wrap}.comment-head{display:flex;justify-content:space-between}.episode-grid,.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.episode-card{color:inherit;text-decoration:none}.episode-card.current{outline:3px solid #6d8a55}.episode-list{display:grid;gap:10px}.episode-item{display:grid;grid-template-columns:30px 45px 1fr;gap:10px;align-items:start;background:rgba(232,226,158,.94);border:1px solid var(--line);padding:12px}.episode-item.dragging{opacity:.45}.episode-item.inactive{opacity:.5}.drag{cursor:grab;font-size:24px}.order{font:700 23px monospace}.episode-edit{display:grid;grid-template-columns:160px 160px 1fr 1fr auto auto;gap:7px;margin-top:10px}.tutorial{max-width:1100px;margin:auto}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.manual-grid article{border:1px solid #77734c;padding:16px;background:rgba(255,252,211,.3)}pre{white-space:pre-wrap;background:#2a2b1b;color:#dad38d;padding:14px}.flash-wrap{position:fixed;right:20px;top:80px;z-index:50}.flash{padding:12px 16px;background:#25321f;color:#fff;margin-bottom:6px;box-shadow:3px 3px 0 #0004}.flash.error{background:#7a3528}.empty{padding:30px;border:1px dashed #747247;background:#e7df9e}.pagination{display:flex;justify-content:center;gap:18px;margin:24px}.pagination a{color:inherit}.login-body{display:grid;place-items:center}.login-card{width:min(430px,90vw);background:#ded58b;border:1px solid #6e6b3e;padding:30px;box-shadow:12px 12px 0 #0004}.login-card .input{width:100%;margin:15px 0}.warning{font:700 11px monospace;background:#2b2d19;color:#ded78e;display:inline-block;padding:6px}.profile-card small{display:block;margin-top:12px}.profile-card .primary{margin-top:10px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(3,1fr)}.level-strip{grid-template-columns:repeat(6,1fr)}.detail-grid{grid-template-columns:1fr}.episode-grid,.profile-grid{grid-template-columns:1fr 1fr}.episode-edit{grid-template-columns:1fr 1fr}.manual-grid{grid-template-columns:1fr}}@media(max-width:650px){.shell{padding:12px}.topbar{position:relative;align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.level-strip{grid-template-columns:repeat(4,1fr)}.hero,.episode-header{align-items:flex-start;flex-direction:column}.episode-grid,.profile-grid{grid-template-columns:1fr}.metric-grid,.big-metrics{grid-template-columns:repeat(2,1fr)}.episode-item{grid-template-columns:25px 35px 1fr}.episode-edit{grid-template-columns:1fr}}

/* LOCAL V2 */
.sync-strip{display:flex;gap:18px;align-items:center;padding:7px 24px;background:#34351f;color:#d8d18b;font:11px monospace;border-bottom:1px solid #67663d}.sync-strip a{color:#efe8aa}.onboarding{margin:20px 0}.detail-title{font-size:clamp(28px,4vw,54px);line-height:1.05}.detail-media{position:relative}.play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #d8d18e;background:rgba(25,27,15,.9);color:#efe8ae;padding:13px 18px;font:700 14px "Microsoft YaHei",sans-serif;cursor:pointer;box-shadow:4px 4px 0 #0005}.play-overlay:hover{background:#11120b}.inline-player{aspect-ratio:16/9;background:#11120b;border:1px solid #55552f}.inline-player iframe{display:block;width:100%;height:100%;border:0}.player-hint{font-size:11px;opacity:.65;margin:9px 0 0}.source-split-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0 8px;padding:8px 10px;background:#2a2b1b;color:#ddd591;font-size:12px}.source-split-head span{opacity:.7}.related-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 12px}.related-video{display:grid;grid-template-columns:30px 1fr;gap:2px 8px;align-items:start;text-decoration:none;color:inherit;background:rgba(255,252,211,.38);border:1px solid #898652;padding:9px}.related-video.current{outline:3px solid #586b3d;background:#dce7ae}.related-index{grid-row:1/3;font:700 18px monospace;color:#646439}.related-title{font-weight:700;line-height:1.25}.related-video small{opacity:.62;font:10px monospace}.raw-comment{margin:10px 0}.raw-comment summary{cursor:pointer;font-weight:700;color:#4f502c}.raw-comment p{max-height:360px;overflow:auto;padding:10px;background:rgba(255,255,225,.25);border-left:2px solid #8d8954}.editor-actions{display:grid;gap:8px;margin-top:10px}.add-episode-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.membership-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.membership{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid #77734c;background:rgba(255,252,211,.35);padding:10px}.membership.inactive{opacity:.55}.settings-panel{max-width:1150px;margin:auto;background:rgba(232,226,158,.92);border:1px solid var(--line);padding:24px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-grid article{border:1px solid #77734c;background:rgba(255,252,211,.3);padding:18px}.settings-grid label{display:block;margin:12px 0;font-weight:700}.settings-grid .input{display:block;width:100%;margin-top:6px}.settings-save{margin-top:18px}.error-box{background:#7a3528;color:#fff;padding:10px}.change-list{display:grid;gap:8px;margin-top:18px}.change-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;background:rgba(232,226,158,.92);border:1px solid #77734c;padding:12px}.change-row.undone{opacity:.5}.episode-content{min-width:0}.episode-content h3 a{color:inherit}.episode-item{grid-template-columns:30px 45px minmax(0,1fr)}.profile-card blockquote{white-space:pre-wrap;margin:10px 0;padding:10px;border-left:3px solid #6c6a40;background:rgba(255,252,211,.25)}code{word-break:break-all}.panel-title{font-family:monospace;letter-spacing:1px;font-weight:700;border-bottom:1px solid #77734c;padding-bottom:9px}.brand b{font-size:15px}@media(max-width:900px){.settings-grid,.membership-list{grid-template-columns:1fr}.related-videos{grid-template-columns:1fr}.source-split-head{align-items:flex-start;flex-direction:column}.change-row{grid-template-columns:1fr}}

.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(520px,100%);padding:34px}.login-panel form{display:grid;gap:14px;margin-top:22px}.login-panel .primary{min-height:48px}.flash.error{padding:12px;border:1px solid #8a2b20;background:rgba(120,25,20,.12)}

.level-compact-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;padding:10px 12px;background:rgba(235,229,166,.72);border:1px solid var(--line)}.level-picker{display:flex;align-items:center;gap:8px;font-weight:700}.level-picker label{white-space:nowrap}.level-picker select{min-width:170px}.level-next-btn{margin-left:auto}.level-next-btn.is-disabled{opacity:.45;cursor:not-allowed;background:#4b4c35;color:#c7c28e}@media(max-width:650px){.level-compact-nav{align-items:stretch;flex-direction:column}.level-picker{width:100%}.level-picker select{flex:1;min-width:0}.level-next-btn{width:100%;margin-left:0}}

/* V3.2 — clearer production workspace */
.topbar{gap:24px}
.main-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.main-nav a{padding:9px 11px;border-radius:3px}
.main-nav a.active{background:#dcd58f;box-shadow:inset 0 -2px 0 #5d6037}
.top-tools{display:flex;align-items:center;gap:6px}
.tool-btn{width:34px;height:34px;padding:0;border:1px solid #77734c;background:#e6dfa1;color:#30321d;font-size:18px;cursor:pointer}
.more-menu{position:relative}
.more-menu summary{list-style:none;cursor:pointer;border:1px solid #77734c;background:#e6dfa1;padding:8px 10px;font-size:12px;font-weight:700}
.more-menu summary::-webkit-details-marker{display:none}
.more-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:80;min-width:150px;background:#e9e1a3;border:1px solid #66643d;box-shadow:5px 5px 0 #0003;padding:6px;display:grid;gap:2px}
.more-menu-panel a{padding:9px 10px;text-decoration:none;color:inherit}
.more-menu-panel a:hover{background:#d8d087}
.sync-strip{justify-content:flex-end;gap:14px;padding:6px 24px}
.sync-strip span:first-child{margin-right:auto;font-weight:700}
.hero-compact{margin-bottom:14px}
.hero-compact h1{margin-bottom:5px}
.workspace-overview,.browse-panel{margin:16px 0}
.section-label{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.section-label b{font-size:15px}
.section-label span{font-size:11px;opacity:.62}
.stats-clean{grid-template-columns:repeat(5,1fr);margin:0}
.stats-clean a{padding:13px 15px}
.stats-clean b{font-size:24px}
.browse-panel{padding:14px;background:rgba(232,226,158,.72);border:1px solid var(--line)}
.browse-panel .level-compact-nav{margin:0 0 10px;background:rgba(255,252,211,.28)}
.level-context{font:700 11px monospace;opacity:.65;margin-left:auto}
.filters-clean{margin:0;display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto auto auto;gap:8px}
.filters-clean .search-input{min-width:0;width:100%}
.reset-filter{text-align:center}
.result-summary{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:12px;opacity:.75}
.result-summary span{border:1px solid #817e4d;padding:3px 7px;background:rgba(255,252,211,.25)}
.metric-grid-3{grid-template-columns:repeat(3,1fr)}
.card-submeta{display:flex;justify-content:space-between;gap:8px;font-size:10px;opacity:.66;margin:-4px 0 11px;font-family:monospace}
.card-actions .small{padding:7px 10px;font-size:11px}
.ghost.strong{font-weight:700;background:rgba(232,226,158,.7)}
.entity-file .eyebrow,.recommendation-section .eyebrow{letter-spacing:.06em}
.editor-panel .panel-title{font-size:15px}

@media(max-width:1100px){
  .filters-clean{grid-template-columns:1fr 1fr 1fr}
  .filters-clean .search-input{grid-column:1/-1}
  .stats-clean{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .topbar{align-items:flex-start;flex-wrap:wrap}
  .main-nav{order:3;width:100%;margin-left:0;overflow-x:auto}
  .top-tools{margin-left:auto}
  .sync-strip span:first-child{display:none}
  .stats-clean{grid-template-columns:repeat(2,1fr)}
  .level-context{display:none}
}
@media(max-width:650px){
  .filters-clean{grid-template-columns:1fr}
  .filters-clean .search-input{grid-column:auto}
  .stats-clean{grid-template-columns:repeat(2,1fr)}
  .section-label{align-items:flex-start;flex-direction:column;gap:2px}
}


/* V3.2.1 — top navigation contrast fix */
.main-nav a{
  color:#e9e3a8;
  font-weight:700;
}
.main-nav a:hover{
  background:rgba(230,223,161,.14);
  color:#fff7c7;
}
.main-nav a.active{
  background:#e6dfa1;
  color:#202213 !important;
  box-shadow:inset 0 -2px 0 #5d6037;
}
.more-menu summary{
  color:#252719;
  font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;
}
.tool-btn{
  color:#252719;
  font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;
}
.more-menu-panel{
  color:#252719;
}


/* V3.3 — cinematic level descent button */
body.dive-gate-open{overflow:hidden}
.dive-gate[hidden]{display:none!important}
.dive-gate{
  position:fixed;
  inset:0;
  z-index:300;
  display:grid;
  place-items:center;
  opacity:0;
  transition:opacity .18s ease;
}
.dive-gate.is-open{opacity:1}
.dive-gate-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 50%,rgba(100,0,0,.16),transparent 42%),
    rgba(4,5,3,.92);
  backdrop-filter:blur(5px);
}
.dive-gate-panel{
  position:relative;
  z-index:2;
  width:min(760px,94vw);
  min-height:min(680px,90vh);
  padding:32px 26px 26px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#eee8ae;
  text-align:center;
  border:1px solid #69663d;
  background:
    linear-gradient(rgba(22,23,14,.94),rgba(13,14,9,.97)),
    repeating-linear-gradient(90deg,#242617 0,#242617 58px,#1f2114 59px,#1f2114 118px);
  box-shadow:0 0 0 1px #17180f,0 30px 90px #000;
  transform:translateY(12px) scale(.985);
  transition:transform .2s ease;
  overflow:hidden;
}
.dive-gate.is-open .dive-gate-panel{transform:translateY(0) scale(1)}
.dive-gate-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.dive-gate-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:4;
  width:38px;
  height:38px;
  border:1px solid #7d7947;
  background:#d9d18f;
  color:#252719;
  font:700 22px/1 Arial,sans-serif;
  cursor:pointer;
}
.dive-gate.is-running .dive-gate-close{
  opacity:.25;
  pointer-events:none;
}
.dive-gate-kicker{
  position:relative;
  z-index:2;
  margin-bottom:8px;
  color:#8d8952;
  font:700 11px monospace;
  letter-spacing:3px;
}
.dive-gate-panel h2{
  position:relative;
  z-index:2;
  margin:0;
  font-size:clamp(28px,5vw,52px);
  color:#eee8ae;
}
.dive-gate-target{
  position:relative;
  z-index:2;
  margin:8px 0 16px;
  color:#bdb77a;
  font:700 14px monospace;
}
.dive-red-button{
  position:relative;
  z-index:3;
  width:min(500px,70vw);
  aspect-ratio:1;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  filter:drop-shadow(0 18px 25px rgba(0,0,0,.5));
  transition:transform .08s ease,filter .15s ease;
}
.dive-red-button:hover{
  transform:scale(1.015);
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.58)) drop-shadow(0 0 24px rgba(255,0,0,.13));
}
.dive-red-button:focus-visible{
  outline:2px solid #e7df98;
  outline-offset:5px;
  border-radius:50%;
}
.dive-red-button.is-pressing{
  transform:scale(.985);
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.5)) drop-shadow(0 0 35px rgba(255,0,0,.28));
}
.dive-red-button img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
}
.dive-gate-status{
  position:relative;
  z-index:2;
  min-height:20px;
  margin-top:8px;
  color:#aaa56c;
  font:700 12px monospace;
  letter-spacing:1px;
}
.dive-gate-status.is-running{
  color:#f0dc8f;
  animation:dive-status-flicker .55s steps(2,end) infinite;
}
.dive-transition-flash{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,28,0,.22),transparent 36%),
    rgba(110,0,0,.08);
}
.dive-transition-flash.is-active{
  animation:dive-flash 2.7s ease forwards;
}
.dive-gate.is-running .dive-gate-panel{
  animation:dive-panel-rumble .16s linear 2;
}
@keyframes dive-flash{
  0%{opacity:0}
  8%{opacity:.9}
  15%{opacity:.15}
  24%{opacity:.55}
  100%{opacity:.08}
}
@keyframes dive-panel-rumble{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(-2px,1px)}
  50%{transform:translate(2px,-1px)}
  75%{transform:translate(-1px,-1px)}
}
@keyframes dive-status-flicker{
  0%,100%{opacity:1}
  50%{opacity:.58}
}
@media(max-width:650px){
  .dive-gate-panel{
    width:100vw;
    min-height:100vh;
    border:0;
    padding:60px 16px 24px;
  }
  .dive-red-button{width:min(430px,88vw)}
}
@media(prefers-reduced-motion:reduce){
  .dive-gate,.dive-gate-panel,.dive-red-button{transition:none}
  .dive-gate.is-running .dive-gate-panel,
  .dive-gate-status.is-running,
  .dive-transition-flash.is-active{animation:none}
}


/* V3.4 — full-screen falling transition */
.dive-fall-stage{
  position:absolute;
  inset:0;
  z-index:5;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  background:#000;
  transition:opacity .12s ease;
}
.dive-fall-stage.is-active{
  opacity:1;
  visibility:visible;
}
.dive-fall-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#000;
  transform:scale(1.02);
}
.dive-fall-vignette{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%,transparent 35%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.68) 100%),
    linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.26));
}
.dive-level-reveal{
  position:absolute;
  left:50%;
  top:50%;
  z-index:7;
  transform:translate(-50%,-50%) scale(.94);
  opacity:0;
  color:#eee8ae;
  text-shadow:0 3px 18px #000,0 0 42px rgba(229,218,139,.3);
  font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;
  font-size:clamp(42px,9vw,96px);
  font-weight:900;
  letter-spacing:.08em;
  transition:opacity .18s ease,transform .18s ease;
}
.dive-level-reveal.is-visible{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.dive-gate.is-falling .dive-gate-panel{
  opacity:0;
  pointer-events:none;
  transform:scale(.96);
}
.dive-gate.is-falling .dive-gate-backdrop{
  background:#000;
}
@media(max-width:650px){
  .dive-fall-video{
    object-fit:cover;
  }
}

/* V3.5 — weekly source history + persistent library */
.active-source-strip{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.current-source-panel,.source-add-panel,.source-history-panel,.architecture-note{margin:16px 0;padding:16px;background:rgba(232,226,158,.74);border:1px solid var(--line)}
.current-source-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}
.current-source-panel h2,.source-history-panel h2,.library-content h2{margin:3px 0 7px}
.current-source-actions,.source-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.current-source-actions form,.source-actions form,.project-admin form,.library-move-form{margin:0}
.source-inline-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font:11px monospace;opacity:.72}
.source-inline-meta code{padding:3px 6px;border:1px solid #817e4d;background:rgba(255,252,211,.26)}
.source-add-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:8px}
.source-list{display:grid;gap:9px}
.source-row{display:grid;grid-template-columns:124px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #817e4d;background:rgba(255,252,211,.23)}
.source-row.active{background:rgba(224,215,129,.46);box-shadow:inset 4px 0 0 #75743d}
.source-cover{width:124px;aspect-ratio:16/9;background:#1b1c12;overflow:hidden;border:1px solid #65623e}
.source-cover img{width:100%;height:100%;object-fit:cover;display:block}
.source-main{min-width:0}.source-main h3{margin:5px 0 7px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.source-actions{justify-content:flex-end;max-width:280px}
.architecture-note{font-size:12px;line-height:1.7;background:rgba(216,208,135,.48)}
.source-context-note{margin:5px 0 9px;font:11px monospace;opacity:.72}.source-context-note a{color:inherit}
.library-quick-save{position:relative;display:inline-block}.library-quick-save summary,.detail-library-save summary{cursor:pointer;border:1px solid #817e4d;background:rgba(255,252,211,.28);padding:7px 9px;font-size:11px;font-weight:700;list-style:none}.library-quick-save summary::-webkit-details-marker,.detail-library-save summary::-webkit-details-marker{display:none}
.library-quick-save form{position:absolute;right:0;bottom:calc(100% + 5px);z-index:50;width:245px;padding:9px;display:grid;gap:7px;background:#e8e09f;border:1px solid #65623e;box-shadow:5px 5px 0 #0003}.library-quick-save select,.library-quick-save input,.detail-library-save select,.detail-library-save input{width:100%}
.detail-library-save{margin:12px 0}.detail-library-save form{margin-top:8px;display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;gap:8px}
.membership-chips{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.membership-chips span{font-size:10px;border:1px solid #817e4d;padding:3px 6px;background:rgba(255,252,211,.25)}
.library-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.library-sidebar{position:sticky;top:12px;padding:10px;background:rgba(232,226,158,.72);border:1px solid var(--line);display:grid;gap:6px}.library-folder{display:grid;gap:2px;padding:10px;text-decoration:none;color:inherit;border:1px solid transparent}.library-folder:hover{background:rgba(255,252,211,.2)}.library-folder.active{border-color:#817e4d;background:#ded68e}.library-folder span{font-size:10px;opacity:.62}.new-project-form{display:grid;gap:7px;margin-top:8px;padding-top:10px;border-top:1px solid #8a8654}
.library-content{min-width:0}.project-admin{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px;background:rgba(232,226,158,.55);border:1px solid var(--line)}.project-admin form:first-child{display:flex;gap:7px;flex:1}.project-admin input{max-width:360px}.library-move-form{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}.text-danger{border:0;background:transparent;color:#6f251d;padding:5px 0;cursor:pointer;text-decoration:underline;font-size:10px}.text-danger:hover{color:#a22318}

@media(max-width:950px){
  .source-row{grid-template-columns:104px minmax(0,1fr)}
  .source-cover{width:104px}.source-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}
  .library-layout{grid-template-columns:1fr}.library-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.new-project-form{grid-column:1/-1}
}
@media(max-width:700px){
  .current-source-panel{align-items:flex-start;flex-direction:column}.current-source-actions{width:100%}.current-source-actions form,.current-source-actions button,.current-source-actions a{width:100%;text-align:center}
  .source-add-form{grid-template-columns:1fr}.source-row{grid-template-columns:1fr}.source-cover{width:100%;max-width:320px}.source-actions{grid-column:auto}
  .detail-library-save form{grid-template-columns:1fr}.library-sidebar{grid-template-columns:1fr}.project-admin{flex-direction:column}.project-admin form:first-child{flex-direction:column}.active-source-strip{display:none}
}

/* V3.6 — manual tags + batch tagging */
.tag-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:8px 0 2px;
}
.tag-chips a,.tag-chips span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid rgba(218,193,88,.28);
  border-radius:999px;
  background:rgba(91,79,30,.16);
  color:#d8cb83;
  font:700 11px/1.2 monospace;
  text-decoration:none;
}
.tag-chips a:hover{
  border-color:rgba(240,220,143,.7);
  background:rgba(124,105,37,.28);
}
.tag-chips-large{margin:10px 0 16px}
.tag-chips-large a{font-size:12px;padding:5px 10px}

.bulk-tag-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin:16px 0 18px;
  padding:12px 14px;
  border:1px solid rgba(218,193,88,.24);
  border-radius:12px;
  background:rgba(19,20,16,.86);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.bulk-tag-input{width:min(260px,100%)}
.bulk-select-all{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  font-weight:700;
}
.bulk-selected-count{
  color:#aaa56c;
  font:700 12px monospace;
  min-width:68px;
}
.bulk-tag-help{
  color:#7f806f;
  font-size:12px;
  margin-left:auto;
}
.video-card{position:relative}
.card-select{
  position:absolute;
  z-index:8;
  top:9px;
  right:9px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(10,10,9,.78);
  backdrop-filter:blur(5px);
  cursor:pointer;
}
.card-select input{width:17px;height:17px;accent-color:#b6a44b;cursor:pointer}
.source-users{
  margin-top:8px;
  color:#8f907d;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.field-hint{
  margin:-4px 0 8px;
  color:#858672;
  font-size:11px;
  line-height:1.45;
}
.library-tag-filter{
  display:flex;
  align-items:center;
  gap:8px;
  margin:4px 0 12px;
}
.library-bulk-tags{margin-top:0}

@media (max-width:720px){
  .bulk-tag-toolbar{align-items:stretch}
  .bulk-tag-toolbar .bulk-tag-input{width:100%;flex-basis:100%}
  .bulk-tag-help{width:100%;margin-left:0}
  .library-tag-filter{align-items:stretch;flex-direction:column}
}

/* V3.7 — manual library import */
.manual-library-add{margin:18px 0;padding:16px 18px;background:rgba(232,226,158,.86);border:1px solid var(--line);box-shadow:4px 4px 0 rgba(45,45,25,.12)}
.manual-library-add-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:10px}
.manual-library-add-head h2{margin:3px 0 0}.manual-library-add-head p{max-width:720px;margin:0;font-size:12px;opacity:.72}
.manual-library-add-form{display:grid;grid-template-columns:minmax(300px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:center}
.manual-library-add-form .manual-video-input{width:100%}
@media(max-width:1000px){.manual-library-add-form{grid-template-columns:1fr 1fr}.manual-library-add-form .manual-video-input{grid-column:1/-1}}
@media(max-width:650px){.manual-library-add-head{align-items:flex-start;flex-direction:column}.manual-library-add-form{grid-template-columns:1fr}.manual-library-add-form .manual-video-input{grid-column:auto}}

/* V3.8 — viewer mode, safer auth, legal pages */
.level-next-danger{
  border:1px solid #65170f;
  background:linear-gradient(180deg,#a32d20,#71180f);
  color:#fff2d7;
  box-shadow:0 0 0 2px rgba(255,232,185,.14),0 6px 18px rgba(93,18,11,.24);
  padding:11px 16px;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
}
.level-next-danger:hover{background:linear-gradient(180deg,#b93a2a,#7e1c12);transform:translateY(-1px)}
.level-next-danger:focus-visible{outline:3px solid rgba(130,27,17,.28);outline-offset:3px}
.level-next-danger.is-disabled{background:#4b4c35;color:#c7c28e;border-color:#4b4c35;box-shadow:none;transform:none}

.site-footer{max-width:1500px;margin:28px auto 0;padding:18px 26px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid rgba(58,59,35,.35);font:11px monospace;color:#53542f}
.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}
.admin-footer{margin-top:8px;padding-bottom:28px}.menu-logout{margin:0}.menu-logout button{width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:8px 10px;font:inherit;cursor:pointer}.menu-logout button:hover{background:rgba(226,216,143,.14)}

.viewer-body{position:relative;min-height:100vh;background-color:#5f582c;background-image:linear-gradient(rgba(35,31,12,.16),rgba(28,25,10,.28)),url("backrooms_site_bg_v385.webp");background-position:center center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.viewer-topbar,.viewer-shell,.viewer-footer{position:relative}
.viewer-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 22px;background:rgba(25,27,16,.76);border-bottom:1px solid rgba(103,102,61,.9);color:#ece5a7;backdrop-filter:blur(10px)}
.viewer-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.viewer-brand small{display:block;font:9px monospace;letter-spacing:1.8px;opacity:.57}.viewer-brand b{font-size:15px}.viewer-logout{margin:0}.viewer-logout button{border:1px solid #777248;background:transparent;color:#dfd899;padding:7px 11px;font:700 12px inherit;cursor:pointer}.viewer-logout button:hover{background:#ded68d;color:#202116}
.viewer-shell{max-width:1460px;margin:0 auto;padding:28px 26px 8px}.viewer-source{margin:0 0 18px;padding:18px 20px;background:rgba(232,226,158,.78);border:1px solid var(--line);box-shadow:5px 5px 0 rgba(45,45,25,.14);backdrop-filter:blur(1.5px)}
.viewer-source h1{font-size:clamp(22px,3.2vw,42px);margin:6px 0 0;line-height:1.13}.viewer-source .eyebrow{color:#5b572d}
.viewer-dive-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin:14px 0 20px}.viewer-level-state{font:700 11px monospace;opacity:.66}.viewer-dive-button{min-width:210px}
.viewer-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.viewer-video-card{display:block;color:inherit;text-decoration:none;background:rgba(233,226,159,.9);border:1px solid #737145;box-shadow:5px 5px 0 rgba(45,45,25,.18);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease;background-clip:padding-box;backdrop-filter:blur(1.4px)}.viewer-video-card:hover{transform:translateY(-2px);box-shadow:6px 8px 0 rgba(45,45,25,.22)}
.viewer-thumb{position:relative;aspect-ratio:16/9;background:#292b19;overflow:hidden}.viewer-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.viewer-video-card h2{font-size:16px;line-height:1.32;margin:0;padding:13px 14px 15px;min-height:58px}.viewer-empty{grid-column:1/-1;padding:28px;border:1px dashed #747247;background:rgba(231,223,158,.84)}.viewer-pagination{margin-bottom:8px}.viewer-footer{margin-top:18px}

.viewer-back{display:inline-flex;margin:0 0 13px;color:#363823;text-decoration:none;font-weight:700}.viewer-back:hover{text-decoration:underline}.viewer-detail,.viewer-comments{background:rgba(232,226,158,.88);border:1px solid var(--line);padding:20px;backdrop-filter:blur(1.6px)}.viewer-detail{max-width:1120px;margin:0 auto}.viewer-source-mini{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px;font-size:12px}.viewer-source-mini span{font:700 10px monospace;letter-spacing:1.4px;opacity:.63}.viewer-source-mini b{font-size:13px}.viewer-detail-thumb{max-height:none}.viewer-detail-title{font-size:clamp(28px,4vw,54px);line-height:1.04;margin:12px 0}.viewer-public-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.viewer-public-metrics div{background:rgba(255,255,220,.35);border-left:3px solid #68683d;padding:9px}.viewer-public-metrics small{display:block;font-size:10px}.viewer-public-metrics b{font:700 18px monospace}.viewer-detail-actions{display:flex;gap:9px;flex-wrap:wrap}.viewer-player-note{font:11px monospace;opacity:.58;margin:9px 0 0}.viewer-comments{max-width:1120px;margin:18px auto 0}.viewer-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.viewer-section-head h2{margin:3px 0 0}.viewer-comment-card{padding:13px 14px;margin:9px 0;background:rgba(255,252,211,.43);border-left:4px solid #68683d}.viewer-comment-card p{white-space:pre-wrap;line-height:1.6}.viewer-comment-card small{opacity:.64}.viewer-related{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:9px;border-top:1px dashed #98925d;font-size:11px}.viewer-related a{color:#474a2b}.viewer-play{min-width:118px}.viewer-detail .inline-player{width:100%}

.secure-login-body{min-height:100vh;background-color:#292715;background-image:linear-gradient(rgba(17,18,11,.46),rgba(17,18,11,.58)),url("backrooms_site_bg_v385.webp");background-position:center center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}.secure-login-panel{position:relative;background:rgba(226,219,148,.94);border:1px solid #77734b;box-shadow:12px 12px 0 rgba(0,0,0,.28);backdrop-filter:blur(1.5px)}.secure-login-panel h1{font-size:clamp(32px,6vw,54px)}.secure-login-panel p{opacity:.73}.secure-login-panel .input{width:100%;font-size:16px}.login-error{position:static!important;margin:12px 0 0!important;box-shadow:none!important}.login-brand-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid #393a22;background:#252719;color:#ebe4a7;font:900 15px monospace;margin-bottom:16px}.hp-field{position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.login-footer{position:fixed;bottom:0;left:0;right:0;max-width:none;color:#bdb77c;border-color:#4e5030;justify-content:center;background:rgba(22,23,15,.92)}

.legal-body{background:#17180f;color:#dcd69b}.legal-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 24px;border-bottom:1px solid #525230;background:#202115;font:12px monospace}.legal-top a{color:#eee7aa;text-decoration:none;font-weight:800}.legal-top span{opacity:.56}.legal-shell{max-width:900px;margin:0 auto;padding:34px 22px}.legal-paper{background:#e4dc98;color:#272819;border:1px solid #77734b;padding:clamp(22px,4vw,46px);box-shadow:8px 8px 0 rgba(0,0,0,.18)}.legal-paper h1{font-size:clamp(34px,6vw,58px);margin-top:0}.legal-paper h2{margin:28px 0 8px;font-size:20px}.legal-paper p{line-height:1.72}.legal-paper a{color:#474a2b}.legal-updated{font:11px monospace;opacity:.64}.legal-footer{color:#bdb77c;border-color:#4e5030}.legal-footer nav{margin-left:auto}

@media(max-width:1000px){.viewer-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-public-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.viewer-shell{padding:16px 12px 6px}.viewer-topbar{padding:11px 12px}.viewer-video-grid{grid-template-columns:1fr;gap:13px}.viewer-dive-row{align-items:stretch;flex-direction:column}.viewer-dive-button{width:100%}.viewer-source{padding:15px}.viewer-video-card h2{min-height:0}.viewer-detail,.viewer-comments{padding:14px}.viewer-public-metrics{grid-template-columns:repeat(2,1fr)}.site-footer{align-items:flex-start;flex-direction:column;padding:18px 14px}.login-footer{position:static}.legal-footer nav{margin-left:0}}

/* V3.8.1 — public browsing controls + moderation */
.viewer-dive-actions{display:flex;align-items:center;gap:10px;position:relative}
.viewer-browse-menu{position:relative}
.viewer-browse-menu>summary{list-style:none;cursor:pointer;border:1px solid #6d6b42;background:rgba(232,226,158,.9);color:#292a19;padding:10px 14px;font-weight:900;min-width:92px;text-align:center;box-shadow:3px 3px 0 rgba(45,45,25,.12)}
.viewer-browse-menu>summary::-webkit-details-marker{display:none}
.viewer-browse-menu[open]>summary{background:#252719;color:#ece5a7;border-color:#252719}
.viewer-browse-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:min(520px,86vw);background:#e6dd98;border:1px solid #64633d;box-shadow:8px 10px 0 rgba(25,26,15,.2);padding:15px}
.viewer-browse-group+ .viewer-browse-group{margin-top:14px;padding-top:13px;border-top:1px dashed #8d8955}
.viewer-browse-group>b{display:block;font:900 11px monospace;letter-spacing:.08em;margin-bottom:8px}
.viewer-filter-links{display:flex;flex-wrap:wrap;gap:7px}
.viewer-filter-links a{display:inline-flex;text-decoration:none;color:#30311e;border:1px solid #77734a;background:rgba(255,252,211,.35);padding:6px 9px;font-size:12px;font-weight:700}
.viewer-filter-links a:hover,.viewer-filter-links a.active{background:#292b19;color:#ebe4a6;border-color:#292b19}
.viewer-no-public-tags{font-size:11px;opacity:.6}

.public-admin-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:4px 0 16px;padding:20px;background:rgba(232,226,158,.92);border:1px solid var(--line)}
.public-admin-head h1{margin:3px 0 7px;font-size:clamp(30px,4vw,50px)}.public-admin-head p{max-width:780px;margin:0;line-height:1.55}
.public-mode-badge{min-width:210px;padding:12px 14px;border:1px solid #77734a;background:rgba(255,252,211,.35)}.public-mode-badge b,.public-mode-badge small{display:block}.public-mode-badge small{margin-top:4px;opacity:.65}.public-mode-badge.is-on{border-left:5px solid #9d6b16}.public-mode-badge.is-off{border-left:5px solid #586b3d}
.public-config-card{padding:18px;background:rgba(232,226,158,.88);border:1px solid #77734a;margin-bottom:14px}.public-config-row{display:flex;justify-content:space-between;gap:18px;align-items:center}.public-review-toggle{display:flex;gap:10px;align-items:flex-start}.public-review-toggle input{margin-top:3px}.public-review-toggle span{display:block}.public-review-toggle small{display:block;margin-top:4px;opacity:.65;font-weight:400}.public-tags-editor{margin-top:15px;padding-top:14px;border-top:1px dashed #918c58}.public-tags-editor>div:first-child small{display:block;margin-top:4px;opacity:.65}.public-tag-checkboxes{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0}.public-tag-checkboxes label{border:1px solid #807c4d;padding:6px 8px;background:rgba(255,252,211,.28);font-size:12px}.public-new-tags{max-width:620px;width:100%}
.public-admin-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.public-status-tabs,.public-source-tabs{display:flex;gap:7px;flex-wrap:wrap}.public-status-tabs a,.public-source-tabs a{padding:7px 10px;border:1px solid #77734a;background:rgba(232,226,158,.75);color:inherit;text-decoration:none;font-size:12px;font-weight:700}.public-status-tabs a.active,.public-source-tabs a.active{background:#292b19;color:#ebe4a6;border-color:#292b19}
.public-bulk-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:rgba(232,226,158,.72);border:1px dashed #77734a}.public-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-review-card{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;background:rgba(232,226,158,.92);border:1px solid #747145;padding:12px}.public-review-card.status-blocked{opacity:.78;border-left:5px solid #7a2e21}.public-review-card.status-pending{border-left:5px solid #a17117}.public-review-card.status-public{border-left:5px solid #586b3d}.public-review-card.status-hidden{border-left:5px solid #64634a}.public-card-select{position:absolute;z-index:3;left:18px;top:18px;background:rgba(25,27,16,.9);color:#eee7aa;padding:5px 7px;font:700 10px monospace}.public-card-thumb{position:relative;display:block;aspect-ratio:16/9;background:#292b19;overflow:hidden}.public-card-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.public-review-content{min-width:0}.public-review-content h2{font-size:17px;line-height:1.25;margin:8px 0}.public-review-content h2 a{color:inherit;text-decoration:none}.public-status-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.public-status-line code{font-size:10px;opacity:.65}.public-status-pill{padding:4px 7px;font:800 10px monospace;border:1px solid}.public-status-pill.public{background:#d9e2ad;border-color:#667747}.public-status-pill.pending{background:#e9d99c;border-color:#9a701d}.public-status-pill.hidden{background:#d8d3a4;border-color:#6d6b50}.public-status-pill.blocked{background:#d5a394;border-color:#7b2d20}.public-review-comment{margin-top:10px;padding:9px 10px;background:rgba(255,252,211,.35);border-left:3px solid #77734a}.public-review-comment b{font-size:11px}.public-review-comment p{margin:6px 0 0;max-height:94px;overflow:auto;white-space:pre-wrap;font-size:12px;line-height:1.45}.public-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.public-card-actions form{margin:0}.public-empty{grid-column:1/-1}
.admin-public-status-box{margin:0 0 14px;padding:11px;border:1px solid #77734a;background:rgba(255,252,211,.26)}.admin-public-status-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.admin-public-status-head a{color:inherit}.admin-public-status-current{margin:8px 0;padding:7px 8px;font:800 11px monospace;background:rgba(255,255,220,.35)}.admin-public-status-current.status-blocked{border-left:4px solid #7b2d20}.admin-public-status-current.status-public{border-left:4px solid #586b3d}.admin-public-status-current.status-pending{border-left:4px solid #a17117}.admin-public-status-current.status-hidden{border-left:4px solid #64634a}.admin-public-status-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-public-status-actions form{margin:0}

@media(max-width:1000px){.public-admin-grid{grid-template-columns:1fr}.public-review-card{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:650px){.viewer-dive-row{align-items:stretch}.viewer-dive-actions{width:100%;align-items:stretch}.viewer-browse-menu{flex:1}.viewer-browse-menu>summary{height:100%;display:grid;place-items:center}.viewer-dive-button{flex:1;min-width:0}.viewer-browse-panel{right:auto;left:0;width:min(92vw,520px)}.public-admin-head,.public-config-row{align-items:flex-start;flex-direction:column}.public-mode-badge{width:100%}.public-admin-grid{grid-template-columns:1fr}.public-review-card{grid-template-columns:1fr}.public-card-thumb{margin-top:22px}.public-admin-toolbar{align-items:stretch;flex-direction:column}}
.public-audit-log{margin:18px 0;background:rgba(232,226,158,.76);border:1px solid #77734a;padding:10px 12px}.public-audit-log>summary{cursor:pointer;font-weight:800}.public-audit-list{margin-top:10px;display:grid;gap:5px}.public-audit-list>div{display:grid;grid-template-columns:150px 120px 1fr;gap:8px;padding:7px 8px;background:rgba(255,252,211,.25);font-size:11px}.public-audit-list small{grid-column:3;opacity:.65}
@media(max-width:650px){.public-audit-list>div{grid-template-columns:1fr}.public-audit-list small{grid-column:auto}}

/* V3.8.2 — viewer browser toolbar: left-aligned, compact dropdown navigation */
.viewer-dive-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin:14px 0 20px;
}
.viewer-browse-toolbar{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  min-width:0;
}
.viewer-browse-title{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  background:#292b19;
  color:#ece5a7;
  border:1px solid #292b19;
  box-shadow:3px 3px 0 rgba(45,45,25,.14);
}
.viewer-browse-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid rgba(236,229,167,.45);
  font-size:13px;
  line-height:1;
}
.viewer-browse-title-copy{
  display:grid;
  gap:1px;
  line-height:1;
}
.viewer-browse-title-copy b{font-size:14px;letter-spacing:.08em}
.viewer-browse-title-copy small{font:700 9px monospace;letter-spacing:.08em;opacity:.58}
.viewer-select-field{
  display:grid;
  gap:5px;
  min-width:150px;
}
.viewer-select-field>span:first-child{
  font:800 10px monospace;
  letter-spacing:.09em;
  color:#57572f;
}
.viewer-select-wrap{
  position:relative;
  display:block;
}
.viewer-select-wrap::after{
  content:"⌄";
  position:absolute;
  right:11px;
  top:50%;
  transform:translateY(-53%);
  color:#434429;
  font-size:15px;
  font-weight:900;
  pointer-events:none;
}
.viewer-select-field select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:165px;
  height:42px;
  margin:0;
  padding:0 36px 0 12px;
  border:1px solid #6d6b42;
  border-radius:0;
  background:rgba(238,232,178,.96);
  color:#292a19;
  font-weight:800;
  cursor:pointer;
  box-shadow:3px 3px 0 rgba(45,45,25,.1);
}
.viewer-select-field select:hover{
  background:#f1ebbd;
  border-color:#4e4f30;
}
.viewer-select-field select:focus-visible{
  outline:3px solid rgba(41,43,25,.2);
  outline-offset:2px;
}
.viewer-select-field select:disabled{
  cursor:not-allowed;
  opacity:.5;
  box-shadow:none;
}
.viewer-filter-reset{
  align-self:flex-end;
  display:inline-flex;
  align-items:center;
  height:42px;
  padding:0 11px;
  border:1px solid #77734a;
  color:#47482c;
  background:rgba(255,252,211,.28);
  text-decoration:none;
  font-size:11px;
  font-weight:800;
}
.viewer-filter-reset:hover{background:#292b19;color:#ece5a7;border-color:#292b19}
.viewer-dive-side{
  margin-left:auto;
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex:0 0 auto;
}
.viewer-level-state{
  padding-bottom:11px;
  white-space:nowrap;
  font:700 10px monospace;
  opacity:.62;
}
.viewer-dive-button{min-width:210px;min-height:42px}

@media(max-width:900px){
  .viewer-dive-row{align-items:stretch;flex-direction:column}
  .viewer-browse-toolbar{width:100%}
  .viewer-dive-side{width:100%;margin-left:0;justify-content:flex-end}
}
@media(max-width:650px){
  .viewer-browse-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .viewer-browse-title{grid-column:1/-1}
  .viewer-select-field{min-width:0}
  .viewer-select-field select{min-width:0}
  .viewer-filter-reset{grid-column:1/-1;justify-content:center;width:100%}
  .viewer-dive-side{display:grid;grid-template-columns:1fr}
  .viewer-level-state{padding:0;white-space:normal}
  .viewer-dive-button{width:100%;min-width:0}
}

/* V3.8.7 — faster cinematic sharp Backrooms background motion
   Public viewer + password/login surfaces only. No app logic is changed. */
.viewer-body,
.secure-login-body{
  position:relative;
  min-height:100vh;
  overflow-x:hidden;
  isolation:isolate;
  background:#262310!important;
  background-image:none!important;
}

.viewer-body::before,
.secure-login-body::before{
  content:"";
  position:fixed;
  inset:-8vmax;
  z-index:0;
  pointer-events:none;
  background-image:url("backrooms_site_bg_v386.webp");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  filter:saturate(.98) contrast(1.035) brightness(.98);
  transform-origin:center center;
  transform:translate3d(-2.3vw,-1.35vh,0) scale(1.075);
  will-change:transform;
  backface-visibility:hidden;
  animation:backrooms-cinematic-drift 17s cubic-bezier(.45,.02,.55,.98) infinite alternate;
}

.viewer-body::after,
.secure-login-body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  will-change:opacity;
  animation:backrooms-ambient-breathe 12s ease-in-out infinite;
}

/* Viewer: keep the room clearly visible while protecting card legibility. */
.viewer-body::after{
  background:
    radial-gradient(ellipse at 50% 45%,rgba(255,246,173,.025) 0%,rgba(44,38,12,.06) 58%,rgba(15,14,8,.20) 100%),
    linear-gradient(180deg,rgba(22,20,8,.12) 0%,rgba(22,20,8,.04) 36%,rgba(22,20,8,.12) 100%);
}

/* Password/admin access: same motion, slightly more cinematic contrast. */
.secure-login-body::after{
  background:
    radial-gradient(ellipse at 50% 46%,rgba(15,14,7,.06) 0%,rgba(12,12,7,.23) 66%,rgba(8,9,5,.42) 100%),
    linear-gradient(180deg,rgba(12,12,7,.16) 0%,rgba(12,12,7,.08) 42%,rgba(12,12,7,.23) 100%);
}

/* Keep all UI above the animated photographic background. */
.viewer-topbar,
.viewer-shell,
.viewer-footer{
  z-index:2;
}
.login-shell{
  position:relative;
  z-index:2;
}
.login-footer{
  z-index:2;
}

/* The photo itself stays sharp. Only foreground panels retain their tiny glass effect. */
.viewer-source,
.viewer-video-card,
.viewer-detail,
.viewer-comments,
.secure-login-panel{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

@keyframes backrooms-cinematic-drift{
  0%{
    transform:translate3d(-2.3vw,-1.35vh,0) scale(1.075);
  }
  50%{
    transform:translate3d(.25vw,.16vh,0) scale(1.072);
  }
  100%{
    transform:translate3d(2.3vw,1.35vh,0) scale(1.075);
  }
}

@keyframes backrooms-ambient-breathe{
  0%,100%{opacity:.96}
  50%{opacity:1}
}

@media (max-width:650px){
  .viewer-body::before,
  .secure-login-body::before{
    inset:-11vmax;
    transform:translate3d(-3vw,-1.1vh,0) scale(1.085);
    animation-duration:15s;
  }
  @keyframes backrooms-cinematic-drift{
    0%{transform:translate3d(-3vw,-1.1vh,0) scale(1.085)}
    50%{transform:translate3d(.15vw,.1vh,0) scale(1.082)}
    100%{transform:translate3d(3vw,1.1vh,0) scale(1.085)}
  }
}

@media (prefers-reduced-motion:reduce){
  .viewer-body::before,
  .secure-login-body::before,
  .viewer-body::after,
  .secure-login-body::after{
    animation:none!important;
  }
  .viewer-body::before,
  .secure-login-body::before{
    transform:scale(1.075);
  }
}
