/* The new HQ, look 4 ("Not an app. A presence", approved 12 Nov): the try-out's tokens (hq/design/2026-11-11-operator-tryout.html).
   Black, the serif for HQ's sentences, Inter for the small words, one green for his yes, amber only for the light. Laid out like a chat
   app (Barry, 12 Nov): rooms down the side, the conversation in the middle, the box at the bottom; on a phone the side is a drawer. */
:root{--bg:#0A0A0B;--ink:#F4F4F2;--mid:#BDBDB8;--dim:#8A8A86;--line:#242427;--line2:#19191B;--green:#3DDC84;--amber:#F2B33D;
--serif:'Instrument Serif',Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
--big:clamp(48px,6vw,88px);--biglong:clamp(42px,4.6vw,66px);--s1:13px;--s2:15px;--s3:22px;--side:252px;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink)}
body{font-family:var(--sans);font-size:var(--s2);line-height:1.45;-webkit-font-smoothing:antialiased}
body.in{overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left}
a{color:inherit}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.boot{font-family:var(--serif);font-size:var(--s3);color:var(--dim);padding:40px 24px;margin:0}

/* ---- signed out ---- */
.signin{max-width:520px;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 24px 48px;display:flex;flex-direction:column;gap:4px}
.s-where{font-size:var(--s1);color:var(--dim);margin:0}
.s-say{font-family:var(--serif);font-weight:400;font-size:var(--biglong);line-height:1.05;letter-spacing:-.015em;margin:56px 0 28px}
.signin form{display:flex;flex-direction:column;gap:6px}
.s-l{font-size:var(--s2);color:var(--mid);margin:8px 0 0}
.signin input{height:48px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);font:400 var(--s3) var(--serif);padding:0;caret-color:var(--green)}
.signin input:focus-visible{outline:0;border-bottom-color:var(--mid)}
#code{letter-spacing:.3em;font-variant-numeric:tabular-nums}
.s-go{align-self:flex-start;min-height:48px;margin-top:14px;font-family:var(--serif);font-size:var(--s3);color:var(--green);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.s-go:hover{color:#7DF0B0}
.s-go:disabled{color:var(--dim);cursor:default}
.s-q{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;font-size:var(--s2);color:var(--dim);text-decoration:underline;text-underline-offset:3px;margin-top:18px}
.s-q:hover{color:var(--ink)}
.s-err{font-size:var(--s2);color:var(--ink);margin:10px 0 0;padding-left:12px;border-left:2px solid var(--amber)}

/* ---- signed in: the shell ---- */
.app{height:100vh;height:100dvh;display:flex;flex-direction:column}
.tryout{display:flex;align-items:center;gap:0 22px;min-height:44px;padding:0 24px;border-bottom:1px solid var(--line2);font-size:var(--s1);color:var(--dim);flex:none}
.t-label{margin-right:auto}
.t-btn{min-height:44px;display:inline-flex;align-items:center;color:var(--mid);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.t-btn:hover{color:var(--ink)}
.shell{flex:1;min-height:0;display:flex;position:relative}

/* the side: the light, the rooms like chats, then the whole picture, Stop everything and this device */
.side{width:var(--side);flex:none;border-right:1px solid var(--line2);padding:12px 16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:none;background:var(--bg)}
.side::-webkit-scrollbar,.story::-webkit-scrollbar{display:none}
.side-top{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 8px}
.light{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;color:#9A9A96;font-size:var(--s2)}
.side-x{display:none;min-height:44px;font-size:var(--s2);color:var(--dim);text-decoration:underline;text-underline-offset:3px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--green);flex:none;transition:background .3s}
.dot.amber{background:var(--amber);animation:breathe 2.6s ease-in-out infinite}
.dot.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--dim)}
.rooms{display:flex;flex-direction:column;gap:2px;margin:6px 0 4px}
.rm{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 8px;border-radius:10px;font-size:var(--s2);color:var(--mid)}
.rm:hover{color:var(--ink);background:#121214}
.rm.on{color:var(--ink);background:#161618}
.rm .rd{margin-left:auto}
.rd{width:8px;height:8px;border-radius:50%;background:var(--amber);flex:none}
.side-more{margin-top:auto;padding:16px 8px 0;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:2px}
.p-h{font-size:var(--s1);color:var(--dim);margin:14px 0 2px}
.p-h:first-child{margin-top:0}
.pv{font-size:var(--s2);line-height:1.4;color:#9A9A96;margin:2px 0}
.pv b{font-weight:500;color:var(--ink)}
.stop{margin-top:8px;padding-top:6px;display:flex;flex-direction:column;gap:2px}
.stopbtn{min-height:44px;display:inline-flex;align-items:center;font-size:var(--s2);color:var(--mid);text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.stopbtn:hover{color:var(--ink)}
.snote{font-size:var(--s1);color:var(--dim);margin:0 0 4px}
.srow{display:flex;flex-wrap:wrap;align-items:center;gap:0 18px;font-size:var(--s2);color:var(--ink)}
.sw{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:var(--s1);color:#B4B4AF}
.sw b{font-weight:500;color:var(--ink);font-size:var(--s2)}
.scrim{display:none}

/* the room: header, tiles, story, box */
.room{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:16px 56px 28px 64px}
.room>*{width:100%;max-width:880px}
.bar{display:flex;align-items:center;gap:16px;min-height:44px;flex:none}
.menu{display:none;align-items:center;gap:10px;min-height:44px;padding-right:8px;color:#9A9A96;font-size:var(--s2)}
.menu svg{width:20px;height:20px;color:var(--mid)}
.title{font-weight:500;font-size:var(--s2);color:var(--ink)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 0;flex:none}
.tiles[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.tiles[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tiles[data-n="1"]{grid-template-columns:minmax(0,1fr)}
.tiles:empty{display:none}
.tiles .more{grid-column:1/-1;margin-top:2px}
.tile{border:1px solid #2A2A2D;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-height:44px;min-width:0}
button.tile:hover{border-color:#4A4A4F}
.tl{font-size:var(--s1);color:var(--dim)}
.tv{font-family:var(--serif);font-size:var(--s3);line-height:1.15;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph{display:block;height:12px;border-radius:6px;background:#1A1A1D;animation:breathe 1.6s ease-in-out infinite}
.ph.tall{height:22px}
.ph-ln{height:22px}
.ph-tile{gap:8px}
.story{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:none}
.inner{margin-top:auto;display:flex;flex-direction:column;gap:16px;padding:24px 0 32px}
.row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 18px}
.ln{display:block;font-family:var(--serif);font-size:var(--s3);line-height:1.2;max-width:100%;margin:0}
.ln.past{color:var(--dim)}
.ln.present{color:var(--mid)}
.ln.mac{color:var(--ink)}
button.ln:hover{color:var(--ink)}
.undo,.lnk{font-size:var(--s2);color:var(--green);text-decoration:underline;text-underline-offset:3px;min-height:44px}
.more{margin:0 0 4px;padding:2px 0 2px 16px;border-left:1px solid #2E2E32;color:#B4B4AF;font-size:var(--s2);line-height:1.55;max-width:620px;display:flex;flex-direction:column;gap:6px}
.more .dh{color:var(--dim);font-size:var(--s1)}
.more pre{margin:4px 0 0;font:inherit;white-space:pre-wrap;color:var(--ink)}
.more .lnk{align-self:flex-start}
.me{font-size:var(--s2);color:var(--dim);margin:6px 0 0}
.hq{font-family:var(--serif);font-size:var(--s3);line-height:1.25;color:#D6D6D1;margin:0;max-width:760px;white-space:pre-wrap}
.dots{color:var(--dim);animation:breathe 1s ease-in-out infinite}
.from{font-size:var(--s1);color:var(--dim);margin:12px 0 -6px}
.ask h1{margin:8px 0 0;font-family:var(--serif);font-weight:400;font-size:var(--big);line-height:1.04;letter-spacing:-.015em}
.ask.long h1{font-size:var(--biglong)}
.calm{margin:6px 0 0;font-family:var(--serif);font-weight:400;font-size:var(--s3);line-height:1.15;color:var(--ink)}
.yes{font:inherit;letter-spacing:inherit;color:var(--green);text-decoration:underline;text-decoration-thickness:.035em;text-underline-offset:.13em}
.yes{display:inline-block;min-width:44px}
.yes:hover{color:#7DF0B0}
.quiet{display:flex;flex-wrap:wrap;gap:0 28px;margin-top:12px;font-size:var(--s2);color:#9A9A96}
.quiet button{min-height:44px}
.quiet button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* a real choice: a question card (2 to 4 options, HQ's pick first) */
.opts{display:flex;flex-direction:column;margin-top:16px;border:1px solid #2A2A2D;border-radius:16px;overflow:hidden;max-width:620px}
.op{display:flex;align-items:center;gap:14px;min-height:56px;padding:8px 16px;border-top:1px solid #1F1F22;font-family:var(--serif);font-size:var(--s3);color:var(--ink)}
.op:first-child{border-top:0}
.op:hover{background:#121214}
.op .on{font-family:var(--sans);font-size:var(--s1);color:var(--dim);width:14px;flex:none}
.op .ol{flex:1;min-width:0}
.op.pick .ol{color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.op .pk{font-family:var(--sans);font-size:var(--s1);color:var(--dim);flex:none}
.to{display:flex;flex-wrap:wrap;gap:2px 22px;margin-top:12px;font-size:var(--s2);color:var(--mid)}
.rcp{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 6px}
.rk,.rcl{color:var(--dim)}
.rcl::before{content:'\00b7';margin-right:6px}
.xm{font-size:var(--s1);line-height:1.6;color:var(--ink);border:1px solid #6A6A6F;border-radius:10px;padding:0 8px}
.in{animation:in .26s ease-out both}
.say{position:relative;display:flex;flex-direction:column;gap:6px;min-height:56px;border-top:1px solid var(--line);padding-top:8px;flex:none}
.say-row{display:flex;align-items:center;gap:8px;min-height:48px}
.say.drop{outline:1px dashed var(--mid);outline-offset:6px;border-radius:6px}
.attach{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;color:var(--mid);border-radius:22px;flex:none}
.attach:hover{color:var(--ink);background:#151517}
.attach svg{width:20px;height:20px}
.model{min-height:44px;font-size:var(--s1);color:var(--dim);white-space:nowrap;flex:none;padding:0 4px}
.model:hover,.model[aria-expanded="true"]{color:var(--ink)}
.pics{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pics:empty{display:none}
.pchip{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 0 0 6px;border:1px solid #2A2A2D;border-radius:12px;font-size:var(--s1);color:var(--mid)}
.pchip img{width:32px;height:32px;border-radius:6px;object-fit:cover;object-position:center;background:#1A1A1D;flex:none}
.px{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--dim);font-size:var(--s2)}
.px:hover{color:var(--ink)}
.pnote{font-size:var(--s1);color:var(--dim)}
.sheet{position:absolute;right:0;bottom:calc(100% + 8px);width:300px;background:#111113;border:1px solid #2A2A2D;border-radius:16px;padding:10px 16px 8px;z-index:6;display:flex;flex-direction:column;gap:2px;box-shadow:0 12px 40px rgba(0,0,0,.55)}
.sh{font-size:var(--s1);color:var(--dim);margin:6px 0 0}
.opt{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;font-size:var(--s2);color:var(--mid)}
.opt:hover,.opt[aria-checked="true"]{color:var(--ink)}
.opt[aria-checked="true"]::after{content:'\2713';color:var(--ink)}
.effs{display:flex;gap:8px;margin-top:4px}
.eff{flex:1;min-height:44px;border:1px solid #2A2A2D;border-radius:22px;text-align:center;font-size:var(--s2);color:var(--mid)}
.eff:hover{color:var(--ink)}
.eff[aria-checked="true"]{color:var(--ink);border-color:#6A6A6F;background:#1A1A1D}
.sdone{align-self:flex-end;min-height:44px;font-size:var(--s2);color:var(--mid);text-decoration:underline;text-underline-offset:3px;margin-top:4px}
.caret{width:2px;height:28px;background:var(--green);flex:none;animation:blink 1.1s steps(1) infinite}
.say:focus-within .caret{visibility:hidden}
.say input{flex:1;min-width:0;height:44px;background:transparent;border:0;outline:0;color:var(--ink);font-family:var(--serif);font-size:var(--s3);caret-color:var(--green);padding:0}
.say input::placeholder{color:var(--dim);opacity:1}
.debug{position:fixed;right:8px;bottom:8px;z-index:9;font-size:var(--s1);color:var(--dim);background:#111113;border:1px solid #2A2A2D;border-radius:8px;padding:4px 8px;pointer-events:none}
@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media (max-width:1279px){.room{padding:16px 40px 24px 44px}}
/* under 1024: the side is a drawer from the top-left */
@media (max-width:1023px){
.side{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:8;transform:translateX(-102%);transition:transform .22s ease-out;visibility:hidden;border-right:1px solid var(--line);padding-top:max(12px,env(safe-area-inset-top))}
.app.drawer-open .side{transform:none;visibility:visible}
.app.drawer-open .scrim{display:block;position:fixed;inset:0;z-index:7;background:rgba(0,0,0,.6)}
.side-top .light{display:inline-flex}
.side-x{display:inline-flex;align-items:center;margin-left:auto}
.menu{display:inline-flex}
.title{margin-left:auto}
button.ln{min-height:44px;display:flex;align-items:center}
.inner{gap:8px}
.ask,.calm{margin-top:10px}
.me,.hq{margin-top:8px}
}
@media (max-width:759px){
:root{--big:42px;--biglong:35px;--s2:16px;--s3:20px}
.tryout{padding:0 16px;gap:0 16px}
.t-label{font-size:var(--s1)}
.room{padding:8px 16px 12px}
.inner{padding:16px 0 22px}
.quiet{gap:0 24px}
.tiles,.tiles[data-n="4"],.tiles[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tiles[data-n="3"] .tile:first-child{grid-column:1/-1}
.tiles[data-n="1"]{grid-template-columns:minmax(0,1fr)}
.tile{padding:10px 12px}
.sheet{position:fixed;left:0;right:0;bottom:0;width:auto;border-radius:20px 20px 0 0;border-width:1px 0 0;padding:12px 24px 24px;z-index:9}
.say.on .model{display:none}
.pchip .pn{display:none}
.pchip{gap:2px}
.to{gap:0 18px}
.op{min-height:52px;padding:6px 14px}
.signin{padding-left:16px;padding-right:16px}
.s-say{margin-top:40px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.w55{width:55%}.w38{width:38%}.w44{width:44%}.w62{width:62%}
.t-short{display:none}
@media (max-width:759px){.t-long{display:none}.t-short{display:inline}}
