.pcc-wrap{max-width:680px;margin:1.5rem auto;--pcc-accent:#2457c5;--pcc-ok:#1d8a4e;--pcc-warn:#b26b00;--pcc-bad:#b42318;--pcc-line:#d6dbe4;--pcc-soft:#f4f6fa}
.pcc-card{background:#fff;border:1px solid var(--pcc-line);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;color:#1c2333}
.pcc-card h3{margin:0 0 .4rem;font-size:1.25rem}
.pcc-card h4{margin:1rem 0 .4rem;font-size:1rem}
.pcc-card label{font-weight:600;font-size:.95rem;margin-top:.4rem}
.pcc-card input[type=text]{padding:.6rem .75rem;border:1px solid var(--pcc-line);border-radius:8px;font-size:1rem;width:100%;box-sizing:border-box}
.pcc-card input[type=file]{font-size:.95rem}
.pcc-check{font-weight:400!important;display:flex;gap:.5rem;align-items:flex-start;line-height:1.4}
.pcc-check input{margin-top:.25rem}
.pcc-btn{background:var(--pcc-accent);color:#fff;border:0;border-radius:8px;padding:.75rem 1.2rem;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.6rem;align-self:flex-start}
.pcc-btn:disabled{opacity:.55;cursor:wait}
.pcc-link{background:none;border:0;color:var(--pcc-accent);cursor:pointer;padding:0;align-self:flex-start;font-size:.9rem;margin-top:.4rem}
.pcc-error{color:var(--pcc-bad);margin:0;min-height:1em}
.pcc-warn{background:#fff6e5;border-left:4px solid var(--pcc-warn);padding:.6rem .8rem;margin:0;border-radius:4px}
.pcc-tip{color:#5a6478;font-size:.9rem;margin:0}
.pcc-classinfo{background:var(--pcc-soft);padding:.6rem .8rem;border-radius:8px}
.pcc-preview{width:100%;max-height:320px;border-radius:8px;background:#000}
.pcc-bar-row,.pcc-score{display:grid;grid-template-columns:10rem 1fr auto;gap:.75rem;align-items:center}
.pcc-bar-row{grid-template-columns:14rem 1fr}
.pcc-bar{height:10px;background:var(--pcc-soft);border-radius:5px;overflow:hidden}
.pcc-bar-fill{height:100%;width:0;background:var(--pcc-accent);transition:width .3s}
.pcc-score b{min-width:2rem;text-align:right}
.pcc-done h3{color:var(--pcc-ok)}
.pcc-about{margin-top:1.5rem}
@media (max-width:520px){.pcc-bar-row,.pcc-score{grid-template-columns:1fr}.pcc-card{padding:1rem}}
