/* Next Token Office: the desktop view (25 October 2026, Ivan).
   A Windows 95-style desktop in the Office colours, with the Next Token mark on Start.
   Only active when desktop.js puts .bw95 on <html>; without it the page reads as the normal Office page. */

.bw95{
  --w-desk:#161c1a; --w-deep:#0a0f0d; --w-face:#2a312f; --w-panel:#1f2624; --w-line:#363d3b;
  --w-ink:#e3e2da; --w-muted:#babfbd; --w-accent:#9fc7b8; --w-accent-ink:#161c1a;
  --w-hi:#5a6461; --w-hi2:#3d4542; --w-lo:#050807; --w-lo2:#121816;
  --w-ui:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
}
/* Raised and sunken edges, Windows 95 style: two light lines top-left, two dark lines bottom-right. */
.bw95 .w-out{box-shadow:inset 1px 1px 0 var(--w-hi),inset -1px -1px 0 var(--w-lo),inset 2px 2px 0 var(--w-hi2),inset -2px -2px 0 var(--w-lo2)}
.bw95 .w-in{box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi),inset 2px 2px 0 var(--w-lo2),inset -2px -2px 0 var(--w-hi2)}

/* The page underneath: hidden while the desktop is on. */
html.bw95,html.bw95 body{height:100%;overflow:hidden}
.bw95 body > *:not(.w-desktop):not(script):not(dialog){display:none!important}
.bw95 dialog{z-index:5000}

/* ---------- Desktop ---------- */
.w-desktop{position:fixed;inset:0;background:var(--w-desk);font:13px/1.35 var(--w-ui);color:var(--w-ink);z-index:1;user-select:none;-webkit-user-select:none}
.w-icons{position:absolute;top:12px;left:12px;bottom:52px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(auto-fill,96px);grid-auto-columns:96px;gap:4px 8px;align-content:start}
.w-icon{all:unset;box-sizing:border-box;width:96px;height:96px;display:grid;grid-template-rows:44px auto;justify-items:center;align-content:start;gap:6px;padding-top:6px;cursor:default;text-align:center}
.w-icon svg{width:40px;height:40px;shape-rendering:crispEdges;image-rendering:pixelated}
.w-icon span{max-width:90px;padding:1px 3px;font-size:12.5px;line-height:1.25;color:var(--w-ink);text-shadow:0 1px 0 #000}
.w-icon[aria-selected="true"] span,.w-icon:focus-visible span{background:var(--w-accent);color:var(--w-accent-ink);text-shadow:none;outline:1px dotted var(--w-ink);outline-offset:0}
.w-icon[aria-selected="true"] svg{filter:drop-shadow(0 0 0 var(--w-accent)) brightness(1.15)}

/* ---------- Windows ---------- */
.w-win{position:absolute;display:flex;flex-direction:column;min-width:320px;min-height:200px;background:var(--w-face);padding:3px;color:var(--w-ink);user-select:text;-webkit-user-select:text}
.w-win[hidden]{display:none}
.w-title{flex:none;display:flex;align-items:center;gap:6px;height:24px;padding:0 3px 0 5px;background:var(--w-line);color:var(--w-muted);font:600 13px var(--w-ui);cursor:default;user-select:none;-webkit-user-select:none;touch-action:none}
.w-win.is-active .w-title{background:var(--w-accent);color:var(--w-accent-ink)}
.w-title svg{width:16px;height:16px;flex:none;shape-rendering:crispEdges}
.w-title h2{all:unset;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 13px var(--w-ui)}
.w-tb{all:unset;box-sizing:border-box;width:20px;height:18px;display:grid;place-items:center;background:var(--w-face);color:var(--w-ink);cursor:default}
.w-tb svg{width:10px;height:10px;stroke:currentColor;stroke-width:1.6;fill:none;shape-rendering:crispEdges}
.w-tb:active{box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi)}
.w-tb:focus-visible,.w-btn:focus-visible,.w-start:focus-visible,.w-task:focus-visible{outline:1px dotted var(--w-ink);outline-offset:-5px}
.w-menu{flex:none;display:flex;gap:2px;padding:2px 2px 3px;font-size:13px;color:var(--w-muted)}
.w-menu span{padding:1px 6px}
.w-menu span u{text-decoration-thickness:1px}
.w-body{flex:1;min-height:0;overflow:auto;background:var(--w-desk);position:relative;scrollbar-color:var(--w-hi2) var(--w-panel)}
.w-body:focus{outline:none}
.w-body > section{padding-block:32px!important;min-height:100%}
.w-body > section .container{max-width:none}
.w-status{flex:none;display:flex;gap:3px;margin-top:3px;font-size:12px;color:var(--w-muted)}
.w-status span{padding:2px 6px}
.w-status span:first-child{flex:1}
.w-grip{position:absolute;right:3px;bottom:3px;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 0 50%,var(--w-hi) 50% 56%,transparent 56% 66%,var(--w-hi) 66% 72%,transparent 72% 82%,var(--w-hi) 82% 88%,transparent 88%)}
.w-win.is-max .w-grip{display:none}
.w-win.is-max{border-radius:0}

/* ---------- Welcome box ---------- */
.w-welcome .w-body{background:var(--w-face);overflow:visible}
.w-wel{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:16px;padding:18px 16px 14px}
.w-wel-head{grid-column:1/-1;display:flex;align-items:center;gap:12px;font:500 24px/1.1 var(--w-ui);letter-spacing:-.01em}
.w-wel-head small{display:block;font:400 14px var(--w-ui);color:var(--w-muted);letter-spacing:0}
.w-wel-head svg{width:44px;height:44px;flex:none}
.w-tip{background:#e2e1d9;color:#161c1a;padding:16px 18px;display:grid;grid-template-columns:28px 1fr;gap:12px;align-content:start;user-select:text}
.w-tip svg{width:28px;height:28px}
.w-tip h3{all:unset;display:block;font:600 14px var(--w-ui);margin-bottom:6px}
.w-tip p{margin:0 0 8px;font:14px/1.5 var(--w-ui)}
.w-tip .w-big{font:600 18px/1.25 var(--w-ui);margin-bottom:8px}
.w-wel-btns{display:grid;gap:8px;align-content:start}
.w-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:30px;padding:4px 10px;background:var(--w-face);color:var(--w-ink);font:500 13px var(--w-ui);text-align:center;cursor:default}
.w-btn.is-default{outline:1px solid var(--w-lo);outline-offset:-1px}
.w-btn.is-primary{background:var(--w-accent);color:var(--w-accent-ink)}
.w-btn:active{box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi)}

/* ---------- Taskbar and Start menu ---------- */
.w-taskbar{position:absolute;left:0;right:0;bottom:0;height:40px;display:flex;align-items:center;gap:4px;padding:4px;background:var(--w-face);box-shadow:inset 0 1px 0 var(--w-hi),inset 0 2px 0 var(--w-hi2);z-index:4000}
.w-start{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 6px;background:var(--w-face);font:700 14px var(--w-ui);color:var(--w-ink);cursor:default}
.w-start svg{width:22px;height:22px}
.w-start[aria-expanded="true"]{box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi),inset 2px 2px 0 var(--w-lo2)}
.w-tasks{flex:1;min-width:0;display:flex;gap:4px;overflow:hidden}
.w-task{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;flex:0 1 180px;min-width:40px;background:var(--w-face);font:500 13px var(--w-ui);color:var(--w-ink);overflow:hidden;white-space:nowrap;cursor:default}
.w-task svg{width:16px;height:16px;flex:none;shape-rendering:crispEdges}
.w-task span{overflow:hidden;text-overflow:ellipsis}
.w-task[aria-pressed="true"]{background:var(--w-panel);box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi),inset 2px 2px 0 var(--w-lo2)}
.w-tray{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;font:500 13px var(--w-ui);color:var(--w-ink)}
.w-tray .w-local{display:flex;align-items:center;gap:5px;color:var(--w-accent)}
.w-tray .w-local i{width:8px;height:8px;border-radius:50%;background:var(--w-accent)}
.w-startmenu{position:absolute;left:4px;bottom:40px;display:flex;min-width:270px;background:var(--w-face);padding:3px;z-index:4500}
.w-startmenu[hidden]{display:none}
.w-banner{width:30px;background:var(--w-deep);display:flex;align-items:flex-end;justify-content:center;padding:8px 0}
.w-banner span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 18px var(--w-ui);color:var(--w-ink);letter-spacing:.02em}
.w-banner b{color:var(--w-accent);font-weight:700}
.w-items{list-style:none;margin:0;padding:2px 0;flex:1}
.w-menucol{display:flex;flex-direction:column;flex:1;min-width:0;max-height:calc(100vh - 52px);overflow-y:auto}
.w-legal{margin:4px 2px 0;padding:6px 8px 4px;border-top:1px solid var(--w-lo);font:400 11px/1.4 var(--w-ui);color:var(--w-ink);opacity:.8;max-width:240px}
.w-items li[role="separator"]{height:0;margin:4px 2px;border-top:1px solid var(--w-lo);border-bottom:1px solid var(--w-hi)}
.w-items button,.w-items a{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:5px 18px 5px 8px;font:500 14px var(--w-ui);color:var(--w-ink);cursor:default;text-decoration:none}
.w-items svg{width:24px;height:24px;flex:none;shape-rendering:crispEdges}
.w-items button:hover,.w-items a:hover,.w-items button:focus-visible,.w-items a:focus-visible{background:var(--w-accent);color:var(--w-accent-ink)}

/* Back to the desktop, from the normal page after "Shut down" */
.w-return{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#2a312f;color:#e3e2da;border:0;font:600 13px "Geist",system-ui,sans-serif;box-shadow:inset 1px 1px 0 #5a6461,inset -1px -1px 0 #050807,0 6px 18px rgba(0,0,0,.4);cursor:pointer}
.w-return svg{width:18px;height:18px}

/* ---------- Phones, portrait and landscape (desktop.js sets .bw95-compact) ---------- */
.bw95-compact .w-icons{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,88px);grid-template-rows:none;grid-auto-rows:92px;right:12px;justify-content:space-between;overflow:auto}
.bw95-compact .w-icon{width:88px;height:92px}
.bw95-compact .w-welcome .w-body{overflow:auto}
@media (max-width:760px){
  .w-wel{grid-template-columns:1fr}
  .w-wel-btns{grid-template-columns:1fr 1fr}
  .w-task{flex:1 1 0;max-width:180px;padding:0 6px;gap:5px}   /* names stay, shortened with … when several are open (Ivan, 27 Oct) */
  .w-tray .w-clock{display:none}
}

/* ================= Apps: folders with their own window (25 Oct 2026) ================= */
.w-app{padding:16px;color:var(--w-ink);font:14px/1.5 var(--w-ui)}
.w-split,.w-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.w-pane{min-width:0}
.w-cap{margin:0 0 8px;font:600 12px/1.3 var(--w-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--w-muted)}
.w-paper{background:#e2e1d9;color:#161c1a;padding:22px 24px;font:14.5px/1.55 var(--w-ui);box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi)}
.w-paper h4{margin:14px 0 6px;font:600 15px var(--w-ui)}
.w-paper h4:first-child{margin-top:0}
.w-paper p{margin:0 0 9px}
.w-paper ul,.w-paper ol{margin:0 0 10px;padding-left:20px}
.w-paper li{margin:3px 0}
.w-paper table{border-collapse:collapse;width:100%;font-size:13px}
.w-paper th,.w-paper td{border-bottom:1px solid #b4b3ab;padding:5px 6px;text-align:left;vertical-align:top}
.w-paper .ts{font:500 12px ui-monospace,Menlo,monospace;color:#525654;margin-right:6px}
.w-tabs{display:flex;gap:2px;padding:0 4px;margin-bottom:-1px;position:relative;z-index:1}
.w-tab{all:unset;box-sizing:border-box;padding:6px 12px 5px;background:var(--w-face);color:var(--w-muted);font:500 13px var(--w-ui);cursor:default;box-shadow:inset 1px 1px 0 var(--w-hi),inset -1px 0 0 var(--w-lo)}
.w-tab[aria-selected="true"]{color:var(--w-ink);padding-top:8px;margin-top:-2px;background:var(--w-panel)}
.w-tab:focus-visible{outline:1px dotted var(--w-ink);outline-offset:-4px}
.w-view{background:var(--w-panel);padding:12px;box-shadow:inset 1px 1px 0 var(--w-hi),inset -1px -1px 0 var(--w-lo)}
.w-review{margin-top:10px;padding:10px 12px;border-left:3px solid var(--w-accent);background:var(--w-face);font-size:13.5px}
.w-review b{display:block;font-weight:600;margin-bottom:3px;color:var(--w-ink)}
.w-review ul{margin:0;padding-left:18px;color:var(--w-ink)}
.w-review span{color:var(--w-muted)}
.w-meta{margin:8px 0 0;font-size:12.5px;color:var(--w-muted)}

/* A letter: sender top right, addressee left, then the body */
.w-letter{display:grid;grid-template-columns:1fr auto;gap:6px 24px}
.w-lh{grid-column:2;grid-row:1;max-width:330px;display:grid;justify-items:end;text-align:right;font-size:13.5px;line-height:1.45}
.w-lh b{font:700 15px var(--w-ui);letter-spacing:.01em}
.w-lh .w-ref{color:#525654;font-size:12.5px}
.w-lh .w-date{margin-top:8px}
.w-to{grid-column:1/-1;grid-row:2;display:grid;justify-items:start;margin:14px 0 10px;font-size:13.5px;line-height:1.45}
.w-lbody{grid-column:1/-1;grid-row:3;margin-top:6px}
.w-lbody h4,.w-subject{font:600 14.5px var(--w-ui)!important;margin:4px 0 10px!important}
.w-email dl{display:grid;grid-template-columns:70px 1fr;gap:3px 10px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #b4b3ab;font-size:13.5px}
.w-email dt{color:#525654}
.w-email dd{margin:0}
.w-paper.is-phone{background:#161c1a;display:grid;justify-items:center;padding:28px 18px}
.w-sms{width:min(320px,100%);background:#0a0f0d;border-radius:28px;padding:22px 14px 30px;box-shadow:0 0 0 2px #363d3b}
.w-sms-who{margin:0 0 14px!important;text-align:center;color:#babfbd;font-size:12.5px}
.w-bubble{background:#9fc7b8;color:#161c1a;border-radius:16px 16px 4px 16px;padding:10px 12px;margin-left:auto;max-width:85%;font-size:14px}
.w-bubble p{margin:0}

/* Procedures: the chat panel */
.w-chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;height:100%;box-sizing:border-box}
.w-body:has(> .w-chat){overflow:hidden}
.w-chat-head{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--w-line)}
.w-chat-head span{font-size:12.5px;color:var(--w-muted)}
.w-thread{overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px;min-height:0}
.w-msg{max-width:80%;padding:10px 13px;font-size:14px;line-height:1.5}
.w-msg p{margin:0 0 6px;transition:opacity .3s ease}
.w-msg p:last-child{margin-bottom:0}
.w-msg ul{margin:4px 0 6px;padding-left:18px}
.w-msg.is-me{align-self:flex-end;background:var(--w-accent);color:var(--w-accent-ink);border-radius:12px 12px 2px 12px}
.w-msg.is-bot{align-self:flex-start;background:#e2e1d9;color:#161c1a;border-radius:12px 12px 12px 2px}
.w-msg .w-review{background:#d6d5cd;color:#161c1a;border-left-color:#5f8a7b}
.w-msg .w-review b,.w-msg .w-review ul{color:#161c1a}
.w-msg .w-review span{color:#525654}
.w-cite{display:inline-block;padding:0 6px;margin:0 2px;border-radius:3px;background:#161c1a;color:#e3e2da;font-size:12px;line-height:1.6}
.w-srcs{font-size:12.5px;color:#525654}
.w-msg.is-typing{display:flex;gap:4px;padding:12px 14px}
.w-msg.is-typing span{width:7px;height:7px;border-radius:50%;background:#525654;animation:w-dot 1s infinite}
.w-msg.is-typing span:nth-child(2){animation-delay:.15s}.w-msg.is-typing span:nth-child(3){animation-delay:.3s}
@keyframes w-dot{50%{opacity:.25}}
.w-suggest{display:flex;flex-wrap:wrap;gap:6px}
.w-suggest.is-busy .w-chip{opacity:.55;pointer-events:none}
.w-chip{all:unset;box-sizing:border-box;padding:6px 10px;background:var(--w-face);color:var(--w-ink);font:500 13px var(--w-ui);cursor:default}
.w-chip:focus-visible{outline:1px dotted var(--w-ink);outline-offset:-4px}
.w-input{display:flex;gap:6px;padding:4px;background:var(--w-desk)}
.w-input input{flex:1;min-width:0;border:0;background:transparent;color:var(--w-muted);font:14px var(--w-ui);padding:6px 8px}
.w-input .w-btn{opacity:.6}

/* Before and after: writing skills */
.w-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;color:var(--w-muted);font-size:13px}
.w-toolbar > span:first-child{margin-right:4px}
.w-skill[aria-pressed="true"]{background:var(--w-accent);color:var(--w-accent-ink);box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi)}

/* Inbox: kanban board */
.w-kb-title{flex:1;color:var(--w-ink)!important;font-weight:600}
.w-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.w-col{background:var(--w-panel);padding:8px;min-height:240px;box-shadow:inset 1px 1px 0 var(--w-lo),inset -1px -1px 0 var(--w-hi)}
.w-col[data-col="inbox"]{background:var(--w-deep)}
.w-col h3{all:unset;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font:600 13px var(--w-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--w-muted)}
.w-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;background:var(--w-face);color:var(--w-ink);font-size:12px;border-radius:10px}
.w-cards{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.w-card{background:#e2e1d9;color:#161c1a}
.w-card-btn{all:unset;box-sizing:border-box;display:grid;gap:3px;width:100%;padding:9px 10px;cursor:default}
.w-card-btn:focus-visible{outline:1px dotted #161c1a;outline-offset:-3px}
.w-card-id{font:600 11px ui-monospace,Menlo,monospace;color:#525654}
.w-card-from{font-size:12.5px;color:#525654;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.w-card-subj{font:600 13.5px/1.35 var(--w-ui)}
.w-card-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:4px}
.w-tag{font-size:11.5px;padding:1px 7px;border-radius:3px;background:#d6d5cd;color:#161c1a}
.w-who{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2f4d43;color:#e2e1d9;font:600 10px var(--w-ui)}
.w-card-more{margin:0;padding:0 10px 10px;display:grid;grid-template-columns:72px 1fr;gap:3px 8px;font-size:12.5px}
.w-card-more[hidden]{display:none}
.w-card-more dt{color:#525654}
.w-card-more dd{margin:0}

@media (max-width:900px){
  .w-split,.w-compare{grid-template-columns:1fr}
  .w-board{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){ .w-board{grid-template-columns:1fr} .w-letter{grid-template-columns:1fr} .w-lh{grid-column:1;justify-items:start;text-align:left} .w-to{grid-row:auto} .w-lbody{grid-row:auto} }
