/* 20261004c brand pass. Every value names its source; fonts and logo are self-hosted (fonts/, brand/). */
@font-face{font-family:"Quantify";src:url("fonts/Quantify.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap} /* ATF index.html:90 */
@font-face{font-family:"Taub Sans";src:url("fonts/TaubSans-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap} /* ATF index.html:91 */
@font-face{font-family:"Taub Sans";src:url("fonts/TaubSans-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap} /* ATF index.html:92 */
@font-face{font-family:"Poppins";src:url("fonts/Poppins-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap} /* body face, DESIGN.md:6 */
@font-face{font-family:"Poppins";src:url("fonts/Poppins-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("fonts/Outfit-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap} /* heading face, DESIGN.md:6 */
@font-face{font-family:"Outfit";src:url("fonts/Outfit-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
:root{
  /* colours: styles/overpaid-tokens.css (dark screen) */
  --canvas:#0A1218; --card:#111D24; --raised:#18262F; --line:#2A3B47; --line2:#3C505D; /* --canvas --surface --raised --border --border-strong, tokens:18-22 */
  --text:#EAEEF0; --muted:#9EABB3; --label:#9EABB3; --acc:#4fbf26; --on-acc:#033250; --deep:#13301a; /* --text --text-muted tokens:23-24; --accent :25; --on-accent :28 */
  --acc-hover:#246e3f; --on-acc-hover:#FFFFFF; /* tokens:27,29 */
  --chart-old:#7F9CB0; --baseline:#B8C3CA; /* without-a-plan bar and number, tokens:35,40 */
  --amber:#F2C46B; --amber-bg:#2A2410; --rib-h:28px;
  /* faces: tokens:51-54 */
  --font:"Poppins","Inter",ui-sans-serif,system-ui,sans-serif;
  --font-display:"Outfit",sans-serif;
  --font-wordmark:"Quantify","Outfit",sans-serif;
  --font-slogan:"Taub Sans","Inter",ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--font);line-height:1.4}
body.lock{overflow:hidden}
button,input{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
.app{position:relative;max-width:430px;min-height:100vh;margin:0 auto;background:var(--canvas);border-left:1px solid var(--line);border-right:1px solid var(--line)}
/* header lockup: ATF App.tsx:147-157 (logo, wordmark, slogan) and index.html:147-149 (.site-header .wordmark .slogan) */
.hd{position:sticky;top:var(--rib-h);z-index:20;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--canvas);border-bottom:1px solid var(--line)}
.lk{display:flex;align-items:center;gap:3.5px;flex-grow:1;min-width:0}
.lg{display:block;height:32px;width:auto;flex-shrink:0;object-fit:contain}
.br{display:block;line-height:1;min-width:0}
.wordmark{display:block;font-family:var(--font-wordmark);font-size:20px;font-weight:400;letter-spacing:.045em;color:var(--text);line-height:1;white-space:nowrap}
.slogan{display:block;font-family:var(--font-slogan);font-size:10px;font-weight:400;letter-spacing:.025em;color:var(--muted);line-height:1;margin-top:4px;white-space:nowrap}
@media (min-width:640px){.hd{padding:12px 24px}.lk{gap:4.5px}.lg{height:40px}.wordmark{font-size:24px}.slogan{font-size:12px}}
.hb{min-height:44px;min-width:44px;flex-grow:1;padding:0 6px 0 0;background:transparent;border:0;font-size:15px;font-weight:700;text-align:left}
.bk{min-height:44px;min-width:44px;padding:0 8px 0 0;background:transparent;border:0;font-size:14px;font-weight:600;color:var(--muted)}
.chip{flex-shrink:0;min-height:44px;padding:0 14px;background:var(--raised);border:1.5px solid var(--line2);border-radius:9999px;font-size:13px;font-weight:600}
.menu{position:absolute;right:10px;top:100%;z-index:30;width:250px;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--raised);border:1px solid var(--line2);border-radius:16px}
.mi{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:0 12px;background:transparent;border:1.5px solid transparent;border-radius:12px;font-size:14px;font-weight:600;text-align:left}
.mi.on{border-color:var(--acc)}
.mi .sb{display:block}
.mi.acct{min-height:68px;width:100%;background:var(--card);border-color:var(--line2);border-radius:16px;font-size:16px}
.mi.acct.on{border-color:var(--acc)}
.sub{font-size:12px;color:var(--muted);font-weight:400}
.rib{position:sticky;top:0;z-index:45;padding:6px 12px;background:var(--amber-bg);color:var(--amber);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-align:center}
.rib small{display:block;font-size:11px;font-weight:600;letter-spacing:0;color:#E6D3A0}
.bd{display:flex;flex-direction:column;gap:14px;padding:18px 18px 40px}
.bd>*{flex-shrink:0}
.bd.center{align-items:center;justify-content:center;text-align:center;min-height:60vh;gap:18px}
h1,h2{margin:0}
.t{font-size:28px;font-weight:700;line-height:1.2;font-family:var(--font-display)}
.t2{font-size:24px;font-weight:700;line-height:1.25;font-family:var(--font-display)}
.t:focus,.t2:focus{outline:none}
.m{font-size:15px;color:var(--muted);line-height:1.55}
.m b{color:var(--text)}
.sm{font-size:13px;color:var(--muted);line-height:1.5}
.sm.amber{color:var(--amber)}
.err{font-size:13px;color:var(--amber);line-height:1.5}
.l{font-size:11px;color:var(--label);text-transform:uppercase;letter-spacing:.06em}
label.l{display:block}
.big{font-size:52px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--acc);font-family:var(--font-display)}
.card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:24px;color:var(--text);text-align:left;width:100%}
.card.cs{border-radius:16px}
.card.ca{border:1.5px solid var(--acc)}
.card.dash{border-style:dashed}
.card.dashacc{border-style:dashed;border-color:var(--acc)}
.card.flat{padding:0;gap:0;overflow:hidden}
button.card{cursor:pointer}
.box{width:100%;min-height:48px;padding:0 14px;background:var(--raised);border:1.5px solid var(--line2);border-radius:14px;font-size:16px}
.b1{width:100%;min-height:52px;border:0;border-radius:16px;background:var(--acc);color:var(--on-acc);font-size:15px;font-weight:700;letter-spacing:.012em}
.b1[disabled]{background:var(--line);color:var(--label);cursor:default}
@media (hover:hover){.b1:not([disabled]):hover{background:var(--acc-hover);color:var(--on-acc-hover)}} /* tokens:27,29 */
.b2{width:100%;min-height:52px;background:transparent;border:1.5px solid var(--line2);border-radius:16px;font-size:15px;font-weight:700}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;border-top:1px solid var(--line);font-size:15px}
.row.last{border-bottom:1px solid var(--line)}
.row .n{min-width:22px;color:var(--acc);font-weight:700}
.row .k{min-width:36px;font-weight:800}
.row .g{flex-grow:1}
.rb{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:56px;padding:0;background:transparent;border:0;border-top:1px solid var(--line);font-size:15px;text-align:left}
.rb.sm13{font-size:13px;min-height:44px}
.rb.bold{font-weight:700}
.rb.dashed{border:1.5px dashed var(--line2);border-radius:14px;padding:0 14px}
.rb.end{border-bottom:1px solid var(--line)}
.rb.tall{min-height:64px;font-size:14px}
.rb .grow{flex-grow:1}
.rb .mut{color:var(--muted)}
.rc{padding:0 0 14px;font-size:14px;line-height:1.55;color:var(--muted)}
.list{display:flex;flex-direction:column}
.pt{padding:9px 12px;border:1px dashed var(--label);border-radius:12px;font-size:12px;line-height:1.45;color:#B9BBBE}
.tk{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5}
.tk input{flex-shrink:0;width:26px;height:26px;margin:0;accent-color:var(--acc)}
.codes{display:flex;gap:7px}
.cd{flex-grow:1;padding:12px 0;text-align:center;background:var(--raised);border:1.5px solid var(--line2);border-radius:12px;font-size:22px;font-weight:600}
.blur{height:96px;margin:4px 6px 0;border-radius:14px;background:linear-gradient(120deg,#4fbf26,#5a5e66 55%,#232529);filter:blur(5px)}
.skel{height:8px;border-radius:6px;background:var(--line)}
.w100{width:100%}.w92{width:92%}.w96{width:96%}.w70{width:70%}
.spin{width:112px;height:112px;border:8px solid var(--line);border-top-color:var(--acc);border-radius:50%;animation:spin 1.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:6px}
.sw-old{width:14px;height:10px;border:1.5px solid var(--chart-old);border-radius:3px}
.sw-new{width:14px;height:10px;background:var(--acc);border-radius:3px}
.chart{display:flex;align-items:flex-end;gap:2px;padding-bottom:2px;border-bottom:1px solid var(--line2)}
.col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.col .kv{font-size:11px;font-weight:700;color:var(--acc)}
.barbox{position:relative;width:100%;max-width:52px;height:108px}
.wo{position:absolute;left:0;right:0;bottom:0;border:1.5px solid var(--chart-old);border-bottom:0;border-radius:6px 6px 0 0}
.wi{position:absolute;left:22%;right:22%;bottom:0;background:var(--acc);border-radius:6px 6px 0 0}
.nc{height:126px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:var(--muted)}
.yb{width:100%;min-width:0;min-height:44px;padding:0;background:transparent;border:0;font-size:12px;font-weight:700}
.invc{text-align:left}
.invc .v{font-size:28px;font-weight:700;color:var(--acc);font-family:var(--font-display)}
.bar-in{height:22px;border:1.5px solid var(--chart-old);border-radius:6px}
.bar-out{height:22px;width:100%;background:var(--acc);border-radius:6px}
.roi{font-size:42px;font-weight:700;letter-spacing:-.02em;color:var(--acc);font-family:var(--font-display)}
.tb{flex-grow:1;min-height:44px;background:transparent;border:1.5px solid var(--line2);border-radius:9999px;font-size:13px;font-weight:700}
.tb.on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.tabs{display:flex;gap:7px}
.tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);font-size:12px}
.tr.three{grid-template-columns:1fr 2fr 2fr}
.tr>span{padding:11px 7px;overflow-wrap:anywhere}
.tr.h{background:var(--raised);font-weight:700;border-top:0}
.tr .y{font-weight:700}
.tr .old{color:var(--baseline)}
.tr .kept{color:var(--acc);font-weight:700}
.cmp{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line);font-size:14px}
.cmp.big2{font-size:17px}
.cmp b{white-space:nowrap}
.tiles{display:flex;gap:7px}
.tile{flex:1;display:flex;flex-direction:column;gap:3px;padding:11px 9px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.tile.kept{background:var(--deep);border-color:var(--acc)}
.tile b{font-size:14px}
.run{display:flex;align-items:flex-end;gap:6px;height:84px;border-bottom:1px solid var(--line2)}
.run span{flex:1;background:var(--acc);border-radius:4px 4px 0 0}
.runlab{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.chp{display:inline-block;padding:3px 9px;border:1.5px solid var(--acc);border-radius:9999px;font-size:11px;color:var(--acc);white-space:nowrap}
.chpcol{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.chpcol.left{align-items:flex-start}
.scrim{position:fixed;inset:0;z-index:40;background:rgba(10,10,12,.76)}
.modal,.sheet{position:fixed;left:50%;z-index:41;transform:translateX(-50%);background:var(--card)}
.modal{top:28vh;width:calc(min(100%,430px) - 40px);display:flex;flex-direction:column;gap:12px;padding:22px;border:1.5px solid var(--acc);border-radius:24px}
.modal:focus,.sheet:focus{outline:none}
.sheet{bottom:0;width:min(100%,430px);max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px 18px 22px;border-top:1.5px solid var(--line2);border-radius:24px 24px 0 0}
.grab{align-self:center;width:46px;height:5px;border-radius:9px;background:var(--line2)}
.sheet .yt{font-size:28px;font-weight:700;font-family:var(--font-display)}
.foot{font-size:11px;color:var(--label);text-align:center}
.link{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.msg404{padding:40px 22px}
@media (min-width:480px){.app{margin-top:0}}
.pad{padding:18px}
.tac{text-align:center}
.nb{border-top:0}
.endline{border-top:1px solid var(--line)}
.c-old{color:var(--baseline)}
.c-acc{color:var(--acc)}
.lead{color:var(--text);font-size:16px}
/* 20261004b: links to the legal pages on www.accutaxfirm.com */
a.rb{color:inherit;text-decoration:none}
a.rb.ext>span:last-child{color:var(--acc)}
.foot.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px}
.foot.legal a{display:inline-block;padding:6px 0;color:var(--muted);text-underline-offset:2px}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
