/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
:focus{outline:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.mono{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
::selection{background:var(--acc);color:var(--on-acc)}
.os{position:fixed;inset:0;overflow:hidden;isolation:isolate}
.os[inert]{pointer-events:none}

/* ---------- generative wallpaper ---------- */
#bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--paper);transition:opacity .9s,filter .9s}
#bg-par{position:absolute;inset:-6%;will-change:transform}
#bg-drift{position:absolute;inset:0}
#bg-drift canvas{position:absolute;inset:0;width:100%;height:100%;animation:bgin 1.4s ease both}
#bg-drift canvas.out{animation:bgout 1.2s ease both}
@keyframes drift{from{transform:translate3d(-1.2%,-.8%,0) rotate(-.4deg) scale(1.02)}to{transform:translate3d(1.2%,.9%,0) rotate(.5deg) scale(1.04)}}
@keyframes bgin{from{opacity:0}to{opacity:1}}
@keyframes bgout{to{opacity:0}}
#bg-light{position:absolute;inset:0;pointer-events:none;opacity:.9;
  background:radial-gradient(520px circle at var(--lx,50%) var(--ly,40%),rgba(255,255,255,.16),transparent 62%);mix-blend-mode:soft-light}
#bg-grain{position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .1  0 0 0 0 .14  0 0 0 0 .1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
:root[data-theme="dark"] #bg-grain{mix-blend-mode:screen;opacity:.12}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #bg-grain{mix-blend-mode:screen;opacity:.12}}
#bg-vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 100% at 50% 40%,transparent 55%,rgba(var(--shade),.14))}
.os.dim #bg{opacity:.55;filter:saturate(.7) blur(2px)}
.os.pulse #bg-par{animation:pulse .9s var(--spring)}
@keyframes pulse{0%{transform:scale(1)}35%{transform:scale(1.012)}100%{transform:scale(1)}}

/* ---------- top bar ---------- */
.bar{position:absolute;left:0;right:0;top:0;z-index:900;height:calc(var(--bar-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink);transition:transform .7s var(--spring)}
.bar::before{content:"";position:absolute;inset:0;background:linear-gradient(var(--glass),transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  mask:linear-gradient(#000 60%,transparent);-webkit-mask:linear-gradient(#000 60%,transparent);z-index:-1}
.bar-l,.bar-r{display:flex;align-items:center;gap:14px;min-width:0}
.bar-r{justify-content:flex-end}
.bar-logo{display:flex;align-items:center;gap:9px;height:26px;padding:0 8px;margin-left:-8px;border-radius:7px;font-weight:500;letter-spacing:.14em}
.bar-logo:hover,.bar-logo[aria-expanded="true"]{background:var(--acc-soft)}

.bar-app{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-c{color:var(--ink-2);white-space:nowrap}
.bar-status{display:flex;align-items:center;gap:7px;color:var(--ink-2);white-space:nowrap}
.bar-status i{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:ping 2.6s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--acc) 50%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
.bar-clock{font-variant-numeric:tabular-nums;height:26px;padding:0 8px;margin-right:-8px;border-radius:7px}
.bar-clock:hover{background:var(--acc-soft)}
@media (max-width:1000px){.bar-status{display:none}}
@media (max-width:760px){.bar-c{display:none}.bar{grid-template-columns:1fr auto;padding-inline:12px}}

/* menu + toasts */
.menu{position:absolute;z-index:950;top:calc(var(--bar-h) + env(safe-area-inset-top,0px) - 2px);left:10px;min-width:240px;padding:6px;border-radius:14px;
  background:var(--glass);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid var(--glass-line);
  box-shadow:0 24px 60px -16px rgba(var(--shade),.45);transform-origin:20px 0;animation:menuin .35s var(--spring)}
.menu[hidden]{display:none}
@keyframes menuin{from{opacity:0;transform:scale(.92) translateY(-6px)}}
.menu button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;padding:8px 10px;border-radius:8px;text-align:left;font-size:13px}
.menu button:hover,.menu button:focus-visible{background:var(--acc);color:var(--on-acc)}
.menu hr{border:0;border-top:1px solid var(--line);margin:5px 4px}
.menu .lbl{padding:6px 10px 3px;color:var(--ink-3)}
.menu [aria-checked="true"]::after{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.toasts{position:absolute;z-index:940;top:calc(var(--bar-h) + 12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;width:max-content;max-width:92vw}
.toast{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:99px;background:var(--ink);color:var(--surface);
  display:flex;gap:8px;align-items:center;animation:toast 3.4s var(--spring) both;max-width:92vw}
.toast::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);flex:none}
@keyframes toast{0%{opacity:0;transform:translateY(-10px) scale(.9)}10%,86%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}

/* ---------- desktop furniture ---------- */
#desktop{position:absolute;inset:0;z-index:1}
.desk-id{position:absolute;left:clamp(18px,3vw,44px);top:calc(var(--bar-h) + clamp(22px,5vh,56px));max-width:min(60vw,420px);user-select:none}
.desk-id h1{font-family:var(--f-display);font-weight:700;font-size:clamp(13px,1.1vw,16px);letter-spacing:.2em;text-transform:uppercase}
.desk-id p{margin-top:8px;color:var(--ink-2);cursor:default}
.desk-id p:hover{color:var(--acc)}
.desk-id .rule{display:block;width:34px;height:2px;background:var(--acc);margin-top:14px;transition:width .6s var(--spring)}
.desk-id:hover .rule{width:72px}
.desk-meta{position:absolute;right:clamp(18px,3vw,44px);bottom:calc(var(--dock-reserve) + 8px);text-align:right;color:var(--ink-3);user-select:none;pointer-events:none;line-height:1.7}
.hint{position:absolute;left:50%;bottom:calc(var(--dock-reserve) - 2px);transform:translateX(-50%);display:flex;align-items:center;gap:10px;
  padding:9px 15px;border-radius:99px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:var(--ink);white-space:nowrap;animation:hint 1.2s 1.6s var(--spring) both;transition:opacity .5s,transform .5s}
.hint.gone{opacity:0;transform:translate(-50%,8px);pointer-events:none}
.hint b{display:inline-block;color:var(--acc);animation:bob 1.6s ease-in-out infinite}
@keyframes hint{from{opacity:0;transform:translate(-50%,14px)}}
@keyframes bob{50%{transform:translateY(3px)}}
.ripple{position:absolute;width:10px;height:10px;margin:-5px;border-radius:50%;border:1.5px solid var(--acc);pointer-events:none;animation:rip 1.1s ease-out forwards}
@keyframes rip{to{transform:scale(18);opacity:0}}
@media (max-width:700px){.desk-meta{display:none}.hint{bottom:calc(var(--dock-reserve) + 4px)}}

/* ---------- dock ---------- */
.dock{position:absolute;left:0;right:0;bottom:0;z-index:920;display:flex;justify-content:center;pointer-events:none;
  padding:0 12px calc(14px + env(safe-area-inset-bottom,0px));transition:transform .8s var(--spring)}
.dock-shelf{position:relative;pointer-events:auto;height:calc(var(--dock-base) + 20px);padding:0 10px;border-radius:calc(var(--dock-base)*.46);
  background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);
  box-shadow:0 18px 50px -14px rgba(var(--shade),.4),0 1px 0 rgba(255,255,255,.35) inset;max-width:100%}
.dock-list{display:flex;align-items:flex-end;gap:calc(var(--dock-base)*.14);height:100%;padding-bottom:10px}
.dock-sep{width:1px;height:calc(var(--dock-base)*.7);background:var(--line-2);align-self:center;margin-bottom:6px}
.dock-item{position:relative;width:var(--dock-base);height:var(--dock-base);flex:none;display:block}
.dock-btn{position:absolute;left:0;right:0;bottom:0;height:100%;display:block;border-radius:24%;transform-origin:50% 100%}
.dock-btn:focus-visible{outline-offset:4px;border-radius:24%}
.dock-icon{position:absolute;inset:0;border-radius:24%;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 0 0 1px rgba(var(--shade),.22),0 6px 14px -6px rgba(var(--shade),.5)}
.dock-icon svg{width:100%;height:100%;display:block}
.dock-tip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,6px) scale(.94);opacity:0;pointer-events:none;white-space:nowrap;
  padding:6px 11px;border-radius:8px;background:var(--ink);color:var(--surface);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  transition:opacity .18s,transform .3s var(--spring);z-index:3}
.dock-item:hover .dock-tip,.dock-btn:focus-visible+.dock-tip{opacity:1;transform:translate(-50%,0) scale(1)}
.dock-dot{position:absolute;left:50%;bottom:-8px;width:4px;height:4px;margin-left:-2px;border-radius:99px;background:var(--acc);opacity:0;transform:scale(0);transition:all .45s var(--spring)}
.dock-item[data-state="open"] .dock-dot{opacity:.8;transform:none}
.dock-item[data-state="min"] .dock-dot{opacity:1;transform:none;background:transparent;box-shadow:0 0 0 1.5px var(--acc)}
.dock-item[data-active="1"] .dock-dot{width:16px;margin-left:-8px;opacity:1;background:var(--acc);box-shadow:none}
.dock-hop{animation:hop .75s var(--spring)}
@keyframes hop{0%{transform:translateY(0)}28%{transform:translateY(-18px)}52%{transform:translateY(0)}72%{transform:translateY(-7px)}100%{transform:translateY(0)}}
.dock-nudge{animation:nudge .45s var(--spring)}
@keyframes nudge{30%{transform:scale(.88)}}
.os.case-on .dock{transform:translateY(160%)}
.os.case-on .bar{transform:translateY(-120%)}
@media (max-width:700px){
  .dock{padding:0 8px calc(8px + env(safe-area-inset-bottom,0px))}
  .dock-shelf{height:calc(var(--dock-base) + 18px);padding:0 8px;overflow-x:auto;scrollbar-width:none;border-radius:22px}
  .dock-shelf::-webkit-scrollbar{display:none}
  .dock-list{gap:5px;padding-bottom:9px;width:max-content;margin:0 auto}
  .dock-tip{display:none}
  .dock-sep{display:none}
}

/* ---------- cursor ---------- */
#cursor{position:fixed;left:0;top:0;z-index:2000;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:1px solid var(--acc);pointer-events:none;opacity:0;
  display:grid;place-items:center;font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;color:var(--on-acc);transition:width .3s var(--spring),height .3s var(--spring),margin .3s var(--spring),background .25s,opacity .25s,border-radius .3s;will-change:transform}
#cursor.on{opacity:1}
#cursor[data-s="link"]{width:44px;height:44px;margin:-22px 0 0 -22px;background:var(--acc-soft)}
#cursor[data-s="dock"]{width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--acc)}
#cursor[data-s="project"]{width:78px;height:78px;margin:-39px 0 0 -39px;background:var(--acc)}
#cursor[data-s="drag"]{width:38px;height:22px;margin:-11px 0 0 -19px;border-radius:8px;background:var(--acc-soft)}
@media (hover:none),(pointer:coarse){#cursor{display:none}}

@media (prefers-reduced-motion:reduce){
  #bg-drift,.bar-status i,.hint b,.boot-bar i{animation:none}
  .boot-bar i{transform:none}
  .dock-hop,.dock-nudge{animation:none}
}

/* ---------- Game Boy link window (8-bit, DMG greens) ---------- */
.gb-scrim{position:fixed;inset:0;z-index:2800;display:grid;place-items:center;padding:16px;background:rgba(10,16,10,.55);animation:gbfade .2s steps(3)}
.gb-scrim.out{opacity:0;transition:opacity .2s steps(3)}
@keyframes gbfade{from{opacity:0}}
.gb-win{--d:#1f2a1b;--m:#425034;--l:#b6c28e;--p:#dfe8bd;--pk:#e0457f;
  width:min(100%,430px);font-family:'Press Start 2P',ui-monospace,Menlo,monospace;color:var(--d);background:var(--m);border:3px solid var(--d);padding:0 3px 3px;box-shadow:6px 6px 0 var(--d);image-rendering:pixelated;animation:gbpop .36s steps(6)}
@keyframes gbpop{from{transform:scale(.55);opacity:0}}
.gb-bar{display:flex;align-items:center;gap:10px;height:34px;margin:0 -3px;padding:0 6px 0 10px;background:var(--d);color:var(--p);font-size:10px;letter-spacing:.04em}
.gb-bar span{flex:1;min-width:0}
.gb-pip{width:10px;height:10px;background:var(--pk);box-shadow:inset -2px -2px 0 #a3245f}
.gb-x{width:22px;height:20px;background:var(--p);color:var(--d);font:inherit;font-size:9px;border:2px solid var(--d);box-shadow:inset -2px -2px 0 #8f9f6b;display:grid;place-items:center}
.gb-x:hover{background:var(--pk);color:#fff}
.gb-screen{margin-top:3px;padding:20px 16px 18px;background:var(--l);border:3px solid var(--d);display:grid;gap:14px;justify-items:start;
  background-image:repeating-linear-gradient(transparent 0 2px,rgba(31,42,27,.07) 2px 3px)}
.gb-inv{width:44px;height:32px;fill:var(--d);shape-rendering:crispEdges;animation:gbinv 1s steps(1) infinite}
@keyframes gbinv{50%{transform:translateX(4px)}}
.gb-h{margin:0;font-size:13px;line-height:1.5;text-transform:uppercase}
.gb-p{margin:0;font-size:10px;line-height:2}
.gb-url{margin:0;padding:6px 8px;background:var(--d);color:var(--p);font-size:10px}
.gb-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding:0 6px 9px}
.gb-btn{flex:1;min-width:130px;display:flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 12px;font:inherit;font-size:11px;text-transform:uppercase;text-decoration:none;color:var(--d);background:var(--p);border:3px solid var(--d);box-shadow:4px 4px 0 var(--d);cursor:pointer;image-rendering:pixelated}
.gb-go{background:var(--pk);color:#fff}
.gb-btn .gb-arrow{visibility:hidden;font-size:9px}
.gb-btn:hover,.gb-btn:focus-visible{outline:0;transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--d)}
.gb-btn:focus-visible .gb-arrow,.gb-btn:hover .gb-arrow{visibility:visible;animation:gbblink .5s steps(1) infinite}
@keyframes gbblink{50%{opacity:0}}
.gb-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--d)}
.gb-btn:focus-visible{outline:3px solid #ffcf3a;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.gb-win,.gb-scrim,.gb-inv,.gb-btn .gb-arrow{animation:none!important}}
@media (max-width:420px){.gb-btns{flex-direction:column}.gb-p{font-size:9px}}


/* ---------- boot (macOS style: black, one mark, one bar) ---------- */
#boot{position:fixed;inset:0;z-index:3000;background:#000;color:#fff;display:grid;place-items:center;transition:opacity .55s ease,visibility .55s}
#boot.out{opacity:0;visibility:hidden}
.boot-in{display:flex;flex-direction:column;align-items:center;gap:clamp(40px,8vh,64px)}
.boot-x{font-family:var(--f-gothic);font-size:clamp(88px,15vw,128px);line-height:1;color:transparent;background:linear-gradient(100deg,#8a8f98 35%,#fff 50%,#8a8f98 65%) 100% 0/260% 100%;-webkit-background-clip:text;background-clip:text;animation:bootx .9s var(--spring) both,sheen 1.5s ease-in-out .3s infinite}
@keyframes sheen{to{background-position:0 0}}
@keyframes bootx{from{opacity:0;transform:scale(.9)}}
.boot-bar{width:150px;height:5px;border-radius:5px;background:rgba(255,255,255,.22);overflow:hidden}
.boot-bar i{display:block;height:100%;width:100%;border-radius:5px;background:#fff;transform:scaleX(0);transform-origin:left;}
@keyframes load{0%{transform:scaleX(0)}12%{transform:scaleX(.1)}34%{transform:scaleX(.38)}52%{transform:scaleX(.46)}78%{transform:scaleX(.86)}100%{transform:scaleX(1)}}
.bar-logo .gx{font-family:var(--f-gothic);font-size:23px;line-height:1;margin-top:-3px;font-weight:400;letter-spacing:0}

/* ---------- liquid glass toggle ---------- */
:root{--gl-hi:rgba(255,255,255,.4);--gl-lo:rgba(255,255,255,.1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--gl-hi:rgba(255,255,255,.17);--gl-lo:rgba(255,255,255,.03)}}
:root[data-theme="dark"]{--gl-hi:rgba(255,255,255,.17);--gl-lo:rgba(255,255,255,.03)}

:root[data-glass="on"] :is(.dock-shelf,.menu,.hint){
  background:linear-gradient(145deg,var(--gl-hi),var(--gl-lo) 55%,var(--gl-hi));
  -webkit-backdrop-filter:blur(26px) saturate(1.9) brightness(1.06);backdrop-filter:blur(26px) saturate(1.9) brightness(1.06);
  border-color:rgba(255,255,255,.55);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(255,255,255,.22),inset 0 0 24px rgba(255,255,255,.14),0 18px 50px -14px rgba(var(--shade),.4)}
:root[data-glass="on"] .win-body{background:color-mix(in srgb,var(--surface) 74%,transparent);-webkit-backdrop-filter:blur(34px) saturate(1.7);backdrop-filter:blur(34px) saturate(1.7)}
:root[data-glass="on"] .win-bar{background:linear-gradient(var(--gl-hi),var(--gl-lo));box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
:root[data-glass="on"] .win-content{background:transparent}
:root[data-glass="on"] :is(.cs-back,.cs-x){box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

:root[data-glass="off"] :is(.dock-shelf,.menu,.hint){background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--line-2)}
:root[data-glass="off"] .win-bar{background:var(--surface-2);-webkit-backdrop-filter:none;backdrop-filter:none}
:root[data-glass="off"] .bar::before{background:linear-gradient(var(--surface),transparent);-webkit-backdrop-filter:none;backdrop-filter:none}
:root[data-glass="off"] .win-body{background:var(--surface)}

.menu .mi-state{color:var(--ink-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em}
.menu button:hover .mi-state,.menu button:focus-visible .mi-state{color:inherit;opacity:.8}

/* ---------- accent picker ---------- */
.ac-panel{width:min(284px,calc(100vw - 20px));padding:8px 8px 10px;display:grid;gap:10px}
.ac-row{display:grid;grid-template-columns:30px 1fr 40px;gap:8px;align-items:center;padding:0 2px}
.ac-prev{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 2px 8px -2px rgba(0,0,0,.3)}
.ac-hex{height:34px;min-width:0;border-radius:9px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;padding:0 10px;text-transform:uppercase}
.ac-hex:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.ac-native{width:40px;height:34px;padding:0;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);cursor:pointer}
.ac-native::-webkit-color-swatch-wrapper{padding:3px}.ac-native::-webkit-color-swatch{border:0;border-radius:6px}
.ac-err{min-height:0;margin:-4px 4px 0;color:#d92d20;font-size:10.5px}
.ac-err:empty{display:none}
.ac-hue{-webkit-appearance:none;appearance:none;width:calc(100% - 4px);margin:0 2px;height:12px;border-radius:99px;border:0;background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);cursor:pointer}
.ac-hue::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.ac-hue::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.2)}
.ac-sws{display:flex;gap:7px;flex-wrap:wrap;padding:0 2px}
.ac-sw{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);transition:transform .3s var(--spring)}
.ac-sw:hover{transform:scale(1.15)}
.ac-sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}
.menu .ac-reset{justify-content:center;width:auto;margin:0 2px;border:1px solid var(--line-2);font-size:12px}
@media (prefers-reduced-motion:reduce){.boot-x{animation:none}}

.menu .ac-sw{display:block;width:24px;height:24px;padding:0;flex:none}
.menu .ac-sw{width:22px;height:22px}.ac-sws{gap:6px}



@media (max-width:700px){.menu button{padding:12px 12px;font-size:15px}.menu{min-width:min(280px,calc(100vw - 20px))}.chip{height:38px;padding:0 14px}.ct-btn{height:40px}.cs-back,.cs-x{height:42px}.cs-x{width:42px}.ac-hex{height:42px}.ac-native{height:42px}.ac-sw{width:30px!important;height:30px!important}.ac-sws{gap:9px!important}}

/* ---------- phones, small screens, landscape ---------- */
@media (max-width:700px){
  .os.has-win .desk-id{opacity:0;transition:opacity .3s}
  :root[data-glass="on"] .win-body{-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);background:color-mix(in srgb,var(--surface) 86%,transparent)}
  :root[data-glass="on"] :is(.dock-shelf,.menu,.hint){-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5)}
  .ar-search,.ac-hex,input{font-size:16px}
}
@media (max-height:520px){:root{--dock-base:40px;--dock-reserve:66px;--bar-h:28px}.desk-id{display:none}.hint,.desk-meta{display:none}}

