/* ==========================================================================
   Balintweb — desktop OS demo skin
   Design language borrowed from another-chapter.online:
   Quantico type, Win95 bevels (#fff top/left, #888 right/bottom, 1px 1px #000
   drop), XP Luna title bars, no radii, no transitions on interactive chrome.
   Brand colours (indigo / coral) survive as accents only.
   ========================================================================== */

:root{
  /* brand */
  --indigo:#4B3FB5;
  --coral:#FF6B4A;
  --ink:#0E0B1F;

  /* os palette */
  --face:#f0f0f0;        /* 95-era button / panel face */
  --face-xp:#ece9d8;     /* XP window body */
  --frame:#0f54d7;       /* XP window frame blue */
  --hi:#ffffff;
  --lo:#888888;
  --lo-2:#555555;
  --line:#cccccc;
  --desk:#3a6ea5;

  --bar-h:38px;          /* taskbar height */
}

*,*::before,*::after{box-sizing:border-box}

html,body{height:100%}

body{
  margin:0;
  font-family:Quantico,Tahoma,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.6;
  color:#000;
  background:var(--desk);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}

a{color:#000}
a:hover{color:var(--lo-2)}

h1,h2,h3,h4{font-weight:700;letter-spacing:.03em;margin:0 0 8px}
h1{font-size:1.4rem}
h2{font-size:1.05rem}
h3{font-size:.9rem}
p{margin:0 0 12px}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:99999;background:#fff;padding:6px 10px;border:2px solid #000}

/* --------------------------------------------------------------- bevels -- */
.bevel{
  border:2px solid;
  border-top-color:var(--hi);
  border-left-color:var(--hi);
  border-right-color:var(--lo);
  border-bottom-color:var(--lo);
  box-shadow:1px 1px 0 #000;
  background:var(--face);
}
.bevel--in{
  border-top-color:var(--lo);
  border-left-color:var(--lo);
  border-right-color:var(--hi);
  border-bottom-color:var(--hi);
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.15);
}

/* ------------------------------------------------------------- controls -- */
.btn{
  font:700 .78rem/1 Quantico,Tahoma,sans-serif;
  letter-spacing:.06em;
  padding:8px 16px;
  color:#000;
  background:var(--face);
  border:2px solid;
  border-top-color:var(--hi);
  border-left-color:var(--hi);
  border-right-color:var(--lo);
  border-bottom-color:var(--lo);
  box-shadow:1px 1px 0 #000;
  border-radius:0;
  cursor:pointer;
  transition:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
}
.btn:hover{background:#e0e0e0}
.btn:active{
  border-top-color:var(--lo);
  border-left-color:var(--lo);
  border-right-color:var(--hi);
  border-bottom-color:var(--hi);
  box-shadow:none;
  transform:translate(1px,1px);
}
.btn--primary{
  background:#000;color:#fff;
  border-top-color:var(--lo-2);
  border-left-color:var(--lo-2);
  border-right-color:#000;
  border-bottom-color:#000;
}
.btn--primary:hover{background:#333;color:#fff}
.btn--indigo{
  background:var(--indigo);color:#fff;
  border-top-color:#7b70d6;
  border-left-color:#7b70d6;
  border-right-color:#2c2478;
  border-bottom-color:#2c2478;
}
.btn--indigo:hover{background:#5a4dcc;color:#fff}

.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}

input,textarea,select{
  font:400 .85rem Quantico,Tahoma,sans-serif;
  background:#fff;
  border:2px solid;
  border-top-color:#7d7d7d;
  border-left-color:#7d7d7d;
  border-right-color:var(--hi);
  border-bottom-color:var(--hi);
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.15);
  border-radius:0;
  padding:6px 8px;
  width:100%;
  color:#000;
}
input:focus,textarea:focus,select:focus{outline:1px dotted #000;outline-offset:1px}
label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lo-2);margin:0 0 12px}
label > input,label > textarea,label > select{margin-top:4px}

/* =============================================================== power-on = */
#power{position:fixed;inset:0;z-index:1000001;background:#000;pointer-events:none}
#power .cur{position:absolute;left:18px;top:16px;width:9px;height:15px;background:#cfcfcf;animation:pwBlink .5s steps(1) infinite}
#power .crt{position:absolute;left:0;right:0;top:50%;height:100%;transform:translateY(-50%) scaleY(0);background:#fff;opacity:0}
#power .flash{position:absolute;inset:0;background:#fff;opacity:0}
@keyframes pwBlink{50%{opacity:0}}
#power.play .cur{animation:pwBlink .5s steps(1) infinite,pwGone .01s linear .85s forwards}
#power.play .crt{animation:crtOn .18s cubic-bezier(.2,.9,.3,1) .85s forwards}
@keyframes crtOn{0%{opacity:1;transform:translateY(-50%) scaleY(.004)}100%{opacity:1;transform:translateY(-50%) scaleY(1)}}
#power.play .flash{animation:flash .45s ease-out 1s forwards}
@keyframes flash{0%{opacity:1}100%{opacity:0}}
#power.play{animation:pwGone .3s ease 1.35s forwards}
@keyframes pwGone{0%{opacity:1}100%{opacity:0;visibility:hidden}}

/* ================================================================== enter = */
#enter{
  position:fixed;inset:0;z-index:999999;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s cubic-bezier(.16,1,.3,1);
}
#enter.cleared{opacity:0;pointer-events:none}
#enter .enter-win{width:min(86vw,340px);margin-bottom:calc(var(--bar-h) + 20px);
  transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .6s ease}
#enter.cleared .enter-win{transform:translateY(-5%) scale(1.3);opacity:0}
.enter-body{
  background:var(--face-xp);
  display:flex;flex-direction:column;align-items:center;gap:18px;
  padding:24px 22px 26px;
}
.enter-logo{width:104px;height:104px;border-radius:50%;overflow:hidden;position:relative;
  box-shadow:0 4px 12px rgba(0,0,0,.3);background:#fff}
.enter-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.enter-logo::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 3px)}
.enter-url{font-size:11px;letter-spacing:.12em;color:var(--lo-2);margin:-6px 0 0}
.loader{position:relative;width:150px;height:18px;background:#fff;border:1px solid;
  border-color:#7d7d7d #fff #fff #7d7d7d;overflow:hidden;padding:2px}
.loader i{position:absolute;top:2px;bottom:2px;width:9px;
  background:linear-gradient(#9ed0ff,#2f86df 55%,#1763cf);animation:march 1.5s linear infinite}
.loader i:nth-child(2){animation-delay:.12s}
.loader i:nth-child(3){animation-delay:.24s}
@keyframes march{0%{transform:translateX(-14px)}70%,100%{transform:translateX(150px)}}
.enterbtn{
  font:700 .8rem Quantico,Tahoma,sans-serif;letter-spacing:.18em;
  padding:8px 30px;cursor:pointer;color:#000;background:var(--face);
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);box-shadow:1px 1px 0 #000;
}
.enterbtn:active{border-top-color:var(--lo);border-left-color:var(--lo);
  border-right-color:var(--hi);border-bottom-color:var(--hi);box-shadow:none;transform:translate(1px,1px)}

/* ================================================================ desktop = */
#desktop{
  position:fixed;inset:0 0 var(--bar-h) 0;
  overflow:hidden;
  background:
    radial-gradient(160% 46% at 50% 116%, #8cc75a 0%, #61ab3d 30%, #47942f 52%, transparent 53%),
    linear-gradient(180deg,#1e63b8 0%,#4a95dd 42%,#8fc7ef 66%,#cfe6f5 74%,#a9d06a 74.5%,#5da137 100%);
}
#desktop::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(135% 105% at 50% 36%,transparent 55%,rgba(3,16,52,.22) 100%);
}
#desktop::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px);opacity:.5;
}

/* desktop icons */
.icons{position:absolute;top:14px;left:12px;z-index:2;
  display:flex;flex-direction:column;flex-wrap:wrap;gap:4px;max-height:calc(100% - 28px)}
.d-icon{
  width:88px;padding:6px 2px 8px;background:none;border:1px solid transparent;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font:700 .64rem Quantico,Tahoma,sans-serif;letter-spacing:.04em;color:#fff;
  text-shadow:1px 1px 2px rgba(0,0,0,.85);cursor:pointer;text-align:center;
}
.d-icon:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
.d-icon:focus-visible{outline:1px dotted #fff;background:rgba(255,255,255,.16)}
.d-icon .glyph{
  width:36px;height:36px;display:grid;place-items:center;
  background:var(--face);color:#000;
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);box-shadow:1px 1px 0 rgba(0,0,0,.6);
}
.d-icon .glyph svg{width:20px;height:20px}
.d-icon .cap{max-width:84px;word-break:break-word}

/* ================================================================= window = */
.win{
  position:absolute;z-index:10;
  background:var(--frame);
  padding:0 3px 3px;
  border-radius:8px 8px 4px 4px;
  box-shadow:0 10px 26px rgba(0,0,0,.45),0 2px 8px rgba(0,10,40,.35);
  display:flex;flex-direction:column;
  min-width:260px;min-height:140px;
  animation:winIn .16s ease-out;
}
@keyframes winIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.win[hidden]{display:none}
.win--blur{background:#7f9bd6}
.win--max{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0}
.win--min{display:none}

.win__bar{
  height:29px;flex:0 0 29px;display:flex;align-items:center;gap:6px;
  padding:0 5px 0 8px;color:#fff;position:relative;cursor:grab;
  background:linear-gradient(180deg,#0058ee 0%,#3593ff 4%,#288eff 6%,#127dff 8%,#036ffc 10%,
    #0262ee 14%,#0057e5 20%,#0054e3 24%,#0055eb 56%,#005bf5 66%,#026afe 76%,#0062ef 86%,
    #0052d6 92%,#0040ab 94%,#003399 100%);
  border-radius:6px 6px 0 0;
  user-select:none;touch-action:none;
}
.win--blur .win__bar{background:linear-gradient(180deg,#7ba2df 0%,#9ab8e8 8%,#7ba2df 40%,#6f97d6 100%)}
.win__bar:active{cursor:grabbing}
.win__bar::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.35),transparent 12px),
             linear-gradient(-90deg,rgba(255,255,255,.22),transparent 12px)}
.win__ico{width:16px;height:16px;position:relative;flex:0 0 16px}
.win__ico svg{width:16px;height:16px;display:block}
.win__title{flex:1;font-size:12.5px;font-weight:700;letter-spacing:.2px;position:relative;
  text-shadow:1px 1px 1px rgba(10,24,86,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win__btns{display:flex;gap:2px;position:relative}
.win__btns button{
  width:21px;height:21px;border-radius:3px;display:grid;place-items:center;
  font:700 11px/1 Quantico,Tahoma,sans-serif;color:#fff;cursor:pointer;padding:0;
  border:1px solid rgba(255,255,255,.85);
  background:radial-gradient(circle at 32% 24%,#cfe0ff 0%,#7da8ef 38%,#3b6fd6 72%,#2c5bc4 100%);
  box-shadow:0 1px 2px rgba(0,20,80,.5),inset 0 -3px 4px rgba(10,40,120,.55),inset 0 2px 2px rgba(255,255,255,.5);
}
.win__btns button:active{box-shadow:inset 0 2px 4px rgba(10,40,120,.7)}
.win__btns .b-close{
  text-shadow:0 1px 1px rgba(120,20,0,.7);
  background:radial-gradient(circle at 32% 24%,#ffd1b8 0%,#f0925e 36%,#dd5028 68%,#c03a14 100%);
  box-shadow:0 1px 2px rgba(80,10,0,.5),inset 0 -3px 4px rgba(140,30,0,.55),inset 0 2px 2px rgba(255,255,255,.5);
}

.win__menu{
  flex:0 0 auto;background:var(--face-xp);border-bottom:1px solid #aca899;
  display:flex;gap:2px;padding:2px 4px;font-size:11px;
}
.win__menu span{padding:2px 8px;border:1px solid transparent}
.win__menu span:hover{background:#316ac5;color:#fff}

.win__body{
  flex:1 1 auto;overflow:auto;background:var(--face-xp);
  padding:18px 20px 22px;border-radius:0 0 2px 2px;
  scrollbar-color:var(--face) #dcd8cc;
}
.win__body::-webkit-scrollbar{width:16px;height:16px;background:#dcd8cc}
.win__body::-webkit-scrollbar-thumb{background:var(--face);
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo)}

.win__status{
  flex:0 0 auto;background:var(--face-xp);border-top:1px solid #aca899;
  display:flex;gap:6px;padding:3px 6px;font-size:10px;color:var(--lo-2);letter-spacing:.06em;
}
.win__status span{padding:1px 6px;box-shadow:inset 1px 1px 0 #b6b0a0,inset -1px -1px 0 #fff}
.win__status span:first-child{flex:1}

.win__resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;
  background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.7) 50% 60%,transparent 60% 70%,
    rgba(255,255,255,.7) 70% 80%,transparent 80%);touch-action:none}
.win--max .win__resize{display:none}

/* ------------------------------------------------- window content styling - */
.eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--indigo);margin:0 0 4px}
.lead{font-size:.92rem}
.muted{color:var(--lo-2);font-size:.78rem}
.hr{border:0;border-top:1px solid #b9b4a3;border-bottom:1px solid #fff;margin:18px 0}

.head{display:flex;gap:14px;align-items:flex-start;margin-bottom:6px}
.head img{width:56px;height:56px;flex:0 0 56px}

.panel{background:#fff;padding:14px 16px;margin:0 0 14px;
  border:2px solid;border-top-color:#7d7d7d;border-left-color:#7d7d7d;
  border-right-color:var(--hi);border-bottom-color:var(--hi);
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.1)}

.grid{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.grid > *{flex:1 1 210px}

.tile{background:var(--face);padding:10px 12px;
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);box-shadow:1px 1px 0 #000}
.tile h3{margin:0 0 4px;font-size:.78rem;letter-spacing:.05em;display:flex;align-items:center;gap:7px}
.tile h3 svg{width:15px;height:15px;flex:0 0 15px;color:var(--indigo)}
.tile p{margin:0;font-size:.76rem;line-height:1.55;color:#333}

.stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.stat{flex:1 1 120px;background:#000;color:#fff;padding:9px 11px}
.stat .num{display:block;font-size:1.25rem;font-weight:700;letter-spacing:.04em;color:#fff}
.stat .num em{font-style:normal;color:var(--coral)}
.stat .label{display:block;font-size:.63rem;line-height:1.45;color:#c9c9c9;letter-spacing:.04em}

.list{list-style:none;margin:0 0 12px;padding:0}
.list li{position:relative;padding:0 0 0 22px;margin:0 0 6px;font-size:.8rem;line-height:1.55}
.list li::before{content:"";position:absolute;left:2px;top:.42em;width:8px;height:8px;
  background:var(--indigo);box-shadow:1px 1px 0 #000}

.steps{counter-reset:s;margin:0 0 12px}
.step{display:flex;gap:12px;margin:0 0 10px;align-items:flex-start}
.step .n{flex:0 0 34px;height:34px;display:grid;place-items:center;background:var(--indigo);color:#fff;
  font-size:.8rem;font-weight:700;box-shadow:1px 1px 0 #000}
.step h3{margin:0 0 2px;font-size:.8rem}
.step p{margin:0;font-size:.76rem;color:#333}

.faq{margin:0 0 8px}
.faq details{background:var(--face);margin:0 0 6px;
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);box-shadow:1px 1px 0 #000}
.faq summary{cursor:pointer;padding:8px 12px;font-size:.78rem;font-weight:700;letter-spacing:.04em;
  list-style:none;display:flex;gap:8px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";font-weight:700;color:var(--indigo)}
.faq details[open] summary::before{content:"\2212"}
.faq summary:hover{background:#e0e0e0}
.faq .a{padding:0 12px 10px 30px;font-size:.76rem;color:#333;line-height:1.6}

.project{display:flex;gap:12px;align-items:flex-start;background:var(--face);padding:10px;margin:0 0 10px;
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);box-shadow:1px 1px 0 #000}
.project .thumb{flex:0 0 82px;height:66px;background:#fff;display:grid;place-items:center;position:relative;
  border:2px solid;border-top-color:#7d7d7d;border-left-color:#7d7d7d;
  border-right-color:var(--hi);border-bottom-color:var(--hi)}
.project .thumb img{width:38px;height:38px;opacity:.55}
.project h3{margin:0 0 3px;font-size:.8rem}
.project p{margin:0 0 6px;font-size:.75rem;color:#333}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.tag{font-size:.6rem;font-weight:700;letter-spacing:.06em;padding:2px 6px;background:#000;color:#fff}
.badge{position:absolute;top:-2px;left:-2px;font-size:.5rem;font-weight:700;letter-spacing:.06em;
  background:var(--coral);color:#000;padding:1px 4px}

.chips{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}
.chip{font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:3px 9px;background:var(--face);
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo)}

.plan{flex:1 1 200px;background:var(--face);padding:12px;
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);box-shadow:1px 1px 0 #000}
.plan--featured{background:#000;color:#fff}
.plan--featured h3,.plan--featured .figure{color:#fff}
.plan--featured .list li{color:#e6e6e6}
.plan--featured .list li::before{background:var(--coral)}
.plan .flag{display:inline-block;font-size:.55rem;letter-spacing:.1em;font-weight:700;
  background:var(--coral);color:#000;padding:1px 6px;margin:0 0 6px}
.plan .figure{font-size:.85rem;font-weight:700;margin:0 0 2px}
.plan .pnote{font-size:.68rem;color:var(--lo-2);margin:0 0 8px}
.plan--featured .pnote{color:#bdbdbd}
.plan .list li{font-size:.72rem;margin-bottom:4px}

.kv{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:.78rem}
.kv th{text-align:left;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lo-2);
  border-bottom:2px solid #000;padding:4px 6px}
.kv td{border-bottom:1px solid var(--line);padding:6px}
.kv td:first-child{width:34%;font-weight:700}

.terminal{background:#000;color:#c8ffc8;font:12px/1.7 "Courier New",monospace;padding:12px 14px;margin:0 0 14px;
  border:2px solid;border-top-color:#7d7d7d;border-left-color:#7d7d7d;
  border-right-color:var(--hi);border-bottom-color:var(--hi)}
.terminal b{color:#fff}
.terminal .cursor{display:inline-block;width:8px;height:14px;background:#c8ffc8;vertical-align:-2px;
  animation:pwBlink .8s steps(1) infinite}

.note{display:flex;gap:10px;align-items:flex-start;background:#fffde7;padding:10px 12px;margin:0 0 12px;
  border:1px solid #b9b4a3;font-size:.74rem;line-height:1.55}
.note .bang{flex:0 0 20px;height:20px;display:grid;place-items:center;background:#e8b400;color:#000;
  font-weight:700;border:1px solid #000}

.form-row{display:flex;gap:10px;flex-wrap:wrap}
.form-row > label{flex:1 1 180px}

/* ================================================================ taskbar = */
#taskbar{
  position:fixed;left:0;right:0;bottom:0;height:var(--bar-h);z-index:900000;
  display:flex;align-items:center;gap:4px;padding:0 4px 0 0;
  background:linear-gradient(180deg,#3f8de0 0%,#2e7bd4 9%,#2472cc 18%,#2472cc 82%,#1a5fb4 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 -1px 6px rgba(10,45,90,.3);
}
#taskbar.bar95{background:var(--face);
  border-top:2px solid #fff;box-shadow:inset 0 -1px 0 var(--lo)}

.start{
  height:var(--bar-h);display:flex;align-items:center;gap:7px;padding:0 16px 0 10px;cursor:pointer;
  font:700 .8rem Quantico,Tahoma,sans-serif;color:#fff;letter-spacing:.04em;
  text-shadow:1px 1px 1px rgba(0,40,20,.6);border:0;
  background:linear-gradient(180deg,#5eb336 0%,#4a9c28 12%,#3f8f22 40%,#357f1c 78%,#2c6f16 100%);
  border-radius:0 8px 8px 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 3px rgba(40,90,20,.35),2px 0 4px rgba(10,45,90,.25);
}
.start:hover{filter:brightness(1.08)}
.start[aria-expanded="true"]{filter:brightness(.9);box-shadow:inset 0 2px 5px rgba(0,40,10,.45)}
.flag{width:17px;height:17px;display:grid;grid-template:1fr 1fr/1fr 1fr;gap:1.5px;transform:skewX(-8deg)}
.flag i{display:block}
.flag i:nth-child(1){background:var(--coral)}
.flag i:nth-child(2){background:#7bd44a}
.flag i:nth-child(3){background:#4aa8ff}
.flag i:nth-child(4){background:#ffd23f}

#tasks{flex:1;display:flex;gap:3px;padding:0 6px;overflow:hidden}
.task{
  flex:0 1 160px;min-width:44px;height:26px;display:flex;align-items:center;gap:6px;padding:0 8px;
  font:700 .68rem Quantico,Tahoma,sans-serif;color:#fff;letter-spacing:.03em;cursor:pointer;
  background:linear-gradient(180deg,#4a97e0 0%,#2f7ccc 50%,#2a72c2 100%);
  border:1px solid #1a5fb4;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.task svg{width:13px;height:13px;flex:0 0 13px}
.task span{overflow:hidden;text-overflow:ellipsis}
.task:hover{filter:brightness(1.12)}
.task--active{background:linear-gradient(180deg,#1c5ba8 0%,#2569b8 50%,#2a72c2 100%);
  box-shadow:inset 1px 1px 4px rgba(0,20,60,.6)}

.tray{
  display:flex;align-items:center;gap:9px;height:26px;padding:0 10px;
  font:700 .7rem Quantico,Tahoma,sans-serif;color:#fff;letter-spacing:.04em;
  background:linear-gradient(180deg,#2e88cf 0%,#1c74bd 45%,#1a6cb2 100%);
  box-shadow:inset 2px 0 3px rgba(10,50,100,.25),inset 0 1px 0 rgba(230,246,255,.35);
}
.tray button{background:none;border:0;color:#fff;cursor:pointer;padding:0;display:grid;place-items:center}
.tray button svg{width:14px;height:14px}
.tray button[aria-pressed="false"]{opacity:.5}

/* ============================================================= start menu = */
#startmenu{
  position:fixed;left:0;bottom:var(--bar-h);z-index:900001;width:260px;
  background:var(--face);padding:3px;
  border:2px solid;border-top-color:var(--hi);border-left-color:var(--hi);
  border-right-color:var(--lo);border-bottom-color:var(--lo);
  box-shadow:2px 2px 0 #000,0 -6px 20px rgba(0,0,0,.35);
}
#startmenu[hidden]{display:none}
.sm-head{background:linear-gradient(180deg,#0058ee,#003399);color:#fff;padding:8px 12px;
  font-size:.72rem;letter-spacing:.1em;font-weight:700;display:flex;align-items:center;gap:8px}
.sm-head img{width:22px;height:22px;background:#fff;padding:2px}
.sm-list{list-style:none;margin:0;padding:4px 0}
.sm-list li button{
  width:100%;display:flex;align-items:center;gap:10px;padding:7px 12px;background:none;border:0;
  font:400 .78rem Quantico,Tahoma,sans-serif;color:#000;cursor:pointer;text-align:left;
}
.sm-list li button svg{width:16px;height:16px;flex:0 0 16px;color:var(--indigo)}
.sm-list li button:hover{background:#000;color:#fff}
.sm-list li button:hover svg{color:#fff}
.sm-sep{height:0;border-top:1px solid var(--lo);border-bottom:1px solid #fff;margin:4px 8px}

/* ================================================================= dialog = */
#dialog{position:fixed;inset:0;z-index:1000000;background:rgba(8,18,48,.42);
  display:flex;align-items:center;justify-content:center;padding:14px}
#dialog[hidden]{display:none}
.dlg{width:min(100%,380px);background:var(--frame);padding:0 3px 3px;border-radius:8px 8px 4px 4px;
  box-shadow:0 12px 30px rgba(0,0,0,.5)}
.dlg__body{background:var(--face-xp);padding:18px;display:flex;gap:14px;align-items:flex-start}
.dlg__body .ico{flex:0 0 32px;height:32px;display:grid;place-items:center;background:var(--indigo);color:#fff;
  font-weight:700;font-size:1.1rem;box-shadow:1px 1px 0 #000}
.dlg__body h2{font-size:.9rem;margin:0 0 6px}
.dlg__body p{font-size:.8rem;margin:0}
.dlg__foot{background:var(--face-xp);border-top:1px solid #cfc9b4;padding:10px 12px;
  display:flex;gap:8px;justify-content:flex-end}

/* ============================================================== responsive = */
@media (max-width:760px){
  :root{--bar-h:44px}
  body{font-size:13px}
  .win{border-radius:6px 6px 0 0}
  .win__body{padding:14px 14px 18px}
  .icons{gap:2px;top:8px;left:6px}
  .d-icon{width:74px;font-size:.58rem}
  .task{flex-basis:44px;padding:0 6px}
  .task span{display:none}
  .start span.lbl{display:none}
  .start{padding:0 12px}
  #startmenu{width:min(92vw,300px)}
  .head img{width:44px;height:44px;flex-basis:44px}
}

/* ?auto=1 — straight to the desktop, no animation (screenshots, embeds) */
.no-anim #enter,.no-anim #enter .enter-win{transition:none}
.no-anim .win{animation:none}

@media (prefers-reduced-motion:reduce){
  #power{display:none}
  .win,.loader i,.terminal .cursor{animation:none}
  #enter,#enter .enter-win{transition:none}
}
