:root{--maxw: 1200px;--error: var(--es-red);--nav-h: 64px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background-image:radial-gradient(rgba(26,23,21,.05) 1px,transparent 1.4px);background-size:9px 9px;background-attachment:fixed}a{color:var(--es-red);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;line-height:.98;font-weight:700;color:var(--ink)}:focus-visible{outline:3px solid var(--es-teal);outline-offset:2px;border-radius:4px}.hero :focus-visible,.es-sunburst :focus-visible{outline-color:var(--es-ink)}.app{min-height:100vh}.eyebrow{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:var(--text-eyebrow);color:var(--es-teal)}.topnav{display:flex;align-items:center;gap:18px;padding:10px 22px;min-height:var(--nav-h);background:#f7f1e3db;-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.brand:hover{text-decoration:none}.brand-logo{width:42px;height:42px;border-radius:50%;display:block;box-shadow:0 1px 0 var(--ink),0 4px 12px #1a171540}.brand-wordmark{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;letter-spacing:.02em;line-height:1}.brand-wordmark .brand-sub{display:block;font-family:var(--font-accent);font-size:9.5px;letter-spacing:.22em;font-weight:600;color:var(--es-teal);margin-top:2px}.topnav-links{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:14px}.topnav-links>a{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink);font-weight:600}.topnav-links>a:hover{color:var(--es-vermillion);text-decoration:none}.account{display:flex;align-items:center;gap:12px}.account-chip{display:inline-flex;align-items:center;gap:8px;background:var(--es-cream-deep);border:2px solid var(--ink);border-radius:999px;padding:5px 12px 5px 6px}.account-avatar{width:26px;height:26px;border-radius:50%;background:var(--sunburst);color:#fff;font-family:var(--font-display);font-weight:700;display:grid;place-items:center;font-size:13px}.account-email{color:var(--ink);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-size:15px;background:var(--es-cream-deep);color:var(--ink);border:2px solid var(--ink);padding:11px 18px;border-radius:var(--radius);cursor:pointer;text-align:center;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-card)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn:active{transform:translateY(0)}.btn-primary:focus-visible{outline-color:var(--es-ink);box-shadow:0 0 0 2px var(--es-cream)}.btn-primary{background:var(--es-vermillion-dark);color:var(--primary-ink);border-color:var(--ink)}.btn-primary:hover{background:var(--es-red)}.btn-secondary{background:var(--secondary);color:#fff;border-color:var(--ink)}.btn-secondary:hover{background:var(--es-teal-deep)}.btn-sm{padding:7px 13px;font-size:13px}.btn-lg{padding:14px 26px;font-size:18px}.link-btn{background:none;border:0;color:var(--es-red);cursor:pointer;font-size:14px;font-weight:600;padding:0;font-family:var(--font-body)}.link-btn:hover{text-decoration:underline}.link-btn.small{font-size:12px;color:var(--muted)}.page{max-width:var(--maxw);margin:0 auto;padding:28px 22px 80px}.page.narrow{max-width:560px}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--error);font-weight:600}.hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:3px solid var(--ink);margin:6px 0 34px;padding:56px 40px;text-align:center;box-shadow:var(--shadow-card)}.hero-rays{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:repeating-conic-gradient(from 0deg at 50% 38%,var(--es-amber) 0deg 7.5deg,var(--es-orange) 7.5deg 15deg),var(--sunburst);opacity:.95;z-index:0}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--halftone);background-size:var(--halftone-size);mix-blend-mode:multiply;opacity:.3;pointer-events:none;z-index:1}.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px}.hero-eyebrow{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.22em;font-weight:600;font-size:13px;color:#fff;background:var(--ink);padding:5px 14px;border-radius:999px}.hero h1{margin:0;color:var(--es-ink);font-size:var(--text-h1);text-shadow:0 2px 0 rgba(247,241,227,.45);max-width:16ch}.hero-sub{margin:0;color:var(--es-ink);font-family:var(--font-body);font-weight:600;font-size:clamp(15px,2vw,19px);max-width:60ch}.hero-cta{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.hero .btn{border-color:var(--ink)}.shop-controls{position:sticky;top:var(--nav-h);z-index:15;background:var(--bg);padding:14px 0 12px;margin-bottom:12px;border-bottom:2px solid var(--line)}.search-wrap{position:relative;max-width:520px}.search-input{width:100%;font-family:var(--font-body);font-size:16px;color:var(--ink);background:var(--well);border:2px solid var(--ink);border-radius:999px;padding:12px 18px 12px 44px}.search-input::placeholder{color:var(--muted)}.search-input:focus,.field input:focus{outline:none;border-color:var(--es-teal);box-shadow:0 0 0 3px #167b6b2e}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:16px;pointer-events:none}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chip{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-size:13px;color:var(--es-teal-deep);background:var(--well);border:2px solid var(--es-teal);border-radius:999px;padding:6px 14px;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.chip:hover{background:#167b6b1f}.chip[aria-pressed=true]{background:var(--es-teal);color:#fff}.shelf{margin:34px 0}.shelf-title{font-size:var(--text-h2);margin:0 0 var(--space-4);display:inline-flex;align-items:center;gap:12px}.shelf-title:after{content:"";display:inline-block;flex:0 0 auto;width:46px;height:8px;background:var(--sunburst);border-radius:4px}.shelf-row{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scroll-padding-left:4px;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.shelf-row::-webkit-scrollbar{height:10px}.shelf-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}.shelf-row::-webkit-scrollbar-thumb:hover{background:var(--es-teal)}.rec-item{flex:0 0 auto;width:168px;scroll-snap-align:start;display:flex;flex-direction:column}.rec-item .card{width:100%}.rec-reason{margin:6px 0 0;font-family:var(--font-body);font-size:12px;line-height:1.3;color:var(--muted);font-style:italic}.continue-item{flex:0 0 auto;width:168px;scroll-snap-align:start;display:flex;flex-direction:column}.continue-item .card{width:100%}.continue-resume{margin:6px 0 0;align-self:flex-start;font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.02em;color:var(--primary)}.continue-resume:hover{text-decoration:underline}.card-progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:#1a17152e;border-bottom-left-radius:8px;border-bottom-right-radius:8px;overflow:hidden;z-index:2;pointer-events:none}.card-progress-fill{display:block;height:100%;background:var(--es-amber);border-right:1px solid var(--ink);transition:width .3s ease}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:22px 18px;padding:4px}.card{flex:0 0 auto;width:168px;color:var(--ink);scroll-snap-align:start}.book-grid .card{width:auto}.card:hover{text-decoration:none}.card-cover{position:relative;width:100%;aspect-ratio:2 / 3;border-radius:var(--radius);background:var(--well);border:2px solid var(--ink);box-shadow:var(--shadow-card);display:grid;place-items:center;overflow:visible}.card-cover img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}.card-cover--placeholder{padding:6px}.card-cover--placeholder img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}.owned-seal{position:absolute;top:-12px;right:-12px;width:56px;height:56px;border-radius:50%;background:var(--sunburst);border:2.5px solid var(--ink);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.04em;display:grid;place-items:center;text-align:center;line-height:1;transform:rotate(-12deg);box-shadow:0 3px 8px #1a17154d;z-index:3}.owned-seal:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1.5px dashed rgba(26,23,21,.55);border-radius:50%}.card-meta{padding:12px 2px 0}.card-title{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:600;font-size:15px;line-height:1.25;color:var(--ink)}.card-author{color:var(--muted);font-size:13px;margin-top:3px}.card-price{font-family:var(--font-display);font-size:15px;color:var(--es-vermillion-dark);font-weight:700;margin-top:6px}.card-price.owned{color:var(--es-teal)}.card-price.is-free{color:var(--es-teal);letter-spacing:.06em;text-transform:uppercase}.tile-row{display:flex;gap:20px;flex-wrap:wrap}.tile{flex:1 1 300px;max-width:400px;background:var(--well);border:3px solid var(--ink);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-card)}.tile.tile-sub{background:var(--es-teal);color:#fff}.tile.tile-sub .tile-desc,.tile.tile-sub .tile-foot .muted{color:#ffffffd9}.tile.tile-sub .card-price{color:#fff}.tile-kicker{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;color:var(--es-vermillion-dark)}.tile.tile-sub .tile-kicker{color:var(--es-amber)}.tile-title{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;line-height:1}.tile-desc{font-size:14px;line-height:1.5;flex:1}.tile-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:2px solid currentColor;border-color:var(--line)}.tile.tile-sub .tile-foot{border-color:#ffffff4d}.site-foot{margin-top:56px;border-top:3px solid var(--ink);padding-top:18px;font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.site-foot .tagline{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.detail-grid{display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:44px;align-items:start}.detail-cover{position:relative;background:var(--well);border:3px solid var(--ink);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-lift)}.detail-cover img{width:100%;display:block;border-radius:4px}.detail-cover .owned-seal{top:-16px;right:-16px;width:76px;height:76px;font-size:14px}.detail-category{display:inline-block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600;color:#fff;background:var(--es-teal);border:2px solid var(--ink);border-radius:999px;padding:4px 12px;margin-bottom:14px}.detail-info h1{margin:0 0 6px;font-size:clamp(28px,4vw,46px)}.detail-subtitle{font-family:var(--font-display);text-transform:uppercase;font-weight:600;font-size:18px;color:var(--es-ink-soft);margin:0 0 8px}.detail-author{color:var(--muted);font-size:16px;margin:0 0 4px}.detail-tags{font-size:13px;margin:6px 0 22px}.detail-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.detail-price{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--es-vermillion-dark)}.detail-price.is-free{color:var(--es-teal);letter-spacing:.04em}.detail-listprice{color:var(--muted);font-size:16px}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.detail-desc{line-height:var(--leading-body);max-width:var(--measure);font-size:var(--text-body)}@media (max-width: 760px){.detail-grid{grid-template-columns:1fr;gap:28px}.detail-cover{max-width:240px;margin:0 auto}}.form{display:flex;flex-direction:column;gap:16px;margin:22px 0;max-width:440px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--es-ink-soft)}.field input{background:var(--well);border:2px solid var(--ink);border-radius:8px;color:var(--ink);padding:12px 14px;font-size:16px;font-family:var(--font-body)}.callout{background:var(--well);border:2px solid var(--ink);border-left:8px solid var(--es-amber);border-radius:var(--radius);padding:18px;margin-top:18px;line-height:1.55}.callout.success{border-left-color:var(--es-teal)}code{background:var(--es-cream-deep);border:1px solid var(--line);padding:1px 5px;border-radius:4px;color:var(--es-vermillion-dark);font-size:.9em;overflow-wrap:anywhere;word-break:break-word}.checkout-seal{position:static;transform:rotate(-12deg);width:130px;height:130px;font-size:22px;margin:8px auto 4px;animation:esStamp .5s var(--ease) both}@keyframes esStamp{0%{transform:rotate(-12deg) scale(2.4);opacity:0}60%{transform:rotate(-12deg) scale(.92);opacity:1}to{transform:rotate(-12deg) scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.checkout-seal{animation:none}}.panel-card{background:var(--well);border:3px solid var(--ink);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-card)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin-top:20px}.library-item{display:flex;gap:16px;background:var(--well);border:3px solid var(--ink);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-card);position:relative}.library-cover{flex:0 0 auto;position:relative}.library-cover img{width:96px;border-radius:4px;display:block;border:1.5px solid var(--ink)}.library-cover .owned-seal{width:44px;height:44px;font-size:9px;top:-10px;right:-10px}.library-meta{display:flex;flex-direction:column;gap:5px;justify-content:flex-start}.library-meta .btn{margin-top:auto;align-self:flex-start}.library-source{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--es-teal)}.state{text-align:center;padding:70px 20px;display:flex;flex-direction:column;align-items:center;gap:14px}.state-logo{width:84px;height:84px;border-radius:50%;border:2px solid var(--ink)}.state h1,.state h2{margin:0}.spinner{width:34px;height:34px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--es-vermillion);animation:esSpin .8s linear infinite}@keyframes esSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}}.state-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skel{position:relative;overflow:hidden;background:var(--es-cream-deep);border-radius:6px}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,253,248,.85) 50%,transparent 100%);animation:esShimmer 1.4s ease-in-out infinite}@keyframes esShimmer{to{transform:translate(100%)}}.skel-cover{width:100%;aspect-ratio:2 / 3;border:2px solid var(--line);border-radius:var(--radius);background:var(--es-cream-deep)}.skel-line{height:12px;margin-top:8px;border-radius:4px}.skel-line-title{height:15px;width:90%;margin-top:12px}.skel-line-author{width:60%}.skel-line-price{width:38%;height:14px;margin-top:10px}.skel-shelf-title{height:26px;width:200px;margin-bottom:16px;border-radius:6px}.skel-hero{height:clamp(180px,34vw,280px);margin:6px 0 34px;border-radius:var(--radius-lg);border:3px solid var(--ink);background:var(--es-cream-deep)}.skel-hero:after{background:linear-gradient(90deg,transparent 0%,rgba(252,156,0,.28) 50%,transparent 100%)}.skel-detail-cover{aspect-ratio:2 / 3;border:3px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.skel-chip{width:110px;height:24px;border-radius:999px;margin:0 0 14px}.skel-h1{height:34px;width:80%;margin-bottom:10px}.skel-h1.short{width:52%}.skel-author{height:16px;width:40%;margin:10px 0 18px}.skel-price{height:30px;width:30%;margin-bottom:20px}.skel-btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.skel-btn{height:48px;width:150px;border-radius:var(--radius);margin-top:0}.skel-para{height:13px;width:100%;margin-top:10px}.skel-para.short{width:65%}.skel-lib-cover{flex:0 0 auto;width:96px;aspect-ratio:2 / 3;border-radius:4px;border:1.5px solid var(--line)}.skel-btn-sm{height:36px;width:96px;margin-top:14px;border-radius:var(--radius)}@media (prefers-reduced-motion: reduce){.skel:after{animation:none;opacity:.5}}.reader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--es-cream-deep)}.reader-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--es-cream);border-bottom:3px solid var(--ink);font-size:15px;flex:0 0 auto;z-index:5}.reader-back{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;color:var(--ink)}.reader-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.reader-sample-tag{color:var(--es-vermillion-dark)}.reader-bar-right{display:flex;align-items:center;gap:14px}.reader-progress{font-family:var(--font-display);color:var(--es-teal-deep);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.reader-icon-btn{background:var(--well);border:2px solid var(--ink);border-radius:8px;color:var(--ink);font-size:16px;line-height:1;cursor:pointer;padding:6px 10px}.reader-icon-btn:hover{background:var(--es-cream-deep)}.reader-stage{position:relative;flex:1 1 auto;min-height:0}.reader-viewer{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.reader-viewer .epub-container,.reader-viewer .epub-view{margin:0 auto}.reader-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--es-cream);background-image:radial-gradient(rgba(26,23,21,.05) 1px,transparent 1.4px);background-size:9px 9px;text-align:center;padding:24px}.reader-opening{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}.reader-opening-burst{position:absolute;top:-18px;left:50%;width:150px;height:150px;transform:translate(-50%);border-radius:50%;background:var(--sunburst);filter:blur(6px);opacity:.55;z-index:0;animation:esBurstPulse 1.8s var(--ease) infinite}@keyframes esBurstPulse{0%,to{transform:translate(-50%) scale(.82);opacity:.35}50%{transform:translate(-50%) scale(1.08);opacity:.7}}.reader-opening-logo{position:relative;z-index:1;width:72px;height:72px;border-radius:50%;border:2px solid var(--ink);box-shadow:0 4px 14px #1a171547}.reader-opening-text{position:relative;z-index:1;margin:0;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:16px;color:var(--ink)}@media (prefers-reduced-motion: reduce){.reader-opening-burst{animation:none}}.reader-message{max-width:440px;background:var(--well);border:3px solid var(--ink);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-card)}.reader-message h2{margin:0 0 10px}.reader-message .detail-actions{justify-content:center;margin-top:18px}.reader-panel{position:absolute;top:0;right:0;bottom:0;width:320px;background:var(--es-cream);border-left:3px solid var(--ink);padding:18px;overflow-y:auto;z-index:6;box-shadow:-8px 0 24px #1a17152e}.reader-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.reader-panel-head strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:18px}.bookmark-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}.bookmark-list li{display:flex;justify-content:space-between;gap:8px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px}.reader-controls{display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:var(--es-cream);border-top:3px solid var(--ink);flex:0 0 auto;gap:16px}.reader-controls>button{background:var(--primary);border:2px solid var(--ink);color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:4px 20px;border-radius:8px}.reader-controls>button:hover{background:var(--es-vermillion-dark)}.reader-typo{display:flex;align-items:center;gap:8px}.reader-typo button,.reader-typo select{background:var(--well);border:2px solid var(--ink);color:var(--ink);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:14px;font-family:var(--font-display);text-transform:uppercase;font-weight:600}.reader-typo button:hover{background:var(--es-cream-deep)}.reader-skip{position:absolute;left:8px;top:-48px;z-index:20;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;text-decoration:none;transition:top .12s var(--ease)}.reader-skip:focus{top:8px;outline:3px solid var(--es-amber)}.reader-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.reader-viewer-stage{background:#1a1715!important;overflow:hidden}.reader-gesture{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:transparent;touch-action:none;cursor:grab}.reader-gesture:active{cursor:grabbing}.reader-zoom{display:flex;align-items:center;gap:8px}.reader-zoom button{background:var(--well);border:2px solid var(--ink);color:var(--ink);border-radius:8px;padding:6px 14px;cursor:pointer;font-size:16px;line-height:1;font-family:var(--font-display);font-weight:600;min-width:44px;min-height:38px}.reader-zoom button:hover:not(:disabled){background:var(--es-cream-deep)}.reader-zoom button:disabled{opacity:.45;cursor:default}.reader-panel-count{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--es-teal-deep);font-variant-numeric:tabular-nums;white-space:nowrap}.reader-a11y-controls{margin-top:14px;padding-top:12px;border-top:1px solid var(--es-cream-deep)}.reader-toggle{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;line-height:1.4}.reader-toggle input{margin-top:2px;width:18px;height:18px;accent-color:var(--es-teal);flex:0 0 auto}.reader-bar button:focus-visible,.reader-controls button:focus-visible,.reader-zoom button:focus-visible,.reader-typo button:focus-visible,.reader-typo select:focus-visible,.reader-panel button:focus-visible,.reader-panel a:focus-visible{outline:3px solid var(--es-amber);outline-offset:2px}@media (prefers-reduced-motion: reduce){.reader-skip{transition:none}}@media (max-width: 768px){.page{padding:22px 16px 64px}.hero{padding:44px 24px;margin-bottom:28px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 14px}.card,.skel-card{width:150px}.tile{flex:1 1 100%;max-width:none}}@media (max-width: 560px){.topnav{gap:10px;padding:8px 12px}.brand-logo{width:36px;height:36px}.brand-wordmark{font-size:17px}.brand-wordmark .brand-sub{font-size:8.5px;letter-spacing:.16em}.topnav-links{gap:12px;font-size:13px}.topnav-links>a{font-size:13px}.account{gap:8px}.account-chip{padding:3px;border-width:2px}.account-email{display:none}.page{padding:18px 14px 56px}.hero{padding:34px 18px;margin-bottom:22px}.hero h1{max-width:14ch}.hero-sub{font-size:15px}.hero-cta{width:100%;flex-direction:column;gap:10px}.hero-cta .btn{width:100%}.shop-controls{padding:12px 0 10px}.search-wrap{max-width:none}.chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-right:-14px;padding-right:14px}.chip{flex:0 0 auto;min-height:36px}.shelf{margin:26px 0}.shelf-row{gap:14px;scroll-snap-type:x mandatory}.card,.skel-card{width:140px}.card-title{font-size:14px}.book-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}.book-grid .card{width:auto}.detail-cover{max-width:200px}.detail-actions{flex-direction:column;gap:10px}.detail-actions .btn{width:100%;min-height:48px}.detail-desc{font-size:15px}.tile-row{gap:14px}.library-grid{grid-template-columns:1fr;gap:16px}.library-item{padding:14px}.library-cover img,.skel-lib-cover{width:84px}.library-meta .btn{min-height:44px;padding-inline:18px}.panel-card{padding:22px 18px}.form{max-width:none}.form .btn{width:100%;min-height:48px}.site-foot{margin-top:40px}.reader-bar{gap:8px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}.reader-back{flex:0 0 auto;font-size:14px}.reader-title{font-size:14px;min-width:0}.reader-bar-right{flex:0 0 auto;gap:10px}.reader-progress{font-size:13px}.reader-icon-btn{min-width:44px;min-height:40px}.reader-panel{width:92vw;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}.reader-controls{padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom));gap:8px}.reader-controls>button{font-size:26px;padding:8px 18px;min-height:48px}.reader-typo{gap:6px}.reader-typo button,.reader-typo select{padding:8px 10px;min-height:44px;font-size:13px}}@media (max-width: 414px){.brand-wordmark .brand-sub{display:none}.detail-cover{max-width:180px}.reader-typo select{max-width:92px}}@media (max-width: 340px){.brand-wordmark{font-size:15px}.topnav-links{gap:10px}.card,.skel-card{width:124px}}.heart-toggle{position:absolute;top:8px;right:8px;z-index:3;width:34px;height:34px;border-radius:50%;border:2px solid var(--ink);background:#fffdf8eb;color:var(--es-vermillion);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:var(--shadow-card);transition:transform .15s var(--ease),background .15s var(--ease)}.heart-toggle:hover{transform:scale(1.12)}.heart-toggle.is-saved{background:var(--es-vermillion);color:#fff}.wishlist-btn.is-saved{border-color:var(--es-vermillion);color:var(--es-vermillion)}.secondary-actions{margin-top:4px;flex-wrap:wrap}.member-note,.member-badge{font-family:var(--font-accent);font-weight:600;color:var(--es-teal-deep)}.member-note{margin:4px 0 0;font-size:14px}.member-badge{display:inline-block;background:var(--es-amber);color:var(--ink);border-radius:999px;padding:3px 12px;font-size:13px;letter-spacing:.02em}.account-badge{color:var(--es-amber)}.print-crosssell a{font-weight:600}.library-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.wishlist-row-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.tile-link{text-decoration:none;color:inherit;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.tile-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.bundle-included-title{margin-top:28px;font-size:var(--text-h3)}.bundle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:18px;margin-top:14px}.bundle-item{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px}.bundle-item-cover{position:relative;aspect-ratio:2 / 3;border-radius:var(--radius);overflow:hidden;border:2px solid var(--ink);background:var(--well)}.bundle-item-cover img{width:100%;height:100%;object-fit:cover}.subscribe-hero,.subscribe-hero h1,.subscribe-hero .hero-eyebrow,.subscribe-hero .hero-sub{color:#fff}.subscribe-active{margin:18px 0}.plan-card{gap:12px}.plan-price{display:flex;align-items:baseline;gap:4px}.checkout-summary{border:2px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:16px 0;background:var(--well)}.checkout-line{display:flex;justify-content:space-between;padding:4px 0;font-size:15px}.checkout-line.discount{color:var(--es-teal-deep)}.checkout-line.total{font-weight:700;font-size:17px;border-top:2px solid var(--line);margin-top:6px;padding-top:10px}.coupon-row{display:flex;gap:10px;margin-top:6px}.coupon-input{flex:1;padding:10px 12px;border:2px solid var(--ink);border-radius:var(--radius);font-size:15px;background:var(--paper);text-transform:uppercase}.coupon-ok{color:var(--es-teal-deep);font-size:14px;margin-top:8px}.gift-code-list,.gift-sent-list{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:10px}.gift-code-row{display:flex;align-items:center;gap:12px}.gift-code{font-family:var(--font-accent);font-weight:600;letter-spacing:.06em;background:var(--es-cream-deep);border:2px dashed var(--ink);border-radius:var(--radius);padding:8px 14px;font-size:16px}.gift-sent-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border:2px solid var(--line);border-radius:var(--radius);padding:10px 14px}.gift-sent-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gift-status{font-size:13px;font-weight:600}.gift-status.redeemed{color:var(--es-teal-deep)}.gift-status.pending{color:var(--muted)}.account-card{border:3px solid var(--ink);border-radius:var(--radius-lg);background:var(--well);padding:22px;box-shadow:var(--shadow-card)}.account-card-head{display:flex;align-items:center;gap:16px}.account-avatar.lg{width:56px;height:56px;font-size:24px}.account-card-email{font-weight:600;font-size:18px}.account-stats{display:flex;gap:28px;margin:22px 0;flex-wrap:wrap}.account-stats dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.account-stats dd{margin:2px 0 0;font-family:var(--font-display);font-size:30px;font-weight:700}.account-links{display:flex;gap:12px;flex-wrap:wrap}.account-section,.account-signout{margin-top:32px}.kids-page{min-height:100vh}.kids-hero{position:relative;color:#fff;border-radius:var(--radius-lg);padding:36px 24px;margin-bottom:24px;text-align:center}.kids-hero h1,.kids-hero .hero-eyebrow,.kids-hero .hero-sub{color:#fff}.kids-exit{position:absolute;top:14px;right:14px;background:#fffdf8eb;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer;font-size:13px}.kids-grid{gap:22px}.kids-card .card-cover{border-width:4px}.kids-sample-tag{font-size:12px;font-weight:600;color:var(--es-vermillion-dark)}.kids-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a171599;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.kids-gate{max-width:360px;width:100%}.legal-doc{line-height:var(--leading-body);max-width:var(--measure)}.legal-doc .md-heading{font-family:var(--font-display);margin:1.2em 0 .4em;line-height:1.1}.legal-doc p,.legal-doc .md-list{margin:0 0 1em}.legal-doc .md-list{padding-left:1.3em}.legal-doc .md-quote{border-left:4px solid var(--es-amber);margin:0 0 1em;padding:6px 0 6px 16px;color:var(--muted);font-style:italic}.legal-doc .md-rule{border:none;border-top:2px solid var(--line);margin:1.6em 0}.legal-doc code{background:var(--es-cream-deep);border-radius:4px;padding:1px 5px;font-size:.92em}.legal-foot{margin-top:28px}.app-footer{margin-top:64px;border-top:3px solid var(--ink);background:var(--es-cream-deep)}.app-footer-inner{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.app-footer .tagline{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em}.app-footer-links{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}.app-footer-links a{font-size:14px;font-weight:600}.reader-panel-tabs{display:flex;gap:6px;margin:4px 0 12px;border-bottom:2px solid rgba(255,255,255,.15)}.reader-tab{background:none;border:none;color:inherit;opacity:.6;padding:8px 10px;cursor:pointer;font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-2px}.reader-tab.active{opacity:1;border-bottom-color:var(--es-amber)}.toc-list,.search-results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.toc-list li,.search-results li{padding:4px 0}.reader-search-form{display:flex;gap:8px;margin-bottom:12px}.reader-search-form input{flex:1;padding:8px 10px;border-radius:var(--radius);border:none;font-size:14px}.search-hit{text-align:left;font-size:13px;line-height:1.4}.reader-mark-actions{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.mark-kind{opacity:.8}@media (max-width: 720px){.detail-actions{flex-wrap:wrap}.app-footer-links{margin-left:0}}.tier-badge{display:inline-block;font-family:var(--font-display, inherit);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:4px;border:1.5px solid var(--ink);background:var(--es-paper);color:var(--ink);line-height:1.1}.card-cover .tier-badge{position:absolute;top:8px;left:8px;z-index:3}.tier-badge.tier-adult{background:var(--es-red);border-color:var(--es-red);color:#fff}.tier-badge.tier-teen{background:var(--es-amber);border-color:var(--ink);color:var(--ink)}.tier-badge.tier-kids{background:var(--es-teal);border-color:var(--es-teal);color:#fff}.advisory-badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--muted);color:var(--muted);background:transparent;line-height:1.2}.detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}.detail-nations{margin:10px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.nation-badge{display:inline-block;font-size:12px;padding:3px 9px;border-radius:999px;background:var(--es-cream-deep);border:1px solid var(--es-teal);color:var(--es-teal-deep)}.editorial-blurb{font-style:italic;color:var(--es-teal-deep);border-left:3px solid var(--es-amber);padding-left:12px;margin:12px 0;line-height:1.5}.stars{color:var(--es-amber);letter-spacing:1px;font-size:14px;white-space:nowrap}.card-rating{display:flex;align-items:center;gap:4px;margin:2px 0;font-size:12px}.card-rating .rating-count{color:var(--muted)}.detail-rating{display:inline-flex;align-items:center;gap:6px;margin:4px 0 2px;text-decoration:none;color:inherit}.detail-rating .detail-rating-num{font-weight:700}.book-reviews{margin:40px 0 0;border-top:2px solid var(--ink);padding-top:20px}.reviews-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.reviews-summary{display:inline-flex;align-items:center;gap:6px}.reviews-avg{font-weight:700}.reviews-note,.reviews-empty{margin:8px 0 16px}.review-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:16px}.review-item{background:var(--well);border:1px solid var(--es-cream-deep);border-radius:8px;padding:14px 16px}.review-item-head{display:flex;align-items:center;gap:10px}.review-verified{font-size:11px;font-weight:700;color:var(--es-teal);text-transform:uppercase;letter-spacing:.03em}.review-title{font-weight:700;margin-top:6px}.review-body{margin:6px 0;line-height:1.55}.review-byline{margin-top:6px}.review-form{background:var(--es-cream-deep);border-radius:8px;padding:16px;margin:12px 0 20px;display:grid;gap:10px}.review-form .field{display:grid;gap:4px}.review-form-stars{display:flex;gap:2px}.star-btn{font-size:26px;line-height:1;background:none;border:none;cursor:pointer;color:var(--muted);padding:0 2px}.star-btn.star-on{color:var(--es-amber)}.card-author--link{cursor:pointer;color:var(--es-teal-deep)}.card-author--link:hover,.card-author--link:focus-visible{color:var(--es-teal);text-decoration:underline}.detail-author-link{color:var(--es-teal-deep);font-weight:600}.detail-category-link{color:inherit;text-decoration:underline}.author-header{margin:18px 0 8px}.author-header-inner{display:flex;align-items:center;gap:18px}.author-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--ink)}.author-avatar{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--es-cream);background:var(--es-teal);border:3px solid var(--ink)}.author-headline h1{margin:2px 0 4px}.author-bio{max-width:70ch;margin:16px 0 8px;font-size:16px;line-height:1.55}.student-voices-hero h1{max-width:18ch}.student-voices-note{margin-top:8px}.student-voices-note p{max-width:70ch;font-size:15px;line-height:1.6}.browse-page{max-width:var(--maxw)}.browse-head{margin-bottom:18px}.browse-head h1{margin:4px 0 14px}.browse-search{max-width:560px}.browse-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}.browse-facets{position:sticky;top:calc(var(--nav-h) + 12px);border:2px solid var(--ink);border-radius:12px;background:var(--es-cream-deep);padding:14px 16px}.facet-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.facet-title{font-size:15px;margin:0}.facet-group{padding:10px 0;border-top:1px solid rgba(26,23,21,.12)}.facet-group:first-of-type{border-top:none}.facet-group-title{font-family:var(--font-body);text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.facet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.facet-chip{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:2px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.facet-chip:hover{background:var(--es-cream)}.facet-chip--on{border-color:var(--es-teal);background:var(--es-cream);color:var(--es-teal-deep)}.facet-chip-count{font-size:11px;color:var(--muted);font-weight:600}.facet-chip--on .facet-chip-count{color:var(--es-teal-deep)}.facet-check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer}.browse-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.browse-sort{display:flex;align-items:center;gap:8px}.browse-sort select{font-family:var(--font-body);font-size:13px;font-weight:600;border:2px solid var(--ink);border-radius:8px;padding:5px 8px;background:var(--es-cream);color:var(--ink)}@media (max-width: 720px){.browse-layout{grid-template-columns:1fr}.browse-facets{position:static}}.audio-section{margin-top:18px;padding:14px 16px;border:2px solid var(--ink);border-radius:12px;background:var(--well)}.audio-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.audio-section-title{font-family:var(--font-display, inherit);font-weight:700;font-size:1.05rem;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.audio-synth-badge{font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--es-teal-deep);background:#167b6b1f;border:1px solid var(--es-teal);border-radius:999px;padding:2px 8px}.audio-actions,.audio-upsell{display:flex;flex-direction:column;gap:10px}.audio-player{width:100%;background:var(--es-cream-deep);border:2px solid var(--ink);border-radius:10px;padding:10px 12px}.audio-player-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audio-btn{background:var(--well);border:2px solid var(--ink);border-radius:8px;color:var(--ink);font-size:14px;line-height:1;cursor:pointer;padding:8px 10px;min-height:40px}.audio-btn:hover:not(:disabled){background:var(--es-cream)}.audio-btn:disabled{opacity:.45;cursor:default}.audio-play{font-size:16px;min-width:52px;background:var(--es-vermillion);color:var(--es-white);border-color:var(--es-vermillion-dark)}.audio-play:hover:not(:disabled){background:var(--es-vermillion-dark)}.audio-scrub{display:flex;align-items:center;gap:8px;flex:1 1 200px;min-width:160px}.audio-scrub input[type=range]{flex:1 1 auto;accent-color:var(--es-vermillion)}.audio-time{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--ink-soft, #4a443d);min-width:38px;text-align:center}.audio-speed{min-width:48px;font-variant-numeric:tabular-nums}.audio-sleep{display:inline-flex;align-items:center;gap:4px}.audio-sleep select{border:2px solid var(--ink);border-radius:8px;background:var(--well);color:var(--ink);padding:6px 4px;font-size:.8rem}.audio-sample-note{margin:8px 2px 0;font-size:.8rem;color:var(--ink-soft, #4a443d)}.audio-error{margin:8px 2px 0}.reader-readalong{flex:0 0 auto;padding:8px 12px;background:var(--es-cream);border-top:2px solid var(--ink)}.reader-icon-btn.active{background:var(--es-amber);color:var(--es-ink)}.reader-tts-controls{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;background:var(--es-cream);border-top:2px solid var(--ink)}.reader-tts-note{flex-basis:100%;color:var(--es-ink);opacity:.8}.reader-tts-field{display:flex;align-items:center;gap:6px;font-size:.85rem}.reader-tts-field select,.reader-tts-field input[type=range]{max-width:220px}@media (max-width: 560px){.audio-player-row{gap:6px}.audio-scrub{order:5;flex-basis:100%}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.newsletter-card{background:var(--well);border:1px solid var(--line);border-radius:14px;padding:22px 24px;max-width:560px;margin:8px auto}.newsletter-heading{margin:0 0 6px;font-size:1.2rem}.newsletter-blurb{margin:0 0 14px;font-size:.92rem;line-height:1.5}.newsletter-form{display:flex;gap:8px;flex-wrap:wrap}.newsletter-label{flex:1 1 220px;display:block}.newsletter-form input[type=email]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--es-paper);color:var(--ink);font-size:.95rem}.newsletter-form input[type=email]:focus-visible{outline:3px solid var(--es-teal);outline-offset:1px}.newsletter-done{margin:0;color:var(--es-teal-deep);font-weight:600}.newsletter-error{margin:8px 0 0}.newsletter-microcopy{margin:8px 0 0;font-size:.78rem}.newsletter-shelf{margin-top:28px}.book-detail-newsletter{margin:32px 0 8px}.newsletter-footer{margin-top:14px;width:100%;max-width:420px}.newsletter-footer .newsletter-form{flex-wrap:nowrap}.newsletter-footer .newsletter-microcopy{color:var(--muted);opacity:.85}.consent-check{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:.88rem;line-height:1.4;color:var(--muted);cursor:pointer}.consent-check input[type=checkbox]{margin-top:2px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--es-teal)}.footer-status{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;font-size:.82rem;color:var(--muted)}.footer-status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--es-teal)}.footer-status-warn{color:var(--es-red)}.footer-status-warn .footer-status-dot{background:var(--es-amber)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.feature-card{background:var(--es-cream-deep);border-radius:12px;padding:18px 20px}.feature-card h3{margin:0 0 6px;color:var(--es-ink)}.feature-card p{margin:0}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px;margin-top:6px}.check-row{display:flex;align-items:center;gap:8px;font-size:.92rem}.org-titles{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:6px}.org-titles li{padding:8px 12px;background:var(--es-cream-deep);border-radius:8px}:root{--es-cream: #f7f1e3;--es-cream-deep: #efe6d2;--es-paper: #fffdf8;--es-ink: #1a1715;--es-ink-soft: #4a443d;--es-vermillion: #f0523d;--es-vermillion-dark: #d23a27;--es-red: #d80c00;--es-amber: #fc9c00;--es-orange: #fc8400;--es-teal: #167b6b;--es-teal-deep: #0e5a4e;--es-white: #ffffff;--bg: var(--es-cream);--panel: var(--es-cream-deep);--well: var(--es-paper);--ink: var(--es-ink);--muted: var(--es-ink-soft);--primary: var(--es-vermillion);--primary-ink: #fff;--secondary: var(--es-teal);--owned: var(--es-amber);--line: rgba(26, 23, 21, .14);--sunburst: radial-gradient(circle at 50% 38%, var(--es-amber) 0%, var(--es-orange) 42%, var(--es-vermillion) 100%);--sunburst-conic: conic-gradient(from 0deg, var(--es-amber), var(--es-orange), var(--es-vermillion), var(--es-orange), var(--es-amber));--halftone: radial-gradient(rgba(26,23,21,.18) 1px, transparent 1.4px);--halftone-size: 8px 8px;--font-display: "Oswald", "Haettenschweiler", "Arial Narrow", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-accent: "Space Grotesk", var(--font-body);--text-eyebrow: 12px;--text-caption: 13px;--text-body: 16px;--text-h3: clamp(20px, 2.4vw, 26px);--text-h2: clamp(24px, 3vw, 34px);--text-h1: clamp(34px, 6vw, 68px);--text-display: clamp(40px, 8vw, 84px);--leading-body: 1.6;--leading-tight: 1.05;--measure: 62ch;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius: 10px;--radius-lg: 16px;--shadow-card: 0 2px 4px rgba(26,23,21,.08), 0 8px 22px rgba(26,23,21,.12);--shadow-lift: 0 10px 30px rgba(26,23,21,.22);--ease: cubic-bezier(.2,.8,.2,1)}.es-display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;line-height:.98;font-weight:700;color:var(--ink)}.es-btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;background:var(--primary);color:var(--primary-ink);border:none;border-radius:var(--radius);padding:.7em 1.2em;cursor:pointer;transition:transform .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.es-btn:hover{background:var(--es-vermillion-dark);transform:translateY(-1px);box-shadow:var(--shadow-card)}.es-btn.secondary{background:var(--secondary)}.es-btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}.es-sunburst{background:var(--sunburst);position:relative;color:#fff}.es-sunburst:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--halftone);background-size:var(--halftone-size);mix-blend-mode:multiply;opacity:.35;pointer-events:none}@keyframes esBeadTwinkle{0%,to{filter:brightness(1)}}.es-logo-twinkle{animation:none}@keyframes esPosterWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}75%{transform:rotate(-.25deg)}}.es-cover{transition:transform .2s var(--ease),box-shadow .2s var(--ease);transform-origin:center}.es-cover:hover{animation:esPosterWiggle .55s ease-in-out;box-shadow:var(--shadow-lift)}@media (prefers-reduced-motion: reduce){.es-logo-twinkle,.es-cover:hover{animation:none}.es-btn,.es-cover{transition:none}}[data-theme=dark]{--es-cream: #15110d;--es-cream-deep: #221c16;--es-paper: #1d1813;--es-ink: #f4efe2;--es-ink-soft: #b6ab9a;--es-red: #ff7361;--bg: var(--es-cream);--panel: var(--es-cream-deep);--well: var(--es-paper);--ink: var(--es-ink);--muted: var(--es-ink-soft);--line: rgba(244, 239, 226, .14);--shadow-card: 0 2px 6px rgba(0,0,0,.5), 0 10px 28px rgba(0,0,0,.55);--shadow-lift: 0 14px 38px rgba(0,0,0,.65);--halftone: radial-gradient(rgba(244,239,226,.1) 1px, transparent 1.4px)}.app,.appbar,.bottomnav,.card-cover,.shelf,.page,.tile,.feature-hero,.discover-tile,.profile-link,.search-field,.seg,body{transition:background-color .25s var(--ease),color .2s var(--ease),border-color .25s var(--ease)}@media (prefers-reduced-motion: reduce){.app,.appbar,.bottomnav,.card-cover,.shelf,.page,.tile,.feature-hero,.discover-tile,.profile-link,.search-field,.seg,body{transition:none}}.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px clamp(12px,4vw,28px);padding-top:calc(10px + env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid var(--line)}.appbar-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-width:0}.appbar-logo{border-radius:50%;flex:none}.appbar-wordmark{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:700;font-size:clamp(13px,2.4vw,18px);line-height:1.02;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--panel);color:var(--ink);border:1px solid var(--line);cursor:pointer;transition:transform .15s var(--ease),background .15s var(--ease)}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle svg{width:18px;height:18px}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.bottomnav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 7px;text-decoration:none;color:var(--muted);font-family:var(--font-accent);font-size:11px;letter-spacing:.02em;-webkit-tap-highlight-color:transparent}.bottomnav-item svg{width:23px;height:23px}.bottomnav-item.active{color:var(--primary)}.bottomnav-label{line-height:1}.app.has-bottomnav{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.tab-head{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-weight:700;font-size:var(--text-h2);color:var(--ink);margin:var(--space-3) 0 var(--space-4)}.feature-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-5);box-shadow:var(--shadow-card);display:block;color:inherit;text-decoration:none}.feature-hero-img{width:100%;display:block;aspect-ratio:3 / 4;max-height:72vh;object-fit:cover;object-position:50% 22%;background:var(--panel)}@media (min-width: 760px){.feature-hero-img{aspect-ratio:16 / 7;object-position:50% 28%}}.feature-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 28%,color-mix(in srgb,var(--bg) 55%,transparent) 66%,var(--bg) 100%)}.feature-hero-content{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,4vw,30px);z-index:1;max-width:680px}.feature-hero-eyebrow{display:inline-block;font-family:var(--font-accent);font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.16em;color:var(--ink);opacity:.85;margin-bottom:6px}.feature-hero-title{font-family:var(--font-display);text-transform:uppercase;line-height:.96;font-size:clamp(28px,7vw,60px);margin:0 0 .15em;color:var(--ink);text-shadow:0 2px 18px color-mix(in srgb,var(--bg) 70%,transparent)}.feature-hero-tags{color:var(--muted);font-family:var(--font-accent);font-size:var(--text-caption);margin-bottom:var(--space-3)}.feature-hero-cta{display:flex;gap:var(--space-2);flex-wrap:wrap}.shelf-row{scroll-snap-type:x proximity}.shelf-row>*{scroll-snap-align:start}.shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.shelf-more{font-family:var(--font-accent);font-size:var(--text-caption);color:var(--es-red);text-decoration:none;white-space:nowrap}.shelf-more:hover{text-decoration:underline}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-3)}@media (min-width: 620px){.cover-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}.card--cover-only .card-cover{margin-bottom:0}.seg{display:inline-flex;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;margin-bottom:var(--space-4)}.seg button{border:none;background:transparent;color:var(--muted);padding:7px 15px;border-radius:999px;cursor:pointer;font-family:var(--font-accent);font-size:var(--text-caption);letter-spacing:.01em;transition:background .15s var(--ease),color .15s var(--ease)}.seg button.active{background:var(--primary);color:#fff}.discover-section-label{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-eyebrow);color:var(--muted);margin:var(--space-5) 0 var(--space-3)}.discover-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (min-width: 680px){.discover-grid{grid-template-columns:repeat(3,1fr)}}.discover-tile{display:flex;align-items:flex-end;min-height:92px;padding:var(--space-3);border-radius:var(--radius);background:var(--panel);color:var(--ink);text-decoration:none;border:1px solid var(--line);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:700;font-size:clamp(15px,3.4vw,20px);line-height:1.05;position:relative;overflow:hidden;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.discover-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.discover-tile--accent{background:var(--sunburst);color:#fff;border:none}.discover-tile--teal{background:var(--es-teal);color:#fff;border:none}.search-field{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:11px 16px}.search-field svg{width:18px;height:18px;color:var(--muted);flex:none}.search-field input{flex:1;background:transparent;border:none;outline:none;color:var(--ink);font-size:var(--text-body);min-width:0}.search-clear{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:2px 4px}.search-section-title{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-eyebrow);color:var(--muted);margin:var(--space-5) 0 var(--space-2)}.search-tags{display:flex;flex-wrap:wrap;gap:8px}.search-tag{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:7px 13px;cursor:pointer;font-size:var(--text-caption);font-family:var(--font-body)}.search-tag:hover{border-color:var(--primary);color:var(--primary)}.profile-screen{max-width:560px}.profile-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.profile-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--sunburst);color:#fff;font-family:var(--font-display);font-size:24px;flex:none}.profile-id{min-width:0}.profile-email{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.profile-badge{font-family:var(--font-accent);font-size:var(--text-caption);color:var(--es-teal)}.profile-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-4)}.profile-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--panel);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-size:var(--text-body);cursor:pointer;text-align:left;width:100%}.profile-link:last-child{border-bottom:none}.profile-link:hover{background:color-mix(in srgb,var(--panel) 84%,var(--ink))}.profile-link .chev{color:var(--muted);flex:none}
