/* JVR Workspace 2.2 visual polish layer — keeps base classes, upgrades feel */

:root{
  --glass:rgba(8,18,22,.78);
  --glass-strong:rgba(6,14,18,.92);
  --glow:0 0 40px rgba(64,224,189,.12);
  --radius:14px;
}

body{background:#040b0e}
.ambient-veil{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 50% 18%,rgba(64,224,189,.12),transparent 55%),
    radial-gradient(ellipse 50% 40% at 80% 80%,rgba(216,179,79,.08),transparent 50%),
    linear-gradient(180deg,rgba(4,12,16,.15),rgba(4,12,16,.55) 70%,rgba(4,12,16,.85));
}
body[data-wallpaper="cobalt"] .ambient-veil{
  background:
    radial-gradient(ellipse 70% 50% at 50% 18%,rgba(70,140,255,.16),transparent 55%),
    radial-gradient(ellipse 50% 40% at 20% 80%,rgba(40,90,220,.1),transparent 50%),
    linear-gradient(180deg,rgba(4,10,22,.2),rgba(4,10,22,.75));
}
body[data-wallpaper="mono"] .ambient-veil{
  background:radial-gradient(ellipse 60% 45% at 50% 20%,rgba(180,200,210,.08),transparent 55%),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.7));
}
body[data-wallpaper="solar"] .ambient-veil{
  background:
    radial-gradient(ellipse 70% 50% at 55% 15%,rgba(255,170,70,.14),transparent 55%),
    radial-gradient(ellipse 40% 35% at 15% 85%,rgba(255,100,40,.08),transparent 50%),
    linear-gradient(180deg,rgba(20,10,4,.15),rgba(12,6,3,.8));
}

.topbar{
  border-bottom:1px solid rgba(80,140,140,.22);
  background:linear-gradient(180deg,rgba(8,18,22,.94),rgba(6,14,18,.82));
  box-shadow:0 10px 40px rgba(0,0,0,.25);
}
.brand-mark{
  border-radius:10px;
  box-shadow:0 0 18px rgba(64,224,189,.25);
}
.icon-button,.account-button{
  border-radius:11px;
  transition:border-color .15s,transform .12s,background .15s;
}
.icon-button:hover,.account-button:hover{transform:translateY(-1px)}
.account-button{
  display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;
  border:1px solid var(--line);background:#0a171b;cursor:pointer;border-radius:999px;
}
.account-button img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.account-button.authenticated{border-color:rgba(64,224,189,.45)}

.desktop-icon{
  border-radius:14px;
  transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;
}
.desktop-icon:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.28),var(--glow);
  border-color:rgba(64,224,189,.45);
}
.desktop-icon span{
  border-radius:12px;
  background:linear-gradient(145deg,#143632,#0c1f22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.desktop-icons.freeform .desktop-icon{position:absolute}

.core-launcher{
  filter:drop-shadow(0 20px 50px rgba(0,0,0,.35));
  transition:transform .2s;
}
.core-launcher:hover{transform:translate(-50%,-50%) scale(1.03)}
.core-pulse{
  position:absolute;inset:28px;border-radius:50%;
  background:radial-gradient(circle,rgba(64,224,189,.18),transparent 65%);
  animation:corePulse 3.6s ease-in-out infinite;
}
@keyframes corePulse{0%,100%{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
.core-copy b{
  text-shadow:0 0 24px rgba(64,224,189,.35);
}

.world-shelf{
  border-radius:16px;
  border-color:rgba(80,140,140,.28);
  background:linear-gradient(180deg,rgba(8,20,24,.92),rgba(5,14,18,.88));
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.world-desktop-icon span{color:#8cf0d8}

.quick-dock{
  position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);
  display:flex;gap:6px;padding:8px;
  border:1px solid rgba(80,140,140,.3);
  border-radius:18px;
  background:rgba(6,16,20,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.quick-dock button{
  width:44px;height:44px;border-radius:12px;
  border:1px solid transparent;background:rgba(16,36,40,.7);
  color:var(--accent);display:grid;place-items:center;cursor:pointer;
  transition:transform .12s,border-color .12s,background .12s;
}
.quick-dock button:hover{
  transform:translateY(-3px);
  border-color:rgba(64,224,189,.5);
  background:#12353a;
}
.quick-dock svg{width:18px;height:18px}

.snap-guides{position:absolute;inset:0;z-index:5;pointer-events:none}
.snap-guides span{
  position:absolute;border:1px dashed rgba(64,224,189,.55);
  background:rgba(64,224,189,.08);border-radius:10px;opacity:0;transition:opacity .12s;
}
.snap-guides[data-active="left"] [data-snap="left"],
.snap-guides[data-active="right"] [data-snap="right"],
.snap-guides[data-active="max"] [data-snap="max"]{opacity:1}
.snap-guides [data-snap="left"]{left:8px;top:8px;bottom:8px;width:calc(50% - 12px)}
.snap-guides [data-snap="right"]{right:8px;top:8px;bottom:8px;width:calc(50% - 12px)}
.snap-guides [data-snap="max"]{left:8px;right:8px;top:8px;bottom:8px}

.app-window{
  border-radius:14px;
  border:1px solid rgba(90,150,150,.28);
  background:var(--glass-strong);
  box-shadow:0 28px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.03) inset;
  animation:windowIn .18s ease-out;
  overflow:hidden;
}
.app-window.active{
  border-color:rgba(64,224,189,.55);
  box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 0 1px rgba(64,224,189,.15),var(--glow);
}
@keyframes windowIn{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:none}
}
.window-titlebar{
  background:linear-gradient(180deg,#0d1b20,#0a1519);
  border-bottom:1px solid rgba(80,130,130,.22);
  gap:8px;
  padding-left:10px;
}
.window-title{flex:1;min-width:0}
.window-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.traffic-lights{display:flex;align-items:center;gap:7px;padding-right:4px}
.traffic-lights .tl{
  width:13px;height:13px;border-radius:50%;border:0;padding:0;cursor:pointer;
  box-shadow:inset 0 -1px 1px rgba(0,0,0,.25);
}
.traffic-lights .close{background:#ff5f57}
.traffic-lights .min{background:#febc2e}
.traffic-lights .max{background:#28c840}
.traffic-lights .tl:hover{filter:brightness(1.12);transform:scale(1.08)}
.window-actions{display:flex;height:100%}
.window-actions button{
  height:100%;width:44px;border:0;border-left:1px solid var(--line);
  background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--muted);
}
.window-actions button:hover{background:rgba(64,224,189,.08);color:var(--accent)}
.window-actions .close-btn:hover{background:#8e302c;color:#fff}
.window-content{background:linear-gradient(180deg,rgba(7,17,21,.92),rgba(5,12,16,.96))}

.taskbar{
  border-top:1px solid rgba(80,140,140,.25);
  background:linear-gradient(180deg,rgba(8,18,22,.94),rgba(5,12,16,.96));
  box-shadow:0 -12px 40px rgba(0,0,0,.3);
}
.start-button{
  border-radius:12px;
  background:linear-gradient(180deg,#12303a,#0d1d21);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.start-button:hover{box-shadow:0 0 20px rgba(64,224,189,.15)}
.task-app{
  border-radius:10px;
  transition:border-color .12s,background .12s;
}
.task-app.active{
  background:#0f262a;
  box-shadow:inset 0 -2px 0 var(--accent);
}

.launcher{
  border-radius:18px;
  border:1px solid rgba(90,150,150,.35);
  background:rgba(6,16,20,.96);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  animation:windowIn .16s ease-out;
}
.launcher-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;
}
.launcher-head b{display:block;font-size:15px}
.launcher-head small{color:var(--muted);font-size:11px}
.launcher-head kbd{
  font-size:10px;padding:4px 8px;border-radius:8px;
  border:1px solid var(--line);color:var(--muted);background:#0a171b;
}
.launcher label{
  border-radius:12px;
  background:rgba(4,12,16,.7);
}
.launcher-app{
  border-radius:12px;
  transition:transform .12s,border-color .12s;
}
.launcher-app:hover{transform:translateY(-2px)}
.launcher-hint{margin:0 0 8px;color:var(--muted);font-size:11px}

.ava-toggle,.ava-panel{
  border-radius:16px;
  border-color:rgba(80,140,140,.35);
  box-shadow:0 18px 50px rgba(0,0,0,.4);
}
.ava-messages .assistant{
  border-radius:12px 12px 12px 4px;
  border:1px solid rgba(80,130,130,.2);
}
.ava-messages .user{
  border-radius:12px 12px 4px 12px;
}

.dashboard h1{
  background:linear-gradient(120deg,#eaf4f2,#8cf0d8 55%,#d8b34f);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.launch-card{
  border-radius:14px;
  transition:transform .14s,border-color .14s,box-shadow .14s;
}
.launch-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}
.metric{border-radius:12px}

.toast{
  border-radius:12px;
  border:1px solid rgba(80,140,140,.3);
  backdrop-filter:blur(12px);
  animation:windowIn .16s ease-out;
}

@media(max-width:720px){
  .quick-dock{display:none}
  .traffic-lights{display:none}
  .window-actions button{width:52px}
  .app-window{animation:none;border-radius:0}
  .core-pulse{animation:none}
}
@media(prefers-reduced-motion:reduce){
  .core-pulse,.app-window,.launcher,.toast{animation:none!important}
}
