
:root{
  --turf:#1E4D2B; --turf-light:#2E6B3E; --clay:#9C3D1E; --paper:#FAFAF7;
  --ink:#12211A; --line:#D8DCD4; --amber:#B25A00; --blue:#0072B2; --ok:#2E6B3E;
  --mute:#234A2F;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --r:12px; --r-s:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.01em}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:17px;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
textarea{min-height:70px;resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--turf-light);outline-offset:1px}
label{display:block;font-weight:600;font-size:17px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);margin:14px 0 6px}
.wrap{max-width:560px;margin:0 auto;padding:0 16px 110px}
.appbar{background:var(--turf);color:#fff;padding:12px 16px;position:sticky;top:0;z-index:5;padding-top:calc(12px + env(safe-area-inset-top))}
.appbar .in{max-width:560px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.appbar .brand{display:flex;align-items:center;gap:9px}
.appbar .brand img{width:30px;height:auto;display:block;opacity:.96}
.appbar h1{font-size:18px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.appbar .ctx{font-size:17px;opacity:.9;font-weight:600}
.screen{display:none;padding-top:16px}
.screen.on{display:block}
.btn{display:block;width:100%;text-align:center;padding:16px;border-radius:8px;font-weight:700;font-size:17px;margin-top:12px}
.btn-primary{background:var(--turf);color:#fff}
.btn-primary:disabled{background:#D8DCD4;color:var(--ink)}
.btn-line{border:1.5px solid var(--turf);color:var(--turf);background:#fff}
.btn-quiet{color:var(--mute);font-weight:600;font-size:17px;padding:12px}
.btn-danger{color:var(--clay);font-weight:600;font-size:17px;padding:8px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:12px}
.hint{font-size:17px;color:var(--mute);margin-top:6px}
.err{background:#FBEDE8;border:1px solid var(--clay);color:#6B2A14;padding:12px;border-radius:8px;margin-top:12px;display:none;font-size:17px}
.err.on{display:block}
.ok-flash{background:#EEF3EC;border:1px solid var(--turf-light);color:var(--turf);padding:10px 12px;border-radius:8px;margin-top:10px;font-size:17px;font-weight:600;display:none}
.ok-flash.on{display:block}
.idcard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:12px;text-align:left}
.idcard .lockup{width:150px;max-width:45%;height:auto;margin:0 auto 2px;display:block}
.portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--turf);flex:0 0 56px;margin:0}
.sig{font-family:var(--sans);font-size:20px;font-weight:700;line-height:1.15;color:var(--ink);margin:0 0 2px}
.sigrule{width:190px;max-width:70%;height:1px;background:var(--line);margin:0 auto 8px}
.idline{font-size:17px;font-weight:500;color:var(--mute);line-height:1.3}
.idline b{color:var(--ink);font-weight:700}
.rule-soft{height:1px;background:var(--line);margin:16px 0 2px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 12px;text-align:left}
.tile.wide{grid-column:1/-1;background:var(--turf);border-color:var(--turf);color:#fff}
.tile b{display:block;font-family:var(--sans);font-size:18px}
.tile span{font-size:17px;color:var(--mute);display:block;margin-top:2px}
.tile.wide span{color:rgba(255,255,255,.85)}
/* ── guided shot slots ── */
.shot{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;padding:11px;margin-top:9px}
.shot.filled{border-left-color:var(--ok)}
.shot.required:not(.filled){border-left-color:var(--amber)}
.shot .box{width:64px;height:64px;border-radius:8px;flex:none;border:2px dashed var(--turf-light);color:var(--turf);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;position:relative}
.shot .box img{width:100%;height:100%;object-fit:cover}
.shot .txt{flex:1;min-width:0}
.shot .txt b{display:block;font-family:var(--sans);font-size:17px;letter-spacing:.02em}
.shot .txt span{font-size:17px;color:var(--mute);display:block;line-height:1.3}
.shot .acts{display:flex;flex-direction:column;gap:4px;flex:none}
.shot .acts button{font-size:17px;font-weight:700;color:var(--turf);padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#fff}
.badge{display:inline-block;font-size:17px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:8px;background:#EEF3EC;color:var(--turf);margin-left:4px}
.badge.req{background:#FDF3E0;color:var(--amber)}
/* ── crop ── */
#cropWrap{position:relative;background:#111;border-radius:8px;overflow:hidden;margin-top:12px;touch-action:none}
#cropCanvas{display:block;width:100%;height:auto}
#cropBox{position:absolute;border:2px solid #fff;pointer-events:none}
/* ── voice ── */
.mic{width:100%;padding:20px;border-radius:12px;border:2px solid var(--turf);background:#fff;color:var(--turf);font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;min-height:74px}
.mic.rec{background:var(--clay);border-color:var(--clay);color:#fff;animation:pulse 1.1s infinite}
@keyframes pulse{50%{}}
@media (prefers-reduced-motion:reduce){.mic.rec{animation:none}}
.mic .ring{width:16px;height:16px;border-radius:50%;background:currentColor;flex:none}
.voice-note{background:#EEF3EC;border-radius:8px;padding:10px 12px;margin-top:8px;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.spin{display:none;text-align:center;padding:22px 0}
.spin.on{display:block}
.spin .dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--turf);margin:0 3px;animation:b 1s infinite alternate}
.spin .dot:nth-child(2){animation-delay:.2s}.spin .dot:nth-child(3){animation-delay:.4s}
@keyframes b{to{transform:translateY(-8px);opacity:.4}}
@media (prefers-reduced-motion:reduce){.spin .dot{animation:none}}
.sev{display:inline-block;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:20px;color:#fff}
.sev.low{background:var(--ok)}.sev.moderate{background:var(--amber)}.sev.high{background:var(--clay)}
.conf{display:inline-block;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:8px;border:1px solid}
.conf.high{color:var(--ok);border-color:var(--ok)}
.conf.medium{color:var(--amber);border-color:var(--amber)}
.conf.low{color:var(--clay);border-color:var(--clay)}
.finding-card{border-left:4px solid var(--turf)}
.diffbox{background:#F3F5F1;border-radius:8px;padding:11px 12px;margin-top:10px;font-size:17px}
.diffbox b{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;font-size:17px;color:var(--turf);display:block;margin-bottom:3px}
.askshot{background:#FDF3E0;border-left:3px solid var(--amber);border-radius:0 8px 8px 0;padding:10px 12px;margin-top:10px;font-size:17px}
.rlist-item{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:10px}
.rlist-item b{display:block}
.rlist-item span{font-size:17px;color:var(--mute)}
.svc-row{display:flex;gap:8px;margin-top:8px;align-items:center}
.svc-row input:first-child{flex:2}.svc-row input:nth-child(2){flex:1}
.brief-h{background:var(--turf);color:#fff;border-radius:12px 12px 0 0;padding:14px 16px}
.brief-h b{font-family:var(--sans);font-size:21px;display:block}
.brief-h span{font-size:17px;opacity:.9}
.brief-b{background:#fff;border:1px solid var(--line);border-top:none;border-radius:0 0 12px 12px;padding:4px 16px 16px}
.brief-b h4{font-size:17px;text-transform:uppercase;letter-spacing:.08em;color:var(--turf);margin:14px 0 5px;font-family:var(--sans)}
.brief-b ul{padding-left:18px;margin:0}
.brief-b li{margin:3px 0}
.say{background:#EEF3EC;border-left:3px solid var(--turf-light);padding:9px 12px;border-radius:0 8px 8px 0;margin-top:6px;font-size:17px}
.pill{display:inline-block;background:#EEF3EC;color:var(--turf);border-radius:20px;padding:4px 10px;font-size:17px;font-weight:700;margin:3px 4px 0 0}
.acc{background:#fff;border:1px solid var(--line);border-radius:8px;margin-top:8px;overflow:hidden}
.acc>button{width:100%;text-align:left;padding:13px 14px;font-weight:700;display:flex;justify-content:space-between;gap:8px;align-items:center}
.acc>button span{color:var(--mute);font-weight:600;font-size:17px;flex:none}
.acc .body{display:none;padding:0 14px 14px;font-size:17px}
.acc.open .body{display:block}
.acc .body b{color:var(--turf)}
.chip{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 12px;font-size:17px;margin:6px 6px 0 0;font-weight:600}
.answer{background:#fff;border:1px solid var(--line);border-left:4px solid var(--turf);border-radius:8px;padding:14px;margin-top:12px;white-space:pre-wrap}
/* ── library ── */
.libgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.libcell{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1}
.libcell img{width:100%;height:100%;object-fit:cover;display:block}
.libcell .cap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);color:#fff;font-size:17px;padding:3px 4px;line-height:1.2}
.libcell button{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.6);color:#fff;width:20px;height:20px;border-radius:50%;font-size:17px;line-height:1}
.stat{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:17px}
.stat b{font-family:var(--sans);font-size:17px}
.tabs{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;z-index:6;padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;padding:9px 2px 10px;font-size:17px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--mute)}
.tabs button .ic{display:block;font-size:19px;line-height:1.15}
.tabs button.on{color:var(--turf)}
#print-area{display:none}
.doc{background:#fff;color:#111;max-width:560px;margin:16px auto;border:1px solid var(--line);font-size:17px;line-height:1.4}
.doc-band{background:var(--turf);color:#fff;padding:16px 18px}
.doc-band h2{font-size:26px;line-height:1.15;margin:0 0 6px}
.doc-band .sub{font-size:17px;opacity:.95;margin-top:2px}
.doc-meta{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;border-bottom:1px solid var(--line);font-size:17px;flex-wrap:wrap}
.doc-body{padding:14px 18px}
.doc h3{font-size:17px;text-transform:uppercase;letter-spacing:.07em;color:var(--turf);border-bottom:1.5px solid var(--turf);padding-bottom:3px;margin:14px 0 8px}
.doc .photos{display:flex;gap:6px;margin-top:4px}
.doc .photos img{width:calc(25% - 5px);aspect-ratio:1;object-fit:cover;border-radius:4px}
.doc .f{margin:8px 0;padding-left:10px;border-left:3px solid var(--turf)}
.doc .f .t{font-weight:600}
.doc .rec{margin-top:3px;font-weight:600;color:var(--turf)}
.doc ul{padding-left:18px;margin:4px 0}
.doc .cta{background:#EEF3EC;border-radius:8px;padding:10px 12px;margin-top:12px;font-weight:600}
.doc .signoff{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.doc .signoff img{width:62px;height:62px;border-radius:50%;object-fit:cover;flex:none}
.doc .signoff .sig{font-size:34px;margin:0 0 1px}
.doc .signoff .idline{font-size:17px;letter-spacing:.07em}
.doc .verify{font-size:17px;color:#666;margin-top:8px}
.doc .foot{border-top:1px solid var(--line);margin-top:14px;padding:10px 18px 14px;font-size:17px;color:#555}
@media print{
  body{background:#fff}
  .appbar,#app,.tabs{display:none!important}
  #print-area{display:block}
  .doc{border:none;max-width:100%;margin:0;font-size:17px}
  .doc-band,.sev,.doc h3,.doc .f{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{margin:10mm}
}

/* ── vision layer ── */
.snapbtn{width:100%;aspect-ratio:1.4;border:2px dashed var(--turf);border-radius:14px;background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--turf);
  font-weight:800;font-size:19px}
.snapbtn svg{width:44px;height:44px}
.snapstrip{display:flex;gap:8px;overflow-x:auto;padding:2px 0;margin-top:10px}
.snapthumb{position:relative;flex:0 0 84px}
.snapthumb img{width:84px;height:84px;object-fit:cover;border-radius:9px;border:1px solid var(--line);display:block}
.snapthumb button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;
  background:var(--clay);color:#fff;border:2px solid #fff;font-size:17px;line-height:1;padding:0}
.snapverdict{font-size:23px;font-weight:800;line-height:1.2;margin:6px 0}
.refstrip{display:flex;gap:7px;overflow-x:auto;margin-top:6px}
.refstrip figure{margin:0;flex:0 0 78px;text-align:center}
.refstrip img{width:78px;height:78px;object-fit:cover;border-radius:8px;border:2px solid var(--turf)}
.refstrip figcaption{font-size:17px;color:var(--mute);margin-top:3px;line-height:1.2}
.seenwrap{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.seenwrap .chip.no{background:#F7EFEF;color:#8A5B55;text-decoration:line-through}
.covrow{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #EEF0EC;font-size:17px}
.covrow b{font-variant-numeric:tabular-nums}
.covrow b.g{color:var(--ok)}.covrow b.a{color:var(--amber)}.covrow b.r{color:var(--clay)}
.covscroll{max-height:320px;overflow-y:auto;margin-top:8px}
.vchk{position:absolute;top:5px;left:5px;width:21px;height:21px;border-radius:5px;background:#fff;
  border:1px solid var(--line);font-size:17px;line-height:19px;padding:0;z-index:2}
.vchk.on{background:var(--ok);color:#fff;border-color:var(--ok)}
.vstale{position:absolute;bottom:22px;left:4px;background:var(--clay);color:#fff;font-size:17px;
  padding:1px 5px;border-radius:4px;letter-spacing:.02em}
.vtbl{width:100%;border-collapse:collapse;font-size:17px;margin-top:4px}
.vtbl th{text-align:left;font-size:17px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);
  padding:6px 3px;border-bottom:2px solid var(--line)}
.vtbl td{padding:6px 3px;border-bottom:1px solid #EEF0EC}
.vtbl .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.vtbl .n.g{color:var(--ok)}.vtbl .n.a{color:var(--amber)}.vtbl .n.r{color:var(--clay)}
.statrow{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.statrow .stat{flex:1;min-width:84px}
.statrow .stat b{display:block;font-size:27px;line-height:1;font-variant-numeric:tabular-nums}
.statrow .stat span{font-size:17px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
#vBar{display:none;margin:10px 0}
#vBar progress{width:100%;height:8px}
#vStop{display:none;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:9px;
  padding:9px 20px;font-weight:600}
.libcell{position:relative}

#vspin{position:fixed;inset:0;background:rgba(250,250,247,.95);z-index:60;display:none;
  align-items:center;justify-content:center;padding:24px}
#vspin.on{display:flex}
#vspin .vsbox{text-align:center;max-width:320px}
#vspin p{font-weight:600;margin:14px 0 0}
.vsring{width:38px;height:38px;margin:0 auto;border:4px solid var(--line);border-top-color:var(--turf);
  border-radius:50%;animation:vsp .8s linear infinite}
@keyframes vsp{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.vsring{animation-duration:2.4s}}
#vStop{display:none;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:9px;
  padding:9px 22px;font-weight:600}

/* ── coach / elimination / conflicts ── */
.wstep{border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:10px;background:#fff}
.wstep.done{background:#F2F7F3;border-color:#C3D8C9}
.whead{display:flex;align-items:flex-start;gap:11px}
.whead>div{flex:1;min-width:0}
.whead b{display:block;font-size:17px;line-height:1.3}
.wnum{flex:0 0 26px;height:26px;border-radius:50%;background:var(--turf);color:#fff;font-size:17px;
  font-weight:700;display:flex;align-items:center;justify-content:center}
.wsec{font-size:17px;letter-spacing:.07em;text-transform:uppercase;color:var(--mute)}
.wtick{flex:0 0 30px;height:30px;border-radius:8px;border:1.5px solid var(--line);background:#fff;
  color:var(--ok);font-size:17px;font-weight:800;padding:0;line-height:1}
.wstep.done .wtick{background:var(--ok);color:#fff;border-color:var(--ok)}
.wstep ul{margin:10px 0 8px;padding-left:20px}
.wstep li{margin:4px 0;font-size:17px}
.wwhy{margin:0;font-size:17px;color:var(--mute);border-left:3px solid var(--amber);padding-left:10px}
.elimq{border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px;margin-top:12px}
.elimq .eq{font-size:18px;margin:6px 0 12px;line-height:1.3}
.elimq .btn{margin-bottom:7px;text-align:left}
.enote{margin:8px 0 0;font-size:17px;background:#FFF8E6;border:1px solid #EBD9A6;padding:9px;border-radius:8px}
.elimdone{border:1px solid var(--line);border-left:6px solid var(--turf);border-radius:12px;background:#fff;padding:15px;margin-top:12px}
.routecard .rlab{font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);
  font-weight:700;margin:12px 0 5px}
.routecard .rlist{margin:0;padding-left:19px}
.routecard .rlist li{margin:3px 0;font-size:17px}
.svcrow{border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin-bottom:6px}
.svcrow b{display:block;font-size:17px}
.svcrow span{display:block;font-size:17px;color:var(--mute);margin-top:2px}
.cflict{display:flex;gap:11px;border:1px solid var(--clay);border-radius:11px;padding:11px;margin-bottom:10px;background:#fff}
.cflict img{width:88px;height:88px;object-fit:cover;border-radius:8px;flex:0 0 88px}
.cflict .cbody{flex:1;min-width:0}
.cflict .btn{margin-bottom:6px;padding:10px;font-size:17px}
#vConflicts{display:none;margin-top:10px}
#vConflicts.open{display:block}
.kwtbar{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.kwtbar .btn{margin:0}

.note{background:#FFF8E6;border:1px solid #EBD9A6;padding:11px;border-radius:9px;font-size:17px;margin:10px 0}
.note b{font-weight:700}

/* ── cloud / queue ── */
.qcard{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px;background:#fff}
.qcard img{width:118px;height:118px;object-fit:cover;border-radius:9px;flex:0 0 118px}
.qnoimg{width:118px;height:118px;flex:0 0 118px;border-radius:9px;background:#EEF0EC;display:flex;
  align-items:center;justify-content:center;font-size:17px;color:var(--mute);text-align:center;padding:8px}
.qcard .qbody{flex:1;min-width:0}
.qrow{display:flex;gap:8px;align-items:baseline;margin-top:6px;font-size:17px}
.qrow span{flex:0 0 74px;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.qrow b{flex:1;min-width:0}
.qrow b.clash{color:var(--clay)}
.qacts{margin-top:10px}
.qacts .btn{margin-bottom:6px;padding:10px;font-size:17px}
.qpick{margin-top:8px}
#authWho{font-size:17px;color:var(--mute)}
.appbar .ctx{display:flex;gap:8px;align-items:center}
#barCloud{background:rgba(255,255,255,.18);border-radius:99px;padding:2px 9px;font-size:17px;letter-spacing:.05em}
@media(max-width:430px){.qcard{flex-direction:column}.qcard img,.qnoimg{width:100%;height:170px;flex:none}}

/* ── today's schedule ── */
.stoprow{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:#fff;
  border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:8px;font:inherit;color:inherit}
.stoprow.done{background:#F2F7F3;border-color:#C3D8C9}
.snum{flex:0 0 28px;height:28px;border-radius:50%;background:var(--turf);color:#fff;font-size:17px;
  font-weight:700;display:flex;align-items:center;justify-content:center}
.stoprow.done .snum{background:var(--ok)}
.sbody{flex:1;min-width:0}
.sbody b{display:block;font-size:17px;line-height:1.25}
.smeta{display:block;font-size:17px;color:var(--mute);margin-top:2px}
.sflag{display:inline-block;margin-top:5px;background:#FFF1E6;border:1px solid #E8C9A8;color:#8A4A18;
  font-size:17px;padding:2px 7px;border-radius:5px}
.schev{flex:0 0 auto;color:var(--mute);font-size:22px;line-height:1}
.knockrow{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.knockrow label{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;
  font-size:17px;color:var(--ink);font-weight:500;margin:0;padding:11px;border:1px solid var(--line);
  border-radius:8px;background:#fff;cursor:pointer}
.knockrow input{width:auto;margin:2px 0 0;flex:0 0 auto}
.knockrow label:has(input:checked){border-color:var(--turf);background:#F2F7F3}
.notebox{white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:14px;font-size:17px;line-height:1.55;margin-bottom:10px}
#sdAddr{font-size:21px;line-height:1.25;margin:0}
#sdMeta{font-size:17px;color:var(--mute);margin:4px 0 0}
#sdFlag{display:none;margin-top:10px;background:#FFF1E6;border:1px solid #E8C9A8;color:#8A4A18;
  padding:9px 11px;border-radius:8px;font-size:17px}
#sdClosePrev{font-style:italic;color:var(--mute);font-size:17px;display:block;margin-top:6px}

.jchip{display:inline-block;margin:5px 5px 0 0;background:#EDF2EE;border:1px solid #CFDCD3;
  border-radius:6px;padding:3px 8px;font-size:17px;font-weight:600;color:var(--turf)}
.jchip.tree{background:#EFF1F7;border-color:#CDD3E4;color:#3E5C6B}
.jchip i{font-style:normal;opacity:.55;margin-left:6px;font-weight:500}
.jline{display:block;margin-top:6px}
.jline b{display:block;font-size:17px;line-height:1.3}
.jline span{display:inline-block;margin-right:10px;font-size:17px;color:var(--mute)}

/* numerals align, always */
.smeta,.wsec,#rtCount,#kwtProg,.jchip i,.snum,.wnum,.qrow span,.conf,#sdMeta span{
  font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero}
.jchip{font-size:17px;padding:6px 10px}
.hint{font-weight:500}
.tabs button{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.tabs button .ic{display:none}
.tabs button .i{width:26px;height:26px;stroke-width:2.4}
.tabs button.on .i{stroke-width:2.8}
.mic{width:76px;height:76px}

.idtxt{min-width:0;flex:1}
.idline b{color:var(--ink);font-weight:600}
@media (max-width:430px){.strip .brand h1{display:none}}
.ro .rd{white-space:nowrap}
