:root{--ink: #0b1310;--ink-2: #38443f;--ink-3: #6c7873;--accent: #0d6a49;--accent-2: #0a5239;--accent-soft: #e9f3ed;--paper: #f7f7f4;--surface: #ffffff;--line: #e3e4de;--line-strong: #cbcec5;--danger: #a12a1f;--danger-bg: #fbeeec;--danger-line: #efcfc9;--warn-bg: #fdf6e3;--warn-ink: #6a5410;--warn-line: #ecdcae;--shadow-sm: 0 1px 2px rgba(11, 19, 16, .04);--shadow-md: 0 24px 48px -32px rgba(11, 19, 16, .4);--shadow-lg: 0 40px 80px -40px rgba(11, 19, 16, .45);--radius: 16px;--radius-sm: 10px;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--display: "Space Grotesk", "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--maxw: 1240px;--pad: 32px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,dl,dd,ul{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}img{max-width:100%}::selection{background:#0d6a492e}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:200;transform:translateY(-180%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:50;background:#f7f7f4db;border-bottom:1px solid var(--line);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.header-inner{max-width:var(--maxw);margin:0 auto;height:78px;padding:0 var(--pad);display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;flex-shrink:0}.brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#f1f8f4;background:var(--accent);border:1px solid var(--accent);transition:background .2s ease,border-color .2s ease}.brand:hover .brand-mark{background:var(--accent-2);border-color:var(--accent-2)}.brand-mark.small{width:40px;height:40px;border-radius:10px;background:transparent;border-color:#ffffff38;color:#cfeee0}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:-.02em}.brand-sub{margin-top:3px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.header-nav{display:flex;align-items:center;gap:30px}.header-nav a{color:var(--ink-2);text-decoration:none;font-size:14.5px;font-weight:500;padding:4px 0;position:relative}.header-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.header-nav a:hover{color:var(--ink)}.header-nav a:hover:after{transform:scaleX(1)}.header-pill{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:7px 13px;white-space:nowrap}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 #0d6a4966;animation:pulse 2.6s infinite}@keyframes pulse{0%{box-shadow:0 0 #0d6a4959}70%{box-shadow:0 0 0 6px #0d6a4900}to{box-shadow:0 0 #0d6a4900}}.hero{max-width:var(--maxw);margin:0 auto;padding:32px var(--pad) 0}.hero-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(135deg,#0d3b2b,#0a2a1f);color:#f4f4ef;padding:72px 64px 56px;isolation:isolate}.hero-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;opacity:.6;mask-image:radial-gradient(120% 130% at 88% 10%,#000 5%,transparent 62%);-webkit-mask-image:radial-gradient(120% 130% at 88% 10%,#000 5%,transparent 62%);pointer-events:none}.hero-card:after{content:"";position:absolute;top:0;left:60%;transform:translate(-50%) scaleX(-1);width:54%;height:100%;z-index:0;background-image:url(/hero-watermark-vector.svg);background-size:contain;background-position:center top;background-repeat:no-repeat;opacity:.1;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at 50% 38%,#000 32%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse at 50% 38%,#000 32%,transparent 74%);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:700px}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#4fc08d;margin-bottom:22px}.hero-title{font-family:var(--display);font-weight:500;font-size:clamp(42px,5.6vw,72px);line-height:.99;letter-spacing:-.035em;max-width:660px;text-wrap:balance;color:#f4f4ef}.hero-title em{font-style:normal;color:#4fc08d}.hero-desc{margin-top:22px;max-width:560px;font-size:17.5px;line-height:1.62;color:#b9c7c0}.search-form{margin-top:36px;display:flex;align-items:center;gap:6px;max-width:700px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:6px 6px 6px 18px;transition:border-color .2s ease,box-shadow .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.search-form:focus-within{border-color:#4fc08d;box-shadow:0 0 0 4px #4fc08d2e}.search-icon{display:grid;place-items:center;color:#8fa39a;flex-shrink:0}.search-input{flex:1;min-width:0;border:0;background:transparent;padding:14px 6px;font-size:17px;color:#f4f4ef;outline:none}.search-input::placeholder{color:#7a9086}.search-input::-webkit-search-cancel-button{display:none}.search-clear{flex-shrink:0;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.search-clear:hover{background:var(--paper);color:var(--ink)}.search-submit{flex-shrink:0;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;letter-spacing:-.005em;height:50px;padding:0 26px;cursor:pointer;transition:background .2s ease}.search-submit:hover{background:var(--accent-2)}.hero-points{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:16px;padding:0;list-style:none;font-size:13px;font-weight:500;color:#b9c7c0}.hero-points li{display:inline-flex;align-items:center;gap:6px}.hero-points svg{flex-shrink:0;color:#4fc08d}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:38px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);max-width:700px}.hero-stat{padding:0 28px;border-left:1px solid rgba(255,255,255,.1)}.hero-stat:first-child{padding-left:0;border-left:0}.hero-stat strong{display:block;font-family:var(--display);font-weight:500;font-size:clamp(28px,2.6vw,36px);line-height:1;letter-spacing:-.03em;color:#f4f4ef;font-variant-numeric:tabular-nums}.hero-stat span{display:block;margin-top:9px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:#b9c7c0}.hero-art{position:absolute;top:50%;right:48px;width:272px;margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateY(-50%);pointer-events:none}.journey-svg{display:block;width:100%;height:auto;overflow:visible}.flow-connectors line{fill:none;stroke:#ffffff1f;stroke-width:1.5;stroke-linecap:round}.flow-arrows path{fill:none;stroke:#ffffff4d;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.flow-start{fill:#4fc08d;opacity:.85}.flow-start-label{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.16em;fill:#8fa39a}.flow-step{--delay: 0s;color:#8fa39a;opacity:.5;animation:flow-fade 12s linear infinite;animation-delay:var(--delay)}.flow-step.is-1{--delay: -9.02s}.flow-step.is-2{--delay: -4.71s}.flow-step.is-3{--delay: 0s;animation-name:flow-fade-last}.flow-step.is-3 .flow-node{animation-name:flow-pop-last}.flow-step.is-3 .flow-halo{animation-name:flow-halo-last}.flow-node{transform-box:fill-box;transform-origin:center;animation:flow-pop 12s cubic-bezier(.22,.68,.32,1) infinite;animation-delay:var(--delay)}.flow-node>circle{fill:#ffffff14;stroke:currentColor;stroke-width:1.3}.flow-halo{opacity:0;transform-box:fill-box;transform-origin:center;animation:flow-halo 12s linear infinite;animation-delay:var(--delay)}.flow-icon{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.flow-label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;fill:currentColor}.flow-runner-outer{transform-box:view-box;transform-origin:0 0}.flow-runner{transform-box:view-box;transform-origin:0 0;animation:flow-run 12s linear infinite}.flow-trail{fill:none;stroke:url(#flow-trail-grad);stroke-width:2;stroke-linecap:round;opacity:.75}.flow-bloom{opacity:.9}.flow-dot{fill:#4fc08d;stroke:#ffffffe6;stroke-width:1.2}.journey-caption{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8fa39a;white-space:nowrap}.journey-caption:before,.journey-caption:after{content:"";width:26px;height:1px;background:#ffffff26}@keyframes flow-run{0%{transform:translateY(0);opacity:0}5%{opacity:1}95%{opacity:1}to{transform:translateY(195px);opacity:0}}@keyframes flow-fade{0%{opacity:.5;color:#8fa39a}3%{opacity:1;color:#4fc08d}10%{opacity:1;color:#4fc08d}24%{opacity:.5;color:#8fa39a}to{opacity:.5;color:#8fa39a}}@keyframes flow-pop{0%,to{transform:scale(1)}3%,10%{transform:scale(1.08)}24%{transform:scale(1)}}@keyframes flow-halo{0%,to{opacity:0;transform:scale(.85)}4%,10%{opacity:1;transform:scale(1)}24%{opacity:0;transform:scale(1.05)}}@keyframes flow-fade-last{0%,89%{opacity:.5;color:#8fa39a}93%,99%{opacity:1;color:#4fc08d}to{opacity:.5;color:#8fa39a}}@keyframes flow-pop-last{0%,89%{transform:scale(1)}93%,99%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes flow-halo-last{0%,89%{opacity:0;transform:scale(.85)}93%,99%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.catalog{max-width:var(--maxw);margin:76px auto 0;padding:0 var(--pad);scroll-margin-top:96px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 40px;flex-wrap:wrap}.section-head.centered{align-items:flex-start;flex-direction:column;gap:16px}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.section-title{font-family:var(--display);font-weight:500;font-size:clamp(30px,3.6vw,44px);line-height:1.06;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}.section-count{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink-3);padding-bottom:6px;font-variant-numeric:tabular-nums}.section-lead{max-width:580px;color:var(--ink-2);font-size:16.5px;line-height:1.65}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:26px 0 34px}.segmented{display:inline-flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px}.segmented button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink-2);font-size:14px;font-weight:500;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--ink);color:#f7f7f4}.segmented .status-dot{background:var(--accent)}.segmented button[aria-pressed=true] .status-dot{background:currentColor}.toolbar-right{display:flex;align-items:center;gap:10px}.select-wrap{position:relative;display:inline-flex;align-items:center}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;height:44px;padding:0 40px 0 16px;font-size:14px;font-weight:500;color:var(--ink-2);cursor:pointer}.select-wrap select:hover{border-color:var(--ink-3)}.select-wrap svg{position:absolute;right:14px;color:var(--ink-3);pointer-events:none}.icon-btn{width:44px;height:44px;border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;display:grid;place-items:center;color:var(--ink-2);cursor:pointer;transition:border-color .18s ease,color .18s ease}.icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-btn:disabled{opacity:.55;cursor:progress}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:38px 24px}.reveal{animation:rise .4s cubic-bezier(.22,.68,.32,1) backwards}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.book-card{display:flex;flex-direction:column;gap:12px;width:100%;border:0;background:none;padding:0;text-align:left;cursor:pointer}.cover-wrap{position:relative}.cover-art{position:relative;width:100%;aspect-ratio:2 / 3;border-radius:10px;overflow:hidden;background:linear-gradient(160deg,var(--cover-a, #0d3b2b),var(--cover-b, #071f17));border:1px solid rgba(11,19,16,.12);transition:transform .24s cubic-bezier(.22,.68,.32,1),box-shadow .24s ease,border-color .24s ease;isolation:isolate}.book-card:hover .cover-art{transform:translateY(-5px);border-color:#0b131047;box-shadow:0 24px 36px -28px #0b131099}.cover-art img{width:100%;height:100%;object-fit:cover;display:block}.cover-art:after{content:"";position:absolute;top:0;bottom:0;left:12px;width:1px;background:#ffffff29;pointer-events:none;z-index:3}.cover-sheen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.3))}.cover-card,.cover-detail{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:18px 16px 16px 20px;color:#f8f6ef}.cover-kicker{position:absolute;top:14px;left:20px;font-family:var(--mono);font-size:7.5px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c;z-index:2}.cover-title{position:relative;z-index:2;font-family:var(--display);font-weight:500;font-size:15px;line-height:1.22;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cover-author{position:relative;z-index:2;font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-detail{padding:26px 24px 24px 28px;gap:9px}.cover-detail .cover-kicker{top:22px;left:28px;font-size:9px}.cover-detail .cover-title{font-size:clamp(20px,2.2vw,26px);-webkit-line-clamp:6}.cover-detail .cover-author{font-size:10px}.cover-thumb{width:60px;min-width:60px;height:90px;aspect-ratio:auto;border-radius:6px;display:grid;place-items:center}.cover-thumb:after{left:6px}.cover-initial{position:relative;z-index:2;font-family:var(--display);font-size:24px;color:#ffffffe6}.cover-badge{position:absolute;top:10px;right:10px;z-index:4;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.02em;padding:4px 8px;border-radius:6px;border:1px solid rgba(11,19,16,.14);background:#fffffff0;color:var(--ink);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cover-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-3)}.cover-badge.is-available:before{background:var(--accent)}.cover-badge.is-unavailable{color:var(--ink-2)}.cover-badge.is-unavailable:before{background:#b07b22}.book-card-body{display:flex;flex-direction:column;gap:4px;padding:0 1px}.book-card-title{font-family:var(--display);font-size:16px;font-weight:500;line-height:1.34;letter-spacing:-.005em;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card:hover .book-card-title{color:var(--accent)}.book-card-authors{font-size:13.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-card-foot{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--ink-3);font-variant-numeric:tabular-nums}.book-card-foot .dot{width:2px;height:2px;border-radius:50%;background:var(--line-strong)}.book-skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-cover{width:100%;aspect-ratio:2 / 3;border-radius:8px;background:linear-gradient(100deg,#ecece6 20%,#f6f6f2,#ecece6 56%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.skeleton-line{height:9px;border-radius:4px;background:linear-gradient(100deg,#ecece6 20%,#f6f6f2,#ecece6 56%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.skeleton-line.w-80{width:80%}.skeleton-line.w-60{width:60%}.skeleton-line.w-40{width:40%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.catalog-alert{margin-bottom:24px}.alert{display:flex;align-items:flex-start;gap:12px;border-radius:10px;padding:14px 16px;font-size:14.5px;line-height:1.55;border:1px solid transparent}.alert svg{flex-shrink:0;margin-top:1px}.alert strong{display:block;font-size:14.5px;font-weight:600;margin-bottom:2px}.alert p{margin:0}.alert-warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}.alert-error{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.alert-info{background:var(--accent-soft);border-color:#0d6a4933;color:var(--accent-2)}.catalog-error,.catalog-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:72px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.catalog-error-icon,.catalog-empty-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink-2);border:1px solid var(--line);margin-bottom:6px}.catalog-error h3,.catalog-empty h3{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.02em}.catalog-error p,.catalog-empty p{color:var(--ink-3);max-width:440px;font-size:15.5px}.catalog-error .btn{margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:10px;padding:11px 20px;font-size:14.5px;font-weight:600;letter-spacing:-.005em;cursor:pointer;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink-2)}.btn-ghost:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.btn-lg{padding:14px 26px;font-size:15.5px}.btn-block{width:100%}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.pagination-info{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.pagination-info strong{color:var(--ink);font-weight:500}.how{margin-top:96px;padding:80px 0;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:78px}.how-inner,.faq-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.how-card{position:relative;background:var(--surface);padding:32px 30px 34px}.how-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,.68,.32,1)}.how-card:hover:before{transform:scaleX(1)}.how-num{display:block;font-family:var(--mono);font-size:18px;font-weight:500;letter-spacing:.14em;color:var(--ink-3);margin-bottom:22px}.how-icon{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--accent);border:1px solid var(--line-strong);margin-bottom:20px}.how-card h3{font-family:var(--display);font-size:23px;font-weight:500;letter-spacing:-.02em;margin-bottom:8px}.how-card p{color:var(--ink-2);font-size:15px;line-height:1.62}.faq{padding:88px 0;scroll-margin-top:78px}.faq-inner{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start}.faq-copy p{margin-top:16px;color:var(--ink-2);max-width:400px;font-size:16px}.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--display);font-weight:500;font-size:17.5px;letter-spacing:-.01em;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:18px;font-weight:400;color:var(--accent);line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list p{padding:0 40px 24px 0;color:var(--ink-2);font-size:15.5px;line-height:1.65}.site-footer{background:var(--ink);color:#b9c7c0;margin-top:0}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:44px var(--pad) 34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px 40px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand div{display:flex;flex-direction:column;line-height:1.3}.footer-brand strong{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.01em;color:#f4f4ef}.footer-brand span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8fa39a}.footer-nav{display:flex;gap:26px;justify-content:center;flex-wrap:wrap}.footer-nav a{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#b9c7c0;text-decoration:none}.footer-nav a:hover{color:#fff}.footer-note{grid-column:1 / -1;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#86998f}.footer-tech{grid-column:1 / -1;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:#6c7873;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#080e0c8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .18s ease}.modal-panel{position:relative;width:100%;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-lg);animation:pop-in .22s cubic-bezier(.2,.75,.3,1)}.modal-sm{max-width:540px}.modal-md{max-width:640px}.modal-lg{max-width:1000px}.modal-close{position:absolute;top:16px;right:16px;z-index:5;width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.modal-close:hover{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.detail-grid{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start}.detail-visual{display:flex;flex-direction:column;gap:16px}.availability-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.availability-numbers{display:flex;align-items:center;justify-content:space-between;gap:8px}.availability-numbers>div:not(.availability-divider){flex:1;text-align:center}.availability-numbers strong{display:block;font-family:var(--display);font-weight:500;font-size:30px;line-height:1;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.availability-numbers span{display:block;margin-top:6px;font-family:var(--mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.availability-divider{width:1px;height:34px;background:var(--line)}.availability-pill{display:flex;align-items:center;gap:7px;justify-content:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;font-weight:500}.availability-pill.is-available{color:var(--accent)}.availability-pill.is-unavailable{color:#9a5a12}.availability-pill.is-unavailable .status-dot{background:#b07b22}.availability-note{margin-top:7px;font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:var(--ink-3);text-align:center;line-height:1.5}.detail-info{min-width:0;padding-top:2px}.detail-eyebrow{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.detail-title{font-family:var(--display);font-size:clamp(28px,3.6vw,42px);font-weight:500;line-height:1.06;letter-spacing:-.03em;padding-right:32px}.detail-subtitle{margin-top:10px;font-size:16.5px;color:var(--ink-2);font-style:italic}.detail-authors{margin-top:12px;font-size:15.5px;color:var(--ink-2)}.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin-top:28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.meta-item dt{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.meta-item dd{font-size:14.5px;color:var(--ink);font-weight:500;overflow-wrap:anywhere}.synopsis{margin-top:24px}.synopsis h3{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.synopsis p{font-size:15px;line-height:1.7;color:var(--ink-2);white-space:pre-line;max-height:220px;overflow-y:auto;padding-right:12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.subject-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.subject-tag{font-size:11.5px;font-weight:500;color:var(--ink-2);background:transparent;border:1px solid var(--line-strong);border-radius:6px;padding:4px 10px}.detail-actions{margin-top:30px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.detail-note{font-size:12.5px;color:var(--ink-3);line-height:1.55;max-width:440px}.reserve-head{padding-right:36px}.reserve-title{font-family:var(--display);font-size:30px;font-weight:500;line-height:1.08;letter-spacing:-.03em}.reserve-subtitle{margin-top:8px;font-size:15px;color:var(--ink-3);max-width:460px}.reserve-book{display:flex;gap:16px;align-items:center;margin-top:22px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.reserve-book-info{display:flex;flex-direction:column;gap:3px;min-width:0}.reserve-book-info strong{font-family:var(--display);font-size:14.5px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reserve-book-info>span{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-status{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.02em}.inline-status.is-available{color:var(--accent)}.inline-status.is-unavailable{color:#9a5a12}.inline-status.is-unavailable .status-dot{background:#b07b22}.field{margin-top:18px;min-width:0}.field>label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:7px}.input{width:100%;border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:13px 15px;font-size:16px;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}.input::placeholder{color:#9aa79f}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled{background:var(--paper);color:var(--ink-3)}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:14px;color:var(--ink-3);pointer-events:none}.input-with-icon .input{padding-left:44px}.textarea{resize:vertical;min-height:90px;line-height:1.55}.field-hint{margin-top:6px;font-size:12px;color:var(--ink-3);text-align:right}.field>.field-hint:first-of-type{text-align:left}.field-error{margin-top:6px;font-size:12.5px;color:var(--danger);font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.reader-card{display:flex;align-items:center;gap:13px;margin-top:18px;padding:13px 15px;background:var(--accent-soft);border:1px solid rgba(13,106,73,.22);border-radius:12px;animation:rise .28s ease}.reader-avatar{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:500;font-size:17px;flex-shrink:0}.reader-info{display:flex;flex-direction:column;min-width:0;gap:1px;line-height:1.35}.reader-info strong{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-info span{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.reader-course{color:var(--ink-3)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-change{margin-left:auto;border:0;background:transparent;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:6px;flex-shrink:0}.reader-change:hover{background:#0d6a491a}.reader-change:disabled{opacity:.5;cursor:not-allowed}.reserve-actions{margin-top:22px}.reserve-policy{display:flex;align-items:flex-start;gap:7px;margin-top:12px;font-size:11.5px;line-height:1.5;color:var(--ink-3);justify-content:center;text-align:left}.reserve-policy svg{flex-shrink:0;margin-top:1px}.privacy-note{margin-top:7px}form .alert{margin-top:16px}.success-view{text-align:center;padding:6px 2px 0}.success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;color:var(--accent);background:var(--surface);border:1.5px solid var(--accent)}.success-title{font-family:var(--display);font-size:30px;font-weight:500;line-height:1.1;letter-spacing:-.03em}.success-text{margin:10px auto 0;max-width:410px;font-size:14.5px;color:var(--ink-3)}.success-details{margin:24px 0 22px;text-align:left;border:1px solid var(--line);border-radius:12px;overflow:hidden}.success-details>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line);font-size:14px}.success-details>div:last-child{border-bottom:0}.success-details dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}.success-details dd{font-weight:500;overflow-wrap:anywhere}.protocol-button{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;cursor:pointer;color:var(--ink)}.protocol{font-family:var(--mono);font-size:13px;letter-spacing:.04em;background:var(--paper);border:1px solid var(--line);padding:4px 8px;border-radius:6px}.protocol-copy{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.status-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;border-radius:6px;padding:3px 9px}.status-chip.is-pending{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}.success-foot{margin-top:14px;font-size:11.5px;color:var(--ink-3)}.toast-stack{position:fixed;right:24px;bottom:24px;z-index:150;display:flex;flex-direction:column;gap:10px;max-width:min(390px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:11px;padding:13px 13px 13px 15px;border-radius:10px;background:var(--ink);color:#f4f4ef;box-shadow:0 20px 40px -22px #0009;animation:toast-in .24s cubic-bezier(.2,.75,.3,1);border:1px solid rgba(255,255,255,.14)}.toast-success{background:var(--accent-2)}.toast-error{background:#7d2a20}.toast-info{background:#16332a}.toast-icon{width:28px;height:28px;border-radius:50%;background:#ffffff24;display:grid;place-items:center;flex-shrink:0}.toast-copy{display:flex;flex-direction:column;gap:3px;min-width:0;padding-top:2px}.toast-copy strong{font-size:13.5px;font-weight:600}.toast-copy span{font-size:12px;color:#f4f4efc7;line-height:1.45}.toast-close{margin-left:auto;border:0;background:transparent;color:#ffffffa6;cursor:pointer;padding:4px;border-radius:5px;flex-shrink:0}.toast-close:hover{color:#fff;background:#ffffff1a}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.spinner,.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1279px){.hero-art{position:static;width:256px;margin:32px auto 0;transform:none}.hero-copy,.hero-stats{max-width:none}.hero-card:after{top:0;left:auto;right:-8px;transform:scaleX(-1);width:62%;background-position:right top;opacity:.08}}@media(max-width:1100px){.detail-grid{grid-template-columns:250px 1fr;gap:30px}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.header-nav{display:none}.hero-card{padding:56px 40px 44px}.hero-art{width:240px;margin-top:32px}.hero-copy{max-width:none}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0;max-width:none}.hero-stat:nth-child(3){padding-left:0;border-left:0}.how-grid{grid-template-columns:1fr}.faq-inner{grid-template-columns:1fr;gap:32px}.faq-copy p{max-width:none}.footer-inner{grid-template-columns:1fr;gap:20px}.footer-nav{justify-content:flex-start}}@media(max-width:720px){:root{--pad: 18px}body{font-size:16px}.header-inner{height:68px;gap:14px}.brand-mark{width:40px;height:40px;border-radius:10px}.brand-name{font-size:18px}.brand-sub{font-size:9px;letter-spacing:.12em}.header-pill{font-size:9.5px;padding:6px 10px}.hero{padding-top:18px}.hero-card{border-radius:16px;padding:36px 22px 30px}.hero-art{width:214px;margin-top:28px}.hero-card:after{right:-12px;width:76%;opacity:.06}.flow-label{font-size:14px}.flow-start-label{font-size:8px}.journey-caption{gap:8px;font-size:9.5px;letter-spacing:.12em}.journey-caption:before,.journey-caption:after{width:18px}.hero-title{font-size:clamp(34px,9.6vw,46px);letter-spacing:-.03em}.hero-desc{margin-top:18px;font-size:16px}.hero-points{display:none}.search-form{margin-top:26px;padding:6px;gap:4px;flex-wrap:wrap}.search-icon{margin-left:10px}.search-input{font-size:16px;padding:10px 4px;flex-basis:calc(100% - 150px)}.search-submit{height:46px;padding:0 20px;margin-left:auto;font-size:14.5px}.hero-stats{margin-top:34px;padding-top:22px;gap:22px 0}.hero-stat{padding:0 16px}.hero-stat strong{font-size:28px}.catalog{margin-top:52px;scroll-margin-top:84px}.section-count{padding-bottom:0}.toolbar{margin:20px 0 26px}.segmented button{padding:7px 14px;font-size:13px}.select-wrap select{height:40px;font-size:13px;padding:0 34px 0 12px}.icon-btn{width:40px;height:40px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.cover-card{padding:13px 10px 12px 14px}.cover-art:after{left:8px}.cover-kicker{left:14px;top:10px;font-size:6.5px}.cover-title{font-size:13px}.cover-badge{top:7px;right:7px;font-size:9px;padding:3px 6px}.book-card-title{font-size:14.5px}.book-card-authors{font-size:12.5px}.pagination{gap:10px;margin-top:36px}.pagination .btn{padding:9px 14px;font-size:13px}.how{margin-top:60px;padding:52px 0}.how-grid{margin-top:28px}.how-card{padding:26px 22px}.faq{padding:56px 0}.faq-list summary{font-size:16.5px;padding:19px 40px 19px 0}.modal-backdrop{padding:10px;align-items:flex-end}.modal-panel{max-height:94vh;padding:26px 20px;border-radius:16px}.modal-close{top:10px;right:10px}.detail-grid{grid-template-columns:1fr;gap:24px}.detail-visual{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:start}.detail-title{font-size:26px;padding-right:26px}.meta-grid{margin-top:20px;padding:18px 0;gap:14px 18px}.detail-actions .btn{width:100%}.form-row{grid-template-columns:1fr}.reserve-title{font-size:24px}.success-details>div{grid-template-columns:100px 1fr;padding:10px 13px;font-size:13px}.toast-stack{left:12px;right:12px;bottom:12px;max-width:none}}@media(max-width:430px){.brand-sub{display:none}.header-pill{margin-left:auto}.hero-art{width:189px}.flow-label{font-size:13px}.hero-title{font-size:33px}.hero-eyebrow{font-size:10px;letter-spacing:.12em}.hero-stats{gap:20px 0}.hero-stat strong{font-size:25px}.hero-stat span{font-size:9px}.book-grid{gap:24px 12px}.detail-visual{grid-template-columns:96px 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.flow-connectors,.flow-runner,.flow-step,.flow-node,.flow-halo,.flow-trail,.flow-dot,.flow-bloom,.flow-arrows{animation:none!important}.flow-runner{display:none}.flow-step{opacity:1;color:#b9c7c0}.flow-halo{opacity:0}}
