/* Bounded Assess: Bounded Uncertainty app design (Bounded Mother standard), desktop-first variation for a professional tool. */
:root, [data-theme="light"]{
  --bg:#f2f4f8; --page-2:#eef1f6; --card:#fff; --group:#f2f4f8; --row:#fff; --field:#e9edf3; --fill:rgba(118,128,150,.15);
  --icon-tile:rgba(14,17,22,.06); --icon-ink:#3f4651; --tone-blue:#2f6cc4; --tone-amber:#a35400; --tone-teal:#0f7f72; --tone-coral:#c4523d; --tone-red:#c8372d;
  --ink:#0e1116; --ink-2:#3f4651; --muted:#5d6571; --line:#e3e7ee; --sep:rgba(60,67,80,.14);
  --btn:#0e1116; --on-btn:#fff; --tint:#2969b8; --tint-soft:#e6f0fc; --warn-bg:#fff4e5; --warn-ink:#7a4a00; --sky:#8bb7e9; --aqua:#7ce8e2; --peach:#ffb090; --rose:#c9503a; --green:#34c759;
  --pen:#1b2433; --accent:#e8902a; --accent-ink:#9a5600; --accent-soft:#fff1de;
  --ok:#1d7a46; --ok-soft:#e3f2e9; --bad:#b3261e; --bad-soft:#f8e3e1;
  --safety-title:#8a4b00; --safety-num:#a35400; --safety-line:rgba(229,134,47,.30);
  --shadow-1:0 0 0 .5px rgba(14,17,22,.06),0 1px 2px rgba(14,17,22,.05),0 10px 30px -14px rgba(23,60,130,.24);
  --shadow-2:0 2px 6px rgba(14,17,22,.06),0 24px 50px -24px rgba(23,60,130,.35);
  --shadow-tabbar:0 0 0 .5px rgba(20,40,90,.08),0 14px 34px -12px rgba(20,45,100,.32),0 3px 8px rgba(20,45,100,.08);
  --glass:rgba(242,244,248,.86); --sky-top:#e4eefb;
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#10151f; --page-2:#0c1119; --card:#212a3b; --group:#0c1119; --row:#212a3b; --field:#2a3447; --fill:rgba(160,175,205,.18);
  --icon-tile:rgba(255,255,255,.08); --icon-ink:rgba(243,245,249,.82); --tone-blue:#7cc0ff; --tone-amber:#ffc06a; --tone-teal:#5fd3c4; --tone-coral:#ff9c8c; --tone-red:#ff8a80;
  --ink:#f3f5f9; --ink-2:rgba(243,245,249,.82); --muted:rgba(243,245,249,.64); --line:rgba(255,255,255,.1); --sep:rgba(255,255,255,.1);
  --btn:#4cc2ff; --on-btn:#04121d; --tint:#4cc2ff; --tint-soft:rgba(76,194,255,.14); --warn-bg:#3a3220; --warn-ink:#f4cf7a; --aqua:#5fd3cc; --peach:#ffab8a; --rose:#ff99a4;
  --pen:#e9eef7; --accent:#ffb35c; --accent-ink:#ffcf8a; --accent-soft:#3a2f20;
  --ok:#7fd3a0; --ok-soft:#1d3a2c; --bad:#ff9a92; --bad-soft:#43262a;
  --safety-title:#ffcf8a; --safety-num:#ffc06a; --safety-line:rgba(255,190,110,.24);
  --shadow-1:0 0 0 1px rgba(255,255,255,.06),0 16px 36px -22px rgba(0,0,0,.7);
  --shadow-2:0 0 0 1px rgba(255,255,255,.07),0 30px 60px -28px rgba(0,0,0,.8);
  --shadow-tabbar:0 16px 36px -12px rgba(0,0,0,.7);
  --glass:rgba(16,21,31,.86); --sky-top:#152238;
  color-scheme:dark;
}
:root{
  --radius-icon:8px;
  --radius-tile:9px; --radius-control:10px; --radius-field:12px; --radius-button:14px; --radius-card:20px; --radius-post:24px; --radius-pill:999px;
  --serif:Lora,Georgia,"Times New Roman",serif; --sans:Figtree,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-ios:cubic-bezier(.32,.72,0,1); --ease-ios-in:cubic-bezier(.4,0,.9,.4); --spring:cubic-bezier(.3,1.25,.4,1);
  --dur-sheet-in:.52s; --dur-sheet-out:.34s; --dur-menu-in:.46s; --dur-menu-out:.3s;
  --rail:252px; --scale:1;
  font:-apple-system-body; font-size:calc(100% * var(--scale));
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
html{overflow-x:hidden}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.45;font-size:1rem;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto 0;height:340px;background:linear-gradient(180deg,var(--sky-top),transparent);pointer-events:none;z-index:0}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:var(--tint)}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2.5px solid var(--tint);outline-offset:2px;border-radius:8px}
.press{transition:transform .28s var(--spring)}
.press:active{transform:scale(.97)}

/* ---------- layout ---------- */
#app{position:relative;z-index:1;min-height:100vh}
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:18px 12px 16px;display:flex;flex-direction:column;gap:4px;border-right:.5px solid var(--sep);background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);z-index:20}
.brand{display:flex;align-items:center;gap:10px;padding:2px 10px 18px}
.brand .mk{width:44px;height:44px;flex:none}
.wm{font-family:var(--serif);font-size:1.1875rem;line-height:1.15;white-space:nowrap}
.wm i{color:var(--tint)}
.brand small{display:block;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:2px}
.nav{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:12px;font-weight:600;color:var(--ink-2);width:100%;text-align:left}
.nav:hover{background:var(--fill)}
.nav[aria-current="page"]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}
.nav[aria-current="page"] .ic{color:var(--tint)}
.nav .count{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--tint);background:color-mix(in srgb,var(--tint) 14%,transparent);border-radius:999px;padding:1px 8px}
.rail .grow{flex:1}
.rail .who{font-size:.75rem;color:var(--muted);padding:8px 12px 0;line-height:1.4}
main{margin-left:var(--rail);padding:28px 40px 120px;max-width:calc(1180px + var(--rail));}
.topbar{display:none}
.tabbar{display:none}

/* ---------- titles ---------- */
.lt{font-family:var(--serif);font-style:italic;font-weight:400;font-size:2.25rem;line-height:1.08;margin:6px 0 6px}
.lead{color:var(--ink-2);font-size:1rem;margin:0 0 22px;max-width:62ch}
h2.t2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.375rem;margin:0 0 4px}
.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ---------- cards and grouped lists ---------- */
.card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:18px 20px}
.gsec{margin:0 0 24px}
.gsec>h3{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin:0;padding:0 16px 7px}
.gsec>.note{font-size:.8125rem;color:var(--muted);line-height:1.45;padding:7px 16px 0}
.glist{background:var(--row);border-radius:var(--radius-button);box-shadow:var(--shadow-1);overflow:hidden}
.row{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 16px;width:100%;text-align:left}
.row+.row::before{content:"";position:absolute;left:16px;right:0;top:0;height:.5px;background:var(--sep)}
.row.tiled+.row.tiled::before{left:58px}
button.row:active,a.row:active{background:var(--fill)}
a.row{color:inherit;text-decoration:none}
.rt{flex:1;min-width:0;display:flex;flex-direction:column}
.rt b{font-weight:500;font-size:1.0625rem;line-height:1.3}
.rt small{color:var(--muted);font-size:.8125rem;line-height:1.35}
.row.danger .rt b{color:var(--rose)}
.chev{width:9px;height:15px;color:var(--muted);opacity:.7;flex:none}
.ext{color:var(--muted);font-size:1rem;flex:none}
.pill-n{font-size:.75rem;font-weight:700;color:var(--tint);background:color-mix(in srgb,var(--tint) 14%,transparent);border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:2px}

/* glossy tiles */
/* icons (design system, 3 Nov 2026): line glyphs on flat tiles. No gradients, highlights or glows; a tone only where it means something */
.ricon{position:relative;width:30px;height:30px;border-radius:var(--radius-icon);display:grid;place-items:center;flex:none;background:var(--icon-tile);color:var(--icon-ink)}
.ricon .gl{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ricon[data-tone]{color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,transparent)}
[data-theme="dark"] .ricon[data-tone]{background:color-mix(in srgb,var(--tone) 20%,transparent)}
.ricon[data-tone="blue"],.t-blue{--tone:var(--tone-blue)}.ricon[data-tone="amber"],.t-amber{--tone:var(--tone-amber)}.ricon[data-tone="teal"],.t-teal{--tone:var(--tone-teal)}.ricon[data-tone="coral"],.t-coral{--tone:var(--tone-coral)}.ricon[data-tone="red"],.t-red{--tone:var(--tone-red)}
.ricon.appm{background:#fff center/cover no-repeat;box-shadow:inset 0 0 0 .5px var(--sep)}
.ricon.appm.buheart{background:#fff}.ricon.appm.buheart svg{width:19px;height:19px}
.ricon.ra{background:var(--icon-tile)}
.ricon.ra span{font-family:var(--serif);font-style:italic;font-size:14px;font-weight:600;color:var(--icon-ink)}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--radius-button);font-weight:600;font-size:.9375rem;white-space:nowrap;transition:transform .28s var(--spring),background .2s,opacity .2s}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--btn);color:var(--on-btn)}
.btn.quiet{background:color-mix(in srgb,var(--ink) 9%,transparent)}
[data-theme="dark"] .btn.quiet{background:rgba(255,255,255,.12)}
.btn.text{color:var(--tint);padding:10px 8px}
.btn.danger{color:var(--bad)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn .ic{width:20px;height:20px}
.seg{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-control);background:var(--fill);flex-wrap:nowrap;max-width:100%}
.seg.wrap{flex-wrap:wrap}
.seg button{display:inline-flex;align-items:center;gap:6px}
.seg button svg{width:16px;height:16px;flex:none}
.seg button{font-size:.875rem;font-weight:600;padding:6px 13px;border-radius:8px;min-height:40px;transition:background .25s var(--ease-ios),box-shadow .25s}
.seg button[aria-pressed="true"]{background:var(--card);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.switch{position:relative;width:51px;height:31px;border-radius:999px;background:var(--fill);flex:none;transition:background .25s}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);transition:transform .3s var(--spring)}
.switch[aria-checked="true"]{background:var(--green)}
.switch[aria-checked="true"]::after{transform:translateX(20px)}
.field{width:100%;border:0;background:var(--field);border-radius:var(--radius-field);padding:11px 14px;font-size:1rem;line-height:1.4;resize:vertical;min-height:44px}
.field:focus{outline:2px solid var(--tint);outline-offset:0}
textarea.field{min-height:6.2em;field-sizing:content;max-height:24em;overflow-y:auto}
textarea.field.tall{min-height:9.5em;max-height:32em}
select.field{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235d6571' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
label.lab{display:block;font-size:.8125rem;font-weight:600;color:var(--muted);margin:0 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:999px;background:var(--fill);font-weight:600;font-size:.875rem;transition:background .25s var(--ease-ios),color .25s,transform .28s var(--spring)}
.chip:active{transform:scale(.96)}
.chip[aria-pressed="true"]{background:var(--tint-soft);color:var(--ink);box-shadow:inset 0 0 0 2px var(--tint)}
.chip[aria-pressed="true"] svg{color:var(--tint)}
.chip svg{width:14px;height:14px}
.chip small{font-weight:500;opacity:.75}
.stepper{display:inline-flex;align-items:center;background:var(--fill);border-radius:var(--radius-control)}
.stepper button{width:44px;height:36px;font-size:1.1rem;font-weight:600}
.stepper span{min-width:46px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- build view ---------- */

.build{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.form .card{margin-bottom:16px}
.form .card h2.t2{margin-bottom:12px}
.fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;align-items:start}
.stack{display:flex;flex-direction:column;gap:14px}
.cardhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.form .card .cardhead h2.t2{margin:0}
.hint{font-size:.8125rem;line-height:1.4;color:var(--muted)}
.cardlead{margin:0 0 14px;font-size:.9375rem;line-height:1.47;color:var(--ink-2)}
.helps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.help{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border-radius:14px;background:var(--field);color:var(--ink);min-height:64px;transition:background .25s var(--ease-ios),box-shadow .25s,transform .28s var(--spring)}
.help:active{transform:scale(.98)}
.help b{display:flex;align-items:center;gap:6px;font-weight:600}
.help b svg{width:16px;height:16px;color:var(--tint);flex:none}
.help small{font-size:.8125rem;color:var(--ink-2)}
.help[aria-pressed="true"]{background:var(--tint-soft);box-shadow:inset 0 0 0 2px var(--tint)}
.warnpill{margin-top:4px;padding:3px 9px;border-radius:999px;background:var(--warn-bg);color:var(--warn-ink);font-size:.75rem;font-weight:700}
.replace{margin-top:12px;border-radius:14px;background:var(--warn-bg);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.replace b{font-size:.875rem;color:var(--warn-ink)}
.replace small{font-size:.8125rem;line-height:1.4;color:var(--ink-2)}
.rchip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;border-radius:999px;background:var(--card);color:var(--ink);font-size:.875rem}
.rchip[aria-pressed="false"]{background:transparent;box-shadow:inset 0 0 0 1px var(--sep);color:var(--ink-2)}
.actrow,.speakrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.recdot{width:10px;height:10px;border-radius:50%;background:currentColor;animation:recpulse 1.2s ease-in-out infinite}
@keyframes recpulse{50%{opacity:.35}}
.rm .recdot{animation:none}
.btn.danger-fill{background:#b3402c;color:#fff}
[data-theme="dark"] .btn.danger-fill{background:#ff99a4;color:#04121d}
.grid2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid2.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.subj{margin:14px 0 6px;font-size:.8125rem;font-weight:700;color:var(--ink-2)}
.subj:first-of-type{margin-top:0}
.qrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.qrow .muted{font-size:.8125rem;color:var(--muted)}
.counts{display:grid;grid-template-columns:max-content max-content;align-items:center;justify-content:start;gap:10px 14px;margin-top:14px}
.counts .muted{font-size:.875rem;color:var(--ink-2)}
.aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}
.summary .big{font-family:var(--serif);font-style:italic;font-size:1.625rem;line-height:1.15;margin:6px 0 8px}
.summary ul{margin:0 0 14px;padding:0;list-style:none;font-size:.9375rem;color:var(--ink-2)}
.summary li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:.5px solid var(--sep)}
.summary li b{font-weight:600;color:var(--ink)}
.summary .btn.primary{width:100%}
.summary .muted{font-size:.8125rem;color:var(--muted);margin-top:10px}
.notice{border-radius:14px;padding:12px 14px 12px 18px;font-size:.875rem;line-height:1.45;background:var(--card);box-shadow:inset 0 0 0 1px var(--safety-line),inset 4px 0 0 #e5862f}
.notice b{color:var(--safety-title)}
.connect{display:flex;gap:14px;align-items:center}
.connect p{margin:2px 0 0;color:var(--ink-2);font-size:.9375rem}

/* progress */
.prog{display:flex;flex-direction:column;gap:2px;margin:6px 0 4px}
.pstep{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 0;border-top:.5px solid var(--sep)}
.pstep:first-child{border-top:0}
.pstep .st{width:24px;height:24px;flex:none;display:grid;place-items:center}
.pstep .rt small{color:var(--muted)}
.spin{width:20px;height:20px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--tint) 25%,transparent);border-top-color:var(--tint);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dot-wait{width:10px;height:10px;border-radius:50%;background:var(--fill)}
.tick{color:var(--green)}
.cross{color:var(--rose)}

/* ---------- batteries ---------- */
.blist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.bcard{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--card);border-radius:var(--radius-post);box-shadow:var(--shadow-2);padding:18px 20px 16px;transition:transform .3s var(--spring),box-shadow .3s}
.bcard:hover{transform:translateY(-2px)}
.bcard:active{transform:scale(.985)}
.bcard .card-big{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.15}
.bcard .meta{color:var(--ink-2);font-size:.875rem}
.bcard .facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.bcard .facts span{font-size:.75rem;font-weight:600;background:var(--fill);border-radius:999px;padding:3px 9px;color:var(--ink-2)}
.bcard .flag{color:var(--accent-ink);font-size:.8125rem;font-weight:600}
.empty{padding:28px;text-align:center;color:var(--ink-2)}
.empty .mk{width:64px;height:64px;margin:0 auto 10px}

/* battery detail */
.back{display:inline-flex;align-items:center;gap:4px;color:var(--tint);font-weight:600;min-height:44px;padding:0 6px 0 0}
.dhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.dhead .acts{display:flex;gap:8px;flex-wrap:wrap}
.dmeta{color:var(--ink-2);font-size:.9375rem}
.tabs{margin:6px 0 18px}
.sec{margin:0 0 26px}
.sechead{display:flex;align-items:baseline;gap:12px;margin:0 0 10px;flex-wrap:wrap}
.sechead .btn{margin-left:auto}
.sechead h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.375rem;margin:0}
.sechead .who{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.passage{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:16px 20px;font-size:1rem;line-height:1.65;margin-bottom:12px}
.passage p{margin:0 0 10px}.passage p:last-child{margin:0}
.passage .pt{font-family:var(--serif);font-style:italic;font-size:1.125rem;margin-bottom:6px}
.passage .wc{font-size:.8125rem;color:var(--muted);margin-top:8px}
.item{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:14px 18px 12px;margin-bottom:12px;scroll-margin-top:24px;transition:box-shadow .4s}
.item.hl{box-shadow:0 0 0 2.5px var(--accent),var(--shadow-1)}
.item .ih{display:flex;align-items:center;gap:8px;justify-content:space-between}
.item .skill{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.item .ctx{color:var(--ink-2);margin:6px 0 2px}
.item .q{font-weight:600;font-size:1.0625rem;margin:4px 0 8px}
.opts{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.opt{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:7px 10px;border-radius:12px;background:var(--fill);text-align:left;width:100%;min-height:44px}
.opt .L{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:.875rem;background:var(--card);box-shadow:0 0 0 .5px var(--sep)}
.opt .why{grid-column:2;font-size:.8125rem;color:var(--muted);line-height:1.35}
.opt .ans{font-size:.75rem;font-weight:700;color:var(--ok);grid-row:1;grid-column:3}
.opt.key{background:var(--ok-soft)}
.opt.key .L{background:var(--ok);color:#fff;box-shadow:none}
button.opt:hover:not(.key){background:color-mix(in srgb,var(--ok) 10%,var(--fill))}
.probe{margin-top:8px;font-size:.875rem;line-height:1.45;padding:9px 12px 9px 16px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--safety-line),inset 4px 0 0 #e5862f}
.probe b{color:var(--safety-title)}
.issue{margin-top:8px;font-size:.875rem;line-height:1.45;padding:9px 12px;border-radius:12px;background:var(--accent-soft);color:var(--ink);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.issue b{color:var(--accent-ink)}
.issue .btn{min-height:36px;padding:6px 12px;font-size:.8125rem}
.facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:6px}
.facts-grid div{background:var(--fill);border-radius:10px;padding:8px 10px;font-variant-numeric:tabular-nums}
.facts-grid b{color:var(--ok)}
.facts-grid .bad{box-shadow:0 0 0 2px var(--accent)}
.iact{display:flex;gap:4px}
.iact .btn{min-height:36px;padding:6px 10px;font-size:.8125rem}
.trywrap{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-2);overflow:hidden;height:calc(100vh - 260px);min-height:520px}
.trywrap iframe{width:100%;height:100%;border:0;display:block;background:#f2f4f8}
.checks .glist .row{align-items:flex-start;padding-top:12px;padding-bottom:12px}
.kind{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}

/* ---------- guide ---------- */
.guide{max-width:760px}
.guide .card{margin-bottom:16px}
.guide ol,.guide ul{margin:6px 0 0;padding-left:22px}
.guide li{margin:5px 0;color:var(--ink-2)}
.guide p{color:var(--ink-2)}
.guide code{background:var(--fill);border-radius:6px;padding:1px 6px;font-size:.875rem}

/* ---------- settings sheet ---------- */
.scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,0);transition:background var(--dur-menu-in) var(--ease-ios);pointer-events:none}
.scrim.on{background:rgba(6,10,20,.32);pointer-events:auto}
.menu{position:fixed;top:0;right:0;bottom:0;width:min(430px,100%);z-index:61;background:var(--group);box-shadow:-20px 0 60px -20px rgba(0,0,0,.35);transform:translateX(105%);transition:transform var(--dur-menu-out) var(--ease-ios-in);display:flex;flex-direction:column;overflow:hidden}
.menu.on{transform:none;transition:transform var(--dur-menu-in) var(--ease-ios)}
.mtop{flex:none;display:flex;align-items:center;justify-content:space-between;padding:calc(6px + env(safe-area-inset-top)) 8px 4px;min-height:52px}
.mback{display:inline-flex;align-items:center;gap:2px;color:var(--tint);font-weight:500;font-size:1.0625rem;min-height:44px;padding:0 8px;opacity:0;pointer-events:none;transition:opacity .25s}
.mback.on{opacity:1;pointer-events:auto}
.xbtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 70%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 0 0 .5px var(--sep)}
.xbtn svg{width:16px;height:16px}
.mpages{position:relative;flex:1;overflow:hidden}
.mpage{position:absolute;inset:0;overflow:auto;padding:6px 0 calc(30px + env(safe-area-inset-bottom));transition:transform .42s var(--ease-ios),opacity .42s var(--ease-ios);background:var(--group)}
.mpage.under{transform:translateX(-28%);opacity:.0}
.mpage.right{transform:translateX(100%)}
.mpage .gsec{margin:0 16px 24px}
.mtitle{padding:4px 20px 18px}
.mtitle .wm{font-size:2rem}
.mtitle p{margin:4px 0 0;font-size:.9375rem;color:var(--ink-2)}
.ptitle{font-family:var(--serif);font-style:italic;font-size:1.75rem;padding:2px 20px 14px;margin:0}
.prose{padding:0 20px;color:var(--ink-2);font-size:.9375rem;line-height:1.55}
.prose h4{color:var(--ink);font-size:1rem;margin:18px 0 4px}
.prose p{margin:0 0 10px}
.prose ul{padding-left:20px;margin:0 0 10px}
.mfoot{padding:0 32px;font-size:.75rem;color:var(--muted);line-height:1.5}
.rowfield{padding:10px 16px 14px}
.rowfield .field{background:var(--field)}
.provgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}
.provgrid button{padding:10px 4px 12px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.75rem;font-weight:600;transition:background .25s,box-shadow .25s}
.provgrid button[aria-pressed="true"]{background:var(--fill);box-shadow:0 0 0 2.5px var(--tint)}
.provgrid .pi{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1rem}
.status-line{font-size:.8125rem;padding:7px 16px 0;color:var(--muted)}
.status-line.ok{color:var(--ok)}
.status-line.err{color:var(--rose)}

/* ---------- welcome ---------- */
.welcome{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:radial-gradient(120% 80% at 50% 0%,var(--sky-top),var(--bg) 70%);transition:opacity .5s var(--ease-ios),transform .5s var(--ease-ios)}
.welcome.out{opacity:0;transform:scale(1.03);pointer-events:none}
.wbox{width:min(520px,92vw);text-align:center;display:flex;flex-direction:column;align-items:center}
.orb{position:relative;width:180px;height:180px;display:grid;place-items:center;margin-bottom:20px}
.orb::before,.orb::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.95),rgba(139,183,233,.35) 60%,rgba(139,183,233,0) 72%);animation:breathe 5s ease-in-out infinite}
.orb::after{inset:-26px;background:none;border:1px solid color-mix(in srgb,var(--sky) 55%,transparent);animation:ring 5s ease-in-out infinite}
[data-theme="dark"] .orb::before{background:radial-gradient(circle at 50% 40%,rgba(139,183,233,.35),rgba(139,183,233,.12) 60%,transparent 72%)}
.orb .mk{position:relative;width:104px;height:104px}
@keyframes breathe{50%{transform:scale(1.05)}}
@keyframes ring{50%{transform:scale(1.06);opacity:.5}}
.wto{font-size:.9375rem;color:var(--ink-2);margin:0}
.wbig{font-family:var(--serif);font-size:3.25rem;line-height:1.05;margin:2px 0 10px}
.wbig i{background:linear-gradient(90deg,#3f82cf,#7fb0e6,#e8a487);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:4px}
.wline{color:var(--ink-2);margin:0 0 26px;font-size:1.0625rem;max-width:40ch}
.wq{width:100%;text-align:left}
.wq .glist{margin-top:4px}
.wstep{animation:rise .55s var(--ease-ios) both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}

/* ---------- alerts and toasts ---------- */
.alert-wrap{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(6,10,20,0);transition:background .3s}
.alert-wrap.on{background:rgba(6,10,20,.35)}
.alert{width:min(300px,86vw);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:16px;text-align:center;overflow:hidden;box-shadow:var(--shadow-2);transform:scale(1.12);opacity:0;transition:transform .4s var(--spring),opacity .25s}
.alert-wrap.on .alert{transform:none;opacity:1}
.alert-wrap.out .alert{transform:scale(.94);opacity:0;transition:transform .2s var(--ease-ios-in),opacity .2s}
.alert h4{margin:18px 16px 4px;font-size:1.0625rem}
.alert p{margin:0 16px 16px;font-size:.8125rem;color:var(--ink-2)}
.alert .ab{display:flex;border-top:.5px solid var(--sep)}
.alert .ab button{flex:1;min-height:44px;color:var(--tint);font-size:1.0625rem}
.alert .ab button+button{border-left:.5px solid var(--sep)}
.alert .ab .bold{font-weight:600}
.alert .ab .red{color:var(--rose);font-weight:600}
.toast{position:fixed;top:14px;left:50%;z-index:95;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--shadow-2);font-weight:600;font-size:.875rem;transform:translate(-50%,-80px);transition:transform .45s var(--spring)}
.toast.on{transform:translate(-50%,0)}
.toast.out{transform:translate(-50%,-80px);transition:transform .3s var(--ease-ios-in)}
.toast svg{width:18px;height:18px;color:var(--green)}

/* ---------- motion ---------- */
.enter>*{animation:rise .5s var(--ease-ios) both}
.enter>*:nth-child(2){animation-delay:.05s}.enter>*:nth-child(3){animation-delay:.1s}.enter>*:nth-child(4){animation-delay:.15s}.enter>*:nth-child(5){animation-delay:.2s}.enter>*:nth-child(n+6){animation-delay:.25s}
.mk .sel{transform-box:fill-box;transform-origin:center}
.mk.play .sel{animation:choose 1.9s var(--ease-ios) .3s both}
@keyframes choose{
  0%{transform:translate(0,144%) scale(.2);opacity:0}
  14%{transform:translate(0,144%) scale(.82);opacity:1}
  32%{transform:translate(-144%,144%) scale(.82)}
  52%{transform:translate(-144%,0) scale(.82)}
  74%{transform:translate(0,0) scale(.82)}
  86%{transform:translate(0,0) scale(1.12)}
  100%{transform:none}
}
html.rm *,html.rm *::before,html.rm *::after{animation:none!important;transition-duration:.01s!important}
@media (prefers-reduced-motion:reduce){html:not(.motion-on) *,html:not(.motion-on) *::before,html:not(.motion-on) *::after{animation:none!important;transition-duration:.01s!important}}

/* ---------- phones and small windows ---------- */
@media (max-width:980px){
  .build{grid-template-columns:1fr}
  .aside{position:static}
}
@media (max-width:820px){
  .rail{display:none}
  main{margin-left:0;padding:8px 16px 120px}
  .topbar{display:flex;align-items:center;gap:10px;padding:calc(16px + env(safe-area-inset-top)) 16px 10px}
  .topbar .mk{width:44px;height:44px}
  .topbar .grow{flex:1}
  .avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
  .avatar span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8bb7e9,#e8a487);color:#fff}
  .avatar .ic{width:20px;height:20px}
  .tabbar{display:flex;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;padding:6px;gap:2px;border-radius:999px;background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--shadow-tabbar)}
  .tabbar button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:76px;min-height:52px;padding:6px 10px;border-radius:999px;font-size:.6875rem;font-weight:650;color:var(--ink-2)}
  .tabbar button[aria-current="page"]{color:var(--tint)}
  .tabbar .hl{position:absolute;z-index:0;top:6px;bottom:6px;border-radius:999px;background:var(--card);box-shadow:0 2px 8px rgba(0,0,0,.1);transition:left .45s var(--spring),width .45s var(--spring)}
  .grid2{grid-template-columns:1fr 1fr}
  .grid2.two{grid-template-columns:1fr}
  .seg{max-width:100%;overflow-x:auto}
  .menu{width:100vw}
  .lt{font-size:2rem}
  .opt{grid-template-columns:30px 1fr}
  .opt .ans{grid-column:2;grid-row:auto}
  .trywrap{height:70vh}
}
@media (max-width:480px){ .grid2{grid-template-columns:1fr} .wbig{font-size:2.6rem} }

/* ---------- 0.4: Build redesign ---------- */
.gl{width:20px;height:20px;flex:none;display:block}
.glin{width:15px;height:15px;display:inline-block;vertical-align:-2px;margin-right:2px;color:var(--accent-ink)}
.form .card.step{padding:22px 24px 24px;scroll-margin-top:20px}
.stephead{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.stephead h2.t2{margin:0!important;flex:1;min-width:0}
.stephead .num{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--tint);background:var(--tint-soft)}
.stephead .hint{white-space:nowrap}
.lab-note{font-weight:500;color:var(--muted)}
.lab-note::before{content:"· "}
.hint.after{margin:10px 0 0}
.form .card.flash{animation:flash 1.2s var(--ease-ios)}
@keyframes flash{0%{box-shadow:var(--shadow-1),0 0 0 3px var(--tint)}100%{box-shadow:var(--shadow-1),0 0 0 3px transparent}}
.rm .form .card.flash{animation:none}

/* year group beside session time; stacks when narrow */
.pairrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:16px;margin-top:16px;align-items:end}
.seg.full{display:flex;width:100%;flex-wrap:nowrap}
.seg.full button{flex:1 1 0;justify-content:center;min-width:0;padding:6px 4px;min-height:44px}
.seg.full .unit{font-weight:500;color:var(--muted)}
.seg.fmodes{margin-bottom:16px}
.seg.fmodes button{gap:8px;font-size:.9375rem}
.seg.fmodes .gl{width:18px;height:18px}
[data-theme="dark"] .seg button[aria-pressed="true"]{background:#46536d;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 3px 8px rgba(0,0,0,.35)}
@container main (max-width: 30rem){ .seg.full .unit{display:none} }

/* formulation */
.fieldwrap{position:relative}
.fieldbar{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-top:8px}
.btn.small{min-height:36px;padding:7px 14px;font-size:.875rem;border-radius:11px;gap:7px}
.btn.small .gl{width:16px;height:16px}
.microw{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:12px 14px;border-radius:16px;background:var(--field)}
.microw b{display:block;font-size:.9375rem}
.microw .hint{display:block;margin-top:2px}
.mic{position:relative;width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--on-btn);transition:transform .28s var(--spring),background .2s}
.mic .gl{width:24px;height:24px}
.mic:active{transform:scale(.94)}
.mic.on{background:#b3402c;color:#fff}
[data-theme="dark"] .mic.on{background:#ff99a4;color:#04121d}
.mic.on::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #b3402c;opacity:.5;animation:ring 1.6s ease-out infinite}
[data-theme="dark"] .mic.on::after{border-color:#ff99a4}
@keyframes ring{from{transform:scale(.9);opacity:.6}to{transform:scale(1.25);opacity:0}}
.rm .mic.on::after{animation:none}
.suggest{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px 12px 12px 14px;border-radius:16px;background:var(--accent-soft)}
.suggest .optt b{font-size:.9375rem}
.suggest .btn{flex:none}
.suggest.off{background:var(--field)}
.suggest.off .optic{filter:grayscale(1);opacity:.7}

/* selectable cards: adjustments and first principles */
.ocards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));gap:10px}
.ocard{position:relative;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:13px 40px 13px 13px;border-radius:16px;background:var(--field);color:var(--ink);min-height:70px;transition:background .25s var(--ease-ios),box-shadow .25s,transform .28s var(--spring)}
.ocard:hover{background:color-mix(in srgb,var(--field) 80%,var(--tint) 8%)}
.ocard:active{transform:scale(.98)}
.ocard[aria-pressed="true"]{background:var(--tint-soft);box-shadow:inset 0 0 0 2px var(--tint)}
.optic{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--card);color:var(--tint);box-shadow:0 0 0 .5px var(--sep)}
.optic.warm{color:var(--accent-ink)}
.ocard[aria-pressed="true"] .optic{background:var(--tint);color:var(--on-tint,#fff)}
[data-theme="dark"] .ocard[aria-pressed="true"] .optic{color:#04121d}
.optt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.optt b{font-weight:650;font-size:.9375rem;line-height:1.3}
.optt small{font-size:.8125rem;line-height:1.4;color:var(--ink-2)}
.octick{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--sep);color:transparent;transition:background .2s,color .2s}
.octick .gl{width:14px;height:14px;stroke-width:3}
.ocard[aria-pressed="true"] .octick{background:var(--tint);box-shadow:none;color:#fff}
[data-theme="dark"] .ocard[aria-pressed="true"] .octick{color:#04121d}
.warnpill,.srcpill{align-self:flex-start;margin-top:5px;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.5}
.srcpill{background:var(--card);color:var(--ink-2);font-weight:600;box-shadow:0 0 0 .5px var(--sep)}

/* what to assess */
.lensrow{display:grid;grid-template-columns:minmax(min(100%,15rem),18rem) 1fr;gap:6px 16px;align-items:end}
.lenssub{margin:0 0 12px;font-size:.875rem;line-height:1.45;color:var(--ink-2)}
@container main (max-width: 40rem){ .lensrow{grid-template-columns:1fr} .lenssub{margin:2px 0 0} }
.principles{margin-top:16px;padding-top:16px;border-top:.5px solid var(--sep)}
.subjects{margin-top:18px;padding-top:16px;border-top:.5px solid var(--sep)}
.minihead{margin:0 0 10px;font-size:.9375rem;font-weight:650}
.notice.soft{margin-top:12px}

/* questionnaire counters */
.counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,max-content));gap:14px 28px;margin-top:18px}
.counter{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.counter .lab{margin-bottom:6px}
.stepper button{height:40px}

/* summary: step list */
.jump{display:flex;flex-direction:column;margin:-4px -8px 14px;padding-bottom:12px;border-bottom:.5px solid var(--sep)}
.jump button{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;min-height:38px;padding:4px 8px;border-radius:10px;text-align:left;font-size:.875rem;color:var(--ink-2)}
.jump button:hover{background:var(--fill)}
.jn{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.6875rem;font-weight:700;box-shadow:inset 0 0 0 1.5px var(--sep);color:var(--muted)}
.jn .gl{width:13px;height:13px;stroke-width:3}
.jump .done .jn{background:var(--ok);color:#fff;box-shadow:none}
[data-theme="dark"] .jump .done .jn{color:#04121d}
.jump .done .jt{color:var(--ink);font-weight:600}
.jump small{font-size:.75rem;color:var(--muted)}
.connect{margin-bottom:16px}

/* ---------- 0.4: Guide ---------- */
.guide{max-width:880px}
.ghero{display:flex;gap:20px;align-items:center;margin-bottom:6px}
.gmark{width:76px;height:76px;flex:none;border-radius:22px;display:grid;place-items:center;background:var(--card);box-shadow:var(--shadow-1)}
.gmark .mk{width:52px;height:52px}
.ghero .lead{margin-bottom:0}
.gnav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px}
.gnav a{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border-radius:999px;background:var(--card);box-shadow:var(--shadow-1);color:var(--ink);text-decoration:none;font-size:.875rem;font-weight:600;transition:transform .28s var(--spring)}
.gnav a:hover{color:var(--tint)}
.gnav a:active{transform:scale(.97)}
.phases{display:grid;gap:16px;margin-bottom:16px}
.guide .card{margin-bottom:16px;padding:22px 24px;scroll-margin-top:20px}
.phases .card{margin:0}
.phead{display:flex;align-items:center;gap:14px}
.phead .t2{margin:2px 0 0}
.ptile{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;color:var(--tone,var(--icon-ink));background:color-mix(in srgb,var(--tone,var(--ink)) 12%,transparent)}
.ptile .gl{width:22px;height:22px}
.psub{margin:12px 0 0;color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.guide .psteps{list-style:none;counter-reset:s;margin:16px 0 0;padding:0;display:grid;gap:4px}
.guide .psteps li{margin:0;counter-increment:s;position:relative;padding:8px 0 8px 40px;color:var(--ink-2);line-height:1.5;border-top:.5px solid var(--sep)}
.guide .psteps li:first-child{border-top:0}
.guide .psteps li::before{content:counter(s);position:absolute;left:0;top:7px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.8125rem;font-weight:700;color:var(--tint);background:var(--tint-soft)}
.psteps b,.guide b{color:var(--ink)}
.lenses{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:10px;margin-top:16px}
.lens{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:var(--field)}
.lens small{font-size:.8125rem;line-height:1.45;color:var(--ink-2)}
.lnum{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:var(--card);color:var(--tint);margin-bottom:4px}
.guide .prlist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}
.guide .prlist li{margin:0;display:flex;align-items:center;gap:12px;padding:10px 0;border-top:.5px solid var(--sep)}
.guide .prlist li:first-child{border-top:0}
.prlist .srcpill{margin:0;flex:none}
@container main (max-width: 36rem){ .prlist li{flex-wrap:wrap} .prlist .srcpill{margin-left:48px} }
.keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:10px;margin:14px 0 0}
.keys div{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:var(--field)}
.keys dt{display:flex;gap:6px;flex-wrap:wrap}
.keys dd{margin:0;font-size:.875rem;color:var(--ink-2)}
kbd{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:9px;background:var(--card);color:var(--ink);font:600 .875rem/1 var(--sans);box-shadow:0 0 0 .5px var(--sep),0 2px 0 var(--sep)}
.gdetails summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;min-height:44px}
.gdetails summary::-webkit-details-marker{display:none}
.gdetails summary .t2{font-family:var(--serif);font-style:italic;font-size:1.375rem}
.gdetails .chev{transition:transform .3s var(--ease-ios);color:var(--muted)}
.gdetails[open] .chev{transform:rotate(180deg)}
.gdetails p,.gdetails li{color:var(--ink-2)}
.guide ul{padding-left:20px}
@container main (max-width: 36rem){ .ghero{flex-direction:column;align-items:flex-start} }

.formrow{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border-radius:16px;background:var(--accent-soft)}
.formrow .optic{color:var(--accent-ink)}
.formrow.off{background:var(--field)}
.formrow .switch[disabled]{opacity:.45;cursor:not-allowed}

.lvcol{display:flex;flex-direction:column}
.lab.sub{margin-top:10px}
.field.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9375rem;line-height:1.5}
.ownfound{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--ok-soft)}
.ownfound b{color:var(--ink)}
.ownfound span{font-size:.875rem;color:var(--ink-2)}
.own-switches{margin-top:14px;border-radius:16px;background:var(--field);padding:0 14px}
.own-switches .row{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 0;border-top:.5px solid var(--sep)}
.own-switches .row:first-child{border-top:0}
.own-switches .rt{flex:1;display:flex;flex-direction:column;gap:2px}
.own-switches .rt small{font-size:.8125rem;color:var(--ink-2)}
.own-switches .switch[disabled]{opacity:.45;cursor:not-allowed}
.own-switches[hidden]{display:none}

/* layout follows the space the form actually has, so larger text never squeezes it */
main{container-type:inline-size;container-name:main}
.grid2{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}
.grid2.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.seg{flex-wrap:wrap}
.actrow .btn,.speakrow .btn,.connect .btn{white-space:normal;text-align:center}
.connect{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}
.connect>div{min-width:min(100%,14rem)}
@container main (max-width: 58rem){
  .build{grid-template-columns:minmax(0,1fr)}
  .aside{position:static;order:2}
  .summary{max-width:36rem}
}

.connect>div{flex:1 1 14rem}

.guide code{overflow-wrap:anywhere}
/* 0.5.1: write it yourself */
.owndoc{margin:12px 0 4px;border-radius:14px;background:var(--field);padding:2px 14px}
.owndoc summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:600;font-size:.875rem;color:var(--tint)}
.owndoc summary:focus-visible{outline:2px solid var(--tint);outline-offset:2px;border-radius:8px}
.owndoc ul{margin:2px 0 12px;padding-left:18px;color:var(--ink-2);font-size:.875rem;line-height:1.5}
.owndoc li{margin:0 0 6px}
.owndoc b{color:var(--ink)}
.owndoc code{font-size:.85em;padding:1px 5px;border-radius:6px;background:var(--card)}
.ownfound .ownparts{list-style:none;margin:6px 0 8px;padding:0;display:grid;gap:2px}
.ownfound .ownparts li{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;padding:4px 0;border-top:.5px solid var(--sep)}
.ownfound .ownparts li:first-child{border-top:0}
.ownfound .ownparts em{font-style:normal;color:var(--muted)}
.ownfound .ownparts b{font-weight:600;white-space:nowrap}
.seg button[role="tab"][aria-selected="true"]{background:var(--card);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
[data-theme="dark"] .seg button[role="tab"][aria-selected="true"]{background:#46536d;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 3px 8px rgba(0,0,0,.35)}
/* 0.6.0: three kinds of battery */
.kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 18px}
.kcard{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:14px;border-radius:18px;background:var(--card);box-shadow:var(--shadow-1);transition:box-shadow .25s,background .25s}
.kcard[aria-pressed="true"]{box-shadow:inset 0 0 0 2.5px var(--tint),var(--shadow-1)}
.kcard:focus-visible{outline:2px solid var(--tint);outline-offset:2px}
.kcard .kt{display:flex;flex-direction:column;gap:3px;min-width:0}
.kcard .kt b{font-size:1rem;color:var(--ink)}
.kcard .kt small{font-size:.8125rem;line-height:1.4;color:var(--ink-2)}
.kic{width:40px;height:40px;flex:none;border-radius:11px;display:grid;place-items:center;color:var(--tone,var(--icon-ink));background:color-mix(in srgb,var(--tone,var(--ink)) 12%,transparent)}
[data-theme="dark"] .kic,[data-theme="dark"] .ptile{background:color-mix(in srgb,var(--tone,#fff) 20%,transparent)}
.kic .gl{width:22px;height:22px}
@container main (max-width: 46rem){ .kinds{grid-template-columns:1fr} .kcard{padding:12px} }
@media (max-width: 760px){ .kinds{grid-template-columns:1fr} }
.subnav{display:flex;flex-direction:column;gap:2px;margin:-2px 0 6px 18px;padding-left:12px;border-left:1.5px solid var(--sep)}
.snav{display:flex;align-items:center;gap:9px;min-height:36px;padding:6px 10px;border-radius:10px;font-size:.875rem;color:var(--ink-2);text-align:left}
.snav:hover{background:var(--fill)}
.snav[aria-current]{color:var(--ink);font-weight:600;background:var(--fill)}
.sdot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--tone,var(--muted))}
.linkish{color:var(--tint);font-weight:600;text-decoration:underline;text-underline-offset:2px;padding:0;background:none;font-size:inherit}
.bfilter{margin:0 0 16px}
.bfilter .bn{margin-left:6px;font-weight:500;color:var(--muted)}
.kpill{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.02em;text-transform:none;padding:2px 8px;border-radius:99px;margin-bottom:6px;align-self:flex-start}
.kpill.k-pupil{background:var(--tint-soft);color:var(--tint)}
.kpill.k-parent{background:var(--warn-bg);color:var(--warn-ink)}
.kpill.k-staff{background:var(--ok-soft);color:var(--ok)}
.dhead .eyebrow .kpill{margin:0 6px 0 0;vertical-align:1px}
.lensbtn{text-align:left;cursor:pointer;transition:box-shadow .2s}
.lensbtn:hover{box-shadow:inset 0 0 0 2px var(--tint)}
.lensbtn .kic{margin-bottom:6px}
.ownth{display:block;font-size:.8125rem;color:var(--ink-2);margin:2px 0 6px}

/* Paste a battery */
.field.tall.paste{min-height:min(56vh,560px);max-height:75vh;font-size:.875rem;line-height:1.55}
#h-paste,#h-pdet{margin:0}
/* 0.9.3 sync folder needs a fresh OK */
.syncbar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:94;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:var(--glass,#fff);backdrop-filter:blur(24px) saturate(1.4);box-shadow:0 8px 30px rgba(19,35,61,.18);font-size:.9rem;max-width:calc(100vw - 32px)}
.syncbar span{flex:1}
@media (max-width:520px){.syncbar{border-radius:18px;flex-wrap:wrap}}
@media (max-width:820px){.syncbar{bottom:calc(96px + env(safe-area-inset-bottom))}}
/* 0.10 children first: the logo goes home, settings hold settings only */
button.brand{width:100%;text-align:left;border-radius:14px;margin-bottom:6px}
button.brand:hover .wm{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.brand-s{display:grid;place-items:center;border-radius:12px;flex:none}
.brand-s .mk{width:36px;height:36px}
.railsep{height:.5px;background:var(--sep);margin:8px 12px}
.forbar{display:flex;align-items:center;gap:10px;margin:4px 0 18px;max-width:440px}
.forbar label{font-weight:700;font-size:.875rem;color:var(--ink-2)}
.forbar .field{flex:1;min-height:40px;padding:8px 12px}
.kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.kid{display:flex;flex-direction:column;gap:12px;text-align:left;background:var(--card);border-radius:var(--radius-post);box-shadow:var(--shadow-2);padding:18px 20px;transition:transform .3s var(--spring),box-shadow .3s;min-height:150px}
.kid:hover{transform:translateY(-2px)}
.kid:active{transform:scale(.985)}
.kid .khead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.kid .kname{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.15}
.kid .kyear{font-size:.8125rem;color:var(--muted);font-weight:600;white-space:nowrap}
.kslots{display:flex;flex-direction:column;gap:7px}
.kslot{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;font-size:.8125rem}
.kslot .sdot{grid-row:span 2}
.kslot .kl{font-weight:600;color:var(--ink)}
.kslot .ks{color:var(--ink-2);grid-column:2}
.kslot.none .kl,.kslot.none .ks{color:var(--muted);font-weight:500}
.kslot.going .ks{color:var(--accent-ink);font-weight:600}
.kslot.done .ks{color:var(--ok,#1e7a46);font-weight:600}
.kid.new{align-items:center;justify-content:center;flex-direction:row;gap:8px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--sep);color:var(--tint);font-weight:600;font-size:1rem}
.kid.new .ic{width:22px;height:22px}
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:start;margin-top:8px}
.slot{display:flex;flex-direction:column;gap:12px}
.slhead{display:flex;align-items:center;gap:12px}
.slhead .t2{margin:0;font-size:1.0625rem}
.slhead .kic{width:34px;height:34px;border-radius:9px}
.slhead .kic .gl{width:18px;height:18px}
.slnone{margin:0;color:var(--ink-2);font-size:.9375rem;line-height:1.45}
.slrec{display:flex;flex-direction:column;gap:6px}
.slrec.older{padding-top:10px;border-top:.5px solid var(--sep)}
.sltitle{text-align:left;font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.2;color:var(--ink)}
.sltitle:hover{color:var(--tint)}
.slrec.older .sltitle{font-size:1rem}
.slst{font-size:.8125rem;color:var(--ink-2)}
.slst.going{color:var(--accent-ink);font-weight:600}
.slst.done{color:var(--ok,#1e7a46);font-weight:600}
.slacts,.slmore{display:flex;flex-wrap:wrap;gap:8px}
.slmore{border-top:.5px solid var(--sep);padding-top:8px;margin-top:2px}
.alert.kidbox{width:min(380px,92vw);text-align:left}
.kidbox h4{margin:18px 18px 10px}
.kidbox .lab{display:block;margin:10px 18px 6px}
.kidbox .field{width:calc(100% - 36px);margin:0 18px}
.kidbox .kbnote{margin:12px 18px 16px;font-size:.8125rem;color:var(--muted)}
/* ---------- 0.11 top bar, search, caseload, duplicate, the choosing mark ---------- */
.dtop{position:fixed;inset:0 0 auto 0;height:72px;z-index:40;display:flex;align-items:center;gap:24px;padding:0 24px 0 14px;background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:.5px solid var(--sep)}
.dtop .brand{width:226px;flex:none;margin:0;padding:6px 10px}
.dtop .brand .mk{width:42px;height:42px}
.rail{top:72px;padding-top:20px}
main{padding-top:100px}
.aside{top:96px}
.sbox{flex:1;max-width:640px;margin:0 auto;display:flex;align-items:center;gap:12px;height:46px;padding:0 10px 0 16px;border-radius:14px;background:var(--card);box-shadow:var(--shadow-1);color:var(--muted);font-weight:500;text-align:left}
.sbox span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbox .ic{width:20px;height:20px}
kbd{font:600 .75rem var(--sans);color:var(--ink-2);background:var(--fill);border-radius:7px;padding:3px 8px}
.dright{display:flex;align-items:center;gap:12px;flex:none;min-width:200px;justify-content:flex-end}
.spill{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px 0 12px;border-radius:999px;font-weight:600;font-size:.8125rem;background:var(--fill);color:var(--ink-2)}
.spill.ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--ok)}
.spill.warn{background:var(--accent-soft);color:var(--accent-ink)}
.spill .gl{width:16px;height:16px}
.avatar-d{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.avatar-d span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(150deg,#8bb7e9,#ffb090);color:#0e1116;font-weight:700;font-size:.875rem;box-shadow:0 0 0 2px var(--card),0 6px 16px -6px rgba(23,60,130,.5)}
.avatar-d .ic{width:20px;height:20px}
.raileye{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 12px 4px}
.nav .count.quiet{background:none;color:var(--muted);font-weight:600}
.sbtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}
@media (max-width:820px){ .dtop{display:none} main{padding-top:8px} }
/* the mark chooses */
.mk.live .sel,.mk.live .ring{transform-box:fill-box;transform-origin:center}
.mk.live .probe,.mk.live .ring{opacity:0}
.mk.live.go .sel{animation:mk-sel 2.4s var(--ease-ios) both}
.mk.live.go .probe{animation:mk-probe 2.4s var(--ease-ios) both}
.mk.live.go .ring{animation:mk-ring 2.4s ease-out both}
@keyframes mk-sel{0%{transform:scale(1)}10%{transform:scale(0)}64%{transform:scale(0)}74%{transform:scale(1.2)}84%{transform:scale(.95)}92%,100%{transform:scale(1)}}
@keyframes mk-probe{0%,8%{transform:translate(0,0);opacity:0}14%{transform:translate(0,0);opacity:.9}26%{transform:translate(0,0);opacity:.9}38%{transform:translate(0,46px);opacity:.9}50%{transform:translate(46px,46px);opacity:.9}62%{transform:translate(46px,0);opacity:.9}66%,100%{transform:translate(46px,0);opacity:0}}
@keyframes mk-ring{0%,68%{transform:scale(1);opacity:0}72%{transform:scale(1);opacity:.8}100%{transform:scale(2.2);opacity:0}}
.rm .mk.live .sel,.rm .mk.live .probe,.rm .mk.live .ring{animation:none!important}
@media (prefers-reduced-motion:reduce){.mk.live .sel,.mk.live .probe,.mk.live .ring{animation:none!important}}
/* search */
.spal-wrap{position:fixed;inset:0;z-index:95;display:flex;justify-content:center;align-items:flex-start;padding:9vh 16px 16px;background:rgba(10,14,22,0);transition:background .25s}
.spal-wrap.on{background:rgba(10,14,22,.32)}
.spal{width:min(640px,100%);max-height:78vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 0 0 .5px var(--sep),0 40px 90px -30px rgba(10,25,60,.55);transform:translateY(-10px) scale(.98);opacity:0;transition:transform .32s var(--ease-ios),opacity .22s}
.spal-wrap.on .spal{transform:none;opacity:1}
.spal-wrap.out .spal{transform:scale(.98);opacity:0;transition:transform .2s var(--ease-ios-in),opacity .18s}
.sqrow{display:flex;align-items:center;gap:12px;min-height:62px;padding:0 18px;border-bottom:.5px solid var(--sep)}
.sqrow .ic{color:var(--tint);width:22px;height:22px}
.sqrow input{flex:1;border:0;outline:0;background:transparent;font-size:1.1875rem;font-weight:500;min-height:44px}
#sres{overflow:auto;padding:6px 10px 10px}
.sgh{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 12px 6px}
.sres{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:8px 12px;border-radius:14px;text-align:left}
.sres.on{background:color-mix(in srgb,var(--tint) 12%,transparent)}
.sres .st{flex:1;display:flex;flex-direction:column;min-width:0}
.sres .st>span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sres .st .skid{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.125rem}
.sres small{color:var(--ink-2);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sres .kic{width:32px;height:32px;border-radius:9px}.sres .kic .gl{width:17px;height:17px}
.sq-i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--fill);color:var(--ink-2);font-weight:700;font-size:.8125rem;flex:none}
.sq-i .gl{width:16px;height:16px;color:var(--tint)}
.snone{padding:18px 12px;color:var(--ink-2)}
.sfoot{display:flex;flex-wrap:wrap;gap:16px;padding:12px 20px;border-top:.5px solid var(--sep);font-size:.78rem;color:var(--muted)}
.sfoot .grow{flex:1;text-align:right;min-width:200px}
@media (max-width:640px){ .sfoot span:not(.grow){display:none} .sfoot .grow{text-align:left} }
/* caseload home */
.homehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.homehead .lead{margin:6px 0 0}
.hacts{display:flex;gap:10px;flex-wrap:wrap}
.kav{width:var(--avs);height:var(--avs);border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:calc(var(--avs) * .33);color:#0e1116;background:linear-gradient(150deg,var(--av1),var(--av2))}
.carry{position:relative;overflow:hidden;display:flex;align-items:center;gap:28px;padding:24px 28px;border-radius:var(--radius-post);background:var(--card);box-shadow:var(--shadow-2);margin-bottom:30px;flex-wrap:wrap}
.carry .glow{position:absolute;border-radius:50%;pointer-events:none}
.carry .g1{right:-60px;top:-90px;width:360px;height:300px;background:radial-gradient(closest-side,color-mix(in srgb,var(--peach) 45%,transparent),transparent)}
.carry .g2{right:160px;top:20px;width:300px;height:260px;background:radial-gradient(closest-side,color-mix(in srgb,var(--sky) 40%,transparent),transparent)}
.carry .ring,.carry .ctext,.carry .cacts{position:relative}
.carry .ctext{flex:1;min-width:240px}
.carry .eyebrow{color:var(--accent-ink)}
.carry h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.75rem;line-height:1.18;margin:6px 0 4px}
.carry p{margin:0;color:var(--ink-2)}
.cacts{display:flex;gap:10px}
.ring .rnum{font-family:var(--serif);font-style:italic;font-size:22px;fill:var(--ink)}
.kidbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.kidbar .t2{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.5rem}
.kids{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.kid{padding:20px 22px 18px;gap:16px;min-height:176px}
.kid .khead{display:flex;align-items:center;gap:14px}
.kid .kwho{flex:1;display:flex;flex-direction:column;min-width:0}
.kid .kname{font-size:1.5rem}
.kid .kyear{white-space:normal}
.kid .khead .gl{color:var(--muted);width:18px;height:18px}
.kslot{display:flex;align-items:center;gap:10px;font-size:.875rem}
.kslot .sdot{grid-row:auto}
.kslot .kl{flex:1;font-weight:500;color:var(--ink-2)}
.kp{font-size:.78rem;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap;background:var(--fill);color:var(--muted)}
.kp.ready{background:color-mix(in srgb,var(--tint) 12%,transparent);color:var(--tint)}
.kp.going{background:var(--accent-soft);color:var(--accent-ink)}
.kp.done{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--ok)}
/* a child or young person's page */
.kidhead{display:flex;align-items:center;gap:22px;margin:8px 0 22px;flex-wrap:wrap}
.kidhead .kav{box-shadow:0 0 0 4px var(--card),0 18px 40px -18px rgba(23,60,130,.45)}
.kidhead .kh{flex:1;min-width:200px}
.kidhead .lt{font-size:2.75rem;margin:0}
.kidhead .acts{display:flex;gap:8px}
.slot{padding:22px;border-radius:var(--radius-post);box-shadow:var(--shadow-2);gap:14px}
.slhead .t2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.25rem}
.slnow{display:flex;align-items:center;gap:16px}
.slnow .slnone{flex:1}
.sltitle{font-size:1.375rem}
.sltitle.small{font-size:1rem}
.slst{font-weight:700;font-size:.875rem;margin-top:2px}
.slst.ready{color:var(--tint)}
.slacts .btn.primary{flex:1;justify-content:center}
.dupl{align-self:flex-start}
.older{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:.5px solid var(--sep)}
.tl{margin-top:20px;padding:22px 26px;border-radius:var(--radius-post)}
.tl .t2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.25rem;margin:0 0 14px}
.tl ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:auto 18px minmax(0,1fr);row-gap:14px;column-gap:10px;align-items:start}
.tl li{display:contents}
.tl .tw{color:var(--muted);font-weight:600;font-size:.875rem;white-space:nowrap}
.tl .td{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--tint)}
.tl .td.going{background:var(--accent)}.tl .td.done{background:var(--green)}
.tl .tx{color:var(--ink-2);font-size:.9375rem}
.tl .tx b{color:var(--ink)}
/* duplicate */
.alert.dupbox{width:min(580px,94vw);text-align:left;padding:24px 0 0;max-height:92vh;overflow:auto}
.dupbox>.eyebrow,.dupbox h4,.dupbox .dbsub{margin-left:24px;margin-right:24px}
.dupbox h4{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.625rem;margin-top:4px;margin-bottom:6px}
.dupbox .dbsub{margin-top:0;margin-bottom:14px;font-size:.9375rem;color:var(--ink-2)}
.dupbox>.lab,.dbgrid,.dbwords,.dbnote{margin:0 24px 14px}
.dupbox .lab{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:700;color:var(--ink-2)}
.dbgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dbwh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.dbrow{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 80px;gap:8px;align-items:center;margin-bottom:8px}
.dbrow .gl{width:18px;height:18px;color:var(--muted)}
.dbn{font-size:.78rem;font-weight:700;color:var(--ok);text-align:right}
.dbnote{padding:12px 14px;border-radius:14px;background:var(--group);font-size:.875rem;color:var(--ink-2)}
@media (max-width:560px){ .dbgrid{grid-template-columns:1fr} .dbrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .dbrow>span[aria-hidden]{display:none} .dbn{grid-column:1 / -1;text-align:left} }
.kid .khead .gl,.dbrow>span .gl,.sq-i .gl{transform:rotate(-90deg)}
@media (min-width:821px){ .toast{top:84px} }
.renbtn{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:6px;vertical-align:middle;border-radius:12px;color:var(--muted)}
.renbtn:hover{background:var(--fill);color:var(--tint)}.renbtn .ic{width:20px;height:20px}
.renform{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}
.renform .field.lt{flex:1;min-width:240px;font-size:1.75rem;margin:0;padding:8px 14px}
.editbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px 12px 16px;border-radius:16px;background:var(--accent-soft);color:var(--ink)}
.editbar .ic{width:20px;height:20px;color:var(--accent-ink);flex:none}.editbar span{flex:1;min-width:220px}
.slrow{display:flex;flex-wrap:wrap;gap:4px;margin:-4px 0 0 -10px}
.olrow{display:flex;align-items:center;gap:4px}.olrow .sltitle{flex:1;text-align:left}
.iconbtn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--muted)}.iconbtn .ic{width:19px;height:19px}
.iconbtn:hover{background:var(--fill);color:var(--tint)}.iconbtn.danger:hover{color:var(--bad)}
.older .eyebrow{margin-bottom:2px}
.tl .td.edit{background:var(--peach)}.tl .td.del{background:var(--bad)}
.kpills{display:flex;gap:6px;flex-wrap:wrap}
.kpill.tpl{background:color-mix(in srgb,var(--peach) 30%,transparent);color:var(--accent-ink)}
.sendbox .sbacts{display:flex;gap:10px;flex-wrap:wrap;margin:4px 24px 22px}
.tplist{display:flex;flex-direction:column;gap:6px;margin:0 16px 16px}
.tpl{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;border-radius:14px;background:var(--fill);min-height:52px}
.tpl:hover{background:color-mix(in srgb,var(--tint) 12%,transparent)}
.tpl b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.125rem}.tpl small{color:var(--ink-2)}
/* ---------- 0.13 splash, tour, plans, home ---------- */
.splash{position:fixed;inset:0;z-index:120;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(120% 80% at 50% 0%,var(--sky-top),var(--bg) 70%);opacity:0;transition:opacity .35s var(--ease-ios)}
.splash.on{opacity:1}.splash.out{opacity:0;transition:opacity .5s var(--ease-ios-in)}
.sorb{position:relative;width:132px;height:132px;display:grid;place-items:center}
.sorb::before{content:"";position:absolute;inset:-18px;border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.95),color-mix(in srgb,var(--sky) 35%,transparent) 62%,transparent 74%)}
[data-theme="dark"] .sorb::before{background:radial-gradient(circle at 50% 40%,rgba(139,183,233,.32),rgba(139,183,233,.1) 60%,transparent 74%)}
.sorb .mk{position:relative;width:96px;height:96px}
.swm{font-family:var(--serif);font-size:2.25rem;line-height:1.1;opacity:0;transform:translateY(8px);animation:srise .7s var(--ease-ios) 1s forwards}
.swm i{background:linear-gradient(90deg,#3f82cf,#7fb0e6 55%,#e8a487);-webkit-background-clip:text;background-clip:text;color:transparent}
.stag{font-size:.9375rem;color:var(--ink-2);opacity:0;animation:srise .7s var(--ease-ios) 1.2s forwards}
@keyframes srise{to{opacity:1;transform:none}}
.rm .swm,.rm .stag{animation:none;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.swm,.stag{animation:none;opacity:1;transform:none}}
.tour .wbox{width:min(600px,92vw);display:flex;flex-direction:column;align-items:center;text-align:center}
.tour .orb .mk{width:104px;height:104px}
.wbig.wmid{font-size:2.2rem;margin-bottom:14px}
.wline.small{font-size:.875rem;color:var(--muted);margin-top:14px}
.tour .eyebrow{color:var(--tint);margin:0 0 8px}
.tsteps,.tdata{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;text-align:left;width:100%}
.tsteps li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:var(--card);box-shadow:var(--shadow-1)}
.tsteps .tn{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--on-btn);font-weight:700;font-size:.875rem}
.tsteps b{display:block}.tsteps small{display:block;color:var(--ink-2);font-size:.875rem;margin-top:2px}
.tdata li{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:16px;background:var(--card);box-shadow:var(--shadow-1)}
.tdata .gl{color:var(--ok);margin-top:2px}
.tplans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.tp{display:flex;flex-direction:column;gap:4px;padding:16px 12px;border-radius:18px;background:var(--card);box-shadow:var(--shadow-1)}
.tp.pro{box-shadow:0 0 0 2px var(--tint),var(--shadow-2)}
.tp b{font-size:.9375rem}.tpp{font-family:var(--serif);font-style:italic;font-size:1.75rem;line-height:1.1}.tpp small{font-family:var(--sans);font-style:normal;font-size:.75rem;color:var(--muted)}
.tp>small{color:var(--ink-2);font-size:.8125rem}
.tnav{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:24px;flex-wrap:wrap}
.tdots{display:flex;gap:4px}.tdots button{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}
.tdots button::before{content:"";width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--ink) 25%,transparent);transition:width .3s var(--ease-ios)}
.tdots button[aria-selected="true"]::before{background:var(--tint);width:20px;border-radius:5px}
.tbtns{display:flex;gap:8px}
@media (max-width:560px){.tplans{grid-template-columns:1fr}.wbig.wmid{font-size:1.8rem}}
/* plans */
.plhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.plhead .lead{margin:6px 0 0}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px 22px;border-radius:var(--radius-post);background:var(--card);box-shadow:var(--shadow-2)}
.plan.pro{box-shadow:0 0 0 2px var(--tint),var(--shadow-2)}
.pbadge{position:absolute;top:-12px;left:22px;font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--btn);color:var(--on-btn)}
.pname{font-weight:700;font-size:1.0625rem}
.pprice{font-family:var(--serif);font-style:italic;font-size:2.6rem;line-height:1}.pprice small{font-family:var(--sans);font-style:normal;font-size:.875rem;color:var(--muted);margin-left:4px}
.psave{align-self:flex-start;font-size:.75rem;font-weight:700;color:var(--ok);background:color-mix(in srgb,var(--green) 14%,transparent);border-radius:999px;padding:3px 10px}
.pfor{margin:0;color:var(--ink-2)}
.plan ul{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:9px;flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem}.plan li .gl{color:var(--ok);width:18px;height:18px;margin-top:2px}
.plan .btn{justify-content:center}.plan .btn[disabled]{opacity:1;color:var(--muted);cursor:default}
.pnow{display:block;text-align:center;font-weight:700;color:var(--tint);padding:10px;border-radius:14px;background:color-mix(in srgb,var(--tint) 10%,transparent)}
.pfaq{margin-top:26px;padding:22px 26px;border-radius:var(--radius-post)}.pfaq .t2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.375rem;margin:0 0 8px}
.pfaq details{border-top:.5px solid var(--sep);padding:12px 0}.pfaq summary{font-weight:600;cursor:pointer;min-height:28px}.pfaq p{margin:8px 0 0;color:var(--ink-2)}
/* home */
.planchip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;margin-bottom:8px;border-radius:999px;background:var(--fill);color:var(--ink-2);font-size:.8125rem;font-weight:600}
.planchip:hover{color:var(--ink);background:color-mix(in srgb,var(--tint) 14%,transparent)}
.pcdots{display:inline-flex;gap:3px}.pcdots i{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--muted)}.pcdots i.on{background:var(--tint);box-shadow:none}
.hstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 30px}
.hstat{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:20px;background:var(--card);box-shadow:var(--shadow-1)}
.hstat b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:2rem;line-height:1}
.hstat span{font-size:.8125rem;color:var(--ink-2);font-weight:600}
.hstat.going b{color:var(--accent-ink)}.hstat.done b{color:var(--ok)}.hstat.ready b{color:var(--tint)}
@media (max-width:700px){.hstats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hempty{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:30px 32px;border-radius:var(--radius-post);background:var(--card);box-shadow:var(--shadow-2);position:relative;overflow:hidden}
.hempty::before{content:"";position:absolute;right:-80px;top:-100px;width:360px;height:320px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--sky) 38%,transparent),transparent);pointer-events:none}
.heart{position:relative;width:120px;height:120px;flex:none;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.9),color-mix(in srgb,var(--sky) 30%,transparent) 70%)}
[data-theme="dark"] .heart{background:radial-gradient(circle at 50% 40%,rgba(139,183,233,.3),transparent 72%)}
.heart .mk{width:78px;height:78px}
.hetext{position:relative;flex:1;min-width:260px}
.hetext h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.75rem;margin:0 0 10px}
.hetext ol{margin:0 0 18px;padding-left:20px;color:var(--ink-2);display:flex;flex-direction:column;gap:6px}.hetext ol b{color:var(--ink)}
/* ---------- 0.14 the side panel narrows, your field, instructions for your own AI ---------- */
main,.rail{transition:margin-left .28s var(--ease-ios),width .28s var(--ease-ios),max-width .28s var(--ease-ios)}
.rail{overflow:hidden}
.rail .nav,.railtog{white-space:nowrap}
.railtog{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:12px;font-weight:600;font-size:.875rem;color:var(--muted);width:100%;text-align:left;margin-top:6px}
.railtog:hover{background:var(--fill);color:var(--ink)}
.railtog .ic .arr{transition:transform .28s var(--ease-ios);transform-origin:14.5px 12px}
.fieldchip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin:0 2px 8px;padding:10px 12px;border-radius:12px;background:var(--card);box-shadow:var(--shadow-1);text-align:left;width:calc(100% - 4px)}
.fieldchip:hover{background:var(--tint-soft)}
.fieldchip .fe{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fieldchip .fn{font-size:.8125rem;font-weight:600;color:var(--ink);line-height:1.3;white-space:normal}
.fieldchip .fc{font-size:.8125rem;font-weight:600;color:var(--tint)}
@media (prefers-reduced-motion:reduce){main,.rail,.railtog .ic .arr{transition:none}}

.welcome.tour{overflow:auto;padding:24px 0}
.tour .wbox.fbox{width:min(1040px,94vw);text-align:left;align-items:stretch}
.fbox .wbig{margin:4px 0 6px}
.fbox .wline{max-width:720px;margin:0 0 20px}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.fopts{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fopt{display:flex;gap:12px;padding:16px;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--sep);cursor:pointer;min-height:96px}
.fopt:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tint) 45%,var(--sep))}
.fopt:has(input:checked){background:var(--tint-soft);box-shadow:inset 0 0 0 2px var(--tint)}
.fopt input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--tint);flex:none}
.fopt b{display:block;font-size:1rem}
.fopt small{display:block;color:var(--ink-2);font-size:.8125rem;line-height:1.45;margin-top:4px}
.fwords{padding:18px;border-radius:20px;background:var(--group);box-shadow:inset 0 0 0 1px var(--sep)}
.fwords .eyebrow{color:var(--tint)}
.fwt{margin:2px 0 0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.375rem}
.fwsub{margin:2px 0 8px;font-size:.8125rem;color:var(--ink-2)}
.fwords .lab{margin-top:12px}
.fwords .field{width:100%;background:var(--card)}
.fwnote{margin:6px 0 0;font-size:.8125rem;color:var(--ink-2)}
.fwkinds{display:flex;flex-direction:column;gap:6px}
.fwth{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;cursor:pointer}
.fwth b{display:block;font-size:.875rem}.fwth small{display:block;font-size:.75rem;color:var(--ink-2)}
.fwth input{width:20px;height:20px;accent-color:var(--tint);flex:none}
.fwai{display:flex;gap:10px;margin:14px 0 0;padding:10px 12px;border-radius:14px;background:var(--card);font-size:.8125rem;line-height:1.45;color:var(--ink-2)}
.fwai .gl{width:18px;height:18px;flex:none;color:var(--tint);margin-top:1px}
.fbtns{justify-content:flex-end;margin-top:20px}
@media (max-width:860px){ .fgrid{grid-template-columns:1fr} .fopts{grid-template-columns:1fr} }

.aihelp{padding:0;margin:0 0 18px;overflow:hidden}
.aihelp>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;min-height:44px}
.aihelp>summary::-webkit-details-marker{display:none}
.aihelp>summary:focus-visible{outline:2px solid var(--tint);outline-offset:-2px;border-radius:18px}
.aihelp .aist{flex:1;display:flex;flex-direction:column}
.aihelp .aist small{color:var(--ink-2);font-size:.875rem}
.aihelp>summary>.gl:last-child{width:20px;height:20px;color:var(--muted);transform:rotate(90deg);transition:transform .2s}
.aihelp[open]>summary>.gl:last-child{transform:rotate(-90deg)}
.aisteps{list-style:none;margin:0;padding:0 20px 18px;display:flex;flex-direction:column;gap:14px}
.aisteps>li{display:flex;gap:14px;align-items:flex-start;padding-top:14px;border-top:.5px solid var(--sep)}
.aisteps .tn{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--on-btn);font-weight:700;font-size:.8125rem}
.aisteps>li>div{flex:1;min-width:0}
.aisteps p{margin:4px 0 0;color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.aisteps .hint{font-size:.8125rem}
.aisteps .fieldbar{margin-top:10px;justify-content:flex-start}
.aiask{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:var(--field);font-size:.9375rem;line-height:1.5;color:var(--ink)}
.aipre{white-space:pre-wrap;font:500 .8125rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-2);max-height:320px;overflow:auto;margin:4px 0 12px}
.welcome.tour:has(.fbox){place-items:start center;padding:36px 0 40px}
.fwkinds{display:grid;grid-template-columns:1fr;gap:6px}
/* 0.15 your plan and restoring it */
.pacct{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.pacct p{margin:0;color:var(--ink-2)}
.pacts{display:flex;flex-wrap:wrap;gap:8px}
.prest{display:flex;flex-wrap:wrap;gap:8px}
.prest .field{flex:1;min-width:220px}
.psent{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--ink)}
.psent .gl{width:18px;height:18px;flex:none;color:var(--ok);margin-top:2px}
/* ---------- 0.16 tags and sessions not needed ---------- */
.tchip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;padding:3px 9px 3px 7px;border-radius:999px;background:color-mix(in srgb,var(--tc) 15%,var(--card));color:var(--ink);line-height:1.3}
.tchip i,.tfilt i,.tpick i,.tdot{width:9px;height:9px;border-radius:50%;background:var(--tc);flex:none;display:inline-block}
.ktags{display:flex;flex-wrap:wrap;gap:6px}
.kidhead .ktags{margin-top:8px}
.tagbar{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}
.tfilt{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--sep);font-weight:600;font-size:.875rem;color:var(--ink)}
.tfilt:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tc,var(--tint)) 60%,var(--sep))}
.tfilt[aria-pressed="true"]{background:color-mix(in srgb,var(--tc) 16%,var(--card));box-shadow:inset 0 0 0 2px var(--tc)}
.tfilt .tn{font-size:.75rem;color:var(--muted);font-weight:700}
.tfilt.add{color:var(--tint);box-shadow:none;background:transparent;padding:0 8px}
.tfilt.add .ic{width:16px;height:16px}
.tagseye{display:flex;align-items:center;justify-content:space-between}
.railedit{font:600 .75rem var(--sans);letter-spacing:0;text-transform:none;color:var(--tint);padding:4px 6px;border-radius:8px}
.railedit:hover{background:var(--fill)}
.tagnav{min-height:38px;padding:6px 12px}
.tagnav .tdot{width:12px;height:12px;margin:0 5px}
.tagnav[aria-current="true"]{background:color-mix(in srgb,var(--tc) 14%,var(--card));color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--tc)}
.tagnav.add{color:var(--muted)}
.kbtags{display:flex;flex-wrap:wrap;gap:6px;margin:0 18px}
.tpick{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border-radius:999px;background:var(--fill);font-size:.8125rem;font-weight:600;cursor:pointer}
.tpick input{position:absolute;opacity:0;width:1px;height:1px}
.tpick:has(input:checked){background:color-mix(in srgb,var(--tc) 18%,var(--card));box-shadow:inset 0 0 0 2px var(--tc)}
.tpick:has(input:focus-visible){outline:2px solid var(--tint);outline-offset:2px}
.tpick.add{color:var(--tint);background:transparent;border:0;font:600 .8125rem var(--sans)}
.tpick.add .ic{width:14px;height:14px}
.kbnew{margin-top:4px}
.swatches{display:flex;flex-wrap:wrap;gap:6px;margin:8px 18px 0}
.sw{position:relative;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;border-radius:50%}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw i{width:22px;height:22px;border-radius:50%;background:var(--tc);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.sw:has(input:checked){box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--tc)}
.sw:has(input:focus-visible){outline:2px solid var(--tint);outline-offset:3px}
.alert.tagbox{width:min(560px,94vw)}
.tglist{display:flex;flex-direction:column;gap:10px;margin:0 18px;max-height:52vh;overflow:auto;padding:2px}
.tgrow{display:grid;grid-template-columns:minmax(0,1fr) auto 40px;gap:10px;align-items:center}
.tgrow .field{width:100%;margin:0}
.tgrow .swatches{margin:0;flex-wrap:nowrap;gap:2px}
.tgrow .sw{width:26px;height:26px}.tgrow .sw i{width:18px;height:18px}
.tgadd{margin:10px 12px 4px}
@media (max-width:560px){ .tgrow{grid-template-columns:minmax(0,1fr) 40px} .tgrow .swatches{grid-column:1/-1;flex-wrap:wrap;order:3} }
.slhead .slx{margin-left:auto;width:36px;height:36px;color:var(--muted)}
.slhead .slx svg{width:14px;height:14px}
.slhead .slx:hover{color:var(--ink);background:var(--fill)}
.slback{margin:12px 2px 0;font-size:.875rem;color:var(--ink-2)}
/* 0.16.1 the Remote assessment explainer */
.rail .nav .ext{margin-left:auto;font-size:.8125rem;color:var(--muted)}
.racard{display:flex;align-items:center;gap:16px;padding:18px 20px;margin:0 0 18px;text-decoration:none;color:var(--ink)}
.racard .kic{width:44px;height:44px;border-radius:12px;flex:none}
.racard .kic .ic{width:22px;height:22px;color:inherit}
.racard .rat{flex:1;display:flex;flex-direction:column;gap:3px}
.racard small{color:var(--ink-2);font-size:.875rem;line-height:1.45}
.racard .ext{color:var(--muted);font-size:1rem}
.racard:hover b{color:var(--tint)}
.rail a.nav{text-decoration:none}.racard{margin-top:6px}
/* 0.17 send as a link */
.lkline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:8px 12px;border-radius:12px;background:var(--tint-soft);font-size:.875rem;color:var(--ink)}
.lkline .ic{width:16px;height:16px;flex:none;color:var(--tint)}
.lkline span{flex:1;min-width:180px}
.lkline.ok{background:color-mix(in srgb,var(--green) 12%,transparent)}
.lkline.ok .ic{color:var(--ok)}
.lkline.exp{background:var(--accent-soft)}
.dhead + .lkline,.seg.tabs{margin-top:12px}
.alert.linkbox{width:min(520px,94vw)}
.linkbox textarea.field{width:calc(100% - 36px);margin:0 18px;min-height:96px}
.lkgrid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.lkgrid .field{width:calc(100% - 36px)}
@media (max-width:520px){ .lkgrid{grid-template-columns:1fr} }
.lkurl{margin:0 18px}.lkurl .field{width:100%;margin:0;font-size:.8125rem}
.lkbtns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 18px 4px}
.lkbtns .btn{flex:1;min-width:120px}
.lkbtns .btn.quiet{color:var(--ink);text-decoration:none}

/* ---------- 0.19.0: tags at hand ---------- */
.kwrap{position:relative;display:grid}
.kwrap>.kid{height:100%}
.kwrap>.kid .kwho{padding-right:44px}
.ktagbtn{position:absolute;top:20px;right:50px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--muted);background:transparent;opacity:.55;transition:opacity .2s,background .2s}
.ktagbtn .gl{width:18px;height:18px}
.kwrap:hover .ktagbtn,.ktagbtn:focus-visible,.ktagbtn[aria-expanded="true"]{opacity:1;background:var(--icon-tile);color:var(--ink)}
.ktagbtn:focus-visible{outline:2px solid var(--tint);outline-offset:2px}
.acts .btn .gl{width:17px;height:17px}
.tagmenu{position:fixed;z-index:200;min-width:220px;max-width:300px;padding:6px;border-radius:14px;background:var(--card);box-shadow:0 0 0 .5px var(--sep),0 18px 40px -16px rgba(10,20,50,.45);animation:tmIn .18s var(--ease-ios,ease-out)}
@keyframes tmIn{from{opacity:0;transform:translateY(-4px) scale(.98)}}
.tagmenu button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border-radius:9px;font:500 .9375rem/1.2 var(--sans,inherit);color:var(--ink);text-align:left}
.tagmenu button:hover,.tagmenu button:focus-visible{background:var(--icon-tile);outline:none}
.tagmenu .tdot{width:11px;height:11px;border-radius:50%;background:var(--tc);flex:none}
.tagmenu button span{flex:1}
.tagmenu .tmk{width:16px;height:16px;fill:none;stroke:var(--tint);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.tagmenu [aria-checked="true"] .tmk{visibility:visible}
.tagmenu [data-tm-edit]{color:var(--tint);font-weight:600}
.tagmenu .tmsep{height:.5px;background:var(--sep);margin:5px 4px}
.tagmenu .tmnone{margin:8px 10px;color:var(--muted);font-size:.875rem}
html.dragkid .tagnav[data-ktag],html.dragkid .tfilt[data-ktag]{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tc) 55%,transparent);border-radius:12px}
html.dragkid .tfilt[data-ktag]{border-radius:999px}
.tagnav.dropon,.tfilt.dropon{background:color-mix(in srgb,var(--tc) 22%,var(--card))!important;box-shadow:inset 0 0 0 2px var(--tc)!important;transform:scale(1.03)}
.kid[draggable="true"]{-webkit-user-drag:element}
.libhead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.libhead .hacts{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
@media (prefers-reduced-motion:reduce){.tagmenu{animation:none}.tagnav.dropon,.tfilt.dropon{transform:none}}

/* ---------- 0.20.0 sidebar, Apple style: places in two sections, one toggle at the leading edge ---------- */
.rail{gap:22px;padding:18px 12px 16px}
.rsec{display:flex;flex-direction:column;gap:2px}
.rsh{margin:0;padding:0 12px 6px;font:600 .8125rem/1.2 var(--sans);color:var(--muted)}
.rail .nav{font-weight:500;color:var(--ink);gap:12px;padding:8px 10px;border-radius:10px}
.rail .nav .ic,.rail .nav>.gl{width:20px;height:20px;color:var(--ink-2);flex:none}
.rail .nav:hover{background:var(--fill)}
.rail .nav[aria-current="page"]{background:color-mix(in srgb,var(--tint) 15%,transparent);box-shadow:none;color:var(--ink);font-weight:600}
.rail .nav[aria-current="page"] .ic{color:var(--tint)}
.rail .nav:focus-visible{outline:3px solid var(--tint);outline-offset:-1px}
.rail .count{margin-left:auto;background:none;padding:0;font-size:.8125rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.rail .tslot{width:20px;height:20px;display:grid;place-items:center;flex:none}
.rail .tagnav .tdot{width:12px;height:12px;margin:0;border-radius:50%;background:var(--tc)}
.rail .tagnav{min-height:44px}
.rail .tagnav[aria-current="page"]{box-shadow:none}
.rail .tagnav.add{color:var(--muted);font-size:.875rem}
.rail .tagnav.add .gl{color:var(--muted)}
.rail .nl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidetog{width:44px;height:44px;flex:none;border-radius:10px;display:grid;place-items:center;color:var(--ink-2)}
.sidetog:hover{background:var(--fill);color:var(--ink)}
.sidetog:focus-visible{outline:3px solid var(--tint);outline-offset:1px}
.sidetog .ic{width:22px;height:22px}
.dtop{gap:12px}
.dtop .brand{width:auto;min-width:190px;margin-right:12px}
/* hidden: the sidebar leaves completely; the toggle stays where it was */
html.rail-min{--rail:0px}
.rail{transition:transform .28s var(--ease-ios),visibility 0s linear 0s}
html.rail-min .rail{transform:translateX(-100%);visibility:hidden;transition:transform .28s var(--ease-ios),visibility 0s linear .28s}
@media (prefers-reduced-motion:reduce){.rail,html.rail-min .rail{transition:none}}
/* 0.25.0 the sidebar button sits at the sidebar's trailing edge, after the name, as in Apple's own apps; it stays beside the name when the sidebar is hidden */
.dtop .dlead{width:calc(var(--rail) - 14px);flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px}
html.rail-min .dtop .dlead{width:auto;justify-content:flex-start}
.dtop .dlead .brand{width:auto;min-width:0;margin:0}
/* 0.26.0 the three cards on a child's page share one height; Paste another sits on the same line in each */
.slots{align-items:stretch}
.slot .slmore{margin-top:auto}
.dlmenu{min-width:280px;max-width:340px}
.dlmenu button{min-height:56px;padding:8px 12px}
.dlmenu button span{display:flex;flex-direction:column;gap:2px}
.dlmenu button b{font-weight:600}
.dlmenu button small{font-size:.8125rem;color:var(--muted);font-weight:400}
.dlmenu button[aria-disabled="true"]{opacity:.55;cursor:default}
/* 0.27.1 the top of a card opens the session */
.slopen{width:100%;min-height:44px;margin:-6px -8px;padding:6px 8px;border:0;border-radius:16px;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit;box-sizing:content-box}
.slopen:hover{background:var(--fill)}
.slopen:focus-visible{outline:3px solid var(--tint);outline-offset:2px}
.slwho{display:flex;flex-direction:column;min-width:0}

/* 0.27.3: the Fetwell family mark (rose tile); the probe steps 40 units between answers */
.mk.fam{border-radius:23%;overflow:visible}
.brand .mk.fam,.topbar .mk.fam,.dtop .brand .mk.fam{box-shadow:0 1px 2px rgba(80,20,40,.2),0 6px 14px -6px rgba(184,51,92,.45)}
.mk.fam.live.go .probe{animation-name:mk-probe-fam}
@keyframes mk-probe-fam{0%,8%{transform:translate(0,0);opacity:0}14%{transform:translate(0,0);opacity:.95}26%{transform:translate(0,0);opacity:.95}38%{transform:translate(0,40px);opacity:.95}50%{transform:translate(40px,40px);opacity:.95}62%{transform:translate(40px,0);opacity:.95}66%,100%{transform:translate(40px,0);opacity:0}}
