
:root{--bg:#0a0e12;--card:#121b23;--line:#24384a;--tx:#eef4f8;--sub:#9ab4c4;--dim:#7d95a6;--ac:#3a8fc0;--red:#e86a5a;--green:#6ac48a;--gold:#e8c46a}
body{margin:0;background:radial-gradient(120% 80% at 50% -10%,#101820,var(--bg) 60%);color:var(--tx);font-family:-apple-system,"Hiragino Sans",sans-serif;padding:30px 18px;display:flex;justify-content:center}
main{max-width:680px;width:100%}
h1{font-size:22px;background:linear-gradient(180deg,#fff,#9ad0f0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}
.tag{color:var(--sub);font-size:13.5px;line-height:1.9}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}
h2{font-size:15px;color:var(--sub);margin-top:28px}
.warn{border:1px solid #6a4a2a;background:#1d1608;border-radius:10px;padding:10px 14px;font-size:12.5px;color:var(--gold);line-height:1.9;margin:12px 0}
.priv{border:1px solid #2a5a3a;background:#0d1a10;border-radius:10px;padding:10px 14px;font-size:12.5px;color:var(--green);line-height:1.9;margin:12px 0}
button{background:#1c3648;border:1px solid var(--ac);border-radius:12px;padding:13px 20px;color:#dff0fa;font-size:14px;cursor:pointer;width:100%}
button:disabled{opacity:.5}
#preview{max-width:280px;border-radius:10px;display:none;margin:12px auto}
#result{display:none;margin-top:12px}
.bar{height:10px;background:#0e161d;border-radius:5px;overflow:hidden;margin:4px 0 10px}
.bar>div{height:100%;border-radius:5px}
.cls{font-size:13px;display:flex;justify-content:space-between;color:var(--sub)}
.verdict{border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.9;margin-top:10px}
.v-see{border:1px solid #6a4a2a;background:#1d1608;color:var(--gold)}
.v-ok{border:1px solid #2a5a3a;background:#0d1a10;color:var(--green)}
.hidden-file{display:none}.shoot-tips{padding-left:18px}.barfill-mal,.barfill-ok{height:100%;border-radius:5px}.barfill-mal{background:#e86a5a}.barfill-ok{background:#3a8fc0}
.note{font-size:11.5px;color:#66798a;line-height:1.8;margin-top:8px}
.btn-gap{margin-top:8px}
.cprev{max-width:140px;border-radius:8px;display:none}
.next-step{margin-top:8px}
#status{color:var(--dim);font-size:12.5px;margin:8px 0}
a{color:#7cc4ea;text-decoration:none}
details{margin-top:10px;color:var(--sub);font-size:12.5px}
details summary{cursor:pointer;color:var(--ac)}
