/* Product layout, native control aliases and responsive sizes. Theme is canonical2b. */
body{margin:0}::selection{background:var(--c-selected);color:var(--c-on-selected)}
button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}
.shp-root main:focus,.shp-root h1:focus{outline:none;box-shadow:none}
header.shp-header{max-width:1120px;margin:auto;padding:var(--sp-4) var(--safe);justify-content:space-between;gap:var(--sp-4)}
.brand-lockup{flex:none;padding:28px;background:var(--c-surface);line-height:0;border-radius:var(--r-m)}
.brand-lockup img{display:block;height:56px;width:auto;object-fit:contain;max-width:none}
.header-note{text-align:right;font-size:var(--fs-caption);color:var(--c-text-muted);min-width:0;line-height:var(--lh-body);overflow-wrap:break-word}
main{max-width:800px;min-height:calc(100svh - 190px);margin:auto;padding:var(--sp-7) var(--safe);display:block}
h1.shp-title{margin:0 0 var(--sp-6);text-wrap:pretty}.welcome h1{font-size:var(--fs-display);font-stretch:var(--fst-condensed);line-height:var(--lh-tight);max-width:14ch;letter-spacing:-.01em}
.welcome p{hyphens:none;max-width:60ch;margin:0 0 var(--sp-5)}.welcome .invitation{font-weight:var(--fw-medium);font-size:var(--fs-body)}.meta{font-size:var(--fs-caption);color:var(--c-text-muted);margin-top:var(--sp-6)!important}
.wide{width:100%;margin:var(--sp-4) 0 var(--sp-5)}.primary,.secondary{padding:var(--sp-4) var(--sp-5);white-space:normal}.welcome .primary{font-size:var(--fs-h2);min-height:calc(var(--target)*1.35)}
.progress-text{display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-caption);font-weight:var(--fw-bold);margin-bottom:var(--sp-3);color:var(--c-text-muted)}
.progress{display:block;appearance:none;border:var(--bw-base) solid var(--c-line-strong);border-radius:var(--r-s);width:100%;height:12px;background:var(--c-surface);margin-bottom:var(--sp-6);overflow:hidden}.progress::-webkit-progress-bar{background:var(--c-surface)}.progress::-webkit-progress-value{background:var(--c-brand)}.progress::-moz-progress-bar{background:var(--c-brand)}
.hint.shp-hint{display:block;margin:0 0 var(--sp-5);line-height:var(--lh-body)}
/* .option aliases shp-answer without changing the existing click.target taxonomy. */
fieldset{padding:0;border:0;margin:0;min-width:0}.option{--_bg:var(--c-surface);--_bd:var(--c-line-strong);position:relative;display:grid;min-height:var(--target);background:var(--_bg);color:var(--c-text);border:var(--bw-strong) solid var(--_bd);border-radius:var(--r-m);box-shadow:var(--sh-key);text-align:left;font:inherit;padding:0;cursor:pointer;transition:transform var(--dur-instant) var(--ease-out),box-shadow var(--dur-instant),background var(--dur-fast);overflow:visible;grid-template-columns:calc(var(--target)*.9) minmax(0,1fr);align-items:center;margin:0 0 var(--sp-4);overflow-wrap:anywhere}
.option input{appearance:none;justify-self:center;flex:none;width:24px;height:24px;border:var(--bw-base) solid var(--c-line-strong);border-radius:50%;margin:var(--sp-3) 0;cursor:pointer;background:var(--c-surface)}
.option input:checked{border:7px solid var(--c-line-strong);background:var(--c-selected)}
.option .shp-answer__body{min-height:var(--target);padding:.7em .8em .7em 0;font-weight:var(--fw-medium);line-height:var(--lh-body)}
.option:has(input:checked){--_bg:var(--c-selected);color:var(--c-on-selected);box-shadow:none;transform:translateY(var(--key-depth));border-color:var(--c-selected-line)}
.option:has(input:focus-visible){outline:var(--bw-strong) solid var(--c-focus);outline-offset:4px;box-shadow:0 0 0 8px var(--c-focus-halo)}
.shp-root .option input:focus-visible{outline:0;box-shadow:none}
textarea.shp-input{display:block;min-height:200px;resize:vertical;line-height:var(--lh-long);caret-color:var(--c-brand)}
.actions{display:grid;grid-template-columns:1fr 2fr;gap:var(--sp-4);margin-top:var(--sp-6)}
.skip.shp-btn{display:flex;min-height:var(--target);margin:var(--sp-4) auto 0;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-caption);text-transform:none;letter-spacing:0;max-width:100%;white-space:normal}
.end{padding-top:var(--sp-6)}.end p{max-width:54ch}.review-list{padding:0;margin:var(--sp-6) 0;list-style:none}.review-list li{padding:var(--sp-5) 0;border-bottom:var(--bw-hair) solid var(--c-line)}.review-list h2{font-size:var(--fs-label);line-height:var(--lh-body);margin:0 0 var(--sp-3)}.review-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--c-text-muted)}
[hidden]{display:none!important}a{color:var(--c-brand)}
@media(max-width:600px){.shp-root{--fs-display:32px;--fs-h1:24px;--fs-h2:18px;--fs-body:16px;--fs-label:14px;--fs-caption:13px;--target:48px;--bw-sel:2px;--safe:16px;--key-depth:3px}main{padding:var(--sp-6) var(--safe)}.actions{gap:var(--sp-3)}.primary,.secondary{padding:var(--sp-4)}.welcome h1{max-width:16ch}.option input{width:22px;height:22px}.end{padding-top:var(--sp-5)}}
@media(min-width:900px) and (min-height:1300px){.shp-root{--fs-display:92px;--fs-h1:62px;--fs-h2:44px;--fs-body:32px;--fs-label:26px;--fs-caption:24px;--target:120px;--bw-sel:8px;--safe:56px;--key-depth:8px}main{max-width:1080px}header.shp-header{max-width:1200px}.brand-lockup{padding:40px}.brand-lockup img{height:80px}}
@media(min-width:1500px) and (min-height:900px) and (max-height:1299px){.shp-root{--fs-display:104px;--fs-h1:68px;--fs-h2:48px;--fs-body:34px;--fs-label:28px;--fs-caption:24px;--target:112px;--bw-sel:8px;--safe:64px;--key-depth:8px}main{max-width:1320px}header.shp-header{max-width:1640px}.brand-lockup{padding:40px}.brand-lockup img{height:80px}}

/* Author's leaf markers, using the brandbook green and native radio selection. */
.leaf-icon{display:inline-block;width:28px;height:28px;flex:none;vertical-align:middle;color:var(--c-brand);overflow:visible}
.leaf-icon path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.leaf-icon.is-filled path:first-child{fill:currentColor}
.leaf-icon.is-filled .leaf-vein{stroke:var(--c-surface)}
.option{grid-template-columns:calc(var(--target)*.9) minmax(0,1fr) 40px}
.option>.leaf-icon{grid-column:3;justify-self:start;margin-right:12px}
.open-leaf{margin-top:var(--sp-3);line-height:1;min-height:28px}
.leaf-result{margin:var(--sp-5) 0 var(--sp-6)}
.leaf-total{font-weight:700;margin:0 0 var(--sp-4)}
.leaf-grid{display:grid;grid-template-columns:repeat(8,28px);gap:8px;max-width:100%}
.review-list .leaf-icon{margin-left:12px}
@media(min-width:900px) and (min-height:1300px),(min-width:1500px) and (min-height:900px){
 .leaf-icon{width:40px;height:40px}.option{grid-template-columns:calc(var(--target)*.9) minmax(0,1fr) 64px}
 .leaf-grid{grid-template-columns:repeat(8,40px);gap:20px}
}

/* Full author title/description; generic, downloadable habits memo. */
.welcome h1{font-size:var(--fs-h1);max-width:28ch;font-stretch:100%;line-height:1.1}
.welcome .source-description p{max-width:70ch}
.memo-list{padding-left:1.3em;margin:var(--sp-5) 0 var(--sp-6)}
.memo-list li{padding-left:.3em;margin:0 0 var(--sp-5);max-width:70ch}
.memo-save{display:flex;gap:var(--sp-6);align-items:center;justify-content:space-between;flex-wrap:wrap}
.memo-save a{max-width:100%;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.memo-phone{display:flex;align-items:center;gap:var(--sp-4);max-width:100%}
.memo-phone img{width:180px;height:180px;flex:none}
.memo-phone p{font-size:var(--fs-caption);max-width:16ch}
@media(max-width:600px){.welcome h1{font-size:28px;max-width:none}.memo-save{display:block}.memo-phone{margin-top:var(--sp-5)}.memo-phone img{width:144px;height:144px}}
@media(min-width:1500px) and (min-height:900px) and (max-height:1299px){.welcome .source-description{font-size:26px}}

/*27Oct: choices give no hint about the final leaf count. */
.shp-night .option{grid-template-columns:calc(var(--target)*.9) minmax(0,1fr)}
