:root{--isf-ink:#f4f8f6;--isf-muted:#a9b9b1;--isf-forest:#153e31;--isf-copper:#dc8440;--isf-night:#07110d;--isf-line:rgba(255,255,255,.11);--isf-paper:#fffefa;--isf-toolbar-h:66px;--isf-status-h:36px}
.isf-viewer,.isf-viewer *{box-sizing:border-box}.isf-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.isf-viewer{z-index:2147483000;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--isf-ink);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}
.isf-viewer::backdrop{background:rgba(2,7,5,.88);backdrop-filter:blur(10px)}.isf-viewer[open]{display:block;animation:isf-in .24s ease-out both}.isf-viewer.is-closing{animation:isf-out .18s ease-in both}.isf-shell{width:100%;height:100%;display:grid;grid-template-rows:var(--isf-toolbar-h) 3px minmax(0,1fr) var(--isf-status-h);overflow:hidden;background:radial-gradient(ellipse at 50% 18%,rgba(66,112,89,.24),transparent 48%),linear-gradient(160deg,#0d1b16,var(--isf-night) 55%,#050b08)}
.isf-toolbar,.isf-statusbar{position:relative;z-index:50;display:flex;align-items:center;border-color:var(--isf-line);background:rgba(8,18,14,.88);backdrop-filter:blur(18px) saturate(130%)}.isf-toolbar{justify-content:space-between;gap:16px;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));border-bottom:1px solid var(--isf-line)}.isf-toolbar__start,.isf-toolbar__center,.isf-toolbar__end{display:flex;align-items:center;gap:8px;min-width:0}.isf-toolbar__start{flex:1}.isf-toolbar__center{flex:none}.isf-toolbar__end{flex:1;justify-content:flex-end}.isf-title-wrap{min-width:0;display:grid;gap:1px}.isf-title-wrap span{color:#e5a26e;font-size:9px;font-weight:900;letter-spacing:.17em}.isf-title-wrap strong{max-width:min(38vw,520px);overflow:hidden;color:#fff;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.isf-icon-button,.isf-edge{appearance:none;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);color:#eef5f1;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,opacity .18s}.isf-icon-button{width:42px;height:42px;flex:0 0 42px;padding:0;border-radius:13px}.isf-icon-button svg,.isf-edge svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.isf-icon-button:hover{border-color:rgba(255,255,255,.23);background:rgba(255,255,255,.13);transform:translateY(-1px)}.isf-icon-button:focus-visible,.isf-edge:focus-visible,.isf-tabs button:focus-visible,.isf-page-field input:focus-visible{outline:2px solid #f2a668;outline-offset:2px}.isf-icon-button:disabled,.isf-edge:disabled{opacity:.28;cursor:default;transform:none}.isf-icon-button[aria-pressed=true]{border-color:rgba(242,166,104,.6);background:rgba(220,132,64,.2);color:#ffc18c}.isf-close:hover{background:rgba(213,72,72,.18);border-color:rgba(238,107,107,.42)}
.isf-page-field{min-width:118px;height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(0,0,0,.2);color:var(--isf-muted);font-size:13px;font-variant-numeric:tabular-nums}.isf-page-field input{width:48px;padding:3px 4px;border:0;border-radius:6px;background:transparent;color:#fff;font:inherit;font-weight:850;text-align:right}
.isf-loadline{position:relative;z-index:60;overflow:hidden;background:rgba(255,255,255,.05)}.isf-loadline span{display:block;width:0;height:100%;background:linear-gradient(90deg,#c66b31,#ffb77d,#e28a47);box-shadow:0 0 18px rgba(244,155,87,.55);transition:width .24s cubic-bezier(.2,.8,.2,1),opacity .4s}.isf-loadline.is-loading span{width:28%;animation:isf-run 1.2s ease-in-out infinite}
.isf-workspace{position:relative;min-height:0;display:grid;grid-template-columns:0 minmax(0,1fr);transition:grid-template-columns .3s cubic-bezier(.2,.8,.2,1)}.isf-viewer.is-sidebar-open .isf-workspace{grid-template-columns:min(330px,30vw) minmax(0,1fr)}.isf-sidebar{position:relative;z-index:45;min-width:0;height:100%;overflow:hidden;border-right:1px solid var(--isf-line);background:rgba(13,28,22,.97);box-shadow:18px 0 44px rgba(0,0,0,.22);opacity:0;transform:translateX(-18px);transition:opacity .22s,transform .3s cubic-bezier(.2,.8,.2,1)}.isf-viewer.is-sidebar-open .isf-sidebar{opacity:1;transform:none}.isf-sidebar__head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 18px}.isf-sidebar__head .isf-icon-button{width:36px;height:36px;flex-basis:36px}.isf-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 12px 12px;padding:4px;border-radius:12px;background:rgba(255,255,255,.06)}.isf-tabs button{min-height:38px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--isf-muted);cursor:pointer;font:inherit;font-size:12px;font-weight:800}.isf-tabs button[aria-selected=true]{background:rgba(255,255,255,.12);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.18)}.isf-panel{height:calc(100% - 108px);overflow:auto;padding:4px 12px 24px;scrollbar-width:thin}.isf-scrim{display:none}
.isf-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.isf-thumb{content-visibility:auto;contain-intrinsic-size:130px 190px;padding:7px;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.04);color:var(--isf-muted);cursor:pointer;font:inherit;font-size:11px;text-align:center;transition:.18s}.isf-thumb:hover{transform:translateY(-2px);background:rgba(255,255,255,.08)}.isf-thumb.is-current{border-color:rgba(236,153,86,.76);background:rgba(220,132,64,.14);color:#fff}.isf-thumb__paper{position:relative;display:block;aspect-ratio:210/297;overflow:hidden;margin-bottom:7px;border-radius:6px;background:#e9ece9;box-shadow:0 8px 18px rgba(0,0,0,.28)}.isf-thumb img{width:100%;height:100%;display:block;object-fit:contain;background:#fff;opacity:0;transition:opacity .2s}.isf-thumb.is-ready img{opacity:1}.isf-list{display:grid;gap:5px}.isf-list button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 11px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025);color:#dbe6e0;cursor:pointer;font:inherit;font-size:12px;text-align:left}.isf-list button:hover{background:rgba(255,255,255,.08)}.isf-list small{color:var(--isf-muted)}.isf-list i{width:8px;height:8px;border-radius:50%;background:var(--isf-copper);box-shadow:0 0 12px rgba(220,132,64,.65)}.isf-empty{margin:26px 12px;color:var(--isf-muted);font-size:13px;line-height:1.7;text-align:center}
.isf-stage{position:relative;min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;isolation:isolate;perspective:2200px}.isf-stage:before{content:"";position:absolute;z-index:-1;left:50%;bottom:4.5%;width:min(82vw,1320px);height:12%;border-radius:50%;background:rgba(0,0,0,.63);filter:blur(35px);transform:translateX(-50%)}.isf-book{width:min(90vw,1420px);height:calc(100% - 42px);max-height:1018px;filter:drop-shadow(0 30px 36px rgba(0,0,0,.42));transform:translateZ(0);will-change:transform}.isf-page{position:relative;overflow:hidden;background:var(--isf-paper);color:#16251f;-webkit-user-select:none;user-select:none}.isf-page__paper{position:absolute;inset:0;overflow:hidden;background:var(--isf-paper)}.isf-page__paper:before{content:"";position:absolute;z-index:4;inset:0;background:repeating-linear-gradient(0deg,rgba(92,65,33,.012) 0,rgba(92,65,33,.012) 1px,transparent 1px,transparent 4px),linear-gradient(90deg,rgba(64,43,23,.07),transparent 5%,transparent 95%,rgba(64,43,23,.09));mix-blend-mode:multiply;pointer-events:none}.isf-page__paper:after{content:"";position:absolute;z-index:8;right:-1px;bottom:-1px;width:76px;height:76px;clip-path:polygon(100% 0,0 100%,100% 100%);background:linear-gradient(135deg,transparent 43%,rgba(255,255,255,.94) 47%,#e8e0d4 62%,rgba(34,29,23,.3));filter:drop-shadow(-8px -6px 8px rgba(0,0,0,.16));opacity:0;transform:translate(30%,30%) scale(.62);transform-origin:100% 100%;transition:opacity .2s,transform .32s cubic-bezier(.2,.8,.2,1);pointer-events:none}@media (hover:hover) and (pointer:fine){.isf-page:hover .isf-page__paper:after{opacity:.92;transform:none}}
.isf-page img{position:absolute;z-index:2;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#fff;opacity:0;pointer-events:none;transition:opacity .24s;-webkit-user-drag:none}.isf-page.is-ready img{opacity:1}.isf-page__skeleton{position:absolute;z-index:1;inset:0;display:grid;align-content:center;justify-items:center;gap:15px;background:linear-gradient(100deg,#f5f1e9 20%,#fffdfa 38%,#f5f1e9 56%);background-size:220% 100%;animation:isf-shimmer 1.55s linear infinite}.isf-page__skeleton:before{content:"";width:35%;aspect-ratio:1;border:2px solid rgba(23,62,49,.12);border-top-color:rgba(23,62,49,.46);border-radius:50%;animation:isf-spin .8s linear infinite}.isf-page__skeleton span{color:rgba(23,62,49,.5);font-size:12px;font-weight:800}.isf-page.is-ready .isf-page__skeleton{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}.isf-watermark{position:absolute;z-index:7;top:50%;left:50%;width:94%;color:#173d30;font-size:clamp(11px,1.32vw,20px);font-weight:900;letter-spacing:-.015em;line-height:1;opacity:.12;text-align:center;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:none}.isf-page-number{position:absolute;z-index:7;right:14px;bottom:10px;color:rgba(20,48,37,.45);font:700 10px/1 system-ui;pointer-events:none}
.isf-edge{position:absolute;z-index:32;top:50%;width:52px;height:72px;border-radius:18px;background:rgba(8,18,14,.48);backdrop-filter:blur(12px);transform:translateY(-50%)}.isf-edge:hover{background:rgba(21,62,49,.82);transform:translateY(-50%) scale(1.04)}.isf-edge--prev{left:max(14px,2vw)}.isf-edge--next{right:max(14px,2vw)}
.isf-loader,.isf-error{position:absolute;z-index:40;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;background:radial-gradient(circle at center,rgba(26,56,44,.95),rgba(6,13,10,.98) 58%);text-align:center;transition:opacity .36s,visibility 0s .36s}.isf-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.isf-loader strong,.isf-error strong{color:#fff;font-size:17px}.isf-loader>span,.isf-error p{max-width:560px;margin:0;color:var(--isf-muted);font-size:12px;line-height:1.6}.isf-loader__book{position:relative;width:74px;height:54px;margin-bottom:7px;perspective:260px}.isf-loader__book i{position:absolute;left:50%;top:0;width:34px;height:48px;border-radius:2px 8px 8px 2px;background:linear-gradient(90deg,#f0e7d9,#fffdf7);box-shadow:inset 3px 0 6px rgba(58,37,18,.14);transform-origin:left center;animation:isf-loader-page 1.35s cubic-bezier(.55,.1,.35,.9) infinite}.isf-loader__book i:nth-child(2){animation-delay:.18s}.isf-loader__book i:nth-child(3){animation-delay:.36s}.isf-progress{width:min(280px,70vw);height:5px;overflow:hidden;margin-top:6px;border-radius:999px;background:rgba(255,255,255,.1)}.isf-progress span{display:block;width:8%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d77635,#ffc08d);box-shadow:0 0 14px rgba(234,145,76,.46);transition:width .22s}.isf-error[hidden]{display:none}.isf-error>b{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,160,110,.4);border-radius:50%;background:rgba(196,79,49,.14);color:#ffb38a;font-size:23px}.isf-error a{min-height:44px;display:grid;place-items:center;padding:0 22px;border-radius:14px;background:linear-gradient(135deg,var(--isf-forest),#225f49);color:#fff!important;font-weight:800;text-decoration:none!important}.isf-statusbar{justify-content:space-between;gap:16px;padding:0 max(16px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:1px solid var(--isf-line);color:var(--isf-muted);font-size:11px}.isf-statusbar span:first-child{color:#dce8e2}body.isf-no-scroll{overflow:hidden!important}
@keyframes isf-in{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}@keyframes isf-out{to{opacity:0;transform:scale(.992)}}@keyframes isf-run{from{transform:translateX(-120%)}to{transform:translateX(460%)}}@keyframes isf-spin{to{transform:rotate(360deg)}}@keyframes isf-shimmer{to{background-position:-220% 0}}@keyframes isf-loader-page{0%,18%{transform:rotateY(0)}68%,100%{transform:rotateY(-180deg)}}
@media(max-width:820px){:root{--isf-toolbar-h:60px;--isf-status-h:34px}.isf-toolbar{gap:6px;padding-inline:8px}.isf-title-wrap{display:none}.isf-toolbar__start,.isf-toolbar__end{flex:0 0 auto}.isf-toolbar__center{flex:1;justify-content:center}.isf-desktop-only{display:none}.isf-icon-button{width:40px;height:40px;flex-basis:40px}.isf-page-field{min-width:103px;height:40px}.isf-workspace,.isf-viewer.is-sidebar-open .isf-workspace{display:block}.isf-sidebar{position:absolute;inset:0 auto 0 0;width:min(86vw,350px);transform:translateX(-102%);opacity:1}.isf-viewer.is-sidebar-open .isf-sidebar{transform:none}.isf-scrim{position:absolute;z-index:44;inset:0;width:100%;height:100%;border:0;background:rgba(1,7,4,.58);opacity:0;pointer-events:none;transition:opacity .22s}.isf-viewer.is-sidebar-open .isf-scrim{display:block;opacity:1;pointer-events:auto}.isf-stage{width:100%;height:100%}.isf-book{width:calc(100vw - 20px);height:calc(100% - 18px)}.isf-edge{top:auto;bottom:12px;width:46px;height:46px;border-radius:50%;transform:none}.isf-edge:hover{transform:scale(1.04)}.isf-edge--prev{left:12px}.isf-edge--next{right:12px}.isf-watermark{font-size:clamp(9px,3vw,15px)}.isf-hint{display:none}.isf-statusbar{justify-content:center}}
@media(max-width:420px){.isf-toolbar__end [data-isf-action=bookmark]{display:none}.isf-page-field{min-width:94px}.isf-icon-button{width:38px;height:38px;flex-basis:38px}}@media(prefers-reduced-motion:reduce){.isf-viewer,.isf-viewer *,.isf-viewer :before,.isf-viewer :after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.isf-viewer,.isf-viewer::backdrop{display:none!important}}

/* Unified TOPIK/PDF media and access-page styles. */
.isf-page canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#fff;opacity:0;pointer-events:none;transition:opacity .24s}.isf-page.is-ready canvas{opacity:1}
.isf-thumb__paper>i{position:absolute;inset:0;display:grid;place-items:center;color:rgba(23,62,49,.5);font-style:normal;font-size:22px;font-weight:900}.isf-thumb__gate{display:grid;place-items:center;color:#173d30;font-weight:900}.isf-thumb canvas{position:relative;z-index:2;width:100%;height:100%;display:block;object-fit:contain;background:#fff;opacity:0;transition:opacity .2s}.isf-thumb.is-ready canvas{opacity:1}
.isf-page__gate{display:grid;place-items:center;padding:32px;text-align:center;background:linear-gradient(145deg,#fffdf7,#efe7d8)}.isf-page__gate strong{display:block;margin-bottom:12px;color:#173d30;font-size:clamp(22px,3vw,36px)}.isf-page__gate p{color:#5e7068;line-height:1.7}.isf-page__gate a{display:inline-grid;min-height:46px;place-items:center;padding:0 20px;border-radius:14px;background:#173d30;color:#fff!important;text-decoration:none!important;font-weight:800}
