/* 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:-3%;width:106%;height:106%;object-fit:cover;transform:translate3d(calc(var(--px,0) * -18px),calc(var(--py,0) * -11px),0);transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.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:osDrift 70s ease-in-out infinite alternate}
.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%{transform:translateX(-50px) skewX(-5deg);opacity:.5}50%{opacity:.9}100%{transform:translateX(70px) skewX(6deg);opacity:.62}}
@keyframes osAur2{0%{transform:translateX(60px) scaleY(.9);opacity:.35}100%{transform:translateX(-60px) scaleY(1.15);opacity:.7}}
@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}
.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 ---- */
.os-wins{position:absolute;inset:0;pointer-events:none}
.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:2}
.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:15px/1.45 "Segoe Print","Bradley Hand","Comic Sans MS",var(--body,system-ui);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 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)}
