* { margin:0; padding:0; box-sizing:border-box; }
body { background:#111; color:#eee; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; padding:1.6rem 1.2rem 4rem; line-height:1.5; }
.wrap { max-width:1080px; margin:0 auto; }
a { color:#9ad; text-decoration:none; } a:hover { color:#cfe8ff; text-decoration:underline; }
.crumbs { font-size:.82rem; color:#777; margin-bottom:1rem; }
h1 { font-size:1.6rem; color:#fff; margin-bottom:.3rem; }
.sub { color:#888; font-size:.9rem; margin-bottom:1.4rem; }
.flag { display:inline-block; background:#3a2d00; color:#e8c14a; font-size:.7rem; padding:.12rem .5rem; border-radius:4px; margin-left:.5rem; vertical-align:middle; }
/* index */
.scene-list { list-style:none; }
.scene-list li { padding:.5rem .2rem; border-bottom:1px solid #262626; display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
.scene-list .nm { font-size:1.02rem; }
.scene-list .ct { color:#777; font-size:.8rem; white-space:nowrap; }
.section-head { color:#7ec8e3; font-size:.95rem; margin:2rem 0 .5rem; border-bottom:1px solid #333; padding-bottom:.35rem; }
/* tabs */
.tabs { display:flex; flex-wrap:wrap; gap:.3rem; margin-bottom:1rem; border-bottom:1px solid #2a2a2a; padding-bottom:.6rem; }
.tab-btn { background:#1b1b1b; color:#aaa; border:1px solid #303030; border-radius:6px; padding:.32rem .6rem; font-size:.75rem; cursor:pointer; font-family:inherit; }
.tab-btn:hover { background:#242424; color:#ddd; }
.tab-btn.active { background:#264b5c; color:#dff1fb; border-color:#3a7290; }
.tab-btn .n { color:#6fa8c4; margin-left:.35rem; }
/* slider */
.slider { display:none; }
.slider.active { display:block; }
.stage { position:relative; background:#0a0a0a; border:1px solid #262626; border-radius:8px; overflow:hidden; text-align:center; }
.stage img { max-width:100%; max-height:70vh; display:block; margin:0 auto; }
.stage .navbtn { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.55); color:#fff; border:none; font-size:1.8rem; width:2.6rem; height:3.4rem; cursor:pointer; border-radius:6px; }
.stage .navbtn:hover { background:rgba(0,0,0,.8); }
.stage .prev { left:.5rem; } .stage .next { right:.5rem; }
.counter { position:absolute; top:.5rem; right:.7rem; background:rgba(0,0,0,.6); color:#ddd; font-size:.72rem; padding:.15rem .5rem; border-radius:4px; }
.imglabel { color:#bbb; font-size:.85rem; margin:.6rem 0 .2rem; }
.imgsection { color:#777; font-size:.75rem; margin-bottom:.6rem; }
.thumbs { display:flex; flex-wrap:wrap; gap:.3rem; margin:.7rem 0; }
.thumbs img { height:52px; width:auto; border-radius:4px; border:2px solid transparent; cursor:pointer; opacity:.6; }
.thumbs img.sel { border-color:#7ec8e3; opacity:1; }
.thumbs img:hover { opacity:1; }
/* gen info */
.geninfo { background:#161616; border:1px solid #282828; border-radius:8px; margin-top:.6rem; font-size:.8rem; }
.geninfo summary { cursor:pointer; padding:.55rem .8rem; color:#7ec8e3; font-size:.8rem; user-select:none; }
.geninfo .body { padding:0 .8rem .8rem; }
.row { display:flex; gap:.6rem; padding:.2rem 0; border-top:1px solid #222; }
.row .k { color:#888; min-width:80px; flex:0 0 80px; } .row .v { color:#ddd; word-break:break-word; }
.prompt { white-space:pre-wrap; background:#0c0c0c; border:1px solid #242424; border-radius:6px; padding:.6rem; margin-top:.5rem; color:#c8c8c8; font-size:.76rem; font-family:'SFMono-Regular',Consolas,monospace; max-height:300px; overflow:auto; }
.missing { color:#c98; font-size:.78rem; padding:.55rem .8rem; }
.refs-line { margin-top:.4rem; } .refs-line img { height:34px; border-radius:4px; vertical-align:middle; margin:0 3px; cursor:pointer; }
/* lightbox */
#lb { display:none; position:fixed; inset:0; background:rgba(0,0,0,.9); z-index:50; align-items:center; justify-content:center; cursor:zoom-out; }
#lb img { max-width:94%; max-height:94%; }
