/* Ground Up Arm Care: builder form + app-style plan. Self-contained; loaded after style.css. */
#builder,#builder *{box-sizing:border-box}
#bld-form{margin:6px 0 0}
#bld-form .step{font-weight:700;font-size:15px;margin:16px 0 8px;color:#0f2a44;display:block;padding:0;border:0}
#bld-form fieldset{border:0;padding:0;margin:0;min-width:0}
#bld-form legend{padding:0}
.eqgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:700px){.eqgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.eqgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.eqc{position:relative;display:block;margin:0;cursor:pointer}
.eqc input,.seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.eqc span{display:flex;align-items:center;gap:10px;min-height:54px;height:100%;padding:10px 12px;border:1.5px solid #d5dbe3;border-radius:12px;background:#fff;font-size:14px;font-weight:600;line-height:1.25;color:#1b2430;transition:border-color .15s,background .15s}
.eqc span:before{content:"";flex:0 0 20px;height:20px;border:2px solid #b8c2cf;border-radius:6px;background:#fff center/14px no-repeat}
.eqc:hover span{border-color:#0f2a44}
.eqc input:checked+span{border-color:#0f2a44;background:#eef3f9}
.eqc input:checked+span:before{background-color:#0f2a44;border-color:#0f2a44;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23ffb547' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.eqc input:focus-visible+span,.seg input:focus-visible+span{outline:3px solid #ffb547;outline-offset:2px}
#bld-pwrap{margin-top:10px;max-width:420px}
#bld-pwrap label,.brow label.lb{display:block;font-size:13px;font-weight:700;color:#4a5868;margin:0 0 5px}
#bld-pw,.brow select{width:100%;height:44px;padding:0 12px;border:1.5px solid #d5dbe3;border-radius:10px;background:#fff;font-size:15px;color:#1b2430}
.brow{display:grid;grid-template-columns:1fr;gap:12px;margin-top:4px}
@media(min-width:700px){.brow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.brow{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}}
.brow>div{min-width:0}
.seg{display:flex;gap:0;border:1.5px solid #d5dbe3;border-radius:10px;overflow:hidden;height:44px;background:#fff}
.seg label{flex:1;position:relative;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;font-weight:700;color:#4a5868}
.seg label+label span{border-left:1.5px solid #d5dbe3}
.seg input:checked+span{background:#0f2a44;color:#fff}
#bld-form .go{display:block;margin:18px 0 0;height:48px;padding:0 28px;border:0;border-radius:12px;background:#e8711c;color:#fff;font-size:16px;font-weight:800;cursor:pointer;width:100%}
@media(min-width:700px){#bld-form .go{width:auto;min-width:240px}}
.appbtn{display:inline-flex;align-items:center;gap:8px;margin:4px 0 6px;padding:10px 16px;border-radius:12px;background:#0f2a44;color:#fff!important;font-weight:800;text-decoration:none;font-size:15px}
.appbtn b{color:#ffb547}
/* ---------- plan ---------- */
#bld-out:empty{display:none}
.pl{margin-top:18px;background:#0f2a44;border-radius:16px;padding:14px;color:#fff}
.pl a{color:#ffb547}
.plh{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}
.plh h3{margin:0;font-size:19px;color:#fff}
.plh .sum{margin:3px 0 0;font-size:13px;color:#c9d6e4}
.pbtns{display:flex;gap:8px;flex-wrap:wrap}
.pbtns button{height:36px;padding:0 14px;border-radius:10px;border:1.5px solid #ffb547;background:transparent;color:#ffb547;font-weight:700;font-size:14px;cursor:pointer}
.pbtns button.pri{background:#ffb547;color:#0f2a44}
#bld-msg{font-size:13px;color:#c9d6e4;align-self:center}
.stop{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:#fff8e6;color:#5a4300;font-size:13px;border-left:5px solid #e8a400}
.stop b{color:#3a2c00}
.ssrc{margin:8px 0 0;background:#16385a;border-radius:10px}
.ssrc>summary{cursor:pointer;padding:10px 12px;font-weight:700;font-size:14px;list-style:none;color:#ffb547}
.ssrc>summary::-webkit-details-marker{display:none}
.ssrc>summary:after{content:" \25BE"}
.ssrc[open]>summary:after{content:" \25B4"}
.ssrc .in{padding:0 12px 10px;font-size:13px;color:#dce6f0}
.ssrc .in p{margin:6px 0}
.bwk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:14px 0 4px;padding:8px 2px;border-top:1px solid #2a4c70;border-bottom:1px solid #2a4c70}
.bwk button{background:none;border:0;color:#c9d6e4;padding:4px 0 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:12px;font:inherit;min-width:0}
.bwk .dn{font-size:12px;font-weight:600}
.bwk .dd{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#fff;border:2px solid transparent}
.bwk .today .dd{border-color:#ffb547}
.bwk .sel .dd{background:#ffb547;color:#0f2a44}
.bwk .sel .dn{color:#fff}
.bwk .dot{width:7px;height:7px;border-radius:50%}
.bwk .chk{font-size:10px;line-height:1;color:#7fd39a;height:10px}
.k-pitch{background:#e8711c}.k-str{background:#5aa9ff}.k-rec{background:#7fd39a}.k-prime{background:#ffb547}.k-rest{background:#8a9bb0}
.lgd{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:#c9d6e4;margin:6px 2px 0}
.lgd i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.dayp{margin-top:12px}
.dayt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;color:#1b2430;border-radius:14px;padding:12px 14px;border-top:5px solid #8a9bb0}
.dayt.kt-pitch{border-top-color:#e8711c}.dayt.kt-str{border-top-color:#5aa9ff}.dayt.kt-rec{border-top-color:#7fd39a}.dayt.kt-prime{border-top-color:#ffb547}
.dayt h4{margin:0;font-size:18px;flex:1 1 auto}
.dayt .dl{font-size:13px;color:#4a5868;font-weight:600}
.prog{flex:1 1 100%;display:flex;align-items:center;gap:10px;font-size:12px;color:#4a5868}
.bar{flex:1;height:8px;border-radius:5px;background:#e6ebf1;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:#2fa65a;transition:width .25s}
.blk{margin-top:10px;background:#16385a;border-radius:14px}
.blk>summary{list-style:none;cursor:pointer;padding:11px 14px;display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;color:#fff}
.blk>summary::-webkit-details-marker{display:none}
.blk>summary .cnt{font-weight:600;font-size:12px;color:#9fb3c8}
.blk>summary:after{content:"\25BE";margin-left:auto;color:#ffb547}
.blk[open]>summary:after{content:"\25B4"}
.blk .bi{padding:0 10px 10px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media(min-width:900px){.blk .bi.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.btxt{background:#fff;color:#1b2430;border-radius:12px;padding:10px 12px;font-size:14px}
.btxt p{margin:0}.btxt p+p{margin-top:6px}
.grp{grid-column:1/-1;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#ffb547;margin:4px 2px -2px}
.grpn{grid-column:1/-1;font-size:12.5px;color:#dce6f0;margin:0 2px;line-height:1.45}
.xc{background:#fff;color:#1b2430;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;border:2px solid transparent;transition:opacity .2s}
.xc.is-done{border-color:#2fa65a}
.xc.is-skip{opacity:.55}
.xh{display:flex;align-items:flex-start;gap:10px}
.code{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#0f2a44;color:#ffb547;font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.xn{font-weight:800;font-size:15.5px;line-height:1.3;color:#0f5ba8!important;text-decoration:none;padding-top:5px}
.xn .play{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#0f5ba8;color:#fff;font-size:9px;margin-left:6px;vertical-align:1px}
.xc.is-done .xn{color:#1d7a40!important}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:9px;background:#f0f3f7;font-size:13px;font-weight:700;color:#1b2430}
.chip.sets{background:#fff1e3;color:#8a3d00}
.chip small{font-weight:600;color:#6a7686;font-size:11.5px}
.chip sup{color:#e8711c;font-size:11px}
.vlinks{margin:0;font-size:13px;color:#6a7686}.vlinks a{color:#0f5ba8;font-weight:700}.vlinks a.vdemo{display:inline-block;padding:4px 10px;border-radius:9px;background:#0f2a44;color:#ffb547!important;text-decoration:none}
.xnote{font-size:13px;color:#4a5868;margin:0}
.howto>summary{cursor:pointer;font-size:13px;font-weight:700;color:#0f2a44;list-style:none;display:inline-block}
.howto>summary::-webkit-details-marker{display:none}
.howto>summary:before{content:"\25B8  "}
.howto[open]>summary:before{content:"\25BE  "}
.howto p{margin:6px 0 0;font-size:13.5px;line-height:1.5}
.howto .srcs{font-size:12px;color:#6a7686}
.xc picture{display:block}
.bcard{display:block;width:100%;max-width:560px;height:auto;aspect-ratio:900/700;border-radius:10px;border:1px solid #e1e5ea;background:#f6f7f9}
.xa{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #edf0f4;padding-top:8px}
.xa button{height:40px;border-radius:10px;border:0;background:#eef1f5;color:#2b3a4b;font-weight:800;font-size:14px;cursor:pointer}
.xa .dn.on{background:#2fa65a;color:#fff}
.xa .sk.on{background:#8a9bb0;color:#fff}
.call{display:block;width:100%;margin:12px 0 2px;height:48px;border:0;border-radius:14px;background:#2fa65a;color:#fff;font-weight:800;font-size:16px;cursor:pointer}
.call.alldone{background:#1d7a40}
.pfoot{font-size:12px;color:#9fb3c8;margin:10px 2px 0}
.pfoot a{color:#ffb547}
.pall{display:none}
/* install hint */
.ahint{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff8e6;color:#3a2c00;font-size:13.5px}
.ahint button{margin-left:auto;height:34px;padding:0 12px;border-radius:9px;border:0;background:#0f2a44;color:#fff;font-weight:700;cursor:pointer}
.ahint .x{background:none;color:#5a4300;padding:0 6px;margin-left:0}
@media print{
 body>*:not(.w){display:none!important}.w>*:not(#builder){display:none!important}#builder>*:not(#bld-out){display:none!important}
 .no-print,.bwk,.lgd,.dayp,.pbtns,.ahint{display:none!important}
 .pl{background:#fff;color:#000;padding:0}.plh h3,.plh .sum,.ssrc .in{color:#000}.ssrc{background:#fff}.ssrc .in{display:block!important}
 .pall{display:block}.pall h4{margin:14px 0 4px;font-size:15px}.pall .pb{font-weight:700;margin:6px 0 2px}.pall ul{margin:0 0 4px 18px;padding:0}.pall li{font-size:12.5px}.pall section{break-inside:avoid}
 a{color:#000;text-decoration:none}
}

/* ---- ads layer (groundup/ads.py) ---- */
.gu-ad{font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b2430;box-sizing:border-box;text-align:left;overflow:hidden}
.gu-ad *{box-sizing:border-box}
.gu-ad .gu-lbl{display:block;font-size:12px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:#6b7480;margin:0 0 4px}
.gu-ad .gu-a{display:block;color:#1b2430;text-decoration:none;padding:0;margin:0;border:0;background:none;min-height:32px}
.gu-ad .gu-h{font-weight:700;color:#1b2430}.gu-ad .gu-b{color:#3d4652}
.gu-ad .gu-cta{font-weight:700;color:#b4530f;white-space:nowrap}
.gu-ad .gu-a:hover .gu-cta,.gu-ad .gu-a:focus .gu-cta{text-decoration:underline}
.gu-ad img{display:block;max-width:100%;height:auto;border-radius:6px;margin:0 0 8px}
.gu-top{background:#fffaf3;border-bottom:1px solid #eadfce;width:100%}
.gu-top .gu-ad{max-width:1100px;margin:0 auto;padding:6px 20px;min-height:44px;display:flex;align-items:center;gap:12px}
.gu-top .gu-lbl{margin:0;flex:none}
.gu-top .gu-a{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:0 10px}
.gu-top .gu-h{flex:none}.gu-top .gu-b{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gu-top .gu-cta{flex:none}
.gu-top .gu-cta{margin-left:auto}
.gu-top img{display:none}
.gu-side{margin:20px 0}
.gu-side .gu-ad,.gu-inline .gu-ad{background:#fff;border:1px solid #e1e5ea;border-radius:10px;padding:14px 16px}
.gu-side .gu-ad{min-height:150px}
.gu-side .gu-h{display:block;font-size:16px;margin:2px 0 4px}.gu-side .gu-b{display:block;margin:0 0 12px}
.gu-side .gu-cta,.gu-inline .gu-cta{display:inline-block;background:#e8711c;color:#fff;padding:8px 14px;border-radius:6px;line-height:1.3}
.gu-inline{margin:20px 0;clear:both}
.gu-inline .gu-ad{min-height:96px}
.gu-inline .gu-a{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.gu-inline .gu-txt{flex:1 1 260px;min-width:0}.gu-inline .gu-h{display:block;font-size:16px}.gu-inline .gu-b{display:block}
footer .gu-disc{font-size:13px;color:#6b7480;margin:8px 0}
@media (min-width:1000px){
 .w.gu-wside{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:24px;padding-top:20px}
 .w.gu-wside>*{grid-column:1;min-width:0}
 .w.gu-wside>.card{margin:0 0 20px}
 .w.gu-wside>.gu-side{grid-column:2;grid-row:1/span 40;margin:0 0 20px}
 .gu-wside>.gu-side .gu-ad{position:sticky;top:16px}
}
@media (min-width:761px){
 .grid>aside.gu-hasside{align-self:stretch}
 .grid>aside.gu-hasside>.gu-side{position:sticky;top:16px;margin:16px 0 4px}
}
@media (max-width:600px){
 .gu-top .gu-ad{padding:6px 14px;min-height:52px;gap:8px;font-size:13.5px}
 .gu-top .gu-b{display:none}
 .gu-top .gu-h{flex:1 1 auto;min-width:0}
 .gu-inline .gu-cta{width:100%;text-align:center}
}

/* ---- mobile layer (groundup/mobile.py) ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.tscroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 4px}
.tscroll>table{margin:0}
img,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
@media (max-width:700px){
 body{overflow-wrap:break-word}
 .gu-strip{font-size:14px!important;line-height:1.4!important;padding:6px 10px!important}
 .gu-strip a{display:inline-block;padding:6px 3px}
 header .w,header.top{flex-wrap:wrap;gap:4px 12px;padding-top:10px!important;padding-bottom:6px!important}
 header.top{padding-left:16px!important;padding-right:16px!important}
 header .w{padding-left:16px!important;padding-right:16px!important}
 header.top:has(>.w){padding:0!important;display:block}
 header nav{width:100%;display:flex;flex-wrap:wrap;gap:0 18px}
 header nav a{margin:0!important;padding:8px 0;font-size:15px;display:inline-block}
 .w{padding-left:14px;padding-right:14px}
 main{padding:16px 14px}
 .card{padding:16px 14px;margin:14px 0}
 .hero h1{font-size:28px!important;line-height:1.2}
 table{font-size:13.5px}
 th,td{padding:7px 6px}
 th[style*="width"]{width:40%!important}
 thead th{letter-spacing:0!important;font-size:12px!important}
 table.list th,table.list td{padding:7px 5px}
 .tscroll{border-radius:8px}
 .tscroll>table{min-width:100%}
 input,select,textarea{font-size:16px!important}
 select,input:not([type=checkbox]):not([type=radio]){min-height:42px}
 button{min-height:44px;font-size:16px}
 .filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
 .filters select{margin:0!important;flex:1 1 140px}
 .filters input{min-width:0!important;flex:1 1 100%}
 #q{font-size:17px!important}
 .calc{grid-template-columns:1fr 1fr!important}
 .calc>*:last-child{grid-column:1/-1}
 .calc button,#go{width:100%}
 .news input,.newsletter input{width:100%!important;margin:0 0 8px}
 .news button,.newsletter button{width:100%;margin:0!important}
 .grid a{padding:11px 12px}
}

/* ---- Ko-fi support layer (groundup/kofi.py) ---- */
.gu-kofi-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#1b2430!important;border:1px solid #d5dbe3;border-radius:999px;padding:5px 12px 5px 10px;font:600 13px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-decoration:none!important;white-space:nowrap;vertical-align:middle;transition:border-color .15s,box-shadow .15s}
.gu-kofi-btn:hover,.gu-kofi-btn:focus-visible{border-color:#ff5e5b;box-shadow:0 1px 6px rgba(255,94,91,.25)}
.gu-kofi-btn .gu-cup{flex:none;color:#6b4423}
p.gu-kofi{margin:10px 0;font-size:13px;color:#6b7480}
.gu-kofi-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.gu-kofi-line{text-align:center;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin:16px 0 4px!important}
.gu-kofi-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff8ef;border:1px solid #f1dcc1;border-radius:10px;padding:18px 20px;margin:20px 0}
.gu-kofi-card h3{margin:0 0 4px;font-size:18px;color:#1b2430}.gu-kofi-card p{margin:0;font-size:14px;color:#56606e}
.gu-kofi-card .gu-kofi-btn{background:#ff5e5b;color:#fff!important;border-color:#ff5e5b;font-size:15px;padding:9px 18px 9px 14px}
.gu-kofi-card .gu-kofi-btn .gu-cup{color:#fff}.gu-kofi-card .gu-kofi-btn .gu-cup path[fill="#ff5e5b"]{fill:#ff5e5b}
.gu-kofi-card .gu-kofi-btn:hover{background:#f04b48;box-shadow:0 2px 10px rgba(255,94,91,.35)}
@media (max-width:700px){
 .gu-kofi-card{flex-direction:column;align-items:stretch;text-align:center;padding:16px 14px}
 .gu-kofi-card .gu-kofi-btn{justify-content:center;min-height:44px}
 .gu-kofi-btn{min-height:40px;padding:8px 14px 8px 12px;font-size:14px}
 .gu-kofi-foot{justify-content:flex-start}
}

/* ---- Slogan layer (groundup/slogan.py) ---- */
.gu-slogan{font-weight:800;letter-spacing:.4px;font-style:italic}
p.gu-slogan-hero{margin:2px 0 10px!important;font-size:18px;color:#ffb547!important;opacity:1!important}
p.gu-slogan-foot{margin:0 0 8px!important;font-size:14px;color:#0f2a44}
@media (max-width:700px){p.gu-slogan-hero{font-size:16px}p.gu-slogan-foot{font-size:13px}}
