body{min-height:100vh}
.wrap{width:min(1100px,calc(100% - 28px));margin:auto;padding:28px 0 70px}
.head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}
.head a{color:var(--cyan);text-decoration:none}
.stack{display:grid;gap:15px}
.box{border:1px solid var(--line);border-radius:19px;background:var(--panel);padding:22px;min-width:0}
.box h2{margin:0 0 8px}
.muted{line-height:1.55}
.phase{display:flex;align-items:center;flex-wrap:wrap;gap:15px}
.phase strong{color:var(--cyan)}
.user{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border-top:1px solid var(--line);padding:16px 0}
.user:last-child{padding-bottom:0}
.user:first-child{border-top:0}
.user b{font-size:16px}
.user small{display:block;margin-top:7px;color:var(--muted);line-height:1.6}
.user button{align-self:center}
.bid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;border-top:1px solid var(--line);padding:11px 0;font-size:13px}
.bid span:nth-child(2){color:var(--cyan)}
.empty{padding:30px;text-align:center}
.login{max-width:430px;margin:12vh auto}
.login input{width:100%;margin:9px 0 16px}
.login button{width:100%}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#2a5361;color:white;padding:10px 15px;border-radius:10px;display:none;z-index:5}
.toast.on{display:block}
.sequence{margin:15px 0 0}
.score-detail{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:11px}
.score-detail summary{cursor:pointer;color:var(--cyan);font-size:13px}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;font-size:13px}
.score-grid span{padding:9px;background:#0b2736;border-radius:8px}
.score-grid strong{color:#e8bf77}
.bid-head{display:grid;grid-template-columns:minmax(0,1fr) 100px 120px;gap:10px;color:var(--muted);font-size:12px;padding-bottom:8px}
.bid small{color:var(--muted)}
.vote-status{display:inline-block;margin:4px 0;padding:3px 8px;border-radius:999px;font-weight:750}
.vote-status.done{color:#8be0c4;background:#17493f}
.vote-status.partial{color:#f0c777;background:#4b3d20}
.vote-status.missing{color:#efa29d;background:#4c292c}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.section-heading h2{margin-bottom:5px}
.section-heading p{margin:0}
.review-progress{flex:0 0 auto;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--cyan);font-size:12px}
.score-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0 14px}
.score-filter{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#0b2736;color:var(--muted)}
.score-filter strong{color:#ecf8fb;font-size:17px}
.score-filter.active{border-color:#4fd1e566;background:#153b4a;color:var(--cyan);box-shadow:0 0 0 2px #4fd1e510}
.score-review-list{display:grid;gap:12px}
.score-review-card{padding:17px;border:1px solid var(--line);border-left:4px solid #65808d;border-radius:15px;background:#092533}
.score-review-card.pending{border-left-color:#e8bf77}
.score-review-card.verified{border-left-color:#6fd1ae}
.score-review-card.rejected{border-left-color:#e68d91}
.score-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.score-review-head h3{margin:0;font-size:18px}
.score-review-head p{margin:7px 0 0;color:var(--muted);font-size:12px}
.score-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.score-status{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.score-status.pending{color:#f0c777;background:#4b3d20}
.score-status.verified{color:#8be0c4;background:#17493f}
.score-status.rejected{color:#efa29d;background:#4c292c}
.score-total{flex:0 0 auto;text-align:right}
.score-total span{display:block;color:var(--muted);font-size:11px}
.score-total strong{display:block;margin-top:2px;color:#e8bf77;font-size:31px;line-height:1}
.score-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.score-highlights span{padding:10px 11px;border-radius:10px;background:#0e3040;color:var(--muted);font-size:12px}
.score-highlights strong{display:block;margin-top:4px;color:#edf8fb;font-size:15px}
.score-review-card .score-detail{margin-top:10px;background:#071f2b}
.evidence{margin-top:13px;padding:12px;border:1px solid #ffffff12;border-radius:10px;background:#061b26}
.evidence span{color:var(--cyan);font-size:11px;font-weight:800}
.evidence p{margin:6px 0 0;color:#c9d8df;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.score-review-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}
.score-review-actions:empty{display:none}
.sarkaz-tabs{position:sticky;top:10px;z-index:4;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#092431e8;box-shadow:0 12px 30px #020b1066;backdrop-filter:blur(12px)}
.sarkaz-tab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);text-align:left}
.sarkaz-tab span{font-size:15px;font-weight:800}
.sarkaz-tab small{font-size:11px}
.sarkaz-tab.active{border-color:#4fd1e54d;background:#153b4a;color:#ecfbff}
.sarkaz-tab.active small{color:var(--cyan)}
.supporting-stack{display:grid;gap:12px;margin-top:3px}
.collapsible-box{padding-top:18px;padding-bottom:18px}
.collapsible-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer}
.collapsible-summary::-webkit-details-marker{display:none}
.collapsible-summary h2{margin:0 0 4px;font-size:18px}
.collapsible-summary p{margin:0;font-size:12px}
.collapsible-summary>span{display:flex;align-items:center;gap:10px;color:var(--cyan);font-size:12px;white-space:nowrap}
.collapsible-summary>span:after{content:'展开';padding:4px 7px;border-radius:7px;background:#0b2736;color:var(--muted);font-size:10px}
.collapsible-box[open] .collapsible-summary{padding-bottom:15px;border-bottom:1px solid var(--line)}
.collapsible-box[open] .collapsible-summary>span:after{content:'收起'}
.collapsible-body{padding-top:16px}
.collapsible-body>p:first-child{margin-top:0}
.account-warning{margin:17px 0 5px;padding:11px 13px;border:1px solid #e8bf7738;border-radius:11px;background:#4b3d2038;color:#e5c783;font-size:12px;line-height:1.6}
@media(max-width:600px){
  .head,.user{grid-template-columns:1fr;display:grid}
  .phase{align-items:stretch}
  .phase button{width:100%}
  .bid,.bid-head{grid-template-columns:minmax(0,1fr) auto}
  .bid span:last-child,.bid-head span:last-child{grid-column:1/-1}
  .score-grid{grid-template-columns:1fr}
  .section-heading,.score-review-head{display:grid;grid-template-columns:1fr}
  .review-progress,.score-total{justify-self:start;text-align:left}
  .score-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .score-highlights{grid-template-columns:1fr}
  .score-review-actions{display:grid;grid-template-columns:1fr 1fr}
  .score-review-actions .action{width:100%;min-height:42px}
  .sarkaz-tabs{top:6px}
  .sarkaz-tab{display:grid;gap:3px;padding:10px 12px}
  .collapsible-summary{align-items:flex-start}
  .collapsible-summary>span{display:grid;justify-items:end;gap:5px}
}
