/* The Sortia web app shell (Round 4 R4-3). Tokens come from /app/tokens.css,
   generated from design/tokens.js; no colour is typed here except the
   Google button stand-in's, which is Google's, not ours (design-08 0.2).
   Layout per design-08 1.3 and 1.4: auth screens are one centred 400px
   column with no nav; the shell is nav 232 | main, header 58. Under 760px
   the nav folds into a drawer behind a Menu button. The right-hand model
   panel (R4-5) folds into a drawer under 1,100px; its rules are at the end. */

@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/literata-600.woff2) format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-400.woff2) format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-600.woff2) format('woff2');}
@font-face{font-family:'Spline Sans Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/spline-sans-mono-500.woff2) format('woff2');}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;height:100%;}
#app{height:100%;}
body{background:var(--bg);color:var(--ink);font:400 14px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;}
a{color:var(--primary-ink);text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(134,199,218,.6);}
a:hover{color:var(--brass);}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
button{font:inherit;color:inherit;}
h1,h2,p,ul{margin:0;}
[hidden]{display:none !important;}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--surface-card);padding:8px 12px;border-radius:var(--r-2);}
.skip:focus{left:8px;}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important;}}

/* ---- boot ---- */
.boot{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;}
.boot-line{color:var(--ink-3);font:500 11px/1.4 var(--font-data);letter-spacing:.08em;text-transform:uppercase;}

/* ---- shared controls (design-08 0.6) ---- */
.label{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border-radius:9px;
  border:1px solid var(--primary);background:transparent;color:var(--primary-ink);font:600 13.5px/1.2 var(--font-ui);cursor:pointer;text-decoration:none;}
.btn:hover{background:var(--primary-soft);color:var(--primary-ink);}
.btn.tall{min-height:44px;width:100%;}
.btn.danger{border-color:var(--error);color:var(--error);}
.btn.danger:hover{background:var(--error-soft);color:var(--error);}
.btn[disabled]{opacity:.55;cursor:default;}
.linkbtn{background:none;border:0;padding:7px 0;margin:-7px 0;color:var(--primary-ink);text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(134,199,218,.6);cursor:pointer;font:inherit;}
.linkbtn:hover{color:var(--brass);}
.chip{display:inline-block;font:500 10px/1.3 var(--font-data);letter-spacing:.06em;border-radius:4px;padding:2px 6px 1px;text-transform:uppercase;}
.chip.free{color:var(--ink-2);background:var(--surface-3);}
.chip.pro{color:var(--brass);background:var(--brass-soft);}
.ok{color:var(--success);}
.alert{color:var(--error);font-size:13.5px;}
.note{font-size:12.5px;line-height:1.5;color:var(--ink-2);}
.quiet{color:var(--ink-3);}

.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;}
.logo:hover{color:var(--ink);}
.logo svg{flex:none;}
.logo span{font:600 21px/1 var(--font-display);}

/* ---- auth screens (design-08 1.3) ---- */
.auth{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:64px 16px 40px;}
.auth-col{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px;}
.auth h1{font:600 32px/1.1 var(--font-display);letter-spacing:-.01em;}
.lede{font-size:15px;line-height:1.55;color:var(--ink-2);}
.gsi{min-height:44px;width:100%;display:flex;align-items:center;justify-content:center;}
.gsi > div{width:100%;}
.notice{border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px;}
.notice strong{font-weight:600;}
.notice p{font-size:13.5px;color:var(--ink-2);}
.authlinks{display:flex;gap:16px;font-size:12.5px;flex-wrap:wrap;}

/* The render stand-in for Google's own button (scripts/site-shot.js draws it);
   the colours are Google's button, not Sortia tokens. */
.gsi-standin{width:100%;min-height:44px;border-radius:22px;background:#FFFFFF;color:#1F1F1F;border:1px solid #747775;
  display:flex;align-items:center;justify-content:center;gap:10px;font:600 14px/1 var(--font-ui);}
.gsi-standin i{width:18px;height:18px;border-radius:50%;border:2px dashed #5F6368;}

/* ---- shell (design-08 1.4) ---- */
.shell{display:flex;min-height:100%;height:100%;}
.side{width:232px;flex:none;background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;
  gap:14px;padding:18px 14px 14px;overflow-y:auto;}
.side .top{display:flex;align-items:center;gap:8px;}
.side .top .chip{margin-left:auto;}
.side ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:2px;}
.navitem{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border-radius:var(--r-2);color:var(--ink-2);
  text-decoration:none;font-size:14px;}
.navitem:hover{background:var(--surface-card);color:var(--ink);}
.navitem[aria-current="page"]{background:var(--surface-card);color:var(--ink);font-weight:600;}
.navitem .ext{margin-left:auto;color:var(--ink-3);}
.side hr{border:0;border-top:1px solid var(--border);margin:0;width:100%;}
.side .foot-note{font-size:11.5px;color:var(--ink-3);padding:0 10px;}
.me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px solid var(--border);
  color:var(--ink);text-decoration:none;min-width:0;}
.me:hover{background:var(--surface-card);color:var(--ink);}
.me .av{width:30px;height:30px;flex:none;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-weight:600;}
.me .who{min-width:0;display:flex;flex-direction:column;}
.me .em{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.me .pl{font-size:11.5px;color:var(--ink-3);}

.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.bar{min-height:58px;padding:12px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.bar .title{font:600 18px/1.2 var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.menu{display:none;min-height:34px;}
.scroll{flex:1;overflow-y:auto;}
.scroll:focus{outline:none;}

/* Ask, empty (design-08 1.5, cut to what exists) */
.ask{max-width:680px;margin:0 auto;padding:72px 24px 32px;display:flex;flex-direction:column;gap:18px;}
.ask h2{font:600 36px/1.1 var(--font-display);letter-spacing:-.01em;}
.ask .lede{max-width:560px;}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:6px;}
.door{display:flex;flex-direction:column;gap:4px;border:1px solid var(--primary);border-radius:var(--r-3);padding:14px 16px;color:var(--ink);text-decoration:none;}
.door:hover{background:var(--primary-soft);color:var(--ink);}
.door b{font-weight:600;}
.door b::after{content:" \203A";color:var(--primary-ink);}
.door span{font-size:13px;line-height:1.5;color:var(--ink-2);}

/* Account (design-08 1.10) */
.acct{max-width:760px;margin:0 auto;padding:28px 24px 40px;}
.acct h2.d{font:600 30px/1.15 var(--font-display);margin-bottom:18px;}
.sec{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px 20px;padding:18px 0;border-top:1px solid var(--border);}
.sec .body{display:flex;flex-direction:column;gap:8px;min-width:0;}
.sec .big{font-weight:600;font-size:15px;overflow-wrap:anywhere;}
.sec .sub{font-size:13px;color:var(--ink-2);}
.sec ul{padding-left:18px;font-size:13.5px;display:flex;flex-direction:column;gap:4px;}
.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.confirm{border:1px solid var(--error);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--error-soft);}

/* ---- narrow: the nav becomes a drawer ---- */
.scrim{display:none;}
@media (max-width: 759px){
  .side{position:fixed;top:0;left:0;bottom:0;z-index:30;transform:translateX(-100%);transition:transform var(--t-fast) var(--ease);
    box-shadow:24px 0 48px -24px rgba(0,0,0,.8);}
  .shell.nav-open .side{transform:none;}
  .shell.nav-open .scrim{display:block;position:fixed;inset:0;z-index:29;background:rgba(6,13,9,.66);}
  .menu{display:inline-flex;}
  .bar{padding:12px 16px;}
  .ask{padding:40px 16px 32px;}
  .ask h2{font-size:30px;}
  .acct{padding:24px 16px 40px;}
  .sec{grid-template-columns:minmax(0,1fr);}
  .auth{padding:48px 16px 32px;}
}

/* ---- R4-5 seam: the model panel. A 340px column beside the thread from
   1,100px up; under 1,100px an overlay drawer opened from the header
   (design-08 1.2). No screen in R4-3 has a panel. ---- */
.panel{width:340px;flex:none;background:var(--surface-2);border-left:1px solid var(--border);overflow-y:auto;}
@media (max-width: 1099px){
  .panel{position:fixed;top:0;right:0;bottom:0;z-index:20;max-width:100%;border-left:1px solid var(--border-strong);
    box-shadow:-24px 0 48px -24px rgba(0,0,0,.8);}
  .panel:not(.open){display:none;}
}

/* ---- R4-4: Shared answers and Connect (design-08 1.8, cut per D8 and O15:
   no views column, no For column) ---- */
/* One Sortia G7 (Calls 7): the class keeps its old name, but the one filled primary per view is sky blue now; brass is for odds. */
.btn.brass{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.btn.brass:hover{background:var(--primary-ink);border-color:var(--primary-ink);color:var(--on-primary);}
.field{min-height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--border-strong);background:var(--field);color:var(--ink);
  font:500 15px/1 var(--font-data);letter-spacing:.08em;text-transform:uppercase;width:12ch;}
.acct .lede{margin-bottom:14px;}
.acct.connect{display:flex;flex-direction:column;gap:12px;}
.acct.connect .lede{margin:0;}
.joins{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;}
.joins li{border:1px solid var(--border);border-radius:var(--r-2);padding:10px 12px;background:var(--surface-2);font-weight:600;}
.joins li::before{content:"\2713  ";color:var(--leaf);}
.notice.warn{border-color:var(--brass);}
.links{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.link{border:1px solid var(--border);border-radius:var(--r-3);padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2);}
.link .top{justify-content:space-between;flex-wrap:nowrap;}
.link .top b{font-weight:600;overflow-wrap:anywhere;min-width:0;}
.link .sub{font-size:12.5px;color:var(--ink-3);}
.chip.live{color:var(--success);background:var(--surface-3);}
.chip.soon{color:var(--brass);background:var(--brass-soft);}
.link .open{font-weight:600;}
/* ======================================================================
   R4-5: what the web app shows (work.js). Ask, the answer and its card,
   the model panel, templates, a shared answer, Plans, the bell. One filled
   primary per view (.btn.brass, sky blue since One Sortia G7; brass is for
   odds); every colour is a token.
   ====================================================================== */
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.mono{font:500 12px/1.5 var(--font-data);overflow-wrap:anywhere;color:var(--ink-2);}
.notice.refuse{border-color:var(--error);background:var(--error-soft);}
.notice.refuse strong{color:var(--error);}
button.door{font:inherit;text-align:left;background:transparent;cursor:pointer;}

/* the composer */
.composer{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-strong);border-radius:var(--r-3);background:var(--surface-2);padding:12px;}
.composer textarea{width:100%;resize:vertical;min-height:52px;background:var(--field);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-2);
  padding:10px 12px;font:400 15px/1.45 var(--font-ui);}
.composer-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.composer-foot .note{flex:1;min-width:200px;}
.results{display:flex;flex-direction:column;gap:8px;}
.hit{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface-2);
  padding:10px 12px;color:var(--ink);text-decoration:none;cursor:pointer;font:inherit;}
.hit:hover{border-color:var(--primary);color:var(--ink);}
.hit b{font-weight:600;}
.hit span{font-size:12.5px;color:var(--ink-3);}
.recent .threads,.threads{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;}
.recent{display:flex;flex-direction:column;gap:8px;margin-top:8px;}

/* the gate (O4) */
.gate{border:1px solid var(--brass);border-radius:var(--r-3);background:var(--brass-soft);padding:16px 18px;display:flex;flex-direction:column;gap:10px;}
.gate h3{font:600 20px/1.25 var(--font-display);}
.gate ul{padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13.5px;}
.gate .chip{align-self:flex-start;}

/* templates */
.tpl{max-width:760px;margin:0 auto;padding:28px 24px 40px;display:flex;flex-direction:column;gap:14px;}
.tpl h2,.plans h2{font:600 30px/1.15 var(--font-display);}
.tpl input[type=search],.trackform input,.trackform select,.panel input,.actuals input{background:var(--field);color:var(--ink);border:1px solid var(--border);
  border-radius:var(--r-2);min-height:36px;padding:0 10px;font:inherit;}
.tpl-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;}

/* the answer and its card */
.answer{max-width:720px;margin:0 auto;padding:24px 24px 40px;display:flex;flex-direction:column;gap:14px;}
.card{border:1px solid var(--border-strong);border-radius:14px;background:var(--surface-card);padding:18px 20px;display:flex;flex-direction:column;gap:12px;}
.card-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.card-q{font:600 19px/1.3 var(--font-display);}
.big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.big-n{font:600 52px/1 var(--font-display);color:var(--ink);letter-spacing:-.02em;}
.big-n.low{color:var(--error);}
.big-u{font-size:14px;color:var(--ink-2);}
.hist{display:flex;align-items:flex-end;gap:2px;height:84px;border-bottom:1px solid var(--border);}
.hist .bin{flex:1;background:var(--primary);opacity:.75;border-radius:2px 2px 0 0;min-width:2px;}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 18px;margin:0;}
.figs div{display:flex;flex-direction:column;gap:2px;}
.figs dt{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);}
.figs dd{margin:0;font:600 17px/1.25 var(--font-ui);}
.receipt{font-size:12.5px;color:var(--ink-2);}
.verified{font-weight:600;}
.acts{display:flex;gap:10px;flex-wrap:wrap;}
.panel-toggle{display:none;}
.trackform{border:1px solid var(--border-strong);border-radius:var(--r-3);padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2);}
.trackform label{display:flex;flex-direction:column;gap:4px;font-size:13px;}
.ranges{padding-left:18px;font-size:13px;}

/* the model panel */
.panel{padding:16px;display:flex;flex-direction:column;gap:16px;}
.panel section{display:flex;flex-direction:column;gap:8px;}
.panel-top{display:flex;justify-content:space-between;align-items:center;}
.panel-close{display:none;}
.est{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:8px;}
.param{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;align-items:center;font-size:12.5px;color:var(--ink-2);}
.param input{width:100%;}

/* the bell and the notification center */
.bellwrap{margin-left:auto;position:relative;}
.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--border);background:transparent;color:var(--ink-2);cursor:pointer;}
.bell:hover{color:var(--ink);border-color:var(--border-strong);}
.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--error);color:var(--bg);
  font:600 11px/18px var(--font-ui);text-align:center;}
.notes{position:absolute;right:0;top:46px;z-index:40;width:360px;max-width:calc(100vw - 32px);max-height:70vh;overflow-y:auto;background:var(--surface-card);
  border:1px solid var(--border-strong);border-radius:var(--r-3);box-shadow:0 24px 48px -24px rgba(0,0,0,.8);padding:10px;display:flex;flex-direction:column;gap:6px;}
.notes-top{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;}
.notes-top{gap:10px;}
.notes-close{margin-left:auto;}
.noteitem{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--r-2);}
.noteitem.unread{background:var(--surface-3);}
.noteline{display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:0;color:var(--ink);cursor:pointer;font:inherit;font-size:13.5px;padding:0;}
.noteitem.unread .noteline span:first-child{font-weight:600;}
.noteitem .linkbtn{align-self:flex-start;font-size:12.5px;}

/* Plans */
.plans{max-width:760px;margin:0 auto;padding:28px 24px 40px;display:flex;flex-direction:column;gap:16px;}
.plans h3{font:600 18px/1.3 var(--font-display);}
.planlist{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;}
.planrow{display:grid;grid-template-columns:minmax(0,1fr) 120px 110px;gap:14px;align-items:center;border:1px solid var(--border);border-radius:var(--r-2);
  padding:10px 12px;color:var(--ink);text-decoration:none;background:var(--surface-2);}
.planrow:hover{border-color:var(--primary);color:var(--ink);}
.planrow.two{grid-template-columns:minmax(0,1fr) auto;}
.pt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pt span{font-size:12.5px;}
.odds{font:600 15px/1.2 var(--font-ui);text-align:right;}
.odds.low{color:var(--error);}
.odds .stale{display:block;font:500 12px/1.3 var(--font-ui);color:var(--ink-3);}
.spark{display:flex;align-items:flex-end;gap:2px;height:32px;}
.spark i{flex:1;max-width:8px;background:var(--leaf);border-radius:1px;}
.spark i.low{background:var(--error);}
.plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.plan-head .spark{width:200px;height:48px;}
.actuals{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:14px;}
.actual{display:grid;grid-template-columns:140px minmax(0,1fr) 140px;gap:10px;align-items:center;font-size:13.5px;}
.history ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13.5px;}
.history{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px;}
.record{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px;}
.crumb{font-size:13px;}

@media (max-width: 1099px){
  .panel-toggle{display:inline-flex;}
  .panel-close{display:inline;}
}
@media (max-width: 759px){
  .answer,.tpl,.plans{padding:20px 16px 32px;}
  .big-n{font-size:44px;}
  .planrow{grid-template-columns:minmax(0,1fr) 90px;}
  .planrow.two{grid-template-columns:minmax(0,1fr) auto;}
  .planrow .spark{display:none;}
  .actual{grid-template-columns:minmax(0,1fr);}
  .notes{position:fixed;left:16px;right:16px;top:64px;width:auto;}
}

/* ==== R6-B0 ==== */
/* Round 6 batch 0, the conversation core, seams, vocabulary and harness: its new rules go directly under this line, not at the bottom of the section above the next anchor. */


















/* ==== R6-B1 ==== */
/* Round 6 batch 1, web: the model, edits and runs: its new rules go directly under this line, not at the bottom of the section above the next anchor. */


















/* ==== R6-B2 ==== */
/* Round 6 batch 2, web: matching, framing and words: its new rules go directly under this line, not at the bottom of the section above the next anchor. */
/* the chips of a question: the reply's own pills, a little closer to the words */
.wk-chips{margin-top:2px;}
.wk-chip{max-width:100%;text-align:left;white-space:normal;line-height:1.35;}
/* a goal-less card's head: the range in words, the size the odds line reads at */
.r5-range .big-u{font:500 17px/1.4 var(--font-display);color:var(--ink);}
/* Set a target: a label and its chips on one wrapping row */
.r8-target{align-items:center;}
.r8-target-l{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-right:2px;}


















/* ==== R6-B3 ==== */
/* Round 6 batch 3, sidebar: Ask runs the state machine: its new rules go directly under this line, not at the bottom of the section above the next anchor. */


















/* ==== R6-B4 ==== */
/* Round 6 batch 4, sidebar: the model adapters, Risk and Project: its new rules go directly under this line, not at the bottom of the section above the next anchor. */


















/* ==== R6-B5 ==== */
/* Round 6 batch 5, Sheets fixes: setup, selection, Data guidance: its new rules go directly under this line, not at the bottom of the section above the next anchor. */


















/* ==== R6-BT ==== */
/* Round 6 batch T, telemetry, the AI parse touch, readout and server bugs: its new rules go directly under this line, not at the bottom of the section above the next anchor. */



















/* ==== R5-B6 ==== */
/* Round 5 batch 6, web Ask becomes a thread: its new rules go directly under this line, not at the bottom of the section above the next anchor. */
/* Web Ask as a thread (round 5 batch 6; the Web App mock 1.4-1.6, 1.11).
   Every colour is a token; rgba() halos are the lantern's own, as in the
   add-on's Styles.html. */

/* the lantern (E-15): pkMark's parts and states, --wk-s is the mark's size */
.wk-mark{position:relative;display:inline-block;flex:none;transform:rotate(-6deg);vertical-align:middle;}
.wk-mark i{position:absolute;display:block;}
.wk-mark .lt{border-radius:50%;background:var(--leaf);transform:rotate(10deg);
  box-shadow:0 0 0 calc(var(--wk-s) * .045) rgba(147,201,120,.15),0 0 calc(var(--wk-s) * .28) calc(var(--wk-s) * .07) rgba(147,201,120,.4);}
.wk-mark .bd,.wk-mark .hd{border-radius:50%;background:var(--ink-2);}
.wk-mark .an{background:var(--ink-2);transform-origin:100% 50%;}
.wk-mark .wg{border-radius:50%;background:rgba(241,237,225,.16);border:1px solid rgba(241,237,225,.5);transform-origin:15% 80%;}
.wk-mark.is-work .lt{animation:wkBreathe 600ms var(--ease) infinite alternate;}
.wk-mark.is-pulse .lt{animation:wkPulse 480ms var(--ease) 1;}
.wk-mark.is-out{transform:rotate(0deg);}
.wk-mark.is-out .lt{background:var(--border-strong);box-shadow:none;}
@keyframes wkBreathe{
  from{opacity:1;box-shadow:0 0 0 calc(var(--wk-s) * .06) rgba(147,201,120,.2),0 0 calc(var(--wk-s) * .4) calc(var(--wk-s) * .12) rgba(147,201,120,.5);}
  to{opacity:.55;box-shadow:0 0 0 0 rgba(147,201,120,0),0 0 0 0 rgba(147,201,120,0);}
}
@keyframes wkPulse{
  0%{box-shadow:0 0 0 calc(var(--wk-s) * .045) rgba(147,201,120,.15),0 0 calc(var(--wk-s) * .28) calc(var(--wk-s) * .07) rgba(147,201,120,.4);}
  45%{box-shadow:0 0 0 calc(var(--wk-s) * .04) var(--bg),0 0 0 calc(var(--wk-s) * .075) var(--leaf),0 0 calc(var(--wk-s) * .4) calc(var(--wk-s) * .11) rgba(147,201,120,.5);}
  100%{box-shadow:0 0 0 calc(var(--wk-s) * .045) rgba(147,201,120,.15),0 0 calc(var(--wk-s) * .28) calc(var(--wk-s) * .07) rgba(147,201,120,.4);}
}

/* Ask home: the greeting row (F14) */
.wk-greet{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);}
.wk-hello{margin:0;font-size:14px;color:var(--ink-2);} /* W45: the greeting for the time of day */
.qe-fresh .btn.brass{min-height:44px;padding:0 22px;font-size:15px;}
.wk-greet b{color:var(--ink);font-weight:600;}

/* the nav: New question, counts, IN THIS BROWSER */
.wk-new{width:100%;}
.navitem .n{margin-left:auto;font:500 11px/1 var(--font-data);color:var(--ink-3);display:inline-flex;align-items:center;gap:4px;}
.navitem .n.ext{margin-left:auto;}
.side .wk-in{padding:0 10px;}
.wk-ths{display:flex;flex-direction:column;gap:2px;margin-top:-6px;min-width:0;}
/* QA 2026-10-12, defect 7: a long title is cut with an ellipsis, never run
   off the row; the row itself clips (a button's content box does not), and
   the full title is its tooltip (work.js b6NavThreads sets title). */
.wk-th{display:block;width:100%;max-width:100%;overflow:hidden;text-align:left;background:none;border:0;border-radius:var(--r-2);padding:7px 10px;color:var(--ink-2);cursor:pointer;font:inherit;font-size:13.5px;min-width:0;}
.wk-th:hover{background:var(--surface-card);color:var(--ink);}
.wk-th[aria-current="true"]{background:var(--surface-card);color:var(--ink);}
.wk-th .t{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wk-th .w{display:block;font-size:11.5px;color:var(--ink-3);}
/* QI-POLISH (R9 item 10): the open thread's title and a focused row show the whole title (three lines at most); the tooltip alone never reached touch or keyboard */
.wk-th[aria-current="true"] .t,.wk-th:focus-visible .t{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere;}
.wk-th-none{font-size:12.5px;color:var(--ink-3);padding:4px 10px;}
.wk-th-bad{color:var(--ink-2);}
.wk-th-more .t{color:var(--primary-ink);text-decoration:underline;}
.wk-th-foot{font-size:11.5px;color:var(--ink-3);line-height:1.45;padding:0 10px;}

/* the header's source chip (F15) */
.wk-src{flex:none;font:500 11px/1.3 var(--font-data);color:var(--primary-ink);background:var(--primary-soft);border-radius:5px;padding:3px 7px;
  white-space:nowrap;max-width:46%;overflow:hidden;text-overflow:ellipsis;}

/* the thread */
.wk-thread{max-width:680px;margin:0 auto;padding:28px 24px 24px;display:flex;flex-direction:column;gap:14px;}
.answer.wk-thread{max-width:720px;}
.wk-note{align-self:center;text-align:center;font:500 11px/1.45 var(--font-data);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);overflow-wrap:anywhere;}
.wk-you{align-self:flex-end;max-width:80%;background:var(--primary-soft);border:1px solid var(--border);border-radius:14px 14px 4px 14px;
  padding:10px 14px;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;}
.wk-reply{display:flex;flex-direction:column;gap:10px;}
.wk-by{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;}
.wk-say{font-size:15px;line-height:1.55;overflow-wrap:anywhere;}
.wk-say b{font-weight:600;}
.wk-sub{font-size:13px;line-height:1.5;color:var(--ink-2);}
.wk-ran{font-size:13.5px;color:var(--ink-2);}
.wk-ran b{color:var(--ink);font-weight:600;}
.wk-match{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border-strong);border-radius:var(--r-3);background:var(--surface-2);padding:14px 16px;}
.wk-match-t{font-weight:600;font-size:15px;line-height:1.35;}
.wk-match-d{font-size:13px;line-height:1.5;color:var(--ink-2);}
.wk-match .row{margin-top:4px;}
/* QC-C1: the understood card */
.wk-card-head{font-weight:600;font-size:15px;line-height:1.35;}
.wk-card-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-top:6px;}
.wk-card-nums{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.5;}
.wk-card-nums li{display:flex;gap:6px;align-items:flex-start;}
.wk-card .wk-sub{margin:0;}
.wk-card .row{display:flex;flex-wrap:wrap;gap:8px;}
.wk-card-choices{display:flex;flex-direction:column;gap:8px;}
.wk-card-choice .row{margin-top:2px;}
.wk-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;}
.wk-pills{display:flex;flex-wrap:wrap;gap:8px;}
.wk-pill{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 14px;border:1px solid var(--primary);border-radius:99px;background:transparent;
  color:var(--primary-ink);font:600 13.5px/1.3 var(--font-ui);text-align:left;text-decoration:none;cursor:pointer;}
.wk-pill:hover{background:var(--primary-soft);color:var(--primary-ink);}
.wk-pill[disabled]{opacity:.55;cursor:default;}
.wk-pill.sm{min-height:30px;padding:5px 11px;font-size:12px;}
.wk-pill[aria-pressed="true"]{background:var(--primary-soft);color:var(--ink);}
.btn.sm{min-height:32px;padding:0 14px;font-size:12.5px;border-radius:var(--r-2);}
.hit[disabled]{opacity:.55;cursor:default;}

/* Was this right? */
.wk-rating{display:flex;flex-direction:column;max-width:640px;}
.wk-rate{display:flex;align-items:center;gap:2px;}
.wk-rate span{font-size:12px;color:var(--ink-3);margin-right:4px;}
.wk-thumb{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--ink-2);cursor:pointer;}
.wk-thumb:hover{background:var(--surface-card);color:var(--ink);}
.wk-rated{display:flex;gap:6px;align-items:baseline;font:500 11px/1.45 var(--font-data);color:var(--ink-3);}
.wk-rated:focus{outline:none;}
.wk-rated:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px;}
.wk-rate-why{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border);}
.wk-rate-t{font-size:12.5px;font-weight:600;}
.wk-rate-note{width:100%;min-height:32px;background:var(--field);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:6px 10px;color:var(--ink);font:400 12.5px var(--font-ui);}
.wk-rate-note:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft);}
.wk-rate-hint{font-size:11.5px;line-height:1.45;color:var(--ink-3);margin-top:-2px;}
.wk-rate-acts{display:flex;align-items:center;gap:14px;}
.wk-rate-acts .linkbtn{font-size:12.5px;font-weight:600;}

/* the setup card from "Start the … setup" (F4) */
.wk-setup{display:flex;flex-direction:column;gap:10px;border:1px solid var(--border-strong);border-radius:var(--r-3);background:var(--surface-2);padding:14px 16px;}
.wk-setup:focus{outline:none;}
.wk-setup:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.wk-slots{margin:0;display:flex;flex-direction:column;}
.wk-slots div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--border);font-size:13.5px;}
.wk-slots div:first-child{border-top:0;}
.wk-slots dd{margin:0;font-weight:600;text-align:right;}
.wk-slots .is-open dd{font-weight:400;color:var(--ink-3);}

/* the composer, pinned under the scroll area (F7, F9) */
.wk-dock{flex:none;padding:12px 24px 16px;border-top:1px solid var(--border);background:var(--bg);}
.composer.wk-composer{max-width:680px;margin:0 auto;border:0;background:none;padding:0;gap:8px;}
.wk-box{display:flex;align-items:flex-end;gap:8px;background:var(--field);border:1px solid var(--border-strong);border-radius:var(--r-3);
  box-shadow:inset 0 1px 0 rgba(0,0,0,.6),inset 0 2px 4px rgba(0,0,0,.32);padding:5px 5px 5px 14px;}
.wk-box:focus-within{border-color:var(--primary);box-shadow:inset 0 1px 0 rgba(0,0,0,.6),inset 0 2px 4px rgba(0,0,0,.32),0 0 0 2px var(--primary-soft);}
.composer.wk-composer textarea{flex:1;min-width:0;min-height:38px;max-height:160px;resize:none;background:transparent;border:0;border-radius:0;color:var(--ink);
  font:400 15px/1.45 var(--font-ui);padding:9px 0;}
.composer.wk-composer textarea:focus{outline:none;}
.composer.wk-composer textarea::placeholder{color:var(--ink-3);}
.wk-send{flex:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--primary);background:transparent;color:var(--primary-ink);font:600 17px/1 var(--font-ui);cursor:pointer;}
.wk-send:hover{background:var(--primary-soft);}
.wk-foot{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-3);}
.wk-foot a{font-size:12px;}

/* the gate is the screen (F19) */
.ask.wk-gatescreen{max-width:600px;padding-top:88px;}
.gate.wk-gate{border:0;background:none;padding:0;gap:16px;}
.gate.wk-gate h2{font:600 32px/1.1 var(--font-display);letter-spacing:-.01em;}
.gate.wk-gate .btn{min-height:44px;}
.gate.wk-gate .btn.brass{padding:0 20px;font-size:15px;}

@media (max-width: 759px){
  .wk-thread{padding:20px 16px 20px;}
  .wk-dock{padding:10px 16px 12px;}
  .wk-you{max-width:90%;}
  .ask.wk-gatescreen{padding-top:48px;}
  .gate.wk-gate h2{font-size:28px;}
  .wk-src{display:none;}
}


















/* ==== R5-B7 ==== */
/* Round 5 batch 7, web answer card, engine coverage and site pages: its new rules go directly under this line, not at the bottom of the section above the next anchor. */
/* The web Result Card (C17, F11, F6): engine and mode on the label row, the
   odds in brass, a gold-past-the-goal picture with a dashed goal line, three
   figures, the receipt, one brass and Actions. The cool --primary stays for
   links and focus; no chart series uses it (webRules). */
.r5-card{gap:10px;padding:14px 16px;border-radius:10px;box-shadow:inset 0 1px 0 rgba(241,237,225,.09);}
/* W23 (J1): the earlier answer, then the what-if as its own card under it */
.r5-pair{display:flex;flex-direction:column;gap:12px;min-width:0;}
/* One Sortia G3: the expanded level takes focus when it opens, to move the reader there; it is not a control, so it draws no ring */
#r15X:focus{outline:none;}
.r5-top{display:flex;align-items:baseline;gap:8px;}
.r5-kick{min-width:0;font:500 10px/1.4 var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--success);overflow-wrap:anywhere;}
.r5-stamp{margin-left:auto;flex:none;font:500 10.5px/1.4 var(--font-data);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);}
.r5-big{gap:2px 8px;outline:none;}
.r5-n{color:var(--brass);}
.r5-n.low{color:var(--error);}
.r5-wait{display:flex;align-items:baseline;gap:10px;}
.r5-wait-n{font:600 52px/1 var(--font-display);color:var(--ink-3);animation:r5Breathe 1.2s var(--ease) infinite alternate;}
@keyframes r5Breathe{from{opacity:.35;}to{opacity:1;}}
.r5-hist{position:relative;border-radius:6px;cursor:default;}
.r5-hist[role="button"]{cursor:zoom-in;}
.r5-hist[role="button"]:hover .r5-bin{opacity:.85;}
.r5-hist[role="button"]:hover .r5-bin:hover{opacity:1;}
.r5-bars{position:relative;height:84px;padding-top:18px;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--border);}
.r5-hist-big{width:100%;}
.r5-hist-big .r5-bars{height:200px;}
.r5-bin{flex:1 1 0;min-width:0;background:var(--ink-3);opacity:.55;border-radius:2px 2px 0 0;transition:height 280ms var(--ease),opacity 120ms;}
.r5-bin.gold{background:var(--brass);opacity:1;}
.r5-goal{position:absolute;top:4px;bottom:0;border-left:1px dashed var(--ink);}
.r5-goal-t{position:absolute;top:0;font:500 10.5px/1.4 var(--font-data);color:var(--ink);white-space:nowrap;}
.r5-axis{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:11px;line-height:16px;color:var(--ink-2);}
.r5-ghost .r5-bars{background:linear-gradient(90deg,transparent,rgba(241,237,225,.06),transparent);background-size:200% 100%;animation:r5Sheen 1.4s linear infinite;}
@keyframes r5Sheen{from{background-position:100% 0;}to{background-position:-100% 0;}}
.r5-figs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;border-top:1px solid var(--border);padding-top:9px;}
.r5-figs dd{font:600 15.5px/1.3 var(--font-ui);overflow-wrap:anywhere;}
.r5-receipt{display:flex;gap:4px;font:500 11px/1.5 var(--font-data);color:var(--ink-2);border-top:1px solid var(--border);padding-top:9px;}
.r5-receipt .ok{color:var(--success);}
.r5-tryrow{display:flex;align-items:center;gap:12px;}
.r5-trybtn{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--border-strong);background:transparent;color:var(--ink);font:600 13px/1 var(--font-ui);cursor:pointer;}
.r5-trybtn:hover{background:var(--primary-soft);}
.r5-trybtn[aria-expanded="true"]{border-color:var(--primary);}
.r5-try{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:9px;background:var(--field);border:1px solid var(--border);}
.r5-sl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;}
.r5-sl-l{display:flex;gap:6px;align-items:baseline;min-width:0;font-size:13px;}
.r5-sl-v{font:500 12px/1.4 var(--font-data);color:var(--brass);}
.r5-sl svg,.r5-sl input{grid-column:1 / -1;width:100%;}
.r5-sl input[type=range]{accent-color:var(--brass);margin:0;min-height:24px;}
.r5-cell{font:500 10px/1.4 var(--font-data);color:var(--ink-3);border:1px solid var(--border);border-radius:4px;padding:0 4px;}
.r5-cmp{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:4px 12px;border-top:1px solid var(--border);padding-top:9px;font-size:13px;}
.r5-cmp > div{display:contents;}
.r5-cmp [role=columnheader]{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);}
.r5-cmp [role=cell]:nth-child(2){color:var(--brass);font-weight:600;}
.r5-cmp [role=cell]:nth-child(3){color:var(--ink-3);}
.r5-said{font-size:13px;color:var(--success);overflow-wrap:anywhere;outline:none;}
.r5-copy{width:100%;background:var(--field);color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:8px;font:500 12px/1.4 var(--font-data);}
.r5-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.r5-acts{display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);padding:6px;outline:none;}
.r5-acts-h{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);padding:8px 8px 4px;}
.r5-act{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px;color:var(--ink);cursor:pointer;font:inherit;}
.r5-act:hover{background:var(--surface-3);}
.r5-act-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.r5-act-t b{font-weight:600;font-size:13.5px;}
.r5-act-t span{font-size:12px;color:var(--ink-3);}
.r5-act-go{color:var(--ink-3);font-size:16px;}
.r5-goalform{display:flex;flex-direction:column;gap:8px;}
.r5-goal-q{font:600 19px/1.3 var(--font-display);}
.r5-goal-row{display:flex;flex-wrap:wrap;gap:8px;}
.r5-goal-row select,.r5-goal-row input,.r5-actual-f input{min-height:36px;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;font:inherit;}
.r5-goal-row input{flex:1 1 140px;min-width:0;}
.r5-full{position:fixed;inset:0;z-index:60;background:rgba(5,12,8,.78);display:flex;align-items:center;justify-content:center;padding:24px 16px;outline:none;}
.r5-full-in{width:min(880px,100%);max-height:100%;overflow-y:auto;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;}
.r5-full-top{display:flex;align-items:center;gap:12px;justify-content:space-between;}
.r5-full-top h3{font:600 20px/1.25 var(--font-display);}
.r5-ladder{grid-template-columns:repeat(3,minmax(0,1fr));}
/* the model panel (F12) */
.r5-panel{gap:18px;}
.r5-pname{font:600 19px/1.25 var(--font-display);}
.r5-ptitle{gap:6px;}
.r5-est-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);text-align:center;}
.r5-est{display:flex;flex-direction:column;gap:4px;padding:9px 11px;border-radius:9px;background:var(--field);border:1px solid var(--border-strong);}
.r5-est.moved{border-color:var(--primary);}
.r5-est-top{display:flex;align-items:baseline;gap:6px;min-width:0;}
.r5-est-top b{font-weight:600;font-size:13px;min-width:0;overflow-wrap:anywhere;}
.r5-shape{margin-left:auto;font-size:11.5px;color:var(--ink-3);}
.r5-tag{font:500 9.5px/1.4 var(--font-data);letter-spacing:.06em;color:var(--primary-ink);}
.r5-est-v{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;font:500 12px/1.4 var(--font-data);color:var(--ink);}
.r5-mono{font:500 11.5px/1.5 var(--font-data);color:var(--ink-2);overflow-wrap:anywhere;}
.r5-prow{display:flex;flex-wrap:wrap;gap:8px;}
/* templates search (F13) */
.r5-tags{display:flex;flex-wrap:wrap;gap:6px;}
.r5-tagchip{min-height:30px;padding:0 10px;border-radius:15px;border:1px solid var(--border);background:transparent;color:var(--ink-2);font:500 12.5px/1 var(--font-ui);cursor:pointer;}
.r5-tagchip:hover{border-color:var(--primary);color:var(--ink);}
.r5-tagchip[aria-pressed="true"]{background:var(--surface-3);border-color:var(--border-strong);color:var(--ink);}
.r5-count{color:var(--ink-3);}
.r5-hitline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.chip.r5-run{color:var(--success);background:var(--surface-3);}
/* a shared answer (F18) */
.r5-src{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
/* Plans (F16) */
.r5-drift{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--error);background:var(--error-soft);border-radius:10px;padding:10px 12px;font-size:13.5px;}
.r5-drift-i{flex:none;width:20px;height:20px;border-radius:50%;background:var(--error);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;}
.r5-record{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface-2);}
.r5-record-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
.r5-record-n b{font:600 22px/1 var(--font-display);margin-right:6px;}
.plans h3.label{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.r5-ptable{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.r5-ptable .r5-prow{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) 104px;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);color:var(--ink);text-decoration:none;flex-wrap:nowrap;}
.r5-ptable .r5-prow:first-child{border-top:0;}
.r5-ptable a.r5-prow:hover{background:var(--surface-card);}
.r5-phead span{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);}
.r5-st{font-size:13px;font-weight:600;}
.r5-st-on-track,.r5-st-held{color:var(--success);}
.r5-st-drifting,.r5-st-missed,.r5-st-could-not-check{color:var(--error);}
.r5-st-checking,.r5-st-closed{color:var(--ink-2);}
.r5-linewrap{display:flex;flex-direction:column;}
.r5-line{position:relative;height:84px;margin-top:6px;}
.r5-line svg{position:absolute;inset:0;overflow:visible;}
.r5-line-ref{position:absolute;left:0;top:calc(50% - 17px);font:500 10.5px/1.4 var(--font-data);color:var(--ink);}
.r5-line-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--brass);}
.r5-line-dot.low{background:var(--error);}
.r5-actuals{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--surface-2);}
.r5-actuals h3{padding-bottom:6px;}
.r5-actual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--border);font-size:13.5px;}
.r5-actual-v{display:flex;gap:12px;align-items:center;justify-content:flex-end;font:500 12.5px/1.4 var(--font-data);}
.r5-actual-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.r5-actual-f input{width:110px;}
@media (max-width: 759px){
  .r5-figs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .r5-ptable .r5-prow{grid-template-columns:minmax(0,1fr) auto;}
  .r5-ptable .r5-prow > :nth-child(3){grid-column:1 / -1;}
  .r5-phead{display:none !important;}
  .r5-actual{grid-template-columns:minmax(0,1fr) auto;}
  .r5-actual > .quiet{grid-column:1 / -1;order:3;}
  .r5-full{padding:0;}
  .r5-full-in{border-radius:0;height:100%;}
}

/* ==== QC-C3: statistics on the web ==== */
.c3-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
.c3-form.c3-one{grid-template-columns:1fr;}
.c3-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-2);}
.c3-form input.field,.c3-form select.field{width:100%;min-width:0;}
.c3-paste{width:100%;min-height:96px;resize:vertical;padding:8px 10px;border-radius:9px;border:1px solid var(--border-strong);background:var(--field);color:var(--ink);font:13px/1.5 var(--font-data);}
.c3-answer .c3-lead{font-weight:600;}
.c3-answer .wk-slots dd{font-family:var(--font-data);}
@media (max-width:420px){.c3-form{grid-template-columns:1fr;}}

/* ==== QJ-WEBSTATS: the statistics tables ==== */
.qjws-block{margin:14px 0 0;}
.qjws-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;max-width:100%;}
.qjws-wrap:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px;}
.qjws-t{border-collapse:collapse;width:100%;font-size:13px;}
.qjws-t caption{text-align:left;font-weight:600;padding:8px 10px;color:var(--ink);}
.qjws-t th,.qjws-t td{padding:6px 10px;border-top:1px solid var(--border);text-align:left;white-space:nowrap;}
.qjws-t thead th{color:var(--ink-2);font-weight:600;font-size:12px;}
.qjws-t tbody th{font-weight:500;color:var(--ink);}
.qjws-t td.num{text-align:right;font-family:var(--font-data);}
.qjws-paste{min-height:140px;}
/* ==== /QJ-WEBSTATS ==== */

/* ==== QE-HOMES (W-D1) ==== The web home's resume card, across the page: the
   thread's question, its reading and Open the thread. Same order as Sheets. */
.qe-label{margin:22px 0 8px;}
.qe-leftoff{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;text-align:left;background:var(--surface-card);border:1px solid var(--primary);border-radius:var(--r-3);padding:12px 16px;color:var(--ink);cursor:pointer;font:inherit;margin-top:18px;}
.qe-leftoff:hover{background:var(--surface-3);}
.qe-top{display:flex;align-items:baseline;gap:8px;}
.qe-when{margin-left:auto;font:500 11px/1.4 var(--font-data);color:var(--ink-3);}
.qe-t{font-weight:600;overflow-wrap:anywhere;}
.qe-read{font-size:14px;line-height:1.5;color:var(--ink-2);}
.qe-open{font-size:13px;color:var(--primary-ink);}
/* ==== QE-WEB ==== the estimate editor, the Model shaper and the scenario comparison (W-C2, W-G3).
   2026-10-18 (webfidelity): rebuilt against the design frames asset-aea110ad (Web estimate editor) and
   asset-843ff6cc (Model shaper); docs/design-fidelity-web-2026-10-18.md lists every element. */
.panel.r5-panel{--qe-ground:var(--field);--qe-row:var(--surface-2);background:var(--qe-ground);padding:16px 18px 20px;gap:10px;}
@media (min-width:1280px){.panel.r5-panel{width:420px;}}
@media (min-width:1100px) and (max-width:1279px){.panel.r5-panel{width:360px;}}
@media (max-width:1099px){.panel.r5-panel{width:min(420px,100%);}}
.panel.r5-panel > *{flex:none;}
.r5-panel .panel-top .label{font:500 10.5px/1.4 var(--font-data);letter-spacing:.1em;}
.r5-pname{font:600 21px/1.2 var(--font-display);}
.r5-ptitle{gap:6px;}
.r5-ptitle .note{font-size:12.5px;line-height:1.5;color:var(--ink-2);margin:0;}
.r5-ptitle .note + .note{font-size:12px;color:var(--ink-3);}
.qe-goal{gap:2px;}
.qe-goal p:last-child{font-size:13.5px;margin:0;}
.qe-goal .label,.qe-ests > .label{margin:0;}
.qe-ests{margin-top:4px;gap:8px;}
.qe-rcpt{margin-top:6px;}
.r5-panel .r5-prow{gap:8px;}
.qe-mono{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);}
/* the two views: a segmented control, How it adds up first (the shaper frame) */
.qe-tabs{display:flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;}
.qe-tab{flex:1;background:transparent;border:0;color:var(--ink-2);font:600 12.5px/1.2 var(--font-ui);padding:8px 4px;min-height:36px;cursor:pointer;text-align:center;}
.qe-tab:hover{background:var(--qe-row);color:var(--ink);}
.qe-tab[aria-selected="true"]{background:var(--primary-soft);color:var(--primary-ink);}
/* a closed estimate: the frame's card */
.r5-est.qe-est{padding:0;border-radius:10px;gap:0;}
.r5-est.qe-closed{background:var(--qe-row);border:1px solid var(--border);}
.r5-est.qe-closed:hover,.r5-est.qe-closed.moved{border-color:var(--primary);}
.qe-rowbtn{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:9px 12px 8px;color:var(--ink);font:inherit;cursor:pointer;min-height:44px;}
.qe-rowtop{display:flex;align-items:baseline;gap:8px;min-width:0;}
.qe-rowtop b{min-width:0;font-size:13.5px;font-weight:600;overflow-wrap:anywhere;}
.qe-rowshape{margin-left:auto;flex:none;font-size:12px;color:var(--ink-2);}
.qe-go{flex:none;color:var(--primary-ink);font-size:15px;line-height:1;}
.qe-est .r5-tag,.qe-step .r5-tag{flex:none;font:500 9.5px/1.4 var(--font-data);letter-spacing:.06em;color:var(--brass);background:var(--brass-soft);border-radius:4px;padding:1px 5px;}
.qe-sp{display:block;overflow:visible;}
.qe-est .r5-est-v{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font:500 12.5px/1.4 var(--font-data);text-align:center;color:var(--ink);}
   thread's question, its reading and Open the thread. Same order as Sheets.
   QE-HOMESFIDELITY (2026-10-18): redrawn to the Claude Design frame ("Home on the web"). */
.qe-label{margin:8px 0 0;}
.ask.qe-home{max-width:908px;padding:40px 24px 20px;gap:14px;}
.ask.qe-home h2{font-size:40px;}
.ask.qe-home .lede{max-width:640px;margin:0;}
.ask.qe-home .doors{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;}
.ask.qe-home .door{border-radius:10px;gap:6px;}
.ask.qe-home .door span{font-size:13px;}
.ask.qe-home .wk-pills .wk-pill, .ask.qe-home .wk-pills button{min-height:38px;padding:7px 15px;}
.qe-leftoff{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto;gap:24px;align-items:center;width:100%;max-width:100%;text-align:left;
  background:var(--surface-card);border:1px solid var(--border-strong);border-radius:12px;padding:16px 20px;color:var(--ink);cursor:pointer;font:inherit;margin-top:6px;
  box-shadow:inset 0 1px 0 rgba(241,237,225,.09);}
.qe-leftoff:hover,.qe-leftoff:focus-visible{background:var(--surface-card);border-color:var(--primary);}
.qe-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 0;min-width:0;}
.qe-top .label{font-size:10.5px;color:var(--success);}
.qe-when{font:500 10.5px/1.4 var(--font-data);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);white-space:pre;}
.qe-t{flex:0 0 100%;font-size:16px;font-weight:600;line-height:1.35;overflow-wrap:anywhere;}
.qe-read{min-width:0;font:600 19px/1.35 var(--font-display);color:var(--ink);text-wrap:pretty;}
.qe-open{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--primary-ink);white-space:nowrap;}
.qe-open > span:last-child{font-size:17px;}
.qe-linkpanel{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2,var(--field));}
.qe-linklab{font-size:13px;line-height:1.45;color:var(--ink-2);}
.qe-linkrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.qe-linkin{flex:1 1 220px;min-width:0;min-height:40px;box-sizing:border-box;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;font:500 13px var(--font-ui);}
.qe-linkall{font-size:13px;color:var(--primary-ink);}
@media (max-width:759px){
  .ask.qe-home{padding:32px 16px 20px;}
  .ask.qe-home h2{font-size:30px;}
  .ask.qe-home .doors{grid-template-columns:1fr;}
  .qe-leftoff{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px;}
  .qe-read{font-size:16px;}
}
/* QE-HOMESFIDELITY: the frame's sidebar is 248px on the darker ground. */
.side{width:248px;background:color-mix(in srgb,var(--bg) 78%,black);}
/* QE-HOMESFIDELITY: IN THIS BROWSER rows wrap their title (two lines), as the frame's do. */
.wk-th{font-size:13px;line-height:1.35;color:var(--ink);}
.wk-th .t{white-space:normal;overflow:visible;overflow-wrap:anywhere;}
/* QE-HOMESFIDELITY: the dock follows the frame: the box edged in teal, the send button quiet, the
   line under it with What's sent at the right. */
.wk-dock{padding:12px 24px 14px;}
.composer.wk-composer{max-width:860px;}
.wk-box{border-radius:12px;border-color:var(--primary);}
.wk-send{border-color:var(--border-strong);color:var(--ink-2);}
.wk-send:hover{background:var(--primary-soft);color:var(--primary-ink);}
.wk-foot{display:block;line-height:1.45;} /* QI-POLISH (R9 item 8): the sentence and its link read as one block, the link after the full stop, not flexed into the middle of the wrapped line */
.wk-foot a{margin-left:.5em;}
.wk-foot a{color:var(--primary-ink);}
@media (max-width:759px){.wk-foot{flex-wrap:wrap;}}
/* ==== QE-WEB ==== the estimate editor, the Model Shaper and the scenario comparison (W-C2, W-G3) */
.qe-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);}
.qe-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-2);font:600 13px/1 var(--font-ui);padding:9px 10px;min-height:40px;cursor:pointer;}
.qe-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--brass);}
.qe-est{padding:0;}
.qe-rowbtn{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:9px 11px;color:var(--ink);font:inherit;cursor:pointer;min-height:44px;}
.qe-rowbtn:hover{background:var(--primary-soft);}
.qe-rowbtn .r5-est-v{width:100%;}
.qe-go{color:var(--ink-3);font-size:16px;}
.qe-params{font:500 11.5px/1.4 var(--font-data);color:var(--ink-2);overflow-wrap:anywhere;}
/* the open card */
.r5-est.qe-card{background:var(--surface-card);border:1px solid var(--primary);padding:12px;display:flex;flex-direction:column;gap:10px;}
.qe-head{display:flex;align-items:center;gap:8px;min-width:0;}
.qe-name{flex:1;min-width:0;font:600 14.5px/1.3 var(--font-ui);overflow-wrap:anywhere;}
.qe-done,.qe-link{flex:none;background:none;border:0;padding:6px 0;margin:-6px 0;color:var(--primary-ink);font:600 13px/1.4 var(--font-ui);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(134,199,218,.6);cursor:pointer;}
.qe-done:hover,.qe-link:hover{color:var(--brass);}
.qe-ed{display:flex;flex-direction:column;gap:10px;}
.qe-shaperow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;}
.qe-shapebtn{display:inline-flex;align-items:center;gap:5px;min-height:30px;box-sizing:border-box;padding:0 9px 0 11px;border:1px solid var(--primary);border-radius:7px;background:transparent;color:var(--primary-ink);font:600 12.5px/1 var(--font-ui);cursor:pointer;}
.qe-shapebtn:hover{background:var(--primary-soft);}
.qe-shaped{min-width:0;flex:1 1 140px;font-size:12px;line-height:1.35;color:var(--ink-2);}
.qe-picker{display:flex;flex-direction:column;gap:8px;}
.qe-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.qe-tile{display:flex;flex-direction:column;gap:4px;text-align:left;padding:9px 10px;border-radius:9px;border:1px solid var(--border-strong);background:transparent;color:var(--ink);font:inherit;cursor:pointer;min-height:44px;min-width:0;}
.qe-tile:hover{border-color:var(--primary);}
.qe-tile.on{border-color:var(--primary);background:var(--primary-soft);}
.qe-tile-h{display:flex;align-items:baseline;gap:6px;}
.qe-tile-h b{font-size:13px;font-weight:600;}
.qe-ck{color:var(--success);}
.qe-tile-h .qe-ck{margin-left:auto;}
.qe-tile-v{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font:500 10.5px/1.4 var(--font-data);color:var(--ink-2);text-align:center;}
.qe-tile-d{font-size:11.5px;line-height:1.35;color:var(--ink-2);}
.qe-morerow{display:flex;align-items:center;gap:8px;width:100%;padding:7px 2px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--primary-ink);font:600 12.5px/1.3 var(--font-ui);text-align:left;cursor:pointer;min-height:36px;}
.qe-morerow:hover{background:var(--surface-3);}
.qe-more-l{flex:1;min-width:0;}
.qe-more-n{font:500 10.5px/1.4 var(--font-data);color:var(--ink-3);}
.qe-find{display:flex;flex-direction:column;gap:6px;}
.panel .qe-search{width:100%;min-height:30px;box-sizing:border-box;font:400 12.5px/1.4 var(--font-ui);color:var(--ink);background:var(--field);border:1px solid var(--border-strong);border-radius:6px;padding:5px 9px;margin:0;}
.qe-search:focus,.qe-box input:focus,.qe-weight input:focus,.qe-stepinput:focus{border-color:var(--primary);outline:none;}
.qe-shapes{display:flex;flex-direction:column;gap:6px;}
.qe-gh{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);margin:4px 0 0;}
.qe-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.qe-shape{display:inline-flex;align-items:center;min-height:28px;box-sizing:border-box;padding:3px 10px;border:1px solid var(--border-strong);border-radius:99px;background:transparent;color:var(--ink);font:600 12px/1.3 var(--font-ui);cursor:pointer;}
.qe-shape:hover{border-color:var(--primary);}
.qe-shape.on{border-color:var(--primary);background:var(--primary-soft);}
.qe-shape[hidden],.qe-gh[hidden],.qe-chips[hidden]{display:none;}
.qe-guide p{font-size:12px;margin:0 0 4px;color:var(--ink-2);}
/* the preview, with its low and high under the ticks */
.qe-prev{position:relative;padding-bottom:18px;}
.qe-pu{position:absolute;bottom:0;transform:translateX(-50%);font:500 10.5px/1.4 var(--font-data);color:var(--ink-2);white-space:nowrap;}
.qe-pu.lo{left:16%;}
.qe-pu.hi{left:84%;}
.qe-curve{min-height:46px;}
.qe-cap{font:500 11px/1.4 var(--font-data);color:var(--ink-2);margin:2px 0 0;}
/* Low, Likely, High */
.qe-fields{display:flex;flex-direction:column;gap:4px;}
.qe-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font:400 12px/1.4 var(--font-ui);color:var(--ink-2);text-align:center;white-space:nowrap;}
.qe-llh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.qe-own{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));}
.qe-fld{display:flex;align-items:center;gap:4px;min-width:0;min-height:34px;box-sizing:border-box;background:var(--field);border:1px solid var(--border-strong);border-radius:6px;padding:0 8px;}
.qe-fld:focus-within{border-color:var(--primary);}
.qe-fld.qe-bad,.qe-fld.qe-bad:focus-within{border-color:var(--brass);}
.panel .qe-fld input{flex:1;min-width:0;min-height:0;background:transparent;border:0;outline:none;color:var(--ink);font:500 13px/1.4 var(--font-data);text-align:right;padding:0;border-radius:0;}
.qe-unit{flex:none;font-size:11px;color:var(--ink-3);}
.qe-f{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12px;color:var(--ink-2);}
.qe-f > span:first-child{font:500 10px/1.4 var(--font-data);letter-spacing:.06em;color:var(--ink-3);}
.panel .qe-f input,.panel .qe-f select{min-height:32px;width:100%;min-width:0;box-sizing:border-box;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px;padding:4px;font:500 12.5px/1.4 var(--font-data);text-align:center;}
.qe-alert{display:flex;gap:6px;align-items:baseline;font-size:12px;line-height:1.45;}
.qe-alert span:first-child{flex:none;color:var(--brass);font-weight:700;}
.qe-weight{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px;align-items:center;}
.qe-wl{font-size:12.5px;line-height:1.35;}
.qe-ws{display:block;font-size:11px;color:var(--ink-3);}
.panel .qe-weight input{width:100%;min-width:0;min-height:32px;box-sizing:border-box;font:500 12.5px/1.4 var(--font-data);text-align:center;color:var(--ink);background:var(--field);border:1px solid var(--border-strong);border-radius:6px;padding:4px;}
.qe-sl{margin:0;}
.qe-note{font-size:12px;line-height:1.45;color:var(--ink-2);margin:0;}
.qe-hint{font-size:12px;line-height:1.45;color:var(--ink-3);margin:0;}
/* MORE WAYS TO SET IT */
.qe-more{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border);}
.qe-more > .qe-gh{margin:0;}
.qe-pills{display:flex;flex-wrap:wrap;gap:6px;}
.qe-pill{display:inline-flex;align-items:center;gap:5px;min-height:30px;box-sizing:border-box;padding:0 11px;border:1px solid var(--primary);border-radius:99px;background:transparent;color:var(--primary-ink);font:600 12px/1.2 var(--font-ui);white-space:nowrap;flex:none;cursor:pointer;}
.qe-pill:hover{background:var(--primary-soft);}
.qe-pill.on{background:var(--primary-soft);color:var(--ink);}
.qe-sects{display:flex;flex-direction:column;}
.qe-sect{display:flex;flex-direction:column;gap:6px;padding-top:8px;margin-top:8px;border-top:1px solid var(--border);}
.qe-sect > .qe-gh{margin:0;letter-spacing:.08em;}
.qe-sect > .qe-hint{color:var(--ink-2);}
.qe-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.qe-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.qe-box{display:flex;flex-direction:column;gap:3px;min-width:0;}
.qe-box > span{font:500 10px/1.4 var(--font-data);letter-spacing:.06em;color:var(--ink-3);}
.qe-grid3 .qe-box > span{text-align:center;}
.panel .qe-box input{width:100%;min-width:0;min-height:32px;box-sizing:border-box;font:500 12.5px/1.4 var(--font-data);text-align:center;color:var(--ink);background:var(--field);border:1px solid var(--border-strong);border-radius:6px;padding:4px;}
.qe-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.qe-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;box-sizing:border-box;padding:0 12px;border:1px solid var(--primary);border-radius:8px;background:transparent;color:var(--primary-ink);font:600 12.5px/1.2 var(--font-ui);cursor:pointer;flex:none;}
.qe-btn:hover{background:var(--primary-soft);}
.qe-solved{font:500 11px/1.4 var(--font-data);color:var(--ink-2);}
.qe-pair{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:12.5px;}
.qe-x{flex:none;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-2);font-size:14px;cursor:pointer;padding:0;}
.qe-x:hover{background:var(--surface-3);color:var(--ink);}
.qe-rho{font:500 11px/1.4 var(--font-data);color:var(--ink-2);margin:0;}
.panel .qe-sect select,.panel .qe-sect .qe-f select{width:100%;min-height:34px;box-sizing:border-box;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;font:500 13px/1.4 var(--font-ui);text-align:left;}
/* W42 (Estimate Editor mock, 2026-11-10): the open card's foot, its state, and what it says after Save or Remove */
.qe-rm{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:0;}
.qe-rm .qe-hint{text-align:left;}
.qe-edfoot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-top:12px;border-top:1px solid var(--border);min-width:0;}
.qe-edfoot .qe-rmlink{margin-left:auto;}
.btn.qe-save{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.btn.qe-save:hover{background:var(--primary-ink);border-color:var(--primary-ink);color:var(--on-primary);}
.btn.qe-save:disabled{background:transparent;border:1px dashed var(--border);color:var(--ink-3);cursor:not-allowed;}
.qe-edmsg{margin:0;font-size:12.5px;line-height:1.45;color:var(--primary-ink);}
.qe-eqnote{margin:0;font-size:13px;line-height:1.45;color:var(--ink-2);}
.qe-st{margin-left:auto;flex:none;font:500 10.5px/1.4 var(--font-data);letter-spacing:.08em;white-space:nowrap;}
.qe-st-saved{color:var(--leaf);}
.qe-st-dirty{font-weight:600;color:var(--bg);background:var(--primary-ink);border-radius:4px;padding:2px 6px;}
.qe-donebox{display:flex;flex-direction:column;gap:10px;padding:12px 2px;min-width:0;}
.qe-done-t{display:flex;gap:8px;align-items:baseline;margin:0;font-size:14.5px;line-height:1.5;overflow-wrap:anywhere;}
.qe-done-t .qe-ok{color:var(--leaf);flex:none;}
.qe-done-2{margin:0;color:var(--ink-2);line-height:1.5;}
/* the foot of the list */
.qe-foot{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.qe-actlist{display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);padding:4px;}
.qe-actlist .r5-act:hover{background:var(--surface-3);}
.qe-off{opacity:.85;cursor:default;}
.qe-add{display:flex;flex-direction:column;gap:8px;padding:11px 12px;border-radius:10px;background:var(--surface-card);border:1px solid var(--primary);}
.qe-add .qe-f > span:first-child{letter-spacing:.06em;}
.qe-add select{width:100%;min-height:34px;box-sizing:border-box;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;font:500 13px/1.4 var(--font-ui);}
.qe-places{display:flex;flex-direction:column;gap:5px;}
.qe-place{display:flex;gap:8px;align-items:center;min-height:32px;padding:6px 9px;border:1px solid var(--border-strong);border-radius:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer;}
.qe-place:hover{border-color:var(--primary);color:var(--ink);}
.qe-place:has(input:checked){border-color:var(--primary);background:var(--primary-soft);color:var(--ink);font-weight:600;}
.qe-place input{accent-color:var(--primary-ink);margin:0;}
.qe-chip,.qe-chipbtn{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--ink);font:500 12px/1.2 var(--font-ui);cursor:pointer;}
.qe-chip.on{padding:1px 2px 1px 9px;gap:2px;min-height:0;font-size:11.5px;cursor:default;}
.qe-chipbtn:hover{border-color:var(--primary);}
.qe-start{font-size:11.5px;color:var(--ink-3);}
/* a new estimate in the what-if, with where it goes */
.qe-newest{display:flex;flex-direction:column;gap:7px;padding:11px 12px;background:var(--surface-card);border:1px solid var(--primary);border-radius:10px;}
.qe-newest-t{display:flex;align-items:baseline;gap:8px;min-width:0;}
.qe-newest-t b{font-size:13.5px;font-weight:600;min-width:0;overflow-wrap:anywhere;}
.qe-newest-v{margin-left:auto;font:500 11.5px/1.4 var(--font-data);color:var(--ink-2);text-align:right;}
.qe-place.on{border-color:var(--primary);background:var(--primary-soft);color:var(--ink);font-weight:600;}
.qe-radio{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-3);flex:none;}
.qe-place.on .qe-radio{box-shadow:inset 0 0 0 4px var(--primary-ink);}
.qe-place select{margin-left:auto;max-width:55%;}
/* How it adds up */
.qe-shaper{gap:10px;}
.qe-outcome{display:flex;flex-direction:column;gap:3px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.qe-out-n{font-size:14.5px;font-weight:600;}
.qe-out-d{font-size:12.5px;line-height:1.5;color:var(--ink-2);}
.qe-out-g{font-size:12.5px;line-height:1.5;}
.qe-tasks{display:flex;flex-direction:column;}
.qe-thead,.qe-task-t{display:grid;grid-template-columns:minmax(0,1fr) 54px 70px;gap:8px;align-items:baseline;}
.qe-thead{padding-bottom:4px;font:500 10px/1.4 var(--font-data);letter-spacing:.06em;color:var(--ink-3);}
.qe-thead span:not(:first-child){text-align:right;}
.qe-task{display:flex;flex-direction:column;gap:5px;padding:8px 0;border-top:1px solid var(--border);margin:0;background:none;border-left:0;border-right:0;border-bottom:0;border-radius:0;}
.qe-task-n{display:flex;align-items:baseline;gap:6px;min-width:0;}
.qe-task-n b{font-size:13px;font-weight:600;overflow-wrap:anywhere;}
.qe-new{flex:none;font:500 9.5px/1.4 var(--font-data);letter-spacing:.06em;color:var(--brass);background:var(--brass-soft);border-radius:4px;padding:1px 5px;}
.qe-likely{font:500 12px/1.4 var(--font-data);text-align:right;}
.qe-crit{display:flex;align-items:center;gap:5px;justify-content:flex-end;}
.qe-critbar{width:30px;height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden;}
.qe-critin{display:block;height:100%;width:0;background:var(--brass);}
.qe-critn{font:500 11px/1.4 var(--font-data);color:var(--ink-2);min-width:20px;text-align:right;}
.qe-chip.on span:first-child{white-space:normal;}
.qe-waitsel{min-height:24px;max-width:150px;background:transparent;color:var(--primary-ink);border:1px dashed var(--primary);border-radius:99px;padding:0 8px;font:600 11.5px/1.3 var(--font-ui);cursor:pointer;}
.qe-waitsel option{background:var(--surface-card);color:var(--ink);}
.qe-step{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--border);}
.qe-step-t{display:flex;align-items:baseline;gap:8px;margin:0;}
.qe-step-t b{font-size:13.5px;font-weight:600;}
.qe-res{color:var(--success);font-size:9.5px;letter-spacing:.06em;}
.qe-edit{margin-left:auto;font-size:12.5px;}
.qe-parts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 5px;font-size:13px;line-height:1.6;}
.qe-parts .qe-op{color:var(--ink-2);}
.qe-nm{font:500 11.5px/1.5 var(--font-data);color:var(--primary-ink);background:var(--primary-soft);border-radius:4px;padding:1px 6px;}
.qe-stepedit{display:flex;flex-direction:column;gap:8px;}
.panel .qe-stepinput{min-height:34px;width:100%;min-width:0;box-sizing:border-box;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px;padding:0 10px;font:500 12.5px/1.4 var(--font-data);}
.qe-check{display:flex;gap:6px;align-items:baseline;font-size:12px;line-height:1.45;color:var(--ink-2);margin:0;min-height:16px;}
.qe-check .qe-ok{color:var(--success);}
.qe-check .qe-bang{color:var(--brass);font-weight:700;}
.qe-check.bad{color:var(--ink);}
.qe-kinds{margin-top:4px;}
.qe-kindlist{display:flex;flex-direction:column;gap:8px;padding:6px 0 2px;}
.qe-kind{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;line-height:1.45;color:var(--ink-2);}
.qe-kind.here{border-color:var(--primary);background:var(--primary-soft);}
.qe-kind b{font-size:13px;color:var(--ink);}
.qe-kind-d{color:var(--ink);}
.qe-kind-l .qe-mono{font-size:9.5px;}
/* on the answer card */
.r5-n{font-size:54px;}
.r5-bin{background:color-mix(in srgb,var(--ink-3) 60%,var(--surface-card));opacity:1;}
.r5-bin.gold{background:var(--brass);}
.r5-before{position:absolute;height:2px;background:rgba(241,237,225,.6);pointer-events:none;}
.r5-axis{align-items:center;}
.r5-before-l{display:inline-flex;align-items:center;gap:5px;}
.r5-before-l i{display:inline-block;width:12px;height:2px;background:rgba(241,237,225,.6);}
.r5-cmp{gap:6px 18px;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;}
.r5-cmp [role=columnheader]{text-align:right;}
.r5-cmp [role=rowheader]{color:var(--ink-2);font-weight:400;}
.r5-cmp [role=cell]{font:500 13px/1.4 var(--font-data);text-align:right;white-space:nowrap;color:var(--ink);font-weight:500;}
.r5-cmp [role=cell]:nth-child(2){color:var(--ink);font-weight:500;}
.r5-cmp [role=cell]:nth-child(3){color:var(--ink-2);}
.qe-wifoot{gap:8px;}
.qe-nosave{font-size:12px;line-height:1.4;color:var(--ink-3);}
.qe-kept{display:flex;gap:6px;align-items:baseline;font-size:13px;line-height:1.5;}
.qe-kept .qe-ok{color:var(--success);flex:none;}
.qe-cmp-wrap{display:flex;flex-direction:column;gap:8px;}
.qe-cmp{display:grid;gap:4px 12px;border-top:1px solid var(--border);padding-top:9px;font-size:13px;overflow-x:auto;}
.qe-cmp > div{display:contents;}
.qe-cmp [role=columnheader],.qe-cmp [role=rowheader]{font:500 10px/1.4 var(--font-data);letter-spacing:.1em;color:var(--ink-3);}
.qe-cmp [role=columnheader]{color:var(--ink);font-size:12px;letter-spacing:0;font-weight:600;}
.qe-cmp-w{color:var(--ink-2);font-size:12px;overflow-wrap:anywhere;}
.qe-cmp-a{font-weight:600;color:var(--brass);}
.qe-cmp-r{font:500 10.5px/1.5 var(--font-data);color:var(--ink-3);overflow-wrap:anywhere;}
@media (max-width:420px){.qe-llh{grid-template-columns:1fr;}.qe-tiles{grid-template-columns:1fr;}}
/* ==== QE-ROUTER: the one-tap problem report (W-A7) ==== */
.wk-bug { display: grid; gap: 8px; margin: 8px 0; max-width: 520px; }
.wk-bug-in { width: 100%; box-sizing: border-box; font: inherit; padding: 8px 10px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--field); color: inherit; resize: vertical; }
.wk-src { opacity: .75; }
@media (max-width:340px){.qe-tiles{grid-template-columns:1fr;}.qe-llh,.qe-cols{gap:6px;}.qe-grid3{gap:6px;}}
.btn.qe-keep{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}
.btn.qe-keep:hover{background:var(--primary-ink);border-color:var(--primary-ink);color:var(--on-primary);}
.qe-drawerbar{display:none;}
@media (max-width:1099px){
  .qe-drawerbar{display:flex;flex-direction:column;gap:8px;position:sticky;bottom:0;margin:0 -18px -20px;padding:10px 18px 12px;background:var(--qe-ground);border-top:1px solid var(--border-strong);z-index:2;}
  .qe-drawer-t{font-size:13px;}
}
.panel .qe-place select{min-height:26px;background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:6px;padding:0 6px;font:500 12px/1.3 var(--font-ui);}

/* ==== QJ-WEBMODELS ==== tables, the swept line, bars and the Gantt of the What-If, Decision Tree and Project cards */
.qj-tblwrap{overflow-x:auto;margin:10px 0 0;max-width:100%;border-top:1px solid var(--border);}
.qj-tbl{border-collapse:collapse;width:100%;font-size:12.5px;}
.qj-tbl caption{text-align:left;font:600 12px/1.4 var(--font-ui);color:var(--ink-2);padding:8px 0 4px;}
.qj-tbl th,.qj-tbl td{padding:5px 10px 5px 0;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);font-family:var(--font-data);font-weight:400;}
.qj-tbl thead th{font:600 11px/1.3 var(--font-ui);color:var(--ink-3);vertical-align:bottom;white-space:normal;}
.qj-tbl .qj-first,.qj-tbl td.qj-wide{text-align:left;font-family:var(--font-ui);white-space:normal;}
.qj-tbl .qj-first{color:var(--ink);font-weight:500;min-width:96px;}
.qj-tbl tr.qj-sep td,.qj-tbl tr.qj-sep th{border-top:2px solid var(--border-strong);}
.qj-tbl td{padding-left:10px;}
.qj-charts{display:flex;flex-direction:column;gap:12px;margin:10px 0 0;}
.qj-chart{margin:10px 0 0;}
.qj-chart figcaption{font:600 12px/1.4 var(--font-ui);color:var(--ink-2);margin:0 0 4px;}
/* Progress and forecast (qjwmProgress): one chart; the words are HTML placed in percent of the drawing's box, in text ink, never the line's hue. */
.qj-prog{max-width:640px;}
.qj-prog-plot{position:relative;container-type:inline-size;}
@container (max-width:420px){.qj-pl-xm{display:none;}}
.qj-prog-plot svg{display:block;width:100%;height:auto;overflow:visible;}
.qj-pl{position:absolute;white-space:nowrap;font:400 11px/1.2 var(--font-data);color:var(--ink-3);pointer-events:none;}
.qj-pl-y{transform:translate(-100%,-50%);}
.qj-pl-x{transform:translateX(-50%);}
.qj-pl-x0{transform:none;}
.qj-pl-xn{transform:translateX(-100%);}
.qj-pl-ser{font:600 12px/1.2 var(--font-ui);color:var(--ink);}
.qj-pl-ref{color:var(--ink-2);}
.qj-pl-fin{transform:translate(-100%,-100%);font:600 11.5px/1.2 var(--font-ui);color:var(--ink);}
.qj-axis{display:flex;justify-content:space-between;gap:8px;font:400 11px/1.4 var(--font-data);color:var(--ink-3);}
.qj-row{display:grid;grid-template-columns:minmax(84px,30%) minmax(0,1fr) auto;gap:8px;align-items:center;padding:3px 0;font-size:12.5px;}
.qj-lab{color:var(--ink);overflow-wrap:anywhere;}
.qj-val{font:400 12px/1.3 var(--font-data);color:var(--ink-2);white-space:nowrap;}
.qj-track{position:relative;height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden;}
.qj-fill{position:absolute;left:0;top:0;bottom:0;background:var(--primary);border-radius:6px;opacity:.85;}
.qj-fill.neg{background:var(--error);}
.qj-gantt .qj-fill{opacity:.55;}
.qj-gantt .qj-fill.crit{background:var(--brass);opacity:1;}
.qj-slack{position:absolute;top:3px;bottom:3px;background:repeating-linear-gradient(135deg,var(--border-strong) 0 3px,transparent 3px 6px);border-radius:3px;}
.qj-ref{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);}
/* ==== end QJ-WEBMODELS ==== */
/* ==== QJ-WEBSOLVER ==== Before and After, the limits, the numbers to change (work.js, qjFig). */
.qj-fig{display:flex;flex-direction:column;gap:6px;}
.qj-cap{margin:8px 0 0;font-size:12.5px;font-weight:600;color:var(--ink-2);}
.qj-pair{display:flex;flex-direction:column;gap:4px;}
.qjs-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;font-size:13.5px;}
.qj-k{color:var(--ink-3);}
.qj-v{font-family:var(--font-data);font-weight:600;text-align:right;}
.qj-bar{display:block;height:10px;border-radius:5px;background:var(--surface-3);overflow:hidden;}
.qj-bar>span{display:block;height:100%;border-radius:5px;}
.qj-before>span{background:var(--border-strong);}
.qj-after>span{background:var(--primary);}
.qj-list{display:flex;flex-direction:column;}
.qj-line{display:flex;justify-content:space-between;gap:12px;margin:0;padding:6px 0;border-top:1px solid var(--border);font-size:13.5px;}
.qj-line b{font-family:var(--font-data);font-weight:600;text-align:right;}
.qj-more summary,.qj-edit summary{cursor:pointer;font-size:13.5px;color:var(--primary);padding:6px 0;}
.qj-edit{margin-top:8px;border-top:1px solid var(--border);padding-top:6px;}
.qj-in{display:grid;grid-template-columns:1fr 110px;gap:10px;align-items:center;padding:4px 0;font-size:13.5px;}
.qj-in input{font-family:var(--font-data);text-align:right;min-width:0;}
@media (max-width:420px){.qj-in{grid-template-columns:1fr 92px;}}
/* ==== end QJ-WEBSOLVER ==== */

/* ==== QM-INTEGRITY (FR13, F80): the trials behind an answer, and Replace from a file ==== */
.qmint{margin-top:10px;}
.qmint .label{margin:10px 0 2px;}
.qmint-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-2);margin:8px 0;max-width:100%;}
.qmint-scroll:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.qmint-table{border-collapse:collapse;width:100%;font:500 12.5px/1.35 var(--font-data);}
.qmint-table caption{caption-side:top;text-align:left;padding:7px 10px;font:600 12.5px/1.3 var(--font-ui);color:var(--ink-2);}
.qmint-table th,.qmint-table td{padding:5px 10px;text-align:right;white-space:nowrap;border-top:1px solid var(--border);}
.qmint-table thead th{font:600 11.5px/1.3 var(--font-ui);color:var(--ink-3);white-space:normal;min-width:84px;vertical-align:bottom;}
.qmint-table tbody th{text-align:left;color:var(--ink-3);font-weight:600;}
.qmint-step{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px;}
.qmint-step input{width:7.5em;text-align:center;font:600 15px/1.3 var(--font-data);}
.qmint-arrow{min-width:44px;padding:6px 10px;}
.qmint-l,.qmint-of{font-size:13px;color:var(--ink-2);}
.qmint-one{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:var(--r-2);padding:10px 12px;margin:8px 0;}
.qmint-state{margin:0 0 6px;}
.qmint-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;}
.qmint-dl dd{font:600 14px/1.3 var(--font-data);overflow-wrap:anywhere;}
.qe-fromfile{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin:12px 0;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--r-2);}
@media (max-width:520px){.qmint-dl{grid-template-columns:minmax(0,1fr);}}
/* ==== end QM-INTEGRITY ==== */
/* E13: the threads page (/app/threads) */
.thl-bar{gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.thl-bar input[type=search]{flex:1 1 260px;min-width:0;}
.thl-list .thl-open{font-weight:600;text-align:left;overflow-wrap:anywhere;min-width:0;}
.thl-bar .field{text-transform:none;letter-spacing:normal;font-family:inherit;}

/* ==== One Sortia wave 3: the merged shell (site/app/shell.js; mock frames 1, 6 and 8). Only drawn with the 'shell' capability live. ==== */
.os-shell .side.os-side{width:200px;gap:3px;padding:14px 10px 12px;background:color-mix(in srgb,var(--bg) 78%,black);}
.os-side .top{padding:2px 8px 14px;}
.os-side ul{gap:3px;}
.os-side .navitem{gap:10px;min-height:36px;padding:0 10px;}
.os-side .navitem svg{flex:none;color:var(--ink-2);}
.os-side .navitem[aria-current="page"]{background:var(--surface-card);}
.os-side .navitem[aria-current="page"] svg{color:var(--primary-ink);}
.os-side .os-me{margin-top:auto;}
.os-kicker{margin:0;font:500 11px var(--font-data);letter-spacing:.1em;color:var(--ink-2);}
/* the Library (frame 6) */
.os-lib{display:flex;flex-direction:column;gap:20px;padding:22px 32px 28px;max-width:1180px;}
.os-lib-top{display:flex;align-items:center;gap:10px;}
.os-lib-search{flex:1;min-width:0;display:flex;align-items:center;height:42px;padding:0 14px;border:1px solid var(--border-strong);border-radius:11px;background:var(--field);}
.os-lib-q{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:400 14px var(--font-ui);outline:none;}
.os-lib-top .btn{min-height:42px;}
.os-lib-top .btn.ghost{background:transparent;border:1px solid var(--primary);color:var(--primary-ink);}
.os-lib-top .os-news{background:var(--primary);border-color:var(--primary);color:var(--bg);font-weight:600;}
.os-lib-top .os-news:hover{filter:brightness(1.06);background:var(--primary);color:var(--bg);}
.os-claim{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--primary);border-radius:12px;background:var(--primary-soft);}
.os-claim-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.os-claim-t span{font-size:13px;color:var(--ink-2);}
.os-lib-said,.os-lib-none{margin:0;font-size:13px;color:var(--primary-ink);}
.os-lib-sec{display:flex;flex-direction:column;}
.os-lib-sec:focus{outline:none;}
.os-lib-h{display:flex;align-items:baseline;gap:10px;padding-bottom:6px;}
.os-lib-note{font-size:12px;color:var(--ink-3);}
.os-lib-empty{margin:0;padding:10px 4px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-3);}
.os-lib-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) 130px 120px;gap:16px;align-items:center;padding:10px 4px;border-top:1px solid var(--border);}
.os-lib-open{min-width:0;display:flex;flex-direction:column;gap:1px;align-items:flex-start;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;}
button.os-lib-open:hover .os-lib-n{color:var(--primary-ink);}
.os-lib-n{max-width:100%;font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:break-word;text-wrap:pretty;}   /* NAV-TEMPLATES: a long name wraps between words, never cut */
.os-lib-sub{max-width:100%;font-size:12px;color:var(--ink-2);overflow-wrap:break-word;}
.os-lib-d{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;font-size:13px;color:var(--ink-2);}
.os-odds{font:600 13px var(--font-data);color:var(--brass);white-space:nowrap;}
.os-lib-when{font-size:12.5px;color:var(--ink-3);}
.os-lib-end{justify-self:end;display:flex;align-items:center;}
.os-lib-end .btn.small{min-height:32px;padding:0 12px;font-size:12.5px;background:transparent;border:1px solid var(--primary);color:var(--primary-ink);}
.os-lib-warn{font-size:12px;color:var(--error);text-align:right;}
.os-lib-more{align-self:flex-start;margin:8px 0 0;}
/* W43 (mock "Share and Receipt", the list): Shared answers in the mock's columns, Revoke confirming in place */
.os-lib-lrow{display:grid;grid-template-columns:96px minmax(150px,2fr) minmax(0,1fr) minmax(0,1fr) 150px;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--border);font-size:13px;}
.os-lib-lhead{border-top:0;padding:6px 4px;font:500 10.5px var(--font-data);letter-spacing:.08em;color:var(--ink-2);}
.os-lib-k{color:var(--ink-2);}
.os-lib-lrow .os-lib-when{font-size:13px;color:var(--ink-2);}
.os-lib-ask{display:flex;align-items:center;gap:10px;}
.os-lib-ask .os-lib-yes{min-height:32px;padding:0 12px;font-size:12.5px;border:0;background:var(--primary);color:var(--bg);}
.os-lib-gone{font-size:12.5px;color:var(--ink-2);text-align:right;}
.os-lib-lrow.is-gone .os-lib-n{color:var(--ink-2);}
.os-lib-rnote{margin:8px 0 0;font-size:12.5px;color:var(--ink-2);}
.os-nav-count{margin-left:auto;font:500 11.5px var(--font-data);color:var(--ink-2);}
/* NAV-TEMPLATES: the Library's one line to Templates, and Templates as its own page */
.os-lib-tpl{margin:4px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-2);}
.os-lib-tpla{color:var(--primary-ink);text-underline-offset:2px;}
.os-lib-tpla:hover{color:var(--brass);}
.os-tpl{gap:14px;}
.os-tpl-lede{margin:0;max-width:68ch;font-size:14px;line-height:1.5;color:var(--ink-2);text-wrap:pretty;}
.os-tpl-count{margin:2px 0 -6px;}
.os-tpl .os-tpl-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) auto;}
.os-tpl .os-lib-end .btn.small{white-space:nowrap;}
.os-tpl .gate{margin:0;}
@media (max-width: 759px){
  .os-lib{padding:16px;}
  .os-lib-top{flex-wrap:wrap;}
  .os-lib-search{flex-basis:100%;}
  .os-lib-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;}
  .os-lib-d{grid-column:1;}
  .os-lib-when{display:none;}
  .os-lib-end{grid-column:2;grid-row:1 / span 2;}
  .os-lib-lrow{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;}
  .os-lib-lhead{display:none;}
  .os-lib-lrow .os-lib-end{grid-column:2;grid-row:1 / span 4;}
  .os-tpl .os-tpl-row{grid-template-columns:minmax(0,1fr) auto;}
}
/* the sheet route: the navigation in #app, the sheet and its conversation in the stage beside it (frame 1) */
.os-shell.os-sheet .os-gap{flex:1;min-width:0;}
.os-stage{position:fixed;top:0;right:0;bottom:0;left:200px;z-index:5;background:var(--bg);}
.os-stage[hidden]{display:none;}
.os-stage.os-viewer{left:0;}
.os-stage #us-root{height:100%;}
.os-stage .us-app{grid-template-columns:minmax(0,1fr);}
.os-stage .us-aside{display:none;}
.os-stage .us-header [data-act="ask"]{display:none;}
.os-titlebox{display:flex;align-items:baseline;gap:12px;min-width:0;}
.os-titlebox .us-title{overflow:hidden;text-overflow:ellipsis;}
.os-save{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-2);white-space:nowrap;}
.os-save .os-mark{color:var(--leaf);}
.os-save-unknown .os-mark{color:var(--error);font-weight:700;}
.os-save .os-retry{margin:0 0 0 4px;padding:0;font-size:12.5px;}
.os-back{display:none;color:var(--ink);}
.os-tabs,.os-pin{display:none;}
.os-dock{flex:none;width:360px;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg);}
.os-dock-head{flex:none;display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);}
.os-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--primary);}
.os-dock-ht{min-width:0;display:flex;flex-direction:column;}
.os-dock-t{font:600 15px var(--font-display);}
.os-dock-s{font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.os-dock-stream{flex:1;min-height:0;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:18px;}
/* OC-parity-3: Start over, its ask in place and Undo, between the head and the conversation */
.os-fresh-slot{flex:none;}
.os-fresh{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:8px 18px;border-bottom:1px solid var(--border);font-size:12.5px;color:var(--ink-2);}
.os-fresh-slot:empty{display:none;}
.os-fresh .linkbtn{font-size:12.5px;}
.os-turn{display:flex;flex-direction:column;gap:10px;}
.os-q{align-self:flex-end;max-width:88%;margin:0;padding:8px 12px;border-radius:12px 12px 4px 12px;background:var(--surface-card);font-size:13.5px;}
.os-stages,.os-did{display:flex;flex-wrap:wrap;gap:4px 14px;font:500 12px var(--font-data);color:var(--ink-2);}
.os-stage-l,.os-did-l{display:inline-flex;align-items:center;gap:5px;}
.os-stages .os-mark,.os-did .os-mark{color:var(--leaf);}
.os-stage-l.is-now .os-mark{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--primary);}
.os-card .sa-answer{padding:0;}
.os-short{display:none;}
.os-say{margin:0;font-size:14px;line-height:1.5;}
.os-src{margin:4px 0 0;font:500 12px var(--font-data);color:var(--ink-2);}
.os-err{color:var(--error);}
.os-empty{display:flex;flex-direction:column;gap:8px;padding:28px 6px 0;}
.os-empty-t{margin:0;font:600 18px var(--font-display);}
.os-empty-b{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2);}
.os-chips{display:flex;flex-wrap:wrap;gap:7px;padding-top:6px;}
.os-chip{min-height:32px;padding:4px 12px;border:1px solid var(--border-strong);border-radius:99px;background:transparent;color:var(--ink);font:600 12.5px var(--font-ui);text-align:left;cursor:pointer;}
.os-chip:hover{border-color:var(--primary);color:var(--primary-ink);}
/* DOCK-RUNS-KINDS: a kind's card from Ask (work.js), run here from the sheet's cells. The stream is the offset parent, so a new card is
   shown from its top; a long table scrolls inside its own region, so the lead, the chart and the receipt stay one short scroll apart */
.os-dock-stream{position:relative;}
.os-kind-card .wk-setup{margin:0;}
.os-kind-card .qj-tblwrap{max-height:232px;overflow:auto;overscroll-behavior:contain;}
.os-kind-card .qj-tblwrap:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.os-kind-card.is-stale{opacity:.72;transition:opacity .2s cubic-bezier(.25,1,.5,1);}
.os-kind-stale,.os-kind-whatif{font-size:13px;line-height:1.45;}
.os-kind-unread{font-size:13px;color:var(--ink-2);}
.os-kind-acts{margin:-2px 0 0;font-size:13px;}
@media (prefers-reduced-motion: reduce){.os-kind-card.is-stale{transition:none;}}
/* parity pass 2026-11-10: the dock's Was this right? row, as /app's (wk-rating) and the add-on chat's */
.os-rate{margin:6px 0 0;font-size:12.5px;color:var(--ink-2);}
.os-rate-row{display:flex;align-items:center;gap:8px;margin:0;}
.os-thumb{min-height:28px;padding:2px 10px;border:1px solid var(--border);border-radius:99px;background:transparent;color:var(--ink);font:600 12px var(--font-ui);cursor:pointer;}
.os-thumb:hover{border-color:var(--primary);color:var(--primary-ink);}
.os-rate-t{margin:0 0 4px;font-weight:600;color:var(--ink);}
.os-rate-hint{margin:4px 0;}
.os-rate-acts{display:flex;gap:10px;align-items:center;margin:4px 0 0;}
.os-rated{margin:0;}
/* AR6: the sheet-change proposal under a dock answer (shell.js putEl), as the add-on's confirm card */
.os-put{margin:8px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;}
.os-put-t{margin:0 0 4px;font-weight:600;color:var(--ink);}
.os-put-b,.os-put-note{margin:0 0 6px;}
.os-put-note{color:var(--ink-2);font-size:12.5px;}
.os-put-acts{display:flex;gap:12px;align-items:center;margin:4px 0 0;}
.os-chip[aria-pressed="true"]{border-color:var(--primary);color:var(--primary-ink);}
.os-composer{flex:none;padding:12px 16px 14px;border-top:1px solid var(--border);}
.os-box{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 6px 0 14px;border:1px solid var(--primary);border-radius:12px;background:var(--field);}
.os-ask-in{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:400 14px var(--font-ui);outline:none;}
.os-send{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:9px;background:transparent;color:var(--ink-2);cursor:pointer;}
.os-send:hover{background:var(--primary-soft);color:var(--primary-ink);}
.os-send[disabled],.os-ask-in[disabled]{opacity:.5;cursor:default;}
/* W32 (I10, I25): signed out is a neutral state with a way in; the privacy line sits under the composer */
.os-signin{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-card);color:var(--ink);}
.os-signin-go{text-decoration:none;}
.os-privacy{margin:8px 2px 0;font-size:11.5px;line-height:1.45;color:var(--ink-2);}
@media (min-width: 761px) and (max-width: 1279px){ .os-dock{width:320px;} }
/* I3 (frame 1): with the conversation docked on a desktop, the sheet's panel folds into it; the full panel is one press away */
.os-panelcol{display:contents;}
.os-panelbar,.os-sheetans{display:none;}
@media (min-width: 761px){
  .os-fold .os-panelcol{display:none;}
  .os-fold.os-panel-open .os-panelcol{flex:none;width:360px;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg);}
  .os-fold.os-panel-open .os-dock{display:none;}
  .os-fold .os-panelcol .us-dock{flex:1;width:auto;border-left:0;}
  .os-fold .os-panelbar{flex:none;display:flex;align-items:center;min-height:52px;padding:0 18px;border-bottom:1px solid var(--border);}
  .os-panelback{margin:0;padding:0;font:600 13.5px var(--font-ui);}
  .os-fold .os-sheetans:not([hidden]){flex:none;display:flex;flex-direction:column;gap:4px;margin:12px 18px 0;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--ink);text-align:left;font:inherit;cursor:pointer;}
  .os-sheetans:hover{border-color:var(--primary);}
  .os-sheetans .os-kicker{font:500 10.5px var(--font-data);letter-spacing:.08em;color:var(--ink-2);}
  .os-sheetans-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;}
  .os-sheetans .os-odds-n{font:600 26px/1 var(--font-display);color:var(--brass);}
  .os-sheetans .os-odds-in{font:600 15px var(--font-display);color:var(--brass);}
  .os-sheetans-v{font:600 16px var(--font-data);}
  .os-sheetans-go{font-weight:600;font-size:13px;color:var(--primary-ink);}
}
@media (min-width: 761px) and (max-width: 1279px){ .os-fold.os-panel-open .os-panelcol{width:320px;} }
/* the phone (frame 8): Grid, Ask and Panel over one sheet; back, name, save line, Undo and Share in the header */
@media (max-width: 760px){
  .os-stage{left:0;}
  .os-back{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:36px;margin-left:-6px;}
  .os-titlebox{flex:1;flex-direction:column;align-items:flex-start;gap:0;}
  .os-titlebox .us-title{max-width:100%;}
  .os-save,.os-titlebox .us-savestate{font-size:11.5px;}
  .os-stage .us-header .us-msg{display:none;}
  .os-stage .us-header .us-btn{flex:none;padding:0 10px;}
  .os-stage .us-ent,.os-stage .us-fmtbar{display:none;}
  .os-stage .us-header .us-seed,.os-stage .us-header [data-act="examples"],.os-stage .us-header [data-act="connect"],.os-stage .us-header [data-act="mysheets"],.os-stage .us-header [data-act="hnew"]{display:none;}
  .os-tabs{display:flex;flex:none;border-bottom:1px solid var(--border);}
  .os-tab{flex:1;min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-2);font:600 14px var(--font-ui);cursor:pointer;}
  .os-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--primary);}
  .os-stage .us-body{flex-direction:column;}
  .os-dock{width:auto;flex:1;border-left:0;}
  .os-dock-head{display:none;}
  .os-card{display:none;}
  .os-card.os-kind-card{display:block;}   /* DOCK-RUNS-KINDS: a kind's card has no short form; it is the answer on the Ask tab too */
  .os-short{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-card);color:var(--ink);text-align:left;font:inherit;cursor:pointer;}
  .os-short-h{font:600 16px var(--font-display);}
  .os-short-m{font-size:13.5px;color:var(--ink-2);}
  .os-short-go{font-weight:600;font-size:13px;color:var(--primary-ink);}
  .os-tab-grid .os-dock,.os-tab-grid .us-dock{display:none;}
  .os-tab-grid .os-pin:not([hidden]){display:flex;flex-direction:column;gap:4px;margin:10px 12px 0;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--ink);text-align:left;font:inherit;cursor:pointer;}
  .os-pin-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--ink-2);}
  .os-pin-odds{display:flex;align-items:baseline;gap:6px;}
  .os-odds-n{font:600 30px var(--font-display);color:var(--brass);}
  .os-pin-goal{font-size:13.5px;color:var(--ink);}
  .os-tab-ask .us-gridwrap,.os-tab-ask .us-dock,.os-tab-ask .us-fx,.os-tab-ask .us-fmtbar,.os-tab-ask .us-tabs,.os-tab-ask .us-tiles{display:none;}
  .os-tab-panel .us-gridwrap,.os-tab-panel .os-dock,.os-tab-panel .us-fx,.os-tab-panel .us-fmtbar,.os-tab-panel .us-tabs{display:none;}
  .os-tab-panel .us-dock{max-height:none;flex:1;border-top:0;}
}
