@property --accent{ syntax:'<color>'; inherits:true; initial-value:#e10600; }
html.theme-morph{ transition:--accent .5s ease; }
#bg-morph-overlay{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .5s ease;}
#bg-morph-overlay.in{opacity:1;}

:root{
  --accent:#e10600;
  --accent-2:#ffc300;
  --bar-bg:rgba(28,22,40,.55);
  --bar-border:rgba(255,255,255,.08);
  --window-bg:rgba(34,28,48,.86);
  --window-header:rgba(255,255,255,.05);
  --text:#f1ecff;
  --text-dim:#a89fc4;
  --border:rgba(255,255,255,.11);
  --radius:2px;
  --radius-sm:1px;
  --radius-lg:3px;
  --shadow:0 24px 60px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);
  --dock-bg:rgba(40,32,56,.55);
  color-scheme: dark;
}
:root[data-theme="light"]{
  --bar-bg:rgba(255,255,255,.55);
  --bar-border:rgba(0,0,0,.06);
  --window-bg:rgba(255,255,255,.82);
  --window-header:rgba(0,0,0,.03);
  --text:#211a2e;
  --text-dim:#655c78;
  --border:rgba(0,0,0,.1);
  --shadow:0 24px 50px rgba(30,10,50,.2), 0 2px 8px rgba(30,10,50,.12);
  --dock-bg:rgba(255,255,255,.45);
  color-scheme: light;
}
:root[data-fontsize="sm"]{ --fs-title:12px; --fs-body:12px; --fs-label:10.5px; }
:root[data-fontsize="md"]{ --fs-title:13px; --fs-body:13px; --fs-label:11.5px; }
:root[data-fontsize="lg"]{ --fs-title:15px; --fs-body:15px; --fs-label:13px; }
.window-title, .dock-label, .lp-app, #clock-time{font-size:var(--fs-title, 13px);}
.desktop-icon .label{font-size:var(--fs-label, 11.5px);}

.reduce-motion .window{animation:none !important;}
.reduce-motion .boot-logo{animation:none !important;}
.reduce-motion .lock-hint{animation:none !important;}
.reduce-motion #boot-screen{transition:none !important;}
.reduce-motion *{transition-duration:0s !important;}

:root.high-contrast{ --border:rgba(255,255,255,.55); --text-dim:#e8e2ff; }
:root[data-theme="light"].high-contrast{ --border:rgba(0,0,0,.55); --text-dim:#2a2236; }
.high-contrast .window{border-width:2px;}
.high-contrast #menubar{border-bottom-width:2px;}
.high-contrast #dock{border-width:2px;}

#icons[data-size="sm"] .desktop-icon{width:66px;height:70px;}
#icons[data-size="sm"] .desktop-icon .app-icon{width:26px;height:26px;}
#icons[data-size="lg"] .desktop-icon{width:104px;height:106px;}
#icons[data-size="lg"] .desktop-icon .app-icon{width:46px;height:46px;}

.app-icon{display:inline-flex;flex:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.22)) drop-shadow(0 6px 14px rgba(0,0,0,.16));}
.app-icon svg{width:100%;height:100%;display:block;}
.mono-tile{
  background:linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.04));
  border:.7px solid rgba(255,255,255,.14);border-radius:3px;padding:9px;box-sizing:border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -6px 10px rgba(0,0,0,.1);
}
.mono-tile svg{color:var(--text);}
.mb-icon svg{width:15px;height:15px;color:var(--text);}
#spotlight-icon svg{width:20px;height:20px;color:var(--text-dim);}
.boot-logo .app-icon, .boot-logo svg{width:72px;height:72px;}
.lock-avatar .app-icon, .lock-avatar svg{width:76px;height:76px;}
.mb-logo .app-icon, .mb-logo svg{width:18px;height:18px;}
.adi-icon{width:20px;height:20px;vertical-align:middle;margin-right:2px;}
.about-icon{width:60px;height:60px;}
.icon-inline{display:inline-flex;flex:none;width:14px;height:14px;vertical-align:-2px;margin-right:6px;}
.icon-inline:only-child{margin-right:0;}
.icon-inline svg{width:100%;height:100%;display:block;}
.ctx-item .icon-inline, #mb-dropdown .dd-item .icon-inline{width:15px;height:15px;opacity:.85;margin-right:0;}
.explorer-sidebar .item .icon-inline, .settings-sidebar .item .icon-inline{width:15px;height:15px;margin-right:0;}
.cc-tile .icon-inline{width:20px;height:20px;margin-right:0;}
.app-toolbar .icon-inline{width:13px;height:13px;margin-right:0;}

*{box-sizing:border-box;}
html,body{height:100%;margin:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;}
body{color:var(--text);user-select:none;}
::selection{background:var(--accent);color:#fff;}
button{font-family:inherit;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:1px;}
::-webkit-scrollbar-track{background:transparent;}

.hidden{display:none !important;}

#boot-screen{
  position:fixed;inset:0;z-index:9999;
  background:#161027;background-size:cover;background-position:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  color:#fff;transition:opacity .6s ease;
}
#boot-screen::before{
  content:'';position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 45%, rgba(10,7,20,.35), rgba(10,7,20,.75) 100%);
}
#boot-screen>*{position:relative;z-index:1;}
.boot-logo{width:72px;height:72px;filter:drop-shadow(0 0 30px #e10600);animation:pulse 1.6s ease-in-out infinite;}
.boot-title{font-size:26px;letter-spacing:6px;font-weight:600;color:#e10600;}
.boot-status{font-size:12px;color:#c8b8e8;letter-spacing:1px;}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}

#welcome-screen{
  position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;
  background:rgba(6,4,10,.55);backdrop-filter:blur(6px);
}
.welcome-card{
  width:min(460px,88vw);max-height:86vh;overflow-y:auto;text-align:center;
  background:var(--window-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);
  backdrop-filter:blur(30px);padding:36px 32px 30px;animation:winOpen .22s cubic-bezier(.2,.8,.3,1);
}
.welcome-logo{width:64px;height:64px;margin:0 auto 16px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));}
.welcome-title{font-size:22px;font-weight:800;margin:0 0 8px;}
.welcome-sub{font-size:13.5px;color:var(--text-dim);line-height:1.5;margin:0 0 26px;}
.welcome-features{display:flex;flex-direction:column;gap:16px;text-align:left;margin-bottom:28px;}
.welcome-feature{display:flex;align-items:flex-start;gap:12px;}
.welcome-feature .wf-icon{flex:none;width:34px;height:34px;border-radius:3px;background:rgba(255,255,255,.08);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.welcome-feature .wf-icon svg{width:18px;height:18px;color:var(--text);}
.welcome-feature b{display:block;font-size:13.5px;font-weight:700;margin-bottom:2px;}
.welcome-feature span{display:block;font-size:12px;color:var(--text-dim);line-height:1.45;}
#welcome-dismiss{
  width:100%;padding:11px;border:none;border-radius:2px;background:var(--accent);color:#fff;
  font-size:14px;font-weight:700;cursor:pointer;
}
#welcome-dismiss:hover{filter:brightness(1.08);}

#login-gate{
  position:fixed;inset:0;z-index:9991;display:flex;align-items:center;justify-content:center;
  background:rgba(6,4,10,.55);backdrop-filter:blur(6px);
}
#login-gate input[type=email], #login-gate input[type=password]{
  width:100%;box-sizing:border-box;padding:11px 12px;border-radius:2px;border:1px solid var(--border);
  background:rgba(255,255,255,.06);color:var(--text);font-size:13.5px;
}
#login-gate button{
  padding:11px;border:none;border-radius:2px;background:var(--accent);color:#fff;
  font-size:13.5px;font-weight:700;cursor:pointer;
}
#login-gate button:hover{filter:brightness(1.08);}
#login-gate button.secondary{
  width:100%;background:rgba(255,255,255,.07);color:var(--text);border:1px solid var(--border);
}
#login-msg{color:var(--accent);}
.btn-google, #login-gate button.btn-google, .app-pad button.btn-google, .settings-card button.btn-google{
  width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  background:#fff;color:#3c4043;border:1px solid var(--border);
}
.btn-google:hover, #login-gate button.btn-google:hover, .app-pad button.btn-google:hover, .settings-card button.btn-google:hover{
  filter:brightness(.96);background:#fff;color:#3c4043;
}
.icon-google{display:inline-flex;flex:none;width:18px;height:18px;}
.icon-google svg{width:100%;height:100%;display:block;}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:11px;margin:2px 0;}
.auth-divider::before, .auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}

#lock-screen{
  position:fixed;inset:0;z-index:9998;cursor:pointer;
  background:#161027;background-size:cover;background-position:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  transition:opacity .4s ease, transform .4s ease;
}
#lock-screen::before{
  content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,6,16,.15), rgba(8,6,16,.55) 100%);
}
#lock-screen>*{position:relative;z-index:1;}
.lock-clock{text-align:center;}
#lock-time{font-size:96px;font-weight:200;letter-spacing:2px;}
#lock-date{font-size:20px;color:var(--text-dim);}
.lock-user{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:26px;}
.lock-avatar{width:76px;height:76px;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.lock-username{font-size:15px;font-weight:600;}
.lock-hint{position:absolute;bottom:60px;font-size:13px;color:var(--text-dim);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:.4}50%{opacity:1}}

#desktop{
  position:fixed;left:0;right:0;top:28px;bottom:0;
  background:#161027;background-size:cover;background-position:center;
  overflow:hidden;
}
#desktop.wallpaper-img{background-blend-mode:normal;}
#icons{
  position:absolute;top:14px;right:14px;bottom:110px;left:14px;
  display:grid;grid-auto-flow:column;grid-template-rows:repeat(auto-fill,96px);gap:4px;
  justify-content:end;width:auto;
}
.desktop-icon{
  width:88px;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;
  padding:8px 4px;border-radius:2px;cursor:pointer;text-align:center;
}
.desktop-icon:hover, .desktop-icon.selected{background:rgba(255,255,255,.14);}
.desktop-icon .app-icon{width:36px;height:36px;}
.desktop-icon .label{font-size:11.5px;line-height:1.2;color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,.5);word-break:break-word;}

#context-menu{
  position:fixed;z-index:900;min-width:200px;background:var(--window-bg);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:6px;backdrop-filter:blur(20px);
}
.ctx-item{padding:8px 12px;border-radius:1px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;}
.ctx-item:hover{background:var(--accent);color:#fff;}
.ctx-sep{height:1px;background:var(--border);margin:4px 2px;}

.window{
  position:absolute;min-width:280px;min-height:180px;
  background:var(--window-bg);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);backdrop-filter:blur(24px);
  display:flex;flex-direction:column;overflow:hidden;
  transition:box-shadow .15s ease;
  animation:winOpen .18s cubic-bezier(.2,.8,.3,1);
}
@keyframes winOpen{from{opacity:0;transform:scale(.96) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
.window.focused{box-shadow:0 25px 70px rgba(0,0,0,.55);}
.window.maximized{border-radius:0;}
.window-header{
  height:36px;flex:none;display:flex;align-items:center;gap:8px;padding:0 10px;
  background:var(--window-header);cursor:move;border-bottom:1px solid var(--border);
}
.window-controls{display:flex;gap:8px;order:1;}
.window-title{flex:1;order:2;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-right:56px;}
.win-btn{
  width:12px;height:12px;border-radius:2px;border:none;cursor:pointer;position:relative;
  display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;color:transparent;
}
.win-btn.close{background:#ff5f57;}
.win-btn.min{background:#ffbd2e;}
.win-btn.max{background:#28c840;}
.window-controls:hover .win-btn{color:rgba(0,0,0,.55);}
.win-btn.close::before{content:'✕';}
.win-btn.min::before{content:'−';}
.win-btn.max::before{content:'+';}
.window-body{flex:1;overflow:auto;position:relative;background:transparent;color:var(--text);}
.resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;}

#snap-preview{
  position:absolute;background:rgba(255,255,255,.16);border:2px solid var(--accent);border-radius:2px;
  z-index:5;pointer-events:none;transition:all .1s ease;
}

#menubar{
  position:fixed;left:0;right:0;top:0;height:28px;z-index:600;
  display:flex;align-items:center;justify-content:space-between;padding:0 12px;
  background:var(--bar-bg);backdrop-filter:blur(28px) saturate(1.6);border-bottom:1px solid var(--bar-border);
  font-size:13px;
}
.mb-left, .mb-right{display:flex;align-items:center;height:100%;}
.mb-item{padding:0 9px;height:100%;display:flex;align-items:center;cursor:default;color:var(--text);white-space:nowrap;}
.mb-logo{font-size:14px;cursor:pointer;border-radius:1px;}
.mb-appname{font-weight:700;cursor:pointer;border-radius:1px;}
.mb-menu{font-size:13px;cursor:pointer;border-radius:1px;}
.mb-menu:hover, .mb-logo:hover, .mb-appname:hover, .mb-item.open{background:rgba(255,255,255,.14);}
.mb-icon{font-size:13px;cursor:pointer;border-radius:1px;opacity:.9;}
.mb-standings{display:flex;align-items:center;gap:5px;opacity:1;}
.mb-standings svg{width:14px;height:14px;color:var(--text);}
.mb-standings span{font-size:12px;font-weight:600;color:var(--text);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mb-icon:hover{background:rgba(255,255,255,.14);}
.mb-clock{font-weight:600;cursor:pointer;border-radius:1px;color:var(--text);}
.mb-clock:hover{background:rgba(255,255,255,.14);}

#mb-dropdown{
  position:fixed;z-index:601;min-width:260px;background:var(--window-bg);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:5px;backdrop-filter:blur(24px);top:30px;
  animation:winOpen .12s ease;
}
#mb-dropdown .dd-item{padding:7px 12px;border-radius:1px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--text);}
#mb-dropdown .dd-item:hover{background:var(--accent);color:#fff;}
#mb-dropdown .dd-item.disabled{opacity:.35;cursor:default;}
#mb-dropdown .dd-item.disabled:hover{background:none;color:var(--text);}
#mb-dropdown .dd-sep{height:1px;background:var(--border);margin:5px 2px;}

#dock-wrap{
  position:fixed;left:0;right:0;bottom:8px;z-index:500;display:flex;justify-content:center;pointer-events:none;
}
#dock{
  pointer-events:auto;display:flex;align-items:flex-end;gap:6px;padding:8px 10px;
  background:var(--dock-bg);backdrop-filter:blur(28px) saturate(1.8);border:1px solid var(--bar-border);
  border-radius:var(--radius-lg);box-shadow:0 12px 40px rgba(0,0,0,.35);max-width:92vw;overflow-x:auto;
}
.dock-item{
  position:relative;width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;
  border-radius:2px;cursor:pointer;transition:transform .12s ease, width .12s ease;
}
.dock-item .app-icon{width:44px;height:44px;}
.dock-item:hover{transform:translateY(-8px) scale(1.15);}
.dock-item.drag-over{background:rgba(255,255,255,.18);transform:translateY(-8px) scale(1.2);}
.dock-item .dot{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:0;background:var(--text);}
.dock-item .dock-label{
  position:absolute;bottom:60px;left:50%;transform:translateX(-50%);background:rgba(20,16,30,.9);color:#fff;
  padding:4px 9px;border-radius:1px;font-size:11.5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease;
}
.dock-item:hover .dock-label{opacity:1;}
.dock-sep{width:1px;align-self:stretch;background:var(--border);margin:4px 4px;}
@keyframes dockBounce{0%,100%{transform:translateY(0);}30%{transform:translateY(-18px);}50%{transform:translateY(0);}65%{transform:translateY(-8px);}80%{transform:translateY(0);}}
.dock-item.bounce{animation:dockBounce .6s ease;}

#spotlight{
  position:fixed;inset:0;z-index:700;display:flex;flex-direction:column;align-items:center;padding-top:14vh;
  background:rgba(0,0,0,.25);backdrop-filter:blur(4px);
}
.spotlight-box{
  width:min(560px,88vw);background:var(--window-bg);border:1px solid var(--border);border-radius:3px;
  box-shadow:var(--shadow);backdrop-filter:blur(30px);display:flex;align-items:center;gap:10px;padding:14px 16px;
}
.spotlight-icon{font-size:20px;opacity:.7;}
#spotlight-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:22px;font-weight:300;}
#spotlight-results{
  width:min(560px,88vw);background:var(--window-bg);border:1px solid var(--border);border-top:none;border-radius:0 0 3px 3px;
  box-shadow:var(--shadow);backdrop-filter:blur(30px);max-height:320px;overflow-y:auto;margin-top:-1px;
}
.sr-item{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;cursor:pointer;color:var(--text);}
.sr-item:hover, .sr-item.sel{background:var(--accent);color:#fff;}
.sr-item .app-icon{width:20px;height:20px;}

#launchpad{
  position:fixed;inset:0;z-index:650;display:flex;flex-direction:column;align-items:center;padding-top:8vh;gap:24px;
  background:rgba(10,6,20,.55);backdrop-filter:blur(30px);
}
:root[data-theme="light"] #launchpad{background:rgba(240,240,250,.6);}
#launchpad-search{
  width:min(320px,80vw);padding:9px 14px;border-radius:2px;background:rgba(255,255,255,.12);border:1px solid var(--border);
  color:var(--text);font-size:14px;outline:none;text-align:center;
}
#launchpad-grid{
  display:grid;grid-template-columns:repeat(auto-fit,96px);gap:24px;justify-content:center;max-width:900px;padding:0 30px;overflow-y:auto;
}
.lp-app{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:2px;}
.lp-app:hover{background:rgba(255,255,255,.08);}
.lp-app .app-icon{width:56px;height:56px;}
.lp-app .lp-app{font-size:12px;}

#toast-stack{position:fixed;top:36px;right:12px;z-index:9500;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.toast{
  pointer-events:auto;width:300px;background:var(--window-bg);border:1px solid var(--border);border-radius:2px;box-shadow:var(--shadow);
  backdrop-filter:blur(24px);padding:11px 12px;display:flex;gap:10px;align-items:flex-start;
  animation:toastIn .18s cubic-bezier(.2,.8,.3,1);
}
.toast.leaving{animation:toastOut .16s ease forwards;}
@keyframes toastIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
@keyframes toastOut{from{opacity:1;transform:translateX(0);}to{opacity:0;transform:translateX(24px);}}
.toast-icon{flex:none;width:20px;height:20px;color:var(--accent);margin-top:1px;}
.toast-icon svg{width:100%;height:100%;display:block;}
.toast-body{flex:1;min-width:0;}
.toast-title{font-size:12.5px;font-weight:700;color:var(--text);}
.toast-sub{font-size:11.5px;color:var(--text-dim);margin-top:2px;line-height:1.4;}
.toast-close{flex:none;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:0;font-size:14px;line-height:1;}
.toast-close:hover{color:var(--text);}

#race-widget{
  position:fixed;left:14px;bottom:104px;z-index:480;width:252px;
  background:var(--window-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);
  backdrop-filter:blur(24px);padding:13px 14px;
  display:flex;flex-direction:column;gap:9px;cursor:default;
}
.rw-head{display:flex;align-items:center;justify-content:space-between;}
.rw-label{font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);}
.rw-flag{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim);}
.rw-flag .icon-inline{margin-right:0;width:12px;height:12px;}
.rw-race{font-size:14.5px;font-weight:700;line-height:1.25;}
.rw-circuit{font-size:11.5px;color:var(--text-dim);margin-top:1px;}
.rw-countdown{display:flex;gap:6px;margin-top:2px;}
.rw-unit{flex:1;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:1px;padding:6px 2px;text-align:center;}
.rw-unit b{display:block;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;}
.rw-unit span{display:block;font-size:9px;color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;margin-top:2px;}
.rw-car{align-self:flex-end;width:100%;height:auto;margin-top:-4px;opacity:.95;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));}

#control-center{
  position:fixed;top:32px;right:10px;z-index:601;width:280px;
  background:var(--window-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);
  backdrop-filter:blur(28px);padding:12px;animation:winOpen .12s ease;
}
.cc-row{display:flex;gap:8px;margin-bottom:8px;}
.cc-tile{flex:1;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:2px;padding:10px;font-size:12px;cursor:pointer;}
.cc-tile.on{background:var(--accent);color:#fff;}
.cc-tile .cc-t{font-size:16px;margin-bottom:4px;}
.cc-slider{margin-top:8px;}
.cc-slider label{font-size:11px;color:var(--text-dim);display:block;margin-bottom:4px;}
.cc-slider input{width:100%;}

.app-pad{padding:14px;height:100%;overflow:auto;}
.app-pad button, .app-pad select, .app-pad input[type=text], .app-pad input[type=number]{
  background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--text);border-radius:1px;
  padding:6px 10px;font-size:12px;cursor:pointer;font-family:inherit;
}
.app-pad button{display:inline-flex;align-items:center;gap:6px;}
.app-pad button:hover{background:var(--accent);color:#fff;}
.app-pad input[type=number]{cursor:text;}
.app-toolbar{display:flex;gap:6px;padding:8px;border-bottom:1px solid var(--border);background:var(--window-header);flex-wrap:wrap;}
.app-toolbar button, .app-toolbar select{
  background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--text);border-radius:1px;padding:6px 10px;font-size:12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
}
.app-toolbar button:hover{background:var(--accent);color:#fff;}
.app-toolbar input[type=text]{flex:1;background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--text);border-radius:1px;padding:6px 10px;font-size:12px;}

.browser-status{padding:4px 10px;font-size:11px;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--window-header);}
.browser-blocked{position:absolute;left:0;right:0;top:46px;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--window-body,#1c1d22);}
.browser-blocked-card{max-width:320px;text-align:center;padding:24px;}
.browser-blocked-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px;}
.browser-blocked-sub{font-size:12px;color:var(--text-dim);line-height:1.5;margin-bottom:16px;}
.browser-blocked-card button{background:var(--accent);color:#fff;border:none;border-radius:1px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;}
.browser-blocked-card button:hover{opacity:.9;}

.editor-area{width:100%;height:calc(100% - 46px);border:none;resize:none;outline:none;background:transparent;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;padding:14px;line-height:1.6;}

.terminal{background:#0c0714;height:100%;padding:10px 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:#c9f2c9;overflow-y:auto;}
.terminal .line{white-space:pre-wrap;word-break:break-word;margin-bottom:2px;}
.terminal .prompt{color:#ff9f6e;}
.terminal-input-row{display:flex;gap:6px;}
.terminal-input-row input{flex:1;background:transparent;border:none;outline:none;color:#eafff0;font-family:inherit;font-size:13px;}

.explorer{display:flex;height:100%;}
.explorer-sidebar{width:150px;flex:none;border-right:1px solid var(--border);padding:10px;background:var(--window-header);}
.explorer-sidebar .item{padding:7px 8px;border-radius:1px;font-size:12.5px;cursor:pointer;display:flex;gap:6px;align-items:center;}
.explorer-sidebar .item:hover, .explorer-sidebar .item.active{background:rgba(255,255,255,.1);}
.explorer-main{flex:1;display:flex;flex-direction:column;}
.explorer-path{padding:8px 12px;font-size:12px;color:var(--text-dim);border-bottom:1px solid var(--border);}
.explorer-grid{flex:1;overflow:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,86px);gap:10px;align-content:start;}
.explorer-item{width:82px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;border-radius:2px;cursor:pointer;text-align:center;}
.explorer-item:hover{background:rgba(255,255,255,.08);}
.explorer-item .app-icon{width:32px;height:32px;}
.explorer-item .label{font-size:11px;word-break:break-word;}

.settings-shell{display:flex;height:100%;}
.settings-sidebar{width:150px;flex:none;border-right:1px solid var(--border);padding:10px;background:var(--window-header);overflow-y:auto;}
.settings-sidebar .item{padding:9px 10px;border-radius:2px;font-size:12.5px;cursor:pointer;display:flex;gap:8px;align-items:center;color:var(--text);}
.settings-sidebar .item:hover{background:rgba(255,255,255,.08);}
.settings-sidebar .item.active{background:var(--accent);color:#fff;}
.settings-main{flex:1;overflow-y:auto;}
.settings-section-title{font-size:16px;font-weight:700;margin:0 0 4px;}
.settings-section-desc{font-size:12px;color:var(--text-dim);margin:0 0 16px;}
.settings-card{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:2px;padding:14px;margin-bottom:14px;}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;}
.settings-row + .settings-row{border-top:1px solid var(--border);}
.settings-row .label-group{display:flex;flex-direction:column;gap:2px;}
.settings-row .label-title{font-size:13px;font-weight:600;}
.settings-row .label-sub{font-size:11px;color:var(--text-dim);}
.settings-row select, .settings-row input[type=text]{background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--text);border-radius:1px;padding:6px 10px;font-size:12px;}
.settings-card input[type=email], .settings-card input[type=password]{background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--text);border-radius:1px;padding:8px 10px;font-size:12.5px;}
.settings-card button{background:rgba(255,255,255,.08);border:1px solid var(--border);color:var(--text);border-radius:1px;padding:7px 12px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.settings-card button:hover{background:var(--accent);color:#fff;}
.team-pick.active span{color:var(--text);font-weight:600;}
.seg{display:flex;border:1px solid var(--border);border-radius:2px;overflow:hidden;}
.seg button{border:none;background:transparent;color:var(--text);padding:6px 12px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.seg button .icon-inline{margin-right:0;}
.seg button.active{background:var(--accent);color:#fff;}
.toggle{position:relative;width:42px;height:24px;border-radius:2px;background:rgba(255,255,255,.18);border:1px solid var(--border);cursor:pointer;flex:none;}
.toggle::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:1px;background:#fff;transition:transform .15s ease;}
.toggle.on{background:var(--accent);border-color:transparent;}
.toggle.on::after{transform:translateX(18px);}
.swatch-row{display:flex;gap:10px;flex-wrap:wrap;}
.swatch{width:34px;height:34px;border-radius:2px;cursor:pointer;border:2px solid rgba(255,255,255,.3);position:relative;}
.swatch.active::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.wallpaper-row{display:flex;gap:10px;flex-wrap:wrap;}
.wallpaper-thumb{width:100px;height:64px;border-radius:2px;cursor:pointer;border:2px solid transparent;background-size:cover;background-position:center;position:relative;}
.wallpaper-thumb.active{border-color:var(--accent);}
.wallpaper-thumb-add{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:2px dashed var(--border);color:var(--text-dim);transition:border-color .15s,color .15s,background .15s;}
.wallpaper-thumb-add:hover,.wallpaper-thumb-add.drag-over{border-color:var(--accent);color:var(--accent);background:rgba(255,255,255,.06);}
.wallpaper-thumb-add .icon-inline svg{width:20px;height:20px;}
.wallpaper-thumb-custom{border-color:var(--accent);}
.wallpaper-thumb-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:1px;background:rgba(0,0,0,.65);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.wallpaper-thumb-remove .icon-inline svg{width:12px;height:12px;}
.wallpaper-thumb-remove:hover{background:var(--accent);}
.settings-error{color:#ff5c5c;font-size:12px;margin-top:8px;}
.storage-bar{height:10px;border-radius:1px;background:rgba(255,255,255,.1);overflow:hidden;margin:8px 0;}
.storage-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));}
.app-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;}
.app-directory .adi{display:flex;align-items:center;gap:8px;padding:8px;border-radius:2px;background:rgba(255,255,255,.04);border:1px solid var(--border);font-size:12.5px;cursor:pointer;}
.app-directory .adi:hover{background:rgba(255,255,255,.1);}

.lt-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff5c5c;margin-right:5px;animation:ltPulse 1.4s ease-in-out infinite;}
@keyframes ltPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.lt-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);}
.lt-pos{width:20px;flex:none;font-weight:700;font-size:13px;text-align:center;color:var(--text-dim);}
.lt-swatch{width:4px;height:24px;flex:none;border-radius:1px;}
.lt-info{flex:1;min-width:0;}
.lt-name{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
.lt-team{font-size:10.5px;color:var(--text-dim);}
.lt-gap{flex:none;font-size:11.5px;color:var(--text-dim);font-variant-numeric:tabular-nums;}

.calc{display:flex;flex-direction:column;height:100%;}
.calc-display{padding:20px 16px;text-align:right;font-size:34px;font-weight:300;background:rgba(255,255,255,.04);word-break:break-all;}
.calc-grid{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);}
.calc-grid button{border:none;background:var(--window-bg);color:var(--text);font-size:17px;cursor:pointer;}
.calc-grid button:hover{background:rgba(255,255,255,.1);}
.calc-grid button.op{color:var(--accent);font-weight:700;}
.calc-grid button.eq{background:var(--accent);color:#fff;}

.about-hero{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 20px;text-align:center;}
.about-list{padding:0 24px 20px;font-size:13px;color:var(--text-dim);line-height:1.8;}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:14px;}
.gallery .card{border-radius:2px;overflow:hidden;height:110px;background-size:cover;background-position:center;position:relative;cursor:pointer;}
.gallery .card span{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.5);color:#fff;font-size:11px;padding:4px 6px;}

.notes-list{display:flex;flex-direction:column;gap:8px;padding:10px;}
.note-item{background:rgba(255,220,120,.15);border:1px solid var(--border);border-radius:2px;padding:8px;font-size:12px;}

@media (max-width:640px){
  #launchpad-grid{grid-template-columns:repeat(3,86px);}
  .window{min-width:220px;}
  .mb-menu{display:none;}
}
