.generation-progress{width:min(680px,calc(100% - 36px));margin:30px auto 4px;padding:22px 24px;border:1px solid rgba(202,167,106,.28);background:rgba(14,27,21,.82);text-align:left;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.generation-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:13px;font-family:system-ui,sans-serif}
.generation-progress-head strong{color:var(--gold);font-size:27px;font-variant-numeric:tabular-nums;font-weight:600}
.generation-progress-head span{color:#a8b4ac;font-size:12px}
.generation-progress-track{height:8px;overflow:hidden;background:#1a2b23;border:1px solid rgba(202,167,106,.16)}
.generation-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#9b7740,#d5b875,#88b19a);box-shadow:0 0 24px rgba(213,184,117,.32);transition:width .65s ease}
.generation-progress small{display:block;margin-top:13px;color:#98a79e;font:12px/1.7 system-ui,sans-serif}
.download-pdf-button.is-downloading{cursor:wait;filter:saturate(.72);opacity:.86}
.unlock-page{display:flex;flex-direction:column;justify-content:center}.unlock-card{margin:28px 0;padding:30px;background:#101a15;color:#efe7d2;border:1px solid #b9914d;text-align:center}.unlock-card small{color:#d0aa67;font:11px system-ui;letter-spacing:.16em}.unlock-card h3{margin:16px 0 12px;font:29px/1.5 "Noto Serif SC","Songti SC",serif}.unlock-card p{color:#b7c0ba!important;text-align:center!important;font:13px/1.8 system-ui!important}.unlock-card button{margin-top:12px;padding:15px 22px;border:0;background:linear-gradient(135deg,#d7b36d,#b88d46);color:#11170f;cursor:pointer;font:700 14px system-ui}.unlock-card button:hover{filter:brightness(1.08)}.staged-opening .report-image{height:300px}.staged-opening h2{margin-top:12px}
@media(max-width:700px){.generation-progress{padding:18px 16px}.generation-progress-head{align-items:flex-start;flex-direction:column;gap:4px}.generation-progress-head strong{font-size:24px}}
@media(max-width:700px){.unlock-card{padding:22px 16px}.unlock-card h3{font-size:22px}.unlock-card button{width:100%}}
@media print{.unlock-card button{display:none}.unlock-card{margin-top:18mm}}
