.book-page.svelte-tftnli{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:7.5rem 1.5rem 4rem;overflow:hidden}.grid-canvas.svelte-tftnli{position:absolute;inset:0;width:100%;height:100%;z-index:0}.book-content.svelte-tftnli{position:relative;z-index:1;width:100%;max-width:640px;padding:clamp(1.25rem,4vw,2.5rem);background:#000000e0;border:1px solid var(--border);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.book-content.visible.svelte-tftnli{opacity:1;transform:translateY(0)}.book-header.svelte-tftnli{margin-bottom:2.5rem}.eyebrow.svelte-tftnli{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;color:var(--ink-muted);margin-bottom:.75rem}h1.svelte-tftnli{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;letter-spacing:-.03em;margin-bottom:.75rem}.subtitle.svelte-tftnli{color:var(--ink-muted);font-size:1.1rem}.alt-route.svelte-tftnli{margin-top:.6rem;color:var(--ink-muted);font-size:1rem}.alt-route.svelte-tftnli a:where(.svelte-tftnli),.fallback-link.svelte-tftnli{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:5px}.alt-route.svelte-tftnli a:where(.svelte-tftnli):hover,.fallback-link.svelte-tftnli:hover{color:var(--accent)}.book-form.svelte-tftnli{display:flex;flex-direction:column;gap:1.25rem}.form-row.svelte-tftnli{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group.svelte-tftnli{display:flex;flex-direction:column;gap:.5rem}label.svelte-tftnli{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted)}.required.svelte-tftnli{color:var(--accent)}.optional.svelte-tftnli{color:var(--ink-dim);text-transform:none;letter-spacing:0}input.svelte-tftnli,textarea.svelte-tftnli{width:100%;padding:.9rem 1rem;background:#0a0a0a;border:1px solid rgba(255,255,255,.28);color:var(--ink);font-family:var(--font-body);font-size:1rem;transition:border-color .2s ease,background .2s ease}input.svelte-tftnli::-moz-placeholder,textarea.svelte-tftnli::-moz-placeholder{color:var(--ink-dim)}input.svelte-tftnli::placeholder,textarea.svelte-tftnli::placeholder{color:var(--ink-dim)}input.svelte-tftnli:focus,textarea.svelte-tftnli:focus{border-color:var(--accent);background:#111000}input.error.svelte-tftnli,textarea.error.svelte-tftnli{border-color:#ff8a8a}input.svelte-tftnli:disabled,textarea.svelte-tftnli:disabled{opacity:.6}textarea.svelte-tftnli{resize:vertical;min-height:120px}.error-text.svelte-tftnli{color:#ff8a8a;font-size:.9rem}.error-banner.svelte-tftnli{background:#ff6b6b1a;border:1px solid rgba(255,138,138,.5);padding:.9rem 1rem;color:#ff8a8a;font-size:.95rem}.error-banner.fallback.svelte-tftnli p:where(.svelte-tftnli){color:var(--ink);line-height:1.55}.fallback-actions.svelte-tftnli{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:.75rem}.fallback-link.svelte-tftnli{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}.cta-button.svelte-tftnli{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-mono);font-size:.9rem;min-height:52px;color:var(--bg);background:var(--ink);padding:1rem 2rem;border:1px solid var(--ink);cursor:pointer;letter-spacing:.03em;transition:background .25s ease,border-color .25s ease;margin-top:.5rem}.cta-button.svelte-tftnli:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.cta-button.svelte-tftnli:disabled{opacity:.6;cursor:not-allowed}.arrow.svelte-tftnli{font-size:1.1rem}.spinner.svelte-tftnli{width:1rem;height:1rem;border:2px solid rgba(0,0,0,.2);border-radius:50%;border-top-color:var(--bg);animation:svelte-tftnli-spin .8s linear infinite}@keyframes svelte-tftnli-spin{to{transform:rotate(360deg)}}.success-message.svelte-tftnli{text-align:center;padding:2rem 0}.success-icon.svelte-tftnli{font-size:3rem;color:var(--accent);margin-bottom:1rem}.success-message.svelte-tftnli h2:where(.svelte-tftnli){font-size:2rem;margin-bottom:.5rem}.success-message.svelte-tftnli p:where(.svelte-tftnli){color:var(--ink-muted);margin-bottom:1.5rem}.success-message.svelte-tftnli .cta-button:where(.svelte-tftnli){margin-top:1rem}@media (max-width: 600px){.book-page.svelte-tftnli{padding:6rem 1rem 3rem}.form-row.svelte-tftnli{grid-template-columns:1fr}h1.svelte-tftnli{font-size:2rem}}
