:root{--void:#05080f;--abyss:#080d18;--panel:#0b1222;--panel2:#0e1628;--ink:#060a12;--line:#1d2a44;--line-bright:#2c3e60;--star:#f2b84b;--star-deep:#d99a2b;--star-faint:rgba(242,184,75,.14);--ivory:#ece7d8;--txt:#d3d9e6;--mut:#8e9ab4;--dim:#5f6b86;--signal:#8fd0ff;--good:#7fe0a8;--warn:#f5b453;--bad:#ff7a6e;--serif:"Fraunces",Georgia,"Times New Roman",serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--void);color:var(--txt);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 22%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1px 1px at 68% 8%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 84% 34%,rgba(242,184,75,.5) 50%,transparent 51%),radial-gradient(1px 1px at 34% 66%,rgba(255,255,255,.35) 50%,transparent 51%),radial-gradient(1px 1px at 52% 48%,rgba(255,255,255,.28) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 6% 78%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1px 1px at 92% 62%,rgba(143,208,255,.45) 50%,transparent 51%),radial-gradient(1px 1px at 44% 12%,rgba(255,255,255,.32) 50%,transparent 51%),radial-gradient(1px 1px at 76% 88%,rgba(255,255,255,.3) 50%,transparent 51%),radial-gradient(1px 1px at 24% 92%,rgba(242,184,75,.4) 50%,transparent 51%)}a{color:var(--signal);text-decoration:none}a:hover{color:#b8e2ff;text-decoration:underline}h1,h2,h3{font-family:var(--serif);color:var(--ivory);font-weight:600;letter-spacing:.01em;line-height:1.18}h1{font-size:2.35rem;margin:0 0 .6rem}h2{font-size:1.55rem;margin:2.4rem 0 .8rem}h3{font-size:1.15rem;margin:0 0 .5rem}p{margin:.6rem 0}.wrap{max-width:1060px;margin:0 auto;padding:30px 20px 70px}.nav{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 24px;background:var(--abyss);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px;color:var(--ivory);text-decoration:none}.brand:hover{text-decoration:none;color:var(--star)}.brand svg{flex:none}.brand .word{font-family:var(--serif);font-weight:700;font-size:1.25rem;letter-spacing:.02em}.brand .tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.28em;color:var(--star);border:1px solid var(--line-bright);border-radius:3px;padding:2px 7px;margin-left:2px}.nav nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav nav a,.nav nav .linkbtn{margin-left:14px;color:var(--mut);font-size:.92rem}.nav nav a:hover{color:var(--ivory);text-decoration:none}.linkbtn{background:none;border:none;cursor:pointer;font:inherit;padding:0;color:var(--mut)}.linkbtn:hover{color:var(--ivory)}.btn{display:inline-block;background:var(--star);color:#241a05;font-weight:700;border:1px solid var(--star);border-radius:999px;padding:12px 28px;cursor:pointer;font-size:1rem;font-family:var(--sans);text-decoration:none;line-height:1.2}.btn:hover{background:#ffc763;border-color:#ffc763;color:#241a05;text-decoration:none}.btn.small{padding:9px 18px;font-size:.9rem}.btn.ghost{background:transparent;color:var(--star);border:1px solid var(--star-deep)}.btn.ghost:hover{background:var(--star-faint);color:#ffd98f;text-decoration:none}.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--star);margin:0 0 .8rem;display:flex;align-items:center;gap:.7em}.kicker::after{content:"";height:1px;flex:1;max-width:220px;background:var(--line-bright)}.lead{font-size:1.18rem;color:var(--mut);max-width:62ch}.mut{color:var(--mut)}.small{font-size:.85rem}.dim{color:var(--dim)}.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px;margin:0}.card::before,.card::after{content:"+";position:absolute;font-family:var(--mono);font-size:.8rem;color:var(--star-deep);opacity:.55;line-height:1;pointer-events:none}.card::before{top:6px;left:9px}.card::after{bottom:6px;right:9px}.card h3{margin-top:0}.badge{display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;border-radius:4px;padding:3px 10px;white-space:nowrap;border:1px solid;background:var(--ink)}.badge::before{content:"★ ";font-size:.8em}.CRITICAL{color:#ffb3ab;border-color:#7a3530;background:rgba(255,122,110,.07)}.CRITICAL::before{content:"★ O "}.HIGH{color:#ffd9a3;border-color:#7a5a26;background:rgba(245,180,83,.07)}.HIGH::before{content:"★ B "}.MEDIUM{color:#f3e6b8;border-color:#6e6530;background:rgba(243,230,184,.06)}.MEDIUM::before{content:"★ A "}.LOW{color:#a9ecc9;border-color:#2c6b4e;background:rgba(127,224,168,.07)}.LOW::before{content:"★ F "}.badge.free{color:var(--good);border-color:#2c6b4e}.badge.free::before{content:"✦ "}.badge.pro{color:var(--star);border-color:var(--star-deep)}.badge.pro::before{content:"✦ "}table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.95rem}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);font-weight:500;border-bottom:1px solid var(--line-bright)}td.num,th.num{font-family:var(--mono);font-variant-numeric:tabular-nums}tbody tr:hover{background:rgba(143,208,255,.03)}textarea.code,textarea{width:100%;min-height:200px;background:var(--ink);color:#d7e3f4;border:1px solid var(--line);border-radius:6px;font:13px/1.55 var(--mono);padding:12px}select,input[type=text],input[type=email],input[type=password],input[type=url]{background:var(--ink);color:var(--txt);border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:15px;width:100%}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--star-deep);box-shadow:0 0 0 2px rgba(242,184,75,.15)}label{display:block;margin:12px 0 4px;font-weight:600;font-size:.95rem}.form{max-width:460px;margin:44px auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;position:relative}.form::before{content:"+";position:absolute;top:6px;left:9px;font-family:var(--mono);color:var(--star-deep);opacity:.55}.err{background:#2b1414;border:1px solid var(--bad);color:#ffd9d9;border-radius:6px;padding:10px 14px;margin-bottom:12px}.notice{background:rgba(143,208,255,.06);border:1px solid #2c4a68;border-radius:6px;padding:12px 16px;margin:16px 0;color:#cfe8ff}.kbd{font-family:var(--mono);background:var(--ink);border:1px solid var(--line);border-radius:4px;padding:1px 7px;font-size:.82rem;color:var(--txt)}.code,.code{font-family:var(--mono)}pre.fix,pre.code{white-space:pre-wrap;background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:14px;font-size:.82rem;color:#cfe0f5;font-family:var(--mono);overflow-x:auto}details{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 14px;margin-top:10px}summary{cursor:pointer;font-weight:600;color:var(--ivory)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:18px 0}.toolbar label{margin:0;font-size:.85rem;color:var(--mut)}.toolbar select{width:auto;min-width:150px}.rowlist{list-style:none;padding:0;margin:0}.rowlist li{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin-bottom:10px}.demo-out{margin-top:18px}.masthead{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:56px 0 20px}.masthead h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:600;margin:.4rem 0 1rem;max-width:14ch}.masthead h1 em{font-style:italic;color:var(--star)}.masthead .lead{font-size:1.12rem;max-width:52ch}.masthead .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 14px;align-items:center}.fineprint{font-size:.85rem;color:var(--dim)}.scope{position:relative;background:var(--abyss);border:1px solid var(--line-bright);border-radius:10px;padding:22px;overflow:hidden}.scope::before{content:"+";position:absolute;top:8px;left:12px;font-family:var(--mono);color:var(--star-deep);opacity:.6}.scope .scope-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.24em;color:var(--star);text-transform:uppercase;margin-bottom:6px}.constellation{width:100%;height:auto;display:block;margin:4px 0 10px}.signal-board{font-family:var(--mono);font-size:.8rem}.signal-board .srow{display:flex;justify-content:space-between;gap:10px;padding:9px 2px;border-top:1px dashed var(--line-bright)}.signal-board .srow:first-of-type{border-top:none}.signal-board .sid{color:var(--txt)}.signal-board .sstat{color:var(--mut)}.log{margin:34px 0 8px;border-top:1px solid var(--line)}.log-entry{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:22px 4px;border-bottom:1px solid var(--line);align-items:start}.log-no{font-family:var(--mono);font-size:.78rem;color:var(--star-deep);letter-spacing:.14em;padding-top:4px}.log-entry h3{margin:0 0 6px;font-size:1.25rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.log-entry p{margin:0;color:var(--mut);max-width:70ch}.log-entry .tierline{margin-top:10px;font-family:var(--mono);font-size:.78rem;color:var(--dim)}.rail{position:relative;margin:26px 0 8px;padding-left:34px}.rail::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:1px;background:var(--line-bright)}.epoch{position:relative;padding:0 0 26px}.epoch::before{content:"";position:absolute;left:-31px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--void);border:2px solid var(--star)}.epoch .t{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;color:var(--star);text-transform:uppercase}.epoch h3{margin:.3rem 0 .4rem}.epoch p{margin:0;color:var(--mut);max-width:66ch}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0;align-items:stretch}.plan{display:flex;flex-direction:column}.plan .plan-name{font-family:var(--mono);font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:var(--star)}.plan .price{font-family:var(--serif);font-size:2.2rem;color:var(--ivory);margin:.5rem 0 .2rem}.plan .price span{font-family:var(--sans);font-size:.95rem;color:var(--mut)}.plan ul{list-style:none;padding:0;margin:14px 0 20px;flex:1}.plan li{padding:7px 0;border-top:1px dashed var(--line);font-size:.93rem;color:var(--txt)}.plan li:first-child{border-top:none}.plan li .x{color:var(--dim)}.plan .btn{align-self:flex-start}.plan.featured{border-color:var(--star-deep);background:var(--panel2)}.plan.featured .plan-name{color:var(--star)}.gap-sell{margin:34px 0}.gap-sell .log-entry{grid-template-columns:1fr}.foot{background:var(--abyss);border-top:1px solid var(--line);color:var(--dim);font-size:.82rem;padding:30px 22px;line-height:2}.foot .foot-inner{max-width:1060px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:baseline}.foot a{color:var(--mut)}.foot a:hover{color:var(--star)}.foot .coords{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;color:var(--dim)}.about{max-width:72ch;margin:20px 0;padding:12px 16px;border-left:2px solid var(--star-deep);background:var(--star-faint);border-radius:0 6px 6px 0}.faq{margin:26px 0;max-width:78ch}.faq details{border:none;border-top:1px solid var(--line);border-radius:0;padding:12px 2px;background:transparent}.faq summary{font-family:var(--serif);font-weight:500;font-size:1.02rem}.faq p{color:var(--mut)}.gaugewrap{display:flex;align-items:center;gap:22px;margin:10px 0 20px}.score{font-family:var(--serif);font-size:3.2rem;font-weight:700;color:var(--ivory)}.grade{font-size:1.1rem;color:var(--mut)}img,video,iframe,svg{max-width:100%;height:auto}@media(max-width:960px){.masthead{grid-template-columns:1fr;gap:28px;padding-top:36px}.plans{grid-template-columns:1fr}.log-entry{grid-template-columns:1fr;gap:6px}.nav{flex-wrap:wrap;row-gap:8px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:640px){body{font-size:16px;line-height:1.6}h1{font-size:1.9rem}h2{font-size:1.35rem}.wrap{padding:22px 16px 56px}.masthead{padding-top:28px}.masthead .cta-row .btn{width:100%;text-align:center}.nav{padding:10px 14px}.nav nav a,.nav nav .linkbtn{margin-left:10px}.brand .tag{display:none}.btn,.linkbtn,button{min-height:44px}input,select,textarea{font-size:16px;max-width:100%}.toolbar{flex-direction:column;align-items:stretch}.toolbar select{width:100%}.foot .foot-inner{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* ---- AdSense placeholder slots: zero footprint until AdSense code is pasted in ---- */
.ad-slot{max-width:100%;overflow:hidden}
.ad-slot:empty{display:none}
.ad-slot-header{margin:0 auto}
.ad-slot-footer{margin:0 auto}
/* ---- Legal / guides articles: comfortable long-form reading ---- */
.legal{max-width:76ch}
.legal h2{border-top:1px solid var(--line);padding-top:1.2rem}
.legal h2:first-of-type{border-top:none;padding-top:0}
.legal ul{margin:.6rem 0;padding-left:1.4rem}
.legal li{margin:.4rem 0}
.legal .steps{display:grid;gap:18px;margin-top:20px}
#pro-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:#05080f;border-top:2px solid var(--star);padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;box-shadow:0 -12px 40px rgba(0,0,0,.5)}#pro-bar[hidden]{display:none}#pro-bar p{margin:0;font-size:.88rem;color:var(--mut)}#pro-bar p strong{color:var(--star)}#pro-bar .pro-bar-cta{display:flex;align-items:center;gap:12px;margin:0}@media(max-width:640px){#pro-bar p{font-size:.8rem}}
.plan .seemore{font-size:.82rem;margin:0 0 10px}.plan .seemore a{color:var(--star)}.plan .pricediff{font-size:.85rem;color:var(--mut);margin:-2px 0 8px}.plan .pricediff strong{color:var(--star)}
.share-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:28px 0 8px;padding-top:18px;border-top:1px solid var(--line)}.share-row a{font-size:.9rem}
.benefits{list-style:none;padding:0;margin:20px 0 4px;max-width:64ch}.benefits li{position:relative;padding:8px 0 8px 34px;color:var(--txt)}.benefits li::before{content:"✦";position:absolute;left:0;top:9px;color:var(--star);font-size:1.05rem}.benefits li strong{color:var(--ivory)}.costline{font-size:.85rem;color:var(--mut);margin:2px 0 12px;max-width:34ch}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.ba-col pre{margin:0}.ba-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin:0 0 6px}@media(max-width:640px){.ba-grid{grid-template-columns:1fr}}
