:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color-scheme:dark;--red:#ef718a;--ink:#080b12;--panel:#111622}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:var(--ink);color:#f7f8fb}
body{min-height:100dvh;background:linear-gradient(#05070bbd,#070a12e8),url('/static/background.jpg') center/cover fixed}
.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 10%,#f07d9b35,transparent 28%),radial-gradient(circle at 90% 76%,#65aef129,transparent 34%);backdrop-filter:blur(2px)}
a{color:inherit;text-decoration:none}button,input{font:inherit}
.top{position:relative;z-index:5;height:78px;max-width:1800px;margin:auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;background:#090d1538;border-bottom:1px solid #ffffff0d;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:50px;height:50px;border-radius:15px;object-fit:cover;object-position:50% 72%;border:1px solid #ffffff45;box-shadow:0 8px 24px #0006}.brand b,.brand small{display:block}.brand small{font-size:10px;letter-spacing:.13em;color:#ffffff80;margin-top:3px}
.top nav{display:flex;align-items:center;gap:8px}.top nav a,.top nav button{border:0;background:#ffffff08;color:#ffffffcf;padding:10px 14px;border-radius:12px;cursor:pointer}.top nav form{margin:0}
.primary{background:#f5f7fb!important;color:#11151d!important;border:0;border-radius:13px;padding:12px 18px;font-weight:700;cursor:pointer}
.gallery{position:relative;z-index:1;max-width:1800px;min-height:calc(100dvh - 78px);margin:auto;padding:18px 28px 28px;display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:28px}
.viewer{position:relative;overflow:hidden;width:100%;height:min(82dvh,920px);min-height:620px;border-radius:32px;border:1px solid #ffffff36;background:#05070ccf;box-shadow:0 32px 100px #000b;backdrop-filter:blur(12px)}
.viewer>img,.viewer>video{width:100%;height:100%;object-fit:contain;background:#030508}.viewer>img{cursor:zoom-in}
.shade{position:absolute;inset:auto 0 0;height:42%;pointer-events:none;background:linear-gradient(transparent,#000e)}
.caption{position:absolute;z-index:2;inset:auto 0 0;padding:30px;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.caption>*{pointer-events:auto}.caption h1{font-size:clamp(29px,4vw,50px);margin:9px 0 4px}.caption p,.hint{color:#ffffff91;line-height:1.6}
.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:12px;padding:5px 10px;border:1px solid #ffffff32;background:#0007;border-radius:99px}.round{width:52px;height:52px;border:1px solid #ffffff50;border-radius:50%;display:grid;place-items:center;background:#0008;font-size:22px}
.empty{position:absolute;inset:0;display:grid;place-items:center;color:#ffffff70}.expandtip{position:absolute;z-index:3;top:18px;right:18px;padding:9px 12px;border:1px solid #ffffff29;background:#080b12aa;border-radius:99px;font-size:12px;color:#ffffffbd;cursor:pointer;backdrop-filter:blur(10px)}
.gallery aside{padding:26px 4px;background:#090d1580;border:1px solid #ffffff12;border-radius:28px;padding:28px;backdrop-filter:blur(18px)}.gallery aside h2{font-size:40px;line-height:1.18;margin:18px 0}.gallery aside p{color:#ffffff91;line-height:1.8}.eyebrow{font-size:11px;letter-spacing:.16em;color:#ff8fa5;font-weight:800}.actions{display:flex;gap:12px;margin-top:36px}.actions button{padding:14px 18px;border:1px solid #ffffff2b;background:#ffffff10;color:#fff;border-radius:14px;cursor:pointer}
.categorytabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:24px;padding:6px;border:1px solid #ffffff18;border-radius:14px;background:#05080db0}.categorytabs button{padding:10px 6px;border:0;border-radius:9px;background:transparent;color:#ffffff8b;cursor:pointer}.categorytabs button.active{background:#f5f7fb;color:#11151d;font-weight:800}
.likebutton{width:100%;margin-top:14px;padding:12px;border:1px solid #ffffff24;border-radius:13px;background:#ffffff09;color:#fff;cursor:pointer;font-weight:750}.likebutton span{font-size:20px;vertical-align:-1px}.likebutton.liked{border-color:#ff7895;background:#a9355038;color:#ff9bad}.likebutton:disabled{opacity:.6}
.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:#020308f2;overflow:hidden}.lightbox::backdrop{background:#000}.lightbox img,.lightbox video{width:100%;height:100%;object-fit:contain}.lightboxclose{position:fixed;z-index:4;top:18px;right:20px;width:48px;height:48px;border:1px solid #ffffff38;border-radius:50%;background:#000b;color:#fff;font-size:32px;line-height:1;cursor:pointer}
.center{position:relative;z-index:1;min-height:calc(100dvh - 90px);display:grid;place-items:center;padding:30px 16px}.card{background:#101620e8;border:1px solid #ffffff20;border-radius:22px;padding:26px;box-shadow:0 24px 70px #0007;backdrop-filter:blur(20px)}.auth{width:min(430px,100%)}.auth h1,.page h1{font-size:34px;margin:12px 0 25px}
label{display:grid;gap:8px;margin:17px 0;color:#ffffffad;font-size:14px}input{width:100%;padding:13px 14px;border:1px solid #ffffff20;border-radius:12px;background:#080c14;color:#fff;outline:none}input:focus{border-color:#e26a7d}.wide{width:100%;margin-top:8px}.formlinks{display:flex;justify-content:space-between;margin-top:18px;font-size:13px;color:#ffffff8c}
.page{position:relative;z-index:1;width:min(1450px,calc(100% - 32px));margin:30px auto 80px;display:grid;gap:34px}.drop{padding:28px;border:1px dashed #ffffff38;border-radius:16px;text-align:center;background:#ffffff07}.drop input{margin-top:12px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #ffffff12;white-space:nowrap}
.status{padding:5px 9px;border-radius:99px;font-size:12px}.status.pending{background:#c98d3329;color:#ffc96f}.status.approved{background:#4da77829;color:#82e3aa}.status.rejected{background:#d94a6229;color:#ff8799}
.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:20px}.sectionhead h1,.sectionhead h2{margin:8px 0 0}.countpill{padding:7px 12px;border:1px solid #ffffff20;background:#ffffff0d;border-radius:99px;color:#ffffffa5}.reviewgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px;margin-top:18px}.review{padding:14px}.reviewpreview{position:relative;display:block;height:220px;border-radius:14px;overflow:hidden;background:#060910}.reviewpreview img{width:100%;height:100%;object-fit:cover;transition:.25s}.reviewpreview:hover img{transform:scale(1.025)}.previewfallback{height:100%;display:grid;place-items:center;color:#ffffff70}.playbadge{position:absolute;left:10px;bottom:10px;padding:6px 9px;border-radius:99px;background:#000b;font-size:12px}.review h3{margin-bottom:4px}.reviewactions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reviewactions button{width:100%;padding:11px;border:0;border-radius:11px;color:#fff;cursor:pointer}.approve{background:#287a51}.reject{background:#9d3143}.restore{background:#386cb0}.delete{background:#742433}.trashed{opacity:.82}.trashsection{padding-top:8px;border-top:1px solid #ffffff15}.emptycard{grid-column:1/-1;text-align:center;color:#ffffff76}
.flashes{position:relative;z-index:8;width:min(900px,calc(100% - 32px));margin:8px auto}.flash{padding:12px 16px;border-radius:12px;background:#283142}.flash.ok{background:#24583c}.flash.error{background:#6d2b38}
@media(max-width:900px){.top{padding:10px 14px;height:70px}.brand small{display:none}.top nav a,.top nav button{padding:9px}.gallery{display:block;padding:10px 12px 22px}.viewer{height:calc(100dvh - 155px);min-height:520px;border-radius:24px}.gallery aside{margin-top:14px;padding:18px}.gallery aside>div:first-child{display:none}.actions{margin:0;justify-content:center}.caption{padding:20px}.caption h1{font-size:28px}.brand img{width:43px;height:43px}.reviewgrid{grid-template-columns:1fr}.card{padding:20px}.expandtip{top:12px;right:12px}.lightbox{padding:8px}}

/* V12 immersive gallery */
.gallery.immersive{display:block;width:100%;max-width:1920px;min-height:calc(100dvh - 78px);padding:10px 18px 18px}
.immersive .viewer{width:100%;height:calc(100dvh - 106px);min-height:620px;border-radius:28px}
.immersive .shade{height:22%;background:linear-gradient(transparent,#0009)}
.floatingtags{position:absolute;z-index:4;top:18px;left:50%;max-width:min(70%,720px);transform:translateX(-50%);display:flex;justify-content:center;gap:6px;pointer-events:none}
.floatingtags span{overflow:hidden;max-width:180px;padding:5px 10px;border:1px solid #ffffff25;border-radius:99px;background:#06091180;color:#ffffffe0;font-size:11px;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 5px 20px #0005;backdrop-filter:blur(12px)}
.gallerycontrols{position:absolute;z-index:5;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:7px;border:1px solid #ffffff20;border-radius:18px;background:#070a1194;box-shadow:0 12px 40px #0008;backdrop-filter:blur(18px);opacity:.58;transition:opacity .2s ease,transform .2s ease}
.viewer:hover .gallerycontrols,.gallerycontrols:focus-within{opacity:1;transform:translateX(-50%) translateY(-2px)}
.gallerycontrols>button,.gallerycontrols>a,.gallerycontrols .categorytabs button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:#ffffffe0;font-size:21px;line-height:1;cursor:pointer;transition:.16s}
.gallerycontrols>button:hover,.gallerycontrols>a:hover,.gallerycontrols .categorytabs button:hover{background:#ffffff12;border-color:#ffffff19}
.gallerycontrols .categorytabs{display:flex;grid-template-columns:none;gap:3px;margin:0;padding:0;border:0;background:transparent}
.gallerycontrols .categorytabs button{font-size:17px;color:#ffffff91}
.gallerycontrols .categorytabs button.active{background:#f4f6fa;color:#11151d}
.gallerycontrols .likebutton{width:44px;margin:0;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;font-weight:400;font-size:26px}
.gallerycontrols .likebutton.liked{border-color:#ff789566;background:#a9355045;color:#ff9bad}
.gallerycontrols .nextbutton{background:#f4f6fa;color:#11151d;font-weight:800}
.gallerycontrols .nextbutton.loading{animation:controlpulse .75s ease-in-out infinite alternate}
.controldivider{width:1px;height:25px;margin:0 2px;background:#ffffff20}
@keyframes controlpulse{to{opacity:.45;transform:scale(.92)}}
@media(max-width:900px){.gallery.immersive{min-height:calc(100dvh - 70px);padding:6px 8px 8px}.immersive .viewer{height:calc(100dvh - 84px);min-height:500px;border-radius:20px}.gallerycontrols{bottom:10px;gap:3px;padding:5px;border-radius:15px;opacity:.9}.gallerycontrols>button,.gallerycontrols>a,.gallerycontrols .categorytabs button,.gallerycontrols .likebutton{width:38px;height:38px;border-radius:10px;font-size:19px}.gallerycontrols .likebutton{font-size:23px}.gallerycontrols .categorytabs button{font-size:15px}.controldivider{display:none}.floatingtags{top:12px;max-width:88%;gap:4px}.floatingtags span{max-width:120px;padding:4px 8px;font-size:10px}}
