
:root{
  --purple:#4a2a7a; --red:#a3262c; --navy:#3b3168; --blush:#f7e6e3; --night:#241b55;
  --paper:#fbf9f6; --card:#ffffff; --ink:#1f1b30; --text:#36314a; --muted:#6a6480;
  --line:#e9e4ee; --line2:#ddd5e8; --lav:#f3eefa; --lav2:#e9e0f6; --hl:#efe7fb;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif; --sans:'Inter', 'Segoe UI', system-ui, sans-serif;
  --hh:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font:400 16px/1.6 var(--sans);color:var(--text);background:var(--paper)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
:focus-visible{outline:3px solid #8a5cd0;outline-offset:2px;border-radius:6px}
img{max-width:100%}

/* prototype bar */
.proto{background:#fff3c4;color:#5e4800;font-size:13.5px;text-align:center;padding:7px 12px;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;border-bottom:1px solid #ecd98a}
.proto button{background:#5e4800;color:#fff;border-radius:99px;padding:4px 13px;font-weight:700;font-size:12.5px}

/* frame / scroller (phone preview) */
#frame{position:relative}
body.phoneview{background:#d9d4e4}
body.phoneview #frame{width:390px;height:800px;margin:20px auto;border:10px solid #111;border-radius:42px;overflow:hidden;transform:translateZ(0);background:var(--paper);box-shadow:0 30px 60px rgba(0,0,0,.25)}
body.phoneview #scroller{height:100%;overflow-y:auto}

/* header */
header.top{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:18px;padding:10px 24px;max-width:1600px;margin:0 auto}
.logo img{height:44px;display:block}
.hsearch{flex:1;max-width:520px;display:flex;align-items:center;gap:8px;background:var(--paper);border:1.5px solid var(--line2);border-radius:12px;padding:0 6px 0 14px;height:46px}
.hsearch:focus-within{border-color:var(--purple);background:#fff}
.hsearch input{flex:1;border:0;outline:0;background:transparent;font-size:16px;min-width:0;height:100%}
.hsearch button{background:var(--purple);color:#fff;border-radius:9px;padding:0 14px;height:34px;font-weight:600;font-size:14px}
.hnav{display:flex;gap:4px;align-items:center;margin-left:auto}
.hnav a{font-weight:600;font-size:15px;padding:0 14px;height:44px;display:flex;align-items:center;border-radius:10px;color:var(--ink)}
.hnav a:hover{background:var(--lav)}
.hnav a.on{background:var(--lav);color:var(--purple)}
.hnav a.helpbtn{background:var(--red);color:#fff}
.hnav a.helpbtn:hover{background:#8c1f25}
.topicsbtn,.mobhelp{display:none}
.mbar{display:none}

/* 3-col layout */
.layout{display:grid;grid-template-columns:290px minmax(0,1fr) 270px;gap:0;max-width:1600px;margin:0 auto;align-items:start}
.layout.norail{grid-template-columns:290px minmax(0,1fr)}

/* sidebar */
aside.side{position:sticky;top:var(--hh);height:calc(100vh - var(--hh));display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}
body.phoneview aside.side{height:100%}
.side-head{padding:18px 16px 10px;border-bottom:1px solid var(--line)}
.side-head h2{font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.side-close{display:none;width:44px;height:44px;border-radius:10px;font-size:22px;color:var(--ink)}
.filter{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line2);border-radius:10px;padding:0 10px;height:44px;background:var(--paper)}
.filter:focus-within{border-color:var(--purple);background:#fff}
.filter input{flex:1;border:0;outline:0;background:transparent;font-size:15.5px;min-width:0}
.filter .clr{width:30px;height:30px;border-radius:8px;color:var(--muted);font-size:18px;display:none}
.filter.has .clr{display:block}
.side-scroll{flex:1;overflow-y:auto;padding:8px 8px 30px;position:relative;overscroll-behavior:contain}
.navlink{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:10px;font-weight:600;font-size:15px;color:var(--ink)}
.navlink:hover{background:var(--lav)}
.navlink.cur{background:var(--hl);color:var(--purple)}
.side-sep{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:14px 10px 6px}
ul.tree,ul.kids{list-style:none}
.trow{display:flex;align-items:center;border-radius:10px;min-height:44px}
.trow:hover{background:var(--lav)}
li.t.cur > .trow{background:var(--hl)}
.tog{width:34px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--muted)}
.tog svg{transition:transform .15s}
li.t.open .tog svg{transform:rotate(90deg)}
.trow a{flex:1;display:flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15px;color:var(--ink);line-height:1.25;padding:4px 0}
li.t.cur > .trow a{color:var(--purple)}
.cnt{font-size:12.5px;font-weight:600;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:1px 8px;margin-right:6px;flex:none}
ul.kids{margin:2px 0 8px 22px;border-left:2px solid var(--line)}
ul.kids a{display:flex;align-items:center;min-height:40px;padding:6px 10px 6px 14px;font-size:14.5px;line-height:1.35;color:var(--text);border-radius:0 8px 8px 0;margin-left:-2px;border-left:2px solid transparent}
ul.kids a:hover{background:var(--lav);color:var(--ink)}
ul.kids a.cur{border-left-color:var(--purple);background:var(--hl);color:var(--purple);font-weight:600}
.kmore{font-size:13px;color:var(--muted);padding:6px 14px}
mark{background:#fde9a8;color:inherit;border-radius:3px;padding:0 1px}
.noresult{padding:14px 10px;font-size:14.5px;color:var(--muted)}
.noresult a{color:var(--purple);font-weight:600;text-decoration:underline}

/* main */
main.content{min-width:0;padding:30px 48px 60px}
.crumbs{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:14px;color:var(--muted);margin-bottom:16px}
.crumbs a{color:var(--purple);text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.crumbs span.sep{color:#b5adc4}
h1.pt{font:600 clamp(32px,3.6vw,46px)/1.1 var(--serif);color:var(--ink);letter-spacing:-.01em;margin-bottom:12px}
.lede{font-size:19px;line-height:1.55;color:var(--text);max-width:680px}
h2.st{font:600 26px/1.2 var(--serif);color:var(--ink);margin-bottom:6px}
.sub{color:var(--muted);font-size:16px;margin-bottom:18px}
.eyebrow{font:600 12.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:10px;display:block}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:12px;font-weight:600;font-size:15.5px}
.btn.pri{background:var(--purple);color:#fff}
.btn.pri:hover{background:#3b2063}
.btn.ghost{border:1.5px solid var(--line2);background:#fff;color:var(--ink)}
.btn.ghost:hover{border-color:var(--purple)}

/* home */
.welcome{display:grid;grid-template-columns:1fr 170px;gap:24px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:34px}
.welcome img{width:170px;display:block}
.welcome .bigsearch,.welcome .chips{grid-column:1/-1}
.bigsearch{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--line2);border-radius:14px;padding:0 8px 0 18px;height:58px;margin-top:22px;max-width:640px;box-shadow:0 4px 16px rgba(74,42,122,.07)}
.bigsearch:focus-within{border-color:var(--purple)}
.bigsearch input{flex:1;border:0;outline:0;font-size:17px;background:transparent;min-width:0;height:100%}
.bigsearch button{background:var(--purple);color:#fff;border-radius:10px;height:44px;padding:0 18px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.chips small{color:var(--muted);font-size:14px;margin-right:2px}
.chips a{border:1px solid var(--line2);background:#fff;border-radius:99px;padding:0 14px;min-height:38px;display:inline-flex;align-items:center;font-size:14.5px;font-weight:500}
.chips a:hover{border-color:var(--purple);color:var(--purple)}
.starters{list-style:none;counter-reset:n;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:40px}
.starters a{display:grid;grid-template-columns:40px 1fr;gap:4px 14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;height:100%;transition:border-color .15s,box-shadow .15s}
.starters a:hover{border-color:var(--line2);box-shadow:0 6px 18px rgba(74,42,122,.08)}
.starters a::before{counter-increment:n;content:counter(n);grid-row:span 3;width:40px;height:40px;border-radius:50%;background:var(--lav);color:var(--purple);font:600 18px var(--serif);display:flex;align-items:center;justify-content:center}
.starters b{font:600 18px/1.25 var(--serif);color:var(--ink)}
.starters span{font-size:14.5px;line-height:1.45;color:var(--text)}
.starters small{font-size:13px;color:var(--muted)}
.topicgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.tcard{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;transition:border-color .15s,box-shadow .15s;min-height:44px}
.tcard:hover{border-color:var(--line2);box-shadow:0 6px 18px rgba(74,42,122,.08)}
.tcard .ic{font-size:26px;line-height:1}
.tcard b{font:600 17px/1.25 var(--serif);color:var(--ink)}
.tcard span{font-size:14px;line-height:1.45;color:var(--text)}
.tcard small{font-size:13px;color:var(--purple);font-weight:600;margin-top:auto}
.rowhead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.rowhead .sub{margin-bottom:0}
.textlink{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-flex;min-height:44px;align-items:center}
.appband{margin-top:44px;background:var(--night);color:#fff;border-radius:20px;padding:28px 30px 0;display:grid;grid-template-columns:1fr 300px;gap:20px;overflow:hidden}
.appband h2{font:600 26px/1.2 var(--serif);margin-bottom:8px}
.appband p{opacity:.9;margin-bottom:16px;max-width:460px}
.appband ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:20px;font-size:14.5px;opacity:.95}
.appband .shots{display:flex;gap:12px;align-items:flex-end;justify-content:center}
.pframe{background:#0e0a24;border-radius:24px;padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.pframe img{display:block;width:100%;border-radius:19px}
.appband .shots .pframe{width:138px;margin-bottom:-60px}
.appband .shots .pframe:first-child{margin-bottom:-90px}

/* badges */
.badges{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-bottom:28px}
.gp{display:block;margin:-9px -6px -9px -11px}.gp img{height:66px;display:block}
.as{height:48px;background:#000;color:#fff;border-radius:9px;padding:0 14px 0 12px;display:inline-flex;align-items:center;gap:8px;border:1px solid #a6a6a6}
.as svg{width:22px;height:22px;fill:#fff}
.as span{display:flex;flex-direction:column;line-height:1.05}
.as small{font-size:10.5px}.as b{font:600 19px -apple-system,'Segoe UI',sans-serif;letter-spacing:-.01em}

/* lists */
.glist{list-style:none;border-top:1px solid var(--line)}
.glist li{border-bottom:1px solid var(--line)}
.glist a{display:grid;grid-template-columns:1fr auto;gap:2px 18px;padding:16px 8px;border-radius:10px;align-items:center}
.glist a:hover{background:#fff}
.glist b{font:600 18.5px/1.3 var(--serif);color:var(--ink)}
.glist a:hover b{color:var(--purple)}
.glist span{grid-column:1;font-size:15px;line-height:1.5;color:var(--text)}
.glist small{grid-column:1;font-size:13px;color:var(--muted);margin-top:4px}
.glist i{grid-row:1/span 3;grid-column:2;font-style:normal;color:var(--purple);font-size:20px}
.count{font-size:14.5px;color:var(--muted);margin:20px 0 6px}
.more{margin-top:20px}
.thead{display:flex;gap:18px;align-items:flex-start;padding-bottom:20px}
.thead .big{font-size:44px;line-height:1;width:72px;height:72px;border-radius:18px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none}
.topicmatches{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.topicmatches a{border:1px solid var(--line2);background:#fff;border-radius:99px;padding:0 14px;min-height:40px;display:inline-flex;align-items:center;font-size:14.5px;font-weight:600;color:var(--purple)}

/* guide */
.meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px}
.meta span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px 12px;font-size:13.5px;color:var(--muted)}
.jump{display:none;margin:18px 0 6px}
.jump label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--ink)}
.jump select{width:100%;height:48px;border:1.5px solid var(--line2);border-radius:12px;background:#fff;padding:0 12px;font-size:16px}
article.guide{max-width:740px}
.gsec{padding-top:34px;scroll-margin-top:calc(var(--hh) + 12px)}
.gsec + .gsec{border-top:1px solid var(--line);margin-top:34px}
.gsec h2{font:600 27px/1.2 var(--serif);color:var(--ink);display:flex;gap:12px;align-items:baseline}
.gsec h2 .em{font-size:24px}
.gsec h2 a.anc{margin-left:auto;font:500 15px var(--sans);color:#b9b0c9;padding:4px 8px;border-radius:6px;opacity:0;transition:opacity .15s}
.gsec:hover h2 a.anc,.gsec h2 a.anc:focus{opacity:1}
.gsec h2 a.anc:hover{color:var(--purple)}
.gsec .dek{font-size:16.5px;color:var(--muted);margin:6px 0 16px;font-style:italic}
.prose{font-size:17px;line-height:1.7}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 16px 22px}
.prose li{margin-bottom:6px;padding-left:4px}
.prose h3{font:600 17px var(--sans);color:var(--ink);margin:18px 0 8px}
.callout{background:var(--lav);border-left:4px solid var(--purple);border-radius:0 12px 12px 0;padding:14px 18px;margin:0 0 16px;font-size:16.5px}
.callout.help{background:#fbeeee;border-left-color:var(--red)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:18px}
.cards div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15px;line-height:1.5}
.cards b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0;margin:4px 0 20px;border-top:2px solid var(--ink)}
.stats div{padding:14px 16px 12px 0;font-size:14.5px;line-height:1.5;border-bottom:1px solid var(--line)}
.stats b{display:block;font:600 28px/1.15 var(--serif);color:var(--red);margin-bottom:4px}
.wsbox{margin-top:44px;background:#fff;border:1px solid var(--line2);border-radius:18px;padding:24px}
.wsbox h2{font:600 22px var(--serif);color:var(--ink)}
.wsbox p.s{color:var(--muted);font-size:15px;margin:4px 0 14px}
.ws{display:grid;grid-template-columns:36px 1fr;gap:2px 12px;padding:12px 0;border-top:1px solid var(--line)}
.ws i{font-style:normal;font-size:22px;grid-row:span 2}
.ws b{color:var(--ink);font-weight:600}
.ws span{font-size:14.5px;color:var(--text)}
.wsbox .lock{display:flex;gap:10px;align-items:center;background:var(--lav);border-radius:12px;padding:12px 14px;margin:14px 0 16px;font-size:14.5px;color:var(--ink)}
.wsbox .badges{padding-bottom:0}
.disclaimer{font-size:14px;color:var(--muted);margin-top:24px;line-height:1.55}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.pn a{display:flex;flex-direction:column;gap:2px;background:#fff;border:1.5px solid var(--line2);border-radius:14px;padding:14px 18px;min-height:72px;transition:border-color .15s}
.pn a:hover{border-color:var(--purple)}
.pn small{font-size:13px;color:var(--muted);font-weight:600}
.pn b{font:600 17px/1.3 var(--serif);color:var(--purple)}
.pn a.next{text-align:right;grid-column:2}
.pn .pos{grid-column:1/-1;text-align:center;font-size:13.5px;color:var(--muted)}

/* right rail */
aside.rail{position:sticky;top:var(--hh);max-height:calc(100vh - var(--hh));overflow-y:auto;padding:30px 22px 30px 0;display:flex;flex-direction:column;gap:16px}
.toc h2{font:600 12.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.toc ol{list-style:none;border-left:2px solid var(--line)}
.toc a{display:block;padding:7px 10px 7px 14px;margin-left:-2px;border-left:2px solid transparent;font-size:14.5px;line-height:1.35;color:var(--text);border-radius:0 8px 8px 0}
.toc a:hover{color:var(--ink);background:var(--lav)}
.toc a.on{border-left-color:var(--purple);color:var(--purple);font-weight:600;background:var(--hl)}
.toc .top{font-size:13.5px;color:var(--muted);display:inline-block;margin-top:8px;padding:6px 0;text-decoration:underline}
.appcard{background:var(--night);color:#fff;border-radius:16px;padding:18px;position:relative;overflow:hidden}
.appcard .h{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.appcard .h img{width:42px;height:42px;border-radius:10px}
.appcard .h b{font:600 16px/1.2 var(--serif)}
.appcard p{font-size:14px;opacity:.9;margin-bottom:12px;line-height:1.5}
.appcard .badges{padding-bottom:0;flex-direction:column;align-items:flex-start;gap:8px}
.appcard .as{height:44px}.appcard .gp img{height:60px}.appcard .gp{margin:-8px -6px -8px -10px}
.appcard .as b{font-size:16px}
.helpbox{background:#fff;border:1px solid #efc9c9;border-left:4px solid var(--red);border-radius:12px;padding:14px 16px;font-size:14.5px;line-height:1.5}
.helpbox b{color:var(--red)}
.helpbox a{display:inline-flex;min-height:40px;align-items:center;color:var(--red);font-weight:600;text-decoration:underline}
.tips{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14.5px;line-height:1.5}
.tips b{display:block;color:var(--ink);margin-bottom:6px}
.tips ul{margin-left:18px}
.tips li{margin-bottom:4px}

/* app + help pages */
.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:22px 0 30px}
.feat div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.feat i{font-style:normal;font-size:26px}
.feat b{display:block;font:600 17px var(--serif);color:var(--ink);margin:6px 0 2px}
.feat span{font-size:14.5px}
.shotrow{display:flex;gap:14px;overflow-x:auto;padding:6px 2px 18px}
.shotrow figure{flex:none;width:160px;text-align:center;font-size:13.5px;color:var(--muted)}
.shotrow .pframe{margin-bottom:8px}
.hbig{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:22px 0}
.hbig a,.hbig div{display:block;border-radius:16px;padding:20px;border:1px solid var(--line)}
.hbig .r{background:var(--red);color:#fff;border:0}
.hbig .n{background:var(--night);color:#fff;border:0}
.hbig .w{background:#fff}
.hbig b{display:block;font:600 22px/1.25 var(--serif);margin:6px 0 4px}
.hbig span{font-size:15px;opacity:.95}

footer{border-top:1px solid var(--line);background:#fff;font-size:14px;color:var(--muted)}
footer .in{max-width:1600px;margin:0 auto;padding:22px 24px 30px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:4px 16px}
footer nav a{text-decoration:underline;min-height:40px;display:inline-flex;align-items:center}

.scrim{display:none}

/* ===== v2: main-site header (Concept 0 look) ===== */
.hrow{gap:14px}
.logo img{height:48px}
.hnav{background:var(--navy);padding:6px 8px;border-radius:12px;gap:2px;margin-left:auto}
.hnav a{color:#fff;font:700 14px Montserrat,var(--sans);height:38px;padding:0 13px;border-radius:8px}
.hnav a:hover{background:rgba(255,255,255,.14)}
.hnav a.hl{background:#fff;color:var(--navy)}
.hnav a.on{outline:2px solid #fff;outline-offset:-2px}
.hnav a.hl.on{outline-color:var(--red)}
a.helpbtn{background:var(--red);color:#fff;font:800 15px Nunito,var(--sans);height:46px;padding:0 20px;border-radius:99px;display:inline-flex;align-items:center;white-space:nowrap}
a.helpbtn:hover{background:#8c1f25}
.hrow2{display:flex;align-items:center;gap:16px;padding:0 24px 10px;max-width:1600px;margin:0 auto;flex-wrap:wrap}
.hrow2 .hsearch{max-width:440px;border-radius:99px;height:44px}
.hrow2 .hsearch button{border-radius:99px}
.popular{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13.5px;color:var(--muted);margin-left:auto}
.popular a{background:var(--lav);color:var(--purple);font:800 13.5px Nunito,var(--sans);border-radius:99px;padding:6px 12px}
.popular a:hover{background:var(--purple);color:#fff}
.popular a.all{background:#fff;border:1.5px solid var(--line2)}
.strip{background:#2f4a32;color:#fff;text-align:center;font:800 12px Montserrat,var(--sans);letter-spacing:.05em;padding:9px 14px}
.strip a{text-decoration:underline}

/* landing page: no sidebar, full width */
body.landing .layout{display:block;max-width:none}
body.landing aside.side,body.landing aside.rail{display:none}
body.landing main.content{padding:0}
body.mob.landing aside.side{display:flex}
.l0{font-family:Nunito,var(--sans);color:#241c3a}
.l0 .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.l0 .hero{background:linear-gradient(180deg,#f7e6e3,#fbefec)}
.l0 .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;padding-top:40px;padding-bottom:40px;align-items:center}
.l0 .kicker{display:inline-block;background:var(--purple);color:#fff;font:800 12px Montserrat;letter-spacing:.14em;padding:6px 12px;border-radius:99px}
.l0 h1{font:900 clamp(34px,5vw,58px)/1 Montserrat;color:var(--red);text-transform:uppercase;margin:16px 0 14px}
.l0 h1 em{font-style:normal;color:var(--purple);display:block}
.l0 .hero p{font:600 18px/1.5 Nunito;margin-bottom:18px;max-width:540px}
.l0 .hero .badges{padding-bottom:6px}
.l0 .search{display:flex;align-items:center;background:#fff;border-radius:99px;padding:6px 6px 6px 20px;border:2px solid #e4d9f0;box-shadow:0 6px 18px rgba(74,42,122,.1);max-width:560px;margin-top:16px}
.l0 .search input{flex:1;border:0;outline:0;font:600 16px Nunito;padding:8px 0;background:transparent;min-width:0}
.l0 .search button{background:var(--purple);color:#fff;border-radius:99px;padding:10px 18px;font-weight:800}
.l0 .feel{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.l0 .feel a{background:#fff;border:1.5px solid #e4d9f0;border-radius:99px;padding:9px 14px;font-weight:800;font-size:14px;color:var(--purple)}
.l0 .feel a:hover{background:var(--purple);color:#fff}
.l0 .feel a.red{border-color:#f3cfc9;color:var(--red)}
.l0 .phones{position:relative;height:440px}
.l0 .phone{position:absolute;width:200px;border-radius:34px;background:#111;padding:9px;box-shadow:0 30px 60px rgba(20,10,50,.3)}
.l0 .phone img{width:100%;display:block;border-radius:26px}
.l0 .phones .a{left:8%;top:40px;transform:rotate(-7deg)}.l0 .phones .b{left:42%;top:0;z-index:2}
.l0 .phones .lion{position:absolute;width:130px;right:0;bottom:0;z-index:3}
.l0 .numbers{background:var(--navy);color:#fff}
.l0 .numbers .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding-top:24px;padding-bottom:24px;gap:10px}
.l0 .numbers b{display:block;font:900 clamp(24px,3vw,36px) Montserrat}.l0 .numbers span{font-size:14px;opacity:.85}
.l0 section.block{padding:44px 0}
.l0 h2.sec{font:900 clamp(24px,3vw,34px) Montserrat;color:var(--purple);margin-bottom:6px}.l0 h2.sec em{color:var(--red);font-style:normal}
.l0 .subl{color:#6b6480;margin-bottom:20px;font-size:16px}
.l0 .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.l0 .tile{border-radius:16px;padding:16px;font:800 15px Nunito;display:block;transition:transform .15s,box-shadow .15s}
.l0 .tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(74,42,122,.12)}
.l0 .tile i{font-style:normal;font-size:26px;display:block;margin-bottom:6px}.l0 .tile small{display:block;color:#6b6480;font-weight:600;font-size:12px;margin-top:2px}
.c0{background:#e8f1fb}.c1{background:#fdeee6}.c2{background:#eef7ea}.c3{background:#f3ecfb}
.l0 .pillbtn{display:inline-flex;align-items:center;gap:6px;background:var(--purple);color:#fff;border-radius:99px;padding:12px 22px;font-weight:800;margin-top:18px}
.l0 .why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.l0 .why div{background:#faf7fd;border:1px solid #ece4f5;border-radius:16px;padding:18px}
.l0 .why b{display:block;font:800 17px Nunito;margin:6px 0 4px}.l0 .why i{font-style:normal;font-size:28px}
.l0 .cta{background:var(--night);color:#fff;border-radius:24px;padding:30px 30px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.l0 .cta h3{font:900 26px Montserrat}.l0 .cta p{opacity:.9;margin:6px 0 14px}.l0 .cta img.l{width:140px;margin-bottom:20px}

/* "In the app" row */
.inapp{background:#eef4ee;padding:40px 0 46px}
.inapp .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}
.inapp h2{font:900 clamp(26px,3vw,36px) Nunito,var(--sans);color:var(--purple)}
.inapp .seeall{background:#fff;border:1.5px solid var(--line2);border-radius:99px;padding:10px 20px;font:800 16px Nunito;color:var(--purple)}
.inapp .row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,260px);gap:18px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory}
.inapp .card{scroll-snap-align:start;background:#fff;border-radius:26px;overflow:hidden;border:1px solid #e3ece3;display:block;transition:transform .15s,box-shadow .15s}
.inapp .card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(74,42,122,.12)}
.inapp .shot{height:250px;overflow:hidden;display:flex;justify-content:center;padding-top:22px}
.inapp .shot .ph{width:168px;background:#1c1631;border-radius:26px 26px 0 0;padding:7px 7px 0;height:max-content}
.inapp .shot img{display:block;width:100%;border-radius:20px 20px 0 0}
.inapp .txt{padding:16px 20px 20px}
.inapp .txt b{display:block;font:900 22px Nunito;color:var(--purple)}
.inapp .txt span{font:600 15.5px/1.4 Nunito;color:#6b6480}
.inapp .note{font-size:13.5px;color:var(--muted);margin-top:6px}
main.content .inapp{background:transparent;padding:30px 0 0}
main.content .inapp h2{font:600 26px/1.2 var(--serif);color:var(--ink)}

/* ===== v2: organised topic page ===== */
.tband{border-radius:22px;padding:26px 28px;display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center;margin-bottom:22px}
.tband .big{grid-row:span 2;font-size:46px;width:84px;height:84px;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(74,42,122,.08)}
.tband h1{font:600 clamp(30px,3.4vw,42px)/1.1 var(--serif);color:var(--ink)}
.tband p{font-size:17px;color:var(--text);max-width:640px}
.tband .facts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tband .facts span{background:rgba(255,255,255,.75);border-radius:99px;padding:5px 12px;font-size:13.5px;font-weight:600;color:var(--ink)}
.tfind{grid-column:1/-1;display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:0 14px;height:52px;margin-top:10px;border:1.5px solid rgba(74,42,122,.15);max-width:560px}
.tfind input{flex:1;border:0;outline:0;font-size:16px;background:transparent;min-width:0}
.tsec{font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 0 10px}
.startrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:26px}
.startrow a{background:#fff;border:1.5px solid var(--line2);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s}
.startrow a:hover{border-color:var(--purple);box-shadow:0 8px 20px rgba(74,42,122,.1)}
.startrow em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.startrow b{font:600 18px/1.25 var(--serif);color:var(--ink)}
.startrow span{font-size:14.5px;line-height:1.45;color:var(--text)}
.startrow small{font-size:13px;color:var(--muted);margin-top:auto;padding-top:4px}
.fjump{position:sticky;top:var(--hh);z-index:5;background:var(--paper);padding:10px 0;margin-bottom:8px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}
.fjump a{flex:none;background:#fff;border:1.5px solid var(--line2);border-radius:99px;padding:0 14px;min-height:40px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}
.fjump a:hover{border-color:var(--purple);color:var(--purple)}
.fjump a small{color:var(--muted);font-weight:600}
.fgroups{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;align-items:start}
.fgroup{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;scroll-margin-top:calc(var(--hh) + 70px)}
.fgroup header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.fgroup header .fi{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.fgroup header b{font:600 19px/1.2 var(--serif);color:var(--ink);flex:1}
.fgroup header small{font-size:13px;color:var(--muted);font-weight:600}
.fgroup ul{list-style:none}
.fgroup li a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 18px;border-bottom:1px solid #f2eef6;align-items:center}
.fgroup li:last-child a{border-bottom:0}
.fgroup li a:hover{background:var(--lav)}
.fgroup li b{font-weight:600;font-size:15.5px;line-height:1.35;color:var(--ink)}
.fgroup li a:hover b{color:var(--purple)}
.fgroup li span{grid-column:1;font-size:13.5px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.fgroup li i{grid-row:1/span 2;grid-column:2;font-style:normal;font-size:12.5px;color:var(--muted);white-space:nowrap}
.fgroup li.first b::before{content:'★ ';color:#e0a100}
.fgroup li.extra{display:none}
.fgroup.open li.extra{display:block}
.fgroup .moreb{width:100%;min-height:46px;font-weight:700;font-size:14.5px;color:var(--purple);border-top:1px solid var(--line);background:#fcfbfe}
.fgroup .moreb:hover{background:var(--lav)}
.fgroup.hide{display:none}
.tempty{display:none;padding:20px;background:#fff;border:1px dashed var(--line2);border-radius:14px;color:var(--muted)}
ul.kids li.fl{font:600 11.5px var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 14px 4px}

/* mobile tweaks for v2 */
body.mob .hnav,body.mob a.helpbtn,body.mob .popular{display:none}
body.mob .hrow2{padding:0 12px 10px}
body.mob .hrow2 .hsearch{max-width:none;flex:1 1 100%}
body.mob .logo img{height:40px}
body.mob .strip{font-size:11px}
body.mob .l0 .hero .wrap{grid-template-columns:1fr}
body.mob .l0 .phones{height:360px}
body.mob .l0 .phone{width:160px}
body.mob .l0 h1{font-size:34px}
body.mob .l0 .numbers .wrap{grid-template-columns:1fr 1fr}
body.mob .l0 .tiles{grid-template-columns:1fr 1fr}
body.mob .l0 .wrap{padding:0 16px}
body.mob .tband{grid-template-columns:1fr;padding:20px}
body.mob .tband .big{grid-row:auto;width:60px;height:60px;font-size:32px}
body.mob .fgroups{grid-template-columns:1fr}
body.mob .inapp .row{grid-auto-columns:220px}


/* ===== v2b: topic page layouts ===== */
.stylebar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fff3c4;border:1px solid #ecd98a;border-radius:14px;padding:8px 10px;margin-bottom:16px;font-size:13.5px;color:#5e4800}
.stylebar span{font-weight:700;margin-right:4px}
.stylebar button{border:1.5px solid #d8c06a;background:#fff;border-radius:99px;padding:0 14px;min-height:36px;font-weight:700;font-size:13.5px;color:#5e4800}
.stylebar button.on{background:#5e4800;color:#fff;border-color:#5e4800}
.tband2{border-radius:22px;padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:12px 18px;align-items:center;margin-bottom:24px}
.tband2 .big{font-size:38px;width:70px;height:70px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(74,42,122,.08)}
.tband2 h1{font:600 clamp(28px,3.2vw,38px)/1.1 var(--serif);color:var(--ink)}
.tband2 p{font-size:16.5px;color:var(--text);margin-top:4px}
.tband2 p b{font-weight:600;color:var(--ink)}
.tband2 .tfind{grid-column:1/-1;margin-top:0;max-width:none}
.ftiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ftile{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s,transform .15s;min-height:170px}
.ftile:hover{border-color:var(--purple);box-shadow:0 10px 24px rgba(74,42,122,.1);transform:translateY(-2px)}
.fe{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;flex:none}
.ftile .fe{margin-bottom:8px}
.ftile b{font:600 20px/1.2 var(--serif);color:var(--ink)}
.ftile small{font-size:13.5px;font-weight:600;color:var(--purple)}
.ftile .pv{font-size:13.5px;color:var(--muted);line-height:1.4;margin-top:auto;padding-top:6px}
ol.flist{list-style:none;display:flex;flex-direction:column;gap:10px}
.trow2{display:grid;grid-template-columns:1fr auto 20px;gap:14px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px 18px;transition:border-color .15s,box-shadow .15s}
.trow2:hover{border-color:var(--purple);box-shadow:0 6px 18px rgba(74,42,122,.08)}
.trow2 .tt{display:flex;flex-direction:column;gap:2px;min-width:0}
.trow2 b{font-weight:600;font-size:16.5px;color:var(--ink);line-height:1.3}
.trow2 .tt span{font-size:14.5px;color:var(--text);line-height:1.45}
.trow2.big b{font:600 19px/1.25 var(--serif)}
.trow2 .mm{font-size:12.5px;color:var(--muted);text-align:right;line-height:1.6;white-space:nowrap}
.trow2 i{font-style:normal;font-size:24px;color:var(--purple)}
ol.flist > li:first-child .trow2{border-color:#e7cf7a;background:#fffbea}
ol.flist > li:first-child .trow2 .tt::before{content:'★ Start here';font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a07400}
.vtabs{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.vlist{display:flex;flex-direction:column;gap:4px;position:sticky;top:calc(var(--hh) + 10px);max-height:calc(100vh - var(--hh) - 20px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px}
.vlist button{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;min-height:46px;padding:6px 10px;border-radius:10px;font-size:15px}
.vlist button:hover{background:var(--lav)}
.vlist button.on{background:var(--purple);color:#fff}
.vlist button b{font-weight:600}.vlist button small{font-size:12.5px;opacity:.75}
.vpanel h2,.chippanel h2{font:600 26px/1.2 var(--serif);color:var(--ink)}
.vs{color:var(--muted);font-size:14.5px;margin:4px 0 14px}
.accs{display:flex;flex-direction:column;gap:10px}
details.acc{background:#fff;border:1.5px solid var(--line);border-radius:18px;overflow:hidden}
details.acc[open]{border-color:var(--line2);box-shadow:0 8px 22px rgba(74,42,122,.08)}
details.acc summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto 20px;gap:14px;align-items:center;padding:14px 18px;cursor:pointer;min-height:72px}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::after{content:'▾';color:var(--purple);font-size:18px}
details.acc[open] summary::after{content:'▴'}
details.acc .an{display:flex;flex-direction:column;min-width:0}
details.acc .an b{font:600 19px/1.25 var(--serif);color:var(--ink)}
details.acc .an small{font-size:13.5px;color:var(--muted)}
details.acc .ac{font-size:13px;font-weight:600;color:var(--purple);background:var(--lav);border-radius:99px;padding:4px 10px}
details.acc ol.flist{padding:4px 18px 18px}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.fchips button{border:1.5px solid var(--line2);background:#fff;border-radius:99px;padding:0 16px;min-height:44px;font-weight:600;font-size:15px;color:var(--ink)}
.fchips button:hover{border-color:var(--purple)}
.fchips button.on{background:var(--purple);border-color:var(--purple);color:#fff}
.fchips small{opacity:.7;margin-left:4px}
.chippanel{background:var(--lav);border-radius:20px;padding:20px}
.chippanel h2{margin-bottom:14px}
body.mob .fchips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 18px;padding:0 16px 6px}
body.mob .fchips button{flex:none}
body.mob .vtabs{grid-template-columns:1fr}
body.mob .vlist{position:static;flex-direction:row;overflow-x:auto;max-height:none}
body.mob .vlist button{flex:none;grid-template-columns:auto auto auto}
body.mob .tband2{padding:18px}
body.mob .tband2 .big{width:54px;height:54px;font-size:28px}
body.mob .ftiles{grid-template-columns:1fr 1fr;gap:10px}
body.mob .ftile{padding:14px;min-height:150px}
body.mob .ftile .pv{display:none}
body.mob .trow2{grid-template-columns:1fr 18px;padding:12px 14px}
body.mob .trow2 .mm{display:none}
body.mob details.acc summary{grid-template-columns:auto 1fr 18px}
body.mob details.acc .ac{display:none}


/* ===== v3b: cleaner library ===== */
.layout.norail{grid-template-columns:290px minmax(0,1fr)}
.layout.norail main.content{max-width:1120px}
.lhero{text-align:center;max-width:780px;margin:6px auto 40px}
.lhero .eyebrow{margin-bottom:8px}
.lhero .lede{margin:0 auto}
.lhero .bigsearch{margin:22px auto 0;max-width:620px}
.lhero .chips{justify-content:center}
h2.lh{font:600 24px/1.2 var(--serif);color:var(--ink);margin:0 0 14px}
.ltopics{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:44px}
.ltile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s}
.ltile:hover{border-color:var(--purple);box-shadow:0 8px 20px rgba(74,42,122,.1);transform:translateY(-2px)}
.ltile .ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px}
.ltile b{font:600 16.5px/1.25 var(--serif);color:var(--ink)}
.ltile small{font-size:13px;font-weight:600;color:var(--purple);margin-top:auto}
.lstart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:40px}
.lstart a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:18px;transition:border-color .15s,box-shadow .15s}
.lstart a:hover{border-color:var(--purple);box-shadow:0 8px 20px rgba(74,42,122,.1)}
.lstart small{font-size:12.5px;color:var(--muted);font-weight:600}
.lstart b{font:600 18px/1.25 var(--serif);color:var(--ink)}
.lstart span{font-size:14.5px;line-height:1.45;color:var(--text)}
.lstart em{font-style:normal;font-size:13.5px;font-weight:600;color:var(--purple);margin-top:auto;padding-top:6px}
.appstrip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--night);color:#fff;border-radius:18px;padding:14px 20px;margin-top:10px}
.appstrip img{width:48px;height:48px;border-radius:12px}
.appstrip .t{flex:1;min-width:200px;display:flex;flex-direction:column}
.appstrip .t b{font:600 18px/1.2 var(--serif)}
.appstrip .t span{font-size:14px;opacity:.85}
.appstrip .badges{padding-bottom:0}
.appstrip .as{height:44px}.appstrip .gp img{height:60px}
body.mob .lhero{text-align:left;margin-bottom:30px}
body.mob .lhero .chips{justify-content:flex-start}
body.mob .ltopics{grid-template-columns:1fr 1fr;gap:10px}
body.mob .lstart{grid-template-columns:1fr}

body.noside:not(.mob) aside.side{display:none}
body.noside:not(.mob) .layout{display:block;max-width:1180px}
body.noside:not(.mob) .layout main.content{max-width:none}
/* mid widths: rail drops below content, TOC becomes jump menu */
@media (max-width:1219px){
  body:not(.mob) .layout{grid-template-columns:270px minmax(0,1fr)}
  body:not(.mob) aside.rail{position:static;max-height:none;grid-column:2;padding:0 48px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  body:not(.mob) .toc{display:none}
  body:not(.mob) .jump{display:block}
  .hsearch{max-width:340px}
}

/* mobile (narrow window OR phone view) */
body.mob .hrow{padding:8px 12px;gap:8px;flex-wrap:wrap}
body.mob .logo{order:2;margin:0 auto}
body.mob .logo img{height:38px}
body.mob .topicsbtn{order:1;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:10px;background:var(--lav);color:var(--purple);font-weight:700;font-size:15px}
body.mob .mobhelp{order:3;display:inline-flex;align-items:center;height:44px;padding:0 12px;border-radius:10px;background:var(--red);color:#fff;font-weight:700;font-size:14.5px}
body.mob .hnav{display:none}
body.mob .hsearch{order:4;flex:1 1 100%;max-width:none;height:44px}
body.mob .layout{display:block}
body.mob aside.side{position:fixed;top:0;left:0;bottom:0;height:auto;width:min(86%,340px);z-index:60;transform:translateX(-102%);transition:transform .22s ease;box-shadow:0 0 40px rgba(20,10,50,.25)}
body.mob.drawer aside.side{transform:none}
body.mob .side-close{display:inline-flex;align-items:center;justify-content:center}
body.mob .scrim{display:block;position:fixed;inset:0;background:rgba(25,18,50,.45);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}
body.mob.drawer .scrim{opacity:1;pointer-events:auto}
body.mob ul.kids a{min-height:44px}
body.mob main.content{padding:20px 16px 36px}
body.mob h1.pt{font-size:31px}
body.mob .lede{font-size:17.5px}
body.mob .welcome{grid-template-columns:1fr 96px;gap:10px;padding-bottom:22px;margin-bottom:26px}
body.mob .welcome img{width:96px}
body.mob .welcome .bigsearch,body.mob .welcome .chips{grid-column:1/-1}
body.mob .bigsearch{height:54px;padding-left:12px}
body.mob .bigsearch button{padding:0 14px}
body.mob .starters{grid-template-columns:1fr}
body.mob .topicgrid{grid-template-columns:1fr 1fr;gap:10px}
body.mob .tcard{padding:14px}
body.mob .tcard span{display:none}
body.mob .appband{grid-template-columns:1fr;padding:22px 20px 0}
body.mob .appband ul{grid-template-columns:1fr}
body.mob .appband .shots .pframe{width:120px}
body.mob aside.rail{position:static;max-height:none;padding:0 16px 30px;display:flex}
body.mob .toc{display:none}
body.mob .jump{display:block}
body.mob .gsec h2{font-size:24px}
body.mob .gsec h2 a.anc{opacity:1}
body.mob .prose{font-size:16.5px}
body.mob .pn{grid-template-columns:1fr}
body.mob .pn a.next{grid-column:1}
body.mob .thead .big{width:56px;height:56px;font-size:32px}
body.mob .glist a{padding:14px 4px}
body.mob .wsbox{padding:18px}
body.mob .hbig{grid-template-columns:1fr}
body.mob .shotrow figure{width:130px}

/* ===== live site: additions on top of the approved prototype styles ===== */
.proto{display:none}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:10px}
/* match the Wix site: Poppins in the header, menu and footer */
.hnav a,a.helpbtn,.strip,.mfoot{font-family:Poppins,var(--sans)}
.hnav{background:#383965}
.strip{background:#0D4F2B}
/* topic page: one group at a time once the script runs */
.js .chippanel{display:none}
.js .chippanel.on{display:block}
.chippanel + .chippanel{margin-top:16px}
.js .chippanel + .chippanel{margin-top:0}
/* cards with "read more" */
.cards details.more{margin-top:8px;font-size:14.5px}
.cards details.more summary{cursor:pointer;color:var(--purple);font-weight:600}
.cards details.more p,.cards details.more ul,.cards details.more ol{margin-top:6px}
.cards details.more ul,.cards details.more ol{margin-left:18px}
/* sources */
.refs{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.refs h2{font:600 22px var(--serif);color:var(--ink);margin-bottom:10px}
.refs ol{margin-left:22px;font-size:14px;line-height:1.55;color:var(--text)}
.refs li{margin-bottom:6px;word-break:break-word}
.refs a{color:var(--purple);text-decoration:underline}
article.guide .appstrip{margin-top:30px}
/* sidebar tree without expand buttons */
.trow .tog{width:14px}
li.t.hide{display:none}
/* search results */
#sResults mark{background:#fde9a8;border-radius:3px;padding:0 1px}
/* footer like the Wix site */
footer.mfoot{background:#242323;color:#d9d6d6;border-top:0}
footer.mfoot .in{max-width:1180px;margin:0 auto;padding:30px 24px 40px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
footer.mfoot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px}
footer.mfoot nav a{color:#fff;font-weight:600;font-size:14px;letter-spacing:.04em;min-height:36px;display:inline-flex;align-items:center}
footer.mfoot .small{font-size:13px;max-width:760px;opacity:.85}
footer.mfoot .small a{color:#fff;text-decoration:underline}
/* phones */
@media (max-width:899px){
  .hnav,a.helpbtn,.popular{display:none}
  .hrow{padding:8px 12px;gap:8px}
  .logo{order:2;margin:0 auto}
  .logo img{height:40px}
  .topicsbtn{order:1;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:10px;background:var(--lav);color:var(--purple);font-weight:700;font-size:15px}
  .mobhelp{order:3;display:inline-flex;align-items:center;height:44px;padding:0 12px;border-radius:10px;background:var(--red);color:#fff;font-weight:700;font-size:14.5px}
  body.noside .topicsbtn{visibility:hidden}
  .hrow2{padding:0 12px 10px}
  .hrow2 .hsearch{max-width:none;flex:1 1 100%}
  .strip{font-size:11px}
  .layout,.layout.norail{display:block}
  aside.side{position:fixed;top:0;left:0;bottom:0;height:auto;width:min(86%,340px);z-index:60;transform:translateX(-102%);transition:transform .22s ease;box-shadow:0 0 40px rgba(20,10,50,.25)}
  body.drawer aside.side{transform:none}
  .side-close{display:inline-flex;align-items:center;justify-content:center}
  .scrim{display:block;position:fixed;inset:0;background:rgba(25,18,50,.45);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}
  body.drawer .scrim{opacity:1;pointer-events:auto}
  main.content{padding:20px 16px 36px}
  h1.pt{font-size:31px}
  .lede{font-size:17.5px}
  aside.rail{display:none}
  .jump{display:block}
  .lhero{text-align:left}
  .lhero .chips{justify-content:flex-start}
  .ltopics{grid-template-columns:1fr 1fr;gap:10px}
  .lstart{grid-template-columns:1fr}
  .topicgrid{grid-template-columns:1fr 1fr;gap:10px}
  .tcard span{display:none}
  .tband2{padding:18px;grid-template-columns:auto 1fr}
  .tband2 .big{width:54px;height:54px;font-size:28px}
  .fchips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 18px;padding:0 16px 6px}
  .fchips button{flex:none}
  .trow2{grid-template-columns:1fr 18px;padding:12px 14px}
  .trow2 .mm{display:none}
  .gsec h2{font-size:24px}
  .prose{font-size:16.5px}
  .pn{grid-template-columns:1fr}
  .pn a.next{grid-column:1}
  .wsbox{padding:18px}
  .hbig{grid-template-columns:1fr}
  .shotrow figure{width:130px}
}
@media (min-width:900px) and (max-width:1219px){
  .layout{grid-template-columns:270px minmax(0,1fr)}
  aside.rail{display:none}
  .jump{display:block}
}
/* ===== top bar: same "Lavender Tabs" look as the main Wix site (lavender bar, purple menu, red Donate, green strip) ===== */
:root{--hh:0px}
header.top{position:static;background:none;border-bottom:0}
.hbar{background:#F6F1FB}
/* same measurements as the Wix header: 980px wide, 104px tall, logo 203x93, menu 560px from x260, Donate 120x40 at the right */
.hrow{max-width:1020px;height:104px;padding:0 20px;gap:0}
.logo{flex:none;margin-right:57px}
.logo img{width:203px;height:93px}
.hnav{background:none;padding:0;border-radius:0;gap:0;margin:0;width:460px;flex:none}
.hnav a{flex:1 1 auto;justify-content:center;color:#3F1078;font:700 14px Poppins,var(--sans);height:66px;padding:0 10px;border-radius:10px;outline:0}
a.donatebtn{margin-left:15px}
/* "The App": same red button as Donate, next to it, like on the Wix site */
a.appbtn{width:100px;margin-left:15px}
.hnav a:hover{background:#EFE8F7}
.hnav a.on{background:#E2D5F5;outline:0}
/* red button exactly like the Wix Donate button: red fill, soft dark top, soft light bottom, 2px red border, 5px corners, shadow */
a.donatebtn,a.appbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;height:40px;color:#fff;font:700 13px Poppins,var(--sans);border:2px solid #BF0000;border-radius:5px;box-shadow:0 1px 4px rgba(0,0,0,.6);background:linear-gradient(rgba(0,0,0,.16),rgba(0,0,0,0) 30px),linear-gradient(to top,rgba(255,255,255,.18),rgba(255,255,255,0) 35px),#BF0000}
a.donatebtn{width:120px}
a.donatebtn:hover,a.appbtn:hover,a.appbtn.on{background:#9A0000;border-color:#9A0000;color:#fff}
.strip{background:#0D4F2B;color:#F8F8F5;font:700 13px Poppins,var(--sans);letter-spacing:.03em;padding:14px}
.hsub{background:#fff;border-bottom:1px solid var(--line)}
.hrow2{padding:12px 24px}
a.ghome{font:700 15px Poppins,var(--sans);color:#fff;white-space:nowrap;padding:0 20px;height:46px;display:inline-flex;align-items:center;gap:8px;border-radius:99px;background:#3F1078;box-shadow:0 3px 10px rgba(63,16,120,.28)}
a.ghome::before{content:'🏠';font-size:17px}
a.ghome:hover{background:#2E0B5A}
a.ghome.on{background:#3F1078;outline:3px solid #E2D5F5}
.popular{margin-left:0}
.hrow2 a.helpbtn{margin-left:auto;height:44px;padding:0 16px;font:700 14px Poppins,var(--sans);background:#fff;color:var(--red);border:1.5px solid #efc9c9}
.hrow2 a.helpbtn:hover{background:#fbeeee}
@media (max-width:1250px){.popular{display:none}}
@media (min-width:900px) and (max-width:1019px){
  .logo{margin-right:16px}
  .hnav{width:auto;flex:1 1 auto}
  a.donatebtn{margin-left:16px}
}
@media (max-width:899px){
  .hrow{height:auto;padding:8px 12px;gap:8px}
  .logo{margin:0 auto}
  .logo img{width:auto;height:42px}
  .topicsbtn{white-space:nowrap;padding:0 10px;font-size:14px;flex:none}
  a.appbtn{order:3;width:auto;height:36px;padding:0 10px;margin-left:0;font-size:12.5px}
  a.donatebtn{order:4;width:auto;height:36px;padding:0 12px;margin-left:0;font-size:12.5px}
  .strip{padding:9px 10px;font-size:10.5px;letter-spacing:0}
  .hrow2{padding:10px 12px;gap:8px;flex-wrap:nowrap}
  a.ghome{display:none}
  .hrow2 .hsearch{flex:1 1 0;min-width:0}
  .hrow2 a.helpbtn{display:inline-flex;margin-left:0;padding:0 12px;font-size:13.5px}
}

/* "Start here" only on topic pages, not in search or help lists */
ol.flist > li:first-child .trow2{border-color:var(--line);background:#fff}
ol.flist > li:first-child .trow2 .tt::before{content:none}
.chippanel ol.flist > li:first-child .trow2{border-color:#e7cf7a;background:#fffbea}
.chippanel ol.flist > li:first-child .trow2 .tt::before{content:'★ Start here'}
