/* ═══════════════════════════════════════════════════════════
   SentinelOS — پوسته‌ی سیستم به سبک Windows 11 (Fluent Design)
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700&display=swap');

/* ───────── توکن‌های Fluent ───────── */
:root{
  --accent:#0078d4;
  --accent-l:#4cc2ff;
  --accent-d:#005a9e;
  --accent-txt:#ffffff;

  /* تم تاریک (پیش‌فرض) */
  --solid:#202020;
  --layer:#2b2b2b;
  --layer2:#323232;
  --card:#2d2d2d;
  --card-h:#333333;
  --mica:rgba(32,32,32,.78);
  --acrylic:rgba(44,44,44,.72);
  --acrylic-thin:rgba(58,58,58,.65);
  --stroke:rgba(255,255,255,.0837);
  --stroke-s:rgba(255,255,255,.16);
  --divider:rgba(255,255,255,.0837);
  --txt:#ffffff;
  --txt2:rgba(255,255,255,.786);
  --txt3:rgba(255,255,255,.545);
  --txt-dis:rgba(255,255,255,.363);
  --hover:rgba(255,255,255,.0605);
  --press:rgba(255,255,255,.0419);
  --sel:rgba(255,255,255,.0837);
  --shadow-flyout:0 8px 16px rgba(0,0,0,.28);
  --shadow-dialog:0 32px 64px rgba(0,0,0,.37),0 2px 21px rgba(0,0,0,.22);
  --shadow-win:0 16px 48px rgba(0,0,0,.42),0 0 0 1px rgba(0,0,0,.35);
  --ok:#6ccb5f; --warn:#fce100; --err:#ff99a4; --crit:#c42b1c;

  /* هندسه */
  --r-win:8px; --r-flyout:8px; --r-card:7px; --r-ctrl:4px; --r-tile:6px;
  --taskbar:48px;
  --caption:34px;

  --fs:'Vazirmatn','Segoe UI Variable Text','Segoe UI',system-ui,Tahoma,sans-serif;
  --fm:'Cascadia Code','Consolas','JetBrains Mono',monospace;

  --ease:cubic-bezier(.16,1,.3,1);
  --t-fast:.12s; --t:.2s; --t-slow:.35s;
}

[data-theme="light"]{
  --solid:#f3f3f3;
  --layer:#ffffff;
  --layer2:#f9f9f9;
  --card:#fbfbfb;
  --card-h:#f6f6f6;
  --mica:rgba(243,243,243,.82);
  --acrylic:rgba(252,252,252,.78);
  --acrylic-thin:rgba(249,249,249,.7);
  --stroke:rgba(0,0,0,.0578);
  --stroke-s:rgba(0,0,0,.16);
  --divider:rgba(0,0,0,.0578);
  --txt:#000000;
  --txt2:rgba(0,0,0,.6063);
  --txt3:rgba(0,0,0,.4458);
  --txt-dis:rgba(0,0,0,.3614);
  --hover:rgba(0,0,0,.0373);
  --press:rgba(0,0,0,.0241);
  --sel:rgba(0,0,0,.0578);
  --shadow-win:0 16px 48px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.08);
  --ok:#0f7b0f; --warn:#9d5d00; --err:#c42b1c;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden}
body{
  font-family:var(--fs);font-size:14px;line-height:1.6;color:var(--txt);
  background:#000;user-select:none;-webkit-font-smoothing:antialiased
}
button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:0;cursor:default}
input,textarea,select{font-family:inherit;font-size:inherit}
.hidden{display:none !important}
::-webkit-scrollbar{width:14px;height:14px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--txt-dis);border-radius:8px;border:5px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--txt3);background-clip:content-box;border:4px solid transparent}
.screen{position:fixed;inset:0}

/* ═══════════ کاغذدیواری ═══════════ */
.wallpaper{
  position:absolute;inset:0;overflow:hidden;
  background:linear-gradient(160deg,#1a1240 0%,#241a5c 22%,#0f3a86 55%,#0a5ea8 78%,#063a6b 100%)
}
[data-theme="light"] .wallpaper{
  background:linear-gradient(160deg,#3a2a8c 0%,#3f5fd0 30%,#2e8fe0 60%,#5ec8f0 85%,#a8e4f5 100%)
}
.wallpaper::before{
  content:'';position:absolute;inset:-20%;
  background:
    radial-gradient(closest-side at 50% 46%,rgba(120,190,255,.55),transparent 70%),
    radial-gradient(closest-side at 38% 55%,rgba(150,110,255,.45),transparent 68%),
    radial-gradient(closest-side at 62% 55%,rgba(60,220,220,.32),transparent 66%);
  filter:blur(28px)
}
.wallpaper .bloom{
  position:absolute;left:50%;top:47%;width:min(78vh,900px);height:min(78vh,900px);
  transform:translate(-50%,-50%);opacity:.92
}
.wallpaper .bloom span{
  position:absolute;inset:0;border-radius:46% 54% 50% 50%/48% 46% 54% 52%;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(120,200,255,.30),rgba(160,120,255,.22));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 80px rgba(255,255,255,.14),0 0 90px rgba(90,170,255,.30);
  backdrop-filter:blur(2px)
}
.wallpaper .bloom span:nth-child(1){transform:rotate(0deg) scale(1)}
.wallpaper .bloom span:nth-child(2){transform:rotate(45deg) scale(.86);opacity:.8}
.wallpaper .bloom span:nth-child(3){transform:rotate(90deg) scale(.72);opacity:.7}
.wallpaper .bloom span:nth-child(4){transform:rotate(135deg) scale(.58);opacity:.6}
.wallpaper .bloom span:nth-child(5){transform:rotate(22deg) scale(.42);opacity:.5}
.wallpaper .vign{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 50%,transparent 40%,rgba(0,0,0,.35))}

/* ═══════════ صفحه بوت ═══════════ */
#boot{background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.boot-logo{font-size:80px;line-height:1;filter:drop-shadow(0 0 30px rgba(0,120,212,.5))}
.boot-brand{margin-top:18px;font-size:22px;font-weight:300;letter-spacing:2px;color:#fff}
.spinner{position:relative;width:44px;height:44px;margin-top:56px}
.spinner i{
  position:absolute;top:0;left:50%;width:4px;height:4px;border-radius:50%;background:#fff;
  transform-origin:2px 22px;animation:spin 2.6s linear infinite;opacity:.9
}
.spinner i:nth-child(1){animation-delay:-.16s}
.spinner i:nth-child(2){animation-delay:-.32s}
.spinner i:nth-child(3){animation-delay:-.48s}
.spinner i:nth-child(4){animation-delay:-.64s}
.spinner i:nth-child(5){animation-delay:-.8s}
@keyframes spin{
  0%{transform:rotate(0deg) translateY(0)}
  35%{transform:rotate(340deg) translateY(0)}
  70%{transform:rotate(560deg) translateY(0)}
  100%{transform:rotate(720deg) translateY(0)}
}
.boot-msg{margin-top:34px;color:rgba(255,255,255,.8);font-size:13.5px;font-weight:300;height:20px}
.boot-note{position:absolute;bottom:34px;color:rgba(255,255,255,.42);font-size:12px}

/* ═══════════ صفحه قفل ═══════════ */
#lock{overflow:hidden;cursor:pointer}
#lock .wallpaper{transition:filter .45s var(--ease),transform .45s var(--ease)}
#lock.up .wallpaper{filter:blur(22px) brightness(.7);transform:scale(1.06)}
.lk-time{
  position:absolute;left:0;right:0;top:16vh;text-align:center;color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.5);transition:.45s var(--ease)
}
#lock.up .lk-time{opacity:0;transform:translateY(-40px)}
.lk-time .t{font-size:96px;font-weight:200;line-height:1;letter-spacing:-2px}
.lk-time .d{font-size:26px;font-weight:300;margin-top:6px}
.lk-hint{
  position:absolute;bottom:12vh;left:0;right:0;text-align:center;color:rgba(255,255,255,.85);
  font-size:13px;text-shadow:0 1px 8px rgba(0,0,0,.5);animation:bob 2.6s ease-in-out infinite
}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(-6px);opacity:1}}
#lock.up .lk-hint{display:none}
.lk-signin{
  position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;
  gap:0;color:#fff;cursor:default
}
#lock.up .lk-signin{display:flex;animation:fadeUp .4s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}}
.lk-av{
  width:108px;height:108px;border-radius:50%;display:grid;place-items:center;font-size:52px;
  background:linear-gradient(135deg,#0078d4,#4cc2ff);box-shadow:0 8px 30px rgba(0,0,0,.4)
}
.lk-name{font-size:28px;font-weight:400;margin-top:16px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.lk-field{
  margin-top:20px;display:flex;align-items:center;gap:0;width:300px;height:36px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);
  border-bottom:2px solid rgba(255,255,255,.6);border-radius:var(--r-ctrl);overflow:hidden;
  backdrop-filter:blur(20px)
}
.lk-field input{
  flex:1;height:100%;background:none;border:0;outline:none;color:#fff;padding:0 12px;font-size:14px
}
.lk-field input::placeholder{color:rgba(255,255,255,.7)}
.lk-go{
  width:36px;height:100%;display:grid;place-items:center;color:#fff;
  border-inline-start:1px solid rgba(255,255,255,.25);cursor:pointer;font-size:15px
}
.lk-go:hover{background:rgba(255,255,255,.14)}
.lk-sub{margin-top:14px;font-size:12.5px;color:rgba(255,255,255,.8)}
.lk-corner{position:absolute;bottom:22px;display:flex;gap:6px}
.lk-corner.r{right:22px}
.lk-corner button{
  width:38px;height:38px;border-radius:var(--r-ctrl);display:grid;place-items:center;
  color:#fff;font-size:15px;cursor:pointer
}
.lk-corner button:hover{background:rgba(255,255,255,.14)}

/* ═══════════ دسکتاپ ═══════════ */
#desktop{overflow:hidden}
#deskIcons{
  position:absolute;top:8px;left:8px;bottom:calc(var(--taskbar) + 8px);
  display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:2px;z-index:1
}
.dicon{
  width:82px;padding:8px 4px 6px;border-radius:var(--r-ctrl);
  display:flex;flex-direction:column;align-items:center;gap:5px;cursor:default;
  border:1px solid transparent
}
.dicon:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.12)}
.dicon.sel{background:rgba(0,120,212,.42);border-color:rgba(120,190,255,.55)}
.dicon .ic{font-size:34px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.dicon .nm{
  font-size:11.5px;color:#fff;text-align:center;line-height:1.35;word-break:break-word;
  text-shadow:0 1px 3px rgba(0,0,0,.8);max-height:2.7em;overflow:hidden
}

/* ═══════════ نوار وظیفه ═══════════ */
#taskbar{
  position:absolute;left:0;right:0;bottom:0;height:var(--taskbar);z-index:900;
  display:flex;align-items:center;
  background:var(--acrylic);backdrop-filter:blur(40px) saturate(140%);
  border-top:1px solid var(--stroke)
}
.tb-left{flex:1;display:flex;align-items:center;padding-inline-start:8px}
.tb-center{
  position:absolute;left:50%;top:0;height:100%;
  transform:translateX(-50%);display:flex;align-items:center;gap:2px;
  max-width:calc(100% - 320px);overflow-x:auto;scrollbar-width:none
}
.tb-center::-webkit-scrollbar{display:none}
.tb-right{flex:0 0 auto;display:flex;align-items:center;gap:2px;padding-inline-end:6px;z-index:2}
.tbtn{
  width:40px;height:40px;border-radius:var(--r-ctrl);display:grid;place-items:center;position:relative;
  font-size:21px;line-height:1;transition:background var(--t-fast);cursor:default;flex:0 0 auto
}
.tbtn:hover{background:var(--hover)}
.tbtn:active{background:var(--press);transform:scale(.96)}
.tbtn.on{background:var(--sel)}
.tbtn .ind{
  position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  height:3px;width:6px;border-radius:2px;background:var(--txt3);transition:var(--t) var(--ease);opacity:0
}
.tbtn.run .ind{opacity:1}
.tbtn.act .ind{width:17px;background:var(--accent-l)}
.tbtn .tip{
  position:absolute;bottom:50px;left:50%;transform:translateX(-50%) translateY(6px);
  background:var(--acrylic);backdrop-filter:blur(30px);border:1px solid var(--stroke);
  color:var(--txt);font-size:12px;padding:5px 11px;border-radius:var(--r-ctrl);white-space:nowrap;
  opacity:0;pointer-events:none;transition:var(--t);box-shadow:var(--shadow-flyout);z-index:5
}
.tbtn:hover .tip{opacity:1;transform:translateX(-50%) translateY(0)}
.tb-tray{
  display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-radius:var(--r-ctrl);
  font-size:14px;transition:background var(--t-fast)
}
.tb-tray:hover{background:var(--hover)}
.tb-clock{
  height:36px;padding:0 10px;border-radius:var(--r-ctrl);display:flex;flex-direction:column;
  align-items:flex-end;justify-content:center;font-size:12px;line-height:1.35;
  transition:background var(--t-fast);font-variant-numeric:tabular-nums
}
.tb-clock:hover{background:var(--hover)}
.tb-clock .d{font-size:11.5px;color:var(--txt2)}
.tb-show{width:8px;height:100%;margin-inline-start:2px;border-inline-start:1px solid var(--stroke)}
.tb-show:hover{background:var(--hover)}
.tb-badge{
  position:absolute;top:5px;right:5px;min-width:8px;height:8px;border-radius:99px;
  background:var(--accent-l);border:2px solid rgba(32,32,32,.9)
}
.tb-xp{
  display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:99px;
  background:var(--hover);font-size:12px;margin-inline-end:4px
}
.tb-xp .bar{width:56px;height:4px;border-radius:9px;background:var(--stroke-s);overflow:hidden}
.tb-xp .bar i{display:block;height:100%;background:var(--accent-l);border-radius:9px;transition:width .6s var(--ease)}

/* ═══════════ فلای‌اوت‌ها ═══════════ */
.flyout{
  position:absolute;z-index:950;background:var(--acrylic);backdrop-filter:blur(60px) saturate(160%);
  border:1px solid var(--stroke-s);border-radius:var(--r-flyout);box-shadow:var(--shadow-dialog);
  animation:flyIn .3s var(--ease);transform-origin:bottom center
}
@keyframes flyIn{from{opacity:0;transform:translateY(28px) scale(.97)}}

/* منوی Start */
#start{
  bottom:calc(var(--taskbar) + 8px);left:0;right:0;margin:0 auto;
  width:min(96vw,640px);padding:28px 0 0;display:flex;flex-direction:column;max-height:76vh
}
.st-search{
  margin:0 56px 22px;height:36px;display:flex;align-items:center;gap:9px;padding:0 12px;
  background:var(--layer);border:1px solid var(--stroke-s);border-bottom-width:2px;
  border-radius:var(--r-ctrl);color:var(--txt3)
}
.st-search input{flex:1;background:none;border:0;outline:none;color:var(--txt);font-size:13.5px}
.st-hd{display:flex;align-items:center;justify-content:space-between;margin:0 56px 10px;font-size:13px;font-weight:600}
.st-more{
  height:28px;padding:0 12px;border-radius:var(--r-ctrl);background:var(--card);
  border:1px solid var(--stroke);font-size:11.5px;color:var(--txt);cursor:default
}
.st-more:hover{background:var(--card-h)}
.st-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:2px;margin:0 46px;overflow-y:auto;
  padding-bottom:8px;min-height:200px;align-content:start
}
.st-app{
  padding:14px 4px 10px;border-radius:var(--r-card);display:flex;flex-direction:column;
  align-items:center;gap:6px;cursor:default;transition:background var(--t-fast)
}
.st-app:hover{background:var(--hover)}
.st-app:active{transform:scale(.97)}
.st-app .i{font-size:30px;line-height:1}
.st-app .n{font-size:11.5px;color:var(--txt);text-align:center;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.st-rec{margin:14px 46px 0}
.st-rec .row{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px}
.st-ri{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r-card);transition:background var(--t-fast)}
.st-ri:hover{background:var(--hover)}
.st-ri .i{font-size:24px}
.st-ri .tx b{display:block;font-size:12.5px;font-weight:500}
.st-ri .tx span{font-size:11px;color:var(--txt3)}
.st-foot{
  margin-top:16px;padding:12px 46px;display:flex;align-items:center;justify-content:space-between;
  background:var(--acrylic-thin);border-top:1px solid var(--stroke);
  border-radius:0 0 var(--r-flyout) var(--r-flyout)
}
.st-user{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--r-ctrl)}
.st-user:hover{background:var(--hover)}
.st-user .av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:16px;
  background:linear-gradient(135deg,#0078d4,#4cc2ff)}
.st-user .nm{font-size:13px;font-weight:500}
.st-pwr{width:36px;height:36px;border-radius:var(--r-ctrl);display:grid;place-items:center;font-size:16px}
.st-pwr:hover{background:var(--hover)}

/* Quick Settings */
#quick{bottom:calc(var(--taskbar) + 8px);inset-inline-end:10px;width:min(94vw,360px);padding:16px;transform-origin:bottom right}
.qs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.qs-tile{
  height:72px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--stroke);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  font-size:11px;color:var(--txt2);transition:var(--t-fast)
}
.qs-tile:hover{background:var(--card-h)}
.qs-tile .i{font-size:18px}
.qs-tile.on{background:var(--accent);border-color:var(--accent);color:#fff}
.qs-slider{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:15px;color:var(--txt2)}
.qs-slider input{
  flex:1;-webkit-appearance:none;height:4px;border-radius:9px;background:var(--stroke-s);outline:none
}
.qs-slider input::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);
  border:4px solid var(--solid);box-shadow:0 0 0 1px var(--stroke-s);cursor:pointer
}
.qs-foot{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--divider)}
.qs-foot button{width:34px;height:34px;border-radius:var(--r-ctrl);display:grid;place-items:center;font-size:15px}
.qs-foot button:hover{background:var(--hover)}

/* مرکز اعلان + تقویم */
#notifc{bottom:calc(var(--taskbar) + 8px);inset-inline-end:10px;width:min(94vw,390px);padding:14px;
  max-height:72vh;overflow-y:auto;transform-origin:bottom right}
.nc-hd{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--txt2);margin-bottom:10px}
.nc-hd button{font-size:11.5px;color:var(--accent-l)}
.nc-item{
  background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-card);
  padding:12px 14px;margin-bottom:8px;position:relative
}
.nc-item .t{font-size:12.5px;font-weight:600;margin-bottom:2px}
.nc-item .m{font-size:12px;color:var(--txt2);line-height:1.55}
.nc-item .g{font-size:10.5px;color:var(--txt3);margin-top:4px}
.nc-empty{text-align:center;color:var(--txt3);padding:26px;font-size:12.5px}
.cal{margin-top:14px;border-top:1px solid var(--divider);padding-top:14px}
.cal-hd{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:10px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-grid span{font-size:11px;color:var(--txt3);padding:5px 0}
.cal-grid b{font-size:12px;font-weight:400;padding:6px 0;border-radius:50%}
.cal-grid b.now{background:var(--accent);color:#fff;font-weight:600}

/* منوی راست‌کلیک Win11 */
.ctx{
  position:absolute;z-index:990;min-width:230px;padding:5px;
  background:var(--acrylic);backdrop-filter:blur(60px) saturate(160%);
  border:1px solid var(--stroke-s);border-radius:var(--r-flyout);box-shadow:var(--shadow-flyout);
  animation:ctxIn .16s var(--ease)
}
@keyframes ctxIn{from{opacity:0;transform:scale(.96)}}
.ctx-row{display:flex;gap:4px;padding:3px;margin-bottom:4px;border-bottom:1px solid var(--divider)}
.ctx-row button{flex:1;height:36px;border-radius:var(--r-ctrl);display:grid;place-items:center;font-size:15px}
.ctx-row button:hover{background:var(--hover)}
.ctx button.it{
  display:flex;align-items:center;gap:12px;width:100%;height:34px;padding:0 12px;
  border-radius:var(--r-ctrl);font-size:12.5px;text-align:start
}
.ctx button.it:hover{background:var(--hover)}
.ctx button.it .i{width:16px;text-align:center;font-size:14px;color:var(--txt2)}
.ctx button.it .k{margin-inline-start:auto;font-size:11px;color:var(--txt3)}
.ctx hr{border:0;border-top:1px solid var(--divider);margin:4px 8px}

/* ═══════════ پنجره ═══════════ */
.win{
  position:absolute;display:flex;flex-direction:column;overflow:hidden;
  background:var(--solid);border-radius:var(--r-win);box-shadow:var(--shadow-win);
  border:1px solid var(--stroke);min-width:340px;min-height:220px;
  animation:winIn .22s var(--ease)
}
@keyframes winIn{from{opacity:0;transform:scale(.94)}}
.win.max{border-radius:0;border:0}
.win.min{display:none}
.win.snap{transition:all .18s var(--ease)}
.win-cap{
  height:var(--caption);flex:0 0 auto;display:flex;align-items:center;
  background:var(--layer);border-bottom:1px solid var(--divider);padding-inline-start:12px
}
.win.focus .win-cap{background:var(--layer)}
.win:not(.focus) .win-cap{background:var(--solid)}
.win:not(.focus){opacity:.98}
.win:not(.focus) .win-ttl{color:var(--txt3)}
.win-ttl{
  flex:1;display:flex;align-items:center;gap:9px;font-size:12px;color:var(--txt);
  overflow:hidden;white-space:nowrap;padding-inline-start:2px
}
.win-ttl .i{font-size:14px;flex:0 0 auto}
.win-ttl .t{overflow:hidden;text-overflow:ellipsis}
.win-ctl{display:flex;flex:0 0 auto;height:100%;direction:ltr}
.win-ctl button{
  width:46px;height:100%;display:grid;place-items:center;font-size:11px;color:var(--txt);
  transition:background var(--t-fast);font-family:var(--fm)
}
.win-ctl button:hover{background:var(--hover)}
.win-ctl button.cl:hover{background:var(--crit);color:#fff}
.win-body{flex:1;overflow:auto;position:relative;background:var(--solid)}
.rz{position:absolute;z-index:6}
.rz.e{top:0;bottom:0;left:0;width:6px;cursor:ew-resize}
.rz.w{top:0;bottom:0;right:0;width:6px;cursor:ew-resize}
.rz.s{left:0;right:0;bottom:0;height:6px;cursor:ns-resize}
.rz.se{left:0;bottom:0;width:14px;height:14px;cursor:nesw-resize}
.rz.sw{right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize}

/* Snap Layouts */
#snap{
  position:absolute;z-index:960;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px;
  background:var(--acrylic);backdrop-filter:blur(50px);border:1px solid var(--stroke-s);
  border-radius:var(--r-flyout);box-shadow:var(--shadow-flyout);animation:ctxIn .15s var(--ease)
}
.snap-l{display:grid;gap:3px;width:104px;height:64px;padding:5px;border-radius:var(--r-ctrl)}
.snap-l:hover{background:var(--hover)}
.snap-l i{background:var(--txt3);border-radius:3px;transition:background var(--t-fast)}
.snap-l:hover i{background:var(--accent-l)}
.snap-l.a{grid-template-columns:1fr 1fr}
.snap-l.b{grid-template-columns:2fr 1fr}
.snap-l.c{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.snap-l.d{grid-template-columns:1fr 1fr}
.snap-l.d i:first-child{grid-row:span 2}
.snap-l.d{grid-template-rows:1fr 1fr}
.snap-prev{
  position:absolute;z-index:700;background:rgba(0,120,212,.28);border:2px solid var(--accent-l);
  border-radius:var(--r-win);pointer-events:none;transition:all .12s var(--ease)
}

/* ═══════════ دیالوگ خاموش ═══════════ */
.overlay{
  position:absolute;inset:0;z-index:1000;display:grid;place-items:center;
  background:rgba(0,0,0,.55);backdrop-filter:blur(14px);animation:fade .2s
}
@keyframes fade{from{opacity:0}}
.dlg{
  width:min(92vw,420px);background:var(--solid);border:1px solid var(--stroke-s);
  border-radius:var(--r-win);box-shadow:var(--shadow-dialog);overflow:hidden
}
.dlg-b{padding:24px}
.dlg-t{font-size:19px;font-weight:600;margin-bottom:8px}
.dlg-m{font-size:13px;color:var(--txt2);margin-bottom:18px}
.dlg-opts{display:grid;gap:8px}
.dlg-opts button{
  display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:var(--r-card);
  background:var(--card);border:1px solid var(--stroke);font-size:13.5px;text-align:start
}
.dlg-opts button:hover{background:var(--card-h);border-color:var(--stroke-s)}
.dlg-opts button .i{font-size:19px}
.dlg-f{padding:16px 24px;background:var(--layer2);border-top:1px solid var(--divider);display:flex;justify-content:flex-end}
.btn{
  height:34px;padding:0 22px;border-radius:var(--r-ctrl);background:var(--card);
  border:1px solid var(--stroke-s);font-size:13px
}
.btn:hover{background:var(--card-h)}
.btn.p{background:var(--accent);border-color:transparent;color:#fff}
.btn.p:hover{background:var(--accent-d)}

#off{background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.pwr-on{
  width:88px;height:88px;border-radius:50%;font-size:34px;color:#555;border:2px solid #333;
  transition:.3s var(--ease);cursor:pointer
}
.pwr-on:hover{color:var(--accent-l);border-color:var(--accent);box-shadow:0 0 44px rgba(0,120,212,.4)}
.off-t{color:#555;font-size:14px}

/* ═══════════ توست ═══════════ */
#toasts{position:fixed;bottom:calc(var(--taskbar) + 14px);right:14px;z-index:1100;display:flex;flex-direction:column;gap:10px}
.toast{
  width:min(88vw,340px);background:var(--acrylic);backdrop-filter:blur(50px);
  border:1px solid var(--stroke-s);border-radius:var(--r-flyout);padding:13px 16px;
  box-shadow:var(--shadow-flyout);animation:toastIn .3s var(--ease);display:flex;gap:12px
}
@keyframes toastIn{from{opacity:0;transform:translateX(40px)}}
.toast .ti{font-size:20px;flex:0 0 auto}
.toast .t{font-size:12.5px;font-weight:600}
.toast .m{font-size:11.5px;color:var(--txt2);line-height:1.5}

/* ═══════════ موبایل ═══════════ */
#mnav{
  position:absolute;left:0;right:0;bottom:0;height:60px;z-index:900;display:none;
  background:var(--acrylic);backdrop-filter:blur(40px);border-top:1px solid var(--stroke);
  padding-bottom:env(safe-area-inset-bottom)
}
.mn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:10px;color:var(--txt3)}
.mn .i{font-size:20px}
.mn.act{color:var(--accent-l)}

@media (max-width:860px){
  :root{--taskbar:0px;--caption:44px}
  #taskbar{display:none}
  #mnav{display:flex}
  #deskIcons{
    top:14px;left:0;right:0;bottom:74px;padding:0 10px;
    flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:2px
  }
  .dicon{width:25%;padding:10px 3px}
  .dicon .ic{font-size:30px}
  .win{
    inset:0 0 60px 0 !important;width:auto !important;height:auto !important;
    border-radius:0;border:0;animation:winInM .2s var(--ease)
  }
  @keyframes winInM{from{opacity:0;transform:translateY(20px)}}
  .rz{display:none}
  .win-ctl button:not(.cl){display:none}
  .win-ctl button{width:52px}
  #start,#quick,#notifc{
    bottom:70px;left:8px;right:8px;width:auto;transform:none;max-height:74vh;overflow-y:auto
  }
  .st-search,.st-hd,.st-rec{margin-left:16px;margin-right:16px}
  .st-grid{grid-template-columns:repeat(4,1fr);margin:0 10px}
  .st-foot{padding:12px 16px}
  .lk-time .t{font-size:64px}
  .lk-time .d{font-size:19px}
}
@media (max-width:420px){
  .dicon{width:33.33%}
  .st-grid{grid-template-columns:repeat(3,1fr)}
}

/* ═══════════ ویجت هوا در نوار وظیفه ═══════════ */
.tb-weather{
  display:flex;align-items:center;gap:9px;height:40px;padding:0 12px;
  border-radius:var(--r-ctrl);transition:background var(--t-fast)
}
.tb-weather:hover{background:var(--hover)}
.tb-weather .ic{font-size:20px}
.tb-weather .tx{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.tb-weather .tx b{font-size:12.5px;font-weight:600}
.tb-weather .tx span{font-size:10.5px;color:var(--txt3)}

#widgets{bottom:calc(var(--taskbar) + 8px);inset-inline-start:10px;width:min(94vw,380px);padding:16px;transform-origin:bottom left}
.wg-hd{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--txt2)}
.wg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wg{
  background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-card);padding:14px 15px
}
.wg.wg-full{grid-column:1/-1}
.wg.wg-w{background:linear-gradient(135deg,rgba(0,120,212,.28),rgba(76,194,255,.12))}
.wg-t{font-size:11px;color:var(--txt3);margin-bottom:7px}
.wg-big{font-size:22px;font-weight:700}
.wg-s{font-size:11.5px;color:var(--txt2);margin-top:5px;line-height:1.7}

/* ═══════════ نمای وظیفه (Task View) ═══════════ */
#taskview{background:rgba(0,0,0,.5);backdrop-filter:blur(28px)}
.tv-wrap{width:min(94vw,1000px);max-height:80vh;overflow-y:auto;padding:10px}
.tv-hd{font-size:13px;color:var(--txt2);margin-bottom:14px;text-align:center}
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.tv-card{
  background:var(--acrylic);backdrop-filter:blur(30px);border:1px solid var(--stroke-s);
  border-radius:var(--r-win);overflow:hidden;transition:var(--t-fast);text-align:start
}
.tv-card:hover{border-color:var(--accent-l);transform:translateY(-4px);box-shadow:var(--shadow-dialog)}
.tv-top{display:flex;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid var(--divider);font-size:12px}
.tv-top .x{margin-inline-start:auto;opacity:.5;font-size:13px}
.tv-top .x:hover{opacity:1;color:var(--crit)}
.tv-prev{
  height:112px;display:grid;place-items:center;font-size:40px;
  background:linear-gradient(135deg,rgba(0,120,212,.14),rgba(169,123,255,.1))
}
.tv-empty{text-align:center;color:var(--txt2);padding:60px;font-size:14px}
