/* ORMIZ Works: Desktop mode. Dark first; light values follow html[data-theme=light]. */

/* ---- the classic page underneath, and Works inside a desktop window ---- */
html.os-on #root{display:none}
html.os-on body{overflow:hidden;background:#02050c}
html.os-on .toasts{bottom:122px}
html.os-on .ring{top:44px}
html.os-embed .rail,html.os-embed .tabbar{display:none !important}
html.os-embed body{background:var(--void,#030812)}

/* ---- the desktop ---- */
.os{position:fixed;inset:0;z-index:10;overflow:hidden;color:var(--g-ink);font-family:var(--body);font-size:13px;user-select:none;-webkit-user-select:none;
  --g-ink:#eef6ff;--g-dim:#a9bdd9;--g-line:rgba(255,255,255,.12);--menu:rgba(18,28,50,.80);--hl:#2f8cff;--win-bar:linear-gradient(180deg,#152440,#0f1b33);
  --win-edge:rgba(130,190,255,.18);--win-bg:#030812;--dockg:linear-gradient(180deg,rgba(60,90,140,.30),rgba(12,22,42,.58));--barg:rgba(6,12,24,.42)}
html[data-theme=light] .os{--g-ink:#0e1c30;--g-dim:#4d5f7a;--g-line:rgba(20,40,80,.12);--menu:rgba(250,252,255,.84);--win-bar:linear-gradient(180deg,#f6f8fc,#e9eef6);
  --win-edge:rgba(20,40,80,.16);--win-bg:#f3f6fb;--dockg:linear-gradient(180deg,rgba(255,255,255,.55),rgba(232,240,252,.62));--barg:rgba(255,255,255,.45)}
.os button{font-family:inherit;color:inherit}
.os-wall{position:absolute;inset:0;overflow:hidden;background:#02050c;transition:opacity .9s ease,filter .45s ease}
.os-wall .osw{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}   /* the wallpaper stays put: no pointer parallax, no drift */
.osw-a1,.osw-a2,.osw-drift,.osw-tw,.osw-shim,.osw-scan{transform-box:fill-box;transform-origin:center}
.osw-a1{animation:osAur1 24s ease-in-out infinite alternate}
.osw-a2{animation:osAur2 31s ease-in-out infinite alternate}
.osw-drift{animation:none}
.osw-tw{animation:osTw 4.5s ease-in-out infinite}
.osw-shim{animation:osShim 6s ease-in-out infinite}
.osw-scan{animation:osScan 9s linear infinite}
@keyframes osAur1{0%{opacity:.5}50%{opacity:.85}100%{opacity:.62}}
@keyframes osAur2{0%{opacity:.35}100%{opacity:.65}}
@keyframes osDrift{to{transform:translateX(90px)}}
@keyframes osTw{50%{opacity:.15}}
@keyframes osShim{50%{opacity:.12}}
@keyframes osScan{from{transform:translateY(-160px)}to{transform:translateY(1000px)}}

.os.booting .os-wall{opacity:0;filter:blur(18px)}
.os.booting .os-bar{transform:translateY(-100%)}
.os.booting .os-dockwrap{transform:translateY(130%)}
.os.booting .os-ic{animation:none;opacity:0}
.os-bar,.os-dockwrap{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.os.leaving{animation:osLeave .38s ease forwards}
@keyframes osLeave{to{opacity:0;transform:scale(1.03);filter:blur(6px)}}

/* ---- top bar ---- */
.os-bar{position:absolute;left:0;right:0;top:0;height:30px;z-index:9000;display:flex;align-items:center;gap:2px;padding:0 8px;background:var(--barg);
  backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 1px 0 rgba(0,0,0,.25)}
.os-logo{all:unset;cursor:default;width:34px;height:24px;display:grid;place-items:center;border-radius:6px}
.os-logo img{width:18px;height:18px;filter:drop-shadow(0 0 6px rgba(76,214,255,.6))}
.os-appname{font-weight:700;font-size:13.5px;padding:0 10px 0 4px;letter-spacing:.01em}
.os-menus{display:flex}
.os-menus button,.os-logo{all:unset;cursor:default;height:24px;padding:0 9px;border-radius:6px;font-size:13px;display:grid;place-items:center}
.os-menus button:hover,.os-menus button.open,.os-logo:hover,.os-logo.open{background:rgba(255,255,255,.14)}
html[data-theme=light] .os-menus button:hover,html[data-theme=light] .os-menus button.open,html[data-theme=light] .os-logo:hover{background:rgba(0,30,80,.09)}
.os-sp{flex:1}
.os-ver{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--g-dim);padding:2px 8px;border-radius:6px;border:1px solid var(--g-line);margin-right:6px}
.os-ver b{color:var(--g-ink);font-weight:600;letter-spacing:.04em}
.os-seg{display:flex;padding:2px;border-radius:7px;background:rgba(0,0,0,.22);margin-right:6px}
html[data-theme=light] .os-seg{background:rgba(0,30,80,.08)}
.os-seg button{all:unset;cursor:default;height:20px;padding:0 9px;border-radius:5px;font-size:11.5px;font-weight:600;color:var(--g-dim)}
.os-seg button.on{background:linear-gradient(180deg,#5fdcff,#2fa9e6);color:#02141f;box-shadow:0 0 12px -2px rgba(76,214,255,.7)}
.os-seg button:not(.on):hover{color:var(--g-ink)}
.os-bi{all:unset;cursor:default;position:relative;width:30px;height:24px;border-radius:6px;display:grid;place-items:center}
.os-bi:hover,.os-bi.on{background:rgba(255,255,255,.14)}
html[data-theme=light] .os-bi:hover{background:rgba(0,30,80,.09)}
.os-bi svg{width:16px;height:16px}
.os-bcount{position:absolute;top:1px;right:2px;min-width:14px;height:14px;border-radius:7px;background:#ff3b5c;color:#fff;font:700 9px/14px var(--body);text-align:center;padding:0 3px;font-style:normal}
.os-aimini{width:15px;height:15px;border-radius:50%;background:conic-gradient(#2cf5b0,#4cd6ff,#8b6cff,#ff8fd0,#2cf5b0);animation:osSpin 4s linear infinite;box-shadow:0 0 10px rgba(76,214,255,.7)}
.os-clock{all:unset;cursor:default;height:24px;padding:0 10px;border-radius:6px;display:flex;align-items:center;gap:9px;font-size:13px;font-variant-numeric:tabular-nums}
.os-clock b{font-weight:600}
.os-clock:hover{background:rgba(255,255,255,.14)}
html[data-theme=light] .os-clock:hover{background:rgba(0,30,80,.09)}

/* ---- icons and tiles ---- */
.ot{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:23%;background:linear-gradient(155deg,var(--g1),var(--g2));container-type:size;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 7px rgba(0,0,0,.2),0 6px 16px -6px rgba(0,0,0,.65);overflow:hidden;flex:none}
.ot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 48%);pointer-events:none}
.ot svg{width:58%;height:58%;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3));position:relative;z-index:1}
.ot-cal{background:linear-gradient(180deg,#fff,#eef2f8);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.ot-cal b{display:block;width:100%;text-align:center;background:linear-gradient(180deg,#ff6b78,#e33a52);color:#fff;font:800 15cqh/1 var(--body);letter-spacing:.06em;padding:5cqh 0 4cqh}
.ot-cal i{font:500 50cqh/1 var(--body);font-style:normal;color:#18202e;margin-top:5cqh;letter-spacing:-.02em}
.ot-img{background:#0b1630}.ot-img img{width:100%;height:100%;object-fit:cover}
.ot-ai{border-radius:50%;background:#050e20}
.ot-ai::before{content:"";position:absolute;inset:-30%;background:conic-gradient(#2cf5b0,#4cd6ff,#8b6cff,#ff8fd0,#2cf5b0);filter:blur(5px);animation:osSpin 6s linear infinite}
.ot-ai::after{background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.85),rgba(255,255,255,0) 32%),radial-gradient(circle at 50% 50%,rgba(3,8,18,.0) 40%,rgba(3,8,18,.35) 72%)}
.ot-ai i{position:absolute;width:44%;height:44%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 68%);mix-blend-mode:screen;animation:osBlob 3.4s ease-in-out infinite;z-index:1}
.ot-ai i:nth-child(2){animation-delay:-1.1s;width:36%;height:36%}.ot-ai i:nth-child(3){animation-delay:-2.2s;width:28%;height:28%}
@keyframes osSpin{to{transform:rotate(360deg)}}
@keyframes osBlob{0%,100%{transform:translate(-30%,-10%) scale(.8)}33%{transform:translate(30%,20%) scale(1.1)}66%{transform:translate(-10%,35%) scale(.9)}}

.os-desk{position:absolute;inset:30px 0 0 0;outline:0;z-index:1;isolation:isolate}
.os-desk.drop{box-shadow:inset 0 0 0 3px rgba(76,214,255,.6);background:rgba(76,214,255,.05)}
.os-icons{position:absolute;left:18px;top:14px}
.os-corner{position:absolute;right:22px;bottom:118px}
.os-corner .os-ic{position:relative}
.os-ic{position:absolute;width:88px;height:106px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 2px 4px;border:0;border-radius:12px;background:none;
  cursor:default;animation:osIcIn .55s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0ms);transition:left .25s cubic-bezier(.2,.8,.2,1),top .25s cubic-bezier(.2,.8,.2,1)}
@keyframes osIcIn{from{opacity:0;transform:translateY(14px) scale(.85)}}
.os-ic .ot{width:58px;height:58px;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s}
.os-ic:hover .ot{transform:translateY(-3px) scale(1.12);filter:brightness(1.08) drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.os-ic .ot{transition:transform .28s cubic-bezier(.2,1.5,.4,1),filter .2s}
.os-ic:active .ot{filter:brightness(.82)}
.os-lbl{font-size:12px;line-height:1.22;text-align:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.5);max-width:86px;padding:1px 5px;border-radius:5px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.os-ic.sel{background:rgba(255,255,255,.13);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.os-ic.sel .os-lbl{background:var(--hl);text-shadow:none}
.os-ic.drag{z-index:6;transition:none;opacity:.88}
.os-ic.drag .ot{transform:scale(1.06);box-shadow:0 16px 30px -8px rgba(0,0,0,.7)}
.os-ic.target .ot{transform:scale(1.14);filter:brightness(1.25)}
.os-ibadge{position:absolute;top:2px;right:12px;min-width:20px;height:20px;border-radius:10px;background:#ff3b5c;color:#fff;font:700 11px/20px var(--body);padding:0 6px;font-style:normal;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.os-rename{width:96px;font:12px/1.25 var(--body);text-align:center;border-radius:5px;border:1px solid var(--hl);background:#0b1630;color:#fff;resize:none;padding:2px 4px;outline:0;box-shadow:0 0 0 3px rgba(47,140,255,.35)}
.os-marq{position:absolute;border:1px solid rgba(140,200,255,.85);background:rgba(76,160,255,.16);border-radius:3px;z-index:2;pointer-events:none}

/* ---- windows ---- */
/* Safari can paint an animating desktop icon (its own GPU layer) above windows; ordered layers keep windows on top */
.os-wins{position:absolute;inset:0;pointer-events:none;z-index:2;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0)}
.win{position:absolute;pointer-events:auto;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--win-bg);
  box-shadow:0 30px 80px -24px rgba(0,0,0,.75),0 0 0 1px var(--win-edge);transition:box-shadow .25s}
.win.focused{box-shadow:0 44px 110px -26px rgba(0,0,0,.85),0 0 0 1px rgba(120,200,255,.34),0 0 46px -20px rgba(76,214,255,.55)}
html[data-theme=light] .win{box-shadow:0 30px 70px -26px rgba(10,30,70,.45),0 0 0 1px var(--win-edge)}
html[data-theme=light] .win.focused{box-shadow:0 40px 90px -26px rgba(10,30,70,.55),0 0 0 1px rgba(30,110,220,.32)}
.win.max{border-radius:0}
.win.tween{transition:left .38s cubic-bezier(.2,.9,.25,1),top .38s cubic-bezier(.2,.9,.25,1),width .38s cubic-bezier(.2,.9,.25,1),height .38s cubic-bezier(.2,.9,.25,1),border-radius .38s,box-shadow .25s}
.win.moving,.win.moving *{transition:none !important}
.win.anim{will-change:transform,clip-path,opacity}
.win-bar{height:40px;flex:none;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--win-bar);border-bottom:1px solid rgba(255,255,255,.06);position:relative;cursor:default}
html[data-theme=light] .win-bar{border-bottom-color:rgba(0,30,80,.08)}
.win:not(.focused) .win-bar{filter:saturate(.35)}
.win:not(.focused) .win-title{opacity:.6}
.win-lights{display:flex;gap:8px;z-index:1}
.wl{width:13px;height:13px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.3),inset 0 1px 1px rgba(255,255,255,.3);cursor:default}
.wl.r{background:#ff5f57}.wl.y{background:#febc2e}.wl.g{background:#28c840}
.win:not(.focused) .win-lights:not(:hover) .wl{background:#4b5870}
html[data-theme=light] .win:not(.focused) .win-lights:not(:hover) .wl{background:#cdd4de}
.wl svg{width:8px;height:8px;fill:none;stroke:rgba(0,0,0,.6);stroke-width:1.7;stroke-linecap:round;opacity:0;transition:opacity .12s}
.win-lights:hover .wl svg{opacity:1}
.win-title{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;pointer-events:none;max-width:56%}
.win-title .ot{width:18px;height:18px;border-radius:5px;box-shadow:none}
.win-title .ot-cal b{padding:2px 0 1px}
.win-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win-tools{margin-left:auto;display:flex;gap:2px;z-index:1;opacity:.6;transition:opacity .15s}
.win-bar:hover .win-tools{opacity:1}
.win-tools button{all:unset;cursor:default;width:28px;height:26px;border-radius:6px;display:grid;place-items:center}
.win-tools button:hover{background:rgba(255,255,255,.12)}
html[data-theme=light] .win-tools button:hover{background:rgba(0,30,80,.08)}
.win-tools svg{width:15px;height:15px}
.win-body{position:relative;flex:1;min-height:0;background:var(--win-bg)}
.win-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--win-bg);color-scheme:normal}
.win-native{position:absolute;inset:0;overflow-y:auto;user-select:text;-webkit-user-select:text}
.win-load{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .4s ease;
  background:radial-gradient(600px 400px at 50% 40%,rgba(76,214,255,.08),transparent),var(--win-bg)}
.win-load .ot{width:68px;height:68px;animation:osLoadPulse 1.3s ease-in-out infinite}
.win-load i{width:140px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#4cd6ff,transparent) 0 0/50% 100% no-repeat,rgba(127,170,230,.18);animation:osLoadBar 1.1s linear infinite}
@keyframes osLoadPulse{50%{transform:scale(.94);filter:brightness(1.15)}}
@keyframes osLoadBar{from{background-position:-100% 0,0 0}to{background-position:200% 0,0 0}}
.win.loaded .win-load{opacity:0;pointer-events:none}
.win-shield{position:absolute;inset:0;z-index:3;display:none}
.win.busy .win-shield{display:block}
.wr{position:absolute;z-index:5}
.wr-n{top:-3px;left:10px;right:10px;height:7px;cursor:ns-resize}.wr-s{bottom:-3px;left:10px;right:10px;height:7px;cursor:ns-resize}
.wr-e{right:-3px;top:10px;bottom:10px;width:7px;cursor:ew-resize}.wr-w{left:-3px;top:10px;bottom:10px;width:7px;cursor:ew-resize}
.wr-ne{right:-3px;top:-3px;width:14px;height:14px;cursor:nesw-resize}.wr-sw{left:-3px;bottom:-3px;width:14px;height:14px;cursor:nesw-resize}
.wr-nw{left:-3px;top:-3px;width:14px;height:14px;cursor:nwse-resize}.wr-se{right:-3px;bottom:-3px;width:14px;height:14px;cursor:nwse-resize}
.win.max .wr{display:none}
.os-snap{position:absolute;z-index:7000;border-radius:16px;background:rgba(76,214,255,.13);border:1.5px solid rgba(110,210,255,.7);box-shadow:0 0 40px -6px rgba(76,214,255,.6),inset 0 0 60px -20px rgba(76,214,255,.5);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transform:scale(.97);transition:opacity .18s,transform .22s cubic-bezier(.2,.9,.25,1),left .2s,top .2s,width .2s,height .2s;pointer-events:none}
.os-snap.on{opacity:1;transform:none}

/* show all windows */
.os.over .os-wall{filter:blur(10px) brightness(.55)}
.os.over .os-icons,.os.over .os-corner{opacity:0;transition:opacity .3s}
.os.over .win{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .2s;cursor:pointer}
.os.over .win.ov{transform:var(--ov)}
.os.over .win.ov:hover{box-shadow:0 0 0 3px #4cd6ff,0 30px 80px -20px rgba(0,0,0,.8)}
.os.over .win.ov::after{content:attr(data-ovlabel);position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:9;padding:6px 14px;border-radius:9px;background:var(--menu);
  font-size:calc(14px / 1);font-weight:600;color:var(--g-ink);box-shadow:0 10px 30px -10px rgba(0,0,0,.6);pointer-events:none}
.os.over .win.ov .win-shield{display:block}

/* ---- the dock ---- */
.os-dockwrap{position:absolute;left:0;right:0;bottom:0;height:150px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;z-index:8000}
.os-dock{position:relative;pointer-events:auto;height:72px;transition:width .34s cubic-bezier(.2,.8,.2,1)}
.os-dock.mag{transition:none}
.os-dglass{position:absolute;inset:0;background:var(--dockg);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%)}
.os-dedge{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 6px rgba(76,214,255,.25))}
html[data-theme=light] .os-dedge path#os-dpath{stroke:rgba(30,90,180,.35)}
#os-ditems{position:absolute;left:26px;bottom:10px;display:flex;align-items:flex-end;gap:9px;padding:0 14px}
.di{position:relative;flex:none;border:0;padding:0;background:none;cursor:default;transition:width .14s ease-out,height .14s ease-out}
.os-dock.mag .di{transition:width .07s linear,height .07s linear}
.os-dock.settle .di{transition:width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1)}
.di .ot{transition:filter .15s,transform .2s}
.di:active .ot{filter:brightness(.72)}
.di.in{animation:osDiIn .44s cubic-bezier(.2,1.35,.4,1) both}
@keyframes osDiIn{from{width:0;height:0;opacity:0;transform:translateY(24px)}}
.di.out{animation:osDiOut .3s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}
@keyframes osDiOut{to{width:0;height:0;opacity:0;margin:0 -4.5px;transform:translateY(16px)}}
.dsep{width:1px;height:var(--b,52px);flex:none;margin:0 3px 0;background:linear-gradient(transparent,rgba(255,255,255,.4),transparent)}
html[data-theme=light] .dsep{background:linear-gradient(transparent,rgba(0,40,100,.25),transparent)}
.di .tip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%,6px);opacity:0;white-space:nowrap;padding:5px 11px;border-radius:8px;background:var(--menu);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:12.5px;font-weight:600;box-shadow:0 8px 24px -8px rgba(0,0,0,.6),0 0 0 1px var(--g-line);pointer-events:none;transition:opacity .14s,transform .18s}
.di.hov .tip{opacity:1;transform:translate(-50%,0)}
.di .dot{position:absolute;bottom:-7px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:2px;background:#c9f3ff;box-shadow:0 0 8px #4cd6ff,0 0 2px #fff;opacity:0;transition:all .25s}
html[data-theme=light] .di .dot{background:#1b4f9c;box-shadow:none}
.di.run .dot{opacity:1}
.di.front .dot{width:14px;margin-left:-7px}
.di .badge{position:absolute;top:-5px;right:-7px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ff3b5c;color:#fff;font:700 11px/20px var(--body);text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 0 2px rgba(10,18,34,.55);z-index:2;animation:osBadge .4s cubic-bezier(.2,1.6,.4,1)}
@keyframes osBadge{from{transform:scale(0)}}
.di.bounce .ot{animation:osBounce .75s cubic-bezier(.3,0,.4,1) infinite}
@keyframes osBounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-24px)}60%{transform:translateY(0)}75%{transform:translateY(-6px)}}
.di.target .ot{transform:scale(1.16);filter:brightness(1.25)}
.di-ai .ot{box-shadow:0 0 0 1px rgba(160,230,255,.35),0 0 18px -2px rgba(76,214,255,.75)}
.di-ai.live .ot{animation:osAiLive 1.6s ease-in-out infinite}
.di-ai.live .ot::before{animation-duration:2s}
@keyframes osAiLive{50%{box-shadow:0 0 0 4px rgba(76,214,255,.25),0 0 30px 2px rgba(76,214,255,.9)}}

/* ---- menus ---- */
.os-menu{position:absolute;z-index:9500;min-width:230px;padding:5px;border-radius:11px;background:var(--menu);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  box-shadow:0 22px 50px -14px rgba(0,0,0,.65),0 0 0 1px var(--g-line);animation:osMenuIn .13s ease-out;display:flex;flex-direction:column}
@keyframes osMenuIn{from{opacity:0;transform:translateY(-4px) scale(.98)}}
.os-menu button{all:unset;cursor:default;display:flex;align-items:center;gap:10px;height:27px;padding:0 10px;border-radius:6px;font-size:13px;color:var(--g-ink)}
.os-menu button:hover,.os-menu button:focus-visible{background:var(--hl);color:#fff}
.os-menu button[disabled]{opacity:.38;pointer-events:none}
.os-menu button span{flex:1;white-space:nowrap}
.os-menu kbd{font-family:var(--mono);font-size:10.5px;opacity:.6}
.os-menu hr{border:0;border-top:1px solid var(--g-line);margin:4px 8px}
.os-menu svg{width:15px;height:15px}

/* ---- search ---- */
.os-spotw{position:absolute;inset:0;z-index:9600;display:flex;justify-content:center;align-items:flex-start;padding-top:15vh;background:rgba(2,6,14,.22);animation:osFade .15s ease}
.os-spotw.out{opacity:0;transition:opacity .15s}
@keyframes osFade{from{opacity:0}}
.os-spot{width:min(700px,92vw);border-radius:20px;background:var(--menu);backdrop-filter:blur(44px) saturate(190%);-webkit-backdrop-filter:blur(44px) saturate(190%);
  box-shadow:0 40px 100px -24px rgba(0,0,0,.75),0 0 0 1px var(--g-line),0 0 70px -30px rgba(76,214,255,.6);overflow:hidden;animation:osSpotIn .26s cubic-bezier(.16,1,.3,1)}
@keyframes osSpotIn{from{opacity:0;transform:translateY(-12px) scale(.97)}}
.os-sin{display:flex;align-items:center;gap:14px;height:64px;padding:0 20px}
.os-sin svg{width:22px;height:22px;color:var(--g-dim)}
.os-sin input{flex:1;border:0;outline:0;background:none;color:var(--g-ink);font:400 21px var(--body)}
.os-sin input::placeholder{color:var(--g-dim)}
.os-sin kbd{font-family:var(--mono);font-size:10.5px;color:var(--g-dim);border:1px solid var(--g-line);border-radius:5px;padding:2px 6px}
.os-sres{max-height:56vh;overflow-y:auto;border-top:1px solid var(--g-line);padding:6px}
.os-sres:empty{display:none}
.os-sg h4{margin:8px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g-dim)}
.os-sg button{all:unset;cursor:default;display:flex;align-items:center;gap:12px;width:calc(100% - 20px);padding:7px 10px;border-radius:10px}
.os-sg button .ot,.os-sg button .av{width:32px;height:32px;border-radius:8px;flex:none}
.os-sg button>span:not(.ot):not(.av){flex:1;min-width:0;display:flex;flex-direction:column}
.os-sg button b{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-sg button small{font-size:12px;color:var(--g-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-sg button kbd{opacity:0;font-family:var(--mono);font-size:12px}
.os-sg button.on{background:var(--hl);color:#fff}
.os-sg button.on small{color:rgba(255,255,255,.8)}
.os-sg button.on kbd{opacity:.8}

/* ---- notification centre and banners ---- */
.os-nc{position:absolute;top:38px;right:10px;bottom:104px;width:372px;z-index:9400;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:2px 2px 10px;animation:osNcIn .3s cubic-bezier(.16,1,.3,1)}
.os-nc.out{animation:osNcOut .25s ease forwards}
@keyframes osNcIn{from{opacity:0;transform:translateX(30px)}}
@keyframes osNcOut{to{opacity:0;transform:translateX(30px)}}
.nc-card,.nc-n,.os-ban{background:var(--menu);backdrop-filter:blur(36px) saturate(190%);-webkit-backdrop-filter:blur(36px) saturate(190%);border-radius:18px;box-shadow:0 14px 40px -16px rgba(0,0,0,.6),0 0 0 1px var(--g-line)}
.nc-card{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.nc-card h4,.nc-h h4{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g-dim);display:flex;align-items:center;justify-content:space-between}
.nc-today{flex-direction:row;align-items:center;justify-content:space-between}
.nc-today>div>b{display:block;font:300 44px/1 var(--disp);letter-spacing:.02em}
.nc-today>div>span{color:var(--g-dim);font-size:13px}
.nc-today .ot{width:58px;height:58px}
.nc-ev{all:unset;cursor:default;display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;column-gap:10px;padding:8px 10px;border-radius:12px;box-shadow:inset 3px 0 0 var(--c);background:rgba(127,170,230,.08)}
.nc-ev:hover{background:rgba(127,170,230,.16)}
.nc-ev>span{grid-row:1/3;font-family:var(--mono);font-size:12px;color:var(--g-dim);align-self:center}
.nc-ev b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-ev small{font-size:11.5px;color:var(--g-dim)}
.nc-ev .btn{grid-row:1/3;grid-column:3;align-self:center;height:28px;padding:0 12px}
.nc-h{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 0}
.nc-h h4{flex:1}
.nc-list{display:flex;flex-direction:column;gap:6px}
.nc-list .nc-n{background:rgba(127,170,230,.08);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:12px;padding:10px}
.nc-n,.os-ban{all:unset;cursor:default;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--menu);box-shadow:0 14px 40px -16px rgba(0,0,0,.6),0 0 0 1px var(--g-line);
  backdrop-filter:blur(36px) saturate(190%);-webkit-backdrop-filter:blur(36px) saturate(190%)}
.nc-n:hover{filter:brightness(1.08)}
.nc-n .ot,.nc-n .av,.os-ban .ot,.os-ban .av{width:38px;height:38px;border-radius:10px;flex:none}
.nc-n>span:not(.ot):not(.av),.os-ban>span:not(.ot):not(.av){flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.nc-n b,.os-ban b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-n em,.os-ban em{font-style:normal;font-size:12.5px;color:var(--g-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-n small{font-size:11px;color:var(--g-dim);white-space:nowrap}
.os-ban small{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--g-dim)}
.nc-dnd{padding:4px 8px;font-size:12.5px;color:var(--g-dim)}
.os-banners{position:absolute;top:40px;right:12px;z-index:9300;display:flex;flex-direction:column;gap:8px;width:360px;pointer-events:none}
.os-ban{pointer-events:auto;width:100%;box-sizing:border-box;animation:osBanIn .5s cubic-bezier(.16,1.3,.3,1)}
.os-ban.out{animation:osBanOut .4s ease forwards}
@keyframes osBanIn{from{opacity:0;transform:translateX(110%)}}
@keyframes osBanOut{to{opacity:0;transform:translateX(110%)}}
.lnk{all:unset;cursor:pointer;color:#4cd6ff;font-size:12px;text-transform:none;letter-spacing:0;font-weight:600}
html[data-theme=light] .lnk{color:#1d63c8}

/* ---- voice assistant ---- */
.os-ai{position:absolute;left:50%;bottom:118px;width:450px;z-index:9450;transform:translateX(-50%);padding:14px 18px 14px;border-radius:28px;display:flex;flex-direction:column;align-items:center;gap:6px;
  background:radial-gradient(400px 260px at 50% 0%,rgba(76,214,255,.16),transparent),var(--menu);backdrop-filter:blur(44px) saturate(190%);-webkit-backdrop-filter:blur(44px) saturate(190%);
  box-shadow:0 40px 100px -26px rgba(0,0,0,.8),0 0 0 1px var(--g-line),0 0 90px -40px rgba(76,214,255,.9);animation:osAiIn .42s cubic-bezier(.16,1.2,.3,1);user-select:text;-webkit-user-select:text}
.os-ai.out{animation:osAiOut .26s ease forwards}
@keyframes osAiIn{from{opacity:0;transform:translate(-50%,40px) scale(.9)}}
@keyframes osAiOut{to{opacity:0;transform:translate(-50%,30px) scale(.94)}}
.ai-top{display:flex;align-items:center;gap:6px;width:100%}
.ai-name{flex:1;font-family:var(--disp);font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--g-dim)}
.ai-name b{color:var(--g-ink);font-weight:700}
.ai-top select{all:unset;cursor:default;font-size:12px;padding:3px 8px;border-radius:7px;border:1px solid var(--g-line);color:var(--g-dim)}
.ai-orb{position:relative;width:210px;height:210px;transition:width .4s cubic-bezier(.2,.9,.25,1),height .4s cubic-bezier(.2,.9,.25,1)}
.os-ai.has-log .ai-orb{width:150px;height:150px}
.ai-orb canvas{width:100%;height:100%}
#ai-mic{all:unset;cursor:pointer;position:absolute;inset:0;margin:auto;width:36%;height:36%;border-radius:50%;display:grid;place-items:center;color:#02141f;
  background:radial-gradient(circle at 34% 28%,#f2fdff,#8eeaff 32%,#3bb8f0 62%,#2a55d6);box-shadow:0 0 34px rgba(76,214,255,.75),inset 0 -6px 14px rgba(20,40,140,.45);transition:transform .2s}
#ai-mic:hover{transform:scale(1.06)}
#ai-mic svg{width:42%;height:42%}
.os-ai[data-mode=listen] #ai-mic{animation:osMic 1.1s ease-in-out infinite;background:radial-gradient(circle at 34% 28%,#f2fffa,#7ff5cf 32%,#2cd99d 62%,#0f8f7a)}
.os-ai[data-mode=think] #ai-mic{animation:osSpin 1.4s linear infinite;background:conic-gradient(#4cd6ff,#8b6cff,#ff8fd0,#4cd6ff)}
@keyframes osMic{50%{transform:scale(1.1);box-shadow:0 0 0 10px rgba(44,245,176,.15),0 0 44px rgba(44,245,176,.8)}}
.ai-state{font-size:13px;color:var(--g-dim);min-height:18px;text-align:center}
.ai-log{width:100%;max-height:230px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:2px}
.ai-log:empty{display:none}
.ai-b{max-width:86%;padding:8px 12px;border-radius:16px;font-size:13.5px;line-height:1.45;white-space:pre-line;animation:osFade .25s ease}
.ai-b.user{align-self:flex-end;background:linear-gradient(180deg,#5fdcff,#2fa9e6);color:#02141f;border-bottom-right-radius:5px}
.ai-b.assistant{align-self:flex-start;background:rgba(127,170,230,.14);border-bottom-left-radius:5px}
.ai-b i{opacity:.6}
.ai-in{display:flex;gap:8px;width:100%;margin-top:4px}
.ai-in input{flex:1;height:40px;border-radius:20px;border:1px solid var(--g-line);background:rgba(0,0,0,.18);color:var(--g-ink);padding:0 16px;font:14px var(--body);outline:0}
html[data-theme=light] .ai-in input{background:rgba(255,255,255,.7)}
.ai-in input:focus{border-color:rgba(76,214,255,.7)}
.ai-in .ib{width:40px;height:40px;border-radius:50%}
.ai-hints{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.os-ai.has-log .ai-hints{display:none}
.ai-hints button{all:unset;cursor:pointer;font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--g-line);color:var(--g-dim)}
.ai-hints button:hover{color:var(--g-ink);border-color:rgba(76,214,255,.6)}

/* ---- settings window ---- */
.os-set{padding:8px 26px 30px;display:flex;flex-direction:column;gap:6px;color:var(--ink);font-size:13.5px}
.os-set h3{margin:18px 0 8px;font-family:var(--disp);font-size:20px;letter-spacing:.02em}
.os-set section{display:flex;flex-direction:column}
.os-srow{display:flex;align-items:center;gap:20px;padding:12px 14px;border-radius:12px;background:rgba(127,170,230,.06);border:1px solid var(--line,rgba(98,170,255,.14));margin-bottom:8px}
.os-srow>div:first-child{flex:1;min-width:0}
.os-srow p{margin:2px 0 0;color:var(--dim);font-size:12.5px}
.os-walls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.os-walls button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:center;font-size:12px;color:var(--dim)}
.os-wthumb{position:relative;width:100%;aspect-ratio:16/10;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--line,rgba(98,170,255,.2)),0 8px 20px -12px #000;display:grid;place-items:center;background:#0a1830}
.os-wthumb svg{position:absolute;inset:0;width:100%;height:100%}
.os-wthumb svg *{animation:none !important}
.os-wthumb img{width:100%;height:100%;object-fit:cover}
.os-wthumb.up svg.i{position:static;width:26px;height:26px;color:var(--scan)}
.os-walls button.on .os-wthumb{box-shadow:0 0 0 2px #4cd6ff,0 0 22px -4px rgba(76,214,255,.8)}
.os-walls button.on small{color:var(--ink);font-weight:600}
.os-pins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}
.os-pins label{display:flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer}
.os-pins .ot{width:22px;height:22px;border-radius:6px}
.os-pins input{accent-color:var(--scan)}

/* ---- the first-time choice ---- */
.os-choose .oc-card{width:min(780px,94vw);padding:30px;display:flex;flex-direction:column;gap:10px;animation:osSpotIn .4s cubic-bezier(.16,1,.3,1)}
.os-choose h2{margin:0;font-family:var(--disp);font-size:30px}
.os-choose p{margin:0 0 8px}
.oc-opts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.oc-opts>button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;border:1px solid var(--line2);background:rgba(2,7,16,.4);transition:transform .2s,box-shadow .2s}
.oc-opts>button:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(76,214,255,.7),0 20px 40px -20px rgba(76,214,255,.6)}
.oc-opts>button>b{font-family:var(--disp);font-size:20px}
.oc-opts small{color:var(--dim);font-size:13px;line-height:1.45}
.oc-pv{position:relative;height:150px;border-radius:12px;overflow:hidden;margin-bottom:6px}
.oc-pv.classic{background:#071226;display:grid;grid-template-columns:30px 90px 1fr;gap:6px;padding:8px}
.oc-pv.classic i{border-radius:6px;background:rgba(76,214,255,.14)}
.oc-pv.classic i:nth-child(2){background:rgba(98,170,255,.08)}
.oc-pv.classic i:nth-child(3){background:rgba(98,170,255,.05)}
.oc-pv.classic b{display:none}
.oc-pv.desk{background:linear-gradient(180deg,#0a2a4c,#123f63 55%,#061024)}
.oc-pv.desk em{position:absolute;left:0;right:0;top:0;height:10px;background:rgba(0,0,0,.35)}
.oc-pv.desk i{position:absolute;border-radius:7px;background:#0c1b36;box-shadow:0 0 0 1px rgba(120,200,255,.3),0 10px 20px -8px #000}
.oc-pv.desk i:nth-of-type(1){left:22%;top:20%;width:48%;height:52%}
.oc-pv.desk i:nth-of-type(2){left:44%;top:32%;width:44%;height:46%;background:#102545}
.oc-pv.desk b{position:absolute;left:8px;top:18px;width:14px;height:14px;border-radius:4px;background:#4cd6ff;box-shadow:0 22px 0 #b18cff,0 44px 0 #6fb6ff}
.oc-pv.desk u{position:absolute;left:28%;right:28%;bottom:0;height:16px;border-radius:9px 9px 0 0;background:rgba(160,200,255,.35)}

.os-about{display:flex;gap:18px;align-items:flex-start}
.os-about img{width:72px;height:72px;filter:drop-shadow(0 0 16px rgba(76,214,255,.6))}
.os-about h2{margin:0;font-family:var(--disp);font-size:26px}
.os-about p{margin:6px 0}
.os-keys{display:flex;flex-direction:column;gap:8px}
.os-keys div{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;font-size:13.5px}
.os-keys kbd{font-family:var(--mono);font-size:11.5px;padding:4px 8px;border-radius:6px;border:1px solid var(--line2);color:var(--ice);justify-self:start}

@media (prefers-reduced-motion: reduce){
  .osw-a1,.osw-a2,.osw-drift,.osw-tw,.osw-shim,.osw-scan,.ot-ai::before,.ot-ai i,.os-aimini{animation:none !important}
  .os-wall .osw{transform:none !important}
}

/* ---------- R18: volume, sticky notes ---------- */
.os-volpop{position:fixed;z-index:9600;width:290px;padding:14px;border-radius:14px;background:var(--menu,rgba(14,24,44,.86));backdrop-filter:blur(26px) saturate(1.6);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 50px -20px rgba(0,0,0,.6);color:var(--g-ink,#eef6ff);animation:vpin .16s ease-out}
@keyframes vpin{from{opacity:0;transform:translateY(-6px)}}
.vp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.vp-row{display:flex;align-items:center;gap:10px}.vp-row input{flex:1;accent-color:#4cd6ff}.vp-row span{width:38px;text-align:right;font-size:12px;opacity:.75}
.vp-ic{all:unset;cursor:pointer;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.os-volpop p{font-size:12px;opacity:.7;margin:10px 0 6px;line-height:1.4}
.os-notes{position:absolute;inset:0;pointer-events:none;z-index:4}
.os-sticky{position:absolute;pointer-events:auto;display:flex;flex-direction:column;background:var(--nc);color:#2a2410;border-radius:4px 4px 14px 4px;box-shadow:0 1px 1px rgba(0,0,0,.12),0 18px 34px -16px rgba(0,0,0,.55);transform:rotate(-.4deg);transition:box-shadow .2s,transform .2s;animation:snin .3s cubic-bezier(.2,1.4,.4,1)}
.os-sticky:nth-child(even){transform:rotate(.5deg)}
.os-sticky.drag{transform:rotate(0) scale(1.02);box-shadow:0 30px 50px -18px rgba(0,0,0,.6);transition:none}
.os-sticky.out{opacity:0;transform:scale(.8);transition:all .2s}
@keyframes snin{from{opacity:0;transform:scale(.7) rotate(-6deg)}}
.sn-h{height:26px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 8px;cursor:grab;background:rgba(0,0,0,.06);border-radius:4px 4px 0 0}
.sn-cols{display:flex;gap:4px;opacity:0;transition:opacity .15s}.os-sticky:hover .sn-cols,.os-sticky:focus-within .sn-cols{opacity:1}
.sn-cols button{all:unset;cursor:pointer;width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}.sn-cols button.on{box-shadow:0 0 0 2px rgba(0,0,0,.45)}
.sn-x{all:unset;cursor:pointer;opacity:0;width:18px;height:18px;display:grid;place-items:center;border-radius:5px}.os-sticky:hover .sn-x{opacity:.6}.sn-x:hover{opacity:1;background:rgba(0,0,0,.08)}
.sn-x svg{width:13px;height:13px;stroke-width:2.4}
.os-sticky textarea{flex:1;resize:none;border:0;background:none;outline:none;padding:8px 12px 14px;font:calc(15px * var(--snk,1) * var(--sns,1))/1.4 var(--snf);color:#2a2410;-webkit-user-select:text;user-select:text}
.os-sticky textarea::placeholder{color:rgba(42,36,16,.45)}
.sn-rz{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.12) 50%);border-radius:0 0 14px 0}
html[data-theme=light] .os-volpop{border-color:rgba(20,40,80,.12);box-shadow:0 24px 50px -24px rgba(20,40,80,.4)}
html[data-theme=light] .vp-ic{background:rgba(20,40,80,.07)}
/* the glass bar and dock get their own layer so windows opening underneath don't make them flicker */
.os-bar,.os-dockwrap{transform:translateZ(0);backface-visibility:hidden}
.os.booting .os-bar{transform:translateY(-100%)}
.os.booting .os-dockwrap{transform:translateY(130%)}
.os-ai .ai-top{cursor:grab}.os-ai.moving{animation:none;cursor:grabbing;transition:none}.os-ai.moving .ai-top{cursor:grabbing}
.os-ai .ai-top::before{content:"";position:absolute;left:50%;top:6px;width:36px;height:4px;margin-left:-18px;border-radius:3px;background:var(--g-line,rgba(255,255,255,.18))}
.os-ai{touch-action:none}

/* ---- Max: answer cards, options, confirmation ---- */
.ai-cards{display:flex;flex-direction:column;gap:6px;width:100%;margin:2px 0 6px}
.ai-card{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:1px;padding:9px 12px;border-radius:12px;background:rgba(76,214,255,.08);border:1px solid rgba(76,214,255,.22);transition:background .15s,transform .15s}
.ai-card:hover{background:rgba(76,214,255,.16);transform:translateY(-1px)}
.ai-card b{font-size:13px}.ai-card small{font-size:12px;opacity:.7}
.ai-opts{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px;width:100%}
.ai-opts button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:12.5px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);animation:aiPop .25s cubic-bezier(.2,1.4,.4,1) backwards}
.ai-opts button:nth-child(2){animation-delay:.04s}.ai-opts button:nth-child(3){animation-delay:.08s}.ai-opts button:nth-child(4){animation-delay:.12s}.ai-opts button:nth-child(5){animation-delay:.16s}
.ai-opts button:hover{background:rgba(76,214,255,.18);border-color:rgba(76,214,255,.5)}
.ai-opts i{font-style:normal;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;background:rgba(76,214,255,.25)}
@keyframes aiPop{from{opacity:0;transform:scale(.85)}}
.ai-confirm{width:100%;margin:4px 0 8px;padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,rgba(76,214,255,.12),rgba(139,108,255,.08));border:1px solid rgba(76,214,255,.35);box-shadow:0 0 40px -18px rgba(76,214,255,.9);animation:aiPop .3s ease}
.ai-confirm h5{margin:0 0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4cd6ff}
.ai-confirm>div{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:13px;padding:3px 0}.ai-confirm>div span{opacity:.65}
.ai-confirm footer{display:flex;gap:6px;justify-content:flex-end;margin-top:10px}
.ai-confirm>div.ai-step{display:block;padding:6px 0 2px;border-top:1px solid rgba(76,214,255,.2)}.ai-confirm>div.ai-step:first-of-type{border-top:0}
.ai-step h6{margin:0 0 4px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}.ai-step>div{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:13px;padding:2px 0}.ai-step>div span{opacity:.65}
.ai-confirm small{display:block;text-align:right;opacity:.55;font-size:11.5px;margin-top:6px}
.ai-done{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 8px;padding:9px 12px;border-radius:12px;font-size:13px;background:rgba(44,245,176,.1);border:1px solid rgba(44,245,176,.35)}
.ai-done.bad{background:rgba(255,77,109,.1);border-color:rgba(255,77,109,.4)}
.ai-done svg{width:18px;height:18px;flex:none;color:#2cf5b0}.ai-done.bad svg{color:#ff6b81}
.ai-done span{flex:1;display:flex;flex-direction:column}.ai-done small{opacity:.7;font-size:12px}
#ai-wake .on{display:none}#ai-wake.on .on{display:block}#ai-wake.on .off{display:none}#ai-wake.on{color:#2cf5b0}
#ob-ai.wakeoff .os-aimini{box-shadow:0 0 0 2px rgba(255,184,64,.6)}
#ob-ai.wake .os-aimini{box-shadow:0 0 0 2px rgba(44,245,176,.55),0 0 12px rgba(44,245,176,.6);animation:maxWake 2.4s ease-in-out infinite}
@keyframes maxWake{50%{box-shadow:0 0 0 3px rgba(44,245,176,.25),0 0 18px rgba(44,245,176,.35)}}
.os-ai .ai-log{max-height:46vh}
html[data-theme=light] .ai-card,html[data-theme=light] .ai-opts button{background:rgba(0,90,160,.06);border-color:rgba(0,90,160,.2)}

/* ---------- OrDrop: the drop overlay and incoming cards (always the dark HUD look) ---------- */
.od-ov{position:fixed;inset:0;z-index:9800;display:grid;place-items:center;background:radial-gradient(900px 600px at 50% 40%,rgba(40,90,200,.28),transparent 70%),rgba(2,6,16,.62);
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);opacity:0;transition:opacity .32s ease;color:#eef6ff;font-family:var(--body)}
.od-ov.in{opacity:1}.od-ov.out{opacity:0;pointer-events:none}
.od-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.od-hud{position:relative;width:min(1000px,94vw);max-height:94vh;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;border-radius:22px;padding:18px 22px 22px;background:linear-gradient(160deg,rgba(10,22,46,.86),rgba(6,12,28,.9));
  box-shadow:0 0 0 1px rgba(122,240,255,.22),0 40px 120px -30px rgba(0,0,0,.9),0 0 80px -30px rgba(91,60,255,.6),inset 0 1px 0 rgba(255,255,255,.06);
  transform:translateY(14px) scale(.97);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.od-ov.in .od-hud{transform:none}
.od-hud::before,.od-hud::after{content:"";position:absolute;width:26px;height:26px;border:2px solid #7af0ff;opacity:.7;pointer-events:none}
.od-hud::before{left:10px;top:10px;border-right:0;border-bottom:0;border-top-left-radius:10px}
.od-hud::after{right:10px;bottom:10px;border-left:0;border-top:0;border-bottom-right-radius:10px}
.od-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.od-brand{display:flex;align-items:center;gap:10px}.od-brand .i{width:22px;height:22px;stroke:#7af0ff;filter:drop-shadow(0 0 6px #7af0ff)}
.od-brand b{font-family:var(--disp);font-size:22px;letter-spacing:.08em;background:linear-gradient(90deg,#b8f6ff,#8f7bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.od-brand small{color:#8fb0d6;font-size:12px;letter-spacing:.02em}
.od-brand.sm b{font-size:14px}.od-brand.sm .i{width:16px;height:16px}
.od-x{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#a6bcdc}.od-x:hover{background:rgba(255,255,255,.08);color:#fff}
.od-x .i{width:18px;height:18px}
.od-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:26px;align-items:center}
@media (max-width:760px){.od-stage{grid-template-columns:1fr}.od-radar{width:min(100%,300px);margin:0 auto}}
.od-radar{position:relative;width:min(100%,440px,calc(94vh - 170px));aspect-ratio:1;justify-self:center}   /* sized by the screen height too, so the box never needs a scrollbar that would resize it */
.od-ring{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid rgba(122,240,255,.22);box-shadow:inset 0 0 30px -10px rgba(122,240,255,.25)}
.od-ring.r1{width:100%;height:100%}.od-ring.r2{width:68%;height:68%;border-style:dashed;animation:odSpin 40s linear infinite}.od-ring.r3{width:36%;height:36%;border-color:rgba(143,123,255,.4)}
.od-grid{position:absolute;inset:0;border-radius:50%;background:linear-gradient(rgba(122,240,255,.12),rgba(122,240,255,.12)) center/1px 100% no-repeat,linear-gradient(rgba(122,240,255,.12),rgba(122,240,255,.12)) center/100% 1px no-repeat}
.od-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(122,240,255,0) 0deg,rgba(122,240,255,0) 290deg,rgba(122,240,255,.32) 352deg,rgba(184,246,255,.7) 360deg);
  -webkit-mask:radial-gradient(circle,#000 0 69%,transparent 70%);mask:radial-gradient(circle,#000 0 69%,transparent 70%);animation:odSpin 3.4s linear infinite}
.od-ov.firing .od-sweep{animation-duration:.7s}
@keyframes odSpin{to{transform:rotate(360deg)}}
.od-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;width:46%;text-align:center}
.od-orb{position:relative;display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:radial-gradient(circle at 30% 25%,rgba(184,246,255,.35),rgba(91,60,255,.18) 60%,transparent 75%);
  box-shadow:0 0 0 1px rgba(122,240,255,.35),0 0 34px -4px rgba(122,240,255,.55);animation:odPulse 2.6s ease-in-out infinite}
.od-orb .ot{width:46px;height:46px}
.od-orb.sm{width:52px;height:52px;border-radius:16px;flex:none}.od-orb.sm .ot{width:34px;height:34px}
.od-orb.big{width:58px;height:58px;border-radius:18px;flex:none}.od-orb.big .ot{width:40px;height:40px}
.od-orb.launch{animation:odLaunch 1.2s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes odPulse{50%{box-shadow:0 0 0 1px rgba(122,240,255,.55),0 0 54px 2px rgba(122,240,255,.5)}}
@keyframes odLaunch{30%{transform:scale(1.12);filter:brightness(1.6)}100%{transform:scale(.86);opacity:.55;filter:brightness(1)}}
.od-fn{font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.od-fs{color:#8fb0d6;font-size:12px;font-family:var(--mono)}
.od-prog{display:none;width:80%;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}.od-prog.on{display:block}
.od-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7af0ff,#8f7bff);transition:width .2s}
.od-nodes{position:absolute;inset:0}
.od-node{all:unset;cursor:pointer;position:absolute;left:50%;top:50%;width:0;height:0;
  animation:odNodeIn .5s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d)}
.od-radar{container-type:inline-size;overflow:clip;border-radius:50%}   /* the turning sweep's corners must not grow the box's scroll height (made its scrollbar bob) */
.od-node{transform:rotate(var(--a)) translateX(41cqw) rotate(calc(-1 * var(--a)))}
.od-node .od-nav{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(6,14,30,.85);
  box-shadow:0 0 0 1.5px rgba(122,240,255,.45),0 0 18px -2px rgba(122,240,255,.5);transition:box-shadow .2s,transform .2s}
.od-node .od-nav .av{width:44px!important;height:44px!important}
.od-node small{position:absolute;left:50%;top:30px;transform:translateX(-50%);white-space:nowrap;font-size:11.5px;color:#b8f6ff;text-shadow:0 0 8px rgba(0,0,0,.9)}
.od-node:hover .od-nav{transform:scale(1.08)}
.od-node.live .od-nav::after{content:"";position:absolute;right:2px;bottom:2px;width:11px;height:11px;border-radius:50%;background:#2cf5b0;box-shadow:0 0 0 2px #061024,0 0 8px #2cf5b0}
.od-node.lock .od-nav{box-shadow:0 0 0 2px #fff,0 0 0 6px rgba(122,240,255,.35),0 0 34px 4px rgba(122,240,255,.75);transform:scale(1.12)}
.od-node.lock .od-nav::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1.5px dashed rgba(184,246,255,.8);animation:odSpin 4s linear infinite}
.od-node.hit .od-nav{box-shadow:0 0 0 2px #2cf5b0,0 0 0 10px rgba(44,245,176,.25),0 0 44px 8px rgba(44,245,176,.6)}
@keyframes odNodeIn{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}
.od-side{display:flex;flex-direction:column;gap:8px;min-width:0}
.od-l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7f9cc4;margin-top:6px}.od-l small{text-transform:none;letter-spacing:0}
.od-search{display:flex;align-items:center;gap:6px;padding:0 12px;border-radius:12px;background:rgba(3,10,24,.8);box-shadow:0 0 0 1px rgba(122,240,255,.3),inset 0 0 18px -8px rgba(122,240,255,.4)}
.od-search span{color:#7af0ff;font-weight:700;font-size:17px}
.od-search input{flex:1;min-width:0;border:0;outline:0;background:none;padding:12px 0;font-size:16px;font-family:var(--mono);color:#eef6ff}
.od-search:focus-within{box-shadow:0 0 0 1.5px #7af0ff,0 0 24px -4px rgba(122,240,255,.6)}
#dlg .od-search{background:var(--well);box-shadow:0 0 0 1px var(--line2)}#dlg .od-search input{color:var(--ink)}
.od-hits{display:flex;flex-direction:column;gap:4px;min-height:70px;max-height:220px;overflow:auto;position:relative}
.od-hits.scan::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#7af0ff,transparent);animation:odBar 1s linear infinite}
@keyframes odBar{from{transform:translateY(0)}to{transform:translateY(68px)}}
.od-hint{margin:8px 2px;color:#7f9cc4;font-size:12.5px}.od-hint.bad{color:#ff8aa0}
.od-hit{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:11px;transition:background .15s}
.od-hit:hover{background:rgba(122,240,255,.08)}.od-hit.on{background:rgba(122,240,255,.14);box-shadow:inset 0 0 0 1px rgba(122,240,255,.5)}
.od-hit .od-ht{flex:1;min-width:0;display:flex;flex-direction:column}.od-hit small{color:#8fb0d6;font-family:var(--mono);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.od-dot{width:9px;height:9px;border-radius:50%;background:#5a6a85}.od-dot.on{background:#2cf5b0;box-shadow:0 0 8px #2cf5b0}
.od-side textarea{resize:none;border:0;outline:0;border-radius:12px;padding:10px 12px;background:rgba(3,10,24,.8);color:#eef6ff;box-shadow:0 0 0 1px rgba(122,240,255,.2);height:auto;min-height:54px}
.od-go{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:6px;padding:13px 16px;border-radius:13px;font-weight:700;letter-spacing:.03em;color:#031022;
  background:linear-gradient(100deg,#7af0ff,#8f7bff);box-shadow:0 10px 30px -10px rgba(122,240,255,.8),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .15s,filter .15s,opacity .15s;position:relative;overflow:hidden}
.od-go .i{width:18px;height:18px;stroke:#031022}
.od-go:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}
.od-go:disabled{opacity:.45;cursor:default}
.od-go::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg)}
.od-go:not(:disabled):hover::after,.od-ov.firing .od-go::after{animation:odShine 1s ease}
@keyframes odShine{to{left:130%}}
.od-go.sm{padding:9px 14px;margin:0;font-size:13px}
.od-st{margin:4px 2px 0;font-size:13px;color:#c7d7ee;min-height:18px}.od-st.ok b{color:#2cf5b0}.od-st.bad{color:#ff8aa0}
.od-inbox{position:fixed;top:42px;right:14px;z-index:9700;display:flex;flex-direction:column;gap:10px;width:min(370px,calc(100vw - 28px));pointer-events:none}
.od-card{pointer-events:auto;position:relative;overflow:hidden;border-radius:18px;padding:12px 14px 12px;color:#eef6ff;background:linear-gradient(160deg,rgba(12,26,54,.94),rgba(6,12,28,.96));
  box-shadow:0 0 0 1px rgba(122,240,255,.3),0 22px 60px -20px rgba(0,0,0,.85),0 0 40px -16px rgba(122,240,255,.6);transform:translateX(120%);opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s}
.od-card.in{transform:none;opacity:1}
.od-card.away{transform:translateX(120%);opacity:0}
.od-card.took{transform:scale(.6) translateY(-40px);opacity:0;filter:brightness(2) blur(2px);transition:all .5s ease}
.od-card.busy{opacity:.7;pointer-events:none}
.od-scan{position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(122,240,255,.12),transparent);animation:odScan 3.2s linear infinite;pointer-events:none}
@keyframes odScan{to{top:120%}}
.od-ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.od-later{all:unset;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:#8fb0d6}.od-later:hover{background:rgba(255,255,255,.08)}.od-later .i{width:14px;height:14px}
.od-cb{display:flex;gap:12px;align-items:flex-start}.od-cb>div{min-width:0}
.od-pv{width:64px;height:64px;object-fit:cover;border-radius:12px;flex:none;box-shadow:0 0 0 1px rgba(122,240,255,.35)}
.od-cn{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.od-cb small{color:#8fb0d6;font-size:12px}.od-at{font-family:var(--mono);color:#7af0ff}
.od-cnote{margin:6px 0 0;font-size:12.5px;color:#c7d7ee;font-style:italic}
.od-cf{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.od-cf button{all:unset;cursor:pointer;padding:7px 13px;border-radius:10px;font-size:13px;font-weight:600;color:#c7d7ee;box-shadow:inset 0 0 0 1px rgba(122,240,255,.25)}
.od-cf button:hover{background:rgba(255,255,255,.06)}
.od-cf .od-blk{color:#ff8aa0;box-shadow:inset 0 0 0 1px rgba(255,90,120,.35)}
.od-cf .od-acc{display:flex;align-items:center;gap:6px;color:#031022;background:linear-gradient(100deg,#2cf5b0,#7af0ff);box-shadow:0 6px 18px -6px rgba(44,245,176,.7)}
.od-cf .od-acc .i{width:15px;height:15px;stroke:#031022}
#ob-od .i{width:16px;height:16px}
#ob-od.waiting .i{stroke:#7af0ff;filter:drop-shadow(0 0 5px #7af0ff);animation:odPulseIc 1.6s ease-in-out infinite}
@keyframes odPulseIc{50%{filter:drop-shadow(0 0 10px #7af0ff)}}
@media (prefers-reduced-motion:reduce){.od-sweep,.od-ring.r2,.od-orb,.od-scan,.od-node.lock .od-nav::before,#ob-od.waiting .i{animation:none!important}}
.od-ov~.toasts,body:has(.od-ov) .toasts{z-index:9900}
/* desktop motion: a light sweep when a window comes to the front, a ripple on dock and desktop icons */
.win.fx::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:20;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(122,240,255,.95),rgba(143,123,255,.8),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:winSweep .9s cubic-bezier(.2,.8,.2,1)}
.win.fx{animation:winGlow .9s ease-out}
@keyframes winSweep{from{background-position:-60% 0}to{background-position:160% 0}}
@keyframes winGlow{0%{box-shadow:0 44px 110px -26px rgba(0,0,0,.85),0 0 0 1px rgba(122,240,255,.7),0 0 60px -10px rgba(76,214,255,.7)}}
.os-ripple{position:fixed;z-index:9600;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;pointer-events:none;border:1.5px solid rgba(122,240,255,.9);
  box-shadow:0 0 14px rgba(122,240,255,.7);animation:osRipple .65s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes osRipple{to{transform:scale(7);opacity:0;border-width:.5px}}

.od-choose{display:flex;flex-direction:column;gap:10px}
.od-choose button{all:unset;cursor:pointer;display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line2);transition:background .15s,box-shadow .15s}
.od-choose button:hover{background:var(--node);box-shadow:inset 0 0 0 1px var(--scan)}
.od-choose .ot{width:44px;height:44px;flex:none}.od-choose span{display:flex;flex-direction:column;gap:2px}.od-choose small{color:var(--dim);font-size:12.5px}
.od-pcic{display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#7af0ff,#5b3cff)}.od-pcic .i{width:22px;height:22px;stroke:#fff}
/* OrDrop Secure */
.od-sec{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.od-sec .od-l{margin:0 4px 0 0}
.od-sec label{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:10px;font-size:12px;color:#c7d7ee;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(122,240,255,.22)}
.od-sec label:has(input:checked){box-shadow:inset 0 0 0 1px #7af0ff;background:rgba(122,240,255,.1);color:#fff}
.od-sec input[type=checkbox]{display:none}.od-sec i{width:10px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1.5px #7af0ff}.od-sec input:checked+i{background:#7af0ff}
.od-sec select{all:unset;cursor:pointer;font-size:12px;color:#c7d7ee}.od-sec select option{color:#000}
.od-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.od-badges i{font-style:normal;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:8px;background:rgba(177,140,255,.18);color:#d6c6ff}
.od-idcard .od-addr{display:block;font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:-2px;text-transform:none;letter-spacing:0}
.mxb-t{margin:0;font-size:13px;color:#c7d7ee;line-height:1.5}

/* 1.32 icon set: colour tiles with depth, a glass sheen and illustrated emblems */
.ot.ot2{background:radial-gradient(120% 95% at 28% 12%,color-mix(in srgb,var(--g1) 92%,#fff) 0%,var(--g1) 22%,var(--g2) 62%,var(--g3) 100%);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -2px 3px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.12),0 10px 22px -10px color-mix(in srgb,var(--g2) 85%,#000),0 2px 4px rgba(0,0,0,.25)}
.ot.ot2::after{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.04) 46%,rgba(0,0,0,0) 48%,rgba(0,0,0,.12) 100%)}
.ot2 .ot-sheen{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.ot2 .ot-sheen::before{content:"";position:absolute;left:-30%;top:-70%;width:90%;height:120%;background:linear-gradient(115deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 65%);transform:rotate(8deg)}
.ot.ot2 svg{width:84%;height:84%;fill:none;stroke:none;filter:drop-shadow(0 1.5px 1.5px rgba(6,14,40,.35)) drop-shadow(0 6px 10px rgba(6,14,40,.22))}
.ot.ot2.ot-cal{background:linear-gradient(180deg,#ffffff,#e9eef7);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.9),inset 0 -2px 3px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.4),0 10px 22px -10px rgba(40,60,120,.6),0 2px 4px rgba(0,0,0,.2)}
.ot.ot2.ot-cal b{background:linear-gradient(180deg,#ff6b78,#e23350);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15)}
.ot.ot2.ot-img{background:#0b1630;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 10px 22px -10px rgba(0,0,0,.8)}
.di .ot.ot2:hover{filter:brightness(1.08) saturate(1.08)}

/* 1.38 Max in the web view: the same panel, floating, and his orb in the corner */
body>.os-ai{position:fixed;bottom:96px;left:auto;right:24px;transform:none}
@media (max-width:820px){body>.os-ai{left:10px;right:10px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom))}}
.mx-fab{position:fixed;right:24px;bottom:24px;z-index:9440;width:58px;height:58px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#050e20;overflow:hidden;clip-path:circle(50% at 50% 50%);
  box-shadow:0 10px 30px -8px rgba(76,214,255,.8),0 0 0 1px rgba(255,255,255,.14)}
.mx-fab::before{content:"";position:absolute;inset:-30%;background:conic-gradient(#2cf5b0,#4cd6ff,#8b6cff,#ff8fd0,#2cf5b0);filter:blur(6px);animation:osSpin 7s linear infinite}
.mx-fab::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.85),rgba(255,255,255,0) 32%)}
.mx-fab.wake{box-shadow:0 0 0 3px rgba(62,240,162,.45),0 10px 30px -8px rgba(76,214,255,.8)}
.mx-fab.wakeoff{box-shadow:0 0 0 3px rgba(255,184,64,.55),0 10px 30px -8px rgba(76,214,255,.8)}
html.os-on .mx-fab{display:none}
@media (max-width:820px){.mx-fab{bottom:calc(78px + env(safe-area-inset-bottom));right:14px;width:50px;height:50px}}

/* 1.40: in the web view the page makes room for Bella instead of sitting under her */
html.mx-side .app{width:calc(100% - 492px);transition:width .3s cubic-bezier(.2,.8,.2,1)}
html.mx-side body>.os-ai{top:auto}
html.mx-side .mx-fab{right:34px}
/* 1.54.3: dialogs open in the space beside the assistant, not under it; with a dialog open (or on a smaller screen) the assistant gets compact */
html.mx-side .scrim{right:484px;transition:right .3s cubic-bezier(.2,.8,.2,1)}
html.mx-side.mx-compact .scrim{right:392px}
html.mx-side.mx-compact .app{width:calc(100% - 400px)}
html.mx-side.mx-compact .bc-stack,html.mx-side.mx-compact .od-inbox{right:408px}
html.mx-compact body>.os-ai{width:360px;padding:10px 14px 12px;gap:4px;transition:width .3s cubic-bezier(.2,.8,.2,1)}
html.mx-compact body>.os-ai .ai-orb{width:104px;height:104px}
html.mx-compact body>.os-ai .ai-name{font-size:13px;letter-spacing:.14em}
html.mx-compact body>.os-ai .ai-state{font-size:12px;min-height:16px}
html.mx-compact body>.os-ai .ai-log{max-height:40vh}
html.mx-compact body>.os-ai .ai-log>*{font-size:13.5px}
/* 1.48 the touch desktop (tablets): bigger targets, full-screen windows, no edge resizing */
.wt-split{display:none!important}
html.os-touch .wt-split{display:grid!important}
html.os-touch .wr{display:none}
html.os-touch .wl{width:22px;height:22px}html.os-touch .wl svg{width:11px;height:11px;opacity:1}
html.os-touch .win-lights{gap:12px}
html.os-touch .win-tools{opacity:1}html.os-touch .win-tools button{width:40px;height:34px}
html.os-touch .os-menu button{height:42px;font-size:14.5px;padding:0 14px}
html.os-touch .os-bar button{min-width:36px}
html.os-touch .os-ic .ot{transform:scale(1.06)}
html.os-touch .os-ic span{font-size:13px}
/* 1.52 hold to talk on phones */
.mx-fab.hold,#ai-mic.hold{transform:scale(1.18);box-shadow:0 0 0 6px rgba(44,245,176,.35),0 0 40px rgba(76,214,255,.7)!important;transition:transform .15s}
.mx-fab,#ai-mic{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.os-walls.os-own{grid-template-columns:repeat(4,minmax(0,1fr))}
.os-ownw{position:relative;display:flex}.os-ownw>button[data-wall]{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:center;font-size:12px;color:var(--dim);width:100%}
.os-ownw>button.on .os-wthumb{box-shadow:0 0 0 2px #4cd6ff,0 0 22px -4px rgba(76,214,255,.8)}
.os-wx{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}
.os-wx .i{width:14px;height:14px}.os-ownw:hover .os-wx,.os-wx:focus-visible{opacity:1}
@media (hover:none){.os-wx{opacity:1}}
/* 1.64: + in the dock, and the list of apps to add */
.ot.ot-add{display:grid;place-items:center;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);border-radius:22%;color:#fff}
.ot.ot-add .i{width:48%;height:48%}
.os-dpick{position:fixed;left:50%;bottom:calc(var(--dock-h,84px) + 18px);transform:translateX(-50%);z-index:9000;width:min(560px,calc(100vw - 24px));max-height:min(70vh,620px);display:flex;flex-direction:column;
  border-radius:20px;background:rgba(10,20,38,.94);backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(140,190,255,.2);box-shadow:0 30px 80px -20px #000;color:var(--ink,#eaf3ff);animation:osPop .18s ease-out}
@keyframes osPop{from{opacity:0;transform:translate(-50%,10px)}}
.os-dp-top{display:flex;flex-direction:column;gap:6px;padding:16px 16px 10px}.os-dp-top small{color:var(--dim);font-size:12px}
.os-dp-list{overflow:auto;padding:0 12px 6px}
.os-dp-h{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:12px 4px 6px}
.os-dp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.os-dp-grid button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:12px;font-size:13px;position:relative}
.os-dp-grid button:hover,.os-dp-grid button:focus-visible{background:rgba(127,170,230,.12)}
.os-dp-grid button .ot{width:30px;height:30px;flex:none}
.os-dp-grid button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.os-dp-grid button i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(127,170,230,.14);flex:none}
.os-dp-grid button i .i{width:13px;height:13px}
.os-dp-grid button.on i{background:#4cd6ff;color:#04223a}
.os-dp-foot{display:flex;justify-content:space-between;gap:8px;padding:10px 16px 14px;border-top:1px solid rgba(140,190,255,.14)}
html[data-theme=light] .os-dpick{background:rgba(250,252,255,.96);border-color:rgba(20,70,140,.16);color:#0b1a33}
html[data-theme=light] .os-dp-grid button:hover{background:rgba(20,70,140,.07)}
html[data-theme=light] .ot.ot-add{background:linear-gradient(160deg,#ffffff,#d7e3f2);box-shadow:inset 0 0 0 1.5px rgba(20,70,140,.35),0 4px 10px -4px rgba(20,45,90,.35);color:#123c6e}
html[data-theme=light] .ot.ot-add .i{stroke-width:2.4}

/* 1.64: the brand at the top of the WebSpace bar, and the light/dark and Desktop switches under it */
.rail .r-brand{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:4px 2px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.rail .r-blogo{position:relative;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.14),rgba(255,255,255,0) 60%),linear-gradient(160deg,rgba(76,214,255,.16),rgba(47,140,255,.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(120,190,255,.22),0 8px 22px -10px rgba(76,214,255,.6)}
.rail .r-blogo img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.rail .r-btxt{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;line-height:1.05}
.rail .r-btxt b{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.rail .r-btxt b i{font-style:normal;color:var(--scan)}
.rail .r-btxt small{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.03em}
.rail .r-tools{display:flex;justify-content:center;gap:4px;width:100%;margin-bottom:6px}
.rail .r-tools .thm{width:32px;height:32px;border-radius:10px;background:rgba(127,170,230,.07)}
.rail .r-tools .thm:hover{background:rgba(127,170,230,.16);color:var(--ink)}
.rail.wide .r-brand{flex-direction:row;justify-content:flex-start;gap:10px;padding:2px 6px 12px}
.rail.wide .r-btxt{align-items:flex-start;text-align:left}
.rail.wide .r-btxt b{font-size:15px}
.rail.wide .r-btxt small{font-size:10px}
.rail.wide .r-tools{justify-content:flex-start;padding:0 6px}
html[data-theme=light] .rail .r-blogo{background:linear-gradient(160deg,#fff,#e6eef8);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(20,70,140,.14),0 8px 18px -10px rgba(20,70,140,.45)}
html[data-theme=light] .rail .r-btxt b i{color:#0a6fb0}
html[data-theme=light] .rail .r-tools .thm{background:rgba(20,70,140,.06)}
/* 1.65: Appearance: light or dark, the theme (with a preview of each), and the sign-in style */
.lk-pick{display:flex;flex-direction:column;gap:10px}
.lk-h{display:flex;flex-direction:column;gap:2px;margin-top:8px}.lk-h b{font-size:14px}.lk-h small{font-size:12.5px;color:var(--dim)}
.lk-mode{grid-template-columns:1fr 1fr;width:220px}
.lk-skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.lk-skin,.lk-lstyle{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;
  background:rgba(127,170,230,.06);box-shadow:inset 0 0 0 1px rgba(127,170,230,.16);transition:box-shadow .15s,transform .15s}
.lk-skin:hover,.lk-lstyle:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(127,170,230,.34)}
.lk-skin:focus-visible,.lk-lstyle:focus-visible{outline:2px solid var(--scan,#4cd6ff);outline-offset:2px}
.lk-skin.on,.lk-lstyle.on{box-shadow:inset 0 0 0 2px var(--scan,#4cd6ff),0 10px 30px -18px var(--scan,#4cd6ff)}
.lk-skin b{font-size:14px;display:flex;align-items:center;gap:8px}.lk-skin b em{font-style:normal;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--scan,#4cd6ff);color:#04121e}
.lk-skin small,.lk-lstyle small{font-size:12px;color:var(--dim);line-height:1.35}
.lk-prevs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.lk-mock{display:flex;height:70px;border-radius:10px;overflow:hidden;background:var(--bg);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.lk-mock i{display:block}
.lk-rail{width:14px;background:var(--pn);display:flex;flex-direction:column;align-items:center;gap:5px;padding-top:7px}
.lk-rail b{width:7px;height:7px;border-radius:3px;background:var(--ln)}.lk-rail b:first-child{background:var(--ac)}
.lk-body{flex:1;padding:6px;display:flex;flex-direction:column;gap:5px}
.lk-bar{height:7px;border-radius:4px;background:var(--pn);box-shadow:inset 0 0 0 1px var(--ln)}
.lk-card{flex:1;border-radius:6px;background:var(--pn);box-shadow:inset 0 0 0 1px var(--ln);padding:5px;display:flex;flex-direction:column;gap:4px}
.lk-card>i:not(.lk-btn){height:4px;border-radius:2px;background:var(--ink);opacity:.55;width:80%}.lk-card>i:nth-child(2){width:55%;opacity:.3}
.lk-btn{margin-top:auto;width:26px;height:8px;border-radius:4px;background:var(--ac)}
.lk-logins{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.lk-lstyle{flex-direction:row;align-items:center;gap:12px}.lk-lstyle span{display:flex;flex-direction:column;gap:2px}.lk-lstyle b{font-size:14px}
.lk-login{position:relative;flex:none;width:58px;height:58px;border-radius:14px;display:grid;place-items:center;overflow:hidden}
.lk-login i{position:absolute;border-radius:50%}
.lk-r1{inset:7px}.lk-r2{inset:15px}.lk-core{inset:22px}
.lk-halo{background:radial-gradient(circle,#0b1a33,#050c1a)}
.lk-halo .lk-r1{box-shadow:0 0 0 1px rgba(76,214,255,.35)}.lk-halo .lk-r2{border:2px solid transparent;border-top-color:#4cd6ff;border-right-color:#4cd6ff}
.lk-halo .lk-core{background:radial-gradient(circle,#bff4ff,#2f8cff 70%);box-shadow:0 0 12px #4cd6ff}
.lk-forge{background:radial-gradient(circle,#2b2219,#0f0c09)}
.lk-forge .lk-r1{background:conic-gradient(#7d6e5d,#e8d8c2,#8a7a68,#f2e4cf,#6f6050,#d8c6ae,#7d6e5d);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%)}
.lk-forge .lk-r2{box-shadow:0 0 0 2px #ffb06a,0 0 10px rgba(255,176,106,.6)}.lk-forge .lk-core{background:radial-gradient(circle,#ffd6a0,#2a1d12 75%)}
.lk-glacier{background:radial-gradient(circle,#0c2148,#040a16)}
.lk-glacier .lk-r1{background:conic-gradient(#5f7088,#dbe7f5,#6d7f96,#eef5ff,#56677e,#c4d3e6,#5f7088);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%)}
.lk-glacier .lk-r2{box-shadow:0 0 0 2px #4cd6ff,0 0 10px rgba(76,214,255,.6)}.lk-glacier .lk-core{background:radial-gradient(circle,#a6e9ff,#0a1a33 75%)}
html[data-theme=light] .lk-skin,html[data-theme=light] .lk-lstyle{background:#fff;box-shadow:inset 0 0 0 1px rgba(20,70,140,.14)}
html[data-theme=light] .lk-skin.on,html[data-theme=light] .lk-lstyle.on{box-shadow:inset 0 0 0 2px var(--scan,#0086c3),0 10px 30px -18px var(--scan,#0086c3)}
html[data-theme=light] .lk-skin b em{color:#fff}
/* the sign-in screen's style button and its menu */
.lstyle-float{position:fixed;top:calc(14px + env(safe-area-inset-top));right:66px;z-index:6;height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:12px;border:0;cursor:pointer;
  font:600 13px var(--body);color:var(--ink,#eaf3ff);background:rgba(13,30,60,.55);box-shadow:inset 0 0 0 1px rgba(140,190,255,.25);backdrop-filter:blur(10px)}
.lstyle-float .i{width:18px;height:18px}
.lstyle-menu{position:fixed;top:calc(62px + env(safe-area-inset-top));right:16px;z-index:7;width:290px;padding:10px;border-radius:16px;display:flex;flex-direction:column;gap:4px;
  background:rgba(10,20,38,.95);backdrop-filter:blur(20px);box-shadow:0 0 0 1px rgba(140,190,255,.2),0 24px 60px -20px #000;color:#eaf3ff}
.lstyle-menu>small{padding:4px 8px 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9db3d3}
.lstyle-menu button{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px}
.lstyle-menu button:hover,.lstyle-menu button:focus-visible{background:rgba(127,170,230,.12)}
.lstyle-menu button[aria-checked=true]{box-shadow:inset 0 0 0 1.5px #4cd6ff}
.lstyle-menu .lk-login{width:44px;height:44px;border-radius:11px}.lstyle-menu .lk-r1{inset:5px}.lstyle-menu .lk-r2{inset:11px}.lstyle-menu .lk-core{inset:17px}
.lstyle-menu span{display:flex;flex-direction:column;gap:2px}.lstyle-menu b{font-size:13.5px}.lstyle-menu i{font-style:normal;font-size:12px;color:#9db3d3}
.login.l3d-warm .lstyle-float{background:rgba(40,30,22,.6);box-shadow:inset 0 0 0 1px rgba(242,190,130,.3);color:#f7ede2}
html[data-theme=light] .lstyle-float{background:#fff;color:#0b1a33;box-shadow:inset 0 0 0 1px rgba(20,70,140,.18)}
html[data-theme=light] .lstyle-menu{background:rgba(250,252,255,.97);color:#0b1a33;box-shadow:0 0 0 1px rgba(20,70,140,.16),0 24px 60px -20px rgba(20,45,90,.4)}
html[data-theme=light] .lstyle-menu i,html[data-theme=light] .lstyle-menu>small{color:#4a5f80}
@media (max-width:520px){.lstyle-float span{display:none}.lstyle-float{padding:0 11px}}
.os-wgrp{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:14px 0 8px}

/* 1.67.1: the assistant as a slim bar on phones while an app is in front (tap it to bring the full panel back) */
@media (max-width:820px){
  body>.os-ai.ai-mini{top:auto !important;height:auto !important;right:72px !important;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;padding:6px 8px 6px 6px;border-radius:24px;cursor:pointer}
  .os-ai.ai-mini .ai-orb{width:50px !important;height:50px !important;flex:none}
  .os-ai.ai-mini .ai-state{flex:1;min-width:0;text-align:left;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .os-ai.ai-mini .ai-state:empty::before{content:"Listening… tap to open"}
  .os-ai.ai-mini .ai-top{width:auto;order:3;flex:none}
  .os-ai.ai-mini .ai-top::before,.os-ai.ai-mini .ai-top>:not(#ai-x),.os-ai.ai-mini .ai-log,.os-ai.ai-mini .ai-in,.os-ai.ai-mini .ai-hints{display:none !important}
}

/* 1.73: Max's own cursor and the caption of what he's doing */
#md-cur{position:fixed;left:0;top:0;z-index:999998;width:28px;height:28px;margin:-4px 0 0 -5px;pointer-events:none;opacity:0;transition:opacity .25s;will-change:transform}
#md-cur.on{opacity:1}
#md-cur svg{position:absolute;inset:0;width:28px;height:28px;fill:#fff;stroke:#062a3a;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}
#md-cur .md-cur-orb{position:absolute;left:15px;top:17px;width:13px;height:13px;border-radius:50%;background:conic-gradient(#2cf5b0,#4cd6ff,#8b6cff,#ff8fd0,#2cf5b0);box-shadow:0 0 0 2px #fff,0 2px 8px rgba(76,214,255,.7);animation:osSpin 2.4s linear infinite}
#md-cur::after{content:"";position:absolute;left:-14px;top:-14px;width:36px;height:36px;border-radius:50%;border:2px solid #4cd6ff;opacity:0;transform:scale(.3)}
#md-cur.tap::after{animation:mdTap .45s ease-out}
@keyframes mdTap{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.4)}}
#md-cap{position:fixed;left:50%;bottom:118px;z-index:999997;transform:translate(-50%,10px);padding:8px 16px 8px 34px;border-radius:999px;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;
  background:rgba(6,16,34,.88);color:#eef6ff;font:500 13px var(--body);box-shadow:0 10px 30px -12px rgba(0,0,0,.7),inset 0 0 0 1px rgba(98,170,255,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;max-width:min(560px,90vw);overflow:hidden;text-overflow:ellipsis}
#md-cap::before{content:"";position:absolute;left:12px;top:50%;width:13px;height:13px;margin-top:-6.5px;border-radius:50%;background:conic-gradient(#2cf5b0,#4cd6ff,#8b6cff,#ff8fd0,#2cf5b0);animation:osSpin 2.4s linear infinite}
#md-cap.on{opacity:1;transform:translate(-50%,0)}
html[data-theme=light] #md-cap{background:rgba(255,255,255,.92);color:#0b1a33;box-shadow:0 10px 30px -14px rgba(20,40,80,.35),inset 0 0 0 1px rgba(20,60,130,.18)}
@media (max-width:820px){#md-cap{bottom:calc(150px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){#md-cur .md-cur-orb,#md-cap::before{animation:none}#md-cur.tap::after{animation:none}#md-cap{transition:none}}

/* 1.86: desktop widgets (right column, under the wallpaper's logo) */
.os-widgets{position:absolute;inset:0 0 96px 0;z-index:3;font-family:Inter,system-ui,sans-serif;pointer-events:none}
.os-widgets .wg{position:absolute;width:300px;pointer-events:auto;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;container-type:inline-size;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
.os-widgets .wg.drag{cursor:grabbing;box-shadow:0 24px 50px -16px rgba(0,0,0,.5);opacity:.96}
.os-widgets .wg button,.os-widgets .wg li{cursor:pointer}
.wg-x{all:unset;position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .15s;background:rgba(155,165,255,.18);color:inherit}
.wg-x svg{width:12px;height:12px}.wg:hover .wg-x{opacity:.85}.wg-x:hover{opacity:1!important;background:#f8717f;color:#fff}
.wg-rs{position:absolute;right:3px;bottom:3px;width:16px;height:16px;cursor:nwse-resize;opacity:0;transition:opacity .15s;
  background:linear-gradient(135deg,transparent 0 55%,currentColor 55% 62%,transparent 62% 72%,currentColor 72% 79%,transparent 79%)}
.wg:hover .wg-rs{opacity:.45}
.wg-add{all:unset;position:absolute;pointer-events:auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s;
  background:rgba(15,19,36,.72);color:#eef1f6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(160,170,255,.2)}
.wg-add svg{width:16px;height:16px}.os-widgets:has(.wg:hover) .wg-add,.wg-add:hover,.wg-add:focus-visible{opacity:1}
html[data-theme=light] .wg-add{background:rgba(255,255,255,.9);color:#0b1120;border-color:rgba(11,17,32,.1)}
/* fluid: bigger widgets get bigger type and use the room */
.wg-clock .wg-time b{font-size:clamp(30px,13cqw,84px)}.wg-clock .wg-time{flex-wrap:wrap}
.wg-cal{min-height:0}.wg-cal .wg-mgrid{flex:1;grid-auto-rows:minmax(24px,1fr)}.wg-cal .wg-mgrid button{height:auto;min-height:24px;font-size:clamp(12px,4.2cqw,18px)}
.wg-up,.wg-unread{min-height:0}.wg-up .wg-list,.wg-unread{overflow:hidden}
.wg-gal{display:flex;flex-direction:column;gap:10px}
.wg-gi{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:14px;cursor:pointer}
.wg-gi>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.wg-gi small{color:var(--muted);font-size:12.5px}
.wg-gpic{width:64px;height:48px;border-radius:10px;flex:none;background:linear-gradient(135deg,#4a4fd6,#7c5cff);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 10px;box-sizing:border-box}
.wg-gpic i{display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.85)}.wg-gpic i:nth-child(2){width:70%}.wg-gpic i:nth-child(3){width:45%}
.wg-p-clock{background:linear-gradient(135deg,#0ea5e9,#4a4fd6)}.wg-p-up{background:linear-gradient(135deg,#f59e0b,#ef4444)}.wg-p-unread{background:linear-gradient(135deg,#10b981,#0ea5e9)}.wg-p-cal{background:linear-gradient(135deg,#ec4899,#7c5cff)}
.os-widgets::-webkit-scrollbar{display:none}
.wg{border-radius:16px;padding:14px 16px;background:rgba(15,19,36,.72);border:1px solid rgba(160,170,255,.14);color:#eef1f6;-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 12px 30px -18px rgba(0,0,0,.6)}
html[data-theme=light] .wg{background:rgba(255,255,255,.84);border-color:rgba(11,17,32,.08);color:#0b1120;box-shadow:0 12px 30px -18px rgba(11,17,32,.35)}
.wg h3{margin:0 0 8px;font-size:12.5px;font-weight:600;color:#b6bfcd;letter-spacing:0}
html[data-theme=light] .wg h3{color:#394355}
.wg h3+*{margin-bottom:10px}.wg>*:last-child{margin-bottom:0}
.wg-none{margin:0 0 10px;font-size:13px;color:#858fa1}
.wg-time{display:flex;align-items:baseline;gap:10px}.wg-time b{font-size:34px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.wg-time span{font-size:13px;color:#858fa1}
html[data-theme=light] .wg-time span,html[data-theme=light] .wg-none{color:#677185}
.wg-wx{display:flex;align-items:center;gap:10px;margin-top:6px}.wg-wx b{font-size:22px;font-weight:600}.wg-wx span{font-size:13px;display:flex;flex-direction:column}.wg-wx small{color:#858fa1}
.wg-zones{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(160,170,255,.14);align-items:end}
html[data-theme=light] .wg-zones{border-top-color:rgba(11,17,32,.08)}
.wg-zones div{display:flex;flex-direction:column;font-size:11.5px;color:#858fa1}.wg-zones b{font-size:15px;font-weight:600;color:inherit;font-variant-numeric:tabular-nums}
.wg-zones div b{color:#eef1f6}html[data-theme=light] .wg-zones div b{color:#0b1120}
.wg-edit{all:unset;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:#858fa1}.wg-edit:hover{background:rgba(155,165,255,.14)}.wg-edit svg{width:15px;height:15px}
.wg-next{display:flex;flex-direction:column;gap:2px;position:relative;padding-right:76px}.wg-next b{font-size:15px;font-weight:600}.wg-next span{font-size:12.5px;color:#9ba5ff}
html[data-theme=light] .wg-next span{color:#4a4fd6}
.wg-btn{position:absolute;right:0;top:4px;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;border:0;cursor:pointer;font:600 12.5px Inter,system-ui;background:#eef1ff;color:#0f1530}
html[data-theme=light] .wg-btn{background:#0f1530;color:#fff}
.os-widgets .wg .wg-btn{color:#0f1530}html[data-theme=light] .os-widgets .wg .wg-btn{color:#fff}.wg-btn svg{width:15px;height:15px}
.wg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.wg-list li{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.wg-list li i{width:7px;height:7px;border-radius:50%;background:#9ba5ff;flex:none}
.wg-list li.late i{background:#f8717f}.wg-list li span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-list li small{color:#858fa1;font-size:11.5px}
.wg-nums{display:flex;gap:8px}.wg-nums button{all:unset;cursor:pointer;flex:1;padding:8px 10px;border-radius:12px;background:rgba(155,165,255,.08);display:flex;flex-direction:column}
html[data-theme=light] .wg-nums button{background:#f5f6f8}
.wg-nums b{font-size:24px;font-weight:600;letter-spacing:-.02em}.wg-nums span{font-size:12px;color:#858fa1}
.wg-row{all:unset;cursor:pointer;display:flex;gap:8px;align-items:center;font-size:13px;padding:5px 2px;margin-top:4px;width:100%;box-sizing:border-box}
.wg-row span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-row small{color:#858fa1;font-size:11.5px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wg-mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.wg-mgrid em{font-style:normal;font-size:11px;color:#858fa1;padding-bottom:2px}
.wg-mgrid button{all:unset;cursor:pointer;font-size:12.5px;height:28px;display:grid;place-items:center;border-radius:8px;position:relative;font-variant-numeric:tabular-nums}
.wg-mgrid button:hover{background:rgba(155,165,255,.12)}
.wg-mgrid button.busy::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#9ba5ff}
.wg-mgrid button.today{background:#9ba5ff;color:#0b1120;font-weight:600}.wg-mgrid button.today::after{background:#0b1120}
html[data-theme=light] .wg-mgrid button.today{background:#4a4fd6;color:#fff}html[data-theme=light] .wg-mgrid button.busy::after{background:#4a4fd6}html[data-theme=light] .wg-mgrid button.today::after{background:#fff}
.wg-zpick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wg-zpick label{display:flex;gap:8px;align-items:center;font-size:14px}
@media (max-width:700px){.os-widgets{display:none}}

/* 1.86: new document / spreadsheet / presentation */
.dn-name{display:flex;align-items:center;gap:8px}.dn-name b{font-weight:500;color:var(--dim)}
.dn-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.dn-quick button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--ink);font-size:13px;cursor:pointer}
.dn-quick button.on{border-color:var(--scan);background:color-mix(in srgb,var(--scan) 14%,transparent)}
.dn-quick svg{width:15px;height:15px}
.dn-list{min-height:90px;max-height:30vh}

.sn-tools{display:flex;align-items:center;gap:2px}
.sn-font{all:unset;cursor:pointer;opacity:0;height:18px;padding:0 5px;border-radius:5px;font:700 12px/18px Georgia,serif}.os-sticky:hover .sn-font,.os-sticky:focus-within .sn-font{opacity:.6}.sn-font:hover{opacity:1;background:rgba(0,0,0,.08)}
.sn-fmenu{position:fixed;z-index:9999;background:#fffdf6;color:#2a2410;border-radius:12px;box-shadow:0 18px 40px -12px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.08);padding:6px;min-width:190px;font-family:Inter,system-ui,sans-serif}
.sn-fmenu button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:18px}
.sn-fmenu button small{font:500 11px Inter,system-ui,sans-serif;color:#8a7f5c}
.sn-fmenu button:hover,.sn-fmenu button.on{background:rgba(0,0,0,.06)}.sn-fmenu button.on::after{content:"✓";font:600 13px Inter;margin-left:8px}
.sn-fmenu .sn-sz{display:flex;gap:4px;padding:6px 4px 2px;border-top:1px solid rgba(0,0,0,.08);margin-top:4px}
.sn-fmenu .sn-sz button{justify-content:center;font:600 12px Inter,system-ui;padding:6px 0;flex:1;background:rgba(0,0,0,.04)}.sn-fmenu .sn-sz button.on{background:#2a2410;color:#fff}.sn-fmenu .sn-sz button.on::after{content:none}
/* 1.91: the Office start screen (docnew.js) — a Word/Excel/PowerPoint-style Home, New and Open */
.dn-start .dlg{width:min(1120px,96vw);height:min(720px,92vh);max-height:none;padding:0;overflow:hidden;display:flex;flex-direction:column}
.dn-start .dlg-h{display:none}.dn-start .dlg-b{flex:1;min-height:0;padding:0;max-height:none;overflow:hidden;display:flex}
.dns{flex:1;display:flex;min-height:0;font-family:Inter,system-ui,sans-serif}
.dns-rail{width:230px;flex:none;display:flex;flex-direction:column;gap:6px;padding:22px 14px;color:#fff;background:linear-gradient(180deg,var(--ac),color-mix(in srgb,var(--ac) 72%,#0b1120))}
.dns-app{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:0 6px 18px}
.dns-logo{grid-row:span 2;width:44px;height:44px;border-radius:11px;background:#fff;color:var(--ac);display:grid;place-items:center;font:800 24px/1 Inter,system-ui;box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.dns-app b{font-size:18px;font-weight:700}.dns-app small{font-size:11.5px;opacity:.75}
.dns-rail nav{display:flex;flex-direction:column;gap:2px}
.dns-rail nav button{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.88)}
.dns-rail nav button svg.i{width:19px;height:19px}
.dns-rail nav button:hover{background:rgba(255,255,255,.12)}.dns-rail nav button.on{background:rgba(255,255,255,.22);color:#fff;font-weight:600}
.dns-rf{margin-top:auto;font-size:11.5px;line-height:1.45;opacity:.7;padding:0 8px}
.dns-main{flex:1;min-width:0;position:relative;background:var(--deck);display:flex}
.dns-x{position:absolute;top:14px;right:14px;z-index:2}
.dns-pane{flex:1;overflow:auto;padding:30px 40px 34px}
.dns-pane h2{margin:0 0 20px;font-size:26px;font-weight:600;letter-spacing:-.02em}
.dns-sub{margin:-12px 0 20px}
.dns-pane h3{margin:0;font-size:15px;font-weight:600}
.dns-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}
.dns-more{all:unset;cursor:pointer;font-size:13px;font-weight:500;color:var(--ac);display:inline-flex;align-items:center;gap:4px}.dns-more svg.i{width:14px;height:14px}
.dns-tpls{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 18px}
.dns-tpls.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));overflow:visible}
.dns-t{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:8px;width:150px;flex:none}
.dns-tpls.grid .dns-t{width:auto}
.dns-t b{font-size:13px;font-weight:500}.dns-t small{font-size:12px;color:var(--dim);line-height:1.35;margin-top:-4px}
.dns-th{display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--ac) 5%,var(--well));padding:12px;transition:.15s;aspect-ratio:4/3.4}
.dns-t:hover .dns-th,.dns-t:focus-visible .dns-th{border-color:var(--ac);box-shadow:0 0 0 3px color-mix(in srgb,var(--ac) 22%,transparent);transform:translateY(-2px)}
.dns-q{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:var(--well);min-width:240px}
.dns-q.wide{width:100%;box-sizing:border-box;margin-bottom:10px}.dns-q svg.i{width:15px;height:15px;color:var(--dim)}.dns-q input{all:unset;flex:1;font-size:13.5px}
.dns-list{display:flex;flex-direction:column}
.dns-lh{display:flex;justify-content:space-between;font-size:11.5px;color:var(--dim);padding:0 12px 6px 56px;border-bottom:1px solid var(--line)}
.dns-f{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;padding:9px 12px;border-radius:9px}
.dns-f:hover{background:var(--well)}
.dns-fi{width:30px;height:30px;border-radius:7px;flex:none;display:grid;place-items:center;background:var(--ac);color:#fff;font:700 14px Inter,system-ui}
.dns-fi.fo{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#d97706}.dns-fi.fo svg.i{width:17px;height:17px}
.dns-fn{flex:1;min-width:0;display:flex;flex-direction:column}.dns-fn b{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dns-fn small{font-size:12px;color:var(--dim)}
.dns-f time{font-size:12px;color:var(--dim);white-space:nowrap}.dns-f.fold>svg.i{width:14px;height:14px;color:var(--dim)}
.dns-empty{padding:26px 12px;color:var(--dim);font-size:13.5px}.dns-empty .lnk{all:unset;cursor:pointer;color:var(--ac);font-weight:500}
.dns-open{display:grid;grid-template-columns:220px 1fr;gap:24px;min-height:0}
.dns-places{display:flex;flex-direction:column;gap:2px}.dns-places hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.dns-places button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;font-size:13.5px}
.dns-places button svg.i{width:17px;height:17px;color:var(--dim)}.dns-places button:hover{background:var(--well)}
.dns-places button.on{background:color-mix(in srgb,var(--ac) 12%,transparent);color:var(--ac);font-weight:600}.dns-places button.on svg.i{color:var(--ac)}
.dns-browse{min-width:0}.dns-browse .mvpath{margin-bottom:6px}
.dns-back{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dim);margin-bottom:14px}.dns-back svg.i{width:15px;height:15px}.dns-back:hover{color:var(--ink)}
.dns-create{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:36px;align-items:start}
.dns-big{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:14px;background:color-mix(in srgb,var(--ac) 6%,var(--well));border:1px solid var(--line)}
.dns-big .dnt{width:100%}.dns-big b{font-size:15px;margin-top:6px}.dns-big small{font-size:12.5px;color:var(--dim)}
.dns-form h2{margin-bottom:14px}.dns-form .field{margin-top:12px}.dns-form .dn-list{max-height:200px}
.dns-go{display:flex;justify-content:flex-end;margin-top:16px}.dn-start .dns .dns-go .btn.btn{background:var(--ac);border-color:var(--ac);color:#fff;height:42px;padding:0 22px;font-size:14.5px}
/* drawn template previews */
.dnt{position:relative;display:flex;flex-direction:column;gap:4px;background:#fff;box-shadow:0 2px 8px -3px rgba(11,17,32,.3);box-sizing:border-box;overflow:hidden}
.dnt i{display:block;height:3px;border-radius:2px;background:#d8dbe4}.dnt i:nth-child(3n){width:78%}.dnt i:nth-child(4n){width:88%}
.dnt-doc{width:96px;aspect-ratio:3/4;padding:12px 10px}.dns-tpls.grid .dnt-doc{width:118px}
.dnt-doc .ti{height:7px;width:70%;border-radius:2px;background:#0f1530;margin-bottom:4px}.dnt-doc .h{display:block;height:4px;width:42%;border-radius:2px;background:#4a4fd6;margin-top:4px}
.dnt-doc .hd{height:6px;width:55%;background:#0f1530;border-radius:2px}.dnt-doc .sm{display:block;height:3px;width:35%;background:#b6bfcd;border-radius:2px;margin-bottom:8px}
.dnt-doc .tb{display:block;height:16px;border:1px solid #c5c9d6;border-top:4px solid #0f1530;margin:3px 0}
.dnt-doc .band{height:20px;margin:-12px -10px 6px;background:#0f1530}
.dnt-xl{width:132px;aspect-ratio:4/3;padding:8px}.dns-tpls.grid .dnt-xl{width:150px}
.dnt-xl .g{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#d8dbe4;border:1px solid #d8dbe4;flex:1}
.dnt-xl .g i{height:auto;min-height:8px;border-radius:0;background:#fff;width:auto!important}
.dnt-xl .ti{height:7px;width:55%;background:#0f1530;border-radius:2px;margin-bottom:3px}
.dnt-xl.t-budget .g i:nth-child(-n+5),.dnt-xl.t-invoice .g i:nth-child(-n+5),.dnt-xl.t-tracker .g i:nth-child(-n+5){background:#0f1530}
.dnt-xl.t-budget .g i:nth-last-child(-n+5){background:#eeeffb}.dnt-xl.t-invoice .g i:last-child{background:#c7c9f4}
.dnt-xl.t-tracker .g i:nth-child(5n+4):not(:nth-child(-n+5)){background:linear-gradient(90deg,#4a4fd6 60%,#fff 60%)}
.dnt-pp{width:140px;aspect-ratio:16/9;padding:10px 12px;justify-content:center}.dns-tpls.grid .dnt-pp{width:160px}
.dnt-pp .ph{height:9px;width:70%;margin:0 auto;border:1px dashed #b6bfcd;border-radius:2px}.dnt-pp .ph2{display:block;height:5px;width:45%;margin:4px auto 0;border:1px dashed #d8dbe4}
.dnt-pp.t-pitch{background:#0f1530}.dnt-pp.t-pitch .ti{height:8px;width:65%;background:#fff;border-radius:2px}.dnt-pp.t-pitch i.bar{height:3px;width:18%;background:#7c7ff0;margin:2px 0}.dnt-pp.t-pitch i.sub{background:#5d6680;width:40%}
.dnt-pp .ti{height:7px;width:55%;background:#0f1530;border-radius:2px}
.dnt-pp.t-update{justify-content:flex-start}.dnt-pp .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;flex:1;margin-top:4px}.dnt-pp .cards i{height:auto;width:auto!important;background:#eeeffb;border-top:2px solid #4a4fd6;border-radius:1px}
.dnt-pp.t-training{justify-content:flex-start;padding-left:16px}.dnt-pp .side{position:absolute;left:0;top:0;bottom:0;width:4px;background:#4a4fd6}
@media (max-width:760px){.dns-rail{width:72px;padding:16px 8px}.dns-app b,.dns-app small,.dns-rail nav span,.dns-rf{display:none}.dns-pane{padding:22px 18px}.dns-open,.dns-create{grid-template-columns:1fr}}
.dns-pj{opacity:.85}.dn-quick .dns-pj{border-style:dashed}
/* 1.94: more widgets */
.wg h3{display:flex;align-items:center;gap:6px}.wg h3 .wg-edit{margin-left:auto;margin-right:24px;width:22px;height:22px}
.wg-wkh{display:flex;align-items:center;gap:10px;margin-bottom:10px}.wg-wkh .wg-big{font-size:30px;line-height:1}.wg-wkh b{font-size:26px;font-weight:600}
.wg-wkh>span:last-child{display:flex;flex-direction:column;font-size:13px}.wg-wkh small{color:#858fa1}
.wg-hrs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;text-align:center;padding:8px 0;border-top:1px solid rgba(160,170,255,.14);border-bottom:1px solid rgba(160,170,255,.14);margin-bottom:8px}
html[data-theme=light] .wg-hrs{border-color:rgba(11,17,32,.08)}
.wg-hrs div{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px}.wg-hrs small{color:#858fa1;font-size:11px}.wg-hrs i{font-style:normal;font-size:16px}
.wg-days{display:flex;flex-direction:column;gap:5px;overflow:hidden}
.wg-days>div{display:grid;grid-template-columns:44px 22px 30px 30px 1fr 30px;align-items:center;gap:6px;font-size:12.5px}
.wg-days i{font-style:normal;font-size:15px;text-align:center}.wg-days em{font-style:normal;color:#858fa1;text-align:right}.wg-days b{font-weight:600}
.wg-rn{color:#4cb2ff;font-size:11px}
.wg-bar{position:relative;height:5px;border-radius:3px;background:rgba(155,165,255,.15)}.wg-bar i{position:absolute;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,#4cb2ff,#f5b84a)}
.wg-fxin{display:flex;align-items:center;gap:8px;margin-bottom:8px}.wg-fxin input{all:unset;box-sizing:border-box;flex:1;min-width:0;height:34px;padding:0 10px;border-radius:10px;background:rgba(155,165,255,.1);font:600 17px Inter,system-ui;-webkit-user-select:text;user-select:text}
html[data-theme=light] .wg-fxin input{background:#f2f3f8}.wg-fxin b{font-size:14px}
.wg-fxl{display:flex;flex-direction:column;gap:4px;overflow:hidden}
.wg-fxl div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:5px 0;border-bottom:1px solid rgba(160,170,255,.1)}
.wg-fxl span{grid-row:span 2;align-self:center;font-weight:700;font-size:12.5px;color:#9ba5ff}html[data-theme=light] .wg-fxl span{color:#4a4fd6}
.wg-fxl b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.wg-fxl small{font-size:11px;color:#858fa1}
.wg-src{margin:6px 0 0;font-size:10.5px;color:#858fa1}
.wg-nadd input{all:unset;box-sizing:border-box;width:100%;height:32px;padding:0 10px;border-radius:9px;background:rgba(155,165,255,.1);font-size:13px;margin-bottom:8px;-webkit-user-select:text;user-select:text}
html[data-theme=light] .wg-nadd input{background:#f2f3f8}
.wg-nl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;overflow:hidden}
.wg-nl li{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.wg-nl li i{width:10px;height:10px;border-radius:3px;background:var(--nc);flex:none}
.wg-nl li span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wg-faces{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px 8px;overflow:hidden}
.wg-face{display:flex;flex-direction:column;align-items:center;text-align:center}.wg-face svg{width:100%;max-width:84px;aspect-ratio:1}
.wg-face circle{fill:#f7f8fc;stroke:rgba(11,17,32,.12);stroke-width:1.5}.wg-face line{stroke:#0b1120;stroke-width:2;stroke-linecap:round}
.wg-face line.h{stroke-width:4}.wg-face line.m{stroke-width:2.5}.wg-face circle.c{fill:#4a4fd6;stroke:none}
.wg-face.night circle{fill:#1b2140;stroke:rgba(160,170,255,.25)}.wg-face.night line{stroke:#e8ebff}
.wg-face b{font-size:12.5px;font-weight:600;margin-top:4px}.wg-face small{font-size:11px;color:#858fa1}
.wg-p-week{background:linear-gradient(135deg,#38bdf8,#f59e0b)}.wg-p-fx{background:linear-gradient(135deg,#16a34a,#0d9488)}.wg-p-notes{background:linear-gradient(135deg,#facc15,#f97316)}.wg-p-clocks{background:linear-gradient(135deg,#6366f1,#0f1530)}
/* 1.95: commute */
.wg-cmr{all:unset;box-sizing:border-box;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;width:100%;padding:8px 10px;margin-bottom:6px;border-radius:12px;background:rgba(155,165,255,.08);cursor:pointer}
html[data-theme=light] .wg-cmr{background:#f4f5fa}.wg-cmr:hover{background:rgba(155,165,255,.16)}html[data-theme=light] .wg-cmr:hover{background:#eceefa}
.wg-cmt{display:flex;flex-direction:column}.wg-cmt small{font-size:11.5px;color:#858fa1}.wg-cmt b{font-size:15px;font-weight:600}
.wg-cmm{display:flex;flex-direction:column;align-items:flex-end}.wg-cmm b{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.wg-cml{font-style:normal;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}
.wg-cml.clear{background:rgba(34,197,94,.16);color:#16a34a}.wg-cml.slow{background:rgba(245,158,11,.18);color:#d97706}.wg-cml.heavy{background:rgba(239,68,68,.16);color:#dc2626}.wg-cml.nolive{background:rgba(133,143,161,.16);color:#858fa1}
.wg-cms{grid-column:span 2;font-size:11.5px;color:#858fa1}
.wg-cmbtn{all:unset;cursor:pointer;display:inline-flex;margin-top:4px;padding:7px 14px;border-radius:999px;background:#4a4fd6;color:#fff;font-size:12.5px;font-weight:600}
.os-widgets .wg .wg-cmbtn{color:#fff}
.wg-cmref{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:18px;height:18px;vertical-align:middle;margin-left:4px;opacity:.7}.wg-cmref svg{width:13px;height:13px}.wg-cmref.spin svg{animation:spin 1s linear infinite}
.wg-p-commute{background:linear-gradient(135deg,#22c55e,#f59e0b,#ef4444)}
/* 1.96: Whereabouts */
.loc-pill{position:fixed;left:14px;bottom:14px;z-index:60;display:inline-flex;align-items:center;gap:8px;max-width:min(420px,70vw);height:30px;padding:0 12px 0 10px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--deck) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--sub);font:500 12px Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 18px -10px rgba(0,0,0,.4)}
.loc-pill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc-pill i{width:8px;height:8px;border-radius:50%;background:#858fa1;flex:none}
.loc-pill.on i{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25)}.loc-pill.paused i{background:#f59e0b}.loc-pill.off i{background:#ef4444}
html.os-on .loc-pill{bottom:14px;z-index:3}
.loc-note ul{padding-left:18px;margin:10px 0}.loc-note li{margin:6px 0;line-height:1.45}
.loc-ci{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.loc-ci button{all:unset;cursor:pointer;padding:7px 14px;border-radius:999px;border:1px solid var(--line2);font-size:13px}.loc-ci button.on{background:#0f9f6e;border-color:#0f9f6e;color:#fff}
.loc-app{display:flex;height:100%;min-height:0}
.loc-side{width:320px;flex:none;display:flex;flex-direction:column;gap:10px;padding:14px;border-right:1px solid var(--line);min-height:0;background:var(--deck)}
.loc-h{display:flex;align-items:center;gap:6px}.loc-h b{font-size:17px}.loc-h .sp{flex:1}
.loc-f{display:grid;grid-template-columns:repeat(4,auto)}.loc-f button{font-size:12px;padding:0 8px}
.loc-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px;min-height:0}
.loc-p{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:10px}.loc-p:hover{background:var(--well)}.loc-p.nopos{opacity:.72}
.loc-av{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--c);color:#fff;font:700 12px Inter,system-ui}
.loc-pt{display:flex;flex-direction:column;min-width:0;gap:1px}.loc-pt b{font-size:13.5px;font-weight:600}.loc-pt small{font-size:12px;color:var(--dim)}
.loc-pt em{font-style:normal;font-size:12px;color:var(--sub)}
.loc-st{font-size:11.5px;color:var(--dim)}.loc-st.on{color:#16a34a;font-weight:600}.loc-st.on.stale{color:#d97706}
.loc-foot{font-size:11.5px;margin:0}
.loc-map{flex:1;min-width:0}
.loc-dv{background:none;border:0}
.loc-mk{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--c);color:#fff;font:700 12px Inter,system-ui;border:3px solid #fff;box-shadow:0 0 0 2px #22c55e,0 4px 10px rgba(0,0,0,.35);box-sizing:border-box}
.loc-mk.stale{box-shadow:0 0 0 2px #f59e0b,0 4px 10px rgba(0,0,0,.35)}.loc-mk.ci{border-radius:50% 50% 50% 4px;box-shadow:0 0 0 2px #0f1530,0 4px 10px rgba(0,0,0,.35)}
.loc-days,.loc-vw{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px}.loc-vw{max-height:180px;overflow:auto}
.loc-hrs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.loc-dlg .pt-host{height:78vh}
@media (max-width:760px){.loc-side{width:100%;border-right:0}.loc-app{flex-direction:column}.loc-map{min-height:50vh}}
/* 1.97: Compare */
.cp-app{display:flex;height:100%;min-height:0;font-family:Inter,system-ui,sans-serif}
.cp-nav{width:220px;flex:none;display:flex;flex-direction:column;gap:2px;padding:18px 12px;border-right:1px solid var(--line);background:var(--deck)}
.cp-brand{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:0 6px 16px}
.cp-logo{grid-row:span 2;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.cp-logo svg.i{width:20px;height:20px}
.cp-brand b{font-size:17px}.cp-brand small{font-size:11.5px;color:var(--dim)}
.cp-nav>button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;font-size:13.5px;color:var(--sub)}
.cp-nav>button svg.i{width:17px;height:17px}.cp-nav>button:hover{background:var(--well)}.cp-nav>button.on{background:color-mix(in srgb,#d97706 14%,transparent);color:#b45309;font-weight:600}
html:not([data-theme=light]) .cp-nav>button.on{color:#fbbf24}
.cp-nf{margin-top:auto;font-size:11.5px;color:var(--dim);line-height:1.45;padding:0 6px}
.cp-main{flex:1;min-width:0;overflow:auto;padding:24px 30px 40px}
.cp-main h2{margin:0 0 14px;font-size:22px;font-weight:600;letter-spacing:-.01em}.cp-main h3{margin:0 0 10px;font-size:14.5px;font-weight:600}
.cp-sub{margin:-6px 0 16px;font-size:13px}
.cp-warn{margin:0 0 10px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 30%,transparent);font-size:13px}
.cp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.cp-stats div{padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--deck);display:flex;flex-direction:column}.cp-stats b{font-size:24px;font-weight:600}.cp-stats span{font-size:12px;color:var(--dim)}
.cp-card{padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--deck);margin-bottom:14px}
.cp-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
.cp-tbl{width:100%;border-collapse:collapse;font-size:13px}.cp-tbl th{text-align:left;font-size:11.5px;font-weight:600;color:var(--dim);padding:6px 8px;border-bottom:1px solid var(--line)}
.cp-tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.cp-tbl tr:last-child td{border-bottom:0}.cp-sp{color:var(--sub);max-width:340px}.cp-act{white-space:nowrap;text-align:right}
.cp-vs{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.cp-vs.up{background:rgba(239,68,68,.14);color:#dc2626}.cp-vs.down{background:rgba(34,197,94,.14);color:#16a34a}.cp-vs.ok{background:rgba(99,102,241,.14);color:#4f46e5}
.cp-li{margin:0 0 8px;font-size:13px;line-height:1.45}.cp-li small{color:var(--dim)}
.cp-spin{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #f59e0b;border-top-color:transparent;animation:spin .9s linear infinite;margin-right:8px;vertical-align:-1px}
.cp-co{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.cp-co .wide{grid-column:span 2}.cp-co p{margin:4px 0 8px;font-size:13.5px;white-space:pre-line}
.cp-row{grid-column:span 2;display:flex;justify-content:flex-end}
.cp-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px}.cp-h h2{margin:0}
.cp-3{display:grid;grid-template-columns:1.2fr .6fr 1fr;gap:10px}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cp-rc{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--deck)}
.cp-rc:hover{border-color:#d97706;box-shadow:0 6px 18px -12px rgba(217,119,6,.6)}
.cp-ri{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309;font:700 17px Inter,system-ui}.cp-ri.big{width:52px;height:52px;font-size:22px;flex:none}
.cp-rt{display:flex;flex-direction:column;min-width:0}.cp-rt b{font-size:14.5px}.cp-rt small{color:var(--dim);font-size:12px}
.cp-rm{grid-column:span 2;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cp-rm em{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--well)}
.cp-rm em.wait{background:rgba(245,158,11,.16);color:#b45309}.cp-rm em.run{background:rgba(99,102,241,.14);color:#4f46e5}.cp-rm small{margin-left:auto;color:var(--dim);font-size:11.5px}
.cp-back{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dim);margin-bottom:12px}.cp-back svg.i{width:15px;height:15px}
.cp-rh{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.cp-rh h2{margin:0}.cp-rh a{font-size:13px}.cp-rh .sp{flex:1}.cp-desc{margin:6px 0 0;font-size:13px;color:var(--sub);max-width:640px}
.cp-live{padding:10px 14px;border-radius:10px;background:color-mix(in srgb,#6366f1 10%,transparent);font-size:13px;margin-bottom:12px}
.cp-subs{display:inline-grid;grid-template-columns:repeat(3,auto);margin-bottom:14px}
.cp-fbar{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.cp-fbar .sp{flex:1}.cp-fbar .seg{display:inline-grid;grid-template-columns:repeat(4,auto)}
.cp-kh{margin:18px 0 8px!important;font-size:12.5px!important;text-transform:none;color:var(--dim)}
.cp-fact{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--deck);margin-bottom:8px}
.cp-fact.proposed{border-left:3px solid #f59e0b}.cp-fact.rejected{opacity:.55}
.cp-ft{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cp-ft b{font-size:14px}.cp-ft .sp{flex:1}
.cp-price{font-weight:600;font-size:14px;color:#0f766e}.cp-price small{font-weight:400;color:var(--dim)}.cp-was{font-style:normal;font-size:12px;color:#dc2626;font-weight:500}
.cp-conf{font-style:normal;font-size:11px;padding:2px 7px;border-radius:999px}.cp-conf.high{background:rgba(34,197,94,.14);color:#16a34a}.cp-conf.medium{background:rgba(245,158,11,.15);color:#b45309}.cp-conf.low{background:rgba(239,68,68,.12);color:#dc2626}
.cp-st{font-style:normal;font-size:11px;color:#b45309}
.cp-fact p{margin:6px 0 0;font-size:13px;color:var(--sub)}
.cp-fm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--dim)}.cp-fm .sp{flex:1}.cp-org{padding:1px 7px;border-radius:6px;background:var(--well)}
.cp-qb{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:#16a34a;font-weight:500}.cp-qb svg.i{width:12px;height:12px}
.cp-quote{display:none;margin:8px 0 0;padding:8px 12px;border-left:3px solid #16a34a;background:var(--well);font-size:12.5px;border-radius:0 8px 8px 0}.cp-quote small{display:block;color:var(--dim);margin-top:4px}
.cp-fact.open .cp-quote{display:block}
.cp-app .cp-ok,.cp-app .cp-no{all:unset;cursor:pointer;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.cp-app .cp-ok{background:#16a34a;color:#fff}.cp-app .cp-no{background:var(--well);color:var(--sub)}
.cp-sel{font-size:12px;padding:3px 6px;border-radius:7px;border:1px solid var(--line);background:var(--deck);color:var(--ink)}
.cp-reps{display:grid;grid-template-columns:170px 1fr;gap:16px}
.cp-rl{display:flex;flex-direction:column;gap:4px}.cp-rl button{all:unset;cursor:pointer;padding:8px 10px;border-radius:9px;font-size:13px;display:flex;flex-direction:column}.cp-rl button small{color:var(--dim);font-size:11.5px}
.cp-rl button.on{background:color-mix(in srgb,#d97706 14%,transparent);font-weight:600}
.cp-rep{padding:18px 22px;border-radius:14px;border:1px solid var(--line);background:var(--deck);font-size:14px;line-height:1.6}.cp-rep h2,.cp-rep h3{font-size:16px;margin:18px 0 6px}.cp-rep p{margin:0 0 10px}
.cp-rmeta{font-size:12.5px!important;color:var(--dim)}.cp-wtxt{color:#dc2626}
.cp-ref{all:unset;cursor:pointer;font-size:11px;font-weight:600;padding:0 5px;margin:0 1px;border-radius:5px;background:color-mix(in srgb,#6366f1 14%,transparent);color:#4f46e5;vertical-align:1px}
.cp-refpop{max-width:380px;padding:12px 14px;font-size:13px}.cp-refpop p{margin:6px 0}.cp-refpop blockquote{margin:6px 0;padding:6px 10px;border-left:3px solid #16a34a;background:var(--well);font-size:12.5px}
.cp-srcs{margin-top:16px;font-size:13px}.cp-srcs p{margin:6px 0}.cp-srcs small{color:var(--dim)}
.cp-bm .cp-bh{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cp-bh b{font-size:15px}.cp-bh .sp{flex:1}.cp-bh small{color:var(--dim)}
.cp-range{position:relative;height:28px;margin:16px 0 4px;border-radius:999px;background:var(--well)}
.cp-range i{position:absolute;top:50%;transform:translate(-50%,-50%)}
.cp-range .band{top:8px;bottom:8px;transform:none;border-radius:999px;background:color-mix(in srgb,#6366f1 22%,transparent)}
.cp-range .pt{width:9px;height:9px;border-radius:50%;background:#6366f1}
.cp-range .med{width:3px;height:22px;background:#0f1530;border-radius:2px}html:not([data-theme=light]) .cp-range .med{background:#e8ebff}
.cp-range .us{width:16px;height:16px;border-radius:50%;background:#d97706;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.cp-rlab{display:flex;justify-content:space-between;font-size:11.5px;color:var(--dim)}
.cp-sug{margin:12px 0 6px;padding-left:18px;font-size:13px;line-height:1.5}.cp-sug li{margin:3px 0}.cp-sug li.high{color:#dc2626}.cp-sug li.opportunity{color:#16a34a}.cp-sug li.warn{color:#b45309}.cp-sug small{color:var(--dim)}
.cp-bm details{font-size:13px}.cp-bm summary{cursor:pointer;color:var(--dim);margin-top:6px}
.cp-people{display:flex;flex-wrap:wrap;gap:6px 16px;max-height:200px;overflow:auto}.cp-people label{font-size:13px;display:flex;gap:6px;align-items:center}
.cp-dlg .pt-host{height:82vh}
@media (max-width:900px){.cp-nav{width:64px}.cp-nav span,.cp-brand b,.cp-brand small,.cp-nf{display:none}.cp-cols,.cp-co,.cp-reps{grid-template-columns:1fr}.cp-co .wide,.cp-row{grid-column:auto}}
.loc-offnote{padding:14px;border-radius:12px;background:var(--well);font-size:13px}.loc-offnote p{margin:6px 0 10px}

/* 1.98: app folders */
.ot.ot-grp{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6%;padding:12%;place-items:stretch;background:rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 8px 18px -8px rgba(0,0,0,.45)}
.ot.ot-grp::after{display:none}
.ot-grp .ot.ot-mini{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border-radius:26%;box-shadow:none}
.ot-grp .ot.ot-mini svg{stroke-width:2.2}
.os-fold{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(4,10,24,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ofIn .18s ease-out}
.os-fold.out{animation:ofOut .16s ease-in forwards}
.ofp{width:min(480px,86vw);padding:22px 22px 14px;border-radius:30px;background:rgba(28,38,62,.52);-webkit-backdrop-filter:blur(26px) saturate(1.5);backdrop-filter:blur(26px) saturate(1.5);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 30px 70px -20px rgba(0,0,0,.6);animation:ofPop .24s cubic-bezier(.2,1.3,.4,1)}
.os-fold.out .ofp{transform:scale(.9);opacity:0;transition:.16s}
.os-fold.leaving .ofp{opacity:.35;transform:scale(.97);transition:.15s}
.ofp-name{display:block;width:100%;margin:0 0 16px;padding:6px 10px;border:0;border-radius:12px;background:transparent;color:#fff;font:600 24px/1.2 var(--body);text-align:center;outline:none}
.ofp-name:hover{background:rgba(255,255,255,.08)}.ofp-name:focus{background:rgba(255,255,255,.14)}
.ofp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px 6px;max-height:60vh;overflow:auto}
.ofp-ic{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 2px;border:0;border-radius:14px;background:none;color:#fff;cursor:default;touch-action:none}
.ofp-ic .ot{width:62px;height:62px;transition:transform .2s cubic-bezier(.2,1.5,.4,1)}
.ofp-ic:hover .ot{transform:translateY(-2px) scale(1.08)}
.os-fold .ofp-ic span{color:#fff;font:500 12.5px/1.2 var(--body);text-shadow:0 1px 3px rgba(0,0,0,.6);text-align:center}
.ofp-ic.gone{opacity:.25}
.ofp-ghost{position:fixed;z-index:60;width:80px;pointer-events:none;opacity:.92;transform:scale(1.06)}
.ofp-tip{margin:12px 0 0;text-align:center;font:400 12px/1.3 var(--body);color:rgba(255,255,255,.6)}
@keyframes ofIn{from{opacity:0}}@keyframes ofOut{to{opacity:0}}
@keyframes ofPop{from{transform:scale(.6);opacity:0}}
/* 1.99: Compare finds the competitors */
.cp-cta{display:flex;align-items:center;gap:16px;margin-bottom:14px;background:linear-gradient(120deg,color-mix(in srgb,#f59e0b 12%,var(--deck)),var(--deck))}
.cp-cta h3{margin:0 0 4px}.cp-cta p{margin:0;max-width:640px}.cp-cta .btn{flex:none;margin-left:auto}
.cp-ctai{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(155deg,#ffd27a,#d97706);color:#fff}.cp-ctai .i{width:24px;height:24px}
.cp-found{margin-bottom:16px}
.cp-fh{display:flex;align-items:flex-start;gap:14px;margin-bottom:8px}.cp-fh h3{margin:0 0 4px}.cp-fh p{margin:0;font-size:12.5px}.cp-fh .btn{flex:none;margin-left:auto}
.cp-cand{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;border-radius:12px;border:1px solid var(--line);margin-top:8px;transition:border-color .15s,background .15s}
.cp-cand.on{border-color:color-mix(in srgb,#d97706 55%,transparent);background:color-mix(in srgb,#f59e0b 6%,transparent)}
.cp-ck input{width:18px;height:18px;margin-top:2px;accent-color:#d97706}
.cp-cb{min-width:0}.cp-cb p{margin:4px 0;font-size:13px}
.cp-ct{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cp-ct b{font-size:14.5px;margin-right:4px}
.cp-score{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}
.cp-ov{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--well);color:var(--dim)}
.cp-cw{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:4px 0}.cp-cw small{color:var(--dim)}.cp-cw .inp{max-width:300px;height:28px;font-size:12.5px}
.cp-ev summary{cursor:pointer;font-size:12px;color:var(--dim);margin-top:2px}.cp-ev .cp-quote{display:block;margin:6px 0 0}
.cp-fa{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.cp-fa .inp{width:auto}
.cp-ok-note{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,#16a34a 10%,transparent);font-size:13px}.cp-ok-note .i{width:16px;height:16px;color:#16a34a}
.cp-h>.sp{flex:1}
.cp-unk{font-style:normal;font-size:11px;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c;margin:0 2px}
/* 2.01: what we know about a competitor, area by area */
.cp-cov{margin:4px 0 14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--deck)}
.cp-covh{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.cp-covh span{font-size:12.5px;color:var(--dim)}.cp-covh .btn{margin-left:auto}
.cp-covl{display:flex;flex-wrap:wrap;gap:6px}
.cp-covl button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:99px;font-size:12px;border:1px solid var(--line)}
.cp-covl button em{font-style:normal;font-weight:600;font-size:11px;min-width:18px;text-align:center;padding:1px 5px;border-radius:99px}
.cp-covl button.has{background:color-mix(in srgb,#16a34a 9%,transparent);border-color:color-mix(in srgb,#16a34a 30%,transparent)}.cp-covl button.has em{background:#16a34a;color:#fff}
.cp-covl button.gap{color:var(--dim);border-style:dashed}.cp-covl button.gap em{background:var(--well)}
.cp-covl button.on{box-shadow:0 0 0 2px #d97706}

/* 2.02: the desktop on a phone (Me → AI Workspace on this phone): inside the safe area, a compact top bar */
html.os-small .os{top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);left:env(safe-area-inset-left);right:env(safe-area-inset-right)}
html.os-small .os-bar{gap:0;padding:0 4px}
html.os-small .os-logo .wm,html.os-small .os-menus,html.os-small #ob-over,html.os-small #ob-vol,html.os-small #ob-date,html.os-small #ob-theme{display:none}
html.os-small .os-appname{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.os-small .os-ver{font-size:10.5px;padding:0 5px}
html.os-small .os-seg button{padding:0 7px;font-size:11.5px}
html.os-small .os-bar button.os-bi{min-width:30px}
html.os-small .os-bar .os-bi:not(#ob-search):not(#ob-ai):not(#ob-bell){display:none}
html.os-small .os-appname{display:none}
html.os-small .os-clock{padding:0 4px}html.os-small .os-clock b{font-size:12px}

/* 2.03: the Whereabouts pill isn't drawn under the dock on a phone's desktop; it sits in the top bar's line instead */
html.os-small.os-on .loc-pill{bottom:auto;top:calc(env(safe-area-inset-top) + 36px);left:8px;z-index:9001;width:28px;height:28px;padding:0;justify-content:center}
html.os-small.os-on .loc-pill span{display:none}

/* 2.03: small desktop icons; on a phone the icons fill row by row and scroll above the dock */
html.os-isz-small .os-ic{width:72px;height:88px;gap:4px;padding:5px 1px 3px}
html.os-isz-small .os-ic .ot{width:46px;height:46px}
html.os-isz-small .os-ic .os-lbl,html.os-isz-small.os-touch .os-ic span{font-size:11px;line-height:1.2}
html.os-small .os-icons{left:6px;right:6px;top:8px;bottom:calc(var(--dockh,70px) + 26px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
/* 2.03: Clean up */
.cu-app{display:flex;flex-direction:column;height:100%;min-height:0;padding:18px 20px 0;background:var(--void);color:var(--ink)}
.cu-host{height:min(760px,84vh)}
.cu-head{display:flex;align-items:center;gap:10px}.cu-head h2{margin:0}.cu-head p{margin:2px 0 0;color:var(--dim);font-size:13px}.cu-head b{color:#0d9488}
.cu-tabs{margin:14px 0 10px;display:flex!important;flex-wrap:wrap;width:fit-content;max-width:100%;grid-template-columns:none!important}.cu-tabs button{display:inline-flex;align-items:center;gap:6px}.cu-tabs em{font-style:normal;font-size:11px;font-weight:600;padding:1px 6px;border-radius:99px;background:var(--well)}
.cu-tabs small{font-size:11px;color:var(--dim)}
.cu-list{flex:1;min-height:0;overflow:auto;padding-bottom:10px}
.cu-grp{border:1px solid var(--line);border-radius:14px;padding:6px;margin-bottom:10px;background:var(--deck)}
.cu-gh{display:flex;align-items:center;gap:10px;padding:6px 8px;font-size:13px}.cu-gh span{color:#0d9488;font-weight:600}.cu-gh .btn{margin-left:auto}
.cu-row{display:grid;grid-template-columns:auto 34px 1fr auto auto auto auto;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer}
.cu-row:hover{background:var(--well)}.cu-row.on{background:color-mix(in srgb,#0d9488 10%,transparent)}
.cu-row input{width:17px;height:17px;accent-color:#0d9488}.cu-ic .ot{width:30px;height:30px}
.cu-n{min-width:0;display:flex;flex-direction:column}.cu-n b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cu-n small{color:var(--dim);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-s{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.cu-d{color:var(--dim);font-size:12px;white-space:nowrap}
.cu-keep{font-style:normal;font-size:11px;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}
.cu-empty{padding:40px 10px;text-align:center;color:var(--dim)}
.cu-foot{display:flex;align-items:center;gap:10px;padding:12px 0 16px;border-top:1px solid var(--line);font-size:13px}
@media (max-width:700px){.cu-row{grid-template-columns:auto 30px 1fr auto auto}.cu-d,.cu-row .ib{display:none}.cu-app{padding:12px 12px 0}}
/* 2.04: Media */
.md-app{display:grid;grid-template-columns:200px 1fr;height:100%;min-height:0;background:var(--void);color:var(--ink)}
.md-host{height:min(780px,86vh)}
.md-nav{display:flex;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid var(--line);background:var(--deck)}
.md-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 14px}.md-brand b{font-size:17px}.md-logo .ot{width:30px;height:30px}
.md-nav button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-size:13.5px;color:var(--sub)}
.md-nav button:hover{background:var(--well)}.md-nav button.on{background:color-mix(in srgb,#e11d48 12%,transparent);color:#be123c;font-weight:600}
.md-nav button[data-set]{margin-top:auto}
.md-main{display:flex;flex-direction:column;min-height:0;min-width:0}
.md-stage{flex:none;height:46%;min-height:220px;background:#05060c;display:grid;place-items:center;position:relative}
.md-stage video,.md-stage iframe{width:100%;height:100%;border:0;background:#000}
.md-idle{color:#8f97b0;display:flex;flex-direction:column;align-items:center;gap:6px}.md-idle .i{width:40px;height:40px;opacity:.6}
.md-audio{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;padding:20px;color:#fff;width:100%;height:100%;
  background:radial-gradient(circle at 30% 30%,rgba(244,63,94,.45),transparent 60%),radial-gradient(circle at 75% 70%,rgba(99,102,241,.45),transparent 55%),#0b0d1a}
.md-audio b{display:block;font-size:20px}.md-audio small{color:#c7cbe0}.md-audio audio{width:min(520px,90%)}
.md-disc{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f43f5e,#a855f7,#6366f1,#f43f5e);animation:osSpin 6s linear infinite;box-shadow:0 10px 40px -10px #f43f5e}
.md-disc .i{width:40px;height:40px;color:#fff}
.md-np{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--deck)}
.md-nt{flex:1;min-width:0;display:flex;flex-direction:column}.md-nt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-nt small{color:var(--dim);font-size:12px}
.md-ctl{display:flex;gap:2px}.md-ctl .ib.on{color:#e11d48;background:color-mix(in srgb,#e11d48 12%,transparent)}
.md-body{flex:1;min-height:0;overflow:auto;padding:12px 16px 16px}
.md-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.md-bar .search{flex:1;min-width:200px}
.md-note{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,#f59e0b 10%,transparent);margin:0 0 10px}
.md-note.soft{background:var(--well);color:var(--dim)}.md-note .i{width:16px;height:16px;flex:none}
.md-pad{padding:20px 4px}
.md-list{display:flex;flex-direction:column;gap:2px}
.md-row{all:unset;cursor:pointer;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:7px 8px;border-radius:10px}
.md-row:hover{background:var(--well)}.md-row.on{background:color-mix(in srgb,#e11d48 10%,transparent)}
.md-ri{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(155deg,#fb7185,#e11d48)}.md-ri.audio{background:linear-gradient(155deg,#a78bfa,#6366f1)}
.md-ri .i{width:17px;height:17px}
.md-rn{min-width:0;display:flex;flex-direction:column}.md-rn b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-rn small,.md-rd{color:var(--dim);font-size:12px}
.md-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.md-card{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:4px;border-radius:12px;padding:6px}
.md-card:hover{background:var(--well)}.md-card.on{background:color-mix(in srgb,#e11d48 10%,transparent)}
.md-th{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#111}.md-th img{width:100%;height:100%;object-fit:cover}
.md-th i{position:absolute;inset:auto 8px 8px auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.6);color:#fff}.md-th i .i{width:14px;height:14px}
.md-card b{font-size:13px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.md-card small{color:var(--dim);font-size:12px}
.md-more{text-align:center;margin-top:12px}
@media (max-width:760px){.md-app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.md-nav{flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}
  .md-brand{display:none}.md-nav button[data-set]{margin-top:0}.md-stage{height:36%;min-height:200px}.md-grid{grid-template-columns:1fr 1fr}.md-rd{display:none}}
/* 2.07 Trials (admins, Ormiz's own server) */
.tr-app{display:flex;flex-direction:column;height:100%;min-height:0;padding:18px 20px;background:var(--void);color:var(--ink);overflow:auto}
.tr-top{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.tr-top h2{margin:0 0 4px;font-size:22px;letter-spacing:-.02em}
.tr-top p{margin:0;color:var(--muted);font-size:13px}.tr-top .bad{color:#ef4444}.tr-link{margin-top:4px!important}.tr-btns{display:flex;gap:8px;align-items:center}
.tr-row{display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--panel)}
.tr-n b,.tr-s em{display:block;font-style:normal;font-weight:700}.tr-n small,.tr-s small{display:block;color:var(--muted);font-size:12px;margin-top:2px;overflow-wrap:anywhere}
.tr-row.st-active .tr-s em{color:#16a34a}.tr-row.st-failed .tr-s em{color:#ef4444}.tr-row.st-creating .tr-s em,.tr-row.st-waiting .tr-s em{color:#d97706}.tr-row.st-deleted{opacity:.6}
.tr-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tr-old summary{cursor:pointer;color:var(--muted);font-size:13px;margin:10px 0}
@media (max-width:700px){.tr-row{grid-template-columns:1fr}.tr-a{justify-content:flex-start}.tr-app{padding:12px}}
.tr-dlg .tr-top h2{display:none}
