:root{--bg:#FBF6EE;--card:#FFFDF9;--ink:#2B2118;--mute:#6B5B4D;--line:#E6D9C8;--terra:#C2492F;--honey:#B97A12;--sage:#587555;--chart:#587555;--wash:#F4EADA;--shadow:0 2px 10px rgba(80,50,20,.08)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1E1814;--card:#2A221C;--ink:#F3E9DC;--mute:#BBA995;--line:#463A30;--terra:#EE7A5E;--honey:#E3A33B;--sage:#8DAE88;--chart:#8DAE88;--wash:#332A22;--shadow:0 2px 12px rgba(0,0,0,.3)}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 'Instrument Sans',system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
.mono,strong.mono,td.r,.tbl .r{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
h1,h2,h3,.logo{font-family:'Bricolage Grotesque','Instrument Sans',system-ui,sans-serif}
h1{font-size:clamp(2.1rem,6vw,3.5rem);line-height:1.04;margin:0 0 16px;letter-spacing:-.02em}
h2{font-size:1.75rem;margin:56px 0 6px}h3{margin:0 0 8px;font-size:1.15rem}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--card);padding:8px 12px;border-radius:8px;z-index:50}.skip:focus{left:8px}
.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:12px;min-height:58px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.bar nav{margin-left:auto;display:flex;gap:14px;font-size:.88rem;flex-wrap:wrap}
.bar nav a{text-decoration:none;color:var(--mute)}.bar nav a:hover{color:var(--ink)}
.logo{font-weight:800;text-decoration:none;font-size:1.25rem}.logo span{text-decoration:line-through;text-decoration-color:var(--terra);text-decoration-thickness:3px}
.chip-note{border:1px solid var(--line);border-radius:99px;padding:2px 10px;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:start;padding-top:44px}
.lead{color:var(--mute);font-size:1.12rem;max-width:34em}
.btn{background:var(--ink);color:var(--card);border:1px solid var(--ink);border-radius:10px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.3}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink)}
.btn.sm{padding:6px 12px;font-size:.88rem}.btn.danger{color:var(--terra)}.btn:disabled{opacity:.5;cursor:default}
:focus-visible{outline:3px solid var(--honey);outline-offset:2px;border-radius:6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}
.card.inner{box-shadow:none;background:var(--bg)}
.card-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.7rem;color:var(--mute);margin-bottom:12px;letter-spacing:.05em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid3 .card{margin:0}
.cards3{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.cards3 .card{margin:0}
.cards3 button.card{text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%}.cards3 button.card:hover{border-color:var(--ink)}
small{display:block;color:var(--mute);font-size:.8rem}
strong{font-size:1.3rem;display:block;font-weight:600}
em{font-style:normal;font-size:.8rem;color:var(--mute)}
.honey{color:var(--honey)}.short{color:var(--terra)}
.tag{font-family:'Instrument Sans',sans-serif;font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:99px;background:var(--wash);vertical-align:middle}
.tag.Steady{color:var(--sage)}.tag.Watch{color:var(--honey)}.tag.Tight{color:var(--terra)}
.soon{display:inline-block;font-size:.68rem;font-weight:700;color:var(--honey);border:1px solid var(--honey);border-radius:99px;padding:0 8px;margin-top:6px}
.strip{margin-top:20px}.strip p{margin:0;background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:.92rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.steps .card{margin:0}
.num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--card);font-weight:700;margin-bottom:6px}
.scene-slot{border-radius:10px;overflow:hidden;margin-bottom:12px;background:var(--wash);aspect-ratio:5/3}
.scene-slot img,.scene-slot svg{width:100%;height:100%;object-fit:cover;display:block}
.scene-slot.hero-img{margin-top:24px;aspect-ratio:16/9}.scene-slot.wide{aspect-ratio:3/1;margin-top:16px}.scene-slot.short{aspect-ratio:5/1;margin-bottom:16px}
.muted{color:var(--mute)}.fine{font-size:.78rem;color:var(--mute);margin:6px 0 0}
.tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);margin:16px 0 8px}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;font:inherit;color:var(--mute);cursor:pointer;white-space:nowrap}
.tabs button[aria-selected=true]{color:var(--ink);font-weight:700;border-color:var(--ink)}
.count{background:var(--honey);color:#fff;border-radius:99px;font-size:.68rem;padding:0 7px;margin-left:4px}
.form-grid{align-items:end;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
label{display:block;font-size:.8rem;color:var(--mute)}
input,select{width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.err{display:block;color:var(--terra);font-size:.78rem;min-height:0}
.alert{border:1px solid var(--line);border-left:4px solid var(--terra);background:var(--card);border-radius:8px;padding:10px 14px;margin:12px 0}
.alert.ok{border-left-color:var(--sage);color:var(--sage)}.alert.info{border-left-color:var(--honey)}.alert:empty{display:none}
.impact{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--wash);border:1px solid var(--honey);border-radius:10px;padding:8px 14px;margin:8px 0;font-size:.9rem}
.chart-card{position:relative;padding:8px}
#chart svg{width:100%;height:auto;display:block}
.chart-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--card);font-size:.78rem;padding:4px 8px;border-radius:6px;transform:translate(-50%,-120%);white-space:nowrap;font-family:'IBM Plex Mono',monospace}
.scroll{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:8px;border-bottom:1px solid var(--line)}.tbl td:first-child{white-space:nowrap}
.r{text-align:right!important;white-space:nowrap}.neg{color:var(--terra)}.pos{color:var(--sage)}
.row{display:flex;align-items:center}.row.between{justify-content:space-between;gap:12px;flex-wrap:wrap}.row.gap{gap:8px;flex-wrap:wrap}.row.center{justify-content:center}
.bar-wrap{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:.85rem;flex-wrap:wrap}
.bar-wrap .lbl{width:170px}.meter{flex:1;min-width:80px;height:8px;background:var(--wash);border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;background:var(--sage)}
.drop{border:2px dashed var(--line);border-radius:12px;padding:20px;text-align:center;margin:12px 0;background:var(--wash);min-height:190px;display:flex;flex-direction:column;justify-content:center}
.drop.small{min-height:0;padding:14px}.drop.over{border-color:var(--sage);background:color-mix(in srgb,var(--sage) 14%,var(--card))}.drop p{margin:4px 0}
.thumb{max-height:90px;border-radius:6px;border:1px solid var(--line)}
.cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);margin:16px 0 4px}
.bill{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.bill .nm{flex:1;min-width:180px}.bill .nm b{display:block}.bill.dead .nm b,.bill.dead .nm small{text-decoration:line-through;opacity:.55}
.stamp{font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:700;color:var(--terra);border:2px solid var(--terra);border-radius:4px;padding:0 6px;transform:rotate(-4deg);display:inline-block}
.badge{font-size:.62rem;border:1px solid var(--line);border-radius:4px;padding:0 5px;color:var(--mute);letter-spacing:.05em;margin-left:6px;vertical-align:middle;font-weight:600}
.badge.ai{color:var(--sage);border-color:var(--sage)}
.imp-row{display:grid;grid-template-columns:auto repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.imp-row .chk{display:grid;place-items:center;margin:0}.imp-row .chk input{width:20px;height:20px;margin:0}
.imp-row .imp-note{grid-column:1/-1;margin-top:-2px}
.edit-row{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;margin:6px 0}
.finding{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--bg)}
.finding .t{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--mute)}
.finding .t.subscription,.finding .t.risk{color:var(--terra)}.finding .t.saving,.finding .t.rebate{color:var(--sage)}
.ai-box{border:1px solid var(--sage);border-radius:12px;padding:14px;margin:12px 0;background:var(--card)}
.ai-box ul,.ai-box ol{margin:4px 0 8px;padding-left:20px}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--sage);border-radius:50%;animation:s .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes s{to{transform:rotate(360deg)}}
.chat-log{max-height:380px;overflow:auto;margin:10px 0;display:flex;flex-direction:column;gap:8px}
.msg{padding:8px 12px;border-radius:12px;max-width:88%}
.msg.user{align-self:flex-end;background:var(--ink);color:var(--card)}.msg.assistant{align-self:flex-start;background:var(--wash)}
.msg p{margin:0 0 6px}.msg ul{margin:0;padding-left:18px}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:99px;padding:4px 12px;font:inherit;font-size:.82rem;cursor:pointer}
#chatForm input{flex:1;margin:0}
.plain{padding-left:20px;color:var(--mute)}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}summary{cursor:pointer;font-weight:600}
dialog{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:20px;width:min(440px,92vw)}
dialog::backdrop{background:rgba(0,0,0,.4)}dialog label{margin:10px 0}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--card);padding:10px 16px;border-radius:10px;font-size:.9rem;z-index:60;display:flex;gap:10px;align-items:center}
.toast button{background:none;border:1px solid currentColor;color:inherit;border-radius:6px;cursor:pointer;font:inherit;padding:0 8px}
.pack{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;font:.82rem/1.5 'IBM Plex Mono',monospace;margin:4px 0 8px}
code{background:var(--wash);padding:1px 5px;border-radius:4px}
.foot{margin-top:56px;border-top:1px solid var(--line);padding:24px 0 48px;color:var(--mute);font-size:.9rem}
.compare a{color:inherit;font-weight:600}
.tour-mask{position:fixed;inset:0;background:rgba(20,12,6,.35);z-index:70}
.tour{position:fixed;z-index:80;background:var(--card);border:1px solid var(--ink);border-radius:12px;padding:14px;width:min(340px,92vw);box-shadow:0 8px 30px rgba(0,0,0,.3);bottom:20px;left:50%;transform:translateX(-50%)}
.tour p{margin:6px 0 10px}
.hl{position:relative;z-index:75;outline:3px solid var(--honey);outline-offset:4px;border-radius:10px;background:var(--bg)}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:24px}.steps,.grid3{grid-template-columns:1fr}.bar nav,.chip-note{display:none}.bar-wrap .lbl{width:100%}.tbl{font-size:.8rem}.grid2{gap:10px}}
.income-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.income-row:first-of-type{border-top:0}
/* Photos: a gentle warm tone so they sit with the illustrations and the cream palette */
.scene-slot{position:relative}
.scene-slot img.photo{filter:sepia(.22) saturate(.88) contrast(1.02) brightness(1.03);object-position:center 40%}
.scene-slot:has(img.photo)::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,214,150,.10),rgba(194,73,47,.07));box-shadow:inset 0 0 0 1px rgba(122,82,51,.18)}
/* Hero photo: warmer, softer and slightly lifted so it reads as part of the cosy palette */
.hero-img img.photo{filter:sepia(.32) saturate(.95) contrast(1.02) brightness(1.06)}
.hero-img:has(img.photo)::after{background:radial-gradient(120% 90% at 50% 40%,rgba(255,214,150,.10),rgba(122,82,51,.22)),linear-gradient(180deg,rgba(255,214,150,.12),rgba(194,73,47,.08))}

/* ---- Front page: centred, balanced and more refined ---- */
.hero{display:block;padding-top:64px}
.hero-copy{text-align:center;max-width:860px;margin:0 auto 44px}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px;font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.eyebrow::before,.eyebrow::after{content:"";width:40px;height:1px;background:var(--honey)}
.hero h1{font-size:clamp(2.4rem,6.4vw,4.5rem);line-height:1.03;letter-spacing:-.028em;max-width:13em;margin:0 auto 20px;text-wrap:balance}
.hero .lead{margin:0 auto 30px;max-width:38em;font-size:1.12rem;text-wrap:balance}
.btn.lg{padding:14px 30px;font-size:1rem;letter-spacing:.01em}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.hero-grid .hero-img{position:relative;margin:0;aspect-ratio:auto;height:auto;min-height:360px;border-radius:18px;box-shadow:0 22px 44px -26px rgba(80,50,20,.5);border:1px solid var(--line)}
.hero-grid .hero-img>*{position:absolute;inset:0;width:100%;height:100%}
.hero-grid .statement{margin:0;padding:28px 30px;border-radius:18px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 22px 44px -26px rgba(80,50,20,.35)}
.statement .card-head{margin-bottom:6px;padding-bottom:12px;border-bottom:2px solid var(--honey)}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.stat-grid>div{padding:15px 0;border-top:1px solid var(--line)}
.stat-grid>div:nth-child(-n+2){border-top:0}
.stat-grid small{text-transform:uppercase;letter-spacing:.09em;font-size:.66rem;margin-bottom:4px}
.stat-grid strong{font-size:1.5rem;letter-spacing:-.01em}
@media(max-width:760px){.hero{padding-top:32px}.hero-copy{margin-bottom:28px}.hero-grid{grid-template-columns:1fr}.hero-grid .hero-img{min-height:230px}.eyebrow::before,.eyebrow::after{width:22px}.hero-grid .statement{padding:22px}.stat-grid strong{font-size:1.3rem}}
.hero-grid .hero-img img.photo{object-position:78% 55%}

/* Hero picture: make the bills being killed the centre of attention */
.hero-grid .hero-img img.photo{object-position:80% 60%;transform:scale(1.28);transform-origin:72% 72%}
.hero-img:has(img.photo)::before{content:"KILLED";position:absolute;z-index:3;left:50%;top:73%;transform:translate(-50%,-50%) rotate(-9deg);font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:700;font-size:clamp(1.5rem,3.6vw,2.4rem);letter-spacing:.22em;padding:.15em .55em .15em .75em;color:var(--terra);border:4px solid var(--terra);border-radius:8px;background:rgba(255,253,249,.78);box-shadow:0 6px 18px rgba(80,30,10,.25);pointer-events:none}
@media(max-width:760px){.hero-img:has(img.photo)::before{top:70%}}

/* Hero v3: wide banner so the whole scene shows, stamp on the pile of bills, statement as a band underneath */
.hero-grid{grid-template-columns:1fr;gap:22px}
.hero-grid .hero-img{min-height:0;aspect-ratio:2.15/1}
.hero-grid .hero-img img.photo{transform:none;object-position:50% 72%}
.hero-img:has(img.photo)::before{left:73%;top:72%;font-size:clamp(1.6rem,4.2vw,3rem);border-width:5px}
.stat-grid{grid-template-columns:repeat(4,1fr);gap:0 28px}
.stat-grid>div:nth-child(-n+4){border-top:0}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid>div:nth-child(3),.stat-grid>div:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:760px){.hero-grid .hero-img{aspect-ratio:4/3}.hero-grid .hero-img img.photo{object-position:75% 72%}.hero-img:has(img.photo)::before{left:62%;top:74%;font-size:1.5rem;border-width:4px}}
.hero-img:has(img.photo)::before{left:80%;top:82%;font-size:clamp(1.4rem,3.6vw,2.6rem)}
@media(max-width:760px){.hero-img:has(img.photo)::before{left:68%;top:84%;font-size:1.35rem}}

/* Hero v4: no stamp, whole picture at its natural shape, spotlight on the sword over the bills */
.hero-img:has(img.photo)::before{content:none}
.hero-grid .hero-img{aspect-ratio:592/324}
.hero-grid .hero-img img.photo{object-position:50% 50%;transform:none;filter:sepia(.18) saturate(1.06) contrast(1.1) brightness(1.04)}
.hero-grid .hero-img:has(img.photo)::after{background:
  radial-gradient(ellipse 30% 34% at 74% 72%,rgba(255,226,170,.30) 0,rgba(255,226,170,0) 100%),
  radial-gradient(ellipse 62% 78% at 74% 72%,rgba(40,24,12,0) 0,rgba(40,24,12,0) 38%,rgba(40,24,12,.42) 100%)}
@media(max-width:760px){.hero-grid .hero-img{aspect-ratio:592/324}.hero-grid .hero-img img.photo{object-position:50% 50%}}

/* Hero v5: picture left, dashboard right (equal height). The picture is cropped to the hand, the sword and the bills. */
.hero-grid{grid-template-columns:1fr 1fr;gap:24px}
.hero-grid .hero-img{aspect-ratio:auto;min-height:340px;height:auto}
.hero-grid .hero-img img.photo{object-position:100% 100%;transform:scale(1.5);transform-origin:100% 100%;filter:sepia(.18) saturate(1.06) contrast(1.1) brightness(1.04)}
.hero-grid .hero-img:has(img.photo)::after{background:
  radial-gradient(ellipse 46% 40% at 52% 58%,rgba(255,226,170,.26) 0,rgba(255,226,170,0) 100%),
  radial-gradient(ellipse 80% 78% at 52% 58%,rgba(40,24,12,0) 0,rgba(40,24,12,0) 45%,rgba(40,24,12,.38) 100%)}
.hero-grid .statement{padding:22px 26px}
.stat-grid{grid-template-columns:1fr 1fr;gap:0 28px}
.stat-grid>div{padding:11px 0}
.stat-grid>div:nth-child(-n+4){border-top:1px solid var(--line)}
.stat-grid>div:nth-child(-n+2){border-top:0}
.stat-grid strong{font-size:1.35rem}
@media(max-width:900px){.stat-grid>div:nth-child(3),.stat-grid>div:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-grid .hero-img{aspect-ratio:4/3;min-height:0}}
.hero-grid .hero-img img.photo{transform:scale(1.36)}
.col-btns{display:grid;gap:8px;margin-top:14px}

/* tax time */
.tax-src{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:12px 0 8px}
.tax-src legend{font-size:.8rem;color:var(--mute);padding:0 6px}
label.check{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;cursor:pointer}
label.check input{width:auto}
.tax-stats strong{font-size:1.35rem}
.tax-tbl select{max-width:200px;font-size:.85rem}
.tax-tbl td{vertical-align:top}
.badge.tax-likely{color:var(--sage);border-color:var(--sage)}
.badge.tax-maybe{color:var(--honey);border-color:var(--honey)}
.badge.tax-unlikely{color:var(--mute)}
#taxDrop{cursor:pointer}

.check-item{border:1px solid var(--line);border-left:4px solid var(--honey);border-radius:8px;padding:10px 14px;margin:10px 0;background:var(--card)}
.check-item.info{border-left-color:var(--mute)}
.check-item.off{opacity:.55}
input.pct{width:64px;padding:3px 6px;font:inherit;font-size:.85rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}

.secs .sec{border-top:1px solid var(--line);padding:10px 0}
.secs .sec:first-child{border-top:0}
.secs select{max-width:100%;font-size:.85rem}

#dlgAccount label{display:block}
#dlgAccount input{width:100%}
#dlgAccount .col-btns{margin:12px 0}
.chip-note.warn{border-color:var(--terra);color:var(--terra)}
#btnAccount{white-space:nowrap;max-width:9rem;overflow:hidden;text-overflow:ellipsis}

.offline-bar{position:sticky;top:0;z-index:30;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--terra);color:#fff;padding:10px 16px;font-size:.92rem}
.offline-bar .btn{background:#fff;color:var(--terra);border-color:#fff}
#btnInstall{white-space:nowrap}
