/* Account, login and works surfaces. Keeps the existing dark blue brand language. */
[hidden]{display:none!important}
.account-page{max-width:1268px}
.account-page.narrow{max-width:760px;margin:0 auto}
.account-head{margin-bottom:12px}
.account-head .page-title{margin-top:12px}
.account-bar{align-items:flex-start}
.account-bar .page-title{margin-top:8px}
.auth-signed{padding:54px}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:24px;margin-top:30px;align-items:start}
.auth-card{padding:34px}
.auth-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.auth-head h2{margin:0}
.auth-card label{margin-top:18px}
.auth-card label:first-of-type{margin-top:0}
.auth-card input{height:46px}
.captcha-row{display:flex;gap:10px;align-items:stretch;margin-top:8px}
.captcha-row input{margin:0;flex:1 1 auto;min-width:0}
.captcha-image-btn{width:132px;min-height:46px;flex:0 0 132px;padding:0;border:1px solid #ffffff25;background:#e8f1ff;border-radius:5px;overflow:hidden}
.captcha-image-btn img{display:block;width:100%;height:46px;object-fit:cover}
.sms-btn{flex:0 0 132px;min-height:46px;padding:10px 12px;font-size:12px;border-color:#6f8fca66;background:#152b51}
.auth-agree{margin-top:22px;line-height:1.8}
.auth-agree a{color:#9dbdff;text-decoration:underline;text-underline-offset:3px}
.auth-submit{width:100%;margin-top:22px;height:48px}
.auth-card .hint{line-height:1.8}
.qr-panel{text-align:center;padding:30px 26px}
.qr-panel h2{font-size:19px;margin-top:14px}
.qr-panel p{max-width:250px;margin:10px auto}
.qr-frame{margin:18px auto 12px;padding:14px;background:#07142b;border:1px solid #3e5d8d66;border-radius:14px;max-width:286px;box-shadow:0 20px 60px #00000055}
.qr-frame img{display:block;width:100%;height:auto;border-radius:8px}
.profile-hero{display:flex;align-items:center;gap:24px;padding:34px;margin-top:10px;background:linear-gradient(120deg,#0d1d3a,#09142a 62%)}
.avatar{width:68px;height:68px;flex:0 0 68px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d7e7ff,#7fa7f5);color:#07142b;font-size:26px;font-weight:800;box-shadow:0 0 0 5px #ffffff0d}
.profile-main{min-width:0;flex:1}
.profile-main .page-title{margin:6px 0 2px;font-size:34px}
.profile-main .lead{margin:0;font-size:12px}
.profile-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.profile-actions .btn{white-space:nowrap}
.account-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:24px;margin-top:24px}
.info-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:0}
.info-list>div{padding:13px 0;border-bottom:1px solid #ffffff12;min-width:0}
.info-list dt{font-size:10px;color:#8196b8;margin-bottom:3px}
.info-list dd{margin:0;font-size:12px;color:#e1ebff;overflow-wrap:anywhere}
.quick-links{display:grid;gap:10px}
.quick-links a{display:block;padding:14px 16px;border:1px solid #ffffff1a;background:#07142b;transition:.2s}
.quick-links a:hover{border-color:#8ab1ff;background:#0c1c39}
.quick-links strong{display:block;font-size:13px;color:#eaf2ff;font-weight:600}
.quick-links span{display:block;font-size:11px;color:#90a5c4;margin-top:3px;line-height:1.7}
.btn.danger-text{color:#ffb5bd;border-color:#ff8a9b44;background:#ff6f8210;margin-top:20px}
.btn.danger-text:hover{border-color:#ff9baa;background:#ff6f8218}
.mywork-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px}
.work-filter-tabs{margin:0}
.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}
.work-card{display:flex;flex-direction:column;background:#0a1428;border:1px solid #ffffff1a;color:var(--text);overflow:hidden;transition:.22s;min-width:0}
.work-card:hover{transform:translateY(-3px);border-color:#7da4e8aa;box-shadow:0 18px 50px #00000033}
.work-cover{position:relative;aspect-ratio:16/9;background:#08152c;overflow:hidden}
.work-cover img{display:block;width:100%;height:100%;object-fit:cover}
.work-cover.fallback{display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,#2b65a8 0,transparent 42%),radial-gradient(circle at 78% 72%,#1d8b89 0,transparent 45%),linear-gradient(135deg,#0a1a38,#071226)}
.work-cover.fallback.track-robot{background:radial-gradient(circle at 22% 24%,#3d70d8 0,transparent 42%),radial-gradient(circle at 80% 74%,#193e86 0,transparent 48%),linear-gradient(135deg,#0a1a38,#071226)}
.work-cover.fallback.track-opc{background:radial-gradient(circle at 25% 22%,#7765c8 0,transparent 44%),radial-gradient(circle at 78% 76%,#2f4f9a 0,transparent 50%),linear-gradient(135deg,#0a1832,#071226)}
.work-cover.fallback.track-aigc{background:radial-gradient(circle at 24% 20%,#27a19b 0,transparent 42%),radial-gradient(circle at 78% 72%,#2b5fbe 0,transparent 48%),linear-gradient(135deg,#0a1a38,#071226)}
.work-cover.fallback span{font-size:52px;color:#d9e8ff;opacity:.72;filter:drop-shadow(0 0 20px #9dc8ff55)}
.work-card-body{padding:19px 20px 20px;display:flex;flex-direction:column;flex:1;min-width:0}
.work-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}
.track-badge{display:inline-block;padding:3px 9px;border:1px solid #8cb2ff44;background:#2d528a33;color:#c5d9ff;border-radius:3px;font-size:10px;letter-spacing:.3px}
.track-badge.track-robot{border-color:#7fa6ff55;background:#315c9b33;color:#c8dcff}
.track-badge.track-opc{border-color:#b19cff55;background:#5d4d9b33;color:#ddd4ff}
.track-badge.track-aigc{border-color:#6ee0cf55;background:#1b7f7733;color:#c9fff6}
.status-pill{display:inline-block;padding:3px 9px;border-radius:3px;font-size:10px;border:1px solid #ffffff22;color:#b9c8dd;background:#ffffff08}
.status-draft{color:#c8d3e6;border-color:#b7c4da44;background:#9aa9c010}
.status-submitted{color:#bcd4ff;border-color:#6e9cff55;background:#3f6fcb22}
.status-reviewing{color:#ffe1a3;border-color:#e7bd6666;background:#c6943518}
.status-published{color:#a7f0d7;border-color:#5fceae66;background:#2a927018}
.status-rejected{color:#ffb9c0;border-color:#ff839166;background:#c9455818}
.work-card h2{font-size:18px;line-height:1.5;margin:13px 0 6px;overflow-wrap:anywhere}
.work-card p{font-size:12px;line-height:1.8;color:#9fb1cd;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px}
.work-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8499b9;border-top:1px solid #ffffff14;margin-top:16px;padding-top:12px;flex-wrap:wrap}
.work-card-actions{display:flex;align-items:center;gap:9px;margin-top:14px;flex-wrap:wrap}
.btn.small{padding:8px 12px;font-size:11px;gap:8px}
.link-danger{color:#ffb5bd!important;background:none;border:0;padding:0;font-size:12px}
.gallery-toolbar{display:flex;gap:10px;align-items:stretch;margin-top:25px;max-width:620px}
.gallery-toolbar input{margin:0;height:44px}
.gallery-toolbar .btn{flex:0 0 88px;padding:10px 14px}
.gallery-tabs{margin:22px 0 0}
.gallery-meta{font-size:11px;color:#859bb9;margin:15px 0 0}
.gallery-more{text-align:center;margin-top:30px}
.works-empty{grid-column:1/-1;margin-top:0}
.work-detail-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);background:linear-gradient(120deg,#0d1d3a,#09142a 60%);border:1px solid #ffffff1a;margin:0 0 24px}
.work-detail-cover{min-height:330px;background:#071226;overflow:hidden}
.work-detail-cover .work-cover{height:100%;aspect-ratio:auto;min-height:330px}
.work-detail-info{padding:36px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.work-detail-info .eyebrow{margin-top:22px}
.work-detail-info h1{font-size:36px;line-height:1.35;margin:8px 0 10px;overflow-wrap:anywhere}
.work-detail-info .lead{margin:0 0 18px;font-size:13px;line-height:1.9}
.work-detail-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#91a7c6;margin-bottom:22px}
.work-detail-body{background:#0a1428;border:1px solid #ffffff1a;padding:34px}
.work-section{padding:26px 0;border-top:1px solid #ffffff14}
.work-section:first-child{padding-top:0;border-top:0}
.work-section h2{font-size:18px;margin:0 0 13px}
.work-section p{font-size:13px;line-height:2;color:#b4c4dc;max-width:860px;margin:0}
.work-section .pre{white-space:normal}
.work-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:8px}
.work-facts>div{padding:12px 14px;border:1px solid #ffffff12;background:#07142b;min-width:0}
.work-facts span{display:block;font-size:10px;color:#7f94b4;margin-bottom:4px}
.work-facts strong{display:block;font-size:12px;color:#dfeaff;font-weight:500;overflow-wrap:anywhere}
.link-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.link-list a{color:#a8c8ff;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.work-submit-meta .hint{margin-top:14px}
.work-editor{margin-top:24px;padding:32px}
.work-editor .track-fields{border-top:1px solid #ffffff18;margin-top:28px;padding-top:26px}
.work-editor .track-fields h2{font-size:19px;margin:0 0 20px}
.work-editor .track-fields[hidden]{display:none!important}
.editor-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:8px}
.editor-status .hint{margin:0}
.upload-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.upload-control .hint{margin:0}
.upload-preview:empty{display:none}
.upload-preview img{display:block;max-width:260px;max-height:180px;border:1px solid #ffffff22;border-radius:6px;object-fit:cover}
.upload-preview .text-link{font-size:12px}
.upload-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.upload-list:empty{display:none}
.upload-chip{display:inline-block;padding:6px 10px;border:1px solid #ffffff22;background:#07142b;border-radius:4px;font-size:11px}
.upload-chip a{color:#a8c8ff}
.work-editor-actions{justify-content:flex-end;margin-top:30px;padding-top:24px;border-top:1px solid #ffffff14}
.form-error{border:1px solid #ff8c9b55;background:#3c1420;color:#ffc3ca;padding:11px 14px;font-size:12px;line-height:1.8;margin-top:20px;border-radius:4px}
.skeleton-card{pointer-events:none}
.skeleton-cover{aspect-ratio:16/9;background:linear-gradient(100deg,#0d1d38 20%,#14294b 40%,#0d1d38 60%);background-size:200% 100%;animation:hk-shimmer 1.4s infinite linear}
.skeleton-line{display:block;height:10px;background:#ffffff0d;margin-top:12px;border-radius:3px}
.skeleton-line.short{width:38%}
.work-card .hint{margin:0}
.register-qr{display:flex;gap:18px;align-items:center;margin:18px 0 4px;padding:14px;border:1px solid #3f5f8f66;background:#07142b;border-radius:8px}
.register-qr img{width:170px;height:170px;flex:0 0 170px;border-radius:7px}
.register-qr h3{margin:0 0 6px;font-size:16px;color:#eaf2ff}
.register-qr p{margin:0;font-size:12px;line-height:1.8;color:#9fb3d0}
.qr-inline{display:flex;align-items:center;gap:24px;margin-top:24px;padding:22px}
.qr-inline img{width:180px;height:180px;flex:0 0 180px}
.qr-inline h2{margin:0 0 8px}
.qr-inline p{margin:0}
@keyframes hk-shimmer{to{background-position:-200% 0}}
@media(max-width:1050px){
  .auth-layout{grid-template-columns:1fr}
  .qr-panel{display:grid;grid-template-columns:180px 1fr;gap:20px;text-align:left;align-items:center}
  .qr-panel .eyebrow,.qr-panel h2,.qr-panel>p{grid-column:2}
  .qr-panel .qr-frame{grid-column:1;grid-row:1/4;margin:0;padding:10px}
  .qr-panel .hint{margin:0}
  .profile-hero{align-items:flex-start;flex-wrap:wrap}
  .profile-actions{margin-left:92px}
  .account-grid{grid-template-columns:1fr}
}
/* Judging workspace */
.judging-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px}
.judging-tabs{margin:0}
.judging-filter-tabs{margin:0}
.judging-search{flex:1 1 240px;max-width:320px;min-width:180px}
.judging-search input{margin:0;height:42px}
.judging-card .work-card-actions{align-items:center;margin-top:auto}
.score-badge.pending{color:#ffcea8;border-color:#e7a35f66;background:#b0782c18}
.score-badge{color:#a7f0d7;border-color:#5fceae66;background:#2a927018}
.judging-score-form{display:grid;gap:18px;margin-top:18px}
.judging-score-form label{margin:0}
.judging-score-form input[type="number"]{max-width:160px}
.judging-modal-work{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #ffffff1a;background:#07142b;margin-bottom:8px}
.judging-modal-work strong{font-size:16px;color:#eaf2ff}
.judging-modal-work span{font-size:11px;color:#90a5c4}
.stat-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}
.stat-box{text-align:center;padding:24px}
.stat-box strong{display:block;font-size:36px;font-weight:500;color:#d6e6ff;margin-bottom:6px}
.stat-box p{margin:0;font-size:11px;color:#90a5c4;letter-spacing:1px}

@media(max-width:750px){
  .account-head .page-title{font-size:32px}
  .auth-card,.auth-signed{padding:23px}
  .auth-head{align-items:flex-start;flex-direction:column;gap:8px}
  .captcha-image-btn{width:112px;flex-basis:112px}
  .sms-btn{flex-basis:112px;font-size:11px}
  .qr-panel{display:block;text-align:center}
  .qr-panel .qr-frame{margin:16px auto}
  .qr-panel p{margin:10px auto}
  .profile-hero{padding:24px;gap:16px}
  .avatar{width:54px;height:54px;flex-basis:54px;font-size:21px}
  .profile-main .page-title{font-size:27px}
  .profile-actions{margin-left:0;width:100%;justify-content:flex-start}
  .info-list{grid-template-columns:1fr}
  .works-grid{grid-template-columns:1fr}
  .work-detail-hero{grid-template-columns:1fr}
  .work-detail-cover,.work-detail-cover .work-cover{min-height:230px}
  .work-detail-info{padding:24px}
  .work-detail-info h1{font-size:28px}
  .work-detail-body{padding:24px}
  .work-editor{padding:22px}
  .work-editor-actions{justify-content:stretch}
  .work-editor-actions .btn{flex:1;text-align:center}
  .register-qr{align-items:flex-start}
  .register-qr img{width:120px;height:120px;flex-basis:120px}
  .qr-inline{display:block;text-align:center}
  .qr-inline img{margin:0 auto 16px}
  .account-bar{flex-direction:column;align-items:flex-start}
  .mywork-summary{flex-direction:column;align-items:flex-start;gap:12px}
  .gallery-toolbar{max-width:none}
  .judging-controls{flex-direction:column;align-items:stretch;gap:12px}
  .judging-search{max-width:none}
  .stat-boxes{grid-template-columns:1fr}
}
