: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{background:linear-gradient(rgba(18,19,12,.06),rgba(18,19,12,.13)),repeating-linear-gradient(90deg,#d8cf87 0,#d8cf87 58px,#d3ca82 59px,#d3ca82 118px)}
.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,.96);border-bottom:1px solid #67663d;color:#ece5a7;backdrop-filter:blur(9px)}
.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,.82);border:1px solid var(--line);box-shadow:5px 5px 0 rgba(45,45,25,.12)}
.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,.94);border:1px solid #737145;box-shadow:5px 5px 0 rgba(45,45,25,.16);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.viewer-video-card:hover{transform:translateY(-2px);box-shadow:6px 8px 0 rgba(45,45,25,.18)}
.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,.92);border:1px solid var(--line);padding:20px}.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{background:#16170f}.secure-login-panel{position:relative;background:rgba(226,219,148,.96);border:1px solid #77734b;box-shadow:12px 12px 0 rgba(0,0,0,.28)}.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}}
