/* 승인 보스 격파 시안 기반 실제 체크포인트 */
#checkpoint-screen { display:block; padding:0; gap:0; border:0; text-align:left; background:#101c1c; color:#eadabc; font-family:Myeongwon,serif; line-height:normal; overflow:hidden; }
#checkpoint-screen button { font:inherit; cursor:pointer; }
#checkpoint-screen h1,#checkpoint-screen h2,#checkpoint-screen p { margin:0; font-weight:400; }
#checkpoint-screen .victory-scene { position:relative; height:172px; isolation:isolate; }
#checkpoint-screen .victory-scene::before { content:''; position:absolute; inset:0 0 -10px; z-index:-2; background:linear-gradient(90deg,#0b161ace 5%,#0b161a50 65%),var(--checkpoint-landscape,none) center 48%/cover; }
#checkpoint-screen .victory-scene::after { content:''; position:absolute; inset:65px 0 -12px; z-index:1; background:linear-gradient(transparent 30%,#101c1c); pointer-events:none; }
#checkpoint-screen .eyebrow { position:relative; z-index:3; padding:19px 24px 0; display:flex; justify-content:space-between; color:#cfbd96; font-size:12px; }
#checkpoint-screen .eyebrow span { color:#d9c391; }
#checkpoint-screen .victory-heading { position:absolute; top:66px; left:24px; z-index:2; }
#checkpoint-screen .chapter-line { display:block; width:34px; height:3px; margin-bottom:12px; background:#c8ac71; transform:rotate(-4deg); }
#checkpoint-screen .victory-heading h1 { color:#f4e4bf; font-size:36px; line-height:1.1; text-shadow:2px 3px #071312; }
#checkpoint-screen .victory-heading p { margin-top:12px; font-size:13px; color:#c9bd9f; }
#checkpoint-screen .defeated-boss { position:absolute; right:8px; top:36px; width:150px; height:154px; object-fit:contain; filter:saturate(.55) brightness(.8); }
#checkpoint-screen .reward { position:relative; margin:0 24px; padding:0 0 12px; }
#checkpoint-screen .reward-heading { display:flex; align-items:center; justify-content:center; gap:11px; }
#checkpoint-screen .reward-heading h2 { font-size:17px; color:#e4c994; }
#checkpoint-screen .paid { color:#b5c9b4; font-size:11px; padding-top:2px; }
#checkpoint-screen .reward-value { height:68px; display:flex; align-items:center; justify-content:center; gap:8px; color:#efd399; }
#checkpoint-screen .reward-value strong { font:54px/1 Georgia,serif; letter-spacing:-3px; }
#checkpoint-screen .ui-action { min-height:0; border-radius:0; }
#checkpoint-screen #checkpoint-hint { font-size:11px; line-height:1.5; }
#checkpoint-screen #checkpoint-total { font-size:12px; line-height:normal; color:#e0c896; }
#checkpoint-screen #checkpoint-retry { display:block; width:100%; height:34px; min-height:34px; margin:0 0 10px; padding:4px 12px; font-size:16px; }
#checkpoint-screen.save-failed .victory-scene { height:156px; }
#checkpoint-screen.save-failed .reward-value { height:52px; }
#checkpoint-screen.save-failed .choices { bottom:14px; }
#checkpoint-screen.save-failed #checkpoint-hint { color:#e3ba8e; margin-bottom:8px; }
body:has(#checkpoint-screen.save-failed:not([hidden])) #save-notice { display:none; }
#checkpoint-screen [hidden] { display:none!important; }
#checkpoint-screen .reward-icon { width:46px; height:48px; transform:rotate(-11deg); }
#checkpoint-screen .reward-icon svg { width:100%; height:100%; stroke-width:1.1; }
#checkpoint-screen .reward-icon svg path:first-child { fill:#9d88553b; }
#checkpoint-screen .reward-breakdown { display:flex; align-items:center; justify-content:center; gap:14px; font-size:13px; color:#bdbba5; }
#checkpoint-screen .reward-breakdown b { font:16px Georgia,serif; margin-left:7px; color:#e2cd9f; }
#checkpoint-screen .reward-breakdown i { height:11px; width:1px; background:#897c534f; }
#checkpoint-screen .earned { display:flex; justify-content:space-between; margin-top:12px; padding:12px 0 0; border-top:1px solid #8e805536; font-size:12px; color:#aab5a8; }
#checkpoint-screen .earned b { font-weight:400; color:#e0c896; margin-left:4px; }
#checkpoint-screen .journey { margin:0 24px; }
#checkpoint-screen .current-state { display:flex; gap:23px; align-items:center; padding:5px 0 9px; color:#b6c2b4; font-size:12px; }
#checkpoint-screen .current-state>span { display:flex; align-items:center; gap:5px; }
#checkpoint-screen .current-state i { display:block; width:16px; height:16px; color:#a5cfb6; }
#checkpoint-screen .current-state svg { width:16px; height:16px; }
#checkpoint-screen .current-state b { color:#dbdecc; font-weight:400; }
#checkpoint-screen .next-goal { position:relative; display:flex; align-items:center; justify-content:space-between; padding:10px 17px 12px; isolation:isolate; }
#checkpoint-screen .next-goal::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(110deg,#31443a9e,#23322e4d); clip-path:polygon(1% 7%,96% 0,100% 89%,2% 100%,0 51%); }
#checkpoint-screen .next-goal p { font-size:11px; color:#aebdaa; }
#checkpoint-screen .next-goal h2 { font-size:21px; margin:3px 0 6px; color:#e6d8b6; }
#checkpoint-screen .next-goal div>span { font-size:12px; color:#c0b793; }
#checkpoint-screen .path-arrow { width:28px; height:28px; color:#c4ac77; }
#checkpoint-screen .path-arrow svg { width:100%; height:100%; }
#checkpoint-screen .choices { position:absolute; bottom:24px; left:24px; right:24px; }
#checkpoint-screen .safe-note { text-align:center; font-size:11px; color:#a8b6a5; margin-bottom:13px; }
#checkpoint-screen .continue { display:flex; align-items:center; justify-content:center; gap:28px; width:100%; height:51px; font-size:23px; padding:6px 18px; }
#checkpoint-screen .continue span { width:25px; height:25px; }
#checkpoint-screen .continue svg { width:100%; height:100%; }
#checkpoint-screen .secondary-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:11px; }
#checkpoint-screen .secondary-choices button { height:47px; font-size:15px; padding:7px 5px; }
#checkpoint-screen .secondary-choices small { display:block; font-size:9px; margin-top:3px; }
