:root{--bg:#000;--panel:#10101a;--line:#28283c;--text:#fff;--muted:#b7b4ca;--blue:#4871ed;--pink:#ff00a2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% -10%,#17285e 0,#000 42%),#000;color:var(--text);font:16px 'Trebuchet MS','Comic Sans MS',system-ui,sans-serif}body.noscroll{overflow:hidden}.site-header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);position:sticky;top:0;background:#000e;backdrop-filter:blur(12px);z-index:5}.brand{color:#fff;text-decoration:none;font-weight:700;font-size:20px}.brand img{max-height:52px;max-width:220px;object-fit:contain;vertical-align:middle}.brand span{font-size:28px;margin-right:7px}nav{display:flex;gap:20px}a{color:var(--muted);text-decoration:none}a:hover,.textlink{color:var(--pink)}main{max-width:1280px;margin:auto;padding:58px max(5vw,20px) 5rem}.hero{text-align:center;max-width:820px;margin:0 auto 48px}.hero.compact{margin-bottom:28px}.eyebrow{color:var(--pink);letter-spacing:.16em;font-size:12px;font-weight:700}.hero h1{font-size:clamp(40px,7vw,78px);line-height:1;margin:12px 0;background:linear-gradient(90deg,var(--blue),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 28px #4871ed66}.hero p{color:var(--muted);font-size:18px;line-height:1.6}.status{display:inline-block;padding:14px 18px;margin:18px 0;border:1px solid var(--blue);border-radius:18px;box-shadow:0 0 18px #4871ed44}.success{border-color:var(--pink);color:#ff9bd5}.info{color:#b8c8ff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}.card,.panel{background:linear-gradient(145deg,#151528,#08080d);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px #000,0 0 18px #4871ed22}.card{transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-6px);box-shadow:0 20px 42px #000,0 0 25px #ff00a233}.imgwrap{display:block;width:100%;height:280px;border:0;padding:0;position:relative;background:#111;overflow:hidden;cursor:zoom-in}.imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.05)}.zoom,.badge{position:absolute;background:#000b;border-radius:14px;padding:7px 11px}.zoom{right:14px;top:14px}.badge{left:14px;top:14px;color:#ff8ed2}.cardbody{padding:20px}.card h2,h2{margin:0 0 8px}.author,.muted{color:var(--muted)}.stars{display:flex;gap:5px;margin-top:14px}.star{background:transparent;border:0;color:#45455b;font-size:27px;cursor:pointer;padding:0;line-height:1;transition:transform .15s,color .15s}.star.on{color:#ff3ebc;text-shadow:0 0 12px var(--pink)}.star:disabled{cursor:default}.button{border:0;border-radius:14px;background:linear-gradient(100deg,var(--blue),var(--pink));color:#fff;font-weight:700;padding:12px 18px;cursor:pointer;box-shadow:0 0 18px #4871ed55}.button:hover{transform:translateY(-2px);box-shadow:0 0 24px #ff00a277}.button:disabled{opacity:.5;cursor:not-allowed}.ghost{background:transparent;border:1px solid var(--blue)}.danger{background:linear-gradient(100deg,#6b183e,#ff00a2)}.small{font-size:12px;padding:9px}.submitbar{position:sticky;bottom:18px;margin:36px auto 0;max-width:700px;padding:16px 20px;background:#0c0c16ee;border:1px solid var(--blue);border-radius:20px;display:flex;align-items:center;gap:22px;backdrop-filter:blur(12px);box-shadow:0 0 24px #4871ed55}.submitbar>div{flex:1}.progress{height:6px;background:#29293b;margin-top:8px;border-radius:9px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--pink));width:0;transition:.3s;border-radius:9px}.flash{padding:14px 18px;border-radius:14px;margin:0 auto 22px;max-width:850px}.flash.success{background:#142d37}.flash.error{background:#45152f;color:#ffb6dc}.auth{max-width:450px;margin:40px auto;padding:30px}label{display:block;color:var(--muted);margin:15px 0}input,textarea{display:block;width:100%;background:#07070c;border:1px solid var(--line);color:#fff;padding:11px;margin-top:7px;border-radius:12px;font:inherit}textarea{min-height:80px}.check{display:flex;gap:9px;align-items:center}.check input{width:auto;margin:0}.dangerform{margin-top:28px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:25px;margin-bottom:24px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:15px}.manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.manage{border:1px solid var(--line);padding:10px;border-radius:16px}.manage img{width:100%;height:130px;object-fit:cover;border-radius:11px}.tablewrap{overflow:auto}.ranking{width:100%;border-collapse:collapse}.ranking th,.ranking td{text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}.ranking th{color:var(--muted);font-size:12px}.gold td:first-child{color:#ffcf4a}.thumb{width:52px;height:40px;object-fit:cover;border-radius:8px}.mini{height:4px;background:#34344a;width:80px;margin-top:5px}.mini i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--pink))}.lightbox{display:none;position:fixed;inset:0;background:#000e;z-index:20;align-items:center;justify-content:center;padding:35px}.lightbox.show{display:flex}.lightcontent{text-align:center;max-width:85vw}.lightcontent img{max-width:80vw;max-height:68vh;object-fit:contain;border-radius:14px}.lightcontent #lightTitle{font-size:25px;margin:12px}.lightbox>button{position:absolute;background:none;border:0;color:#fff;font-size:48px;cursor:pointer}.lightbox .close{right:25px;top:12px}.lightbox .prev{left:25px}.lightbox .next{right:25px}footer{text-align:center;color:#777;padding:28px;font-size:13px}@media (hover:hover){.star:hover{color:#ff75cf;transform:scale(1.15)}}@media(max-width:700px){.site-header{padding:0 14px}nav{gap:10px;font-size:12px}main{padding:38px 15px 6rem}.grid{grid-template-columns:1fr}.imgwrap{height:240px}.admin-grid{grid-template-columns:1fr}.submitbar{bottom:8px;display:block}.submitbar .button{width:100%;margin-top:12px}.sectionhead{align-items:flex-start;flex-direction:column}.hero h1{font-size:47px}.lightbox{padding:15px}.lightbox .prev{left:3px}.lightbox .next{right:3px}}
.image-submitbar{max-width:none;justify-content:space-between;margin-top:24px}.image-submitbar span{color:var(--muted);font-size:13px}.image-submitbar.is-dirty{border-color:var(--pink);box-shadow:0 0 24px #ff00a255}.delete-photo-form{margin-top:10px}.delete-photo-form .button{width:100%}
