*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:root{--ff-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--ff-serif:"Lora", Georgia, "Times New Roman", serif;--fs:1rem;--lh:1.7;--accent:#397d73;--accent-deep:#1d514b;--accent-2:#d39352;--accent-2-deep:#a76228;--radius:16px;--radius-sm:10px;--shadow-1:0 1px 2px #14181c0a, 0 6px 18px #14181c0f;--shadow-2:0 10px 40px #14181c1f;--maxw:640px}:root[data-theme=light]{--bg:#f2f1ec;--bg-2:#e8e7e1;--surface:#fcfcf9;--surface-2:#f3f2ed;--ink:#172321;--ink-soft:#55615e;--ink-faint:#87908d;--line:#2b2b2e1f;--line-strong:#2b2b2e38;--art-accent:#3a8e88;--art-accent-deep:#266b66;--art-accent-2:#d28a60;--art-accent-2-deep:#b06b44;--art-soft:#ece6da;--art-soft-deep:#ddd5c5;--art-ink:#3a3a3e;--art-line:#2b2b2e2e}:root[data-theme=dark]{--bg:#141619;--bg-2:#0f1113;--surface:#1e2127;--surface-2:#262a31;--ink:#e7e3da;--ink-soft:#a9a59b;--ink-faint:#76736b;--line:#e7e3da1f;--line-strong:#e7e3da38;--accent:#4fb3ac;--accent-deep:#2f7e79;--accent-2:#e0976a;--accent-2-deep:#c77f55;--art-accent:#4fb3ac;--art-accent-deep:#347e79;--art-accent-2:#e0976a;--art-accent-2-deep:#bd784f;--art-soft:#2a2e35;--art-soft-deep:#20242a;--art-ink:#cfcabf;--art-line:#e7e3da29}:root[data-size=sm]{--fs:.94rem;--lh:1.68}:root[data-size=md]{--fs:1.06rem;--lh:1.72}:root[data-size=lg]{--fs:1.2rem;--lh:1.76}:root[data-font=serif]{--ff-body:var(--ff-serif)}:root[data-font=sans]{--ff-body:var(--ff-sans)}body{font-family:var(--ff-body,var(--ff-serif));background:var(--bg);color:var(--ink);transition:background .4s,color .4s}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{flex-direction:column;height:100%;display:flex}.stage{flex:1;position:relative;overflow:hidden}.stage__inner{height:100%}.toolbar{background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);z-index:30;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(14px,4vw,30px);display:flex}.toolbar__brand{align-items:center;gap:10px;min-width:0;display:flex}.toolbar__dot{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%}.toolbar__title{font-family:var(--ff-sans);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;font-size:1.04rem;font-weight:800}.toolbar__controls{align-items:center;gap:10px;display:flex}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex}.seg__btn{font-family:var(--ff-sans);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.86rem;font-weight:600;transition:color .2s,background .2s;display:flex}.seg__btn.is-active{color:var(--accent-deep);background:var(--surface);box-shadow:var(--shadow-1)}:root[data-theme=dark] .seg__btn.is-active{color:var(--accent)}.seg__label{line-height:1}.iconbtn{width:40px;height:40px;color:var(--ink-soft);border:1px solid var(--line);background:var(--surface-2);border-radius:12px;place-items:center;transition:color .2s,border-color .2s,transform .15s;display:grid}.iconbtn:hover{color:var(--ink);transform:translateY(-1px)}.iconbtn.is-active{color:var(--accent-deep);border-color:var(--accent)}.popwrap{position:relative}.pop-scrim{z-index:40;position:fixed;inset:0}.pop{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:230px;box-shadow:var(--shadow-2);transform-origin:100% 0;padding:14px;position:absolute;top:calc(100% + 10px);right:0}.pop__label{font-family:var(--ff-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:6px 2px 8px;font-size:.72rem;font-weight:700}.pop__row{gap:8px;margin-bottom:6px;display:flex}.chip{border-radius:var(--radius-sm);background:var(--surface-2);font-family:var(--ff-sans);color:var(--ink-soft);border:1.5px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 8px;font-size:.9rem;font-weight:600;transition:border-color .18s,color .18s,background .18s;display:flex}.chip:hover{color:var(--ink)}.chip.is-active{border-color:var(--accent);color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 9%, var(--surface))}:root[data-theme=dark] .chip.is-active{color:var(--accent)}.chip--size{padding:6px}.chip__a{font-weight:800;line-height:1}.chip__a--sm{font-size:.8rem}.chip__a--md{font-size:1rem}.chip__a--lg{font-size:1.25rem}.bookstage{background:radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 60%), var(--bg);place-items:center;height:100%;padding:clamp(8px,2vh,18px) clamp(56px,6vw,96px);display:grid;position:relative}.bookstage__center{perspective:2400px}.flipbook{margin:0 auto}.flipbook .page{background:0 0}.leaf{background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 5%, transparent), transparent 6%, transparent 94%, color-mix(in srgb, var(--ink) 5%, transparent)), var(--surface);height:100%;box-shadow:inset 0 0 60px color-mix(in srgb, var(--ink) 3%, transparent);position:relative;overflow:hidden}.leaf__inner{scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-user-select:text;user-select:text;cursor:text;flex-direction:column;justify-content:center;height:100%;padding:clamp(22px,4.5%,40px);display:flex;overflow:hidden auto}.leaf__inner::-webkit-scrollbar{width:6px}.leaf__inner::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.leaf__folio{text-align:center;font-family:var(--ff-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);pointer-events:none;font-size:.68rem;font-weight:600;position:absolute;bottom:12px;left:0;right:0}.page-corner{z-index:12;opacity:.28;background:0 0;border-radius:0;width:clamp(22px,5%,30px);height:clamp(22px,5%,30px);padding:0;transition:opacity .18s,background .18s;position:absolute}.page-corner:after{content:"";border-color:var(--ink-faint);opacity:.65;border-style:solid;width:10px;height:10px;position:absolute}.page-corner:hover{opacity:1;background:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 13%, transparent), transparent 68%)}.page-corner--tl,.page-corner--bl{cursor:w-resize;left:0}.page-corner--tr,.page-corner--br{cursor:e-resize;right:0}.page-corner--tl,.page-corner--tr{top:0}.page-corner--bl,.page-corner--br{bottom:0}.page-corner--tl:after{border-width:1px 0 0 1px;top:5px;left:5px}.page-corner--tr:after{border-width:1px 1px 0 0;top:5px;right:5px}.page-corner--bl:after{border-width:0 0 1px 1px;bottom:5px;left:5px}.page-corner--br:after{border-width:0 1px 1px 0;bottom:5px;right:5px}.leaf--cover,.leaf--section{background:linear-gradient(160deg, var(--surface), var(--surface-2))}.nav-arrow{z-index:20;width:48px;height:48px;color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 80%, transparent);border:1px solid var(--line);box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;place-items:center;transition:transform .18s,color .18s,opacity .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.nav-arrow:hover:not(:disabled){color:var(--accent-deep);transform:translateY(-50%)scale(1.08)}.nav-arrow:disabled{opacity:0;pointer-events:none}.nav-arrow--left{left:clamp(8px,2vw,24px)}.nav-arrow--right{right:clamp(8px,2vw,24px)}.book-progress{z-index:20;background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:12px;padding:8px 14px;display:flex;position:absolute;bottom:clamp(10px,2.4vh,22px);left:50%;transform:translate(-50%)}.book-progress__track{background:var(--line);border-radius:4px;width:130px;height:4px;overflow:hidden}.book-progress__fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:4px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.book-progress__label{font-family:var(--ff-sans);color:var(--ink-soft);font-size:.74rem;font-weight:600}.comic{background:var(--bg);scroll-behavior:smooth;height:100%;position:relative;overflow-y:auto}.comic__progress{transform-origin:0;z-index:25;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:3px;position:sticky;top:0;left:0}.comic__chapterbadge{z-index:24;font-family:var(--ff-sans);letter-spacing:.02em;color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 84%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-1);border-radius:999px;padding:6px 16px;font-size:.74rem;font-weight:700;position:fixed;top:76px;left:50%;transform:translate(-50%)}.comic__scroll{max-width:var(--maxw);margin:0 auto;padding:64px clamp(18px,5vw,32px) 40px}.comic__panel{margin-bottom:26px}.comic__panelinner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:clamp(24px,5vw,40px)}.comic__panel--cover .comic__panelinner,.comic__panel--section .comic__panelinner{background:linear-gradient(160deg, var(--surface), var(--surface-2))}.comic__end{text-align:center;color:var(--ink-faint);font-family:var(--ff-sans);padding:30px 0 10px;font-size:.8rem;font-weight:600}.page-content{flex-direction:column;gap:16px;width:100%;max-width:56ch;margin:0 auto;display:flex}.page-content--cover,.page-content--section{text-align:center;align-items:center;gap:18px}.block-wrap{width:100%}.b-kicker{font-family:var(--ff-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);font-size:.74rem;font-weight:700}:root[data-theme=dark] .b-kicker{color:var(--accent)}.b-heading{font-family:var(--ff-sans);letter-spacing:-.02em;color:var(--ink);font-weight:800;line-height:1.12;font-size:calc(var(--fs) * 2.1)}.page-content--cover .b-heading{font-size:calc(var(--fs) * 2.6)}.b-subheading{font-family:var(--ff-sans);font-weight:500;font-size:calc(var(--fs) * 1.12);color:var(--ink-soft);line-height:1.4}.b-paragraph{font-size:var(--fs);line-height:var(--lh);color:var(--ink)}.page-content:not(.page-content--cover) .b-paragraph{text-align:left}.b-divider{justify-content:center;align-items:center;gap:8px;padding:4px 0;display:flex}.b-divider span{background:var(--accent-2);opacity:.7;border-radius:50%;width:5px;height:5px}.b-divider span:nth-child(2){opacity:1}.b-illustration{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.b-illustration__art{border-radius:var(--radius);background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 70%);width:100%;max-width:380px;padding:10px}.art-svg{width:100%;height:auto;filter:drop-shadow(0 8px 18px color-mix(in srgb, var(--ink) 10%, transparent))}.b-illustration figcaption{font-family:var(--ff-sans);color:var(--ink-soft);text-align:center;max-width:42ch;font-size:.82rem;line-height:1.5}.b-fig{flex-direction:column;gap:2px;margin:6px 0;display:flex}.b-fig__value{font-family:var(--ff-sans);letter-spacing:-.02em;font-weight:800;font-size:calc(var(--fs) * 2.4);color:var(--accent-deep);line-height:1}:root[data-theme=dark] .b-fig__value{color:var(--accent)}.b-fig__label{font-family:var(--ff-sans);color:var(--ink-soft);font-size:.88rem;line-height:1.45}.b-quote{border-left:3px solid var(--accent-2);padding:4px 0 4px 18px}.b-quote p{font-size:calc(var(--fs) * 1.18);color:var(--ink);font-style:italic;line-height:1.5}.b-quote cite{font-family:var(--ff-sans);color:var(--ink-faint);margin-top:8px;font-size:.82rem;font-style:normal;font-weight:600;display:block}.b-aside{text-align:left;border-left:2px solid var(--cl-fg);padding-left:16px}.b-aside__label{font-family:var(--ff-sans);text-transform:uppercase;letter-spacing:.09em;color:var(--cl-fg);align-items:center;gap:6px;margin-bottom:4px;font-size:.74rem;font-weight:700;display:inline-flex}.b-aside__text{font-size:var(--fs);line-height:var(--lh);color:var(--ink)}.b-aside--myth{--cl-fg:#b4524e}.b-aside--fact{--cl-fg:var(--accent-deep)}.b-aside--tip{--cl-fg:var(--accent-2-deep)}.b-aside--warn{--cl-fg:#b9772e}:root[data-theme=dark] .b-aside--myth{--cl-fg:#e08884}:root[data-theme=dark] .b-aside--fact{--cl-fg:var(--accent)}:root[data-theme=dark] .b-aside--tip{--cl-fg:var(--accent-2)}:root[data-theme=dark] .b-aside--warn{--cl-fg:#e0a866}.b-pov{text-align:left;border-left:2px solid var(--accent);padding-left:16px}.b-pov__label{font-family:var(--ff-sans);text-transform:uppercase;letter-spacing:.09em;color:var(--accent-deep);align-items:center;gap:6px;margin-bottom:4px;font-size:.74rem;font-weight:700;display:inline-flex}:root[data-theme=dark] .b-pov__label{color:var(--accent)}.b-pov__text{font-size:var(--fs);line-height:var(--lh);color:var(--ink);font-style:italic}.toc-scrim{z-index:60;background:color-mix(in srgb, var(--bg-2) 60%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:fixed;inset:0}.toc{z-index:70;background:var(--surface);border-right:1px solid var(--line);width:min(340px,86vw);box-shadow:var(--shadow-2);flex-direction:column;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0}.toc__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.toc__eyebrow{font-family:var(--ff-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep);font-size:.72rem;font-weight:700}:root[data-theme=dark] .toc__eyebrow{color:var(--accent)}.toc__book{font-family:var(--ff-sans);letter-spacing:-.02em;color:var(--ink);margin-top:2px;font-size:1.3rem;font-weight:800}.toc__list{flex-direction:column;flex:1;gap:4px;margin:0 -8px;padding:0 8px;display:flex;overflow-y:auto}.toc__item{border-radius:var(--radius-sm);text-align:left;color:var(--ink-soft);align-items:center;gap:14px;padding:13px 14px;transition:background .18s,color .18s;display:flex;position:relative}.toc__item:hover{background:var(--surface-2);color:var(--ink)}.toc__item.is-active{background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--accent-deep)}:root[data-theme=dark] .toc__item.is-active{color:var(--accent)}.toc__num{font-family:var(--ff-sans);color:var(--ink-faint);min-width:22px;font-size:.82rem;font-weight:700}.toc__item.is-active .toc__num{color:inherit}.toc__title{font-family:var(--ff-sans);font-size:.98rem;font-weight:600;line-height:1.3}.toc__marker{background:linear-gradient(var(--accent), var(--accent-2));border-radius:3px;width:3px;position:absolute;top:18%;bottom:18%;left:0}.toc__foot{border-top:1px solid var(--line);font-family:var(--ff-sans);color:var(--ink-faint);margin-top:16px;padding-top:14px;font-size:.74rem;font-weight:600}.toast{z-index:80;font-family:var(--ff-sans);color:var(--surface);background:var(--ink);box-shadow:var(--shadow-2);border-radius:999px;padding:11px 20px;font-size:.86rem;font-weight:600;position:fixed;bottom:28px;left:50%}.iconbtn--ghost{background:0 0;border-color:#0000}.iconbtn--ghost:hover{background:var(--surface-2)}.iconbtn:active,.seg__btn:active,.chip:active,.nav-arrow:active{transform:scale(.94)}.nav-arrow:active{transform:translateY(-50%)scale(.94)}.b-paragraph strong,.b-aside__text strong,.b-pov__text strong,.b-subheading strong,.b-quote p strong,.b-illustration figcaption strong{color:var(--ink);font-weight:700}.art-svg{transition:filter .5s}.b-illustration__art:hover .art-svg{filter:drop-shadow(0 14px 26px color-mix(in srgb, var(--accent) 22%, transparent))}.art-svg .mi-spin,.art-svg .mi-pulse,.art-svg .mi-bob,.art-svg .mi-twinkle,.art-svg .mi-sway,.art-svg .mi-pop,.art-svg .mi-rise,.art-svg .mi-flow,.art-svg .mi-wave{transform-box:fill-box;transform-origin:50%}.art-svg .mi-rise{transform-origin:bottom}.art-svg .mi-wave{transform-origin:0 100%}.art-svg .mi-orbit-globe{transform-box:view-box;transform-origin:118px 124px}.art-svg .mi-dial,.art-svg .mi-needle{transform-box:view-box;transform-origin:180px 128px}@keyframes mi-spin{to{transform:rotate(360deg)}}@keyframes mi-spin-r{to{transform:rotate(-360deg)}}@keyframes mi-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}@keyframes mi-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes mi-twinkle{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}@keyframes mi-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes mi-wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(7deg)}}@keyframes mi-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes mi-rise{0%{transform:scaleY(.15)}60%{transform:scaleY(1.08)}to{transform:scaleY(1)}}@keyframes mi-flow{0%{opacity:.2;transform:translate(-6px)}50%{opacity:1}to{opacity:.2;transform:translate(8px)}}@keyframes mi-march{to{stroke-dashoffset:-22px}}.b-illustration__art:is(.is-live,:hover) .mi-spin{animation:9s linear infinite mi-spin}.b-illustration__art:is(.is-live,:hover) .mi-orbit-globe{animation:16s linear infinite mi-spin}.b-illustration__art:is(.is-live,:hover) .mi-dial{animation:22s linear infinite mi-spin-r}.b-illustration__art:is(.is-live,:hover) .mi-needle{animation:3.4s ease-in-out infinite mi-sway}.b-illustration__art:is(.is-live,:hover) .mi-pulse{animation:1.9s ease-in-out infinite mi-pulse}.b-illustration__art:is(.is-live,:hover) .mi-bob{animation:2.6s ease-in-out infinite mi-bob}.b-illustration__art:is(.is-live,:hover) .mi-twinkle{animation:1.7s ease-in-out infinite mi-twinkle}.b-illustration__art:is(.is-live,:hover) .mi-sway{animation:2.8s ease-in-out infinite mi-sway}.b-illustration__art:is(.is-live,:hover) .mi-wave{animation:1.4s ease-in-out infinite mi-wave}.b-illustration__art:is(.is-live,:hover) .mi-pop{animation:.6s cubic-bezier(.34,1.56,.64,1) both mi-pop}.b-illustration__art:is(.is-live,:hover) .mi-rise{animation:.8s cubic-bezier(.34,1.56,.64,1) both mi-rise}.b-illustration__art:is(.is-live,:hover) .mi-flow{animation:1.6s ease-in-out infinite mi-flow}.b-illustration__art:is(.is-live,:hover) .mi-march{animation:.9s linear infinite mi-march}.logofield{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.logofield__item{position:absolute;transform:translate(-50%,-50%)}.logofield__fly{opacity:0;display:inline-block}.logofield__float{display:inline-block}.logoglyph{width:auto;height:clamp(20px,3.6vmin,28px);filter:drop-shadow(0 4px 10px color-mix(in srgb, var(--ink) 16%, transparent));display:block}@keyframes logofly{0%{opacity:0;transform:translateY(70px)scale(.4)rotate(-14deg)}65%{opacity:1;transform:translateY(-9px)scale(1.12)rotate(4deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes logobob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.logofield.is-live .logofield__fly{animation:.5s cubic-bezier(.2,1.4,.4,1) both logofly}.logofield.is-live .logofield__float{animation:3.4s ease-in-out infinite logobob}.leaf__inner{position:relative}.comic__panelinner{position:relative;overflow:hidden}.page-content{z-index:1;position:relative}.b-illustration__art:is(.is-live,:hover) .mi-d1{animation-delay:.12s}.b-illustration__art:is(.is-live,:hover) .mi-d2{animation-delay:.24s}.b-illustration__art:is(.is-live,:hover) .mi-d3{animation-delay:.36s}.b-illustration__art:is(.is-live,:hover) .mi-d4{animation-delay:.48s}.b-illustration__art:is(.is-live,:hover) .mi-d5{animation-delay:.6s}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.page-content--cover .b-illustration__art .art-svg{animation:6s ease-in-out infinite floaty}.library{background:radial-gradient(110% 60% at 50% -8%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), var(--bg);flex-direction:column;height:100%;display:flex;overflow-y:auto}.lib-head{z-index:10;background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px clamp(16px,5vw,36px);display:flex;position:sticky;top:0}.lib-brand{align-items:center;gap:10px;display:flex}.lib-brand__name{font-family:var(--ff-sans);letter-spacing:-.01em;color:var(--ink);font-size:1.1rem;font-weight:800}.lib-brand__tag{font:600 .6rem/1 var(--ff-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:2px;display:block}.lib-main{flex:1;width:100%;max-width:1060px;margin:0 auto;padding:clamp(24px,5vw,44px) clamp(16px,5vw,36px)}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:clamp(16px,2.5vw,24px);display:grid}.bookcard{text-align:left;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);border-radius:20px;flex-direction:column;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .28s;display:flex;overflow:hidden}.bookcard:not(.bookcard--soon):hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));transform:translateY(-5px)}.bookcard:not(.bookcard--soon):active{transform:translateY(-2px)scale(.995)}.bookcard__cover{aspect-ratio:16/10;background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%), var(--surface-2);border-bottom:1px solid var(--line);place-items:center;padding:12px;display:grid;position:relative}.bookcard__cover .b-illustration__art{width:76%;max-width:240px}.bookcard__body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.bookcard__title{font-family:var(--ff-sans);letter-spacing:-.01em;color:var(--ink);font-size:1.22rem;font-weight:800}.bookcard__sub{font-family:var(--ff-sans);color:var(--ink-soft);font-size:.92rem;line-height:1.45}.bookcard__meta{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.bookcard__chip{font-family:var(--ff-sans);color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.76rem;font-weight:600;display:inline-flex}.bookcard__chip svg{color:var(--accent-deep)}:root[data-theme=dark] .bookcard__chip svg{color:var(--accent)}.bookcard__cta{font-family:var(--ff-sans);color:var(--accent-deep);align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-size:.92rem;font-weight:700;display:inline-flex}:root[data-theme=dark] .bookcard__cta{color:var(--accent)}.bookcard__cta svg{transition:transform .25s cubic-bezier(.22,1,.36,1)}.bookcard:hover .bookcard__cta svg{transform:translate(4px)}.bookcard--soon{cursor:default}.bookcard--soon .bookcard__cover .b-illustration__art{opacity:.5;filter:grayscale(.4)}.bookcard--soon .bookcard__title,.bookcard--soon .bookcard__sub{opacity:.7}.bookcard__soonbadge{font-family:var(--ff-sans);letter-spacing:.02em;color:var(--surface);background:var(--ink-soft);border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;top:12px;right:12px}.lib-foot{border-top:1px solid var(--line);width:calc(100% - 36px);max-width:1060px;font-family:var(--ff-sans);color:var(--ink-faint);justify-content:space-between;gap:20px;margin:18px auto 0;padding:24px 0 30px;font-size:.72rem;font-weight:600;display:flex}@media (width<=560px){.seg__label{display:none}.seg__btn{padding:8px 11px}.toolbar__title{font-size:.96rem}.toolbar__controls{gap:6px}.bookstage{padding:8px 46px}.nav-arrow{width:40px;height:40px}.lib-grid{grid-template-columns:1fr}.lib-foot{flex-direction:column;gap:7px}}.lib-head__actions,.admin{align-items:center;gap:8px;display:flex}.toolbar__controls{flex-wrap:wrap;justify-content:flex-end}.editmode-chip{font-family:var(--ff-sans);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-deep));border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.savebadge{font-family:var(--ff-sans);color:var(--ink-soft);white-space:nowrap;align-items:center;gap:5px;font-size:.76rem;font-weight:600;display:inline-flex}.savebadge.is-ok{color:var(--accent-deep)}:root[data-theme=dark] .savebadge.is-ok{color:var(--accent)}.savebadge.is-err{color:#b4524e}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}.btn{font-family:var(--ff-sans);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:700;transition:transform .15s,box-shadow .18s,background .18s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn--primary{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;box-shadow:var(--shadow-1);border-color:#0000}.editable{cursor:text;border-radius:5px;outline:none;min-width:8px;margin:0 -2px;padding:0 2px;transition:background .15s,box-shadow .15s}.editable:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}.editable:focus{background:color-mix(in srgb, var(--accent) 13%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}.modal-scrim{z-index:90;background:color-mix(in srgb, var(--bg-2) 64%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;inset:0}.login-gate{background:radial-gradient(70% 70% at 50% 30%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 70%), var(--bg);height:100%}.login-gate__brand{z-index:95;font:800 1rem/1 var(--ff-sans);color:var(--ink);white-space:nowrap;align-items:center;gap:9px;display:flex;position:fixed;top:28px;left:50%;transform:translate(-50%)}.login-gate__brand small{border-left:1px solid var(--line-strong);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);padding-left:9px;font-size:.65rem;font-weight:700}.modal-scrim--required{background:color-mix(in srgb, var(--bg) 38%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{z-index:100;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(380px,92vw);height:fit-content;max-height:90vh;box-shadow:var(--shadow-2);margin:auto;padding:26px 24px;position:fixed;inset:0}.modal__close{position:absolute;top:12px;right:12px}.modal__icon{background:color-mix(in srgb, var(--accent) 14%, var(--surface));width:44px;height:44px;color:var(--accent-deep);border-radius:12px;place-items:center;margin-bottom:12px;display:grid}:root[data-theme=dark] .modal__icon{color:var(--accent)}.modal__title{font-family:var(--ff-sans);letter-spacing:-.01em;color:var(--ink);font-size:1.25rem;font-weight:800}.modal__eyebrow{font:700 .65rem/1 var(--ff-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:5px}.modal__sub{font-family:var(--ff-sans);color:var(--ink-soft);margin-top:3px;font-size:.9rem}.modal__form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.modal__error{color:#b4524e;font-size:.84rem;font-family:var(--ff-sans);font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field span{font-family:var(--ff-sans);color:var(--ink-soft);font-size:.76rem;font-weight:600}.field input{font-family:var(--ff-sans);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:.95rem}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.modal__form .btn--primary{justify-content:center;margin-top:4px;padding:11px}.console{color:#172321;min-height:100%;font-family:var(--ff-sans);background:#f5f6f4;grid-template-columns:250px 1fr;display:grid}.console-side{color:#fff;z-index:50;background:#172321;flex-direction:column;height:100vh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.console-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:11px;padding:0 10px 26px;display:flex}.console-brand strong,.console-brand small{display:block}.console-brand strong{font-size:.98rem}.console-brand small{letter-spacing:.11em;text-transform:uppercase;color:#91a09c;margin-top:4px;font-size:.58rem}.console-mobile-close{color:#fff;margin-left:auto;display:none}.console-nav{gap:5px;padding-top:22px;display:grid}.console-nav p{letter-spacing:.14em;text-transform:uppercase;color:#71807c;margin:17px 11px 6px;font-size:.6rem;font-weight:700}.console-nav button{color:#aeb9b6;text-align:left;border-radius:9px;align-items:center;gap:11px;width:100%;padding:11px 12px;font-size:.84rem;font-weight:600;display:flex}.console-nav button:hover,.console-nav button.is-active{color:#fff;background:#ffffff17}.console-nav button.is-active{box-shadow:inset 2px 0 #56aa9e}.console-nav button span{background:#ffffff1a;border-radius:9px;margin-left:auto;padding:2px 7px;font-size:.68rem}.console-profile{border-top:1px solid #ffffff1a;grid-template-columns:34px 1fr 30px;align-items:center;gap:9px;margin-top:auto;padding:14px 8px 0;display:grid}.console-avatar{background:#397d73;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.console-profile strong,.console-profile small{display:block}.console-profile strong{font-size:.78rem}.console-profile small{color:#81908c;margin-top:3px;font-size:.65rem}.console-profile button{color:#81908c}.console-profile button:hover{color:#fff}.console-main{min-width:0}.console-top{background:#fff;border-bottom:1px solid #e1e5e2;align-items:center;gap:16px;height:86px;padding:0 clamp(22px,4vw,52px);display:flex}.console-top p{letter-spacing:.12em;text-transform:uppercase;color:#87908d;font-size:.62rem;font-weight:700}.console-top h1{letter-spacing:-.025em;margin-top:3px;font-size:1.25rem}.console-back{color:#55615e;border:1px solid #dce1de;border-radius:9px;align-items:center;gap:7px;margin-left:auto;padding:9px 13px;font-size:.78rem;font-weight:700;display:flex}.console-menu{display:none}.console-content{max-width:1300px;margin:0 auto;padding:clamp(24px,4vw,48px)}.console-welcome{justify-content:space-between;align-items:center;gap:28px;margin-bottom:28px;display:flex}.console-welcome span,.panel-head span{letter-spacing:.13em;color:#397d73;font-size:.62rem;font-weight:800}.console-welcome h2{letter-spacing:-.04em;margin-top:8px;font-size:clamp(1.65rem,3vw,2.25rem)}.console-welcome p{color:#65716e;margin-top:7px;font-size:.9rem}.console-health{color:#397d73;background:#f9fcfa;border:1px solid #dce6e2;border-radius:12px;align-items:center;gap:11px;padding:15px 18px;display:flex}.console-health strong,.console-health small{display:block}.console-health strong{font-size:.78rem}.console-health small{color:#7a8783;margin-top:4px;font-size:.68rem}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metric-card{background:#fff;border:1px solid #e0e4e1;border-radius:14px;padding:20px;box-shadow:0 5px 18px #14232009}.metric-icon{color:#397d73;background:#edf5f2;border-radius:10px;place-items:center;width:37px;height:37px;margin-bottom:24px;display:grid}.metric-icon svg{width:18px}.metric-card>span{text-transform:uppercase;letter-spacing:.06em;color:#87908d;font-size:.7rem;font-weight:700;display:block}.metric-card>strong{letter-spacing:-.04em;margin-top:7px;font-size:1.65rem;display:block}.metric-card p{color:#87908d;margin-top:6px;font-size:.7rem}.console-panel{background:#fff;border:1px solid #e0e4e1;border-radius:14px;margin-top:20px;padding:24px}.panel-head{justify-content:space-between;align-items:start;display:flex}.panel-head h3{margin-top:6px;font-size:1.05rem}.status-pill{border-radius:99px;padding:5px 10px;color:#31805b!important;letter-spacing:0!important;background:#e9f6ef!important;font-size:.66rem!important}.readiness{border-top:1px solid #edf0ee;grid-template-columns:repeat(3,1fr);margin-top:24px;padding-top:22px;display:grid}.readiness div{border-left:2px solid #e8eeeb;padding-left:20px}.readiness strong,.readiness span{display:block}.readiness strong{font-size:1.35rem}.readiness span{color:#87908d;margin-top:5px;font-size:.7rem}.users-panel{margin-top:0}.users-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.users-toolbar h2{font-size:1.18rem}.users-toolbar p{color:#7b8783;margin-top:5px;font-size:.78rem}.users-search{color:#89938f;border:1px solid #dfe4e1;border-radius:10px;align-items:center;gap:9px;max-width:360px;margin:24px 0 14px;padding:10px 12px;display:flex}.users-search input{width:100%;font:inherit;background:0 0;border:0;outline:0;font-size:.8rem}.user-table{border:1px solid #e4e8e5;border-radius:11px;overflow:hidden}.user-row{border-top:1px solid #edf0ee;grid-template-columns:minmax(230px,2fr) 1fr 1fr 40px;align-items:center;min-height:66px;padding:0 16px;font-size:.78rem;display:grid}.user-row--head{color:#8a9491;text-transform:uppercase;letter-spacing:.07em;background:#f7f8f7;border:0;min-height:40px;font-size:.65rem;font-weight:700}.user-identity{align-items:center;gap:11px;display:flex}.user-identity>b{color:#397d73;background:#e8f2ef;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.user-identity strong,.user-identity small{display:block}.user-identity small{color:#8a9491;margin-top:3px;font-size:.67rem}.user-row em{text-transform:capitalize;color:#596561;font-style:normal}.user-row i{color:#38825f;background:#edf7f1;border-radius:99px;padding:4px 8px;font-size:.65rem;font-style:normal;font-weight:700}.row-action{color:#9aa3a0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.row-action:hover{color:#b8544c;background:#fff0ef}.users-empty{text-align:center;color:#929c98;padding:30px;font-size:.78rem}.console-modal-wrap,.console-modal-scrim{z-index:100;position:fixed;inset:0}.console-modal-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e19178c}.console-modal{z-index:101;width:min(420px,92vw);height:max-content;font-family:var(--ff-sans);background:#fff;border-radius:15px;margin:auto;padding:27px;position:fixed;inset:0;box-shadow:0 20px 70px #0a141233}.console-modal h2{margin-top:6px;font-size:1.3rem}.console-modal>p{color:#7a8581;margin:5px 0 20px;font-size:.8rem}.console-modal .field{margin-top:12px}.console-modal>.btn{justify-content:center;width:100%;margin-top:18px;padding:11px}.console-scrim{display:none}.user-row--clickable{text-align:left;cursor:pointer;width:100%;transition:background .16s}.user-row--clickable:hover{background:#f8fbf9}.user-row--clickable:focus-visible{outline-offset:-2px;outline:2px solid #397d73}.user-row--clickable>span:last-child{color:#8b9692;place-items:center;display:grid}.activity-wrap,.activity-scrim{z-index:110;position:fixed;inset:0}.activity-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c161473}.activity-drawer{z-index:111;width:min(620px,94vw);font-family:var(--ff-sans);color:#172321;background:#f5f6f4;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 70px #0a14122e}.activity-head{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid #e0e5e2;grid-template-columns:46px 1fr 40px;align-items:center;gap:13px;padding:22px 26px;display:grid;position:sticky;top:0}.activity-avatar{color:#fff;background:#193a35;border-radius:13px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.activity-head span{letter-spacing:.12em;text-transform:uppercase;color:#397d73;font-size:.6rem;font-weight:800}.activity-head h2{margin-top:3px;font-size:1.13rem}.activity-head p{color:#83908c;margin-top:2px;font-size:.7rem}.activity-loading,.activity-empty{text-align:center;color:#8a9591;padding:44px;font-size:.8rem}.activity-body{padding:22px}.activity-metrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.activity-metrics>div{background:#fff;border:1px solid #e0e5e2;border-radius:12px;padding:15px}.activity-metrics svg{color:#397d73;width:16px}.activity-metrics strong,.activity-metrics span{display:block}.activity-metrics strong{letter-spacing:-.03em;margin-top:14px;font-size:1.15rem}.activity-metrics span{color:#87918e;margin-top:4px;font-size:.61rem}.activity-section{background:#fff;border:1px solid #e0e5e2;border-radius:14px;margin-top:16px;padding:21px}.activity-title span{letter-spacing:.13em;color:#397d73;font-size:.58rem;font-weight:800}.activity-title h3{margin-top:5px;font-size:.97rem}.book-activity{border-top:1px solid #edf0ee;grid-template-columns:38px 1fr 42px;align-items:center;gap:11px;margin-top:17px;padding-top:17px;display:grid}.book-activity>div{color:#397d73;background:#edf5f2;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.book-activity strong,.book-activity small,.book-activity i{display:block}.book-activity strong{font-size:.76rem}.book-activity small{color:#84908c;margin-top:4px;font-size:.65rem}.book-activity i{background:#e7ece9;border-radius:9px;height:4px;margin-top:9px;overflow:hidden}.book-activity i b{background:#397d73;border-radius:9px;height:100%;display:block}.book-activity em{color:#397d73;text-align:right;font-size:.7rem;font-style:normal;font-weight:800}.activity-timeline{margin-top:16px}.timeline-event{grid-template-columns:34px 1fr;gap:12px;padding:0 0 20px;display:grid;position:relative}.timeline-event:not(:last-child):after{content:"";background:#e0e5e2;width:1px;position:absolute;top:34px;bottom:2px;left:16px}.timeline-icon{color:#397d73;background:#f7faf8;border:1px solid #dfe6e2;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.timeline-icon svg{width:15px}.timeline-event strong{font-size:.75rem}.timeline-event p{color:#707d79;margin-top:4px;font-size:.67rem;line-height:1.45}.timeline-event time{color:#9ba4a1;margin-top:4px;font-size:.6rem;display:block}@media (width<=900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.console-welcome{flex-direction:column;align-items:flex-start}.console-health{width:100%}}@media (width<=700px){.console{grid-template-columns:1fr}.console-side{width:260px;transition:transform .25s;position:fixed;left:0;transform:translate(-102%)}.console-side.is-open{transform:none}.console-mobile-close,.console-menu{display:grid}.console-scrim{z-index:40;background:#0006;display:block;position:fixed;inset:0}.console-top{height:76px;padding:0 16px}.console-menu{place-items:center}.console-back{place-content:center;width:38px;height:38px;padding:0;font-size:0}.console-content{padding:20px 15px}.metric-grid{grid-template-columns:1fr}.readiness{grid-template-columns:1fr;gap:18px}.user-row{grid-template-columns:minmax(180px,2fr) 1fr 32px}.user-row>span:nth-child(3){display:none}.users-toolbar{align-items:flex-start}.users-toolbar .btn{font-size:0}.users-toolbar .btn svg{margin:0}.lib-foot{width:calc(100% - 30px)}.activity-head{padding:17px}.activity-body{padding:13px}.activity-metrics{grid-template-columns:repeat(2,1fr)}.activity-section{padding:17px}}
