html{height:100%;overflow:hidden;scroll-behavior:auto;scroll-padding:0}
.pdf-viewer{margin:0;padding:0;background:#050505;color:#f5f5f5;overflow:hidden;height:100vh;height:var(--reader-height,100dvh);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
.pdf-viewer [hidden]{display:none!important}
.viewer-header{display:flex;align-items:center;gap:14px;min-width:0;border-bottom:1px solid #292929;padding:4px max(12px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));padding-top:calc(4px + env(safe-area-inset-top))}
.reader-back{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;min-width:64px;font-size:14px;font-weight:600;color:var(--wasabi)}
.viewer-header h1{min-width:0;margin:0;font-size:15px;line-height:1.4;font-weight:650;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdf-viewer main{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;min-width:0;position:relative}
.pdf-canvas-wrap{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left));overflow:hidden;position:relative}
.pdf-canvas-wrap canvas{display:block;flex:none;max-width:100%;max-height:100%;object-fit:contain;touch-action:pan-x pan-y pinch-zoom}
.reader-loading,.reader-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;font-size:14px;line-height:1.7;color:#bcbcbc}
.reader-error{flex-direction:column}.reader-error p{margin:0}.reader-error button{min-height:44px;border:1px solid var(--wasabi);padding:8px 20px;color:var(--wasabi);border-radius:4px}
.pdf-canvas-wrap.has-page .reader-error{inset:auto 8px 8px;z-index:1;flex-direction:row;gap:12px;padding:12px;background:#171717;border:1px solid #555;font-size:13px;box-shadow:0 4px 18px #0008}
.pdf-canvas-wrap.has-page .reader-error button{flex-shrink:0;padding-inline:12px}
.reader-pagination{display:flex;align-items:center;justify-content:center;gap:20px;min-width:0;background:#111;border-top:1px solid #333;padding:6px max(12px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.reader-pagination>button{min-height:44px;min-width:80px;padding:8px 16px;font-size:14px;border:1px solid #444;border-radius:4px;font-weight:650}
.reader-pagination>button:last-child{background:var(--wasabi);border-color:var(--wasabi);color:#050505}.reader-pagination>button:disabled{opacity:.35;cursor:default}
.reader-pagination form{display:flex;align-items:center;gap:8px;white-space:nowrap}.reader-pagination input{width:46px;min-height:44px;text-align:center;border:1px solid #555;background:#050505;color:#fff;font-size:16px;border-radius:4px;appearance:textfield;-moz-appearance:textfield}.reader-pagination input::-webkit-inner-spin-button{appearance:none}.reader-pagination form>span{font-size:14px;color:#bbb;font-variant-numeric:tabular-nums}
.viewer-fallback{position:absolute;inset:30% 16px auto;text-align:center;background:#111;padding:24px;line-height:1.8}
@media(max-width:360px){.viewer-header{gap:8px}.viewer-header h1{font-size:14px}.reader-pagination{gap:12px}.reader-pagination>button{min-width:68px;padding-inline:10px}}
@media(max-height:450px){.pdf-canvas-wrap{padding-block:4px}.viewer-header{padding-block:0}.reader-pagination{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}}
@media print{.pdf-viewer{display:block;height:auto;overflow:visible}.pdf-viewer main,.viewer-header{display:none!important}.pdf-viewer:after{content:"이 교육자료는 사이트 내 열람 전용입니다.";display:block;padding:40px;color:#000}}
