@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";body:has(.snake-page){overflow:hidden;height:100vh;position:fixed;width:100%}.snake-page{background:#2d1e12;color:#f3e5ab;font-family:"Press Start 2P",monospace,cursive;text-align:center;margin:0;padding:0;height:100vh;max-height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;position:relative}.snake-page h1{margin-top:0;margin-bottom:0;font-size:2em;letter-spacing:2px}@media (max-width: 600px){.snake-page h1{font-size:1.2em;margin-top:8px;margin-bottom:4px}}.snake-page #score{font-size:1.2em;margin-bottom:10px}@media (max-width: 600px){.snake-page #score{font-size:.9em;margin-bottom:6px}}.snake-page #gameCanvas{background:#e0c28c;border:4px solid #a67c52;margin:0 auto 20px;display:block}@media (max-width: 600px){.snake-page #gameCanvas{margin:0 auto 8px}}.snake-page #touch-controls{margin:0 auto;width:160px;-webkit-user-select:none;user-select:none}.snake-page #touch-controls button{width:48px;height:48px;margin:4px;font-size:2em;background:#a67c52;color:#fff;border:2px solid #f3e5ab;border-radius:8px;font-family:inherit;box-shadow:2px 2px #7b5e3b;cursor:pointer}.snake-page #touch-controls button:active{background:#7b5e3b}@media (max-width: 600px){.snake-page{padding:2px 0;justify-content:flex-start;overflow-y:hidden;-webkit-overflow-scrolling:touch}.snake-page h1{font-size:1em;margin-top:4px;margin-bottom:2px;line-height:1.2}.snake-page #tagline{font-size:.6em;margin-bottom:4px;line-height:1.2}.snake-page #scoreLine{font-size:.75em;margin-bottom:4px;max-width:90vw;padding:0 2px}.snake-page #gameCanvas{width:90vw;height:112.5vw;max-width:90vw;max-height:112.5vw;margin:0 auto 4px}.snake-page #touch-controls{width:90vw;margin:0 auto 4px}.snake-page #touch-controls button{width:38px;height:38px;font-size:1.3em;margin:2px}.snake-page #mainFooter{margin-top:4px;font-size:.6em;padding:2px 0}.snake-page #score{font-size:.8em;margin-bottom:4px}}.snake-page #tagline{font-size:1.1em;color:#a67c52;font-weight:700;margin-bottom:12px;letter-spacing:1px}@media (max-width: 600px){.snake-page #tagline{font-size:.7em;margin-bottom:6px}}.snake-page #gameOverPopup{position:fixed;top:0;left:0;right:0;bottom:0;background:#2c2010b3;display:flex;align-items:center;justify-content:center;z-index:1000}.snake-page #gameOverContent{background:#fff8e1;border:4px solid #a67c52;border-radius:18px;padding:32px 24px 24px;box-shadow:0 8px 32px #a67c52aa;text-align:center;min-width:220px}.snake-page #gameOverContent h2{color:#a67c52;margin-top:0;margin-bottom:12px;font-size:2em}.snake-page #finalScore{font-size:1.3em;color:#3b5bdb;margin-bottom:10px;font-weight:700}.snake-page #quip{color:#7b5232;font-size:1.1em;margin-bottom:18px}.snake-page #restartBtn{background:#a67c52;color:#fff;border:none;border-radius:8px;font-size:1.1em;padding:8px 24px;cursor:pointer;font-family:inherit;font-weight:700;box-shadow:2px 2px #7b5e3b}.snake-page #restartBtn:active{background:#7b5e3b}.snake-page #startScreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#2c2010b3;display:flex;align-items:center;justify-content:center;z-index:2000}.snake-page #startContent{background:#fff8e1;border:4px solid #a67c52;border-radius:18px;padding:32px 24px 24px;box-shadow:0 8px 32px #a67c52aa;text-align:center;min-width:220px}.snake-page #startContent h1{color:#a67c52;margin-top:0;margin-bottom:12px;font-size:2em}.snake-page #startTagline{font-size:1.1em;color:#a67c52;font-weight:700;margin-bottom:18px;letter-spacing:1px}.snake-page #startBtn{background:#a67c52;color:#fff;border:none;border-radius:8px;font-size:1.1em;padding:8px 24px;cursor:pointer;font-family:inherit;font-weight:700;box-shadow:2px 2px #7b5e3b}.snake-page #startBtn:active{background:#7b5e3b}.snake-page #startBtn:disabled{opacity:.5;cursor:not-allowed}.snake-page #countdownOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#2c201099;display:flex;align-items:center;justify-content:center;z-index:3000}.snake-page #countdownNumber{font-size:5em;color:#a67c52;font-family:"Press Start 2P",monospace,cursive;text-shadow:2px 2px 8px #fff8e1,0 0 16px #a67c52;font-weight:700}.snake-page #usernameLabel{color:#7b5232;font-size:1em;margin-bottom:4px;display:block;font-weight:700}.snake-page #usernameInput{font-size:1em;padding:6px 10px;border:2px solid #a67c52;border-radius:6px;margin-bottom:14px;margin-top:2px;width:70%;max-width:180px;box-sizing:border-box;font-family:inherit;background:#fff8e1;color:#7b5232}.snake-page #usernameInput:focus{outline:none;border-color:#3b5bdb}.snake-page #leaderboard{margin:16px 0 10px;text-align:center}.snake-page #leaderboard table{width:100%;border-collapse:collapse;margin:0 auto;background:#f5e6c5;border-radius:8px;overflow:hidden}.snake-page #leaderboard th,.snake-page #leaderboard td{padding:4px 10px;font-size:1em;color:#7b5232}.snake-page #leaderboard th{background:#a67c52;color:#fff;font-weight:700}.snake-page #leaderboard tr:nth-child(2n) td{background:#f3e5ab}.snake-page #leaderboard tr:nth-child(odd) td{background:#fff8e1}.snake-page #scoreLine{display:flex;justify-content:space-between;align-items:center;max-width:320px;margin:0 auto 10px;font-size:1.1em}.snake-page #usernameDisplay{color:#f3e5ab;font-weight:700;margin-right:10px;min-width:80px;text-align:left}.snake-page #startFooter{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#a67c52;font-size:.95em;opacity:.95;letter-spacing:.5px;font-family:inherit;pointer-events:none;background:#2c2010b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:8px 0;border-radius:10px;max-width:80vw;margin:0 auto}.snake-page #mainFooter{margin:24px auto 0;text-align:center;color:#a67c52;font-size:.95em;opacity:.95;letter-spacing:.5px;font-family:inherit;background:#2c2010b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:8px 0;border-radius:10px;max-width:80vw;pointer-events:none}.snake-page #signupImage{width:120px;max-width:80vw;margin-bottom:16px;border-radius:12px;display:block;margin-left:auto;margin-right:auto}.snake-page #donatePopup{position:fixed;top:0;left:0;right:0;bottom:0;background:#2c2010b3;display:flex;align-items:center;justify-content:center;z-index:4000}.snake-page #donateContent{background:#fff8e1;border:4px solid #a67c52;border-radius:18px;padding:32px 24px 24px;box-shadow:0 8px 32px #a67c52aa;text-align:center;min-width:260px;color:#47342a}.snake-page #donateContent h2{color:#2d1e12;margin-top:0;margin-bottom:10px;font-size:1.5em}.snake-page #donateContinueBtn{font-size:1.1em;padding:8px 24px;border-radius:8px;font-family:inherit;font-weight:700;margin-top:10px;border:none;box-shadow:2px 2px #7b5e3b;cursor:pointer;background:#3b5bdb;color:#fff}.snake-page #donateContinueBtn:active{background:#253a7b}:root{--bg: #FFF7EB;--card: #fffaf3;--text: #1f2937;--muted: #4b5563;--brand: #D7793D;--brand-2: #EAB149;--accent: #838E66;--border: #EBD5B3;--radius-sm: 8px;--radius: 10px;--radius-lg: 12px;--radius-xl: 14px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 10px 24px rgba(0,0,0,.12);--shadow-lg: 0 26px 60px rgba(0,0,0,.22);--container: 1000px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:#fff8ea;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.6}.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:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;border-radius:.5rem;background:#fff;box-shadow:0 2px 8px #00000014}.service-groups{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.service-group ul{margin:.25rem 0 0;padding-left:1rem;line-height:1.6}.container{width:100%;max-width:var(--container);margin:0 auto;padding-top:var(--space-6);padding-bottom:var(--space-1)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.hidden{display:none}.links a,.link a{display:inline-block;margin-right:12px;margin-bottom:12px}header{position:sticky;top:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:var(--bg);z-index:10}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px;text-decoration:none;color:inherit}.brand:hover{text-decoration:none;color:inherit}.brand-mark{width:28px;height:28px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 6px 22px #e07a3f33,0 2px 8px #f0c04a2e}.logo{display:block;height:42px;width:auto}header .brand span{font-size:clamp(24px,2.2vw,36px);line-height:1.2}nav a{color:var(--text);text-decoration:none;margin-left:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}nav a:hover{background:#0000000f}main{padding-top:var(--space-1)}.hero{text-align:center;padding:var(--space-16) 0}.hero.container{padding-top:20px}.illustration svg{width:100%;height:auto;display:block}footer{margin-top:var(--space-16);padding:var(--space-2) 0 var(--space-4);color:var(--muted)}.hometitle{font-size:clamp(48px,8vw,256px);line-height:1.15;font-weight:400;margin:0 0 var(--space-4) 0;letter-spacing:.05em}@media (min-width: 480px){.hometitle{font-size:clamp(64px,7vw,256px)}}@media (min-width: 768px){.hometitle{font-size:clamp(96px,6.5vw,256px)}}@media (min-width: 1024px){.hometitle{font-size:clamp(128px,6vw,256px)}}.title{font-size:clamp(32px,6vw,56px);line-height:1.15;margin:0 0 var(--space-4) 0}.subtitle{font-size:clamp(16px,2.5vw,20px);color:var(--muted);margin:0 0 var(--space-2) 0}.microtitle{font-size:clamp(12px,1.2vw,14px);color:var(--muted);margin-top:-16px}.lp-title{font-size:clamp(32px,6.5vw,56px);line-height:1.1;margin:0 0 6px}.lp-h2{font-size:clamp(32px,6.5vw,36px);line-height:1.1;text-align:center;margin:24px 0 32px}.lp-subtitle{font-size:clamp(16px,2.2vw,19px);margin:10px 0 16px;color:var(--muted)}.lp-meta{margin-top:10px}.lp-meta li{font-weight:600}.lp-meta li .lp-meta-normal{font-weight:400;color:var(--muted)}.cta{display:inline-flex;gap:var(--space-3)}.button{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#1f2937;font-weight:700;border:none;padding:12px 18px;border-radius:var(--radius);cursor:pointer;text-decoration:none}.button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.contact-btn{padding:.6rem 1rem;border:1px solid var(--border);border-radius:.625rem;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#1f2937;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #e07a3f2e,0 2px 6px #f0c04a26;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.contact-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px #e07a3f38,0 4px 10px #f0c04a2e}.contact-btn:active{transform:translateY(0);box-shadow:0 4px 12px #e07a3f26,0 1px 4px #f0c04a24}.contact-btn:focus-visible{outline:2px solid rgba(224,122,63,.55);outline-offset:2px}.card{background:linear-gradient(180deg,#ffffffb3,#fff9);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5)}.lp-cover{max-width:340px;width:80%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-lg)}@media (min-width: 1200px){.lp-cover{max-width:380px}}.book-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:var(--space-7);padding-top:var(--space-10)}.book-hero__copy .microtitle{display:inline-block;padding:4px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--muted);background:#ffffff80}.book-hero__meta{display:flex;gap:var(--space-4);padding:0;margin:16px 0 0;list-style:none;color:var(--muted)}.book-hero__byline{display:flex;align-items:center;gap:12px;color:var(--muted);margin:6px 0}.book-rating{display:inline-flex;align-items:center;gap:8px}.book-rating .stars{display:inline-flex;gap:2px}.book-rating .star{width:16px;height:16px;fill:#eab149;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.book-rating .rating-text{color:var(--muted);font-size:14px}.book-hero__cover{display:flex;justify-content:center}.book-hero__mock{width:280px;height:400px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#373b2f,#212418);border:6px solid #cdb47a;box-shadow:0 30px 60px #00000040}.book-hero__image{max-width:360px;width:100%;height:auto;border-radius:var(--radius-sm);box-shadow:0 30px 60px #00000040}.book-about .section-title,.book-features .section-title,.book-reviews .section-title,.book-cta .section-title{text-align:center;margin-bottom:18px}.book-about__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.checklist{padding-left:1rem}.checklist li{margin:6px 0}.feature h3{margin-top:0}.lp-reviews{margin-top:var(--space-2)}.lp-reviews .lp-stats{margin-bottom:var(--space-2)}.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px}.card.review{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.card.review .book-hero__byline{margin:0 0 6px;gap:8px}.card.review .star{width:14px;height:14px}.card.review h5{margin:2px 0 6px;font-size:1rem;line-height:1.25}.review-text{--lines: 4;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:var(--lines);-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}.review-text.expanded{-webkit-line-clamp:unset;display:block;overflow:visible}.read-more-btn{align-self:flex-start;border:0;background:transparent;color:var(--accent);font-size:.9rem;padding:0;cursor:pointer}.read-more-btn:hover{text-decoration:underline}.card.review footer{margin-top:auto;color:var(--muted);font-size:.92rem}.book-reviews .lp-h2{margin:8px 0 16px}.book-cta{text-align:center}.book-cta__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px}@media (max-width: 900px){.book-hero,.book-about__grid{grid-template-columns:1fr}.book-hero__cover{order:-1}}.lp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:center;gap:24px;padding-top:20px}.lp-reviews .lp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:12px}.lp-stat{text-align:center;padding:8px 6px}.lp-stat__value{font-weight:800;font-size:clamp(18px,3.6vw,28px)}.lp-stat__label{color:var(--muted);font-weight:600}.lp-stat__sub{color:var(--muted);font-size:12px}@media (max-width: 960px){.lp-hero{grid-template-columns:1fr}.lp-cover{max-width:320px;margin:0 auto}}@media (max-width: 900px){.lp-reviews .lp-stats{grid-template-columns:repeat(2,1fr)}}.lp-author .author-card,.lp-author .author-card.card{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:start;background:var(--card, #fffaf3);border:1px solid var(--border, #EBD5B3);border-radius:16px;padding:2rem;box-shadow:0 1px #00000005}.lp-author .author-media img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;display:block}.lp-author .author-bio{--measure: 62ch;display:grid;grid-template-rows:auto auto 1fr auto;row-gap:.75rem;align-content:start;text-align:left}.lp-author .author-name{margin:0;font-size:clamp(1.25rem,1.1rem + .7vw,1.5rem);line-height:1.25;letter-spacing:-.01em;text-align:left}.lp-author .author-bio p{margin:0 0 .9rem;line-height:1.7;max-width:var(--measure);color:var(--text, #1f2937);font-size:1rem;text-align:left}.lp-author .author-list{display:block;column-count:1;columns:auto;column-gap:normal;list-style:disc outside;margin:0 0 1rem;padding-left:.25rem;max-width:65ch;text-align:left}.lp-author .author-list li{display:list-item;margin:.35rem 0;line-height:1.6;padding:0;text-indent:0}.lp-author .author-links{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.25rem}.lp-author .author-links .button.secondary{border-radius:999px;padding:.5rem .9rem;border:1px solid var(--border, #EBD5B3);background:#fff;box-shadow:0 1px #00000008}.lp-author .author-list,.lp-author .author-list li{list-style:revert}@media (max-width: 820px){.lp-author .author-card,.lp-author .author-card.card{grid-template-columns:1fr;gap:1.25rem;padding:1.25rem}.lp-author .author-media img{aspect-ratio:16 / 9}.lp-author .author-bio{row-gap:.6rem}}
