:root{--eb-bg:#2a3034;--eb-bar:#1f2427;--eb-line:rgba(255,255,255,0.1);--eb-ink:#f2f4f5;--eb-sub:#a9b2b7;--eb-accent:#35b2c7;--eb-panel:#ffffff;--eb-panel-ink:#1a1d1e;--eb-panel-sub:#6a7073;--eb-panel-line:#e7e9ea}*{box-sizing:border-box}body,html{margin:0;height:100%}.ebook-body{background:var(--eb-bg);color:var(--eb-ink);font-family:Nanum Gothic,Apple SD Gothic Neo,Malgun Gothic,sans-serif;overflow:hidden;-webkit-tap-highlight-color:transparent}.ebook-body button,.ebook-body input{font:inherit;color:inherit}.ebook-body a{color:inherit;text-decoration:none}.eb{flex-direction:column;height:100vh;height:100dvh}.eb,.eb-top{display:flex}.eb-top{flex:none;gap:12px;height:56px;padding:0 16px;background:var(--eb-bar);border-bottom:1px solid var(--eb-line)}.eb-back,.eb-top{align-items:center}.eb-back{display:inline-flex;gap:6px;height:36px;padding:0 12px;border-radius:18px;background:rgba(255,255,255,.08);font-size:14px}.eb-back .fa{font-size:20px}.eb-back:hover{background:rgba(255,255,255,.16)}.eb-title{flex:1 1;min-width:0;display:flex;align-items:baseline;gap:10px}.eb-title strong{font-family:NanumSquare,sans-serif;font-weight:800;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eb-title span{color:var(--eb-sub);font-size:13px;white-space:nowrap}.eb-tools{display:flex;align-items:center;gap:4px}.eb-tools>a,.eb-tools>button{display:inline-flex;align-items:center;gap:6px;height:36px;min-width:36px;padding:0 10px;justify-content:center;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:14px}.eb-tools .fa{font-size:16px}.eb-tools>a:hover,.eb-tools>button:hover{background:rgba(255,255,255,.1)}.eb-tools>button.on,.eb-tools>button[aria-pressed=true] .fa{color:var(--eb-accent)}.eb-tools>button.on{background:rgba(53,178,199,.15)}.eb-stage{position:relative;flex:1 1;min-height:0;overflow:hidden}.eb-host{position:absolute;inset:20px 72px}.eb-book,.eb-book .stf__wrapper{width:100%;height:100%!important;min-width:0!important;padding:0!important}.eb-page{background:#fff;overflow:hidden}.eb-page img{display:block;width:100%;height:100%;object-fit:fill;opacity:0;transition:opacity .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.eb-page.ready img{opacity:1}.eb-page:not(.ready):before{content:"";position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:3px solid #d6dadc;border-top-color:#00798f;border-radius:50%;animation:eb-spin .9s linear infinite}.eb-page-no{position:absolute;bottom:6px;right:8px;padding:1px 6px;border-radius:8px;background:rgba(0,0,0,.45);color:#fff;font-size:11px;opacity:0;transition:opacity .2s}.eb-host:hover .eb-page-no{opacity:1}.eb-nav{position:absolute;top:50%;z-index:5;width:52px;height:88px;margin-top:-44px;border:0;border-radius:12px;background:rgba(0,0,0,.25);cursor:pointer;font-size:40px;line-height:1;transition:background .15s,opacity .15s}.eb-nav:hover{background:rgba(0,0,0,.5)}.eb-nav:disabled{opacity:0;pointer-events:none}.eb-prev{left:10px}.eb-next{right:10px}.eb-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--eb-sub);font-size:15px}.eb-error{color:#ffb4a8;padding:24px;text-align:center}.eb-spin{display:inline-block;width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top:3px solid var(--eb-accent);border-radius:50%;animation:eb-spin .9s linear infinite}.eb-spin.sm{width:20px;height:20px;border-width:2px;border-color:#00798f #d6dadc #d6dadc}@keyframes eb-spin{to{transform:rotate(1turn)}}.eb-panel{position:absolute;top:0;left:0;bottom:0;z-index:10;width:340px;max-width:100%;display:flex;flex-direction:column;background:var(--eb-panel);color:var(--eb-panel-ink);box-shadow:8px 0 24px rgba(0,0,0,.3);animation:eb-slide .2s ease-out}@keyframes eb-slide{0%{transform:translateX(-24px);opacity:0}}.eb-panel-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--eb-panel-line)}.eb-panel-head strong{font-family:NanumSquare,sans-serif;font-weight:800;font-size:16px}.eb-panel-head button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:16px}.eb-panel-head button:hover{background:#f1f3f4}.eb-toc{list-style:none;margin:0;padding:8px;overflow-y:auto}.eb-toc button{display:flex;width:100%;gap:10px;align-items:flex-start;justify-content:space-between;padding:11px 12px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;font-size:14px;line-height:1.5}.eb-toc button:hover:not(:disabled){background:#eef6f8}.eb-toc button:disabled{cursor:default;opacity:.6}.eb-toc-page{flex:none;color:#00798f;font-weight:700;font-size:13px}.eb-empty{padding:16px;color:var(--eb-panel-sub);font-size:14px}.eb-thumbs{list-style:none;margin:0;padding:12px;overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px 12px;gap:14px 12px;align-content:start}.eb-thumbs li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--eb-panel-sub)}.eb-thumbs button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:0;border:2px solid var(--eb-panel-line);border-radius:4px;background:#f7f8f9;cursor:pointer;overflow:hidden}.eb-thumbs img{display:block;width:100%;height:100%;object-fit:fill}.eb-thumbs li.on button{border-color:#00798f}.eb-thumbs li.on{color:#00798f;font-weight:700}.eb-bottom{flex:none;display:flex;align-items:center;justify-content:center;gap:6px;height:56px;padding:0 16px;background:var(--eb-bar);border-top:1px solid var(--eb-line)}.eb-bottom>button{width:36px;height:36px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:20px}.eb-bottom>button:hover:not(:disabled){background:rgba(255,255,255,.1)}.eb-bottom>button:disabled{opacity:.3;cursor:default}.eb-slider{width:min(420px,40vw);margin:0 8px;accent-color:var(--eb-accent);cursor:pointer}.eb-jump{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--eb-sub)}.eb-jump input{width:64px;height:32px;padding:0 8px;border:1px solid var(--eb-line);border-radius:6px;background:rgba(255,255,255,.08);text-align:center;color:var(--eb-ink)}.eb-jump input::placeholder{color:var(--eb-ink);opacity:1}.eb-jump input:focus{outline:2px solid var(--eb-accent);outline-offset:0}.eb-jump input:focus::placeholder{opacity:.4}.eb-zoom{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:rgba(20,23,25,.97)}.eb-zoom-bar{flex:none;display:flex;align-items:center;gap:8px;height:56px;padding:0 16px;background:var(--eb-bar);border-bottom:1px solid var(--eb-line)}.eb-zoom-bar button{width:36px;height:36px;border:0;border-radius:8px;background:rgba(255,255,255,.08);cursor:pointer;font-size:15px}.eb-zoom-bar button:hover:not(:disabled){background:rgba(255,255,255,.18)}.eb-zoom-bar button:disabled{opacity:.3}.eb-zoom-bar>span{min-width:48px;text-align:center;font-size:14px}.eb-zoom-hint{flex:1 1;color:var(--eb-sub);font-size:13px!important;text-align:left!important;padding-left:8px}.eb-zoom-close{margin-left:auto}.eb-zoom-box{flex:1 1;overflow:auto;cursor:-webkit-grab;cursor:grab;touch-action:pan-x pan-y}.eb-zoom-box:active{cursor:-webkit-grabbing;cursor:grabbing}.eb-zoom-pages{gap:4px;width:max-content;min-width:100%;min-height:100%;padding:16px}.eb-zoom-page,.eb-zoom-pages{display:flex;align-items:center;justify-content:center}.eb-zoom-page{position:relative;flex:none;background:#fff}.eb-zoom-page img{position:absolute;inset:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.eb-zoom-page .eb-spin{position:absolute;right:12px;top:12px;width:24px;height:24px;border-color:#00798f #d6dadc #d6dadc}@media (max-width:760px){.eb-hide-sm{display:none}.eb-top{gap:8px}.eb-back,.eb-top{padding:0 8px}.eb-title{flex-direction:column;gap:0}.eb-title strong{font-size:15px}.eb-title span{font-size:11px}.eb-tools>a,.eb-tools>button{padding:0 8px}.eb-host{inset:10px 8px}.eb-nav,.eb-slider{display:none}.eb-panel{width:100%}.eb-thumbs{grid-template-columns:repeat(3,1fr)}}@media (max-width:400px){.eb-hide-xs{display:none!important}}