:root{--bg:#f7f8fb;--surface:#ffffff;--surface-2:#eef1f7;--border:#dfe3ec;--text:#16203a;--text-muted:#5b6784;--navy:#14294f;--navy-600:#1d3a6e;--gold:#c8a34e;--gold-ink:#7a5f1e;--accent:#2f6bff;--radius:12px;--shadow:0 1px 2px rgba(20,41,79,0.06),0 6px 20px rgba(20,41,79,0.06)}@media (prefers-color-scheme:dark){:root{--bg:#0c1222;--surface:#131b30;--surface-2:#1a2440;--border:#263251;--text:#e8ecf6;--text-muted:#9aa8c7;--navy:#0f1a33;--navy-600:#20386b;--gold:#d8b76a;--gold-ink:#e5c988;--accent:#6d97ff;--shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 24px rgba(0,0,0,0.3)}}*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header :focus-visible{outline-color:var(--gold)}main:focus{outline:none}.skip-link{position:fixed;left:8px;top:-64px;z-index:1000;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 14px;box-shadow:var(--shadow);transition:top .15s ease}.skip-link:focus{top:8px}.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}.container{max-width:1080px;margin:0 auto;padding:0 20px}.site-header{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}.site-header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;min-height:62px;padding-top:10px;padding-bottom:10px}.brand{display:flex;align-items:baseline;gap:10px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.brand .brand-mark{color:var(--gold)}.brand:hover{color:#fff}.site-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px}.site-header nav a{color:#cdd7ee;font-size:.92rem}.site-header nav a:hover{color:#fff}@media (max-width:560px){.site-header .container{justify-content:center;gap:8px}.brand,.site-header nav{width:100%;justify-content:center}.site-header nav{gap:6px 14px}.site-header .linklike,.site-header nav a{font-size:.9rem}}.hero{padding:52px 0 26px}.hero h1{font-size:2.15rem;line-height:1.15;margin:0 0 10px;letter-spacing:-.5px}.hero p{color:var(--text-muted);font-size:1.08rem;max-width:640px;margin:0}.hero .stats{display:flex;gap:26px;margin-top:22px;flex-wrap:wrap}.hero .stat b{font-size:1.5rem;color:var(--gold-ink)}.hero .stat span{display:block;color:var(--text-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.6px}.cover-strip{display:flex;align-items:flex-end;gap:12px;margin-top:28px;padding:4px 2px 12px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.cover-tile{flex:0 0 auto;scroll-snap-align:start;margin:0}.cover-tile img{display:block;height:190px;width:auto;border-radius:10px;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.cover-tile:hover img{transform:translateY(-4px);box-shadow:0 8px 22px rgba(20,41,79,.22)}.cover-tile figcaption{text-align:center;margin-top:6px;min-height:18px}@media (max-width:560px){.cover-tile img{height:148px}}.amazon-link{align-self:flex-start;display:inline-block;font-size:.8rem;font-weight:600;color:var(--gold-ink);border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:4px 12px;transition:border-color .12s ease,color .12s ease}.amazon-link:hover{color:var(--accent);border-color:var(--gold)}.amazon-link.tiny{font-size:.72rem;padding:2px 9px}.section-head{display:flex;align-items:center;gap:12px;margin:40px 0 16px}.section-head h2{font-size:1.25rem;margin:0}.section-head .pill{background:var(--surface-2);color:var(--text-muted);font-size:.75rem;padding:3px 10px;border-radius:999px}.section-head .rule{flex:1 1;height:1px;background:var(--border)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:16px;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease;display:flex;flex-direction:column;gap:8px}.card:hover{transform:translateY(-2px);border-color:var(--gold)}.card h3{margin:0;font-size:1.02rem;line-height:1.3}.card .sub{font-size:.86rem;margin:0;flex:1 1}.card .meta,.card .sub{color:var(--text-muted)}.card .meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.78rem;margin-top:4px}.card .meta .badge{color:var(--gold-ink);font-weight:600}.card:has(.card-cover){flex-direction:row;align-items:stretch;gap:14px}.card-cover{flex:0 0 auto}.card-cover img{display:block;width:78px;height:auto;border-radius:6px;border:1px solid var(--border);box-shadow:var(--shadow)}.card-body{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1}.crumb{color:var(--text-muted);font-size:.86rem;margin:24px 0 8px}.crumb a:hover{color:var(--accent)}.book-head{padding:8px 0;gap:22px}.book-head,.book-head-text{display:flex;align-items:flex-start}.book-head-text{flex-direction:column;gap:10px;min-width:0}.book-cover{flex:0 0 auto;width:150px;height:auto;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow)}@media (max-width:560px){.book-head{gap:16px}.book-cover{width:96px}}.book-head h1{font-size:1.9rem;margin:4px 0 6px;letter-spacing:-.4px}.book-head .subtitle{color:var(--text-muted);font-size:1.05rem;margin:0}.tag{display:inline-block;background:var(--surface-2);color:var(--text-muted);border-radius:999px;font-size:.76rem;padding:3px 11px;margin-right:8px}.chapter{margin:30px 0 8px}.chapter h2{font-size:1.12rem;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.prompt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:10px;gap:10px}.prompt-item a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow);transition:border-color .12s ease}.prompt-item a:hover{border-color:var(--gold);color:var(--text)}.prompt-item .slots{color:var(--gold-ink);font-size:.76rem;white-space:nowrap;font-weight:600}.fill-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;margin:14px 0 60px;align-items:start}@media (max-width:860px){.fill-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:.95rem;margin:0;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.panel-body{padding:16px 18px}.field{margin-bottom:14px}.field label{display:block;font-size:.82rem;color:var(--text-muted);margin-bottom:5px}.field label code{color:var(--gold-ink);background:var(--surface-2);padding:1px 6px;border-radius:5px;font-size:.8rem}.field input,.field textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:.92rem;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,255,.15)}pre.preview{margin:0;padding:16px 18px;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.5;color:var(--text);max-height:560px;overflow:auto}pre.preview .ph{background:rgba(200,163,78,.22);color:var(--gold-ink);border-radius:4px;padding:0 3px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;border-top:1px solid var(--border)}.btn{font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;border-radius:8px;padding:8px 14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:background .12s ease,border-color .12s ease}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--navy-600);color:#fff;border-color:var(--navy-600)}.btn.primary:hover{background:var(--navy)}.btn.gold{background:var(--gold);color:#2a2109;border-color:var(--gold)}.btn.gold:hover{filter:brightness(1.05)}.hint{color:var(--text-muted);font-size:.82rem;margin:6px 0 0}.filled-count{color:var(--gold-ink);font-weight:600}.footer{border-top:1px solid var(--border);margin-top:40px;padding:22px 0;color:var(--text-muted);font-size:.84rem}.project-new{display:flex;gap:8px;margin:6px 0 4px;flex-wrap:wrap}.project-new input{flex:1 1 240px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.92rem}.project-new input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,255,.15)}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}.filter-tab{cursor:pointer;font:inherit;font-size:.84rem;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);transition:border-color .12s ease,color .12s ease}.filter-tab:hover{border-color:var(--gold)}.filter-tab.active{background:var(--navy-600);border-color:var(--navy-600);color:#fff}.project-select{width:100%;margin:2px 0;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:.85rem}.project-select:focus{outline:none;border-color:var(--accent)}.template-body{width:100%;min-height:240px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);resize:vertical;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5}.template-body:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,255,.15)}.var-form{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}.var-form input{flex:1 1 200px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.92rem}.var-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,107,255,.15)}.var-table{width:100%;border-collapse:collapse;margin-top:16px}.var-table th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:6px 10px}.var-table td{padding:6px 10px;border-top:1px solid var(--border);vertical-align:middle}.var-table td input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.var-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.var-hint{background:rgba(47,107,255,.08);border:1px solid rgba(47,107,255,.25);color:var(--text);font-size:.85rem;padding:8px 12px;border-radius:8px;margin:0 0 14px}.var-tag{margin-left:8px;font-size:.72rem;color:var(--accent);font-weight:600}.export-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font-size:.86rem;color:var(--text-muted)}.export-bar span{margin-right:2px}.linklike{background:none;border:none;padding:0;cursor:pointer;color:#cdd7ee;font:inherit;font-size:.92rem}.site-header .linklike:hover{color:#fff}.fav-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font:inherit;font-size:.85rem;padding:5px 12px;transition:border-color .12s ease,color .12s ease}.fav-btn.active,.fav-btn:hover{border-color:var(--gold)}.fav-btn.active{color:var(--gold-ink);background:rgba(200,163,78,.12)}.fav-btn .star{font-size:1.05rem;line-height:1;color:var(--gold)}.fav-btn.icon{padding:4px 8px;border-radius:8px}.auth-card{max-width:420px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 26px}.auth-card h1{font-size:1.5rem;margin:0 0 6px}.auth-card form,.auth-switch{margin-top:18px}.auth-switch{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.auth-switch .linklike{margin-left:0;color:var(--accent);text-align:left}.auth-error{color:#c0392b}.auth-error,.auth-ok{font-size:.86rem;margin:4px 0 12px}.auth-ok{color:var(--gold-ink)}@media (prefers-color-scheme:dark){.auth-error{color:#ff8a7a}}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:18px;gap:18px;margin:24px 0 10px;align-items:start}.price-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 22px;display:flex;flex-direction:column;gap:10px}.price-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow)}.price-badge{position:absolute;top:-11px;left:22px;background:var(--gold);color:#2a2109;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.price-card.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--shadow)}.price-badge.you{background:var(--accent);color:#fff}.current-plan-note{text-align:center;color:var(--text-muted);font-size:.92rem;margin:6px 0 14px}.current-plan-note strong{color:var(--gold-ink)}.plan-banner{display:flex;gap:12px;align-items:flex-start;max-width:600px;margin:8px auto 20px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left}.plan-banner.warn{border-color:var(--gold);background:rgba(200,163,78,.1)}.plan-banner-icon{font-size:1.2rem;line-height:1.35;color:var(--gold-ink);flex:0 0 auto}.plan-banner-body p{margin:0;font-size:.92rem;line-height:1.45}.plan-banner-body strong{color:var(--gold-ink)}.plan-banner-sub{margin-top:5px!important;font-size:.84rem!important}.plan-banner-sub,.plan-banner-sub strong{color:var(--text-muted)}.price-card h2{margin:0;font-size:1.15rem}.price-card .price{display:flex;align-items:baseline;gap:4px}.price-card .amount{font-size:2rem;font-weight:700;color:var(--gold-ink);letter-spacing:-1px}.price-card .cadence{color:var(--text-muted);font-size:.95rem}.price-tagline{color:var(--text-muted);font-size:.9rem;margin:0 0 4px;min-height:2.4em}.price-features{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;flex:1 1}.price-features li{position:relative;padding-left:22px;font-size:.9rem}.price-features li:before{content:"✓";position:absolute;left:0;color:var(--gold-ink);font-weight:700}.price-note{color:var(--text-muted);font-size:.78rem;text-align:center;margin:8px 0 0}.legal{max-width:760px;padding-top:40px;padding-bottom:20px}.legal h1{font-size:2rem;line-height:1.15;margin:0 0 6px;letter-spacing:-.5px}.legal h2{font-size:1.12rem;margin:32px 0 8px;padding-top:4px;border-top:1px solid var(--border);color:var(--gold-ink)}.legal .legal-meta{color:var(--text-muted);font-size:.82rem;margin:0 0 18px}.legal .legal-intro{font-size:1.02rem;color:var(--text-muted);margin:0 0 8px}.legal p,.legal ul{margin:10px 0}.legal ul{padding-left:22px}.legal li{margin:6px 0}.legal a{color:var(--accent);text-decoration:underline}.legal-todo{border-left:1px solid var(--gold);border:1px solid var(--gold);border-left-width:4px;background:var(--surface-2);border-radius:var(--radius);padding:12px 16px;margin:18px 0;font-size:.9rem}.legal-todo code{font-size:.86em}.footer-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.footer-links a{text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}