*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --lilac:#edc6ef;--pink:#e49bad;--lavender:#b58bd7;
  --periwinkle:#8989d9;--violet:#7655ad;--violet-dark:#5f3f96;
  --blue:var(--violet);--blue-light:#f4e8f7;--blue-dark:var(--violet-dark);
  --gold:var(--pink);--text:#2c2436;--muted:#6f627c;
  --border:#dcc7e9;--bg:#f8eff8;--white:#fff;
  --green:var(--violet);--red:#bd4968;--r:10px;--rlg:14px;
}
body{font-family:'Inter',sans-serif;background:linear-gradient(90deg,#f7dcf6 0,#f7dcf6 20%,#f3ccd8 20%,#f3ccd8 40%,#e7d3f3 40%,#e7d3f3 60%,#d9dcf7 60%,#d9dcf7 80%,#d9cdf0 80%,#d9cdf0 100%);color:var(--text);line-height:1.6;min-height:100vh}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
nav{background:var(--violet-dark);border-bottom:3px solid var(--pink);position:sticky;top:0;z-index:100}
.nav-in{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:54px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:9px;font-size:1.05rem;font-weight:700;color:#fff;text-decoration:none}
.logo span{color:var(--lilac)}
.logo-icon{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block}
.nav-links{display:flex;align-items:center;gap:.75rem}
.nav-links a,.nav-links button{color:rgba(255,255,255,.8);font-size:.82rem;font-weight:500;text-decoration:none;background:none;border:none;cursor:pointer;padding:5px 10px;border-radius:6px;transition:background .15s}
.nav-links a:hover,.nav-links button:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-links .btn-nav{background:linear-gradient(135deg,#f65aa8 0%,#7a16b8 58%,#4f0a8f 100%);color:#fff;font-weight:700;border:1px solid #ff66b5;border-radius:6px;padding:5px 14px;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}
.wrap{max-width:1280px;margin:0 auto;padding:1.5rem;display:grid;grid-template-columns:370px 1fr;gap:1.5rem;min-height:calc(100vh - 57px)}
.wrap>*{min-width:0}
.form-card{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--rlg);height:fit-content;align-self:start;position:relative;overflow:visible;box-shadow:0 18px 45px rgba(95,63,150,.14)}
.form-head{padding:1.1rem 1.25rem .8rem;border-bottom:1px solid var(--border);background:var(--blue-light);border-radius:var(--rlg) var(--rlg) 0 0}
.form-head h2{font-size:.95rem;font-weight:700;color:var(--blue-dark);margin-bottom:.2rem}
.form-head p{font-size:.78rem;color:var(--muted);line-height:1.5}
.form-body{padding:1.1rem;display:flex;flex-direction:column;gap:.9rem}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.fg label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}
.req{color:#dc2626}.opt{font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}
.fg-help{font-size:.7rem;color:var(--muted);line-height:1.45;margin-top:.35rem}
select,input[type=text],textarea{width:100%;border:1px solid var(--border);border-radius:var(--r);padding:8px 10px;font-size:.875rem;font-family:'Inter',sans-serif;color:var(--text);background:var(--white);transition:border-color .15s,box-shadow .15s}
textarea{resize:vertical;line-height:1.6}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(181,139,215,.24)}
.gen-btn{width:100%;padding:11px;background:var(--blue-dark);color:#fff;border:none;border-radius:var(--r);font-size:.9rem;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:opacity .15s;margin-top:.2rem}
.gen-btn:hover{opacity:.88}.gen-btn:disabled{opacity:.45;cursor:not-allowed}
.err{font-size:.78rem;color:#9f3151;background:#fff0f4;border:1px solid #efb1c1;border-radius:8px;padding:8px 11px;display:none;margin-top:.5rem}
.lookup-actions{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.5rem}
.lookup-actions a,.mini-btn{border:1px solid #d7bde6;background:#f4e8f7;color:#5f3f96;padding:7px 10px;border-radius:8px;font-size:.75rem;font-weight:700;text-decoration:none;text-align:center;font-family:'Inter',sans-serif;cursor:pointer}
.lookup-actions a:hover,.mini-btn:hover{text-decoration:none;opacity:.86}
.mini-btn:disabled{opacity:.55;cursor:not-allowed}
.lookup-panel{border:1px solid #d7bde6;background:#fff;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:.74rem;color:#4f4261;max-height:260px;overflow:auto}
.lookup-panel.loading{background:#f8eff8;color:#5f3f96}
.lookup-panel.empty{background:#fff8e8;border-color:#e6cf93;color:#6b5a25}
.lookup-panel.error{background:#fff0f4;border-color:#efb1c1;color:#8d3150}
.lookup-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.55rem}
.lookup-top strong{color:#5f3f96;font-size:.76rem}
.lookup-top .mini-btn{padding:5px 8px;white-space:nowrap}
.lookup-sources{border-bottom:1px solid #ead5ef;margin-bottom:.55rem;padding-bottom:.45rem}
.lookup-sources ul{padding-left:1rem}
.lookup-sources li{margin-bottom:.3rem}
.lookup-sources span{color:#6f627c;font-size:.68rem;word-break:break-word}
.lookup-arranged{border:1px solid #ead5ef;background:#fbf7fc;border-radius:8px;padding:.65rem;margin-bottom:.55rem}
.lookup-arranged h4{font-size:.76rem;color:#5f3f96;margin-bottom:.35rem}
.lookup-arranged ol{padding-left:1.1rem}
.lookup-arranged li{margin-bottom:.35rem;line-height:1.5;color:#374151}
.lookup-notes{background:#fff8e8;border:1px solid #e6cf93;border-radius:8px;color:#6b5a25;padding:.55rem;margin-bottom:.55rem;line-height:1.45}
.lookup-snippets{display:flex;flex-direction:column;gap:.45rem}
.lookup-snippets article{border:1px solid #ead5ef;background:#fbf7fc;border-radius:8px;padding:.55rem}
.lookup-snippets strong{display:block;color:#5f3f96;margin-bottom:.25rem}
.lookup-snippets p{line-height:1.5;color:#374151}
.out-card{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--rlg);min-height:600px;display:flex;flex-direction:column;min-width:0;overflow:hidden;box-shadow:0 18px 45px rgba(95,63,150,.14)}
.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;gap:.9rem}
.empty-icon{font-size:3rem}
.empty h3{font-size:1rem;font-weight:700}
.empty p{font-size:.83rem;color:var(--muted);max-width:360px}
.feats{display:flex;flex-direction:column;gap:.4rem;margin-top:.3rem}
.feat{font-size:.78rem;color:#5f3f96;font-weight:500}
.feat.warn{color:#684071;background:#f7e5f6;border:1px solid #d9b9e4;border-radius:6px;padding:6px 10px;font-size:.75rem}
.feat.danger{color:#8d3150;background:#fff0f4;border:1px solid #efb1c1;border-radius:6px;padding:6px 10px;font-size:.75rem}
.empty-builder,.empty-shs{justify-content:flex-start;text-align:left;align-items:stretch;padding:2.4rem;gap:1rem}
.empty-badge{align-self:flex-start;background:#eef2ff;border:1px solid #c7d2fe;color:#3f518a;border-radius:999px;padding:5px 10px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.empty-builder h3,.empty-shs h3{font-size:1.35rem;color:var(--text);margin-top:.1rem}
.empty-builder .empty-lead,.empty-shs .empty-lead{max-width:680px;color:#5f566e;font-size:.9rem;line-height:1.65}
.builder-steps,.shs-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d9d4e8;border:1px solid #d9d4e8;border-radius:8px;overflow:hidden;margin-top:.3rem}
.builder-step,.shs-step{background:#fff;padding:1rem;min-height:138px}
.builder-step span,.shs-step span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2f3545;color:#fff;font-size:.8rem;font-weight:800;margin-bottom:.75rem}
.builder-step strong,.shs-step strong{display:block;color:#2f2938;font-size:.86rem;margin-bottom:.35rem}
.builder-step p,.shs-step p{max-width:none;color:#62586f;font-size:.78rem;line-height:1.5}
.builder-includes,.shs-includes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.2rem}
.builder-includes div,.shs-includes div{display:flex;align-items:flex-start;gap:.45rem;color:#4b4259;font-size:.78rem;font-weight:650;line-height:1.45;background:#f8f8fb;border:1px solid #e0ddeb;border-radius:8px;padding:.7rem .8rem}
.builder-includes div:last-child,.shs-includes div:last-child{grid-column:1/-1}
.builder-includes span,.shs-includes span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#e6f4ea;color:#176b32;font-size:.72rem;font-weight:900}
.teacher-note{display:flex;gap:.75rem;align-items:flex-start;background:#fff7f8;border:1px solid #efb1c1;border-left:4px solid #9c4260;border-radius:8px;padding:.9rem 1rem;color:#6e3048;line-height:1.55}
.teacher-note strong{flex:0 0 auto;color:#8d3150;font-size:.82rem}
.teacher-note span{font-size:.78rem}
.bible-quote-box{background:#f7e5f6;border:1px solid #d9b9e4;border-radius:8px;padding:10px 12px;color:#5f3f96;font-weight:400;line-height:1.5;text-align:left}
.bible-quote-box strong{color:#5f3f96;font-weight:700}
.bible-quote-box .quote-ref{display:block;color:#9c4260;font-weight:700;margin-bottom:.25rem}
.bible-quote-box .quote-text{display:block;color:#4f4261;font-style:italic;margin-bottom:.35rem}
.bible-quote-box .quote-trait{display:block;color:#5f3f96}
.ad-shell{position:relative;display:flex;align-items:center;justify-content:center;min-height:58px;border:1px dashed rgba(95,63,150,.42);border-radius:8px;background:linear-gradient(135deg,rgba(237,198,239,.62),rgba(228,155,173,.36) 48%,rgba(137,137,217,.28));color:var(--violet-dark);font-size:.78rem;font-weight:800;text-align:center;letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.ad-shell::before{content:'Sponsored';position:absolute;top:6px;left:8px;color:#9c4260;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.72}
.ad-shell span{display:inline-flex;align-items:center;justify-content:center;padding:1.1rem .75rem .65rem}
.ad-top{max-width:1280px;margin:.75rem auto 0;min-height:64px}
.ad-placement-1{align-items:stretch;justify-content:flex-start;min-height:clamp(138px,16vw,220px);overflow:hidden;border:1px solid rgba(181,139,215,.78);border-radius:10px;background:#fff;padding:0;box-shadow:0 16px 34px rgba(95,63,150,.12)}
.ad-placement-1::before{content:'Sponsored';z-index:2;top:10px;right:12px;left:auto;background:rgba(255,255,255,.82);border:1px solid rgba(181,139,215,.5);border-radius:999px;color:#9c4260;padding:3px 9px;font-size:.58rem;opacity:1}
.ad-placement-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ad-placement-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:min(57%,680px);padding:clamp(1rem,2.5vw,2rem);text-align:left}
.ad-placement-copy small{display:inline-flex;color:#9c4260;background:rgba(255,255,255,.72);border:1px solid rgba(228,155,173,.62);border-radius:999px;padding:4px 10px;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.55rem}
.ad-placement-copy strong{display:block;max-width:640px;color:var(--violet-dark);font-size:clamp(1.05rem,2.05vw,2rem);font-weight:800;line-height:1.12;letter-spacing:0}
.ad-placement-copy p{max-width:530px;margin-top:.5rem;color:#4f4261;font-size:clamp(.78rem,1.08vw,1rem);font-weight:700;line-height:1.35}
.ad-sidebar{min-height:76px}
.ad-empty{min-height:74px;margin-top:.2rem}
.ad-loading{width:min(520px,100%);margin-top:.35rem}
.ad-result{flex:1 1 100%;min-height:42px}
.ad-inline{min-height:68px;margin:.25rem 0}
.ad-footer{max-width:720px;margin:0 auto 1.25rem;border-color:rgba(228,155,173,.7);background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(237,198,239,.2),rgba(137,137,217,.18));color:#fff}
.ad-footer::before{color:var(--lilac)}
.res-top{padding:.9rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--blue-light);border-radius:var(--rlg) var(--rlg) 0 0;flex-wrap:wrap;gap:.5rem}
.res-title{font-size:.9rem;font-weight:700;color:var(--blue-dark)}
.res-btns{display:flex;gap:8px;flex-wrap:wrap;max-width:100%;min-width:0}
.abtn{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:opacity .15s;border:none}
.abtn:hover{opacity:.82}.abtn:disabled{opacity:.4;cursor:not-allowed}
.abtn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.abtn.green{background:var(--periwinkle);color:#fff}
.abtn.purple{background:var(--violet);color:#fff}
.preview{padding:1.25rem;overflow-x:auto;max-width:100%;min-width:0}
.preview table{width:100%;border-collapse:collapse;font-size:.78rem;line-height:1.6}
.preview th,.preview td{border:1px solid #bba4d6;padding:7px 9px;vertical-align:top}
.preview th{background:var(--violet-dark);color:#fff;font-weight:600;font-size:.72rem}
.preview .sec td{background:#ead5ef;color:var(--violet-dark);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.preview .lbl{background:#f5e9f7;font-weight:600;color:#4f4261;width:190px;min-width:170px}
.preview .lbl-flow{background:#efe3f7;font-weight:600;color:var(--violet-dark);width:190px;min-width:170px}
.preview .note{color:#64748b;font-style:italic}
.preview .placeholder{background:#f8dce5;color:#8d3150;font-style:italic}
.preview .flow-cell{line-height:1.65;font-size:.78rem}
.preview .flow-step{display:block;margin-bottom:10px}
.preview .flow-step-title{display:block;font-weight:700;color:var(--violet-dark);font-size:.78rem;margin-bottom:2px}
.preview .flow-step-body{display:block;color:#374151;font-size:.77rem;line-height:1.6}
.pkg{margin-top:1.25rem;display:flex;flex-direction:column;gap:1rem}
.pkg section{border-top:1px solid var(--border);padding-top:1rem}
.pkg h3{font-size:.9rem;color:var(--violet-dark);font-weight:700;margin-bottom:.55rem}
.pkg h4{font-size:.82rem;color:var(--text);font-weight:700;margin-bottom:.35rem}
.pkg h5{font-size:.75rem;color:var(--violet-dark);font-weight:700;margin:.65rem 0 .25rem}
.pkg p,.pkg li{font-size:.78rem;color:#374151;line-height:1.65}
.pkg ol{padding-left:1.2rem}
.pkg-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.85rem;margin-bottom:.65rem}
.pkg-card p+p{margin-top:.3rem}
.pkg-muted{color:var(--muted);font-style:italic}
.pkg-answer{color:#5f3f96}
.pkg-table-wrap{overflow-x:auto}
.pkg-table{width:100%;border-collapse:collapse;font-size:.75rem}
.pkg-table th,.pkg-table td{border:1px solid #d7bde6;padding:7px;vertical-align:top}
.pkg-table th{background:#f4e8f7;color:var(--violet-dark);font-weight:700}
.pkg-citations{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}
.pkg-citations article{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.75rem;font-size:.75rem;color:#374151}
.pkg-citations span{color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dots{0%,20%{content:'.'}40%{content:'..'}60%,100%{content:'...'}}
.spinner{width:42px;height:42px;border-radius:50%;border:3px solid #ead5ef;border-top-color:var(--blue-dark);animation:spin .9s linear infinite}
.ldots::after{content:'.';animation:dots 1.2s steps(3,end) infinite}
.loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem}
.loading p{font-size:.9rem;font-weight:600;color:var(--blue-dark)}
.loading small{font-size:.78rem;color:var(--muted)}
footer{text-align:center;padding:1.5rem;font-size:.78rem;color:var(--muted);margin-top:3rem}
.seo-content{max-width:900px;margin:0 auto;padding:2rem 1.5rem 3rem}
.seo-card{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:14px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 12px 30px rgba(95,63,150,.1)}
.seo-card h2{font-size:1.3rem;font-weight:700;color:var(--violet-dark);margin-bottom:1rem}
.seo-card h3{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.4rem}
.seo-card p{color:#374151;font-size:.95rem;line-height:1.75;margin-bottom:.75rem}
.seo-card ol{color:#374151;font-size:.95rem;line-height:2;padding-left:1.25rem}
.cta-card{background:#f4e8f7;border:1px solid #d7bde6;border-radius:14px;padding:1.5rem;text-align:center}
.cta-card h2{font-size:1.1rem;font-weight:700;color:var(--violet-dark);margin-bottom:.5rem}
.cta-card p{color:#374151;font-size:.9rem;margin-bottom:1rem}
.cta-card a{display:inline-block;background:var(--pink);color:#2c2436;font-weight:700;padding:11px 28px;border-radius:8px;font-size:.95rem;text-decoration:none}
.site-footer{background:var(--violet-dark);color:rgba(255,255,255,.7);padding:2rem 1.5rem;margin-top:3rem}
.site-footer>div{max-width:900px;margin:0 auto}
.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1.25rem;font-size:.82rem}
.site-footer a{color:rgba(255,255,255,.75)}
.site-footer p{text-align:center;font-size:.78rem}
@media(max-width:860px){
  .wrap{grid-template-columns:1fr}
  .ad-top{margin:.75rem 1.5rem 0}
  .ad-placement-1{min-height:170px}
  .ad-placement-copy{width:68%;padding:1.1rem}
  .ad-placement-copy strong{font-size:1.15rem}
  .ad-placement-copy p{font-size:.82rem}
  .form-card{position:static;max-height:none}
  .empty{padding:3rem 1.8rem}
  .empty-builder,.empty-shs{padding:2rem 1.5rem}
  .builder-steps,.shs-steps{grid-template-columns:1fr}
  .builder-step,.shs-step{min-height:auto}
  .builder-includes,.shs-includes{grid-template-columns:1fr}
  .teacher-note{flex-direction:column;gap:.35rem}
}
@media(max-width:480px){
  .nav-in{padding:0 .75rem}
  .nav-links{gap:.35rem}
  .nav-links a{padding:5px 8px}
  .ad-top{margin:.65rem 1.5rem 0}
  .ad-placement-1{min-height:182px}
  .ad-placement-img{object-position:center right}
  .ad-placement-copy{width:auto;max-width:calc(100% - 1.7rem);align-self:center;margin:0 .85rem;padding:.85rem;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.72);border-radius:9px;box-shadow:0 12px 28px rgba(44,36,54,.12)}
  .ad-placement-copy small{font-size:.54rem;padding:3px 8px}
  .ad-placement-copy strong{font-size:1rem;line-height:1.16}
  .ad-placement-copy p{font-size:.76rem;line-height:1.3}
  .wrap{padding:1.5rem}
  .empty-builder h3,.empty-shs h3{font-size:1.15rem}
  .lookup-actions{grid-template-columns:1fr}
  .seo-card{padding:2rem}
}
