.nav-links .logout-nav{color:#fff;border:1px solid rgba(255,255,255,.48);font-weight:700}
.nav-links .logout-nav:hover{background:#fff;color:var(--violet-dark)}
.nav-links .logout-nav:disabled{opacity:.65;cursor:wait}
*,*::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:800;color:#fff;text-decoration:none}
.logo-word{display:inline-flex;align-items:baseline;gap:0;letter-spacing:.02em;line-height:1}
.logo-main{color:#fff}
.logo-accent{color:var(--pink)}
.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}
.premium-migration-announcement{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,520px);gap:1rem;align-items:stretch;background:rgba(255,255,255,.96);border:1px solid var(--border);border-left:4px solid var(--violet-dark);border-radius:8px;padding:1rem;box-shadow:0 18px 45px rgba(95,63,150,.12)}
.premium-migration-copy{display:flex;flex-direction:column;justify-content:center;gap:.55rem;min-width:0;padding:.35rem .2rem}
.premium-migration-kicker{color:#9c4260;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.premium-migration-copy h2{color:#2c2436;font-size:1.25rem;font-weight:900;line-height:1.18;letter-spacing:0}
.premium-migration-copy p{max-width:720px;color:#4b4259;font-size:.85rem;line-height:1.6}
.premium-migration-copy strong{color:#5f3f96}
.premium-migration-count{display:inline-flex;align-self:flex-start;align-items:center;min-height:30px;background:#f4e8f7;border:1px solid #d7bde6;border-radius:999px;color:#5f3f96!important;font-size:.76rem!important;font-weight:800;padding:5px 10px}
.premium-migration-form{background:#fbf7fc;border:1px solid #ead5ef;border-radius:8px;padding:.9rem;display:flex;flex-direction:column;gap:.75rem}
.premium-registration-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem;border-bottom:1px solid #ead5ef;padding-bottom:.65rem}
.premium-registration-head span{color:#2c2436;font-size:.82rem;font-weight:900;line-height:1.25}
.premium-registration-head strong{flex:0 0 auto;background:#fff0f4;border:1px solid #efb1c1;border-radius:999px;color:#8d3150;font-size:.64rem;font-weight:900;padding:4px 8px;text-transform:uppercase;letter-spacing:.04em}
.premium-registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.premium-registration-field{min-width:0}
.premium-registration-field-wide{grid-column:1/-1}
.premium-registration-field label{display:block;color:#2c2436;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.22rem;line-height:1.25}
.premium-registration-submit{width:100%;min-height:42px;border:0;border-radius:8px;background:var(--violet-dark);color:#fff;font-family:'Inter',sans-serif;font-size:.86rem;font-weight:900;cursor:pointer;transition:opacity .15s}
.premium-registration-submit:hover{opacity:.88}
.premium-registration-submit:disabled{opacity:.55;cursor:wait}
.premium-registration-status{display:none;border-radius:8px;font-size:.75rem;font-weight:700;line-height:1.45;padding:8px 10px}
.premium-registration-status.is-success{display:block;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.premium-registration-status.is-error{display:block;background:#fff0f4;border:1px solid #efb1c1;color:#8d3150}
.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],input[type=number],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}
.visitor-counter{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.55rem .75rem;width:100%;background:linear-gradient(135deg,#fbf7fc,#f4e8f7);border:1px solid #dcc7e9;border-left:4px solid var(--violet);border-radius:8px;padding:.75rem .9rem;color:#4b4259;box-shadow:0 10px 24px rgba(95,63,150,.08)}
.visitor-counter-label{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#5f3f96}
.visitor-counter strong{color:#2c2436;font-size:1.25rem;line-height:1;font-weight:900;letter-spacing:0}
.visitor-counter-meta{font-size:.76rem;color:#6f627c;line-height:1.35}
.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}
.region-pop{position:fixed;left:18px;bottom:18px;z-index:2147483000;width:min(315px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgba(255,255,255,.42);border-radius:8px;background:linear-gradient(135deg,var(--violet-dark) 0%,var(--violet) 58%,var(--pink) 100%);color:#fff;box-shadow:0 16px 38px rgba(44,36,54,.24);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .24s ease,transform .24s ease}
.region-pop.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.region-pop.is-refreshing{animation:region-pop-refresh .48s ease}
@keyframes region-pop-refresh{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-2px) scale(1.015)}100%{transform:translateY(0) scale(1)}}
.region-pop-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.16),0 0 18px rgba(255,255,255,.72);flex:0 0 auto}
.region-pop-copy{min-width:0;display:flex;flex:1;flex-direction:column;line-height:1.2}
.region-pop-kicker{color:rgba(255,255,255,.76);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.region-pop strong{font-size:.82rem;font-weight:800;color:#fff;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.region-pop small{font-size:.68rem;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.region-pop-close{width:24px;height:24px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:rgba(255,255,255,.14);color:#fff;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.region-pop-close:hover{background:rgba(255,255,255,.24)}
.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-shell .ad-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:100%;line-height:1.25;padding:1.3rem .85rem .7rem}
.ad-copy strong{font-size:.76rem;color:var(--violet-dark);font-weight:900;letter-spacing:0}
.ad-copy small{display:block;color:#6f627c;font-size:.62rem;font-weight:800;letter-spacing:0}
.ad-dimension{display:block;color:#9c4260;font-weight:900}
.ad-top{max-width:1280px;margin:.75rem auto 0;min-height:64px}
.ad-placement-1{align-items:stretch;justify-content:flex-start;aspect-ratio:2172/724;min-height:0;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);color:inherit;text-decoration:none;cursor:pointer}
.ad-placement-1:hover{text-decoration:none;box-shadow:0 18px 38px rgba(95,63,150,.16)}
.ad-placement-native{display:block;min-height:clamp(220px,20vw,320px);cursor:default}
.ad-placement-frame{display:block;width:100%;height:clamp(220px,20vw,320px);border:0;background:#fff}
.ad-placement-1::before{content:none;display:none}
.ad-placement-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;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-shop-now{display:inline-flex;align-items:center;justify-content:center;margin-top:.7rem;padding:.58rem 1.15rem;border-radius:8px;background:#fff;color:#eb1195;font-size:clamp(.82rem,1vw,1rem);font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:0;box-shadow:0 12px 22px rgba(95,63,150,.16),0 0 0 1px rgba(235,17,149,.14)}
.ad-placement-1.has-mascot{min-height:clamp(150px,17vw,230px)}
.ad-placement-mascot{position:absolute;right:clamp(1.25rem,4.2vw,4rem);bottom:clamp(.7rem,1.8vw,1.35rem);z-index:1;width:clamp(92px,11vw,145px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#fff,var(--lilac));border:3px solid rgba(255,255,255,.88);box-shadow:0 18px 36px rgba(95,63,150,.24),0 0 0 1px rgba(95,63,150,.16)}
.ad-placement-mascot img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.ad-placement-sponsor-tag{position:absolute;right:clamp(1rem,3vw,2.7rem);top:clamp(.85rem,1.5vw,1.25rem);z-index:1;background:rgba(255,255,255,.86);border:1px solid rgba(228,155,173,.68);border-radius:999px;color:#9c4260;padding:5px 11px;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 10px 26px rgba(95,63,150,.12)}
.ad-sidebar{min-height:76px}
.ad-sidebar-marblism{display:block;aspect-ratio:2172/724;min-height:0;overflow:hidden;border:1px solid rgba(181,139,215,.62);border-radius:8px;background:#fff;padding:0;box-shadow:0 10px 22px rgba(95,63,150,.1);text-decoration:none;cursor:pointer}
.ad-sidebar-marblism:hover{text-decoration:none;box-shadow:0 12px 26px rgba(95,63,150,.14)}
.ad-sidebar-marblism::before{content:none;display:none}
.ad-sidebar-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ad-empty{min-height:90px;margin-top:.2rem}
.ad-empty-marblism{display:block;aspect-ratio:2172/724;min-height:0;overflow:hidden;border:1px solid rgba(181,139,215,.62);border-radius:8px;background:#fff;padding:0;box-shadow:0 10px 22px rgba(95,63,150,.1);text-decoration:none;cursor:pointer}
.ad-empty-marblism:hover{text-decoration:none;box-shadow:0 12px 26px rgba(95,63,150,.14)}
.ad-empty-marblism::before{content:none;display:none}
.ad-empty-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ad-loading{width:min(520px,100%);min-height:90px;margin-top:.35rem}
.ad-loading-marblism{display:block;aspect-ratio:2172/724;min-height:0;overflow:hidden;border:1px solid rgba(181,139,215,.62);border-radius:8px;background:#fff;padding:0;box-shadow:0 10px 22px rgba(95,63,150,.1);text-decoration:none;cursor:pointer}
.ad-loading-marblism:hover{text-decoration:none;box-shadow:0 12px 26px rgba(95,63,150,.14)}
.ad-loading-marblism::before{content:none;display:none}
.ad-loading-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ad-result{flex:1 1 100%;min-height:82px}
.ad-result-marblism{display:block;aspect-ratio:2172/724;min-height:0;overflow:hidden;border:1px solid rgba(181,139,215,.62);border-radius:8px;background:#fff;padding:0;box-shadow:0 10px 22px rgba(95,63,150,.1);text-decoration:none;cursor:pointer}
.ad-result-marblism:hover{text-decoration:none;box-shadow:0 12px 26px rgba(95,63,150,.14)}
.ad-result-marblism::before{content:none;display:none}
.ad-result-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ad-inline{min-height:90px;margin:.25rem 0}
.ad-inline-marblism{display:block;aspect-ratio:2172/724;min-height:0;overflow:hidden;border:1px solid rgba(181,139,215,.62);border-radius:8px;background:#fff;padding:0;box-shadow:0 10px 22px rgba(95,63,150,.1);text-decoration:none;cursor:pointer}
.ad-inline-marblism:hover{text-decoration:none;box-shadow:0 12px 26px rgba(95,63,150,.14)}
.ad-inline-marblism::before{content:none;display:none}
.ad-inline-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.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)}
.ad-footer-marblism{display:block;max-width:1150px;aspect-ratio:2172/724;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.38);border-radius:8px;background:#fff;padding:0;box-shadow:0 12px 28px rgba(44,36,54,.16);text-decoration:none;cursor:pointer}
.ad-footer-marblism:hover{text-decoration:none;box-shadow:0 14px 32px rgba(44,36,54,.22)}
.ad-footer-marblism::before{content:none;display:none}
.ad-footer-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ad-shell.is-adsense{display:block;background:rgba(255,255,255,.96);border:1px solid rgba(95,63,150,.18);box-shadow:0 10px 24px rgba(95,63,150,.08);padding:0;overflow:hidden;color:var(--muted)}
.ad-shell.is-adsense::before{content:none}
.ad-shell.is-adsense .ad-label{position:absolute;top:6px;left:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:0;color:#6f627c;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;line-height:1}
.ad-shell.is-adsense .adsbygoogle{display:block;width:100%;min-height:inherit}
.ad-placement-1.is-adsense{min-height:clamp(138px,16vw,220px)}
.ad-placement-1.is-adsense .ad-label{top:10px;right:12px;left:auto;background:rgba(255,255,255,.88);border:1px solid rgba(181,139,215,.45);border-radius:999px;color:#6f627c;padding:3px 9px}
.ad-footer.is-adsense{background:rgba(255,255,255,.98);border-color:rgba(255,255,255,.32)}
.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.pdf{background:#2f3545;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}
.premium-template-field,.premium-template-benefit{display:none}
.preview.official-preview{background:#fff;overflow-x:auto}
.preview.official-preview .official-template{width:100%;max-width:100%;min-width:0;background:#fff;color:#2c2436;font-family:Arial,sans-serif;font-size:.76rem;line-height:1.42}
.preview.official-preview .official-template h1{text-align:center;background:var(--violet-dark);color:#fff;font-size:.88rem;font-weight:800;line-height:1.25;margin:0;padding:12px 10px;letter-spacing:0}
.preview.official-preview .official-page{border-bottom:1px solid #d7bde6;margin-bottom:18px;padding-bottom:18px}
.preview.official-preview .official-page-last{border-bottom:0;margin-bottom:0;padding-bottom:0}
.preview.official-preview .official-info,.preview.official-preview .official-grid{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed;color:#2c2436}
.preview.official-preview .official-info{margin:0}
.preview.official-preview .official-info th,.preview.official-preview .official-info td,.preview.official-preview .official-grid th,.preview.official-preview .official-grid td{border:1px solid #d7bde6;padding:8px 9px;vertical-align:top;text-align:left;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;hyphens:manual}
.preview.official-preview .official-info th{width:21%;background:#f4e8f7;color:#4f4261;font-weight:800}
.preview.official-preview .official-info td{background:#fff;color:#2c2436}
.preview.official-preview .official-info em{display:block;margin-top:2px;color:#6f627c;font-size:.68rem;font-weight:500;line-height:1.35}
.preview.official-preview .official-left-col{width:21%}
.preview.official-preview .official-session-col{width:auto}
.preview.official-preview .official-band td{background:#ead5ef;color:#4f4261;border-color:#d7bde6}
.preview.official-preview .official-band-title{color:var(--violet-dark);font-size:.9rem;font-weight:900;line-height:1.25}
.preview.official-preview .official-band-copy{font-size:.74rem;font-style:italic;line-height:1.45}
.preview.official-preview .official-label{background:#f4e8f7;color:#4f4261}
.preview.official-preview .official-label-title{color:#4f4261;font-size:.78rem;font-weight:800;line-height:1.3}
.preview.official-preview .official-label-hint{margin-top:4px;color:#6f627c;font-size:.68rem;font-weight:500;line-height:1.45}
.preview.official-preview .official-session-head th,.preview.official-preview .official-session-head td{background:var(--violet);color:#fff;text-align:center;font-size:.72rem;font-weight:800}
.preview.official-preview .official-session-cell,.preview.official-preview .official-standards td,.preview.official-preview .official-learner-context td{font-size:.75rem;line-height:1.5}
.preview.official-preview .official-standard-block{margin-bottom:8px}
.preview.official-preview .official-standard-block:last-child{margin-bottom:0}
.preview.official-preview .official-standard-block strong{display:block;color:var(--violet-dark);font-size:.69rem;font-weight:900;line-height:1.25;text-transform:uppercase}
.preview.official-preview .official-dashed td+td{border-left-style:dashed;border-right-style:dashed}
.preview.official-preview .official-reflections-row td{min-height:118px;height:118px}
.preview.official-preview .official-signatures{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:18px}
.preview.official-preview .official-signatures td{border:0;text-align:center;vertical-align:top;padding:0 18px;color:#2c2436}
.preview.official-preview .official-signature-label{font-weight:800;margin-bottom:16px}
.preview.official-preview .official-signature-name{border-bottom:1px solid #4f4261;min-height:22px;padding-bottom:3px;font-weight:700}
.preview.official-preview .official-signature-position{font-size:.72rem;color:#6f627c;margin-top:4px}
.preview.weekly-ilaw-preview .weekly-ilaw-template{min-width:1160px;width:100%;background:#fff;color:#111;font-family:Arial,sans-serif;font-size:.78rem;line-height:1.18}
.preview.weekly-ilaw-preview .weekly-ilaw-template h1{text-align:center;background:#fff;color:#111;font-size:.95rem;font-weight:900;letter-spacing:0;margin:0;padding:4px 0;border:1px solid #111;border-top:0}
.preview.weekly-ilaw-preview .weekly-ilaw-template table{width:100%;border-collapse:collapse;table-layout:fixed;color:#19151f}
.preview.weekly-ilaw-preview .weekly-ilaw-template th,.preview.weekly-ilaw-preview .weekly-ilaw-template td{border:1px solid #111;padding:4px 7px;vertical-align:top;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;hyphens:manual}
.preview.weekly-ilaw-preview .weekly-ilaw-info{margin:0}
.preview.weekly-ilaw-preview .weekly-ilaw-info-teacher-label-col{width:26.7%}
.preview.weekly-ilaw-preview .weekly-ilaw-info-teacher-value-col{width:31%}
.preview.weekly-ilaw-preview .weekly-ilaw-info-label-col{width:11.3%}
.preview.weekly-ilaw-preview .weekly-ilaw-info-value-col{width:31%}
.preview.weekly-ilaw-preview .weekly-ilaw-school-cell{text-align:left;vertical-align:middle}
.preview.weekly-ilaw-preview .weekly-ilaw-school-cell span{vertical-align:middle}
.preview.weekly-ilaw-preview .weekly-ilaw-logo{width:52px;height:52px;object-fit:contain;display:inline-block;vertical-align:middle;margin:0 76px 0 24px}
.preview.weekly-ilaw-preview .weekly-ilaw-info th{background:#fff;text-align:left;font-weight:500}
.preview.weekly-ilaw-preview .weekly-ilaw-info td{background:#fff}
.preview.weekly-ilaw-preview .weekly-ilaw-top-rule{height:18px;background:#d0cece;border-left:1px solid #111;border-right:1px solid #111}
.preview.weekly-ilaw-preview .weekly-ilaw-label-col{width:15.55%}
.preview.weekly-ilaw-preview .weekly-ilaw-s1-col{width:19.02%}
.preview.weekly-ilaw-preview .weekly-ilaw-s2-col{width:15.57%}
.preview.weekly-ilaw-preview .weekly-ilaw-s3-col{width:15.57%}
.preview.weekly-ilaw-preview .weekly-ilaw-s4-col{width:14.65%}
.preview.weekly-ilaw-preview .weekly-ilaw-s5-col{width:19.64%}
.preview.weekly-ilaw-preview .weekly-ilaw-grid th:first-child{background:#fff;text-align:left;font-weight:500}
.preview.weekly-ilaw-preview .weekly-ilaw-session-head th{background:#808080;color:#fff;text-align:center;font-weight:900;padding:3px 5px}
.preview.weekly-ilaw-preview .weekly-ilaw-band td{background:#bfbfbf;color:#111;padding:4px 7px}
.preview.weekly-ilaw-preview .weekly-ilaw-band strong{display:block;font-size:.8rem;font-weight:900;text-transform:uppercase}
.preview.weekly-ilaw-preview .weekly-ilaw-band span{display:block;margin-top:0;font-size:.78rem;font-style:normal;line-height:1.2;color:#111}
.preview.weekly-ilaw-preview .weekly-ilaw-standard{margin-bottom:10px}
.preview.weekly-ilaw-preview .weekly-ilaw-standard:last-child{margin-bottom:0}
.preview.weekly-ilaw-preview .weekly-ilaw-standard strong{display:block;font-size:.78rem;font-weight:900}
.preview.weekly-ilaw-preview .weekly-ilaw-session-cell{font-size:.76rem;line-height:1.2}
.preview.weekly-ilaw-preview .weekly-ilaw-compact-row th,.preview.weekly-ilaw-preview .weekly-ilaw-compact-row td{padding-top:2px;padding-bottom:2px}
.preview.weekly-ilaw-preview .weekly-ilaw-empty{height:40px;background:#fff}
.preview.weekly-ilaw-preview .weekly-ilaw-tall-row td{min-height:72px}
.preview.weekly-ilaw-preview .weekly-ilaw-flow-row td{min-height:220px}
.preview.weekly-ilaw-preview .weekly-ilaw-reflection-row td{height:86px}
.preview.weekly-ilaw-preview .weekly-ilaw-signatures{margin-top:34px}
.preview.weekly-ilaw-preview .weekly-ilaw-signatures th,.preview.weekly-ilaw-preview .weekly-ilaw-signatures td{border:0;text-align:center;vertical-align:top;padding:4px 18px}
.preview.weekly-ilaw-preview .weekly-ilaw-signatures th{font-weight:500}
.preview.weekly-ilaw-preview .weekly-ilaw-signatures strong{display:block;border-bottom:1px solid #111;min-height:24px;padding-bottom:2px;font-weight:500}
.preview.weekly-ilaw-preview .weekly-ilaw-signatures span{display:block;margin-top:2px;font-size:.76rem;color:#111}
.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}
.generation-icon{width:118px;height:118px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.9);box-shadow:0 12px 28px rgba(95,63,150,.18);background:#fff}
.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}
.auth-body{min-height:100vh}
.auth-wrap{width:min(1080px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:1.25rem;align-items:stretch}
.auth-intro,.auth-panel{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 45px rgba(95,63,150,.14)}
.auth-intro{padding:clamp(1.6rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;min-height:520px}
.auth-logo{width:78px;height:78px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 12px 28px rgba(95,63,150,.18);margin-bottom:1.25rem}
.auth-kicker{color:#9c4260;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.55rem}
.auth-intro h1{max-width:680px;color:#2c2436;font-size:clamp(2rem,4.2vw,4rem);font-weight:800;line-height:1.02;letter-spacing:0;margin-bottom:1rem}
.auth-lead{max-width:610px;color:#5f566e;font-size:1rem;line-height:1.7}
.auth-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1.4rem}
.auth-benefits span{display:flex;align-items:center;min-height:70px;background:#f8f8fb;border:1px solid #e0ddeb;border-radius:8px;color:#4b4259;font-size:.82rem;font-weight:700;line-height:1.35;padding:.8rem}
.auth-panel{padding:clamp(1.25rem,3vw,2rem);align-self:center}
.auth-status-mark{display:inline-flex;align-items:center;justify-content:center;background:#f4e8f7;border:1px solid #d7bde6;border-radius:999px;color:#5f3f96;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:5px 10px;margin-bottom:1rem}
.auth-panel h2{font-size:1.45rem;color:#2c2436;line-height:1.2;margin-bottom:.45rem}
.auth-panel-copy,.auth-help{color:#6f627c;font-size:.88rem;line-height:1.55}
.auth-form{display:flex;flex-direction:column;gap:.55rem;margin-top:1.2rem}
.auth-form label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#2c2436}
.auth-form input[type=email],.auth-form input[type=text],.auth-form input[type=password]{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 11px;font-size:.95rem;font-family:'Inter',sans-serif;color:var(--text);background:#fff}
.auth-form input[type=email]:focus,.auth-form input[type=text]:focus,.auth-form input[type=password]:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(181,139,215,.24)}
.auth-submit,.auth-secondary{width:100%;border:0;border-radius:10px;font-family:'Inter',sans-serif;font-size:.94rem;font-weight:800;cursor:pointer;padding:12px;margin-top:.45rem;text-align:center;text-decoration:none}
.auth-submit{display:block;background:var(--violet-dark);color:#fff}
.auth-submit:hover,.auth-secondary:hover{text-decoration:none;opacity:.88}
.auth-submit:disabled,.auth-secondary:disabled{opacity:.55;cursor:not-allowed}
.auth-secondary{background:#f4e8f7;color:#2c2436;border:1px solid #d7bde6}
.auth-link-button{margin-top:1rem}
.auth-error,.auth-alert{display:none;border-radius:8px;font-size:.78rem;line-height:1.45;padding:9px 11px;margin-top:.65rem}
.auth-error{background:#fff0f4;border:1px solid #efb1c1;color:#8d3150}
.auth-alert{display:block;background:#fff8e8;border:1px solid #e6cf93;color:#6b5a25}
.auth-help{margin-top:1rem}
.auth-account{display:grid;gap:.65rem;margin:1.1rem 0 0}
.auth-account div{background:#fbf7fc;border:1px solid #ead5ef;border-radius:8px;padding:.8rem}
.auth-account dt{color:#6f627c;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}
.auth-account dd{color:#2c2436;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}
.ad-login{min-height:90px;margin-top:1.15rem}
.vip-services{width:min(1180px,100%);margin:0 auto 3rem;padding:0 clamp(1.5rem,4vw,3rem)}
.vip-services-head{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:8px;padding:1.4rem 1.5rem;box-shadow:0 14px 36px rgba(95,63,150,.12)}
.vip-services-head h2{color:#2c2436;font-size:1.45rem;line-height:1.2;margin-bottom:.55rem}
.vip-services-head p:last-child{max-width:820px;color:#5f566e;font-size:.9rem;line-height:1.65}
.vip-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.vip-service-card{position:relative;display:flex;flex-direction:column;gap:.55rem;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:8px;padding:1rem;min-height:245px;box-shadow:0 12px 28px rgba(95,63,150,.1)}
.vip-service-num{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#2f3545;color:#fff;font-size:.78rem;font-weight:800}
.vip-service-card h3{color:var(--violet-dark);font-size:.98rem;line-height:1.25}
.vip-service-card p{color:#4b4259;font-size:.78rem;line-height:1.55}
.vip-service-card strong{color:#2c2436}
.vip-service-link{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;background:#f4e8f7;border:1px solid #d7bde6;color:#5f3f96;font-size:.78rem;font-weight:800;text-decoration:none}
.vip-service-link:hover{text-decoration:none;opacity:.86}
.premium-assessment-body{background:linear-gradient(90deg,#f8eff8 0,#f8eff8 28%,#eef2ff 28%,#eef2ff 58%,#fce7f3 58%,#fce7f3 100%)}
.assessment-shell{width:min(1280px,100%);margin:0 auto;padding:clamp(1.1rem,3vw,1.7rem)}
.assessment-hero{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:8px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 45px rgba(95,63,150,.13);margin-bottom:1rem}
.assessment-hero h1{max-width:900px;color:#2c2436;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:800;line-height:1.05;letter-spacing:0;margin-bottom:.7rem}
.assessment-hero p:not(.auth-kicker){max-width:720px;color:#5f566e;font-size:.98rem;line-height:1.65}
.assessment-account{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.assessment-account span{display:inline-flex;align-items:center;min-height:32px;border:1px solid #d7bde6;background:#fbf7fc;border-radius:999px;color:#5f3f96;font-size:.78rem;font-weight:800;padding:5px 10px}
.assessment-alert{background:#fff8e8;border:1px solid #e6cf93;border-radius:8px;color:#6b5a25;padding:1rem 1.1rem;box-shadow:0 12px 28px rgba(95,63,150,.1)}
.assessment-alert strong{display:block;color:#2c2436;margin-bottom:.25rem}
.assessment-workspace{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:1rem;align-items:start}
.assessment-form{display:flex;flex-direction:column;gap:1rem}
.assessment-card,.assessment-output{background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 38px rgba(95,63,150,.12);overflow:hidden}
.assessment-card-head{background:#f4e8f7;border-bottom:1px solid #ead5ef;padding:.9rem 1rem}
.assessment-card-head h2{color:#5f3f96;font-size:.94rem;font-weight:800;line-height:1.2}
.assessment-card>.assessment-grid,.assessment-card>.assessment-terms{padding:1rem}
.assessment-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.assessment-grid-full{grid-column:1/-1}
.assessment-field-note{display:block;color:#766b80;font-size:.7rem;line-height:1.45;margin-top:.3rem}
.assessment-policy-card{background:linear-gradient(135deg,#f7f0fa 0%,#fff 100%);border:1px solid #d7bde6;border-left:4px solid #5f3f96;border-radius:8px;padding:.9rem}
.assessment-policy-head{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;margin-bottom:.55rem}
.assessment-policy-head strong{color:#2c2436;font-size:.9rem;line-height:1.3}
.assessment-policy-badge{display:inline-flex;align-items:center;min-height:25px;background:#5f3f96;border-radius:999px;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.03em;padding:4px 8px;text-transform:uppercase}
.assessment-policy-card>p{color:#51475b;font-size:.76rem;line-height:1.55;margin-bottom:.7rem}
.assessment-policy-card>a,.assessment-policy-output>a{color:#5f3f96;font-size:.72rem;font-weight:800;text-decoration:underline}
.assessment-guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.7rem}
.assessment-guidance-grid>div{background:#fff;border:1px solid #ead5ef;border-radius:7px;padding:.65rem}
.assessment-guidance-grid span{display:block;color:#5f3f96;font-size:.64rem;font-weight:800;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}
.assessment-guidance-grid p{color:#51475b;font-size:.7rem;line-height:1.45}
.assessment-terms{display:grid;gap:.8rem}
.assessment-terms textarea{min-height:134px}
.assessment-submit{margin:.1rem 1rem 1rem;width:calc(100% - 2rem)}
.assessment-output{min-height:680px}
.assessment-empty{min-height:680px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(1.5rem,4vw,2.4rem);gap:.7rem}
.assessment-empty h2{font-size:1.35rem;color:#2c2436;line-height:1.25}
.assessment-empty p{max-width:520px;color:#5f566e;font-size:.9rem;line-height:1.65}
.assessment-empty-list{display:grid;gap:.4rem;color:#5f566e;font-size:.78rem;line-height:1.5;margin:.2rem 0 0 1.1rem;padding:0}
.assessment-loading{min-height:680px;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem}
.assessment-loading small{display:block;color:#6f627c;font-size:.78rem;line-height:1.5;margin-top:.3rem}
.assessment-result{min-height:680px}
.assessment-preview{padding:1.1rem;max-height:calc(100vh - 150px);overflow:auto}
.assessment-doc h2{font-size:1.35rem;color:#2c2436;line-height:1.2;margin-bottom:.9rem}
.assessment-doc h3{font-size:1.1rem;color:#5f3f96;line-height:1.25;margin-bottom:.65rem}
.assessment-doc h4{font-size:.92rem;color:#2c2436;margin:.7rem 0 .4rem}
.assessment-doc h5{font-size:.82rem;color:#5f3f96;margin-bottom:.4rem}
.assessment-doc p,.assessment-doc li{font-size:.83rem;color:#3f374b;line-height:1.6}
.assessment-doc ul{padding-left:1.1rem}
.assessment-term{border-top:3px solid #ead5ef;padding-top:1rem;margin-top:1.2rem}
.assessment-coverage,.assessment-overview{background:#fbf7fc;border:1px solid #ead5ef;border-radius:8px;padding:.8rem;margin-bottom:.9rem}
.assessment-policy-output{background:#f7f0fa;border:1px solid #d7bde6;border-radius:8px;margin-bottom:.9rem;padding:.85rem}
.assessment-policy-output>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem;margin-bottom:.55rem}
.assessment-policy-output>div span{color:#5f3f96;font-size:.72rem;font-weight:800}
.assessment-policy-output>div strong{color:#2c2436;font-size:.78rem}
.assessment-policy-output p{color:#51475b;font-size:.75rem;line-height:1.5;margin-bottom:.4rem}
.assessment-subsection{border:1px solid #ead5ef;border-radius:8px;padding:.85rem;margin:.8rem 0;background:#fff}
.assessment-subsection>p{margin-bottom:.45rem}
.assessment-answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.assessment-answer-card{background:#fbf7fc;border:1px solid #ead5ef;border-radius:8px;padding:.7rem;min-width:0}
.assessment-answer-card span{display:inline-block;background:#fff;border:1px solid #ead5ef;border-radius:999px;color:#2c2436;font-size:.72rem;font-weight:700;line-height:1.35;margin:0 .3rem .35rem 0;padding:4px 7px}
.assessment-meta th{width:16%;background:#f4e8f7;color:#5f3f96}
.assessment-meta td{width:34%}
.assessment-item-table td:nth-child(5){min-width:260px}
@media(max-width:860px){
  .wrap{grid-template-columns:1fr}
  .premium-migration-announcement{grid-template-columns:1fr}
  .auth-wrap{grid-template-columns:1fr}
  .auth-intro{min-height:auto}
  .auth-benefits{grid-template-columns:1fr}
  .vip-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assessment-workspace{grid-template-columns:1fr}
  .assessment-output,.assessment-empty,.assessment-loading,.assessment-result{min-height:520px}
  .assessment-preview{max-height:none}
  .assessment-answer-grid{grid-template-columns:1fr}
  .ad-top{margin:.75rem 1.5rem 0}
  .ad-placement-1{min-height:0}
  .ad-placement-copy{width:62%;padding:1.1rem}
  .ad-placement-copy strong{font-size:1.15rem}
  .ad-placement-copy p{font-size:.82rem}
  .ad-placement-mascot{right:1.15rem;width:92px}
  .ad-placement-sponsor-tag{right:.95rem;top:.85rem;font-size:.54rem;padding:4px 8px}
  .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{height:auto;min-height:52px;padding:.45rem .75rem;display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:.4rem;align-items:center}
  .logo{min-width:0;gap:6px;font-size:clamp(.72rem,3.2vw,.9rem)}
  .logo-icon{width:28px;height:28px;flex:0 0 auto}
  .logo-word{min-width:0;overflow:hidden;white-space:nowrap}
  .auth-body .nav-in{display:flex;height:auto;min-height:54px;align-items:flex-start;flex-direction:column;gap:.45rem;padding-top:.55rem;padding-bottom:.55rem}
  .nav-links{width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}
  .auth-body .nav-links{width:100%;display:flex;flex-wrap:wrap}
  .nav-links a,.nav-links button{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 5px;font-size:clamp(.58rem,2.35vw,.72rem);font-weight:800;line-height:1.1;text-align:center;white-space:nowrap;border-radius:8px}
  .nav-links .btn-nav{padding:6px 5px;border-radius:8px}
  .ad-top{margin:.65rem 1rem 0}
  .ad-placement-1{min-height:0}
  .ad-placement-1.has-mascot{align-items:flex-start;min-height:300px}
  .ad-placement-1.has-mascot.is-adsense{min-height:182px}
  .ad-placement-img{object-position:center}
  .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-1.has-mascot .ad-placement-copy{align-self:flex-start;margin:.85rem .85rem 0;padding:.75rem .8rem}
  .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}
  .ad-placement-mascot{display:block;width:68px;right:.9rem;bottom:.8rem;border-width:2px}
  .ad-placement-sponsor-tag{display:none}
  .wrap{padding:1rem;gap:1rem}
  .premium-migration-announcement{padding:.9rem;gap:.85rem}
  .premium-migration-copy{padding:0}
  .premium-migration-kicker{font-size:.58rem;line-height:1.3}
  .premium-migration-copy h2{font-size:1.05rem;line-height:1.25}
  .premium-migration-copy p{font-size:.78rem;line-height:1.55}
  .premium-migration-count{font-size:.68rem!important;line-height:1.3;border-radius:8px}
  .premium-migration-form{padding:.8rem;gap:.65rem}
  .premium-registration-head{align-items:flex-start;flex-direction:column;gap:.4rem}
  .premium-registration-head span{font-size:.78rem}
  .premium-registration-grid{grid-template-columns:1fr;gap:.6rem}
  .premium-registration-field-wide{grid-column:auto}
  .premium-registration-field label{font-size:.62rem}
  .premium-registration-submit{min-height:40px;font-size:.8rem}
  .premium-registration-status{font-size:.7rem}
  .form-card{border-radius:12px}
  .form-body{padding:1rem;gap:.8rem}
  .fg-row{gap:.65rem}
  .fg label{font-size:.68rem;line-height:1.25;letter-spacing:.035em}
  select,input[type=text],input[type=number],textarea{font-size:.82rem;line-height:1.35;padding:10px 11px;border-radius:9px}
  select{min-height:44px}
  input::placeholder,textarea::placeholder{color:#74667f;font-size:.78rem;line-height:1.45}
  textarea{line-height:1.45}
  #competencies{min-height:178px}
  #competencies::placeholder{font-size:.76rem;line-height:1.5}
  .lookup-actions a,.mini-btn{font-size:.7rem;padding:7px 9px}
  .empty-builder h3,.empty-shs h3{font-size:1.15rem}
  .visitor-counter{grid-template-columns:1fr;gap:.25rem;padding:.75rem .85rem}
  .visitor-counter strong{font-size:1.2rem}
  .lookup-actions{grid-template-columns:1fr}
  .seo-card{padding:2rem}
  .region-pop{left:12px;right:auto;bottom:12px;width:min(300px,calc(100vw - 24px));gap:8px;padding:8px 9px;border-radius:8px}
  .region-pop-dot{width:8px;height:8px;box-shadow:0 0 0 4px rgba(255,255,255,.16),0 0 14px rgba(255,255,255,.68)}
  .region-pop-kicker{font-size:.5rem;margin-bottom:1px}
  .region-pop strong{font-size:.72rem}
  .region-pop small{font-size:.62rem}
  .region-pop-close{width:22px;height:22px;font-size:.92rem;border-radius:6px}
  .vip-services-grid{grid-template-columns:1fr}
  .vip-service-card{min-height:auto}
  .assessment-shell{padding:1rem}
  .assessment-grid{grid-template-columns:1fr}
  .assessment-guidance-grid{grid-template-columns:1fr}
  .assessment-account span{width:100%;justify-content:center}
  .assessment-hero h1{font-size:1.75rem}
  .assessment-empty{min-height:420px}
  .res-top{align-items:stretch}
  .res-btns{width:100%;display:grid;grid-template-columns:1fr}
  .assessment-preview{padding:.75rem}
  .assessment-subsection{padding:.7rem}
}
@media(max-width:360px){
  .nav-in{grid-template-columns:minmax(0,34%) minmax(0,1fr);padding-left:.6rem;padding-right:.6rem;gap:.32rem}
  .logo{font-size:.68rem;gap:5px}
  .logo-icon{width:25px;height:25px}
  .nav-links{gap:.25rem}
  .nav-links a,.nav-links button{font-size:.6rem;padding-left:4px;padding-right:4px}
  .wrap{padding:.85rem}
  .fg-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .region-pop{transition:none}
  .region-pop.is-refreshing{animation:none}
}
