*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#1a1a1a;--bg-secondary:#2a2520;--text-primary:#f0e6d0;--text-secondary:#c4b394;--accent:#8b7355;--accent-gold:#c5a55a;--accent-gold-dim:#a08840;--bg-parchment:#2e2820;--bg-parchment-light:#352e26;--border-ornamental:#6b5b45;--text-muted:#8a7d6b;--shadow-warm:rgba(139,115,85,0.15);--user-bg:#3d3d3d;--johnson-bg:#2a2520}body{font-family:Georgia,Times New Roman,serif;background-color:var(--bg-primary);color:var(--text-primary)}body,main{min-height:100vh}h1{font-size:2.4rem;letter-spacing:.06em}h1,h2{font-weight:400}h2{font-size:1.5rem;letter-spacing:.04em;color:var(--accent-gold)}h3{font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.page-header{text-align:center;padding:20px 0 30px;border-bottom:1px solid var(--accent);margin-bottom:20px}.page-header h1{margin-bottom:8px}.page-header p{color:var(--text-secondary);font-style:italic;font-size:.95rem}.parchment-card{background:linear-gradient(145deg,var(--bg-parchment),var(--bg-secondary));border:1px solid var(--border-ornamental);border-radius:4px;padding:28px 32px;box-shadow:0 2px 12px var(--shadow-warm);position:relative}.parchment-card:before{content:"";position:absolute;inset:0;border-radius:4px;box-shadow:inset 0 0 30px rgba(0,0,0,.25);pointer-events:none}.ornamental-divider{text-align:center;border:none;margin:32px 0;overflow:visible;color:var(--accent);font-size:1.2rem;letter-spacing:.5em;line-height:1}.ornamental-divider:before{content:"\2042";letter-spacing:0}.btn-primary{display:inline-block;padding:14px 28px;font-family:inherit;font-size:.95rem;background:linear-gradient(180deg,var(--accent),#7a6548);border:1px solid var(--accent-gold-dim);color:var(--text-primary);border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:all .2s ease;text-decoration:none}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#a08060,var(--accent));box-shadow:0 2px 8px rgba(0,0,0,.4);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-block;padding:14px 28px;font-family:inherit;font-size:.95rem;background:transparent;border:1px solid var(--accent);color:var(--text-secondary);border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease;text-decoration:none}.btn-secondary:hover:not(:disabled){border-color:var(--accent-gold);color:var(--text-primary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:8px;font-feature-settings:"smcp";font-variant:small-caps}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background-color:rgba(26,26,26,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-ornamental)}.nav-home{font-size:1rem;color:var(--text-secondary);text-decoration:none;letter-spacing:.04em;transition:color .2s}.nav-home:hover{color:var(--accent-gold)}.nav-links{display:flex;gap:28px}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;position:relative;padding-bottom:4px;transition:color .2s}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background-color:var(--accent-gold);transition:all .25s ease;transform:translateX(-50%)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{width:100%}.nav-link-active{color:var(--accent-gold)}.nav-link-active:after{width:100%}.nav-label-short{display:none}.container{max-width:800px;margin:0 auto;padding:20px;min-height:calc(100vh - 53px);display:flex;flex-direction:column}.chat-container{flex:1 1;overflow-y:auto;padding-bottom:20px}.message{padding:16px 20px;margin-bottom:16px;border-radius:4px;line-height:1.6}.message.user{background-color:var(--user-bg);margin-left:40px}.message.assistant{background-color:var(--johnson-bg);margin-right:40px;border-left:3px solid var(--accent)}.message .label{margin-bottom:8px}.input-area{padding-top:20px;border-top:1px solid var(--accent)}.input-form{display:flex;gap:12px}.input-form textarea{flex:1 1;padding:14px 16px;font-family:inherit;font-size:1rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;resize:none;min-height:60px;transition:border-color .2s,box-shadow .2s}.input-form textarea:focus{outline:none;border-color:var(--accent-gold-dim);box-shadow:0 0 0 2px rgba(197,165,90,.15)}.input-form button{padding:14px 24px;font-family:inherit;font-size:.9rem;background:linear-gradient(180deg,var(--accent),#7a6548);color:var(--text-primary);border:1px solid var(--accent-gold-dim);border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease}.input-form button:hover:not(:disabled){background:linear-gradient(180deg,#a08060,var(--accent));box-shadow:0 2px 8px rgba(0,0,0,.4);transform:translateY(-1px)}.input-form button:disabled{opacity:.5;cursor:not-allowed}.loading{color:var(--text-secondary);font-style:italic;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error{color:#cc6666;padding:12px;background-color:rgba(204,102,102,.1);border-radius:4px;margin-bottom:16px;role:alert}.demo-gate-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.demo-gate{background-color:var(--bg-secondary);border:1px solid var(--accent);border-radius:8px;padding:40px;max-width:480px;width:100%;text-align:center}.demo-gate h2{font-weight:400;font-size:1.4rem;margin-bottom:16px;letter-spacing:.03em}.demo-gate>p{color:var(--text-secondary);line-height:1.6;margin-bottom:24px;font-size:.95rem}.demo-gate-other-tools{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-ornamental)}.demo-gate-other-label{color:var(--text-muted);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;font-feature-settings:"smcp";font-variant:small-caps}.demo-gate-tool-link{display:block;color:var(--accent-gold);text-decoration:none;font-size:.9rem;padding:4px 0;transition:color .2s}.demo-gate-tool-link:hover{color:var(--text-primary)}.back-link{display:inline-block;margin-top:20px;color:var(--text-secondary);text-decoration:none;font-size:.85rem;letter-spacing:.03em;transition:color .2s}.back-link:hover{color:var(--text-primary)}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.landing-content{max-width:800px;width:100%}.landing-header{text-align:center;padding:0 0 32px;border-bottom:1px solid var(--accent);margin-bottom:32px}.landing-header h1{font-size:2.4rem;font-weight:400;letter-spacing:.05em;margin-bottom:12px}.tagline{color:var(--text-secondary);font-style:italic;font-size:1.05rem}.landing-intro{margin-bottom:36px;max-width:640px;margin-left:auto;margin-right:auto}.landing-intro p{color:var(--text-secondary);line-height:1.7;font-size:1rem;margin-bottom:12px}.tool-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;margin-bottom:40px}.tool-card{background:linear-gradient(145deg,var(--bg-parchment),var(--bg-secondary));border:1px solid var(--border-ornamental);border-radius:4px;padding:28px 24px;box-shadow:0 2px 12px var(--shadow-warm);position:relative;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.tool-card:before{content:"";position:absolute;inset:0;border-radius:4px;box-shadow:inset 0 0 30px rgba(0,0,0,.25);pointer-events:none}.tool-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px var(--shadow-warm)}.tool-card h2{font-size:1.15rem;margin-bottom:12px;letter-spacing:.03em}.tool-card-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:16px;flex:1 1}.tool-card-sample{background-color:rgba(0,0,0,.2);border-left:2px solid var(--accent);padding:12px 14px;margin-bottom:20px;border-radius:0 4px 4px 0;font-size:.85rem;font-style:italic;color:var(--text-secondary);line-height:1.5}.tool-card-link{display:inline-block;padding:10px 20px;font-family:inherit;font-size:.85rem;background:linear-gradient(180deg,var(--accent),#7a6548);border:1px solid var(--accent-gold-dim);color:var(--text-primary);border-radius:4px;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;text-align:center;transition:all .2s ease}.tool-card-link:hover{background:linear-gradient(180deg,#a08060,var(--accent));box-shadow:0 2px 8px rgba(0,0,0,.4);transform:translateY(-1px)}.sample-exchange{margin-bottom:36px}.sample-exchange h2{font-weight:400;font-size:.8rem;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px}.sample-message{padding:16px 20px;margin-bottom:12px;border-radius:4px;line-height:1.6}.sample-message .label{margin-bottom:8px}.sample-message.visitor{background-color:var(--user-bg);margin-left:40px}.sample-message.johnson{background-color:var(--johnson-bg);margin-right:40px;border-left:3px solid var(--accent)}.landing-cta,.waitlist-section{text-align:center;margin-bottom:40px}.waitlist-section{padding-top:36px;border-top:1px solid var(--accent)}.waitlist-section h2{font-weight:400;font-size:1.3rem;letter-spacing:.03em;margin-bottom:12px}.waitlist-section>p{color:var(--text-secondary);line-height:1.6;margin-bottom:20px;font-size:.95rem}.waitlist-form{display:flex;gap:12px;max-width:420px;margin:0 auto}.waitlist-form input[type=email]{flex:1 1;padding:14px 16px;font-family:inherit;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;transition:border-color .2s,box-shadow .2s}.waitlist-form input[type=email]:focus{outline:none;border-color:var(--accent-gold-dim);box-shadow:0 0 0 2px rgba(197,165,90,.15)}.waitlist-form button{padding:14px 24px;font-family:inherit;font-size:.9rem;background:linear-gradient(180deg,var(--accent),#7a6548);color:var(--text-primary);border:1px solid var(--accent-gold-dim);border-radius:4px;cursor:pointer;letter-spacing:.03em;white-space:nowrap;transition:all .2s ease}.waitlist-form button:hover:not(:disabled){background:linear-gradient(180deg,#a08060,var(--accent))}.waitlist-form button:disabled{opacity:.5;cursor:not-allowed}.waitlist-success{color:#8bab7e;font-style:italic;padding:12px}.waitlist-error{color:#cc6666;font-size:.9rem;margin-top:8px}.landing-footer{text-align:center;padding-top:24px;border-top:1px solid var(--accent)}.landing-footer p{color:var(--text-secondary);font-size:.8rem;font-style:italic;letter-spacing:.03em;margin-bottom:4px}.landing-footer p:last-child{margin-bottom:0;font-style:normal}.footer-link{color:var(--text-muted);text-decoration:none;font-size:.75rem;letter-spacing:.04em;transition:color .2s}.footer-link:hover{color:var(--text-secondary)}.footer-sep{color:var(--text-muted);margin:0 8px;font-size:.7rem}.legal-page{max-width:720px;margin:0 auto;padding:40px 20px 60px}.legal-page h1{font-size:2rem;margin-bottom:8px}.legal-page .legal-tagline{color:var(--text-secondary);font-style:italic;font-size:.95rem;margin-bottom:32px}.legal-toc{background:linear-gradient(145deg,var(--bg-parchment),var(--bg-secondary));border:1px solid var(--border-ornamental);border-radius:4px;padding:20px 24px;margin-bottom:40px}.legal-toc h2{font-size:.85rem;margin-bottom:12px}.legal-toc a{display:block;color:var(--accent-gold);text-decoration:none;font-size:.9rem;padding:3px 0;transition:color .2s}.legal-toc a:hover{color:var(--text-primary)}.legal-section{margin-bottom:48px;padding-top:16px;border-top:1px solid var(--border-ornamental)}.legal-section h2{font-size:1.3rem;margin-bottom:20px}.legal-section h3{font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-top:20px;margin-bottom:10px}.legal-section p,.legal-section ul{color:var(--text-secondary);line-height:1.75;font-size:.95rem;margin-bottom:12px}.legal-section ul{padding-left:20px}.legal-section li{margin-bottom:6px}.legal-section a{color:var(--accent-gold);text-decoration:none}.legal-section a:hover{text-decoration:underline}.legal-meta{color:var(--text-muted);font-size:.8rem;font-style:italic;margin-bottom:28px}.critique-page{max-width:800px;margin:0 auto;padding:20px}.critique-input-section{margin-bottom:32px}.critique-textarea{width:100%;padding:20px;font-family:inherit;font-size:1rem;line-height:1.7;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;resize:vertical;min-height:200px;transition:border-color .2s,box-shadow .2s}.critique-textarea:focus{outline:none;border-color:var(--accent-gold-dim);box-shadow:0 0 0 2px rgba(197,165,90,.15)}.critique-controls{display:flex;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap}.critique-select{padding:10px 14px;font-family:inherit;font-size:.9rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;cursor:pointer;transition:border-color .2s}.critique-select:focus{outline:none;border-color:var(--accent-gold-dim)}.char-count{color:var(--text-muted);font-size:.8rem;margin-left:auto}.char-count.over-limit{color:#cc6666}.critique-result{margin-top:32px}.critique-panel{background-color:var(--johnson-bg);border-left:3px solid var(--accent);padding:24px 28px;border-radius:0 4px 4px 0;line-height:1.7;margin-bottom:20px}.critique-panel h3{margin-bottom:16px}.critique-panel p{white-space:pre-wrap}.reveal-btn{display:block;width:100%;padding:14px;font-family:inherit;font-size:.95rem;background:transparent;border:1px dashed var(--accent);color:var(--accent-gold);border-radius:4px;cursor:pointer;letter-spacing:.03em;transition:all .2s ease;margin-bottom:20px}.reveal-btn:hover{border-style:solid;background-color:rgba(197,165,90,.05)}.rewrite-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .5s ease,opacity .4s ease}.rewrite-panel.visible{max-height:2000px;opacity:1}.rewrite-content{background:linear-gradient(145deg,var(--bg-parchment),var(--bg-secondary));border:1px solid var(--border-ornamental);border-radius:4px;padding:24px 28px;line-height:1.7;box-shadow:0 2px 12px var(--shadow-warm)}.rewrite-content h3{margin-bottom:16px}.rewrite-content p{white-space:pre-wrap}.prayer-page{max-width:800px;margin:0 auto;padding:20px}.prayer-form{margin-bottom:32px}.prayer-field{margin-bottom:24px}.prayer-field label{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:10px;font-feature-settings:"smcp";font-variant:small-caps}.prayer-theme-input{width:100%;padding:14px 16px;font-family:inherit;font-size:1rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;transition:border-color .2s,box-shadow .2s}.prayer-theme-input:focus{outline:none;border-color:var(--accent-gold-dim);box-shadow:0 0 0 2px rgba(197,165,90,.15)}.pill-group{display:flex;flex-wrap:wrap;gap:10px}.pill{padding:10px 18px;font-family:inherit;font-size:.85rem;background:transparent;border:1px solid var(--accent);color:var(--text-secondary);border-radius:20px;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.pill:hover{border-color:var(--accent-gold)}.pill.active,.pill:hover{color:var(--text-primary)}.pill.active{background-color:var(--accent);border-color:var(--accent-gold-dim)}.custom-attitude-input{padding:10px 16px;font-family:inherit;font-size:.9rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--accent);border-radius:4px;margin-top:10px;width:100%;max-width:300px;transition:border-color .2s,box-shadow .2s}.custom-attitude-input:focus{outline:none;border-color:var(--accent-gold-dim);box-shadow:0 0 0 2px rgba(197,165,90,.15)}.prayer-buttons{display:flex;gap:16px;flex-wrap:wrap}.prayer-result{margin-top:32px}.prayer-card{background:linear-gradient(145deg,var(--bg-parchment),var(--bg-secondary));border:1px solid var(--border-ornamental);border-radius:4px;padding:36px 40px;box-shadow:0 2px 12px var(--shadow-warm);position:relative;text-align:center}.prayer-card:before{content:"";position:absolute;inset:0;border-radius:4px;box-shadow:inset 0 0 30px rgba(0,0,0,.25);pointer-events:none}.prayer-text{font-size:1.1rem;line-height:1.8;white-space:pre-wrap;position:relative}.prayer-occasion{margin-top:20px;font-style:italic;font-size:.9rem;color:var(--text-secondary)}.copy-btn{display:inline-flex;align-items:center;gap:6px;margin-top:20px;padding:8px 16px;font-family:inherit;font-size:.8rem;background:transparent;border:1px solid var(--border-ornamental);color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .2s ease;letter-spacing:.03em}.copy-btn:hover{border-color:var(--accent-gold);color:var(--text-secondary)}.copy-btn.copied{border-color:#8bab7e;color:#8bab7e}@media (max-width:900px){.tool-cards{grid-template-columns:repeat(2,1fr)}.tool-card:last-child:nth-child(odd):not(:first-child){grid-column:1/-1;justify-self:center;width:calc(50% - 12px)}}@media (max-width:600px){.landing-header h1,h1{font-size:1.8rem}.nav{padding:10px 16px}.nav-home{font-size:.85rem}.nav-links{gap:16px}.nav-link{font-size:.8rem}.nav-label-full{display:none}.nav-label-short{display:inline}.message.user{margin-left:20px}.message.assistant{margin-right:20px}.tool-cards{grid-template-columns:1fr}.tool-card:last-child:nth-child(odd):not(:first-child){width:100%!important;justify-self:stretch!important;grid-column:auto!important}.sample-message.visitor{margin-left:20px}.sample-message.johnson{margin-right:20px}.waitlist-form{flex-direction:column}.demo-gate{padding:28px 20px}.critique-controls{flex-direction:column;align-items:flex-start}.char-count{margin-left:0}.critique-panel,.rewrite-content{padding:20px}.prayer-card{padding:28px 20px}.prayer-buttons{flex-direction:column}.prayer-buttons .btn-primary,.prayer-buttons .btn-secondary{width:100%;text-align:center}.pill{padding:10px 16px;min-height:44px;display:flex;align-items:center}}