@font-face{font-family:AcademyBlackletter;src:url('/assets/UnifrakturMaguntia-Book.ttf') format('truetype');font-weight:400;font-display:swap}
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#393323;background:#f3efe5;font-synthesis:none;--gold:#9c7520;--border:#d4c6a1}
*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:48px 28px}header{padding:0 8px 28px}.brand-emblem{float:right;width:128px;height:128px;object-fit:contain;margin:0 0 12px 24px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.2em;color:#7c5c19}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,5vw,52px);letter-spacing:-.03em;line-height:1.1;margin:16px 0}h2{font-size:21px;letter-spacing:-.02em;margin:0 0 20px}p{line-height:1.6}section{background:#fffdf8;border:1px solid var(--border);padding:28px;border-radius:12px;margin:20px 0;box-shadow:0 8px 26px #39332305}label{display:block;font-size:14px;font-weight:600}input{width:100%;display:block;font:inherit;border:1px solid #bbad8a;border-radius:6px;padding:11px;margin-top:8px;background:white;color:#393323}input:focus{outline:3px solid #eadbb5;border-color:#8e6a1c}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5;margin:22px 0}.check input{width:auto;margin:4px 0 0;accent-color:#755311}button{font:inherit;background:#705218;color:white;border:0;border-radius:6px;padding:12px 18px;font-weight:600;cursor:pointer}button:hover{background:#523a0d}button:disabled{opacity:.55;cursor:wait}.secondary{background:#eee5d2;color:#574219}.secondary:hover{background:#e4d6b8}.actions,.section-head{display:flex;align-items:center;gap:12px;margin-top:20px}.section-head{justify-content:space-between;margin:0 0 20px}.section-head h2{margin:0}.muted,footer{color:#746b58;font-size:13px;overflow-wrap:anywhere}.notice{background:#f8edce;padding:12px 16px;border-radius:8px;color:#684c10}#message{overflow-wrap:anywhere}.error{color:#a82929}.success{color:#176944}article{padding:18px 0;border-top:1px solid #e2d9c6}article h3{margin:0 0 8px}article a{color:#765515;overflow-wrap:anywhere}article button{margin-top:16px}dl{display:grid;grid-template-columns:minmax(110px,1fr) 3fr;gap:12px}dt{font-weight:600}dd{margin:0;overflow-wrap:anywhere}footer{padding:16px 8px;line-height:1.6}[hidden]{display:none!important}
.certificate-sheet{position:relative;text-align:center;font-family:Georgia,"Times New Roman",serif;background:#fffcf3;border:1px solid #bfae79;border-radius:0;outline:1px solid #d7cba5;outline-offset:-13px;padding:42px 50px 32px;margin:32px 0;color:#3e3929;overflow-wrap:anywhere;box-shadow:0 10px 40px #5143210d}
.certificate-sheet .certificate-status{font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.12em;color:#794a15;background:#f5e6c9;padding:9px 14px;margin:0 auto 24px;max-width:max-content}
.certificate-sheet .certificate-title{font-family:AcademyBlackletter,Georgia,serif;font-size:clamp(28px,4.1vw,48px);font-weight:400;letter-spacing:0;line-height:1.22;margin:8px 0 22px}
.certificate-emblem{display:block;width:155px;height:155px;object-fit:contain;margin:0 auto 10px}.certificate-subtitle{font-size:clamp(17px,2.2vw,23px);margin:12px 0 36px}.certificate-intro{font-size:20px;margin:12px 0}.certificate-student{font-size:clamp(28px,3.6vw,40px);font-weight:700;line-height:1.25;margin:18px 0}.certificate-course{font-size:clamp(24px,3.1vw,34px);font-weight:700;line-height:1.3;margin:34px auto 18px;max-width:880px}.certificate-date{font-size:21px;margin:16px 0 40px}.certificate-recognition{font-size:17px;line-height:1.5;max-width:840px;margin:24px auto}.certificate-number{font:600 12px system-ui,sans-serif;letter-spacing:.08em;margin:28px 0 22px;color:#73633d}.certificate-organization{font-size:17px;margin:16px 0 0}
.certificate-verification{margin:24px auto;font-size:17px;line-height:1.5}.certificate-verification p{margin:0}.certificate-verification a{color:inherit;text-decoration:underline;text-underline-offset:3px}.certificate-verification .certificate-verification-note{font-size:14px;margin-top:8px}
.certificate-signature{display:block;width:320px;max-width:100%;aspect-ratio:460/106;object-fit:cover;object-position:center;margin:0 auto 8px}
.certificate-print-control{margin-top:24px;font:600 14px system-ui,sans-serif}
@media(max-width:600px){main{padding:28px 16px}section{padding:20px}.brand-emblem{width:76px;height:76px;margin-left:12px}.grid{grid-template-columns:1fr}dl{grid-template-columns:1fr}dd{margin-bottom:12px}.certificate-sheet{padding:32px 25px}.certificate-emblem{width:120px;height:120px}.certificate-subtitle{margin-bottom:26px}.certificate-intro,.certificate-date{font-size:17px}.certificate-recognition,.certificate-organization,.certificate-verification{font-size:15px}}
@page{size:A4 portrait;margin:12mm}
@media print{
  body:has(#certificate-preview:not([hidden])){background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body:has(#certificate-preview:not([hidden])) main{max-width:none;padding:0;margin:0}
  body:has(#certificate-preview:not([hidden])) main>:not(#certificate-preview):not(#workspace),#workspace:has(#certificate-preview:not([hidden]))>:not(#certificate-preview),.certificate-print-control{display:none!important}
  .certificate-sheet{margin:0;padding:20px 30px;box-shadow:none;break-inside:avoid}
  .certificate-sheet .certificate-status{font-size:9px;padding:5px 10px;margin-bottom:12px}
  .certificate-sheet .certificate-title{font-size:33px;margin:4px 0 14px}
  .certificate-emblem{width:100px;height:100px;margin-bottom:6px}
  .certificate-subtitle{font-size:18px;margin:8px 0 18px}
  .certificate-intro{font-size:16px;margin:8px 0}
  .certificate-student{font-size:30px;margin:12px 0}
  .certificate-course{font-size:24px;margin:20px auto 14px}
  .certificate-date{font-size:16px;margin:14px 0 20px}
  .certificate-recognition{font-size:13px;margin:16px auto}
  .certificate-number{font-size:10px;margin:18px 0 12px}
  .certificate-verification{font-size:14px;margin:12px auto}
  .certificate-verification .certificate-verification-note{font-size:11px;margin-top:6px}
  .certificate-signature{width:260px;margin-bottom:6px}
  .certificate-organization{font-size:12px;margin-top:12px}
}
