/* Tokens lifted from the reference app: system sans, near-black navy primary,
   cool greys, square cards and buttons, 6px radius only on nav items and inputs. */
:root{
  --background:oklch(99.5% 0 0);--foreground:oklch(18% .02 260);--heading:oklch(20.8% .042 265.755);
  --muted:oklch(97.5% .004 260);--muted-2:oklch(96.8% .007 247.896);--muted-foreground:oklch(50% .02 260);--subtle:oklch(70.4% .04 256.788);
  --border:oklch(93% .005 260);--border-2:oklch(92.9% .013 255.508);--card:#fff;
  --primary:oklch(22% .04 260);--primary-foreground:#fff;--ring:oklch(52% .19 250);
  --amber-bg:oklch(98.7% .022 95.277);--amber:oklch(55.5% .163 48.998);--amber-line:oklch(82.8% .189 84.429);
  --green-bg:oklch(97.5% .03 155);--green:oklch(45% .12 155);--red-bg:oklch(97.5% .02 27);--red:oklch(55% .2 27);
  --blue-bg:oklch(97% .015 250);--blue:oklch(48% .16 255);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 2px -1px rgba(0,0,0,.08);
}
*{box-sizing:border-box}[hidden]{display:none!important}
html,body{height:100%;margin:0}
body{background:var(--background);color:var(--foreground);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
h1,h2,h3,h4{margin:0;color:var(--heading)}
p{margin:0}a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0;text-align:left}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.mono{font-family:var(--mono);font-size:11px}
.sec{color:var(--muted-foreground)}.ter{color:var(--subtle)}
.micro{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle)}
.seclabel{font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--subtle)}
/* controls */
.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border:1px solid var(--border-2);background:#fff;font-size:13px;font-weight:600;color:var(--heading);white-space:nowrap}
.btn:hover{background:var(--muted)}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
.btn.primary:hover{background:oklch(28% .045 262)}
.btn.quiet{border-color:transparent;color:var(--muted-foreground);font-weight:500}.btn.quiet:hover{color:var(--heading);background:var(--muted)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn.sm{height:30px;padding:0 10px;font-size:12px}
.btn .arr{font-weight:400;opacity:.8}
.input,.textarea{width:100%;border:1px solid var(--border-2);border-radius:6px;background:oklch(98.4% .003 247.858);padding:6px 10px;font-size:14px;outline:none;color:var(--foreground);box-shadow:var(--shadow)}
.input{height:32px}
.textarea{min-height:120px;resize:vertical;line-height:1.55;background:#fff}
.input:focus,.textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px oklch(52% .19 250/.15)}
.input::placeholder,.textarea::placeholder{color:var(--subtle)}
label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--heading)}
.badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap;background:var(--muted-2);color:var(--muted-foreground)}
.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:var(--blue-bg);color:var(--blue)}
.chip{display:inline-block;font-family:var(--mono);font-size:11px;padding:2px 6px;background:var(--muted-2);color:oklch(37.2% .044 257.287);white-space:nowrap}
.chip.bad{color:var(--red);background:var(--red-bg);text-decoration:line-through}
/* header */
.top{height:56px;display:flex;align-items:center;padding:0 16px 0 20px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.8);backdrop-filter:blur(6px);flex:none;gap:14px}
.top .mark{width:24px;height:24px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.3px;border-radius:4px}
.top .name{font-weight:600;font-size:13px;color:var(--heading);display:inline-flex;align-items:center;gap:8px}
.top .crumbs{display:flex;align-items:center;gap:8px;color:var(--subtle);font-size:13px}
.top .crumbs a{color:var(--muted-foreground)}.top .crumbs a:hover{color:var(--heading)}
.top .crumbs b{font-weight:500;color:var(--heading)}
.top .right{margin-left:auto;display:flex;gap:8px;align-items:center}
.top .tag{font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--subtle)}
/* shell */
#main{flex:1;min-height:0;display:flex;flex-direction:column}
.page{flex:1;min-height:0;overflow:auto;padding:40px 48px 96px}
.page .inner{max-width:1180px;margin:0 auto}
.page h1{font-size:30px;font-weight:500;letter-spacing:-.6px;margin-bottom:6px}
.page .sub{color:var(--muted-foreground);font-size:14px;line-height:1.6;max-width:66ch}
.page .head{margin-bottom:28px}
.hint{font-size:13px;color:var(--subtle)}
/* callout (the "start here" box) */
.callout{display:grid;grid-template-columns:56px 1fr auto;gap:0 16px;align-items:center;padding:24px;border:1px solid var(--border-2);background:oklch(98.4% .003 247.858/.6);margin-bottom:32px}
.callout .ico{width:40px;height:40px;border:1px solid var(--border-2);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground)}
.callout h3{font-size:16px;font-weight:600;letter-spacing:-.2px;margin:2px 0 3px}
.callout p{font-size:13px;color:var(--muted-foreground)}
/* card grid (shared borders) */
.gridhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.gridhead a{font-size:12px;color:var(--muted-foreground)}.gridhead a:hover{color:var(--heading)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border-2);border:1px solid var(--border-2)}
.cardx{background:var(--card);padding:18px 18px 14px;display:flex;flex-direction:column;gap:12px;position:relative;cursor:pointer;min-height:230px;border-top:2px solid transparent;margin-top:-1px}
.cardx:hover{background:oklch(99% .002 260)}
.cardx.warn{border-top-color:var(--amber-line)}.cardx.ok{border-top-color:oklch(75% .13 155)}.cardx.run{border-top-color:var(--ring)}
.cardx .row1{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cardx .ico{width:36px;height:36px;border:1px solid var(--border-2);background:var(--muted);display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);font-size:12px;font-weight:600}
.cardx h3{font-size:15.5px;font-weight:500;letter-spacing:-.39px}
.cardx .desc{font-size:13px;color:var(--muted-foreground);line-height:1.55;margin-top:-6px}
.cardx .forms{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.cardx .chips{display:flex;flex-wrap:wrap;gap:4px}
.cardx .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--muted-foreground)}
.cardx .foot b{font-weight:500;color:var(--heading);font-size:12px}
.cardx.add{justify-content:center;align-items:flex-start;gap:8px;background:oklch(98.4% .003 247.858/.6)}
.cardx.add h3{font-size:14px}
.empty{padding:48px 0;text-align:center;color:var(--subtle)}
/* form */
.form{display:grid;gap:22px}
.form .three{display:grid;grid-template-columns:1.3fr 2fr 1fr;gap:14px}
.form .src{display:grid;gap:8px;border:1px solid var(--border-2);background:#fff;padding:14px 16px}
.form .src .lab{display:flex;align-items:baseline;gap:10px}
.form .src .lab b{font-weight:500;font-size:13.5px;color:var(--heading)}
.form .src .lab span{font-size:12px;color:var(--subtle)}
.form .src .lab label{margin-left:auto;font-size:12px;color:var(--muted-foreground);cursor:pointer;font-weight:500}
.form .src .lab label:hover{color:var(--heading)}
.form .src .lab input[type=file]{display:none}
.form .src textarea{font-family:var(--mono);font-size:12px;min-height:124px;box-shadow:none}
.form .foot{display:flex;align-items:center;gap:14px;padding-top:4px}
.form .err{color:var(--red);font-size:13px}
/* workspace */
.ws{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr)}
.rail{background:oklch(99% 0 0);border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;min-height:0;overflow:auto;gap:22px}
.rail .co{padding:0 8px 4px}
.rail .co b{display:block;font-weight:600;font-size:14px;line-height:1.3;color:var(--heading)}
.rail .co span{display:block;color:var(--muted-foreground);font-size:12px;margin-top:4px;line-height:1.45}
.rail .grp{display:flex;flex-direction:column;gap:2px}
.rail .grp .seclabel{padding:0 8px 8px}
.stage{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:baseline;padding:8px 12px 8px 16px;border-radius:6px;color:oklch(44.6% .043 257.281);font-size:13px;position:relative}
.stage:hover{color:var(--heading);background:var(--muted)}
.stage.on{background:var(--muted-2);color:var(--heading);font-weight:500}
.stage.on::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;background:var(--primary);border-radius:1px}
.stage.off{opacity:.45;pointer-events:none}
.stage small{font-size:11px;color:var(--subtle);font-weight:400;font-variant-numeric:tabular-nums}
.rail .foot{margin-top:auto;padding:0 8px;font-size:11.5px;color:var(--subtle);line-height:1.6}
.content{min-width:0;min-height:0;display:flex;flex-direction:column}
.stagehead{display:flex;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid var(--border);flex:none;height:56px;background:#fff}
.stagehead h2{font-size:15.5px;font-weight:500;letter-spacing:-.3px}
.stagehead .state{font-size:12.5px;color:var(--muted-foreground)}
.stagehead .r{margin-left:auto;display:flex;gap:8px;align-items:center}
.scroll{flex:1;min-height:0;overflow:auto}
.pad{padding:28px 24px 96px}
.narrow{max-width:780px}
/* sources */
.srcblock{margin-bottom:28px;border:1px solid var(--border-2);background:#fff}
.srcblock .sbh{display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}
.srcblock h3{font-size:14px;font-weight:500}
.srcblock .ti{font-size:12px;color:var(--subtle)}
.psg{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:10px 16px;border-top:1px solid var(--border);font-size:13.5px;line-height:1.6}
.psg:first-of-type{border-top:0}
.psg .id{font-family:var(--mono);font-size:11px;color:var(--muted-foreground);padding-top:3px}
.psg .tx{white-space:pre-wrap;color:var(--foreground)}
mark{background:var(--amber-bg);color:var(--heading);box-shadow:inset 0 -1.5px 0 var(--amber-line);padding:0 1px}
/* run */
.run{max-width:680px;border:1px solid var(--border-2);background:#fff}
.run .step{display:grid;grid-template-columns:18px 110px 1fr;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:13.5px;align-items:baseline}
.run .step:first-child{border-top:0}
.run .step .k{color:var(--muted-foreground);font-weight:500}.run .step .m{color:var(--foreground)}
.run .step i{font-style:normal;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--border-2);position:relative;top:-1px}
.run .step.done i{background:var(--green)}.run .step.on i{background:var(--ring);animation:blink 1.1s ease-in-out infinite}.run .step.err i{background:var(--red)}
.run .step.skip .m{color:var(--subtle)}
@keyframes blink{50%{opacity:.25}}
.run ul.f{margin:6px 0 0;padding-left:16px;font-size:12.5px;color:var(--muted-foreground)}
.run .result{display:flex;align-items:center;gap:18px;font-size:13px;color:var(--muted-foreground);padding:14px 16px;border-top:1px solid var(--border);background:var(--muted)}
.run .result b{color:var(--heading);font-weight:600}
/* document + sources panel. A block editor: every block has a handle, Enter adds a block. */
.split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 6px var(--side-w,420px)}
.gutter{cursor:col-resize;background:transparent;position:relative;z-index:3;margin:0 -3px 0 -3px;width:12px}
.gutter::after{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:transparent;transition:background .12s}
.gutter:hover::after,body.is-resizing .gutter::after{background:var(--ring)}
body.is-resizing{cursor:col-resize;user-select:none}body.is-resizing iframe{pointer-events:none}
.docwrap{overflow:auto;min-width:0;background:#fff}
.doc{max-width:760px;margin:0 auto;padding:48px 56px 200px;font-size:15px;line-height:1.65;color:var(--foreground)}
.blk{position:relative}
.blk .handle{position:absolute;left:-30px;top:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--subtle);font-size:13px;letter-spacing:-2px;border-radius:4px;opacity:0;transition:opacity .1s}
.blk:hover .handle,.blk:focus-within .handle{opacity:1}
.blk .handle:hover{background:var(--muted-2);color:var(--heading)}
.bc{outline:none;display:block;border-radius:3px;white-space:pre-wrap;word-break:break-word;min-height:1.4em}
.bc[contenteditable]{cursor:text}
.bc[contenteditable]:hover{background:oklch(98% .003 260)}
.bc[contenteditable]:focus{background:var(--muted)}
.bc:empty::before,.bc[data-placeholder]:empty::before{content:attr(data-placeholder);color:var(--subtle);pointer-events:none}
.bc.inline{display:inline;padding:0 2px;border-bottom:1px dashed var(--border-2);min-width:60px;color:var(--heading)}
.t-label{font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--subtle);margin-bottom:14px}
h1.t-title{font-size:34px;font-weight:600;letter-spacing:-.8px;margin:0 0 10px}
.t-meta,.t-reviewer{font-size:13.5px;color:var(--muted-foreground);line-height:1.6;margin:0}
h2.t-h2{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);margin:40px 0 10px}
h2.t-h2.bear{color:var(--red)}
h3.t-h3{font-size:17px;font-weight:600;letter-spacing:-.3px;margin:28px 0 4px}
.t-summary .bc{font-size:16px;line-height:1.7}
.t-note .bc{font-size:15.5px;line-height:1.7}
.t-finding .bc{color:var(--muted-foreground);font-size:14px;line-height:1.6;margin-bottom:4px}
.t-thesis{border-left:2px solid var(--red);padding-left:16px;margin-bottom:6px}
.t-thesis .bc{font-size:15.5px}
.t-thesis + .t-claim,.t-claim.b{border-left:2px solid transparent}
ul.t-flags{margin:0;padding:12px 16px 12px 34px;background:oklch(98.4% .003 247.858/.7);border-left:2px solid var(--border-2);font-size:13.5px;color:var(--muted-foreground)}
ul.t-flags li{margin:3px 0}
.t-checks{font-size:13.5px;color:var(--muted-foreground);line-height:1.7}
.t-checks b{font-weight:500;color:var(--heading)}.t-checks .fl{margin-top:6px;color:var(--subtle)}
/* claims */
.t-claim{display:grid;grid-template-columns:14px 1fr auto;gap:8px;padding:4px 8px 4px 6px;margin:0 -8px 0 -6px;border-radius:4px;font-size:15px;line-height:1.6;align-items:start}
.t-claim:hover{background:var(--muted)}
.t-claim.lit{background:var(--amber-bg)}
.t-claim .dot{width:6px;height:6px;border-radius:50%;background:var(--green);margin:10px 0 0 2px}
.t-claim.warning .dot{background:var(--amber)}.t-claim.failed .dot{background:var(--red)}
.t-claim.edited .dot{box-shadow:0 0 0 2px var(--blue-bg)}
.t-claim .body{min-width:0}
.t-claim .bc{display:inline;padding:0 2px;margin:0 -2px}
.t-claim .bc[contenteditable]:hover{background:transparent}
.t-claim .bc[contenteditable]:focus{background:#fff;box-shadow:0 0 0 1px var(--border-2)}
.t-claim .refs{margin-left:6px;white-space:nowrap}
.t-claim .refs .chip{margin-right:3px;vertical-align:1px}
.t-claim.removed .bc{color:var(--subtle);text-decoration:line-through}
.t-claim.removed .refs{opacity:.5}
.t-claim .handle{left:-24px}
.x{opacity:0;font-size:13px;color:var(--subtle);padding:0 6px;line-height:1.6;border-radius:3px;align-self:start}
.t-claim:hover .x,.t-claim.removed .x,.t-gap:hover .x,.t-gap.removed .x{opacity:1}
.x:hover{color:var(--heading);background:#fff;box-shadow:inset 0 0 0 1px var(--border-2)}
.removed .x{font-size:12px;font-weight:500;color:var(--muted-foreground)}
/* gaps, bullets, inserted blocks */
.t-gap{display:grid;grid-template-columns:1fr auto;gap:8px;padding:5px 8px;margin:0 -8px;border-radius:4px;font-size:15px;line-height:1.6;align-items:start}
.t-gap:hover{background:var(--muted)}
.t-gap.removed .bc{color:var(--subtle);text-decoration:line-through}
.t-bullet{display:grid;grid-template-columns:18px 1fr;padding:2px 0;font-size:15px}
.t-bullet .bul{width:5px;height:5px;border-radius:50%;background:var(--ink,#555);margin:11px 0 0 5px}
.t-bullet.muted{color:var(--muted-foreground);font-size:14px}
.t-bullet.muted .bul{background:var(--subtle)}
.t-p{padding:2px 0;font-size:15px}
.t-h{padding:10px 0 2px}.t-h .bc{font-size:20px;font-weight:600;letter-spacing:-.4px;color:var(--heading)}
.t-quote{border-left:3px solid var(--heading);padding:2px 0 2px 14px;margin:6px 0}
.t-quote .bc{font-size:15px;font-style:italic}
.t-divider{padding:10px 0}.t-divider hr{border:0;border-top:1px solid var(--border-2);margin:0}
.insert .bc[contenteditable]:hover{background:oklch(98% .003 260)}
/* menus */
.menu,.slash{position:fixed;z-index:50;min-width:230px;background:#fff;border:1px solid var(--border-2);box-shadow:0 8px 24px rgba(0,0,0,.1);padding:4px;font-size:13px}
.menu button,.slash button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;color:var(--heading)}
.menu button:hover,.slash button:hover,.slash button.on,.menu button.on{background:var(--muted-2)}
.menu button.danger{color:var(--red)}
.menu button small,.slash button small{color:var(--subtle);font-size:11px}
.menu .sep{height:1px;background:var(--border);margin:4px 0}
aside.sources{border-left:1px solid var(--border);background:#fff;display:flex;flex-direction:column;min-height:0}
aside.sources .h{display:flex;align-items:center;gap:10px;padding:0 20px;height:48px;border-bottom:1px solid var(--border);flex:none}
aside.sources .h b{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);flex:1}
aside.sources .h button{font-size:12px;color:var(--muted-foreground);font-weight:500}aside.sources .h button:hover{color:var(--heading)}
aside.sources .body{flex:1;overflow:auto;padding:18px 20px 40px}
aside.sources .none{color:var(--subtle);font-size:13px;line-height:1.6}
.cl{font-size:13.5px;line-height:1.55;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:14px;color:var(--heading)}
.cl .st{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.src{margin-bottom:18px}
.src .sh{display:flex;gap:8px;align-items:center;font-size:12px;margin-bottom:6px}
.src .sh .nm{color:var(--subtle);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.src .tx{font-size:13px;line-height:1.65;color:var(--foreground);white-space:pre-wrap;border:1px solid var(--border);padding:10px 12px;background:oklch(99.2% 0 0)}
.src .warn{font-size:12px;color:var(--red);margin-top:4px}
.src h5{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);margin:18px 0 8px}
/* follow-up */
.fu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;max-width:1140px}
.fu h3{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);margin-bottom:8px}
.fu ul{list-style:none;margin:0 0 24px;padding:0;border:1px solid var(--border-2);background:#fff}
.fu li{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--border);font-size:13.5px;line-height:1.5}
.fu li:first-child{border-top:0}
.fu li input{margin:4px 0 0;accent-color:var(--primary)}
.fu li b{font-weight:500;color:var(--heading)}.fu li span{display:block;color:var(--muted-foreground);font-size:12.5px}
.fu li small{display:block;font-size:11px;color:var(--subtle)}
.email{border:1px solid var(--border-2);background:#fff;padding:18px 20px;font-size:13.5px;line-height:1.6;white-space:pre-wrap}
.email .subj{font-weight:600;color:var(--heading);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:12px}
.fu .tools{display:flex;gap:8px;align-items:center;margin-bottom:12px}
.fu .tools .input{max-width:220px}
@media (max-width:1100px){.split{grid-template-columns:1fr}aside.sources{display:none}.split.show aside.sources{display:flex;position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);z-index:20;box-shadow:-12px 0 32px rgba(0,0,0,.14)}.fu{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.ws{grid-template-columns:1fr}.rail{display:none}.form .three{grid-template-columns:1fr}.page{padding:24px 20px}.cards{grid-template-columns:1fr}.callout{grid-template-columns:1fr}}
@media print{.top,.rail,aside.sources,.stagehead,.acts,.reviewblock{display:none!important}.ws,.split{display:block}.docwrap{overflow:visible}.doc{max-width:none;padding:0}}

/* nav link + count */
.top .navlink{font-size:13px;font-weight:500;color:var(--muted-foreground);padding:6px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}
.top .navlink:hover{color:var(--heading);background:var(--muted)}
.top .count{font-size:11px;font-weight:600;background:var(--primary);color:#fff;border-radius:999px;padding:0 6px;line-height:16px}
/* home: two callouts, view toggle */
.callouts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}
.callouts .callout{margin:0}
.callout.live{border-color:var(--amber-line);background:var(--amber-bg)}
.seg{display:inline-flex;border:1px solid var(--border-2);background:#fff}
.seg button{font-size:12px;font-weight:500;padding:4px 10px;color:var(--muted-foreground)}
.seg button.on{background:var(--muted-2);color:var(--heading)}
table.list{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;border:1px solid var(--border-2)}
.list th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);padding:10px 14px;border-bottom:1px solid var(--border-2);background:var(--muted)}
.list td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}
.list tr:last-child td{border-bottom:0}
.list tr.row{cursor:pointer}.list tr.row:hover td{background:var(--muted)}
.list .nm{font-weight:500;color:var(--heading)}.list .ol{color:var(--muted-foreground);font-size:12.5px;margin-top:1px}
.list .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.list .nw{white-space:nowrap}
/* intake ingestion */
.form .src .lab .st{font-size:12px;color:var(--muted-foreground);margin-left:4px}
.form .src .lab .st.ok{color:var(--green)}.form .src .lab .st.bad{color:var(--red)}
.form .src .lab .pick{margin-left:auto}
.form .urlrow{display:flex;gap:8px}
.form .urlrow .input{box-shadow:none;background:#fff}
.form .drop{border:1px dashed transparent;margin:-1px}
.form .drop.over{border-color:var(--ring);background:oklch(97% .015 250)}
.form .drop.over textarea{opacity:.5}
.form .fill{font-size:13px;padding:10px 14px;border:1px solid var(--border-2);background:var(--muted);color:var(--muted-foreground)}
.form .fill.ok{background:var(--green-bg);color:var(--green);border-color:oklch(90% .06 155)}
.form .fill.bad{background:var(--red-bg);color:var(--red)}
.form .input.auto{background:var(--green-bg);border-color:oklch(90% .06 155)}
/* inbox */
.provs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-2);border:1px solid var(--border-2);margin-bottom:28px}
.prov{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;font-size:13px}
.prov .dot{width:8px;height:8px;border-radius:50%;background:var(--border-2);margin-top:6px;flex:none}
.prov.on .dot{background:var(--green)}
.prov b{display:block;font-weight:500;color:var(--heading)}.prov span{color:var(--muted-foreground);font-size:12.5px}
.msgs{display:flex;flex-direction:column;gap:1px;background:var(--border-2);border:1px solid var(--border-2)}
.msg{display:grid;grid-template-columns:220px 1fr auto;grid-template-areas:"who subj act" "who body act" "who att act";gap:4px 20px;padding:16px 18px;background:#fff;align-items:start}
.msg.done{background:var(--muted)}
.msg .who{grid-area:who;font-size:12.5px}.msg .who b{display:block;font-weight:500;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg .who span{color:var(--subtle)}
.msg .subj{grid-area:subj;font-size:14px;font-weight:500;color:var(--heading)}
.msg .body{grid-area:body;font-size:13px;color:var(--muted-foreground)}
.msg .att{grid-area:att;display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.msg .act{grid-area:act;display:flex;gap:8px;align-items:center}
.file{display:inline-flex;align-items:center;gap:6px;font-size:12px;border:1px solid var(--border-2);padding:3px 8px 3px 4px;color:var(--heading);background:#fff}
.file .k{font-family:var(--mono);font-size:10px;font-weight:600;background:var(--muted-2);padding:1px 5px;color:var(--muted-foreground)}
.file .sz{color:var(--subtle)}
@media (max-width:900px){.callouts,.provs{grid-template-columns:1fr}.msg{grid-template-columns:1fr;grid-template-areas:"who" "subj" "body" "att" "act"}}

/* source viewer */
.psg.clickable{cursor:pointer}.psg.clickable:hover{background:var(--muted)}.psg.lit{background:var(--amber-bg)}
.open-slide{margin-left:auto;font-size:11.5px;font-weight:500;color:var(--muted-foreground);border:1px solid var(--border-2);padding:1px 7px;background:#fff;white-space:nowrap}
.open-slide:hover{color:var(--heading);background:var(--muted)}
.viewer{display:flex;flex-direction:column;gap:10px}
.viewer .vhead{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted-foreground)}
.viewer .vhead .vt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viewer .vnav{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted-foreground)}
.viewer iframe.pdf{width:100%;aspect-ratio:16/9;min-height:230px;border:1px solid var(--border-2);background:#525659}
.viewer .vtext{font-size:12.5px;line-height:1.6;color:var(--muted-foreground);white-space:pre-wrap;border-top:1px solid var(--border);padding-top:10px}
.viewer .vtext .micro{margin-bottom:4px}
.slidecard{aspect-ratio:16/9;border:1px solid var(--border-2);background:#fff;box-shadow:var(--shadow);padding:7% 8%;display:flex;flex-direction:column;gap:6%;overflow:hidden;position:relative;color:#15181f}
.slidecard .sc-title{font-size:clamp(14px,2.4vw,20px);font-weight:600;letter-spacing:-.3px;line-height:1.2}
.slidecard .sc-body{font-size:clamp(9px,1.3vw,12px);line-height:1.45;overflow:hidden;display:flex;flex-direction:column;gap:4px}
.slidecard .sc-body p{margin:0}
.slidecard .sc-foot{position:absolute;right:5%;bottom:5%;font-family:var(--mono);font-size:9px;color:var(--subtle)}

/* drag and drop */
.blk .handle{cursor:grab}
.blk.dragging{opacity:.4}
.blk.drop-before::before,.blk.drop-after::after{content:"";position:absolute;left:-8px;right:-8px;height:2px;background:var(--ring);border-radius:1px;z-index:2}
.blk.drop-before::before{top:-2px}.blk.drop-after::after{bottom:-2px}
.blk.flash{animation:flash 1s ease-out}
@keyframes flash{0%{background:var(--amber-bg)}100%{background:transparent}}

/* search box + palette */
.top .searchbox{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px 0 10px;border:1px solid var(--border-2);border-radius:6px;background:oklch(98.4% .003 247.858);box-shadow:var(--shadow);color:var(--subtle);font-size:13px;width:340px;margin-left:12px}
.top .searchbox:hover{color:var(--muted-foreground);background:#fff}
.top .searchbox .ico{font-size:15px;color:var(--muted-foreground)}
.top .searchbox span:nth-child(2){flex:1;text-align:left}
kbd{font-family:var(--font);font-size:10.5px;color:var(--subtle);border:1px solid var(--border-2);border-radius:4px;padding:1px 5px;background:#fff}
#palette{position:fixed;inset:0;background:rgba(20,24,33,.28);z-index:100;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}
.pal{width:min(680px,92vw);background:#fff;border:1px solid var(--border-2);box-shadow:0 20px 60px rgba(0,0,0,.22);display:flex;flex-direction:column;max-height:70vh}
.pal-in{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;border-bottom:1px solid var(--border)}
.pal-in .ico{font-size:18px;color:var(--muted-foreground)}
.pal-in input{flex:1;border:0;outline:none;font-size:15px;background:transparent;color:var(--heading)}
.pal-res{overflow:auto;padding:6px}
.pal-grp{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);padding:10px 10px 4px}
.pal-item{display:grid;grid-template-columns:1fr auto;gap:2px 14px;width:100%;padding:8px 10px;border-radius:4px;text-align:left;align-items:baseline}
.pal-item.on,.pal-item:hover{background:var(--muted-2)}
.pal-item .pt{font-size:13.5px;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-item .ps{grid-column:1/3;font-size:12.5px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-item .pm{font-size:11.5px;color:var(--subtle);white-space:nowrap;grid-row:1;grid-column:2}
.pal-empty{padding:28px 16px;font-size:13px;color:var(--subtle);text-align:center;line-height:1.6}
@media (max-width:900px){.top .searchbox{width:auto}.top .searchbox span:nth-child(2),.top .searchbox kbd{display:none}}

body.is-dragging{user-select:none;cursor:grabbing}
body.is-dragging *{cursor:grabbing!important}
.drag-ghost{position:fixed;left:0;top:0;z-index:60;pointer-events:none;opacity:.85;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18);border:1px solid var(--border-2);padding:6px 10px;max-height:80px;overflow:hidden;font-size:14px}
.drag-ghost .handle,.drag-ghost .x{display:none}

/* source panel: the thing itself */
.chip.ref{cursor:pointer;border:0}
.chip.ref:hover{background:var(--amber-bg);color:var(--heading)}
.viewer{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.viewer .vnav{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted-foreground)}
.viewer .vnav span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.viewer .vb{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;border:1px solid var(--border-2);background:#fff;color:var(--muted-foreground);font-size:12px}
.viewer .vb:hover{color:var(--heading);background:var(--muted)}
.viewer .vb[disabled]{opacity:.35;pointer-events:none}
.viewer iframe.pdf{width:100%;aspect-ratio:16/9;min-height:220px;border:1px solid var(--border-2);background:#525659}
.viewer .vquote{font-size:12.5px;line-height:1.6;color:var(--muted-foreground);white-space:pre-wrap;max-height:120px;overflow:auto;padding:8px 10px;border:1px solid var(--border);background:oklch(99.2% 0 0)}
.viewer .vquote mark,.pagecard mark,.slidecard mark{background:var(--amber-bg);color:var(--heading);box-shadow:inset 0 -1.5px 0 var(--amber-line)}
.pagecard{border:1px solid var(--border-2);background:#fff;box-shadow:var(--shadow);padding:18px 20px;font-size:13.5px;line-height:1.7;color:var(--foreground);white-space:pre-wrap}
aside.sources .body{padding:14px 16px 40px}

/* assessment header */
.stagehead .badge{margin-left:2px}
.seg a{display:inline-block;font-size:12px;font-weight:500;padding:5px 11px;color:var(--muted-foreground)}
.seg a.on{background:var(--muted-2);color:var(--heading)}
.statusline{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.srclist{border:1px solid var(--border-2);background:#fff}
.srcrow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--border);font-size:13.5px}
.srcrow:first-child{border-top:0}
.srcrow .t{color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srcrow .n{color:var(--muted-foreground);font-size:12.5px;white-space:nowrap}
.srcrow .n a{color:var(--heading);text-decoration:underline}

/* export dropdown */
.dd{position:relative}
.ddm{position:absolute;right:0;top:calc(100% + 4px);min-width:200px;background:#fff;border:1px solid var(--border-2);box-shadow:0 8px 24px rgba(0,0,0,.1);padding:4px;z-index:40;display:flex;flex-direction:column}
.ddm a,.ddm button{display:block;width:100%;padding:7px 10px;font-size:13px;color:var(--heading);text-align:left}
.ddm a:hover,.ddm button:hover{background:var(--muted-2)}
.ddm .sep{height:1px;background:var(--border);margin:4px 0}

/* test cases */
.tests{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1px;background:var(--border-2);border:1px solid var(--border-2);margin-bottom:32px}
.test{background:#fff;padding:16px 18px;cursor:pointer;display:flex;flex-direction:column;gap:8px}
.test:hover{background:oklch(99% .002 260)}
.test .th{display:flex;align-items:center;justify-content:space-between;gap:10px}.test .th b{font-weight:600;font-size:15px;color:var(--heading)}
.test p{font-size:13px;color:var(--muted-foreground);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.test .tm{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted-foreground);padding-top:10px;border-top:1px solid var(--border);margin-top:auto}
.test .tm b{color:var(--heading);font-weight:600}.test .tm .bad{color:var(--red)}

.cardx .tc{font-size:11px;font-weight:500;color:var(--amber);margin-top:3px}
.cardx .foot .evl{display:block;font-size:11px;color:var(--subtle);margin-top:3px}

/* inbox connections */
.provs{grid-template-columns:1fr}
.prov{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.prov .pb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.prov .pb b{font-weight:500;color:var(--heading)}.prov .pb>span:not(.badge){flex-basis:100%;color:var(--muted-foreground);font-size:12.5px}
.prov .addr{font-family:var(--mono);font-size:12px;background:var(--muted-2);padding:2px 6px}
.auto{border:1px solid var(--border-2);background:#fff;padding:14px 16px;display:grid;gap:10px;font-size:13.5px}
.auto label{display:flex;gap:10px;align-items:flex-start;line-height:1.5;color:var(--muted-foreground)}
.auto label b{font-weight:500;color:var(--heading)}.auto input{margin-top:4px;accent-color:var(--primary)}
.auto .hint{margin:0;padding-top:6px;border-top:1px solid var(--border)}
.pal.connect{max-height:none}
.connect .ch{display:flex;align-items:center;gap:12px;padding:0 18px;height:52px;border-bottom:1px solid var(--border)}
.connect .ch b{font-weight:600;flex:1}.connect .ch span{font-size:12px;color:var(--subtle)}.connect .ch .x{font-size:18px;color:var(--subtle);opacity:1;padding:0 4px}
.connect .cb{padding:22px 18px}.connect .cb h3{font-size:16px;font-weight:600;margin:0 0 10px}.connect .cb p{font-size:14px;line-height:1.6;color:var(--muted-foreground);margin:0 0 12px}
.connect .cf{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--border);background:var(--muted)}

.suggest{display:flex;align-items:center;gap:16px;margin-top:14px;padding:12px 14px;border:1px dashed var(--border-2);background:#fff;font-size:13.5px}
.suggest div{flex:1}.suggest b{font-weight:500;color:var(--heading)}.suggest span{display:block;font-size:12.5px;color:var(--muted-foreground);margin-top:2px}
.dellink{font-size:11.5px;color:var(--red);margin-top:6px;padding:0}
.dellink:hover{text-decoration:underline}

/* deck drop zone */
.deckzone{border:1.5px dashed var(--border-2);background:#fff;padding:28px 24px;transition:background .12s,border-color .12s}
.deckzone.over,#newpage.dragging-file .deckzone:not(.has-deck){border-color:var(--ring);background:oklch(97% .015 250)}
.deckzone.has-deck{border-style:solid;padding:16px 18px}
.dz-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.dz-icon{width:40px;height:40px;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted-foreground);margin-bottom:4px}
.dz-empty b{font-size:16px;font-weight:600;color:var(--heading)}.dz-empty>span{font-size:13px;color:var(--muted-foreground)}
.dz-pick{color:var(--blue);text-decoration:underline;cursor:pointer}.dz-pick input{display:none}
.dz-url{width:100%;max-width:560px;margin-top:12px}
.dz-busy{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 0;font-size:14px}
.spin{width:16px;height:16px;border:2px solid var(--border-2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dz-file{display:flex;align-items:center;gap:12px}
.dz-file .k{font-family:var(--mono);font-size:11px;font-weight:600;background:var(--muted-2);padding:6px 8px;color:var(--muted-foreground)}
.dz-file div{flex:1;min-width:0}.dz-file b{display:block;font-weight:500;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dz-file span{font-size:12.5px;color:var(--muted-foreground)}
.dz-text{margin-top:12px}.dz-text summary{font-size:12.5px;color:var(--muted-foreground);cursor:pointer}.dz-text textarea{margin-top:8px;font-family:var(--mono);font-size:12px;min-height:160px;box-shadow:none}
.dz-err{margin:12px 0 0;color:var(--red);font-size:13px;text-align:center}
#newpage.dragging-file .src .drop{border-color:var(--border-2)}
.form .src .drop.over{border-color:var(--ring);background:oklch(97% .015 250)}

/* inbox status strip */
.instrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;border:1px solid var(--border-2);background:oklch(98.4% .003 247.858/.6);font-size:12.5px;color:var(--muted-foreground);margin-bottom:16px}
.instrip .btn{margin-left:auto}
.instrip .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--border-2);margin-right:6px;vertical-align:1px}
.instrip .dot.on{background:var(--green)}.instrip .dot.wait{background:var(--amber)}
.instrip .sep{color:var(--border-2)}

/* fit and tags */
.fitpill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 8px;border:1px solid var(--border-2);background:#fff;color:var(--heading);white-space:nowrap}
.fitpill i{width:7px;height:7px;border-radius:50%;background:var(--subtle)}
.fitpill.good i{background:var(--green)}.fitpill.possible i{background:var(--amber)}.fitpill.not i{background:var(--red)}
.fitpill small{font-size:10px;font-weight:600;color:var(--muted-foreground);background:var(--muted-2);padding:0 4px;margin-left:2px}
.tagchip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:2px 8px;background:var(--muted-2);color:oklch(37.2% .044 257.287);white-space:nowrap}
.tagchip button{color:var(--subtle);font-size:13px;line-height:1;padding:0 0 0 2px}.tagchip button:hover{color:var(--red)}
.cardx .chips .tagchip button{display:none}
.tagbar{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 24px;border-bottom:1px solid var(--border);background:oklch(99% 0 0);font-size:12.5px;min-height:44px}
.tagbar .lbl{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--subtle)}
.tagbar .who{color:var(--muted-foreground)}
.tagbar .muted{color:var(--muted-foreground)}
.tagbar .sep{width:1px;height:18px;background:var(--border-2);margin:0 6px}
.fitbtn{display:inline-flex;align-items:center;gap:4px}.fitbtn .arr{font-size:10px;color:var(--muted-foreground)}
.fitbtn:hover .fitpill{border-color:var(--heading)}
.linkbtn{color:var(--blue);font-size:12.5px;font-weight:500}.linkbtn:hover{text-decoration:underline}
.whypop{position:fixed;z-index:60;width:480px;max-height:60vh;overflow:auto;background:#fff;border:1px solid var(--border-2);box-shadow:0 12px 32px rgba(0,0,0,.14);padding:14px 16px;font-size:13px}
.whypop .h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.whypop ul{margin:0 0 10px;padding-left:18px}.whypop li{margin:0 0 8px;line-height:1.45}
.whypop .refs{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.whypop .refs .chip{cursor:pointer}.whypop .refs .chip:hover{background:var(--amber-bg)}
.whypop .micro{margin:6px 0 6px}
.dlgwrap{position:fixed;inset:0;background:rgba(20,24,33,.28);z-index:100;display:flex;justify-content:center;align-items:flex-start;padding-top:8vh}
.dlg{width:min(640px,94vw);background:#fff;border:1px solid var(--border-2);box-shadow:0 20px 60px rgba(0,0,0,.22);padding:18px 20px;display:flex;flex-direction:column;gap:12px;max-height:86vh;overflow:auto}
.dlg .dh{display:flex;justify-content:space-between;align-items:center}.dlg .dh b{font-size:15px}
.dlg .fl{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted-foreground)}
.dlg .fl .input{font-weight:400;color:var(--heading);width:100%}
.dlg textarea.input{font:13px/1.5 inherit;font-family:inherit;padding:10px;resize:vertical;min-height:200px;height:auto}
.dlg .input.bad{border-color:var(--red)}
.dlg .picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}.dlg .picks .chip{cursor:pointer}
.dlg .da{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dlg .grow{flex:1}
.dlg .hint{margin:0}
.gridhead{gap:10px}
@media print{.tagbar,.whypop,.dlgwrap{display:none!important}}
.gridhead > .seg:nth-of-type(1){margin-left:auto}
.btn.more{padding:0 10px;font-size:16px;letter-spacing:1px}
@media (max-width:1280px){#savestate{display:none}}
.dz-empty>.dz-test{font-size:12px;color:var(--muted-foreground);margin-top:10px}.dz-test a{color:var(--blue)}.dz-test a:hover{text-decoration:underline}

/* guided tour */
#tour .tour-catch{position:fixed;inset:0;z-index:200}
#tour .tour-hole{position:fixed;z-index:201;border-radius:6px;box-shadow:0 0 0 9999px rgba(15,18,28,.55),0 0 0 2px var(--ring);pointer-events:none;transition:all .25s ease}
#tour .tour-card{position:fixed;z-index:202;background:#fff;border:1px solid var(--border-2);box-shadow:0 16px 48px rgba(0,0,0,.25);padding:16px 18px;transition:top .25s ease,left .25s ease}
#tour.busy .tour-card,#tour.busy .tour-hole{opacity:.0}
#tour .tour-n{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--subtle)}
#tour h4{font-size:15.5px;font-weight:600;color:var(--heading);margin:6px 0 6px}
#tour p{font-size:13.5px;line-height:1.5;color:var(--foreground);margin:0}
#tour .tour-links{display:flex;flex-direction:column;gap:4px;margin-top:10px}#tour .tour-links:empty{display:none}
#tour .tour-links a{color:var(--blue);font-size:13px}#tour .tour-links a:hover{text-decoration:underline}
#tour .tour-a{display:flex;align-items:center;gap:8px;margin-top:14px}#tour .grow{flex:1}
.top .tourbtn{font-size:13px;font-weight:500;color:var(--muted-foreground);padding:6px 10px;border-radius:6px}
.top .tourbtn:hover{color:var(--heading);background:var(--muted)}
#demobar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:6px 16px;font-size:12.5px;background:var(--blue-bg);color:var(--blue);border-bottom:1px solid var(--border)}
#demobar .sep{opacity:.4}#demobar button{color:var(--blue);font-weight:600;text-decoration:underline}
@media print{#tour,#demobar{display:none!important}}
