:root{--lpv-green:#07552d;--lpv-green-dark:#043c21;--lpv-ink:#163824;--lpv-muted:#667a6d;--lpv-line:#cfdfd3;--lpv-surface:#fff;--lpv-stage:#e8f0ea}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{background:var(--lpv-stage);color:var(--lpv-ink);font-family:'Plus Jakarta Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,a{font:inherit;-webkit-tap-highlight-color:transparent}
button,a{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.lpv{display:grid;height:100dvh;grid-template-rows:auto minmax(0,1fr);background:var(--lpv-stage)}
.lpv-toolbar{position:relative;z-index:10;display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:10px 14px;border-bottom:1px solid #b9cebf;background:rgba(255,255,255,.96);box-shadow:0 7px 24px rgba(13,55,27,.08);backdrop-filter:blur(14px)}
.lpv-brand{display:flex;min-width:0;align-items:center;gap:10px}
.lpv-brand__icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:13px;background:#e7f4ea;color:var(--lpv-green)}
.lpv-brand__icon svg{width:21px;height:21px}
.lpv-brand>span:last-child{display:block;min-width:0}
.lpv-brand small,.lpv-brand strong{display:block}
.lpv-brand small{color:#168548;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lpv-brand strong{overflow:hidden;margin-top:3px;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.lpv-controls{display:flex;max-width:100%;align-items:center;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.lpv-controls::-webkit-scrollbar{display:none}
.lpv-control-group{display:flex;flex:0 0 auto;align-items:center;gap:5px;padding:4px;border:1px solid var(--lpv-line);border-radius:14px;background:#f9fcfa}
.lpv-controls button,.lpv-controls a{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--lpv-green);text-decoration:none;transition:background-color .16s ease,transform .16s ease}
.lpv-controls button:hover,.lpv-controls button:focus-visible,.lpv-controls a:hover,.lpv-controls a:focus-visible{outline:0;background:#e5f3e9;transform:translateY(-1px)}
.lpv-controls button:disabled{cursor:default;opacity:.38;transform:none}
.lpv-controls svg{width:19px;height:19px}
.lpv-page-field{display:flex;height:40px;align-items:center;gap:6px;padding:0 8px;border-radius:9px;background:#fff;color:var(--lpv-muted);font-size:11px;font-style:normal;font-weight:800}
.lpv-page-field input{width:34px;height:30px;border:0;border-radius:7px;background:#edf5ef;color:var(--lpv-ink);font-size:12px;font-weight:800;text-align:center;outline:0;-moz-appearance:textfield}
.lpv-page-field input::-webkit-inner-spin-button,.lpv-page-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.lpv-page-field input:focus{box-shadow:0 0 0 2px rgba(22,133,72,.2)}
.lpv-page-field i{font-style:normal}.lpv-page-field output{min-width:16px}
.lpv-zoom{display:grid;min-width:46px;height:40px;place-items:center;color:#385b44;font-size:10px;font-weight:800}
.lpv-stage{position:relative;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;touch-action:pan-x pan-y pinch-zoom;background:radial-gradient(circle at 10% 10%,rgba(78,159,96,.12),transparent 28%),linear-gradient(145deg,#e9f1eb,#dfe9e2);scrollbar-color:#8fac97 transparent;scrollbar-width:thin}
.lpv-pages{display:flex;width:max-content;min-width:100%;min-height:100%;align-items:center;flex-direction:column;gap:22px;padding:22px}
.lpv-page{position:relative;flex:0 0 auto;overflow:hidden;width:min(820px,calc(100vw - 48px));max-width:none;aspect-ratio:var(--page-ratio,1/1.414);border:1px solid rgba(28,71,40,.16);border-radius:5px;background:#fff;box-shadow:0 12px 32px rgba(15,48,24,.14);transition:width .2s cubic-bezier(.16,.95,.24,1),box-shadow .2s ease}
.lpv-page::before{position:absolute;inset:0;background:linear-gradient(105deg,#f7faf8 20%,#e8f1eb 40%,#f7faf8 60%);background-size:220% 100%;content:"";animation:lpv-shimmer 1.25s linear infinite}
.lpv-page.is-rendered::before{display:none}
.lpv-page canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.lpv-page__number{position:absolute;z-index:2;right:9px;bottom:9px;display:grid;min-width:28px;height:25px;place-items:center;padding:0 7px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(4,40,21,.76);color:#fff;font-size:9px;font-weight:800;backdrop-filter:blur(6px)}
.lpv-status{position:absolute;z-index:5;top:50%;left:50%;display:grid;min-width:220px;justify-items:center;padding:20px 22px;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 18px 46px rgba(14,50,25,.16);text-align:center;transform:translate(-50%,-50%);transition:opacity .2s ease,visibility .2s ease}
.lpv-status.is-hidden{visibility:hidden;opacity:0}
.lpv-status>span{width:30px;height:30px;border:3px solid #d7e7db;border-top-color:#168548;border-radius:50%;animation:lpv-spin .75s linear infinite}
.lpv-status strong{margin-top:11px;font-size:13px}.lpv-status small{margin-top:5px;color:var(--lpv-muted);font-size:10px;line-height:1.5}
.lpv-error{position:absolute;z-index:6;top:50%;left:50%;width:min(440px,calc(100% - 28px));padding:24px;border:1px solid #dbc7a5;border-radius:20px;background:#fffaf0;box-shadow:0 18px 48px rgba(68,47,15,.16);text-align:center;transform:translate(-50%,-50%)}
.lpv-error>span{display:grid;width:48px;height:48px;margin:auto;place-items:center;border-radius:14px;background:#fff0ce;color:#94620b}.lpv-error svg{width:23px;height:23px}
.lpv-error h1{margin:14px 0 7px;font-size:21px}.lpv-error p{margin:0;color:#756448;font-size:12px;line-height:1.65}
.lpv-error div{display:flex;justify-content:center;gap:8px;margin-top:17px}.lpv-error a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 14px;border:1px solid #b9d2c0;border-radius:12px;background:#fff;color:var(--lpv-green);font-size:11px;font-weight:800;text-decoration:none}.lpv-error a:first-child{border-color:var(--lpv-green);background:var(--lpv-green);color:#fff}
@keyframes lpv-spin{to{transform:rotate(360deg)}}
@keyframes lpv-shimmer{to{background-position:-220% 0}}
@media(max-width:640px){
  .lpv-toolbar{grid-template-columns:minmax(116px,.7fr) minmax(0,1.3fr);gap:7px;min-height:64px;padding:7px 8px}
  .lpv-brand{gap:7px}.lpv-brand__icon{width:40px;height:40px;border-radius:11px}.lpv-brand small{display:none}.lpv-brand strong{font-size:11px}
  .lpv-controls{gap:6px}.lpv-control-group{gap:2px;padding:2px;border-radius:12px}.lpv-controls button,.lpv-controls a{width:44px;height:44px}.lpv-page-field{height:44px;gap:4px;padding:0 6px}.lpv-page-field input{width:30px}.lpv-zoom{min-width:40px;height:44px}
  .lpv-pages{gap:14px;padding:12px}.lpv-page{width:calc(100vw - 26px);border-radius:4px;box-shadow:0 9px 24px rgba(15,48,24,.13)}
  .lpv-page__number{right:7px;bottom:7px}
}
@media(max-width:380px){.lpv-toolbar{grid-template-columns:104px minmax(0,1fr)}.lpv-brand__icon{width:38px;height:38px}.lpv-brand strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.lpv-stage{scroll-behavior:auto}.lpv-page,.lpv-status{transition:none}.lpv-page::before{animation:none}.lpv-status>span{animation-duration:1.5s}}
