/* ===== RESET ===== */
*{box-sizing:border-box;margin:0;padding:0;}
a,button,input{position:relative;z-index:2;}

/* ===== LAYOUT FOUNDATION ===== */
/* Prevent page content from ever sliding under the fixed taskbar.
   --taskbar-height is kept in sync by syncTaskbarHeight() in themes.js
   and also declared per-theme as a CSS-variable fallback.             */
/* html background mirrors body so overscroll never reveals a different colour */
html{min-height:100%;background:inherit;}
body{overflow-x:hidden;min-height:100%;}

/* ===== THEME: WIN 3.1 (default) ===== */
body{
  --bg:#c0c0c0;--bg2:#c0c0c0;--bg3:#ffffff;
  --accent:#000000;--accent2:#000080;--accent3:#800000;
  --text:#000000;--text2:#444;--text-inv:#fff;
  --bl:#ffffff;--bd:#808080;--bdd:#000000;
  --tb-bg:#000080;--tb-text:#ffffff;
  --btn:#c0c0c0;
  --font:"Share Tech Mono",monospace;
  --font-d:"VT323",monospace;
  --wr:0px;--br:0px;
  --taskbar-height:40px;
  background:#008080;
  font-family:var(--font);font-size:13px;min-height:100vh;
}
/* Win 3.1 specific overrides - stark, pixel-perfect, no softness */
body .window{border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;}
body .titlebar{background:#000080;padding:3px 4px;}
body .tb-title{font-family:"Share Tech Mono",monospace;font-size:11px;font-weight:bold;letter-spacing:0;}
body .tb-btn{width:18px;height:14px;background:#c0c0c0;border:1px solid #000;font-size:9px;font-weight:bold;}
body .sc{border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #808080;border-bottom:1px solid #808080;background:#c0c0c0;}
body .sl{border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #808080;border-bottom:1px solid #808080;background:#c0c0c0;}
body .sl:hover{background:#fff;}
body .si input{background:#fff;border-top:1px solid #808080;border-left:1px solid #808080;border-right:1px solid #fff;border-bottom:1px solid #fff;font-size:11px;}
body .si button{background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;font-size:11px;}
body .theme-bar{background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #808080;border-bottom:1px solid #808080;}
body .tbtn{background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;font-size:11px;padding:2px 8px;}
body .tbtn.active{border-top:1px solid #000;border-left:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;background:#c0c0c0;}
body .site-title{font-family:"VT323",monospace;font-size:40px;letter-spacing:2px;color:var(--accent,#000080);}
body .site-title .hi{color:var(--accent2,#000080);}
body .clock{font-family:"VT323",monospace;font-size:26px;color:#000080;}
body .sec-title{color:#000000;font-size:11px;}
body .taskbar{background:#c0c0c0;border-top:2px solid #fff;height:36px;}
body .start-btn{background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;font-size:11px;height:24px;font-family:"Share Tech Mono",monospace;}
body:not([class]) .tb-clock, body.win31 .tb-clock{font-size:11px;background:#c0c0c0;border-top:1px solid #808080;border-left:1px solid #808080;border-right:1px solid #fff;border-bottom:1px solid #fff;padding:2px 6px;}
body .add-btn{background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;font-size:11px;}
/* ===== PROFILES ===== */
.profile-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;min-height:64px;background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);text-align:center;border-radius:var(--br);transition:background 0.15s,border-color 0.15s;}
.profile-card:hover{background:var(--bg3);}
.p-name{font-size:9px;color:var(--text2);line-height:1.2;word-break:break-word;}
/* ===== THEME: WIN 98 ===== */

/* Win 98 specific - grey desktop, gradient titlebar, chunky taskbar */



body.win11 #themesSection .tbtn,
body.macos #themesSection .tbtn,
body.reddit #themesSection .tbtn {
  font-size: 11px;
  padding: 3px 10px;
}



.theme-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
}

 



/* ===== LAYOUT ===== */
.desktop{min-height:100vh;padding:14px;padding-bottom:calc(var(--taskbar-height) + 16px + env(safe-area-inset-bottom, 0px));}


/* ===== WINDOW ===== */
.window{
  background:var(--bg);
  border-top:2px solid var(--bl);border-left:2px solid var(--bl);
  border-right:2px solid var(--bd);border-bottom:2px solid var(--bd);
  max-width:980px;margin:0 auto 14px;
}



/* ===== TITLEBAR ===== */
.titlebar{background:var(--tb-bg);padding:4px 6px;display:flex;align-items:center;gap:6px;user-select:none;}
.tb-title{color:var(--tb-text);font-size:12px;font-weight:bold;flex:1;letter-spacing:.5px;}

.tb-btns{display:flex;gap:3px;align-items:center;}
.tb-btn{width:16px;height:14px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bdd);border-bottom:1px solid var(--bdd);font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);font-family:var(--font);font-weight:bold;}



/* ===== WINDOW BODY ===== */
.wbody{padding:12px 14px;background:var(--bg);}


/* ===== SITE HEADER ===== */
.site-hdr{text-align:center;padding:6px 0 12px;border-bottom:2px solid var(--bd);margin-bottom:12px;}

.site-title{font-family:var(--font-d);font-size:44px;color:var(--accent);letter-spacing:3px;line-height:1;cursor:pointer;display:inline-flex;align-items:baseline;gap:0;}
.site-title span.hi{color:var(--accent2);}
.site-title .dotnet{font-size:18px;color:var(--text2);letter-spacing:1px;margin-left:2px;font-family:var(--font);}



.site-title-edit{font-family:var(--font-d);font-size:44px;color:var(--accent);background:var(--bg3);border:2px inset var(--bd);text-align:center;outline:none;width:100%;display:none;letter-spacing:3px;}
.tagline{font-size:11px;color:var(--text2);letter-spacing:1.5px;margin-top:5px;}



.clock-row{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:8px;}
.clock{font-family:var(--font-d);font-size:28px;color:var(--accent2);letter-spacing:2px;}


.date-lbl{font-size:11px;color:var(--text2);}

/* ===== THEME BAR ===== */
.theme-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:10px;padding:5px 8px;background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);}

.theme-lbl{font-size:11px;color:var(--text2);margin-right:4px;white-space:nowrap;}
.tbtn{font-family:var(--font);font-size:11px;padding:3px 10px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br);white-space:nowrap;}
.tbtn.active,.tbtn:active{border-top:1px solid var(--bd);border-left:1px solid var(--bd);border-right:1px solid var(--bl);border-bottom:1px solid var(--bl);background:var(--bg3);}




.edit-tbtn{margin-left:auto;}

/* ===== SECTION ===== */
.section{margin-bottom:14px;}
.sec-hdr{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--bd);}
.sec-title{font-size:12px;font-weight:bold;color:var(--accent);text-transform:uppercase;letter-spacing:1px;}



/* ===== SEARCHES ===== */

.sc{background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:6px 8px;display:flex;align-items:center;gap:7px;}


.esig{font-size:16px;font-weight:bold;color:var(--accent2);width:22px;text-align:center;flex-shrink:0;font-family:var(--font-d);}

.si{display:flex;flex:1;gap:4px;min-width:0;}
.si input{flex:1;background:var(--bg3);border-top:1px solid var(--bd);border-left:1px solid var(--bd);border-right:1px solid var(--bl);border-bottom:1px solid var(--bl);color:var(--text);font-family:var(--font);font-size:12px;padding:4px 6px;outline:none;min-width:0;}


.si input:focus{outline:1px dotted var(--accent2);}

.si button{background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);font-family:var(--font);font-size:11px;padding:4px 8px;cursor:pointer;white-space:nowrap;border-radius:var(--br);}


.ename{
  font-size:10px;
  color:var(--text2);
  width:38px;
  text-align:right;
  flex-shrink:0;
  overflow:hidden;
  white-space:nowrap;
}
.rm-s{font-size:12px;color:var(--text2);cursor:pointer;background:none;border:none;font-family:var(--font);padding:0 2px;display:none;}
.edit-mode .rm-s{display:block;}
.edit-mode .rm-s:hover{color:var(--accent3);}

/* ===== LINKS ===== */
.icon-grid{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;}
.sl{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 10px;background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);text-decoration:none;min-width:64px;position:relative;cursor:pointer;}


.sl:hover{background:var(--bg3);}

.sl .ico{font-size:18px;line-height:1;}
.sl .lbl{font-size:10px;color:var(--text2);white-space:nowrap;}

.sl .rm{position:absolute;top:1px;right:3px;font-size:11px;cursor:pointer;display:none;background:none;border:none;color:var(--text2);font-family:var(--font);}
.edit-mode .sl .rm{display:block;}
.edit-mode .sl .rm:hover{color:var(--accent3);}
.sl.dragging{opacity:0.4;}
.sl.drag-over{border-color:var(--accent2) !important;background:rgba(0,120,212,0.08) !important;}

#linksBody{display:flex;flex-direction:column;align-items:center;}
#iconGrid{justify-content:center;width:100%;}

/* ===== ADD BUTTONS ===== */
.add-btn{font-family:var(--font);font-size:11px;padding:4px 12px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;margin-top:6px;display:inline-block;border-radius:var(--br);}


/* ===== TASKBAR ===== */
.taskbar{position:fixed;bottom:0;left:0;right:0;height:40px;background:var(--bg);border-top:2px solid var(--bl);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;padding:0 8px;padding-bottom:env(safe-area-inset-bottom, 0px);gap:8px;z-index:500;overflow:hidden;}




.start-btn{font-family:var(--font);font-size:12px;font-weight:bold;padding:4px 12px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);cursor:pointer;color:var(--text);height:28px;display:flex;align-items:center;gap:4px;}

.mobile-theme-settings-btn{
  display:none;
}


.tb-clock{margin-left:auto;font-size:11px;color:var(--text);text-align:right;line-height:1.4;}




/* ===== MACOS MENU BAR ===== */
.menubar{display:none;}

.mb-item{cursor:pointer;padding:2px 6px;border-radius:4px;}
.mb-item:hover{background:rgba(255,255,255,0.15);}
.mb-right{margin-left:auto;display:flex;gap:14px;font-size:12px;color:rgba(255,255,255,0.85);}

/* ===== MODAL ===== */
.modal-bg{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:1000;align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
.modal-bg.open{display:flex;}
.modal{background:var(--bg);border-top:2px solid var(--bl);border-left:2px solid var(--bl);border-right:2px solid var(--bd);border-bottom:2px solid var(--bd);width:90%;max-width:400px;max-height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;}


.modal-body{padding:12px 14px;overflow-y:auto;flex:1 1 auto;min-height:0;}
.modal-footer{display:flex;gap:6px;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--bd);flex-shrink:0;}
.modal-footer button{font-family:var(--font);font-size:12px;padding:4px 16px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br);min-width:70px;}
.modal-footer button.primary{background:var(--accent2);color:#fff;border-color:var(--accent);}
.modal label{font-size:11px;color:var(--text2);display:block;margin-bottom:3px;margin-top:10px;text-transform:uppercase;letter-spacing:1px;}
.modal input,.modal select{width:100%;background:var(--bg3);border-top:1px solid var(--bd);border-left:1px solid var(--bd);border-right:1px solid var(--bl);border-bottom:1px solid var(--bl);color:var(--text);font-family:var(--font);font-size:12px;padding:4px 6px;outline:none;}


.modal-btns{display:flex;gap:6px;margin-top:14px;justify-content:flex-end;}
.modal-btns button{font-family:var(--font);font-size:12px;padding:4px 16px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br);min-width:70px;}

.modal-btns button.primary{background:var(--accent2);color:#fff;border-color:var(--accent);}

/* ===== LINK MANAGER ===== */
.lm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;max-height:220px;overflow-y:auto;padding:2px;}
.lm-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;background:var(--bg2);border:1px solid var(--bd);cursor:pointer;border-radius:var(--br);font-size:10px;color:var(--text2);text-align:center;transition:border-color 0.1s;}
.lm-item:hover{border-color:var(--accent2);color:var(--accent2);}
.lm-item.selected{border-color:var(--accent2);background:rgba(0,120,212,0.1);color:var(--accent2);}
.lm-item .lm-ico{font-size:20px;line-height:1;}
.lm-divider{margin:10px 0 6px;font-size:11px;color:var(--text2);letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--bd);padding-bottom:4px;}
.lm-current{display:flex;flex-wrap:wrap;gap:4px;max-height:100px;overflow-y:auto;padding:2px;}
.lm-chip{display:flex;align-items:center;gap:4px;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--br);padding:3px 8px;font-size:11px;cursor:grab;}
.lm-chip span{cursor:pointer;color:var(--text2);font-size:12px;}
.lm-chip span:hover{color:var(--accent3);}
.lm-chip.dragging{opacity:0.4;}
.lm-chip.drag-over{border-color:var(--accent2);}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes kali-line{to{opacity:1}}
.cursor{animation:blink 1s step-end infinite;}



/* ===== THEME: REDDIT ===== */



/* upvote flair on links */



/* ===== THEME: UBUNTU ===== */



/* Ubuntu launcher panel */



/* ===== THEME: NOKIA 5110 ===== */



/* pixel grid overlay */



/* ===== PROFILES ===== */
.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:4px;}




/* ---- Mobile theme bottom Settings launcher (theme-based, not viewport-based) ---- */
body.iphone3g .taskbar,
body.gingerbread .taskbar,
body.jellybean .taskbar,
body.w810i .taskbar,
body.nokia .taskbar,
body.blackberry .taskbar {
  display: none !important;
}

body.iphone3g .desktop,
body.gingerbread .desktop,
body.jellybean .desktop,
body.w810i .desktop,
body.nokia .desktop,
body.blackberry .desktop {
  padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
}

body.iphone3g .mobile-theme-settings-btn,
body.gingerbread .mobile-theme-settings-btn,
body.jellybean .mobile-theme-settings-btn,
body.w810i .mobile-theme-settings-btn,
body.nokia .mobile-theme-settings-btn,
body.blackberry .mobile-theme-settings-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: fixed;
  left: 50%;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 1400;
  min-width: 132px;
  min-height: 42px;
  padding: 8px 16px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  background: var(--btn);
  border-top: 1px solid var(--bl);
  border-left: 1px solid var(--bl);
  border-right: 1px solid var(--bd);
  border-bottom: 1px solid var(--bd);
  border-radius: calc(var(--br) + 999px);
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
  cursor: pointer;
}

body.iphone3g .start-menu-panel,
body.gingerbread .start-menu-panel,
body.jellybean .start-menu-panel,
body.w810i .start-menu-panel,
body.nokia .start-menu-panel,
body.blackberry .start-menu-panel {
  bottom: calc(62px + env(safe-area-inset-bottom, 0px));
}


/* =============================================
   RESPONSIVE — MOBILE & TABLET
   ============================================= */

/* ---- Base mobile fixes (all screens < 768px) ---- */
@media (max-width: 768px){

  /* Window */
  .window {
    margin-bottom: 8px;
  }

  .wbody {
    padding: 8px 10px;
  }

  

  /* Header */
  .site-title {
    font-size: 32px !important;
    letter-spacing: 2px !important;
  }

  .site-title .dotnet {
    font-size: 14px !important;
  }

  .clock {
    font-size: 22px !important;
  }

  .clock-row {
    flex-direction: column;
    gap: 2px;
  }

  .tagline {
    font-size: 10px;
    letter-spacing: 1px;
  }

  /* Theme bar — scrollable row on mobile */
  .theme-bar {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 5px 6px;
    gap: 4px;
  }

  .theme-bar::-webkit-scrollbar {
    display: none;
  }

  .theme-lbl {
    display: none;
  }

  .tbtn {
    flex-shrink: 0;
    font-size: 11px;
    padding: 5px 10px;
    white-space: nowrap;
  }

  .edit-tbtn {
    margin-left: 0;
    flex-shrink: 0;
  }

  /* Searches — single column on mobile */
  .searches {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .sc {
    padding: 7px 8px;
  }

  .si input {
    font-size: 16px !important; /* prevents iOS zoom on focus */
    padding: 6px 8px;
  }

  .si button {
    padding: 6px 12px;
    font-size: 12px;
  }

  .ename {
    display: none; /* hide label on mobile, icon is enough */
  }

  /* Links grid — bigger touch targets */
  .icon-grid {
    gap: 6px;
  }

  .sl {
    min-width: 72px;
    padding: 10px 8px;
  }

  .sl .ico {
    font-size: 22px;
  }

  .sl .lbl {
    font-size: 10px;
  }

  /* Profiles grid — 2 or 3 cols */
  .profiles-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }

  

  

  

  

  /* Section titles */
  .sec-title {
    font-size: 11px;
  }

  /* Footer */
  .footer-bar {
    flex-wrap: wrap;
    gap: 6px;
    font-size: 10px;
    padding: 8px 6px;
  }

  /* Taskbar — taller touch target + home-indicator clearance on notched phones */
  .taskbar {
    height: calc(44px + env(safe-area-inset-bottom, 0px));
    padding: 0 10px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    --taskbar-height: calc(44px + env(safe-area-inset-bottom, 0px));
  }

  /* Keep desktop bottom gap in sync with the taller mobile taskbar */
  .desktop {
    padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px) + 14px) !important;
  }

  /* ---- Mobile themes: hide the Windows-style taskbar entirely ---- */
  body.iphone3g .taskbar,
  body.gingerbread .taskbar,
  body.jellybean .taskbar,
  body.w810i .taskbar,
  body.nokia .taskbar,
  body.blackberry .taskbar {
    display: none !important;
  }

  /* Mobile themes use their own bottom Settings launcher instead of the taskbar */
  body.iphone3g .desktop,
  body.gingerbread .desktop,
  body.jellybean .desktop,
  body.w810i .desktop,
  body.nokia .desktop,
  body.blackberry .desktop {
    padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.iphone3g .mobile-theme-settings-btn,
  body.gingerbread .mobile-theme-settings-btn,
  body.jellybean .mobile-theme-settings-btn,
  body.w810i .mobile-theme-settings-btn,
  body.nokia .mobile-theme-settings-btn,
  body.blackberry .mobile-theme-settings-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    position: fixed;
    left: 50%;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 1400;
    min-width: 132px;
    min-height: 42px;
    padding: 8px 16px;
    font-family: var(--font);
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
    background: var(--btn);
    border-top: 1px solid var(--bl);
    border-left: 1px solid var(--bl);
    border-right: 1px solid var(--bd);
    border-bottom: 1px solid var(--bd);
    border-radius: calc(var(--br) + 999px);
    box-shadow: 0 10px 26px rgba(0,0,0,.28);
    cursor: pointer;
  }

  body.iphone3g .start-menu-panel,
  body.gingerbread .start-menu-panel,
  body.jellybean .start-menu-panel,
  body.w810i .start-menu-panel,
  body.nokia .start-menu-panel,
  body.blackberry .start-menu-panel {
    bottom: calc(62px + env(safe-area-inset-bottom, 0px));
  }

  

  

  /* Nokia — full width on mobile */
  

  

  /* macOS menubar */
  .menubar {
    height: 24px;
    font-size: 12px;
    padding: 0 10px;
    gap: 12px;
  }

  .mb-right {
    font-size: 11px;
  }

  /* Modals — full width on mobile */
  .modal {
    width: 95%;
    max-width: 95% !important;
    max-height: calc(100vh - 24px);
  }

  .modal-body {
    padding: 10px 12px;
  }

  /* Remove btn easier to tap */
  .rm-s, .sl .rm {
    font-size: 16px;
    padding: 2px 6px;
  }

  /* Add buttons */
  .add-btn {
    padding: 6px 14px;
    font-size: 11px;
    width: 100%;
    margin-top: 6px;
  }

  /* Link manager chips */
  .lm-chip {
    font-size: 12px;
    padding: 5px 10px;
  }

  .lm-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Module grid — single column stack on mobile */
  .module-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    gap: 6px;
  }
  .module-card,
  .module-card-wide,
  .module-card-full {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  .module-body { padding: 8px 10px; overflow: visible; }

  /* Window — flush edges on mobile */
  .window { border-left: none; border-right: none; max-width: 100%; }
  .wbody { padding: 8px 10px; }

  /* Site header compact */
  .site-hdr { padding: 4px 0 8px; margin-bottom: 8px; }
  .clock-row { gap: 2px; }

  /* Searches full-width */
  .searches { grid-template-columns: 1fr; }

  /* Taskbar: hide window buttons text on very small screens */
  .taskbar-window-main { max-width: 80px; }

  /* Dashboard toolbar wraps nicely */
  .dashboard-toolbar { gap: 6px; }
  .panel-tray { width: 100%; }

  /* Settings grid single col */
  .settings-panel-grid { grid-template-columns: 1fr; }

  /* Theme rows scroll horizontally */
  #themesSection .theme-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  #themesSection .theme-row::-webkit-scrollbar { display: none; }
  #themesSection .theme-row-lbl { flex: 0 0 52px; min-width: 52px; font-size: 9px; }
  #themesSection .theme-row-buttons { flex-wrap: nowrap; }

  /* Apple dock — smaller on mobile */
  body.macos .apple-dock {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 6px);
    gap: 4px;
    padding: 6px 10px 8px;
  }
  body.macos .apple-dock-btn { width: 42px; height: 42px; }
  body.macos .apple-dock-btn .apple-dock-icon-wrap { width: 38px; height: 38px; border-radius:10px; }
  body.mac9 .apple-dock {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 6px);
  }
  body.mac9 .apple-dock-btn { width: 40px; height: 38px; }
}

/* ---- Tablet (768px – 1024px) ---- */
@media (min-width: 769px) and (max-width: 1024px){

  .desktop {
    padding: 10px 10px calc(var(--taskbar-height) + env(safe-area-inset-bottom, 0px) + 14px);
  }

  .searches {
    grid-template-columns: repeat(2, 1fr);
  }

  .profiles-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .theme-bar {
    flex-wrap: wrap;
  }

  .site-title {
    font-size: 38px !important;
  }

  /* Module grid — 2 col on tablet */
  .module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .module-card-full { grid-column: 1 / -1; }

  /* Window — slight margin reduction */
  .window { max-width: 100%; }
}

/* ---- Small phones (< 380px) ---- */
@media (max-width: 380px){

  .site-title {
    font-size: 26px !important;
    letter-spacing: 1px !important;
  }

  .profiles-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lm-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sl {
    min-width: 60px;
  }
}

/* ---- Touch device enhancements ---- */
@media (hover: none) and (pointer: coarse){

  /* Bigger tap targets throughout */
  .tbtn {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .si button {
    min-height: 36px;
  }

  .add-btn {
    min-height: 36px;
  }

  

  /* Remove hover states that linger on touch */
  .sl:hover {
    background: var(--bg2);
  }

  
}


/* ===== COLLAPSIBLE PROFILES ===== */
.collapse-hdr{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;position:relative;z-index:3;}
.collapse-arrow{font-size:10px;color:var(--text2);transition:transform 0.2s;flex-shrink:0;}
.collapse-arrow.closed{transform:rotate(180deg);}
#profilesBody{overflow:hidden;transition:max-height 0.25s ease,opacity 0.2s ease;max-height:300px;opacity:1;}
#profilesBody.hidden{max-height:0;opacity:0;pointer-events:none;}

/* Smaller profile cards */
.profiles-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px;}



/* Mobile overrides for smaller cards */
@media (max-width:768px){
  .profiles-grid{grid-template-columns:repeat(3,1fr);gap:4px;}
  
  
  
  
}
@media (max-width:380px){
  .profiles-grid{grid-template-columns:repeat(3,1fr);}
}



/* ===== THEME: MS-DOS ===== */



/* ===== THEME: COMMODORE 64 ===== */



/* ===== THEME: TELETEXT ===== */



/* Teletext page number in corner */



/* ===== SEARCH WIDTH FIX ===== */
.searches{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(265px,1fr));
  gap:6px;
}
.sc{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  box-sizing:border-box;
}
.si{
  flex:1;
  display:flex;
  gap:4px;
  min-width:0;
  width:100%;
}
.si input{
  flex:1;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}



/* Titlebar layout */
.titlebar{display:flex;align-items:center;gap:6px;}
.tb-title{flex:1;}
.tb-btns{display:flex;gap:3px;align-items:center;flex-shrink:0;}



/* Transparent clocks for all themes except Win 3.1 and Win 95 */



/* Win 95 - stronger distinction from 3.1 */

/* Win 95 taskbar - blue tinted strip like real Win95 */

/* Win 95 window - deeper 3D chrome */

/* Win 95 titlebar - solid navy, no gradient */


/* Win 95 site title - bigger, navy with shadow */



/* Win 95 clock - inset panel */

/* Win 95 start button */

/* Win 95 search cards - deep 3D */



/* Nokia - force correct colours */



/* Win 11 - light titlebar, dark text */


/* macOS - light frosted titlebar, dark text */


/* macOS 9 - dark striped titlebar, WHITE text */



.theme-row{display:flex;align-items:flex-start;gap:10px;padding:5px 6px;justify-content:flex-start;}
.theme-row-buttons{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:6px;min-width:0;}

#themesBody{overflow:hidden;transition:max-height 0.25s ease,opacity 0.2s ease;max-height:500px;opacity:1;}
#themesBody.hidden{max-height:0;opacity:0;pointer-events:none;}




/* Theme two rows */
.theme-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  padding:4px 6px;
  justify-content:center;
}
.theme-row-os{
  padding-bottom:6px;
  margin-bottom:2px;
}
.theme-row-fun{
  padding-top:2px;
}
#themesBody{
  overflow:hidden;
  transition:max-height 0.25s ease,opacity 0.2s ease;
  max-height:500px;
  opacity:1;
}
#themesBody.hidden{max-height:0;opacity:0;pointer-events:none;}


/* ===== BOOT SCREENS ===== */
#bootScreen{
  display:none;
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  z-index:9999;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  opacity:1;
  transition:opacity 0.4s ease;
}
#bootScreen.fade{opacity:0;}

/* Win 3.1 */
.boot-31{background:#000;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:40px;font-family:"Share Tech Mono",monospace;color:#aaa;font-size:14px;}
.boot-31 .b-logo{color:#fff;font-size:20px;margin-bottom:20px;letter-spacing:2px;}
.boot-31 .b-line{margin:4px 0;}
.boot-31 .b-cursor{display:inline-block;width:8px;height:14px;background:#aaa;vertical-align:middle;animation:cur-blink 0.8s step-end infinite;}
@keyframes cur-blink{0%,100%{opacity:1}50%{opacity:0}}

/* Win 95 */
.boot-98{background:#000;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Share Tech Mono",monospace;}
.boot-98 .b-win{color:#fff;font-family:"VT323",monospace;font-size:52px;letter-spacing:4px;margin-bottom:4px;}
.boot-98 .b-sub{color:#aaa;font-size:12px;letter-spacing:3px;margin-bottom:28px;}
.boot-98 .b-bar-wrap{width:220px;height:22px;border:1px solid #555;background:#000;display:flex;gap:2px;padding:2px;overflow:hidden;}
.boot-98 .b-seg{width:14px;height:100%;background:#000080;flex-shrink:0;animation:seg-pulse 0.4s ease-in-out infinite alternate;}
@keyframes seg-pulse{0%{opacity:0.6}100%{opacity:1}}

/* Win XP */
.boot-xp{
  background:radial-gradient(ellipse at center, #1a4a9a 0%, #0a1a3a 60%, #000 100%);
  width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.boot-xp .b-logo-xp{
  font-family:"Trebuchet MS",sans-serif;
  font-size:62px;font-weight:bold;color:#fff;
  text-shadow:0 0 40px rgba(80,160,255,1), 0 0 80px rgba(50,120,255,0.6), 0 0 120px rgba(30,80,255,0.3);
  margin-bottom:2px;letter-spacing:-1px;
}
.boot-xp .b-logo-xp span{
  color:#7ec8f7;
  text-shadow:0 0 30px rgba(126,200,247,1), 0 0 60px rgba(126,200,247,0.6);
}
.boot-xp .b-edition{
  font-family:"Trebuchet MS",sans-serif;font-size:14px;
  color:rgba(255,255,255,0.65);margin-bottom:40px;letter-spacing:2px;font-style:italic;
}
/* The real XP progress bar - segments sliding through a track */
.boot-xp .b-xp-track{
  width:200px;height:16px;
  background:#000;border:1px solid #333;
  border-radius:3px;overflow:hidden;position:relative;
}
.boot-xp .b-xp-segments{
  position:absolute;top:2px;left:0;
  display:flex;gap:2px;
  animation:xp-slide 1.2s linear infinite;
}
.boot-xp .b-xp-seg{
  width:12px;height:12px;border-radius:2px;flex-shrink:0;
  background:linear-gradient(180deg,#4a90e0 0%,#2060c0 50%,#1040a0 100%);
  box-shadow:0 0 4px rgba(80,160,255,0.6);
}
@keyframes xp-slide{
  0%{transform:translateX(-84px);}
  100%{transform:translateX(0px);}
}
.boot-xp .b-copy{
  font-family:"Trebuchet MS",sans-serif;font-size:11px;
  color:rgba(255,255,255,0.3);margin-top:14px;
}



/* Win 11 */
.boot-11{background:#0078d4;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.boot-11 .b-logo-11{font-size:80px;color:#fff;margin-bottom:40px;line-height:1;}
.boot-11 .b-spinner-11{width:44px;height:44px;border:3px solid rgba(255,255,255,0.25);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite;}

/* macOS 9 */
.boot-mac9{
  background:#fff;width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:"Share Tech Mono",monospace;
}
/* Rainbow Apple logo using SVG stripes */
.boot-mac9 .b-rainbow-apple{
  width:56px;height:68px;margin-bottom:20px;
  background:
    linear-gradient(180deg,
      #61bb46 0% 16.6%,
      #fdb827 16.6% 33.2%,
      #f5821f 33.2% 49.8%,
      #e03a3e 49.8% 66.4%,
      #963d97 66.4% 83%,
      #009ddc 83% 100%
    );
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 68'%3E%3Cpath d='M44 14c-3-4-8-6-13-5 0-4 3-7 5-9-8 1-14 7-14 15-4-1-8 0-11 3C5 22 3 29 4 35c1 8 5 16 11 20 2 2 5 1 7-1s4-2 6-2 4 0 6 2 5 3 7 1c3-2 6-6 8-11-4-2-6-6-6-10 0-5 3-9 7-11-2-3-4-6-6-8zM32 4c1-2 3-4 5-4-1 3-2 5-5 6V4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 68'%3E%3Cpath d='M44 14c-3-4-8-6-13-5 0-4 3-7 5-9-8 1-14 7-14 15-4-1-8 0-11 3C5 22 3 29 4 35c1 8 5 16 11 20 2 2 5 1 7-1s4-2 6-2 4 0 6 2 5 3 7 1c3-2 6-6 8-11-4-2-6-6-6-10 0-5 3-9 7-11-2-3-4-6-6-8zM32 4c1-2 3-4 5-4-1 3-2 5-5 6V4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* Smiling Mac icon built with CSS/SVG */
.boot-mac9 .b-smiling-mac{
  width:80px;height:90px;margin-bottom:16px;position:relative;
}
.boot-mac9 .b-smiling-mac svg{width:80px;height:90px;}
.boot-mac9 .b-welcome{
  font-size:20px;color:#000;
  letter-spacing:2px;margin-bottom:6px;
  font-family:"Share Tech Mono",monospace;
}
.boot-mac9 .b-welcome-sub{font-size:12px;color:#555;margin-bottom:20px;letter-spacing:1px;}
.boot-mac9 .b-bar-wrap9{width:180px;height:14px;border:1px solid #999;background:#eee;overflow:hidden;}
.boot-mac9 .b-bar-fill9{height:100%;width:0;background:linear-gradient(90deg,#555,#888);animation:mac9-fill 2.8s ease-in-out forwards;}
.boot-mac9 .b-ext{font-size:10px;color:#666;margin-top:8px;font-family:"Share Tech Mono",monospace;}
@keyframes mac9-fill{0%{width:0}100%{width:100%}}

/* macOS */
.boot-macos{background:#1a1a2e;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.boot-macos .b-apple-m{font-size:72px;line-height:1;margin-bottom:28px;}
.boot-macos .b-spinner-m{width:32px;height:32px;border:2.5px solid rgba(255,255,255,0.18);border-top-color:rgba(255,255,255,0.85);border-radius:50%;animation:spin 0.8s linear infinite;margin-bottom:14px;}
.boot-macos .b-bar-m{width:180px;height:4px;background:rgba(255,255,255,0.12);border-radius:2px;overflow:hidden;}
.boot-macos .b-bar-fill-m{height:100%;width:0;background:#fff;border-radius:2px;animation:mac9-fill 2.4s ease-in-out forwards;}




/* Ubuntu */
.boot-ubuntu{background:#1a0010;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;}
.bub-logo{display:block;margin-bottom:20px;filter:drop-shadow(0 0 20px rgba(233,84,32,.45));}
.bub-name{font-family:"Ubuntu","Cantarell",sans-serif;font-size:28px;font-weight:300;color:#e95420;letter-spacing:6px;margin-bottom:30px;}
.bub-dots{display:flex;gap:11px;}
.bub-dot{width:14px;height:14px;border-radius:50%;background:#e9542038;animation:bub-pulse 1.2s ease-in-out infinite;}
.bub-dot:nth-child(1){animation-delay:0s;}
.bub-dot:nth-child(2){animation-delay:.24s;}
.bub-dot:nth-child(3){animation-delay:.48s;}
.bub-dot:nth-child(4){animation-delay:.72s;}
.bub-dot:nth-child(5){animation-delay:.96s;}
@keyframes bub-pulse{0%,to{background:#e9542038;transform:scale(1)}50%{background:#e95420;transform:scale(1.12);box-shadow:0 0 10px #e95420bf}}

@keyframes spin{to{transform:rotate(360deg)}}


.theme-row-lbl{
  flex:0 0 64px;
  padding-top:4px;

  font-size:10px;
  color:var(--text2);
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin-right:4px;
  flex-shrink:0;
  font-family:var(--font);
  opacity:0.7;
}

.theme-row-fun{padding-top:2px;padding-bottom:8px;margin-bottom:4px;border-bottom:none;}
#themesBody{padding-bottom:0;}




/* Collapse button - replaces div for reliable click handling */
button.collapse-btn{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--bd);
  padding:0 0 4px 0;
  margin-bottom:8px;
  cursor:pointer;
  text-align:left;
  font-family:var(--font);
}
button.collapse-btn:active{opacity:0.7;}
button.collapse-btn .sec-title{
  font-size:11px;
  font-weight:bold;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:1px;
}



#searchBody.hidden{display:none !important;max-height:0;opacity:0;pointer-events:none;}
#linksBody.hidden{display:none !important;max-height:0;opacity:0;pointer-events:none;}
#settingsBody.hidden{display:none !important;max-height:0;opacity:0;pointer-events:none;}


/* ===== SETTINGS ===== */
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--bd);}
.setting-row:last-of-type{border-bottom:none;}
.setting-info{flex:1;}
.setting-name{font-size:13px;font-weight:bold;color:var(--text);font-family:var(--font);margin-bottom:3px;}
.setting-desc{font-size:11px;color:var(--text2);font-family:var(--font);line-height:1.4;}
.toggle-btn{background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0;position:relative;z-index:2;}
.toggle-track{display:block;width:44px;height:24px;background:var(--bd);border-radius:12px;position:relative;transition:background 0.2s;border:1px solid var(--bdd);}
.toggle-thumb{display:block;width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:left 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.3);}
.toggle-btn.on .toggle-track{background:var(--accent2);border-color:var(--accent);}
.toggle-btn.on .toggle-thumb{left:22px;}



/* ===== CONTROL PANEL ===== */
.cp-section{padding:10px 14px 6px;border-bottom:1px solid var(--bd);}
.cp-section:last-of-type{border-bottom:none;}
.cp-section-title{font-size:11px;font-weight:bold;color:var(--text2);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;font-family:var(--font);}
.cp-section-desc{font-size:11px;color:var(--text2);margin-bottom:8px;font-family:var(--font);opacity:0.8;}
.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;}
.cp-item{background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:10px 10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:var(--br);}

.cp-icon{font-size:24px;line-height:1;}
.cp-label{font-size:11px;font-weight:bold;color:var(--text);font-family:var(--font);text-align:center;}
.cp-desc{font-size:10px;color:var(--text2);font-family:var(--font);text-align:center;line-height:1.3;margin-bottom:4px;}
.cp-about{padding:4px 0 6px;font-size:11px;}



.boot-macos .b-apple-logo{
  margin-bottom:24px;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,0.7));
}



button.collapse-btn{border-color:rgba(100,150,220,0.4);}



/* Main window - the signature Aero glass effect */


/* Titlebar - frosted glass with coloured reflection */




/* Titlebar buttons - glassy circles */



/* Window body - glass panel */


/* Site header */



/* Section titles */

button.collapse-btn{border-color:rgba(100,160,220,0.35);}

/* Theme/settings bars - glass panels */



/* Search cards - individual glass panels */



/* Quick links */




/* Add buttons */


/* Profile cards */



/* Taskbar clock */


/* Modals - frosted glass */




/* CP items */


/* Collapse arrow */



/* ===== THEME: GEOCITIES ===== */


/* Window - ugly bevelled box */


/* Rainbow titlebar */




/* Body */


/* Site title - classic GeoCities WordArt feel */



@keyframes geo-pulse{0%,100%{text-shadow:2px 2px 0 #ff00ff,4px 4px 0 #00ffff;}50%{text-shadow:2px 2px 0 #00ffff,4px 4px 0 #ff00ff;}}



/* Under construction banner above sections */


@keyframes geo-blink{0%,100%{opacity:1}50%{opacity:0}}

/* Section titles */




/* Search cards */



/* Quick links */



/* Theme bar */



/* Add buttons */


/* Profile cards */



/* Taskbar - scrolling marquee feel */

@keyframes geo-taskbar{0%{background-position:0 0}100%{background-position:200px 0}}



/* Modal */



/* Visitor counter in footer */



@keyframes geo-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}


/* Nokia - collapse button and section header fixes */



/* Nokia - hide mac dock icons, fix taskbar alignment */



/* Hide mac/macos dock icons on all non-mac themes by default */
.m9-app{display:none;}
.m9-sep{display:none;}
.macos-dock-icon{display:none;}
.macos-dock-sep{display:none;}
/* Show only on correct themes */



/* Full Mint Bootloader - Original Spec */
.boot-mint {
    background: linear-gradient(160deg, #1c2b1a, #1a2a1a, #0d1a0d) !important;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: "Ubuntu", "Cantarell", sans-serif;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
}

.boot-mint .bm-logo {
    font-size: 80px;
    margin-bottom: 12px;
    filter: drop-shadow(0 0 16px rgba(135, 207, 62, 0.6));
}

.boot-mint .bm-title {
    font-size: 32px;
    font-weight: 300;
    color: #87cf3e;
    letter-spacing: 4px;
    margin-bottom: 4px;
}

.boot-mint .bm-sub {
    font-size: 14px;
    color: #aaa;
    letter-spacing: 2px;
    margin-bottom: 36px;
}

.boot-mint .bm-dots {
    display: flex;
    gap: 10px;
}

.boot-mint .bm-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #87cf3e;
}

/* The specific Mint Pulse animation */
.boot-mint .bm-dot:nth-child(1) { animation: ub-pulse 1s ease-in-out 0s infinite; }
.boot-mint .bm-dot:nth-child(2) { animation: ub-pulse 1s ease-in-out 0.2s infinite; }
.boot-mint .bm-dot:nth-child(3) { animation: ub-pulse 1s ease-in-out 0.4s infinite; }

@keyframes ub-pulse{
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.2); }
}
  

/* mint.css
   Theme-specific rules extracted from the original working CSS.
*/



.boot-mint{background:linear-gradient(160deg,#1c2b1a,#0d1a0d);width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Ubuntu,Cantarell,sans-serif}
.boot-mint .bm-logo{font-size:80px;margin-bottom:12px;filter:drop-shadow(0 0 16px rgba(135,207,62,.6))}
.boot-mint .bm-title{font-size:32px;font-weight:300;color:#87cf3e;letter-spacing:4px;margin-bottom:4px}
.boot-mint .bm-sub{font-size:14px;color:#aaa;letter-spacing:2px;margin-bottom:36px}
.boot-mint .bm-dots{display:flex;gap:10px}
.boot-mint .bm-dot{width:12px;height:12px;border-radius:50%;background:#87cf3e}
.boot-mint .bm-dot:nth-child(1){animation:ub-pulse 1s ease-in-out 0s infinite}
.boot-mint .bm-dot:nth-child(2){animation:ub-pulse 1s ease-in-out .2s infinite}
.boot-mint .bm-dot:nth-child(3){animation:ub-pulse 1s ease-in-out .4s infinite}

/* Add the leaf ONLY when the body has the .mint class */


/* Ensure the button looks correct with the icon */



.boot-kali{background:#000;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Share Tech Mono,monospace}
.boot-kali .bk-logo{font-size:72px;margin-bottom:8px;filter:drop-shadow(0 0 20px rgba(0,212,255,.8))}
.boot-kali .bk-title{font-size:28px;color:#00d4ff;letter-spacing:6px;margin-bottom:4px;text-shadow:0 0 20px rgba(0,212,255,.8)}
.boot-kali .bk-sub{font-size:12px;color:#8b949e;letter-spacing:3px;margin-bottom:32px}
.boot-kali .bk-lines{text-align:left;width:380px;max-width:90vw}
.boot-kali .bk-line{font-size:11px;color:#3fb950;margin-bottom:2px;opacity:0;animation:kali-line .15s forwards}
.boot-kali .bk-line.warn{color:#e3b341}
.boot-kali .bk-line.ok{color:#00d4ff}
.boot-kali .bk-line:nth-child(1){animation-delay:.1s}
.boot-kali .bk-line:nth-child(2){animation-delay:.25s}
.boot-kali .bk-line:nth-child(3){animation-delay:.4s}
.boot-kali .bk-line:nth-child(4){animation-delay:.55s}
.boot-kali .bk-line:nth-child(5){animation-delay:.7s}
.boot-kali .bk-line:nth-child(6){animation-delay:.85s}
.boot-kali .bk-line:nth-child(7){animation-delay:1s}
.boot-kali .bk-line:nth-child(8){animation-delay:1.2s}
.boot-kali .bk-cursor{animation:blink .6s step-end infinite;color:#00d4ff}



/* ===== THEME LAB ===== */
.theme-lab-modal{max-width:880px !important;width:94%}
.theme-lab-body{padding:14px 16px 16px}
.theme-lab-intro{font-size:12px;color:var(--text2);margin-bottom:12px;line-height:1.5}
.theme-lab-grid{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:16px;align-items:start}
.theme-lab-controls,.theme-lab-preview-wrap{min-width:0}
.theme-lab-section{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--br);padding:10px 12px;margin-bottom:10px}
.theme-lab-heading{font-size:11px;font-weight:bold;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.theme-lab-section label{display:block;font-size:11px;color:var(--text2);margin:8px 0 4px;text-transform:uppercase;letter-spacing:1px}
.theme-lab-section input[type="text"],.theme-lab-section textarea{width:100%;background:var(--bg3);border:1px solid var(--bd);color:var(--text);font-family:var(--font);font-size:12px;padding:8px 10px;border-radius:var(--br)}
.theme-lab-section input[type="color"]{width:100%;height:38px;border:1px solid var(--bd);background:var(--bg3);border-radius:var(--br);padding:4px;cursor:pointer}
.theme-lab-section input[type="range"]{width:100%}
.theme-lab-small{font-size:11px;margin-top:6px}
.theme-lab-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.theme-lab-inline-actions button{font-family:var(--font);font-size:12px;padding:6px 12px;background:var(--btn);border:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br)}
.theme-lab-preview{background:linear-gradient(180deg,#0f172a,#111827);border:1px solid var(--bd);border-radius:10px;padding:16px;min-height:320px;display:flex;align-items:center;justify-content:center}
.theme-lab-preview-window{width:100%;max-width:360px;background:#1f1f1f;border:1px solid #444;border-radius:8px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.theme-lab-preview-titlebar{padding:8px 10px;background:linear-gradient(180deg,#3b3b3b,#222);color:#fff;font-size:12px;font-weight:bold}
.theme-lab-preview-body{padding:14px;background:#111827;color:#f5f5f5;font-family:"Share Tech Mono",monospace}
.theme-lab-preview-brand{font-family:"VT323",monospace;font-size:32px;line-height:1;color:#f5f5f5;margin-bottom:6px}
.theme-lab-preview-brand span{color:#8b5cf6}
.theme-lab-preview-tag{font-size:11px;color:#cfcfcf;margin-bottom:10px}
.theme-lab-preview-card{background:#2a2a2a;border:1px solid #1a1a1a;border-radius:6px;padding:10px}
.theme-lab-preview-card-title{font-size:11px;font-weight:bold;color:#8b5cf6;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.theme-lab-preview-input{background:#353535;border:1px solid #1a1a1a;border-radius:6px;padding:8px 10px;color:#f5f5f5;font-size:12px;margin-bottom:10px}
.theme-lab-preview-buttons{display:flex;gap:8px}
.theme-lab-preview-buttons button{font-family:"Share Tech Mono",monospace;font-size:12px;padding:6px 10px;background:#8b5cf6;border:1px solid #8b5cf6;color:#fff;border-radius:6px;cursor:default}
.theme-lab-actions{margin-top:14px}
@media (max-width:768px){.theme-lab-modal{width:96%}.theme-lab-grid{grid-template-columns:1fr}.theme-lab-preview{min-height:240px;padding:12px}.theme-lab-preview-window{max-width:none}}


/* ===== THEME STUDIO V4 ===== */
.theme-studio-overlay{background:rgba(2,6,23,.82);backdrop-filter:blur(12px);padding:24px}
.theme-studio-overlay.open{display:flex}
.theme-studio-shell{width:min(1440px,96vw);height:min(900px,92vh);background:linear-gradient(180deg,#0f172a,#111827 42%,#020617);border:1px solid rgba(148,163,184,.22);border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden;color:#e5eefc;font-family:Inter,system-ui,-apple-system,sans-serif}
.theme-studio-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 18px;border-bottom:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.theme-studio-title{font-size:28px;font-weight:700;letter-spacing:-.03em;color:#fff}
.theme-studio-subtitle{font-size:14px;color:#94a3b8;margin-top:6px;max-width:640px;line-height:1.5}
.theme-studio-top-actions{display:flex;gap:10px;align-items:center}
.theme-studio-close,.theme-studio-ghost,.theme-studio-actionbar button,.theme-studio-inline button,.theme-studio-preset-list button,.theme-studio-library-item button{font:600 13px/1.1 Inter,system-ui,sans-serif;border:none;border-radius:12px;padding:10px 14px;cursor:pointer;transition:transform .15s ease,opacity .15s ease,background .15s ease}
.theme-studio-close:hover,.theme-studio-ghost:hover,.theme-studio-actionbar button:hover,.theme-studio-inline button:hover,.theme-studio-preset-list button:hover,.theme-studio-library-item button:hover{transform:translateY(-1px)}
.theme-studio-close{background:#8b5cf6;color:#fff}
.theme-studio-ghost{background:rgba(148,163,184,.12);color:#cbd5e1}
.theme-studio-layout{flex:1;display:grid;grid-template-columns:320px minmax(0,1fr) 320px;gap:18px;padding:18px 20px 10px;min-height:0}
.theme-studio-panel{background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.14);border-radius:20px;padding:16px;overflow:auto}
.theme-studio-panel-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#93c5fd;margin-bottom:12px}
.theme-studio-group{background:rgba(255,255,255,.03);border:1px solid rgba(148,163,184,.12);border-radius:16px;padding:14px 14px 12px;margin-bottom:12px}
.theme-studio-group-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#cbd5e1;margin-bottom:10px}
.theme-studio-group label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;margin:8px 0 6px}
.theme-studio-group input[type="text"],.theme-studio-group select{width:100%;background:#0b1220;border:1px solid rgba(148,163,184,.18);color:#e5eefc;border-radius:12px;padding:10px 12px;font:500 13px/1.2 Inter,system-ui,sans-serif}
.theme-studio-group input[type="color"]{width:100%;height:42px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#0b1220;padding:4px;cursor:pointer}
.theme-studio-group input[type="range"]{width:100%}
.theme-studio-stage{min-width:0;display:flex;flex-direction:column}
.theme-studio-stage-card{flex:1;background:radial-gradient(circle at top,#1e293b,#0f172a 70%);border:1px solid rgba(148,163,184,.16);border-radius:24px;padding:18px;display:flex;flex-direction:column;min-height:0}
.theme-studio-live-frame{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;border-radius:18px;background:linear-gradient(135deg,#0b1220,#111827);border:1px solid rgba(148,163,184,.12);padding:18px}
.theme-studio-preview-window{width:min(760px,100%);background:#111827;border:1px solid #334155;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.theme-studio-preview-titlebar{padding:12px 14px;background:linear-gradient(180deg,#1f2937,#0f172a);color:#f8fafc;font:600 13px/1.1 Inter,system-ui,sans-serif}
.theme-studio-preview-body{padding:18px;background:#111827;color:#f8fafc;font:500 14px/1.4 Inter,system-ui,sans-serif}
.theme-studio-preview-brand{font-family:"VT323",monospace;font-size:56px;line-height:1;color:#fff;margin-bottom:6px}
.theme-studio-preview-brand span{color:#8b5cf6}
.theme-studio-preview-tag{font-size:13px;color:#cbd5e1;margin-bottom:16px}
.theme-studio-preview-search{background:#1f2937;border:1px solid #334155;border-radius:16px;padding:14px;margin-bottom:16px}
.theme-studio-preview-search-title{font-size:12px;font-weight:700;color:#8b5cf6;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.theme-studio-preview-search-bar{background:#0f172a;border:1px solid #334155;border-radius:12px;padding:12px 14px;color:#e5eefc;margin-bottom:12px}
.theme-studio-preview-search-buttons{display:flex;gap:10px}
.theme-studio-preview-search-buttons button,.theme-studio-preview-chip{font:600 12px/1 Inter,system-ui,sans-serif}
.theme-studio-preview-search-buttons button{padding:10px 14px;border:none;background:#8b5cf6;color:#fff;border-radius:12px}
.theme-studio-preview-links{display:flex;gap:10px;flex-wrap:wrap}
.theme-studio-preview-chip{padding:10px 12px;background:#1f2937;border:1px solid #334155;border-radius:999px;color:#cbd5e1}
.theme-studio-live-note{margin-top:12px;font-size:12px;color:#94a3b8}
.theme-studio-preset-list,.theme-studio-library-list{display:flex;flex-direction:column;gap:8px}
.theme-studio-preset-list button,.theme-studio-library-item{background:#0b1220;border:1px solid rgba(148,163,184,.14);color:#e5eefc;text-align:left}
.theme-studio-library-item{border-radius:14px;padding:12px}
.theme-studio-library-item-header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px}
.theme-studio-library-item-name{font:600 13px/1.2 Inter,system-ui,sans-serif;color:#fff}
.theme-studio-library-swatches{display:flex;gap:6px;margin-bottom:10px}
.theme-studio-library-swatches span{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.12);display:block}
.theme-studio-library-item-actions{display:flex;gap:8px;flex-wrap:wrap}
.theme-studio-library-item button{background:rgba(139,92,246,.14);color:#ddd6fe;padding:8px 10px;border-radius:10px}
.theme-studio-inline{display:flex;gap:8px;flex-wrap:wrap}
.theme-studio-actionbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:14px 20px 20px;border-top:1px solid rgba(148,163,184,.12)}
.theme-studio-actionbar button{background:#8b5cf6;color:#fff}
.theme-studio-actionbar .theme-studio-ghost{background:rgba(148,163,184,.12);color:#cbd5e1}
.theme-studio-toast{position:fixed;right:22px;bottom:22px;background:#0f172a;color:#fff;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:12px 14px;box-shadow:0 18px 40px rgba(0,0,0,.28);z-index:10050;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.theme-studio-toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1180px){.theme-studio-layout{grid-template-columns:280px 1fr}.theme-studio-library-panel{grid-column:1/-1;max-height:220px}}
@media (max-width:860px){.theme-studio-overlay{padding:10px}.theme-studio-shell{width:100vw;height:100vh;border-radius:0}.theme-studio-layout{grid-template-columns:1fr;gap:12px;padding:12px}.theme-studio-panel,.theme-studio-stage-card{min-height:0}.theme-studio-preview-brand{font-size:40px}.theme-studio-topbar{padding:16px 16px 12px}.theme-studio-title{font-size:22px}.theme-studio-actionbar{justify-content:stretch}.theme-studio-actionbar button{flex:1 1 calc(50% - 10px)}}


.theme-row-studio .tbtn{
  text-align:center;}

body.kali .tb-clock,
body.mint .tb-clock,
body.aol .tb-clock,
body.excite .tb-clock,
body.blackberry .tb-clock,
body.mapquest .tb-clock,
body.netscape .tb-clock,
body.custom .tb-clock {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 6px !important;
}



.theme-row-studio .tbtn:first-of-type{
  border-color: var(--accent2);
  box-shadow: 0 0 6px rgba(0,120,212,0.4);
}
.theme-row-studio .tbtn:first-of-type:hover{
  box-shadow: 0 0 10px rgba(0,120,212,0.7);
  transform: translateY(-1px);
}


/* ===== NEWS ===== */
.news-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.news-current{font-size:11px;color:var(--text2);letter-spacing:1px;text-transform:uppercase;}
.news-picker{display:none;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:10px;background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);}
.news-picker.open{display:flex;}
.news-topic-btn{font-family:var(--font);font-size:11px;padding:4px 10px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br);}
.news-topic-btn.active,.news-topic-btn:active{border-top:1px solid var(--bd);border-left:1px solid var(--bd);border-right:1px solid var(--bl);border-bottom:1px solid var(--bl);background:var(--bg3);}
.news-banner-wrap{position:relative;overflow:hidden;background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);min-height:44px;padding:10px;border-radius:var(--br);}
.news-banner-status{font-size:11px;color:var(--text2);}
.news-banner{display:none;white-space:nowrap;will-change:transform;}
.news-banner.ready{display:block;animation:news-marquee 38s linear infinite;}
.news-banner:hover{animation-play-state:paused;}
.news-item{display:inline-flex;align-items:center;margin-right:28px;color:var(--text);text-decoration:none;font-size:12px;}
.news-item:hover{text-decoration:underline;color:var(--accent2);}
.news-bullet{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border:1px solid var(--bd);background:var(--bg3);color:var(--accent2);font-size:11px;border-radius:50%;}
@keyframes news-marquee{0%{transform:translateX(100%);}100%{transform:translateX(-100%);}}
@media (max-width:700px){.news-toolbar{align-items:flex-start}.news-banner-wrap{padding:8px}.news-item{font-size:11px;margin-right:22px}.theme-studio-module{grid-template-columns:1fr}.theme-studio-module-actions{justify-content:flex-start}}

/* ===== MODULAR DASHBOARD ===== */
.dashboard-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}
.dashboard-panels-btn{min-width:172px;}
.dashboard-panels-btn.is-open{background:var(--btn);color:var(--text);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent2) 28%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--accent2) 18%, transparent);}
.dashboard-panels-btn.is-open:hover{filter:none;}
.dashboard-toolbar > .tbtn{flex:0 0 auto;}
.panel-tray,
.panel-manager{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.panel-tray{
  display:none;
  padding:8px 10px;
  background:var(--bg2);
  border:1px solid var(--bd);
  border-radius:var(--br);
}
.panel-tray.open{display:flex;}
.panel-chip{
  font-family:var(--font);
  font-size:11px;
  padding:6px 10px;
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  color:var(--text);
  cursor:pointer;
  border-radius:999px;
}
.panel-chip.is-active{background:var(--btn);color:var(--text);border-color:var(--accent2);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent2) 28%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--accent2) 18%, transparent);}
.panel-chip.is-hidden{opacity:0.82;}
.panel-manager{padding-top:2px;}
.panel-toggle-bar{display:flex;align-items:center;gap:8px;padding:8px 14px 4px;flex-wrap:wrap;}
.panel-toggle-label{font-family:var(--font);font-size:10px;color:var(--text2);letter-spacing:1px;white-space:nowrap;text-transform:uppercase;}
.panel-toggle-bar .panel-manager{display:flex;flex-wrap:wrap;gap:6px;padding-top:0;border:none;background:none;}
.module-grid{
  --module-row-unit:10px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:var(--module-row-unit);
  grid-auto-flow:row;
  gap:7px;
  margin-top:14px;
}

.module-card[hidden]{display:none !important;}
.module-body[hidden]{display:none !important;}

.module-card{
  grid-column:span 6;
  margin-bottom:0;
  min-width:0;
  height:auto;
  align-self:start;
  display:flex;
  flex-direction:column;
  position:relative;
  background:linear-gradient(180deg,var(--bg) 0%, var(--bg2) 100%);
  border-top:2px solid var(--bl);
  border-left:2px solid var(--bl);
  border-right:2px solid var(--bd);
  border-bottom:2px solid var(--bd);
  border-radius:calc(var(--br) + 2px);
  overflow:hidden;
  box-shadow:0 8px 18px rgba(0,0,0,0.08);
  transition:transform 0.18s ease, box-shadow 0.18s ease, outline-color 0.18s ease, grid-column 0.18s ease, grid-row 0.18s ease;
}
.module-card-wide{grid-column:span 6;}
.module-card-full{grid-column:1 / -1;}


.module-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;

  padding:3px 8px;      /* 👈 smaller padding */
  min-height:22px;      /* 👈 smaller height */

  border-bottom:1px solid var(--bd);
  background:var(--module-head-bg, var(--tb-bg, var(--bg2)));
  color:var(--module-head-text, var(--tb-text, var(--text)));

  cursor:grab;
  touch-action:none;
  user-select:none;
}



.module-head .sec-title{
  margin:0;
}

.module-head-main{display:flex;align-items:center;gap:6px;min-width:0;flex:1;}
.module-head-main > *{min-width:0;}
.module-head-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.module-collapse-btn{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  color:var(--text);
  cursor:pointer;
  border-radius:max(3px, var(--br));
  font-family:var(--font);
  font-size:10px;
  line-height:1;
}
.module-collapse-btn span{display:block;transform:translateY(-2px);transition:transform .16s ease;font-size:10px;line-height:1;}
.module-collapse-btn.is-collapsed span{transform:rotate(-90deg) translateX(1px);}
.module-collapse-btn:hover{filter:brightness(.98);}
.module-collapsed .module-head{border-bottom:none;}
.module-collapsed .module-body{display:none;}
.module-subtitle{display:none;}
.module-badge{display:none;}
.module-controls{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
.module-icon-btn{font-family:var(--font);font-size:11px;line-height:1;padding:2px 6px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br);white-space:nowrap;}
.module-size-label{display:none !important;}
.module-hidden-btn{font-size:11px;padding:3px 7px;}
.module-edit-btn{font-size:11px;padding:3px 7px;}
.module-close-btn{letter-spacing:.2px;}
.module-body{
  padding:12px;
  min-height:0;
  overflow:visible;
}
.module-resize-handle{position:absolute;right:0;bottom:0;width:20px;height:20px;padding:0;border:none;background:transparent;appearance:none;-webkit-appearance:none;cursor:nwse-resize;z-index:5;opacity:0;pointer-events:none;}
.module-card:hover .module-size-label{opacity:.01;}
.module-card.module-dragging-live{position:fixed !important;z-index:2000;pointer-events:none;opacity:0.97;transform:none;box-shadow:0 20px 38px rgba(0,0,0,0.22);transition:none;margin:0 !important;}
.module-placeholder{min-height:120px;border:2px dashed var(--accent2);border-radius:calc(var(--br) + 2px);background:color-mix(in srgb, var(--accent2) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent2) 25%, transparent);transition:none;}
.module-card.module-drop-target{outline:2px dashed var(--accent2);outline-offset:-8px;}
.module-card.module-drop-before{box-shadow:inset 0 4px 0 0 var(--accent2);}
.module-card.module-drop-after{box-shadow:inset 0 -4px 0 0 var(--accent2);}
.module-card.module-resizing,.module-card.module-resizing-preview{box-shadow:0 0 0 2px var(--accent2), 0 10px 24px rgba(0,0,0,0.14);}
.module-card.module-resizing .module-head{cursor:nwse-resize;}
body.module-resizing-active{user-select:none;cursor:nwse-resize;}
body.module-resizing-active .module-card{transition:none !important;}
body.module-dragging-active .module-card{transition:box-shadow .12s ease, outline-color .12s ease;}
body.module-dragging-active{user-select:none;cursor:grabbing;}
.module-action-btn{margin-top:10px;}
.module-card[data-edit-action] .module-action-btn{display:none !important;}
.module-head .sec-title.has-settings-shortcut{display:flex;align-items:center;gap:6px;}
.module-settings-shortcut{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  padding:0;
  margin:0;
  border:none;
  background:transparent;
  color:inherit;
  opacity:.72;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  line-height:1;
  transition:opacity .14s ease, transform .14s ease, filter .14s ease;
}
.module-settings-shortcut:hover,
.module-settings-shortcut:focus-visible{
  opacity:1;
  filter:brightness(1.03);
}
.module-settings-shortcut:active{transform:translateY(1px);}
.module-settings-shortcut:focus-visible{outline:1px solid currentColor;outline-offset:2px;}
.module-settings-shortcut-icon{display:block;font-size:10px;line-height:1;transform:translateY(-.15px);}
body.macos .module-settings-shortcut-icon,
body.mac9 .module-settings-shortcut-icon{font-size:10px;}
#manageLinksBtn{display:block;margin-right:auto;margin-left:0;}

.theme-studio-module{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:2px 0;}
.theme-studio-module-hero{display:flex;flex-direction:column;gap:4px;min-width:0;}
.theme-studio-module-title{font-size:13px;font-weight:700;color:var(--text);}
.theme-studio-module-copy{font-size:11px;line-height:1.45;color:var(--text2);max-width:40ch;}
.theme-studio-module-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}


.search-manager-list{display:flex;flex-direction:column;gap:10px;}
.search-manager-row{padding:10px;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--br);}
.search-manager-head{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--text);}
.search-manager-head strong{flex:1;min-width:0;}
.search-manager-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg3);border:1px solid var(--bd);border-radius:999px;font-size:13px;}
.search-manager-remove{font-family:var(--font);font-size:11px;padding:4px 10px;background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);cursor:pointer;border-radius:var(--br);}
.search-manager-row label{display:block;margin:8px 0 4px;}
.search-manager-row input{width:100%;}

.settings-panel-body{display:flex;flex-direction:column;gap:10px;}
.settings-panel-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.settings-tile{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  font-family:var(--font);
  font-size:12px;
  padding:8px 10px;
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  color:var(--text);
  cursor:pointer;
  border-radius:var(--br);
  text-align:left;
}
.settings-tile:hover{background:var(--bg3);}
.settings-tile-ico{font-size:16px;line-height:1;}
.settings-summary{
  font-size:11px;
  color:var(--text2);
  padding:10px;
  background:var(--bg2);
  border:1px solid var(--bd);
  border-radius:var(--br);
  line-height:1.4;
}

.news-toolbar{justify-content:space-between;align-items:center;}
.news-current{
  font-size:11px;
  color:var(--text2);
  letter-spacing:1.2px;
  text-transform:uppercase;
  padding:6px 10px;
  background:var(--bg2);
  border:1px solid var(--bd);
  border-radius:999px;
}
.news-picker{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
  padding:0;
  background:none;
  border:none;
}
.news-topic-btn{
  min-width:88px;
}
.news-banner-wrap{
  min-height:54px;
  padding:12px;
}
.searches{
  justify-content:flex-start;
}
.icon-grid{
  justify-content:flex-start;
}

@media (max-width: 980px){
  .dashboard-toolbar{align-items:flex-start;}
  .panel-tray{width:100%;}
  .module-grid{grid-template-columns:1fr;grid-auto-rows:auto;}
  .module-card,
  .module-card-wide,
  .module-card-full{grid-column:1 / -1 !important;grid-row:auto !important;}
}
@media (max-width: 700px){
  .dashboard-toolbar{gap:8px;}
  .panel-tray,.panel-manager{gap:6px;}
  .module-grid{gap:5px;}
  .module-head{padding:6px 10px;}
  .module-body{padding:10px;overflow:visible;}
  .settings-panel-grid{grid-template-columns:1fr;}
  .settings-tile{min-height:42px;}
  .theme-row{flex-direction:column;gap:6px;}
  .theme-row-lbl{flex:0 0 auto;padding-top:0;}
  .theme-row-buttons{width:100%;}
  .module-size-label{display:none;}
}

.settings-modal-body .cp-section{padding:0 14px 14px;}
.settings-modal-body .cp-section:first-child{padding-top:14px;}
.settings-modal-grid{margin-top:10px;}
.settings-summary-modal{margin-top:10px;}
.settings-panel-manager{padding-top:10px;}


/* Keep theme category labels fixed on the left across all themes */
#themesSection .theme-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
}
#themesSection .theme-row-lbl{
  flex:0 0 64px;
  min-width:64px;
  text-align:left;
}
#themesSection .theme-row-buttons{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px;
}

@media (max-width: 700px){
  #themesSection .theme-row{
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:flex-start;
  }
  #themesSection .theme-row-lbl{
    flex:0 0 64px;
    min-width:64px;
    padding-top:4px;
  }
  #themesSection .theme-row-buttons{
    width:auto;
    flex:1 1 auto;
  }
}


/* ===== MODULE TITLE BARS ===== */
.module-head{
  min-height: 18px;
  padding: 1px 8px;
  gap: 3px;
}

.module-head .sec-title{
  font-size: 11px;
  line-height: 1;
  margin: 0;
}

.module-head .module-subtitle{
  display: none;
}
/* ===== SETTINGS MODAL V2 — TABBED ===== */
.settings-modal-v2 { max-height: 90vh; display: flex; flex-direction: column; }
.stab-bar { display: flex; gap: 0; border-bottom: 1px solid var(--bd); background: var(--bg2); flex-shrink: 0; }
.stab { font-family: var(--font); font-size: 11px; padding: 9px 12px; background: none; border: none; border-bottom: 2px solid transparent; color: var(--text2); cursor: pointer; letter-spacing: 0.5px; white-space: nowrap; flex: 1; transition: color 0.15s; }
.stab:hover { color: var(--text); background: var(--bg3); }
.stab.active { color: var(--accent); border-bottom-color: var(--accent); background: var(--bg); }
.stab-body { flex: 1; overflow-y: auto; padding: 14px 16px; min-height: 0; }
.stab-pane { display: none; }
.stab-pane.active { display: block; }
.stab-section-title { font-family: var(--font); font-size: 10px; font-weight: bold; color: var(--text2); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 6px; }
.stab-desc { font-family: var(--font); font-size: 11px; color: var(--text2); opacity: 0.8; margin-bottom: 2px; line-height: 1.5; }
.stab-divider { border: none; border-top: 1px solid var(--bd); margin: 14px 0 10px; }
.stab-tile-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-top: 8px; }
.stab-tile { font-family: var(--font); font-size: 11px; background: var(--bg2); border-top: 1px solid var(--bl); border-left: 1px solid var(--bl); border-right: 1px solid var(--bd); border-bottom: 1px solid var(--bd); color: var(--text); cursor: pointer; border-radius: var(--br); padding: 10px 8px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; min-height: 58px; justify-content: center; transition: background 0.12s; }
.stab-tile:hover { background: var(--bg3); }
.stab-tile-ico { font-size: 18px; line-height: 1; }
.stab-pref-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--bd); }
.stab-pref-row:last-child { border-bottom: none; }
.stab-pref-ico { font-size: 18px; width: 28px; text-align: center; flex-shrink: 0; }
.stab-pref-info { flex: 1; }
.stab-pref-label { font-family: var(--font); font-size: 12px; color: var(--text); }
.stab-pref-desc { font-family: var(--font); font-size: 10px; color: var(--text2); opacity: 0.8; margin-top: 2px; }
.stab-footer { padding: 10px 16px; border-top: 1px solid var(--bd); display: flex; justify-content: flex-end; flex-shrink: 0; }
.stab-footer button { font-family: var(--font); font-size: 12px; padding: 6px 18px; background: var(--btn); border-top: 1px solid var(--bl); border-left: 1px solid var(--bl); border-right: 1px solid var(--bd); border-bottom: 1px solid var(--bd); color: var(--text); cursor: pointer; border-radius: var(--br); }
/* Ensure panel-manager chips look good in settings */
#stab-panels .panel-manager { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; border: none; background: none; }

/* ===== STICKY NOTES ===== */
.sticky-notes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; margin-bottom: 8px; }
.sticky-note { background: #fffde7; border: 1px solid #e0c84a; border-radius: 3px; padding: 0; display: flex; flex-direction: column; min-height: 100px; box-shadow: 2px 2px 4px rgba(0,0,0,0.15); position: relative; }
.sticky-note-header { background: #f9d84a; padding: 4px 6px; display: flex; align-items: center; justify-content: space-between; border-radius: 3px 3px 0 0; cursor: grab; }
.sticky-note-color { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(0,0,0,0.2); cursor: pointer; }
.sticky-note-delete { background: none; border: none; cursor: pointer; font-size: 12px; color: #666; padding: 0; line-height: 1; }
.sticky-note-text { flex: 1; border: none; background: transparent; resize: none; padding: 6px; font-family: var(--font); font-size: 11px; color: #333; line-height: 1.5; outline: none; min-height: 80px; }
.sticky-note.color-yellow .sticky-note-header { background: #f9d84a; }
.sticky-note.color-yellow { background: #fffde7; border-color: #e0c84a; }
.sticky-note.color-blue .sticky-note-header { background: #90caf9; }
.sticky-note.color-blue { background: #e3f2fd; border-color: #64b5f6; }
.sticky-note.color-green .sticky-note-header { background: #a5d6a7; }
.sticky-note.color-green { background: #e8f5e9; border-color: #81c784; }
.sticky-note.color-pink .sticky-note-header { background: #f48fb1; }
.sticky-note.color-pink { background: #fce4ec; border-color: #f06292; }

/* ===== CUSTOM RSS ===== */
.rss-url-row { display: flex; gap: 6px; margin-bottom: 10px; align-items: center; }
.rss-url-input { flex: 1; font-family: var(--font); font-size: 11px; padding: 5px 8px; background: var(--bg2); border-top: 1px solid var(--bd); border-left: 1px solid var(--bd); border-right: 1px solid var(--bl); border-bottom: 1px solid var(--bl); color: var(--text); border-radius: var(--br); outline: none; }



.weather-widget{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--text);
}
#weatherIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.2em;
  color:var(--accent2);
  font-size:18px;
  line-height:1;
}
#weatherTemp{
  color:var(--text);
}
.weather-desc{
  color:var(--text2);
}

/* ===== EDIT MODE / PADLOCK ===== */
.edit-mode-dock{
  position: fixed;
  right: 14px;
  bottom: calc(var(--taskbar-height, 40px) + 12px);
  display: none;
  align-items: flex-end;
  flex-direction: column;
  gap: 8px;
  z-index: 1400;
}
body.show-padlock-at-bottom .edit-mode-dock{
  display: flex;
}
body.booting .edit-mode-dock,
body.booting .edit-mode-status{
  display:none !important;
}
.edit-mode-status{
  --edit-indicator-bg: color-mix(in srgb, var(--bg3) 92%, transparent);
  --edit-indicator-border: color-mix(in srgb, var(--accent2) 36%, var(--bd));
  --edit-indicator-ink: var(--text);
  --edit-indicator-accent: var(--accent2);
  display:none;
  align-items:center;
  gap:10px;
  margin: 0 0 10px;
  padding: 8px 12px;
  border:1px solid var(--edit-indicator-border);
  border-radius: var(--br);
  background: linear-gradient(180deg, color-mix(in srgb, var(--edit-indicator-bg) 92%, white 8%), var(--edit-indicator-bg));
  color: var(--edit-indicator-ink);
  box-shadow: 0 8px 18px rgba(0,0,0,.10);
  font-size: 11px;
  letter-spacing: .02em;
}
body.edit-mode .edit-mode-status{display:flex;}
.edit-mode-status-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--edit-indicator-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--edit-indicator-accent) 22%, transparent);
  flex: 0 0 auto;
}
.edit-mode-status-label{
  font-weight: 700;
  color: var(--edit-indicator-accent);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.edit-mode-status-copy{
  color: var(--text2);
}
.edit-mode-actions{
  position:absolute;
  right:0;
  bottom: calc(100% + 8px);
  display:none;
  align-items:center;
  gap:8px;
  min-width: 300px;
  padding:10px;
  border:1px solid color-mix(in srgb, var(--accent2) 24%, var(--bd));
  border-radius: calc(var(--br) + 3px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg3) 96%, white 4%), color-mix(in srgb, var(--bg2) 96%, transparent));
  box-shadow: 0 14px 28px rgba(0,0,0,.22);
  backdrop-filter: blur(8px);
}
.edit-mode-dock.is-editing .edit-mode-actions{display:none;}
.edit-mode-action{
  appearance:none;
  border:1px solid color-mix(in srgb, var(--accent2) 18%, var(--bd));
  border-radius: calc(var(--br) + 1px);
  background: linear-gradient(180deg, color-mix(in srgb, white 10%, var(--bg3)), color-mix(in srgb, black 5%, var(--bg2)));
  color:var(--text);
  font:inherit;
  font-size:11px;
  font-weight:700;
  padding:7px 12px;
  cursor:pointer;
  white-space:nowrap;
}
.edit-mode-action:hover{filter:brightness(.98);}
.padlock{
  --padlock-bg-top: var(--bg3);
  --padlock-bg-bottom: var(--bg2);
  --padlock-border: var(--bd);
  --padlock-ink: var(--accent2);
  --padlock-shadow: 0 8px 16px rgba(0,0,0,.18);
  --padlock-radius: 10px;
  --padlock-width: 36px;
  --padlock-height: 36px;
  --padlock-shackle-width: 14px;
  --padlock-shackle-height: 11px;
  --padlock-shackle-top: 6px;
  --padlock-shackle-border: 2.5px;
  --padlock-shackle-radius: 9px 9px 0 0;
  --padlock-body-width: 16px;
  --padlock-body-height: 12px;
  --padlock-body-top: 15px;
  --padlock-body-radius: 4px;
  position: relative;
  width: var(--padlock-width);
  height: var(--padlock-height);
  border: 1px solid var(--padlock-border);
  border-radius: var(--padlock-radius);
  background: linear-gradient(180deg, var(--padlock-bg-top), var(--padlock-bg-bottom));
  box-shadow: var(--padlock-shadow);
  color: var(--padlock-ink);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: filter .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.padlock:hover{filter: brightness(1.03);}
.padlock::before,
.padlock::after{content:"";position:absolute;left:50%;transform:translateX(-50%);box-sizing:border-box;transition: transform .18s ease, top .18s ease, border-color .18s ease, background-color .18s ease, width .18s ease, height .18s ease, border-radius .18s ease;}
.padlock::before{top:var(--padlock-shackle-top);width:var(--padlock-shackle-width);height:var(--padlock-shackle-height);border:var(--padlock-shackle-border) solid currentColor;border-bottom:none;border-radius:var(--padlock-shackle-radius);}
.padlock::after{top:var(--padlock-body-top);width:var(--padlock-body-width);height:var(--padlock-body-height);border-radius:var(--padlock-body-radius);background:currentColor;}
.padlock.unlocked{color: var(--accent3);}
.padlock.unlocked::before{top:calc(var(--padlock-shackle-top) + 1px);transform:translateX(-50%) rotate(-26deg);transform-origin:2px 100%;}
.padlock.settings-toggle{font-size:0;line-height:0;}
.padlock.settings-toggle::before,
.padlock.settings-toggle::after{content:"";}
.padlock.settings-toggle.unlocked,
.padlock.settings-toggle:hover,
.padlock.settings-toggle.unlocked:hover{transform:none;}
.module-head[draggable="true"]{user-select:none;}
.module-head{cursor:grab;}
.module-head:active{cursor:grabbing;}
.module-resize-handle{pointer-events:auto;opacity:.62;color:var(--accent2);background:
linear-gradient(135deg, transparent 0 56%, currentColor 56% 61%, transparent 61%),
linear-gradient(135deg, transparent 0 70%, currentColor 70% 75%, transparent 75%),
linear-gradient(135deg, transparent 0 84%, currentColor 84% 89%, transparent 89%);background-repeat:no-repeat;}
.module-card:hover .module-resize-handle,
.module-card:focus-within .module-resize-handle{opacity:.98;}
.module-card{box-shadow:0 0 0 1px rgba(0,0,0,.06), 0 8px 20px rgba(0,0,0,.08);}

/* Per-theme padlock + edit indicator styling */
body.win98 .padlock{--padlock-bg-top:#ece9d8;--padlock-bg-bottom:#d4d0c8;--padlock-border:#6d6d6d;--padlock-ink:#003c74;--padlock-radius:2px;--padlock-shadow:1px 1px 0 rgba(255,255,255,.7) inset, -1px -1px 0 rgba(0,0,0,.12) inset, 0 6px 12px rgba(0,0,0,.14);}
body.winxp .padlock{--padlock-bg-top:#fefefe;--padlock-bg-bottom:#cee3ff;--padlock-border:#6b95c8;--padlock-ink:#1e4f94;--padlock-radius:9px;--padlock-shadow:0 0 0 1px rgba(255,255,255,.7) inset, 0 8px 14px rgba(28,77,145,.16);}
body.win11 .padlock{--padlock-bg-top:rgba(255,255,255,.96);--padlock-bg-bottom:rgba(234,244,255,.88);--padlock-border:rgba(97,164,234,.42);--padlock-ink:#1072cf;--padlock-radius:12px;--padlock-shadow:0 10px 22px rgba(22,76,130,.16);}
body.mac9 .padlock{--padlock-bg-top:#f2f2f2;--padlock-bg-bottom:#cbcbcb;--padlock-border:#777;--padlock-ink:#3d3d3d;--padlock-radius:5px;--padlock-shadow:0 1px 0 rgba(255,255,255,.85) inset, 0 8px 14px rgba(0,0,0,.14);}
body.macos .padlock{--padlock-bg-top:rgba(255,255,255,.98);--padlock-bg-bottom:rgba(230,234,240,.8);--padlock-border:rgba(255,255,255,.75);--padlock-ink:#1f2937;--padlock-radius:12px;--padlock-shadow:0 0 0 1px rgba(255,255,255,.42) inset, 0 12px 24px rgba(15,23,42,.16);}
body.ubuntu .padlock{--padlock-bg-top:#5f2c4e;--padlock-bg-bottom:#2f1a2c;--padlock-border:#e95420;--padlock-ink:#ffb38b;--padlock-radius:9px;--padlock-shadow:0 8px 16px rgba(60,16,35,.24);}
body.kali .padlock{--padlock-bg-top:#18212a;--padlock-bg-bottom:#0f141b;--padlock-border:#3ea6ff;--padlock-ink:#7dd3fc;--padlock-radius:7px;--padlock-shadow:0 0 0 1px rgba(61,166,255,.16) inset, 0 0 18px rgba(61,166,255,.18);}
body.mint .padlock{--padlock-bg-top:#1d4d3b;--padlock-bg-bottom:#10291f;--padlock-border:#7ed7a5;--padlock-ink:#baf3cf;--padlock-radius:9px;--padlock-shadow:0 8px 18px rgba(16,41,31,.22);}
body.dos .padlock{--padlock-bg-top:#000;--padlock-bg-bottom:#000;--padlock-border:#33ff66;--padlock-ink:#33ff66;--padlock-radius:0;--padlock-shadow:none;--padlock-body-radius:0;--padlock-shackle-radius:0;}
body.c64 .padlock{--padlock-bg-top:#2f2d80;--padlock-bg-bottom:#1f1d5e;--padlock-border:#9e9df7;--padlock-ink:#c8c7ff;--padlock-radius:0;--padlock-shadow:none;--padlock-body-radius:0;--padlock-shackle-radius:0;}
body.teletext .padlock{--padlock-bg-top:#101010;--padlock-bg-bottom:#101010;--padlock-border:#ffea00;--padlock-ink:#ffea00;--padlock-radius:0;--padlock-shadow:none;--padlock-body-radius:0;--padlock-shackle-radius:0;}
body.aol .padlock{--padlock-bg-top:#e8f2ff;--padlock-bg-bottom:#bfdcff;--padlock-border:#1d5eb7;--padlock-ink:#1b4f9c;--padlock-radius:8px;}
body.excite .padlock{--padlock-bg-top:#fff1c5;--padlock-bg-bottom:#ffd971;--padlock-border:#ee5a23;--padlock-ink:#ce3318;--padlock-radius:9px;}
body.mapquest .padlock{--padlock-bg-top:#eef5ff;--padlock-bg-bottom:#d7e8ff;--padlock-border:#315f9e;--padlock-ink:#1f4e8e;--padlock-radius:6px;}
body.netscape .padlock{--padlock-bg-top:#fff2cc;--padlock-bg-bottom:#ffd36d;--padlock-border:#2e4d80;--padlock-ink:#1f3a66;--padlock-radius:7px;}
body.altavista .padlock{--padlock-bg-top:#f4dbef;--padlock-bg-bottom:#d5a6d8;--padlock-border:#7c2d74;--padlock-ink:#6e1561;--padlock-radius:8px;}
body.myspace .padlock{--padlock-bg-top:#f3f7ff;--padlock-bg-bottom:#d8e5ff;--padlock-border:#35538d;--padlock-ink:#1f3f7a;--padlock-radius:5px;}
body.yahoo .padlock{--padlock-bg-top:#f1ddff;--padlock-bg-bottom:#dbc0ff;--padlock-border:#6b21a8;--padlock-ink:#5b1894;--padlock-radius:9px;}
body.icq .padlock{--padlock-bg-top:#ebffd9;--padlock-bg-bottom:#c8f3a3;--padlock-border:#4a8b19;--padlock-ink:#2f6f05;--padlock-radius:50%;--padlock-width:38px;--padlock-height:38px;}
body.lycos .padlock{--padlock-bg-top:#ffe2d8;--padlock-bg-bottom:#ffc2a8;--padlock-border:#d9480f;--padlock-ink:#b9380d;--padlock-radius:8px;}
body.askjeeves .padlock{--padlock-bg-top:#fff3e6;--padlock-bg-bottom:#f9dcb3;--padlock-border:#8b5a2b;--padlock-ink:#6f4518;--padlock-radius:8px;}
body.reddit .padlock{--padlock-bg-top:#fff0e8;--padlock-bg-bottom:#ffd8c7;--padlock-border:#ff6a33;--padlock-ink:#ff4500;--padlock-radius:12px;}
body.geocities .padlock{--padlock-bg-top:#fff6cc;--padlock-bg-bottom:#ffe36d;--padlock-border:#f06;--padlock-ink:#ff1493;--padlock-radius:6px;}
body.blockbuster .padlock{--padlock-bg-top:#1b2d77;--padlock-bg-bottom:#101b4c;--padlock-border:#f5d142;--padlock-ink:#f8e77a;--padlock-radius:4px;}
body.nokia .padlock{--padlock-bg-top:#2a3d83;--padlock-bg-bottom:#17244f;--padlock-border:#7fa4ff;--padlock-ink:#dbe6ff;--padlock-radius:6px;}
body.blackberry .padlock{--padlock-bg-top:#262626;--padlock-bg-bottom:#111;--padlock-border:#7b7b7b;--padlock-ink:#efefef;--padlock-radius:8px;}
body.iphone3g .padlock{--padlock-bg-top:rgba(255,255,255,.92);--padlock-bg-bottom:rgba(212,212,212,.88);--padlock-border:#7b7b7b;--padlock-ink:#4a4a4a;--padlock-radius:12px;--padlock-shadow:0 0 0 1px rgba(255,255,255,.5) inset, 0 10px 20px rgba(0,0,0,.18);}
body.w810i .padlock{--padlock-bg-top:#ff9a00;--padlock-bg-bottom:#2d2d2d;--padlock-border:#ffb84d;--padlock-ink:#fff0cc;--padlock-radius:8px;}
body.gingerbread .padlock{--padlock-bg-top:#6ec142;--padlock-bg-bottom:#2f6e1b;--padlock-border:#a7f37f;--padlock-ink:#efffe6;--padlock-radius:8px;}
body.jellybean .padlock{--padlock-bg-top:#3bb0ff;--padlock-bg-bottom:#125287;--padlock-border:#9dddff;--padlock-ink:#eaf8ff;--padlock-radius:10px;}
body.custom .padlock{--padlock-bg-top:color-mix(in srgb, white 8%, var(--bg3));--padlock-bg-bottom:color-mix(in srgb, black 8%, var(--bg2));--padlock-border:color-mix(in srgb, var(--accent2) 28%, var(--bd));--padlock-ink:var(--accent2);}

body.win98 .edit-mode-status{--edit-indicator-bg:#ece9d8;--edit-indicator-border:#7a7a7a;--edit-indicator-accent:#003c74;}
body.winxp .edit-mode-status{--edit-indicator-bg:#eef5ff;--edit-indicator-border:#7aa7d9;--edit-indicator-accent:#1e4f94;}
body.win11 .edit-mode-status{--edit-indicator-bg:rgba(245,250,255,.96);--edit-indicator-border:rgba(97,164,234,.42);--edit-indicator-accent:#1072cf;}
body.mac9 .edit-mode-status{--edit-indicator-bg:#ebebeb;--edit-indicator-border:#8a8a8a;--edit-indicator-accent:#4a4a4a;}
body.macos .edit-mode-status{--edit-indicator-bg:rgba(255,255,255,.86);--edit-indicator-border:rgba(255,255,255,.68);--edit-indicator-accent:#334155;}
body.ubuntu .edit-mode-status{--edit-indicator-bg:#301623;--edit-indicator-border:#e95420;--edit-indicator-accent:#ffb38b;}
body.kali .edit-mode-status{--edit-indicator-bg:#111821;--edit-indicator-border:#3ea6ff;--edit-indicator-accent:#7dd3fc;}
body.mint .edit-mode-status{--edit-indicator-bg:#10291f;--edit-indicator-border:#7ed7a5;--edit-indicator-accent:#baf3cf;}
body.dos .edit-mode-status, body.c64 .edit-mode-status, body.teletext .edit-mode-status{border-radius:0; box-shadow:none;}
body.dos .edit-mode-status{--edit-indicator-bg:#000;--edit-indicator-border:#33ff66;--edit-indicator-accent:#33ff66;}
body.c64 .edit-mode-status{--edit-indicator-bg:#1f1d5e;--edit-indicator-border:#9e9df7;--edit-indicator-accent:#c8c7ff;}
body.teletext .edit-mode-status{--edit-indicator-bg:#101010;--edit-indicator-border:#ffea00;--edit-indicator-accent:#ffea00;}
body.aol .edit-mode-status{--edit-indicator-bg:#dcecff;--edit-indicator-border:#1d5eb7;--edit-indicator-accent:#1b4f9c;}
body.excite .edit-mode-status{--edit-indicator-bg:#fff1c5;--edit-indicator-border:#ee5a23;--edit-indicator-accent:#ce3318;}
body.mapquest .edit-mode-status{--edit-indicator-bg:#edf4ff;--edit-indicator-border:#315f9e;--edit-indicator-accent:#1f4e8e;}
body.netscape .edit-mode-status{--edit-indicator-bg:#ffe7a8;--edit-indicator-border:#2e4d80;--edit-indicator-accent:#1f3a66;}
body.altavista .edit-mode-status{--edit-indicator-bg:#eed8f0;--edit-indicator-border:#7c2d74;--edit-indicator-accent:#6e1561;}
body.myspace .edit-mode-status{--edit-indicator-bg:#ecf2ff;--edit-indicator-border:#35538d;--edit-indicator-accent:#1f3f7a;}
body.yahoo .edit-mode-status{--edit-indicator-bg:#f1ddff;--edit-indicator-border:#6b21a8;--edit-indicator-accent:#5b1894;}
body.icq .edit-mode-status{--edit-indicator-bg:#ecffd7;--edit-indicator-border:#4a8b19;--edit-indicator-accent:#2f6f05;}
body.lycos .edit-mode-status{--edit-indicator-bg:#ffe5dc;--edit-indicator-border:#d9480f;--edit-indicator-accent:#b9380d;}
body.askjeeves .edit-mode-status{--edit-indicator-bg:#fff3e6;--edit-indicator-border:#8b5a2b;--edit-indicator-accent:#6f4518;}
body.reddit .edit-mode-status{--edit-indicator-bg:#fff1e8;--edit-indicator-border:#ff6a33;--edit-indicator-accent:#ff4500;}
body.geocities .edit-mode-status{--edit-indicator-bg:#fff6cc;--edit-indicator-border:#f06;--edit-indicator-accent:#ff1493;}
body.blockbuster .edit-mode-status{--edit-indicator-bg:#101b4c;--edit-indicator-border:#f5d142;--edit-indicator-accent:#f8e77a;}
body.nokia .edit-mode-status{--edit-indicator-bg:#17244f;--edit-indicator-border:#7fa4ff;--edit-indicator-accent:#dbe6ff;}
body.blackberry .edit-mode-status{--edit-indicator-bg:#111;--edit-indicator-border:#7b7b7b;--edit-indicator-accent:#efefef;}
body.iphone3g .edit-mode-status{--edit-indicator-bg:rgba(255,255,255,.94);--edit-indicator-border:#7b7b7b;--edit-indicator-accent:#4a4a4a;}
body.w810i .edit-mode-status{--edit-indicator-bg:#2d2d2d;--edit-indicator-border:#ffb84d;--edit-indicator-accent:#fff0cc;}
body.gingerbread .edit-mode-status{--edit-indicator-bg:#2f6e1b;--edit-indicator-border:#a7f37f;--edit-indicator-accent:#efffe6;}
body.jellybean .edit-mode-status{--edit-indicator-bg:#125287;--edit-indicator-border:#9dddff;--edit-indicator-accent:#eaf8ff;}
body.custom .edit-mode-status{--edit-indicator-bg:color-mix(in srgb, white 6%, var(--bg3));--edit-indicator-border:color-mix(in srgb, var(--accent2) 28%, var(--bd));--edit-indicator-accent:var(--accent2);}
@media (max-width: 980px){
  .edit-mode-dock{bottom: calc(var(--taskbar-height, 40px) + max(8px, env(safe-area-inset-bottom)));}
  .edit-mode-actions{width:min(calc(100vw - 16px), 560px);min-width:min(calc(100vw - 16px), 320px);}
  .edit-mode-action{flex:1 1 140px;}
}

/* Footer mini links */
.footer-mini-link{font-family:var(--font);font-size:10px;background:none;border:none;color:var(--text2);cursor:pointer;letter-spacing:1px;padding:0;transition:opacity .18s ease,transform .18s ease,text-decoration-color .18s ease;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;}
.footer-mini-link:hover,.footer-mini-link:focus-visible{opacity:.8;text-decoration-color:currentColor;transform:translateY(-1px);outline:none;}

/* Theme-aware homepage/share modals */
.theme-aware-modal{overflow:hidden;position:relative;}
.theme-aware-modal::before{content:"";position:absolute;inset:0 0 auto 0;height:108px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%, transparent),color-mix(in srgb,var(--accent2) 18%, transparent));pointer-events:none;}
.theme-aware-modal .modal-body{position:relative;}
.theme-modal-brand{font-size:30px;font-family:var(--font-d);color:var(--accent);letter-spacing:2px;margin-bottom:10px;line-height:1;}
.theme-modal-brand span{color:var(--accent2);}
.theme-modal-brand small{font-size:14px;color:var(--text2);font-family:var(--font);margin-left:2px;}
.theme-modal-intro{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;}
.theme-modal-chip{font-family:var(--font);font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:4px 8px;border:1px solid var(--bd);background:color-mix(in srgb,var(--panel) 88%, transparent);color:var(--text2);border-radius:999px;}
.theme-modal-copy{font-size:12px;line-height:1.7;color:var(--text);margin-bottom:10px;}
.theme-modal-tip{font-size:12px;line-height:1.7;color:var(--text2);margin:14px 0 0;}
.theme-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.theme-modal-fieldrow{display:flex;gap:8px;align-items:center;margin:14px 0 0;}
.theme-modal-input{flex:1;font-family:var(--font);font-size:12px;padding:10px;border:1px solid var(--bd);background:var(--panel);color:var(--text);border-radius:var(--br);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.theme-modal-actions-inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}

body.aol .theme-aware-modal::before{background:linear-gradient(135deg,rgba(20,93,201,.35),rgba(126,211,255,.16));}
body.aol .theme-modal-chip{background:rgba(13,63,147,.12);border-color:rgba(13,63,147,.4);}
body.netscape .theme-aware-modal{border:2px solid #000080;box-shadow:6px 6px 0 rgba(0,0,0,.28);}
body.netscape .theme-aware-modal::before{background:linear-gradient(135deg,rgba(0,0,128,.32),rgba(201,177,58,.18));}
body.netscape .theme-modal-chip{border-radius:3px;background:rgba(255,255,255,.55);}
body.myspace .theme-aware-modal{transform:rotate(-.35deg);box-shadow:0 16px 32px rgba(0,0,0,.28),0 0 0 3px rgba(255,255,255,.35) inset;}
body.myspace .theme-aware-modal::before{background:linear-gradient(135deg,rgba(10,78,163,.30),rgba(255,255,255,.18));}
body.myspace .theme-modal-chip{background:rgba(255,255,255,.78);border-color:rgba(10,78,163,.28);}
body.yahoo .theme-aware-modal::before{background:linear-gradient(135deg,rgba(96,1,210,.28),rgba(255,255,255,.14));}
body.icq .theme-modal-chip{border-radius:12px;background:rgba(255,255,255,.82);}
body.geocities .theme-aware-modal::before{background:linear-gradient(135deg,rgba(255,90,54,.32),rgba(255,230,0,.18));}
body.geocities .theme-modal-brand{text-shadow:2px 2px 0 rgba(0,0,0,.12);}
body.winxp .theme-aware-modal{border-radius:14px;box-shadow:0 18px 34px rgba(0,56,168,.24);}
body.winxp .theme-aware-modal::before{background:linear-gradient(135deg,rgba(58,123,213,.28),rgba(0,210,255,.16));}
body.macos .theme-aware-modal,body.mac9 .theme-aware-modal{border-radius:16px;}
body.macos .theme-modal-chip,body.mac9 .theme-modal-chip{border-radius:999px;background:rgba(255,255,255,.8);}

@media (max-width:640px){.theme-modal-grid{grid-template-columns:1fr;}.theme-modal-fieldrow{flex-direction:column;align-items:stretch;}.theme-modal-actions-inline>*{flex:1 1 auto;}}


/* ===== WINDOW MANAGER FEEL ===== */

.taskbar-windows{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.taskbar-windows::-webkit-scrollbar{display:none;}


/* =====================================================
   APPLE DOCK — shared hide defaults
   ===================================================== */
.apple-dock{display:none;}
.apple-dock-btn{display:none;}

/* =====================================================
   macOS DOCK  (modern Aqua / macOS Big Sur style)
   A unified glass shelf — icons sit *inside* the tray,
   not as individual pill buttons.
   ===================================================== */
body.macos .apple-dock{
  position:fixed;
  left:50%;
  bottom:calc(max(12px, env(safe-area-inset-bottom)) + 8px);
  transform:translateX(-50%);
  display:flex;
  align-items:flex-end;
  gap:6px;
  padding:8px 14px 10px;
  z-index:1250;
  /* Unified glass shelf */
  border:1px solid rgba(255,255,255,.52);
  border-bottom-color:rgba(255,255,255,.28);
  border-radius:20px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(32px) saturate(1.8);
  -webkit-backdrop-filter:blur(32px) saturate(1.8);
  box-shadow:
    0 2px 0 rgba(255,255,255,.55) inset,
    0 -1px 0 rgba(0,0,0,.10) inset,
    0 20px 48px rgba(0,0,0,.38),
    0 1px 0 rgba(0,0,0,.08);
}
/* Reflection strip beneath the shelf */
body.macos .apple-dock::after{
  content:"";
  position:absolute;
  left:14px; right:14px; bottom:-6px;
  height:4px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);
  pointer-events:none;
}

/* Separator line between groups */
body.macos .apple-dock-sep{
  display:block;
  width:1px;
  height:40px;
  margin:0 2px 6px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.45) 30%,rgba(255,255,255,.45) 70%,transparent);
  align-self:flex-end;
  flex-shrink:0;
}

/* Individual icon buttons — transparent, icons float in shelf */
body.macos .apple-dock-btn{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  width:52px;
  height:52px;
  border:none;
  background:transparent;
  padding:0 0 2px;
  cursor:pointer;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1);
  will-change:transform;
}
/* Icon image area — rounded square app icon look */
body.macos .apple-dock-btn .apple-dock-icon-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:12px;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s ease;
  position:relative;
  overflow:hidden;
}
/* Top gloss sheen on each icon */
body.macos .apple-dock-btn .apple-dock-icon-wrap::after{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:50%;
  border-radius:12px 12px 40% 40%;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0));
  pointer-events:none;
}

/* Hover — classic macOS bounce-up magnification */
body.macos .apple-dock-btn:hover,
body.macos .apple-dock-btn:focus-visible{
  transform:translateY(-12px);
}
body.macos .apple-dock-btn:hover .apple-dock-icon-wrap,
body.macos .apple-dock-btn:focus-visible .apple-dock-icon-wrap{
  transform:scale(1.18);
  box-shadow:0 12px 28px rgba(0,0,0,.32);
}
body.macos .apple-dock-btn[aria-expanded="true"]{
  transform:translateY(-8px);
}
body.macos .apple-dock-btn[aria-expanded="true"] .apple-dock-icon-wrap{
  box-shadow:0 0 0 2px rgba(59,130,246,.55), 0 8px 20px rgba(0,0,0,.28);
}

/* Open-app dot indicator */
body.macos .apple-dock-btn::before{
  content:"";
  position:absolute;
  bottom:-5px;
  left:50%;
  transform:translateX(-50%);
  width:4px; height:4px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  opacity:0;
  transition:opacity .15s ease;
}
body.macos .apple-dock-btn[aria-expanded="true"]::before{
  opacity:1;
}

/* Icon colours — colourful rounded-square icons */
body.macos .apple-dock-btn-home .apple-dock-icon-wrap{
  background:linear-gradient(145deg,#5ac8fa,#007aff);
}
body.macos .apple-dock-btn-panels .apple-dock-icon-wrap{
  background:linear-gradient(145deg,#34d399,#059669);
}
body.macos .apple-dock-btn-settings .apple-dock-icon-wrap{
  background:linear-gradient(145deg,#94a3b8,#475569);
}
body.macos .apple-dock-btn-theme .apple-dock-icon-wrap{
  background:linear-gradient(145deg,#c084fc,#9333ea);
}

body.macos .apple-dock-icon{
  font-size:26px;
  line-height:1;
  pointer-events:none;
  position:relative;
  z-index:1;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Tooltip label */
body.macos .apple-dock-label{
  position:absolute;
  left:50%;
  bottom:calc(100% + 14px);
  transform:translateX(-50%) translateY(4px);
  padding:4px 10px;
  border-radius:8px;
  font-size:11px;
  font-weight:500;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
  background:rgba(30,30,30,.88);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}
body.macos .apple-dock-btn:hover .apple-dock-label,
body.macos .apple-dock-btn:focus-visible .apple-dock-label{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* =====================================================
   MAC OS 9 CONTROL STRIP  (Platinum UI)
   Mac OS 9 had no dock — it had a Control Strip: a
   collapsible horizontal bar of square module tiles
   with the classic Platinum beveled appearance.
   ===================================================== */
body.mac9 .apple-dock{
  position:fixed;
  left:50%;
  bottom:calc(max(10px, env(safe-area-inset-bottom)) + 8px);
  transform:translateX(-50%);
  display:flex;
  align-items:stretch;
  gap:0;
  padding:0;
  z-index:1250;
  /* Platinum chrome tray */
  border:2px solid #999;
  border-top-color:#f0f0f0;
  border-left-color:#f0f0f0;
  border-radius:8px;
  background:linear-gradient(180deg,#e8e8e8 0%,#d0d0d0 48%,#c0c0c0 50%,#d8d8d8 100%);
  box-shadow:
    1px 1px 0 rgba(255,255,255,.9) inset,
    -1px -1px 0 rgba(0,0,0,.22) inset,
    0 4px 12px rgba(0,0,0,.30),
    0 1px 2px rgba(0,0,0,.18);
  overflow:hidden;
}
/* Left "tab handle" — the real Control Strip had a drag handle */
body.mac9 .apple-dock::before{
  content:"";
  display:block;
  width:10px;
  flex-shrink:0;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0px,
      transparent 2px,
      rgba(255,255,255,.7) 2px,
      rgba(255,255,255,.7) 3px,
      transparent 3px,
      transparent 5px,
      rgba(0,0,0,.18) 5px,
      rgba(0,0,0,.18) 6px
    ),
    linear-gradient(180deg,#d8d8d8,#b8b8b8 50%,#c8c8c8);
  border-right:1px solid #999;
  cursor:ew-resize;
}

/* Separator between modules */
body.mac9 .apple-dock-sep{
  display:block;
  width:1px;
  background:linear-gradient(180deg,#888,#bbb 50%,#888);
  flex-shrink:0;
  align-self:stretch;
  margin:0;
}

/* Individual module tiles — square Platinum buttons */
body.mac9 .apple-dock-btn{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:48px;
  height:44px;
  border:none;
  border-right:1px solid #999;
  border-left:1px solid rgba(255,255,255,.7);
  background:linear-gradient(180deg,#e4e4e4 0%,#d0d0d0 48%,#c0c0c0 50%,#d4d4d4 100%);
  padding:0;
  cursor:pointer;
  transition:filter .1s ease;
  border-radius:0;
}
body.mac9 .apple-dock-btn:last-child{
  border-right:none;
}
/* Pressed state — classic Macintosh invert-style press */
body.mac9 .apple-dock-btn:active{
  background:linear-gradient(180deg,#b0b0b0 0%,#c0c0c0 48%,#d0d0d0 50%,#b8b8b8 100%);
  box-shadow:1px 1px 0 rgba(0,0,0,.22) inset, -1px -1px 0 rgba(255,255,255,.7) inset;
}
body.mac9 .apple-dock-btn:hover,
body.mac9 .apple-dock-btn:focus-visible{
  filter:brightness(1.06);
}
body.mac9 .apple-dock-btn[aria-expanded="true"]{
  background:linear-gradient(180deg,#a8a8a8 0%,#b8b8b8 48%,#c8c8c8 50%,#b0b0b0 100%);
  box-shadow:1px 1px 0 rgba(0,0,0,.25) inset, -1px -1px 0 rgba(255,255,255,.6) inset;
  outline:none;
}

/* Icon — uses system-style emoji / character */
body.mac9 .apple-dock-icon{
  font-size:22px;
  line-height:1;
  pointer-events:none;
  color:#1a1a1a;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
  display:flex;
  align-items:center;
  justify-content:center;
}
body.mac9 .apple-dock-btn-home .apple-dock-icon{color:#1a1a1a;}
body.mac9 .apple-dock-btn-panels .apple-dock-icon{color:#1a3c8a;}
body.mac9 .apple-dock-btn-settings .apple-dock-icon{color:#333;}
body.mac9 .apple-dock-btn-theme .apple-dock-icon{color:#6b1f99;}

/* Tooltip label — Mac OS 9 "balloon help" style */
body.mac9 .apple-dock-label{
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px);
  padding:3px 7px;
  border-radius:3px;
  font-size:10px;
  font-family:"Chicago","Charcoal","MS Sans Serif",sans-serif;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease, transform .12s ease;
  /* Platinum tooltip */
  background:#ffffcc;
  border:1px solid #7f7f7f;
  color:#000;
  box-shadow:1px 1px 0 rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.9) inset;
}
body.mac9 .apple-dock-btn:hover .apple-dock-label,
body.mac9 .apple-dock-btn:focus-visible .apple-dock-label{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

body.booting .apple-dock{display:none !important;}
body.mac9 .start-menu-panel,
body.mac9 .panel-launch-panel,
body.macos .start-menu-panel,
body.macos .panel-launch-panel{
  left:50%;
  transform:translateX(-50%);
  bottom:92px;
}
body.mac9 .taskbar,
body.macos .taskbar{display:none !important;}
.taskbar-plus-btn{
  width:30px;
  min-width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 16%, var(--btn)), var(--btn));
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 2px);
  color:var(--text);
  font-family:var(--font-d);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.taskbar-plus-btn:hover,.taskbar-plus-btn[aria-expanded="true"]{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 28%, var(--btn)), color-mix(in srgb, var(--accent2) 12%, var(--bg3)));
}

.taskbar-settings-btn{
  width:30px;
  min-width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 16%, var(--btn)), var(--btn));
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 2px);
  color:var(--text);
  font-family:var(--font-d);
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.taskbar-settings-btn:hover{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 28%, var(--btn)), color-mix(in srgb, var(--accent2) 12%, var(--bg3)));
}
/* Hide taskbar settings btn on mac themes (they use the dock) */
body.mac9 .taskbar-settings-btn,
body.macos .taskbar-settings-btn{display:none;}

.taskbar-window-btn{
  min-width:110px;
  max-width:200px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  font-family:var(--font);
  font-size:11px;
  color:var(--text);
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 1px);
  cursor:default;
  box-shadow:0 1px 0 rgba(255,255,255,.15) inset;
}
.taskbar-window-main{
  min-width:0;
  flex:1 1 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:2px 6px;
  border:none;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.taskbar-window-close{
  flex:0 0 auto;
  width:22px;
  height:22px;
  border:none;
  border-radius:calc(var(--br) + 1px);
  background:transparent;
  color:var(--text);
  font:700 14px/1 var(--font);
  cursor:pointer;
}
.taskbar-window-close:hover{
  background:color-mix(in srgb, #29c45a 22%, var(--bg3));
  color:var(--text);
}
.taskbar-window-btn.is-active{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent2) 35%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--accent2) 18%, transparent);
  background:color-mix(in srgb, var(--bg3) 76%, var(--accent2) 24%);
}
.taskbar-window-btn.is-minimized{opacity:.78;}
.taskbar-window-btn.is-maximized .taskbar-window-dot{transform:scale(1.2);}
.taskbar-window-dot{width:8px;height:8px;border-radius:999px;background:var(--accent2);flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent2) 18%, transparent);}
.taskbar-window-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}


.panel-launch-panel{
  position:fixed;
  left:54px;
  bottom:calc(var(--taskbar-height, 40px) + 8px);
  width:min(310px, calc(100vw - 20px));
  border-top:2px solid var(--bl);
  border-left:2px solid var(--bl);
  border-right:2px solid var(--bd);
  border-bottom:2px solid var(--bd);
  border-radius:calc(var(--br) + 4px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 95%, white 5%), color-mix(in srgb, var(--bg2) 96%, transparent));
  box-shadow:0 18px 34px rgba(0,0,0,.24);
  z-index:1300;
  overflow:hidden;
}
body.booting .panel-launch-panel{display:none !important;}
.panel-launch-head{padding:12px 14px 10px;border-bottom:1px solid var(--bd);background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 14%, var(--bg3)), var(--bg3));}
.panel-launch-title{font-family:var(--font-d);font-size:18px;color:var(--text);}
.panel-launch-copy{font-family:var(--font);font-size:11px;color:var(--text2);margin-top:4px;}
.panel-launch-list{display:flex;flex-direction:column;gap:6px;padding:8px;max-height:min(52vh, 420px);overflow:auto;}
.panel-launch-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 1px);
  color:var(--text);
  cursor:pointer;
}
.panel-launch-item:hover{background:color-mix(in srgb, var(--bg3) 82%, var(--accent2) 18%);}
.panel-launch-item.is-hidden{opacity:.84;}
.panel-launch-item.is-locked{opacity:.56;cursor:default;}
.panel-launch-item-mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb, var(--accent2) 18%, transparent);font-size:13px;font-weight:700;flex:0 0 auto;}
.panel-launch-item-title{display:block;font-size:12px;font-weight:700;}
.panel-launch-item-copy{display:block;font-size:10px;color:var(--text2);margin-top:2px;}

.start-menu-panel{
  position:fixed;
  left:10px;
  bottom:calc(var(--taskbar-height, 40px) + 8px);
  width:min(340px, calc(100vw - 20px));
  border-top:2px solid var(--bl);
  border-left:2px solid var(--bl);
  border-right:2px solid var(--bd);
  border-bottom:2px solid var(--bd);
  border-radius:calc(var(--br) + 4px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 92%, white 8%), color-mix(in srgb, var(--bg2) 96%, transparent));
  box-shadow:0 18px 34px rgba(0,0,0,.24);
  z-index:1300;
  overflow:hidden;
}
body.booting .start-menu-panel,
body.booting .panel-launch-panel{display:none !important;}
.start-menu-head{padding:12px 14px 10px;border-bottom:1px solid var(--bd);background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 16%, var(--bg3)), var(--bg3));}
.start-menu-title{font-family:var(--font-d);font-size:18px;color:var(--text);}
.start-menu-copy{font-family:var(--font);font-size:11px;color:var(--text2);margin-top:4px;}
.start-menu-actions{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bd);flex-wrap:wrap;}
.start-menu-action,.start-menu-item{
  font-family:var(--font);
  color:var(--text);
}
.start-menu-action{
  padding:6px 10px;
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 1px);
  cursor:pointer;
}
.start-menu-list{display:flex;flex-direction:column;max-height:min(52vh, 420px);overflow:auto;padding:8px;gap:6px;}
.start-menu-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  background:color-mix(in srgb, var(--bg) 86%, transparent);
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 1px);
  cursor:pointer;
}
.start-menu-item:hover{background:color-mix(in srgb, var(--bg3) 82%, var(--accent2) 18%);}
.start-menu-item-title{font-size:12px;font-weight:700;}
.start-menu-item-copy{font-size:10px;color:var(--text2);}
.start-menu-item.is-hidden{opacity:.76;}

.module-head-actions{gap:3px;}
.module-window-btn{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  color:var(--text);
  cursor:pointer;
  border-radius:max(3px, var(--br));
  font-family:var(--font);
  font-size:9px;
  line-height:1;
}
.module-window-btn span{transform:translateY(-1px);}
.module-close-btn{font-size:12px;}
.module-card.window-active{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent2) 28%, transparent), 0 14px 30px rgba(0,0,0,.18);
}
.module-card.window-active .module-head{
  background:var(--module-head-active-bg, var(--module-head-bg, var(--tb-bg, var(--bg2))));
  color:var(--module-head-text, var(--tb-text, var(--text)));
}
.module-card.module-is-maximized{
  position:fixed !important;
  top:64px;
  left:12px;
  right:12px;
  bottom:calc(var(--taskbar-height, 40px) + 58px);
  z-index:1200 !important;
  margin:0 !important;
  width:auto !important;
  grid-column:auto !important;
  grid-row:auto !important;
}
.module-card.module-is-maximized .module-body{overflow:auto;}
.module-card.module-muted-by-maximized:not(.module-is-maximized){opacity:.18;pointer-events:none;}
body:not(.edit-mode) .module-card{transition:box-shadow .18s ease, opacity .18s ease, transform .18s ease;}

@media (max-width: 980px){
  .taskbar{grid-template-columns:auto auto 1fr auto auto;gap:6px;padding:0 6px;}
  
.taskbar-plus-btn{
  width:30px;
  min-width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 16%, var(--btn)), var(--btn));
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 2px);
  color:var(--text);
  font-family:var(--font-d);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.taskbar-plus-btn:hover,.taskbar-plus-btn[aria-expanded="true"]{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 28%, var(--btn)), color-mix(in srgb, var(--accent2) 12%, var(--bg3)));
}

.taskbar-window-btn{min-width:90px;max-width:140px;}
  
.panel-launch-panel{
  position:fixed;
  left:54px;
  bottom:calc(var(--taskbar-height, 40px) + 8px);
  width:min(310px, calc(100vw - 20px));
  border-top:2px solid var(--bl);
  border-left:2px solid var(--bl);
  border-right:2px solid var(--bd);
  border-bottom:2px solid var(--bd);
  border-radius:calc(var(--br) + 4px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 95%, white 5%), color-mix(in srgb, var(--bg2) 96%, transparent));
  box-shadow:0 18px 34px rgba(0,0,0,.24);
  z-index:1300;
  overflow:hidden;
}
body.booting .panel-launch-panel{display:none !important;}
.panel-launch-head{padding:12px 14px 10px;border-bottom:1px solid var(--bd);background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 14%, var(--bg3)), var(--bg3));}
.panel-launch-title{font-family:var(--font-d);font-size:18px;color:var(--text);}
.panel-launch-copy{font-family:var(--font);font-size:11px;color:var(--text2);margin-top:4px;}
.panel-launch-list{display:flex;flex-direction:column;gap:6px;padding:8px;max-height:min(52vh, 420px);overflow:auto;}
.panel-launch-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 1px);
  color:var(--text);
  cursor:pointer;
}
.panel-launch-item:hover{background:color-mix(in srgb, var(--bg3) 82%, var(--accent2) 18%);}
.panel-launch-item.is-hidden{opacity:.84;}
.panel-launch-item.is-locked{opacity:.56;cursor:default;}
.panel-launch-item-mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb, var(--accent2) 18%, transparent);font-size:13px;font-weight:700;flex:0 0 auto;}
.panel-launch-item-title{display:block;font-size:12px;font-weight:700;}
.panel-launch-item-copy{display:block;font-size:10px;color:var(--text2);margin-top:2px;}

.start-menu-panel{left:8px;right:8px;width:auto;}
  .module-card.module-is-maximized{top:52px;left:8px;right:8px;bottom:calc(var(--taskbar-height, 40px) + 56px);}
}

/* ── Start menu control centre refresh ───────────────────────────────────── */
.start-menu-panel{
  width:min(760px, calc(100vw - 20px));
  max-height:min(78vh, 760px);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--bg3) 90%, white 10%), color-mix(in srgb, var(--bg2) 96%, transparent));
  backdrop-filter:blur(8px);
}
.start-menu-shell{
  display:grid;
  grid-template-columns:170px 1fr;
  min-height:420px;
  max-height:min(68vh, 620px);
}
.start-menu-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px;
  border-right:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 90%, transparent), color-mix(in srgb, var(--bg3) 82%, transparent));
}
.start-menu-nav-btn{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 3px);
  color:var(--text);
  font-family:var(--font);
  font-size:12px;
  cursor:pointer;
  transition:background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.start-menu-nav-btn:hover{
  background:color-mix(in srgb, var(--bg3) 78%, var(--accent2) 22%);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent2) 18%, transparent);
}
.start-menu-nav-btn.active{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 22%, var(--bg3)), color-mix(in srgb, var(--accent2) 12%, var(--bg2)));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent2) 26%, transparent), inset 0 1px 0 color-mix(in srgb, white 40%, transparent);
}
.start-menu-content{
  min-width:0;
  padding:12px;
  overflow:auto;
}
.start-menu-pane{display:none;animation:startMenuPaneIn .16s ease;}
.start-menu-pane.active{display:block;}
@keyframes startMenuPaneIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.start-menu-section-title{
  font-family:var(--font-d);
  font-size:16px;
  color:var(--text);
  margin-bottom:6px;
}
.start-menu-section-copy{
  font-size:11px;
  color:var(--text2);
  margin-bottom:10px;
}
.start-menu-actions-inline{padding:0 0 12px;border-bottom:none;}
.start-menu-list{
  max-height:min(42vh, 360px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:0;
  margin-top:10px;
}
.start-menu-item{
  border-radius:calc(var(--br) + 3px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 84%, transparent), color-mix(in srgb, var(--bg3) 66%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 28%, transparent);
}
.start-menu-item-body{display:flex;flex-direction:column;min-width:0;}
.start-menu-item-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.start-menu-close-btn{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb, var(--accent2) 18%, var(--bd));border-radius:calc(var(--br) + 2px);background:color-mix(in srgb, var(--bg3) 72%, transparent);color:var(--text);font:700 14px/1 var(--font);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease;}
.start-menu-close-btn:hover{background:color-mix(in srgb, #ff6a6a 24%, var(--bg3));border-color:color-mix(in srgb, #ff6a6a 42%, var(--bd));}

.start-menu-item-status{
  width:10px;
  height:10px;
  border-radius:999px;
  background:color-mix(in srgb, var(--text2) 45%, transparent);
  flex:0 0 auto;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--text2) 10%, transparent);
}
.start-menu-item.is-active-window{
  border-color:#29c45a;
  box-shadow:0 0 0 1px #29c45a, inset 0 1px 0 color-mix(in srgb, white 28%, transparent);
}
.start-menu-item.is-active-window .start-menu-item-status{
  background:#29c45a;
  box-shadow:0 0 0 3px color-mix(in srgb, #29c45a 22%, transparent);
}
.start-menu-theme-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:8px;
}
.start-menu-theme-btn{
  min-height:36px;
  padding:9px 12px;
  border:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  border-radius:calc(var(--br) + 4px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 90%, transparent), color-mix(in srgb, var(--bg2) 88%, transparent));
  color:var(--text);
  font-family:var(--font);
  font-size:12px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 26%, transparent);
}
.start-menu-theme-btn:hover{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 18%, var(--bg3)), color-mix(in srgb, var(--accent2) 10%, var(--bg2)));
}
.start-menu-panel-manager{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.start-menu-panel-manager .panel-chip{
  min-height:34px;
  border-radius:calc(var(--br) + 4px);
}
.start-menu-picker{
  margin-top:8px;
  padding:2px;
  max-height:290px;
  overflow:auto;
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 4px);
  background:color-mix(in srgb, var(--bg) 88%, transparent);
}
.start-menu-picker .news-topic-btn{
  border-radius:calc(var(--br) + 2px);
}
.start-menu-utility-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.start-menu-utility-btn,
.start-menu-shortcut{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:9px 12px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 90%, transparent), color-mix(in srgb, var(--bg2) 88%, transparent));
  border:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  border-radius:calc(var(--br) + 4px);
  color:var(--text);
  font-family:var(--font);
  font-size:12px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 26%, transparent);
}
.start-menu-utility-btn:hover,
.start-menu-shortcut:hover{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 18%, var(--bg3)), color-mix(in srgb, var(--accent2) 10%, var(--bg2)));
}
.start-menu-shortcuts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.start-menu-shortcuts-stack{grid-template-columns:1fr;}
.start-menu-shortcut{justify-content:flex-start;width:100%;text-align:left;}
.start-menu-shortcut-ico{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:color-mix(in srgb, var(--accent2) 18%, transparent);
  flex:0 0 auto;
}
.start-menu-toggle-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.start-menu-toggle-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 84%, transparent), color-mix(in srgb, var(--bg3) 68%, transparent));
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 4px);
}
.start-menu-toggle-label{font-size:12px;font-weight:700;color:var(--text);}
.start-menu-toggle-copy{font-size:10px;color:var(--text2);margin-top:3px;}
.start-menu-toggle-btn{flex:0 0 auto;}

body.winxp .start-menu-panel,
body.win11 .start-menu-panel {
  border-radius:14px 14px 10px 10px;
}
body.mac9 .start-menu-panel,
body.macos .start-menu-panel{
  left:50%;
  right:auto;
  transform:translateX(-50%);
  bottom:92px;
  border-radius:16px;
  box-shadow:0 22px 46px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.5);
}
body.mac9 .panel-launch-panel,
body.macos .panel-launch-panel{
  left:50%;
  transform:translateX(-50%);
  bottom:92px;
}
body.dos .start-menu-panel,
body.c64 .start-menu-panel,
body.teletext .start-menu-panel,
body.nokia .start-menu-panel{
  backdrop-filter:none;
  box-shadow:0 0 0 2px rgba(0,0,0,.18), 0 14px 24px rgba(0,0,0,.28);
}
body.aol .start-menu-panel,
body.yahoo .start-menu-panel,
body.excite .start-menu-panel,
body.altavista .start-menu-panel,
body.myspace .start-menu-panel,
body.icq .start-menu-panel,
body.lycos .start-menu-panel,
body.askjeeves .start-menu-panel,
body.netscape .start-menu-panel,
body.mapquest .start-menu-panel{
  box-shadow:0 20px 42px rgba(0,0,0,.22), 0 0 0 1px color-mix(in srgb, var(--accent2) 18%, transparent);
}

@media (max-width: 980px){
  .start-menu-panel{width:min(100vw - 16px, 560px);left:8px;right:8px;bottom:calc(var(--taskbar-height, 40px) + 8px);}
  body.mac9 .start-menu-panel,
  body.macos .start-menu-panel{left:50%;right:auto;transform:translateX(-50%);bottom:86px;}
  body.mac9 .panel-launch-panel,
  body.macos .panel-launch-panel{left:50%;transform:translateX(-50%);bottom:86px;width:min(320px, calc(100vw - 20px));}
  .start-menu-shell{grid-template-columns:1fr;min-height:auto;max-height:min(72vh, 580px);}
  .start-menu-list{max-height:min(36vh, 320px);}
  .start-menu-nav{flex-direction:row;overflow:auto;border-right:none;border-bottom:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));}
  .start-menu-nav-btn{white-space:nowrap;}
  .start-menu-shortcuts{grid-template-columns:1fr;}
}


.start-menu-info-actions{margin-bottom:12px;}
.start-menu-info-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.start-menu-info-card{
  padding:12px 14px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 84%, transparent), color-mix(in srgb, var(--bg3) 68%, transparent));
  border:1px solid color-mix(in srgb, var(--accent2) 12%, var(--bd));
  border-radius:calc(var(--br) + 4px);
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 26%, transparent);
}
.start-menu-info-title{
  font-size:12px;
  font-weight:700;
  color:var(--text);
  margin-bottom:6px;
}
.start-menu-info-copy{
  font-size:11px;
  line-height:1.6;
  color:var(--text2);
  margin:0;
}
.start-menu-info-copy a{
  color:var(--accent);
}
.start-menu-info-row{
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.start-menu-info-input{
  min-width:0;
  flex:1 1 auto;
}
.start-menu-info-share-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  margin-top:10px;
}
@media (max-width: 700px){
  .start-menu-info-grid,
  .start-menu-info-share-grid{
    grid-template-columns:1fr;
  }
}

/* ===== GALLERY CARDS ===== */
.gallery-card{background:var(--bg2);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
.gallery-card-head{}
.gallery-card-title{font-size:12px;font-weight:bold;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gallery-card-meta{font-size:10px;color:var(--text2);letter-spacing:0.5px;}
.gallery-card-links{display:flex;flex-wrap:wrap;gap:4px;min-height:24px;}
.gallery-tag{font-size:10px;padding:2px 6px;background:var(--bg);border:1px solid var(--bd);border-radius:var(--br);color:var(--text2);white-space:nowrap;}
.gallery-card-actions{display:flex;gap:6px;margin-top:2px;}
.gallery-card-btn{font-family:var(--font);font-size:11px;padding:4px 10px;cursor:pointer;border-radius:var(--br);text-decoration:none;text-align:center;flex:1;}
.gallery-card-btn-preview{background:var(--btn);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);color:var(--text);}
.gallery-card-btn-apply{background:var(--accent2);border:1px solid var(--accent);color:var(--text-inv);font-weight:bold;}
.gallery-card-btn-apply:hover{filter:brightness(1.1);}



/* ===== TITLEBAR CONTROLS ===== */
.titlebar{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.tb-title{flex:1 1 auto;min-width:0;}
.tb-btns{display:flex;align-items:center;gap:3px;flex:0 0 auto;margin-left:auto;}
.tb-btns > .tb-btn:nth-child(n+4){display:none !important;}
.tb-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:var(--btn);
  color:var(--text);
  cursor:pointer;
}
.tb-btn .tb-glyph,
.tb-btn .tb-glyph::before,
.tb-btn .tb-glyph::after{box-sizing:border-box;display:block;content:"";position:absolute;}
.tb-btn .tb-glyph{position:relative;width:10px;height:10px;}

/* Windows / fun themes: three boxed controls in order _ □ × */
.main-window-controls[data-control-style="windows"]{order:2 !important;margin-left:auto !important;margin-right:0 !important;gap:3px !important;}
body:not(.macos):not(.mac9) .main-window-controls .tb-btn,
body:not(.macos):not(.mac9) .titlebar .tb-btns:not(.main-window-controls) .tb-btn{
  width:18px !important;
  height:14px !important;
  min-width:18px !important;
  min-height:14px !important;
  border-radius:0 !important;
  border-top:1px solid var(--bl) !important;
  border-left:1px solid var(--bl) !important;
  border-right:1px solid var(--bdd) !important;
  border-bottom:1px solid var(--bdd) !important;
  box-shadow:none !important;
  font-size:0 !important;
}
body:not(.macos):not(.mac9) .tb-btn.m{order:1 !important;}
body:not(.macos):not(.mac9) .tb-btn.x{order:2 !important;}
body:not(.macos):not(.mac9) .tb-btn.c{order:3 !important;}
body:not(.macos):not(.mac9) .tb-btn.m .tb-glyph::after{
  left:0; right:0; bottom:1px; height:1.5px; background:currentColor;
}
body:not(.macos):not(.mac9) .tb-btn.x .tb-glyph::after{
  inset:1px; border:1.5px solid currentColor; background:transparent;
}
body:not(.macos):not(.mac9) .tb-btn.c .tb-glyph::before{
  left:4px; top:0; width:1.5px; height:10px; background:currentColor; transform:rotate(45deg); transform-origin:center;
}
body:not(.macos):not(.mac9) .tb-btn.c .tb-glyph::after{
  left:4px; top:0; width:1.5px; height:10px; background:currentColor; transform:rotate(-45deg); transform-origin:center;
}

/* Mac themes: three circles on the left */
.main-window-controls[data-control-style="mac"],
body.macos .tb-btns,
body.mac9 .tb-btns{order:-1 !important;margin-left:0 !important;margin-right:8px !important;gap:6px !important;}
.main-window-controls[data-control-style="mac"] .tb-btn,
body.macos .tb-btn,
body.mac9 .tb-btn{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  border-radius:50% !important;
  border:none !important;
  box-shadow:none !important;
  font-size:0 !important;
}
.main-window-controls[data-control-style="mac"] .tb-btn .tb-glyph,
.main-window-controls[data-control-style="mac"] .tb-btn .tb-glyph::before,
.main-window-controls[data-control-style="mac"] .tb-btn .tb-glyph::after,
body.macos .tb-btn .tb-glyph,
body.macos .tb-btn .tb-glyph::before,
body.macos .tb-btn .tb-glyph::after,
body.mac9 .tb-btn .tb-glyph,
body.mac9 .tb-btn .tb-glyph::before,
body.mac9 .tb-btn .tb-glyph::after{display:none !important;}
.main-window-controls[data-control-style="mac"] .tb-btn.c,
body.macos .tb-btn.c,
body.mac9 .tb-btn.c{order:1 !important;background:#ff5f57 !important;}
.main-window-controls[data-control-style="mac"] .tb-btn.m,
body.macos .tb-btn.m,
body.mac9 .tb-btn.m{order:2 !important;background:#ffbd2e !important;}
.main-window-controls[data-control-style="mac"] .tb-btn.x,
body.macos .tb-btn.x,
body.mac9 .tb-btn.x{order:3 !important;background:#28c840 !important;}


/* ===== PANEL HEADER CONTROLS ===== */
.module-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.module-head-main{
  flex:1 1 auto;
  min-width:0;
}
.module-head .tb-btns{
  display:flex;
  align-items:center;
  gap:3px;
  flex:0 0 auto;
  margin-left:auto;
}
.module-head .tb-btns > .tb-btn:nth-child(n+4){
  display:none !important;
}
body:not(.macos):not(.mac9) .module-head .tb-btn{
  width:18px !important;
  height:14px !important;
  min-width:18px !important;
  min-height:14px !important;
  border-radius:0 !important;
  border-top:1px solid var(--bl) !important;
  border-left:1px solid var(--bl) !important;
  border-right:1px solid var(--bdd) !important;
  border-bottom:1px solid var(--bdd) !important;
  box-shadow:none !important;
  font-size:0 !important;
  padding:0 !important;
}
body:not(.macos):not(.mac9) .module-head .tb-btn.m{order:1 !important;}
body:not(.macos):not(.mac9) .module-head .tb-btn.x{order:2 !important;}
body:not(.macos):not(.mac9) .module-head .tb-btn.c{order:3 !important;}

body.macos .module-head .tb-btns,
body.mac9 .module-head .tb-btns{
  order:-1 !important;
  margin-left:0 !important;
  margin-right:8px !important;
  gap:6px !important;
}
body.macos .module-head .tb-btn,
body.mac9 .module-head .tb-btn{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  border-radius:50% !important;
  border:none !important;
  box-shadow:none !important;
  font-size:0 !important;
  padding:0 !important;
}
body.macos .module-head .tb-btn .tb-glyph,
body.mac9 .module-head .tb-btn .tb-glyph{
  display:none !important;
}
body.macos .module-head .tb-btn.c,
body.mac9 .module-head .tb-btn.c{
  order:1 !important;
  background:#ff5f57 !important;
}
body.macos .module-head .tb-btn.m,
body.mac9 .module-head .tb-btn.m{
  order:2 !important;
  background:#ffbd2e !important;
}
body.macos .module-head .tb-btn.x,
body.mac9 .module-head .tb-btn.x{
  order:3 !important;
  background:#28c840 !important;
}

/* old 4th collapse button is removed from panel headers */
.module-collapse-btn{
  display:none !important;
}

/* Extra optional panels */
.retro-tool-row{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}
.retro-tool-stack{
  display:grid;
  gap:8px;
  margin-bottom:10px;
}
.retro-tool-input{
  flex:1;
  min-width:0;
  padding:8px 10px;
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
  color:var(--text);
  font-family:var(--font);
  font-size:13px;
}
.retro-list{
  display:grid;
  gap:6px;
}
.retro-empty,
.youtube-empty{
  color:var(--text2);
  font-size:12px;
  padding:10px;
  border:1px dashed var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
}
.todo-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 8px;
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
}
.todo-check{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  cursor:pointer;
}
.todo-check span{
  overflow-wrap:anywhere;
}
.todo-item.is-done .todo-check span{
  color:var(--text2);
  text-decoration:line-through;
}
.todo-delete{
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1;
  padding:4px 7px;
  cursor:pointer;
}
.countdown-display,
.history-card{
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
  color:var(--text);
  padding:12px;
  font-size:13px;
  margin-bottom:10px;
}
.countdown-digits{
  margin-top:6px;
  font-size:20px;
  font-weight:bold;
  letter-spacing:.5px;
}
.history-year{
  font-size:22px;
  font-weight:bold;
  margin-bottom:4px;
}
.history-text{
  color:var(--text2);
  line-height:1.35;
}
.youtube-frame-wrap{
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
  overflow:hidden;
}
#youtubeFrame{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  background:#000;
}
#youtubeFrame[hidden]{
  display:none;
}
@media (max-width: 620px){
  .retro-tool-row{
    flex-direction:column;
    align-items:stretch;
  }
}

/* ===== RewindClick fixes 2026-04-24 =====
   Final override block: loaded at end of base CSS. */
.start-btn{flex:0 0 auto;}
.taskbar-windows{flex:1 1 auto;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;padding-right:10px;}
.tb-clock{flex:0 0 auto;margin-left:0;position:relative;z-index:2;white-space:nowrap;}

body.ubuntu .module-head .tb-btns,body.kali .module-head .tb-btns,body.ubuntu .titlebar .tb-btns,body.kali .titlebar .tb-btns{order:2 !important;margin-left:auto !important;margin-right:0 !important;}
body.ubuntu .module-head .tb-btn,body.kali .module-head .tb-btn{flex:0 0 auto !important;}

/* ===== TASKBAR CLOCK / CALENDAR / SOUND TRAY ===== */
body .tb-clock,
.tb-clock{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--text);
  font-family:var(--font);
  cursor:pointer;
  padding:2px 6px;
}
/* Win 3.1 default gets its inset box back */
body:not([class]) .tb-clock,
body.win31 .tb-clock {
  background:#c0c0c0;
  border-top:1px solid #808080;
  border-left:1px solid #808080;
  border-right:1px solid #fff;
  border-bottom:1px solid #fff;
}
.tb-clock:hover,
.tb-clock[aria-expanded="true"]{
  background:color-mix(in srgb, var(--accent2) 12%, transparent);
}
.tb-sound{
  appearance:none;
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  border-radius:calc(var(--br) + 1px);
}
.tb-sound:hover,
.tb-sound:focus-visible{
  background:color-mix(in srgb, var(--accent2) 12%, transparent);
  outline:none;
}
.tb-sound-icon{
  width:18px;
  height:18px;
  display:block;
}
.tb-sound .tb-sound-icon-on{display:none;}
.tb-sound .tb-sound-icon-off{display:block;}
.tb-sound.is-on .tb-sound-icon-on{display:block;}
.tb-sound.is-on .tb-sound-icon-off{display:none;}

.clock-calendar-popup{
  position:fixed;
  right:8px;
  bottom:calc(var(--taskbar-height, 40px) + 8px);
  width:280px;
  z-index:1400;
  padding:12px;
  background:var(--bg);
  color:var(--text);
  border-top:2px solid var(--bl);
  border-left:2px solid var(--bl);
  border-right:2px solid var(--bd);
  border-bottom:2px solid var(--bd);
  border-radius:var(--br);
  box-shadow:var(--shadow);
  font-family:var(--font);
}
.clock-calendar-popup[hidden]{display:none !important;}
.clock-calendar-popup.is-expanded{width:min(420px, calc(100vw - 16px));}
.clock-popup-time{
  font-size:28px;
  line-height:1;
  font-family:var(--font-d, var(--font));
  color:var(--text);
  margin-bottom:6px;
}
.clock-popup-date{
  appearance:none;
  width:100%;
  padding:0 0 10px;
  margin:0 0 10px;
  border:0;
  border-bottom:1px solid var(--bd);
  background:transparent;
  color:var(--accent2);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.clock-popup-date:hover{text-decoration:underline;}
.clock-cal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.clock-cal-title{
  flex:1 1 auto;
  text-align:center;
  font-weight:bold;
  color:var(--text);
}
.clock-cal-nav{
  appearance:none;
  width:28px;
  height:24px;
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  background:var(--btn);
  color:var(--text);
  font:700 18px/1 var(--font);
  cursor:pointer;
  border-radius:var(--br);
}
.clock-cal-grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:4px;
}
.clock-cal-weekdays{
  margin-bottom:4px;
  color:var(--text2);
  font-size:10px;
  text-align:center;
}
.clock-cal-day{
  min-height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg2);
  border:1px solid color-mix(in srgb, var(--bd) 72%, transparent);
  color:var(--text);
  border-radius:calc(var(--br) - 1px);
  font-size:11px;
}
.clock-cal-day.is-empty{
  opacity:.28;
  background:transparent;
  border-color:transparent;
}
.clock-cal-day.is-today{
  color:var(--btnText, var(--text));
  background:var(--accent2);
  border-color:var(--accent2);
  font-weight:bold;
}
.clock-calendar-popup:not(.is-expanded) .clock-cal-day{min-height:22px;font-size:10px;}
.clock-calendar-popup:not(.is-expanded) .clock-cal-weekdays{font-size:9px;}

/* ===== RewindClick Start Menu tweaks 2026-04-25 ===== */
.start-menu-panel{
  max-height:min(86vh, 820px) !important;
}
.start-menu-shell{
  max-height:min(76vh, 700px) !important;
}
.start-menu-content{
  padding-bottom:28px !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
#startMenuList.start-menu-list{
  max-height:none !important;
  padding-bottom:14px !important;
}
.start-menu-settings-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  align-items:stretch;
}
.start-menu-setting-card{
  min-height:88px !important;
  height:100% !important;
  margin:0 !important;
}
.start-menu-settings-grid .start-menu-shortcut{
  justify-content:flex-start;
}
@media (max-width: 700px){
  .start-menu-settings-grid{grid-template-columns:1fr;}
}


/* ===== Start Menu internal scrolling fix 2026-04-25 =====
   Keep mouse-wheel / touch scrolling inside the Start Menu instead of moving the page behind it. */
body.start-menu-open{
  overscroll-behavior:contain;
}

.start-menu-panel{
  display:flex;
  flex-direction:column;
  max-height:min(86vh, 820px) !important;
  overflow:hidden !important;
  overscroll-behavior:contain;
}

.start-menu-head{
  flex:0 0 auto;
}

.start-menu-shell{
  flex:1 1 auto;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}

.start-menu-nav{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.start-menu-content{
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  padding-bottom:32px !important;
}

.start-menu-pane.active{
  min-height:0;
}

#startPane-panel-manager.active{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}

#startMenuList.start-menu-list{
  flex:1 1 auto !important;
  min-height:160px !important;
  max-height:none !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  padding-bottom:18px !important;
}

@media (max-width: 980px){
  .start-menu-panel{
    max-height:calc(100dvh - var(--taskbar-height, 40px) - 16px) !important;
  }
  .start-menu-shell{
    min-height:0 !important;
    max-height:none !important;
  }
}


/* ===== Start Menu hidden-state fix 2026-04-25 =====
   The scroll fix uses flex layout when open, but hidden must still fully hide the menu. */
.start-menu-panel[hidden],
.panel-launch-panel[hidden]{
  display:none !important;
}



/* ===== User Desktop selector in Start menu ===== */
.user-desktop-mode-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:10px;
  margin-top:10px;
}
.user-desktop-mode-btn{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  width:100%;
  padding:10px 12px;
  border:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  border-radius:calc(var(--br) + 4px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 90%, transparent), color-mix(in srgb, var(--bg2) 88%, transparent));
  color:var(--text);
  font-family:var(--font);
  cursor:pointer;
  text-align:left;
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 26%, transparent);
}
.user-desktop-mode-btn:hover{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 18%, var(--bg3)), color-mix(in srgb, var(--accent2) 10%, var(--bg2)));
}
.user-desktop-mode-btn.is-active{
  border-color:color-mix(in srgb, var(--accent2) 48%, var(--bd));
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 26%, var(--bg3)), color-mix(in srgb, var(--accent2) 14%, var(--bg2)));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent2) 30%, transparent), inset 0 1px 0 color-mix(in srgb, white 30%, transparent);
}
.user-desktop-mode-icon{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:color-mix(in srgb, var(--accent2) 18%, transparent);
  flex:0 0 auto;
}
.user-desktop-mode-body{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}
.user-desktop-mode-title{
  font-weight:800;
  color:var(--text);
}
.user-desktop-mode-copy{
  font-size:10px;
  color:var(--text2);
}

/* Games and Radio panels */
.games-toolbar,
.radio-tuner,
.radio-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}

.radio-tuner{
  align-items:end;
}
.radio-field{
  display:grid;
  gap:4px;
  min-width:180px;
  font-size:12px;
  color:var(--text2);
}
.radio-field select,
.radio-field input{
  width:100%;
  box-sizing:border-box;
  padding:7px 8px;
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
  color:var(--text);
  font:inherit;
}
.radio-custom-field{
  flex:1 1 240px;
}
.radio-actions{
  margin-bottom:0;
}
.snake-score{
  margin-left:auto;
  font-size:12px;
  color:var(--text2);
}
.snake-canvas{
  display:block;
  width:100%;
  max-width:300px;
  aspect-ratio:1 / 1;
  margin:0 auto 10px;
  border:1px solid var(--bd);
  border-radius:var(--br);
  background:var(--bg2);
  image-rendering:pixelated;
}
.snake-mobile-controls{
  display:grid;
  place-items:center;
  gap:6px;
  margin-top:10px;
}
.snake-mobile-controls > div{
  display:flex;
  gap:6px;
}
.games-help{
  text-align:center;
}
.radio-player{
  width:100%;
  margin:0 0 10px;
}
@media (max-width:620px){
  .snake-score{ width:100%; margin-left:0; }
}

/* ── Start menu account nav ──────────────────────────────────────────────── */
.start-menu-nav-spacer{flex:1;}
.start-menu-nav-btn--account{
  margin-top:auto;
  border-top:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  background:color-mix(in srgb, var(--bg) 70%, var(--accent2) 8%) !important;
  font-size:11px;
  gap:6px;
}
.start-menu-nav-btn--account .start-menu-account-ico{font-size:14px;line-height:1;}
.start-menu-nav-btn--account[data-start-tab="account"].active{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 28%, var(--bg3)), color-mix(in srgb, var(--accent2) 16%, var(--bg2))) !important;
}

/* ── Start menu auth pane ────────────────────────────────────────────────── */
.sm-auth-wrap{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:380px;
}

/* Tab bar */
.sm-auth-tabs{
  display:flex;
  gap:4px;
  margin-bottom:14px;
  border-bottom:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  padding-bottom:0;
}
.sm-auth-tab{
  padding:7px 14px;
  background:transparent;
  border:1px solid transparent;
  border-bottom:none;
  border-radius:calc(var(--br) + 2px) calc(var(--br) + 2px) 0 0;
  color:var(--text2);
  font-family:var(--font);
  font-size:12px;
  cursor:pointer;
  margin-bottom:-1px;
  transition:background .14s, color .14s;
}
.sm-auth-tab:hover{color:var(--text);background:color-mix(in srgb, var(--bg3) 80%, transparent);}
.sm-auth-tab.active{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 18%, var(--bg3)), var(--bg3));
  border-color:color-mix(in srgb, var(--accent2) 18%, var(--bd));
  border-bottom-color:var(--bg3);
  color:var(--text);
  font-weight:600;
}

/* Fields */
.sm-auth-fields{display:flex;flex-direction:column;gap:10px;}
.sm-field-row{display:flex;flex-direction:column;gap:4px;}
.sm-field-label{font-size:11px;color:var(--text2);font-family:var(--font);}
.sm-field-input{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  border-top:1px solid var(--bd);
  border-left:1px solid var(--bd);
  border-right:1px solid var(--bl);
  border-bottom:1px solid var(--bl);
  border-radius:calc(var(--br) + 1px);
  color:var(--text);
  font-family:var(--font);
  font-size:12px;
  outline:none;
  transition:border-color .14s, box-shadow .14s;
}
.sm-field-input:focus{
  border-color:color-mix(in srgb, var(--accent2) 60%, var(--bd));
  box-shadow:0 0 0 2px color-mix(in srgb, var(--accent2) 18%, transparent);
}
.sm-field-input::placeholder{color:color-mix(in srgb, var(--text2) 60%, transparent);}

/* Submit buttons */
.sm-auth-actions{display:flex;gap:8px;margin-top:4px;}
.sm-auth-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 18px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 24%, var(--btn)), var(--btn));
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 2px);
  color:var(--text);
  font-family:var(--font);
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  transition:background .14s, transform .1s;
}
.sm-auth-submit:hover{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 36%, var(--btn)), color-mix(in srgb, var(--accent2) 14%, var(--bg3)));
}
.sm-auth-submit:active{transform:translateY(1px);}
.sm-auth-submit--signup{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 32%, var(--btn)), color-mix(in srgb, var(--accent2) 16%, var(--btn)));
}

/* Signed-in view */
.sm-auth-user{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  border:1px solid color-mix(in srgb, var(--accent2) 14%, var(--bd));
  border-radius:calc(var(--br) + 3px);
}
.sm-auth-avatar{
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 28%, var(--bg3)), color-mix(in srgb, var(--accent2) 14%, var(--bg2)));
  border:1px solid color-mix(in srgb, var(--accent2) 22%, var(--bd));
  font-size:18px;
  flex:0 0 auto;
}
.sm-auth-user-info{flex:1;min-width:0;}
.sm-auth-user-email{font-family:var(--font);font-size:12px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sm-auth-user-sub{font-family:var(--font);font-size:10px;color:var(--text2);margin-top:2px;}
.sm-auth-signout{
  padding:6px 12px;
  background:var(--btn);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:calc(var(--br) + 1px);
  color:var(--text);
  font-family:var(--font);
  font-size:11px;
  cursor:pointer;
  white-space:nowrap;
  flex:0 0 auto;
}
.sm-auth-signout:hover{background:color-mix(in srgb, var(--bg3) 80%, var(--accent2) 20%);}

/* Status line */
.sm-auth-status{
  font-family:var(--font);
  font-size:11px;
  color:var(--text2);
  min-height:16px;
  transition:color .2s;
}

/* ── Email verification banner ───────────────────────────────────────────── */
.sm-verify-banner{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px 16px;
  background:color-mix(in srgb, var(--accent2) 10%, var(--bg));
  border:1px solid color-mix(in srgb, var(--accent2) 28%, var(--bd));
  border-radius:calc(var(--br) + 3px);
  animation:startMenuPaneIn .2s ease;
}
.sm-verify-ico{font-size:28px;line-height:1;flex:0 0 auto;margin-top:2px;}
.sm-verify-body{display:flex;flex-direction:column;gap:8px;min-width:0;}
.sm-verify-title{font-family:var(--font-d);font-size:14px;color:var(--text);font-weight:700;}
.sm-verify-copy{font-family:var(--font);font-size:11px;color:var(--text2);line-height:1.5;}
.sm-verify-copy strong{color:var(--text);}
.sm-verify-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}

/* Community Theme Showcase modal */
.gallery-showcase-modal{
  width:min(1100px,94vw);
  height:min(760px,88vh);
  max-width:none !important;
  display:flex;
  flex-direction:column;
}
.gallery-showcase-modal .modal-body{
  overflow:auto;
  flex:1 1 auto;
}
.gallery-info-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
.gallery-info-card{
  background:var(--bg2);
  border:1px solid var(--bd);
  border-radius:var(--br);
  padding:10px 12px;
  min-height:74px;
}
.gallery-info-card strong{
  display:block;
  color:var(--text);
  font-size:12px;
  margin-bottom:5px;
}
.gallery-info-card span{
  display:block;
  color:var(--text2);
  font-size:11px;
  line-height:1.45;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:10px;
  max-height:420px;
  overflow-y:auto;
  padding-right:4px;
}
@media (max-width:760px){
  .gallery-showcase-modal{width:100vw;height:100vh;border-radius:0 !important;}
  .gallery-info-strip{grid-template-columns:1fr;}
  .gallery-grid{max-height:none;}
}


/* Theme Showcase app-window upgrade */
.gallery-app-shell{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:0;
  min-height:100%;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid var(--bd);
  border-radius:calc(var(--br) + 4px);
  overflow:hidden;
}
.gallery-sidebar{
  background:rgba(0,0,0,.18);
  border-right:1px solid var(--bd);
  padding:16px 12px;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.gallery-app-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid var(--bd);
  border-radius:16px;
  background:var(--bg2);
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 10px 28px rgba(0,0,0,.18);
  font-size:24px;
  margin-bottom:4px;
}
.gallery-sidebar-title{
  color:var(--text);
  font-family:var(--font-d);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  margin-bottom:10px;
}
.gallery-side-btn{
  width:100%;
  border:1px solid transparent;
  background:transparent;
  color:var(--text2);
  font-family:var(--font);
  font-size:12px;
  text-align:left;
  padding:9px 10px;
  border-radius:12px;
  cursor:pointer;
}
.gallery-side-btn:hover,
.gallery-side-btn.active{
  background:var(--bg2);
  border-color:var(--bd);
  color:var(--text);
}
.gallery-main{
  min-width:0;
  padding:18px;
  overflow:auto;
}
.gallery-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.gallery-submit-main{
  border:1px solid var(--accent,#5b8cff);
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.04));
  color:var(--text);
  border-radius:999px;
  padding:9px 15px;
  font-family:var(--font);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.gallery-submit-main:disabled{opacity:.6;cursor:default;}
.gallery-submit-msg{
  display:none;
  font-size:11px;
  margin:0 0 12px;
}
.gallery-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--text2);
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:10px;
  margin:0 0 9px;
}
.gallery-mini-btn{
  border:1px solid var(--bd);
  background:var(--bg2);
  color:var(--text);
  border-radius:999px;
  padding:5px 10px;
  font-size:10px;
  cursor:pointer;
}
.gallery-loading{
  display:none;
  font-size:12px;
  color:var(--text2);
  padding:10px 0;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
  gap:12px;
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.gallery-card{
  background:var(--bg2);
  border:1px solid var(--bd);
  border-radius:18px;
  padding:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.gallery-card-preview{
  height:112px;
  border:1px solid var(--bd);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(91,140,255,.22),rgba(255,255,255,.06));
  padding:10px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  margin-bottom:10px;
  overflow:hidden;
}
.gallery-preview-screen{
  display:flex;
  gap:7px;
  align-items:flex-start;
}
.gallery-preview-screen span{
  display:block;
  width:40px;
  height:32px;
  border-radius:9px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.16);
}
.gallery-preview-taskbar{
  height:18px;
  border-radius:999px;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.12);
}
.gallery-card-title{
  color:var(--text);
  font-family:var(--font-d);
  font-size:14px;
  font-weight:700;
}
.gallery-card-meta{
  color:var(--text2);
  font-size:10px;
  margin-top:3px;
}
.gallery-card-links{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:10px 0;
  min-height:24px;
}
.gallery-tag{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:100%;
  border:1px solid var(--bd);
  background:rgba(0,0,0,.12);
  color:var(--text2);
  border-radius:999px;
  padding:4px 7px;
  font-size:10px;
}
.gallery-card-actions{
  display:flex;
  gap:7px;
}
.gallery-card-btn{
  flex:1;
  border:1px solid var(--bd);
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-radius:10px;
  padding:8px 9px;
  font-family:var(--font);
  font-size:11px;
  cursor:pointer;
  text-decoration:none;
  text-align:center;
}
.gallery-card-btn:hover{filter:brightness(1.08);}
.gallery-card-btn-apply{
  border-color:var(--accent,#5b8cff);
}
.gallery-empty-state{
  grid-column:1/-1;
  display:grid;
  place-items:center;
  gap:6px;
  min-height:190px;
  border:1px dashed var(--bd);
  border-radius:18px;
  color:var(--text2);
  text-align:center;
  padding:24px;
}
.gallery-empty-state strong{color:var(--text);font-size:14px;}
.gallery-empty-state span{font-size:12px;max-width:360px;}
.gallery-empty-icon{font-size:32px;}
.gallery-bottom-actions{margin-top:14px;}

@media (max-width:760px){
  .gallery-app-shell{grid-template-columns:1fr;}
  .gallery-sidebar{display:none;}
  .gallery-main{padding:14px;}
  .gallery-hero{flex-direction:column;}
  .gallery-submit-main{width:100%;}
}

/* Keep Start Menu section buttons pinned to the bottom of the left column. */
.start-menu-nav::before{
  content:"";
  flex:1 1 auto;
  min-height:0;
}
.start-menu-nav-spacer{display:none !important;}
.start-menu-nav-btn--account{margin-top:0 !important;}


/* ===== XP welcome modal ===== */
.welcome-xp-modal{
  width:min(360px, 92vw);
  max-width:360px;
  border:1px solid #0a246a !important;
  border-radius:8px 8px 3px 3px !important;
  background:#ece9d8 !important;
  box-shadow:0 18px 38px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.welcome-xp-titlebar{
  min-height:30px;
  padding:5px 7px !important;
  background:linear-gradient(180deg,#62b6ef 0%,#2f79d6 35%,#1554bd 100%) !important;
  border-bottom:1px solid #083a91 !important;
}
.welcome-xp-titlebar .tb-title{
  color:#fff !important;
  font-family:"Trebuchet MS",Arial,sans-serif !important;
  font-size:13px !important;
  text-shadow:1px 1px 1px rgba(0,0,0,.45) !important;
  text-transform:none !important;
}
.welcome-xp-body{
  padding:18px 18px 16px !important;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 42%,#ece9d8 100%) !important;
  color:#1f2f45 !important;
  text-align:center;
}
.welcome-xp-logo{
  display:inline-block;
  margin:0 0 10px;
  font-family:"Trebuchet MS",Arial,sans-serif;
  font-size:25px;
  font-weight:700;
  letter-spacing:-1px;
  color:#1457b7;
  text-shadow:0 1px 0 #fff;
}
.welcome-xp-logo span{color:#37a000;}
.welcome-xp-logo small{font-size:12px;color:#6f7780;margin-left:1px;}
.welcome-xp-body p{
  margin:0 auto 14px;
  max-width:290px;
  font-family:"Trebuchet MS",Arial,sans-serif;
  font-size:13px;
  line-height:1.45;
}
.welcome-xp-actions{display:flex;justify-content:center;}
.welcome-xp-actions button{
  min-width:118px;
  min-height:27px;
  padding:4px 14px;
  border:1px solid #2f5ea8;
  border-radius:4px;
  background:linear-gradient(180deg,#ffffff 0%,#d8e9ff 48%,#9fc5f6 49%,#dcecff 100%);
  color:#083a91;
  font-family:"Trebuchet MS",Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,.18);
  cursor:pointer;
}
@media (max-width:640px){
  .welcome-xp-modal{width:min(340px, 92vw);}
  .welcome-xp-body{padding:16px 14px 14px !important;}
}

/* ===== Header controls =====
   Single source of truth for Change Theme + Desktop Mode.
*/
.site-hdr .top-controls-row{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:6px auto 0;
  padding:0;
  text-align:center;
  overflow:visible;
}

.site-hdr .top-themes-panel{
  width:min(760px, 96vw);
  max-width:760px;
  margin:0 auto;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  overflow:visible;
  text-align:center;
}

.site-hdr .top-controls-buttons{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 auto;
  padding:0;
}

.site-hdr .top-themes-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:18px;
  margin:0;
  padding:1px 6px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--accent2);
  font-family:var(--font);
  font-size:10px;
  font-weight:800;
  line-height:1;
  text-align:center;
  cursor:pointer;
}
.site-hdr .top-themes-toggle:hover{
  color:var(--accent);
}
.site-hdr .top-themes-toggle-icon{
  display:none;
}
.site-hdr .top-themes-toggle-arrow{
  width:auto;
  height:auto;
  margin-left:2px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:8px;
  line-height:1;
  box-shadow:none;
}

.site-hdr .top-desktop-mode-panel{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:auto;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--text2, inherit);
  font-family:var(--font);
  font-size:10px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.site-hdr .top-desktop-mode-label{
  color:inherit;
  white-space:nowrap;
}

.site-hdr .top-desktop-mode-select{
  width:auto;
  min-width:94px;
  max-width:118px;
  min-height:20px;
  padding:1px 4px;
  border:1px solid var(--bd);
  border-radius:3px;
  background:var(--bg3);
  color:var(--text);
  font-family:var(--font);
  font-size:10px;
  font-weight:800;
  line-height:1;
  box-shadow:none;
  cursor:pointer;
}

.site-hdr .top-themes-content{
  width:100%;
  margin:7px auto 0;
  padding:0;
  text-align:center;
  overflow:visible;
  box-sizing:border-box;
}

.site-hdr .top-themes-panel.is-collapsed .top-themes-content{
  display:none;
}

.site-hdr .top-themes-mount{
  width:100%;
  margin:0 auto;
  box-sizing:border-box;
  overflow:visible;
}

.site-hdr .top-themes-mount #themesBody{
  width:100%;
  max-height:none;
  opacity:1;
  overflow:visible;
}

.site-hdr .top-themes-mount .theme-row{
  display:grid;
  grid-template-columns:64px minmax(0, 1fr);
  align-items:center;
  column-gap:8px;
  row-gap:4px;
  width:100%;
  margin:0 0 5px;
  padding:0;
}

.site-hdr .top-themes-mount .theme-row-lbl{
  grid-column:1;
  justify-self:start;
  width:64px;
  min-width:64px;
  padding:0;
  margin:0;
  text-align:left;
  white-space:nowrap;
  font-size:10px;
}

.site-hdr .top-themes-mount .theme-row-buttons{
  grid-column:2;
  justify-self:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:4px;
  width:100%;
  max-width:640px;
  min-width:0;
}

.site-hdr .top-themes-mount .tbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  min-height:20px;
  padding:2px 7px;
  font-size:10px;
}

@media (max-width:640px){
  .site-hdr .top-themes-panel{
    width:min(360px, 94vw);
    max-width:94vw;
  }

  .site-hdr .top-controls-buttons{
    flex-direction:column;
    gap:4px;
  }

  .site-hdr .top-desktop-mode-panel{
    flex-wrap:nowrap;
    font-size:9px;
  }

  .site-hdr .top-desktop-mode-select{
    min-width:88px;
    max-width:108px;
    min-height:19px;
    padding:1px 3px;
    font-size:9px;
  }

  .site-hdr .top-themes-content{
    margin-top:5px;
  }

  .site-hdr .top-themes-mount .theme-row{
    display:grid;
    grid-template-columns:48px minmax(0, 1fr);
    align-items:center;
    column-gap:5px;
    row-gap:3px;
    margin-bottom:5px;
  }

  .site-hdr .top-themes-mount .theme-row-lbl{
    width:48px;
    min-width:48px;
    text-align:left;
    font-size:9px;
  }

  .site-hdr .top-themes-mount .theme-row-buttons{
    width:100%;
    max-width:100%;
    justify-content:center;
    gap:3px;
  }

  .site-hdr .top-themes-mount .tbtn{
    min-height:19px;
    padding:2px 5px;
    font-size:9px;
    white-space:nowrap;
  }
}

.start-menu-shortcut:disabled,
.start-menu-shortcut[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
  filter:grayscale(.25);
}

/* ===== RewindClick Start Menu panel settings polish — 2026-05-01 ===== */
.start-menu-panel-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  margin-bottom:12px;
  border:1px solid color-mix(in srgb, var(--accent2) 20%, var(--bd));
  border-radius:calc(var(--br) + 8px);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--accent2) 28%, transparent), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--bg3) 94%, white 6%), color-mix(in srgb, var(--bg2) 90%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 36%, transparent), 0 10px 24px rgba(0,0,0,.10);
}
.start-menu-panel-hero-badge{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:16px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent2) 30%, var(--bg3)), color-mix(in srgb, var(--accent2) 12%, var(--bg2)));
  border:1px solid color-mix(in srgb, var(--accent2) 30%, var(--bd));
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 45%, transparent);
  color:var(--text);
  font:700 26px/1 var(--font-d);
}
.start-menu-layout-card{
  padding:14px;
  margin-bottom:12px;
  border:1px solid color-mix(in srgb, var(--accent2) 16%, var(--bd));
  border-radius:calc(var(--br) + 8px);
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg3) 90%, transparent), color-mix(in srgb, var(--bg) 88%, transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 24%, transparent);
}
.start-menu-layout-actions{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(118px, 1fr));
  gap:8px !important;
  padding:0 !important;
  margin-top:10px;
}
.start-menu-layout-actions .start-menu-action{
  min-height:42px;
  justify-content:center;
  text-align:center;
  font-weight:700;
}
.start-menu-action-danger{
  border-color:color-mix(in srgb, #ff6a6a 38%, var(--bd)) !important;
  background:linear-gradient(180deg, color-mix(in srgb, #ff6a6a 16%, var(--bg3)), color-mix(in srgb, #ff6a6a 7%, var(--bg2))) !important;
}
.start-menu-layout-card-panels .start-menu-panel-manager{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(148px, 1fr));
  gap:10px;
  margin-top:12px;
}
.start-menu-layout-card-panels .panel-chip{
  min-height:46px;
  justify-content:center;
  border-radius:calc(var(--br) + 8px);
  font-weight:700;
  box-shadow:inset 0 1px 0 color-mix(in srgb, white 26%, transparent), 0 6px 14px rgba(0,0,0,.08);
}
.start-menu-layout-card-panels .panel-chip.is-active::before{
  content:'✓';
  margin-right:6px;
  font-weight:900;
}
.start-menu-layout-card-panels .panel-chip.is-hidden::before{
  content:'+';
  margin-right:6px;
  font-weight:900;
}
@media (max-width:700px){
  .start-menu-panel-hero{align-items:flex-start;}
  .start-menu-panel-hero-badge{width:40px;height:40px;border-radius:13px;font-size:22px;}
  .start-menu-layout-actions{grid-template-columns:1fr 1fr;}
  .start-menu-layout-card-panels .start-menu-panel-manager{grid-template-columns:1fr;}
}

/* Lockdown Mode: privacy-first basic homepage */
.lockdown-mode body,
body.lockdown-mode{
  --lockdown-accent: var(--accent2, #00ff9d);
}

body.lockdown-mode .weather-widget,
body.lockdown-mode [data-module="news"],
body.lockdown-mode [data-module="sports"],
body.lockdown-mode [data-module="rss"],
body.lockdown-mode [data-module="youtube"],
body.lockdown-mode [data-module="radio"],
body.lockdown-mode [data-module="sticky"],
body.lockdown-mode [data-module="todo"],
body.lockdown-mode [data-module="countdown"],
body.lockdown-mode [data-module="history"]{
  display:none !important;
}

body.lockdown-mode .start-menu-lockdown-card{
  border-color:var(--lockdown-accent) !important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--lockdown-accent) 24%, transparent), inset 0 0 24px color-mix(in srgb, var(--lockdown-accent) 10%, transparent);
}

body.lockdown-mode .start-menu-lockdown-card .start-menu-toggle-label::after{
  content:' ON';
  display:inline-block;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid currentColor;
  font-size:11px;
  letter-spacing:.08em;
}

body.lockdown-mode #startMenuLockdownToggle .toggle-track,
#startMenuLockdownToggle.active .toggle-track,
#startMenuLockdownToggle.on .toggle-track{
  background:var(--lockdown-accent, var(--accent2, #00ff9d));
}

body.lockdown-mode #startMenuLockdownToggle .toggle-thumb,
#startMenuLockdownToggle.active .toggle-thumb,
#startMenuLockdownToggle.on .toggle-thumb{
  transform:translateX(18px);
}

body.lockdown-mode .start-menu-panel-manager .panel-chip:not([onclick*="links"]):not([onclick*="searches"]){
  opacity:.45;
}

/* Site Settings polish: weather action + Lockdown toggle alignment */
.start-menu-weather-card{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:14px !important;}
.start-menu-setting-action{appearance:none;border:1px solid var(--bd);border-radius:999px;background:linear-gradient(180deg,var(--bg3),var(--bg2));color:var(--text);min-height:34px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 12px/1 var(--font);cursor:pointer;box-shadow:inset 0 1px 0 color-mix(in srgb, white 24%, transparent),0 4px 10px rgba(0,0,0,.10);white-space:nowrap;}
.start-menu-setting-action:hover,.start-menu-setting-action:focus-visible{border-color:var(--accent);color:var(--accent);outline:none;transform:translateY(-1px);}
.start-menu-setting-action-ico{font-size:15px;line-height:1;}
.start-menu-toggle-btn .toggle-track,.start-menu-toggle-btn .toggle-thumb{box-sizing:border-box;}
body.lockdown-mode #startMenuLockdownToggle .toggle-thumb,#startMenuLockdownToggle.active .toggle-thumb,#startMenuLockdownToggle.on .toggle-thumb{left:22px !important;transform:none !important;}
#startMenuLockdownToggle:not(.active):not(.on) .toggle-thumb{left:2px !important;transform:none !important;}
@media (max-width:700px){.start-menu-weather-card{align-items:flex-start !important;}.start-menu-setting-action{align-self:flex-end;}}


/* Lockdown banner */
.lockdown-banner{
  position:fixed;
  right:14px;
  left:auto;
  bottom:calc(var(--taskbar-height, 40px) + max(10px, env(safe-area-inset-bottom, 0px)));
  transform:translateY(6px);
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:30px;
  max-width:min(calc(100vw - 24px), 320px);
  padding:6px 12px;
  border-top:1px solid color-mix(in srgb, var(--bl, #fff) 70%, white 30%);
  border-left:1px solid color-mix(in srgb, var(--bl, #fff) 70%, white 30%);
  border-right:1px solid var(--bd, #333);
  border-bottom:1px solid var(--bd, #333);
  border-radius:calc(var(--br, 8px) + 8px);
  background:linear-gradient(180deg,
    color-mix(in srgb, var(--bg3, #fff) 34%, var(--btn, #ddd)),
    color-mix(in srgb, var(--btn, #ddd) 88%, var(--bg2, #888)));
  color:var(--text, #111);
  box-shadow:0 8px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.28);
  z-index:10020;
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  font:700 11px/1 var(--font, Arial, sans-serif);
  letter-spacing:.01em;
  white-space:nowrap;
}
.lockdown-banner-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--accent2, var(--accent, #00ff9d));
  color:var(--text-inv, #111);
  font-size:11px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
  flex:0 0 auto;
}
.lockdown-banner-text{
  color:inherit;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.lockdown-banner-copy{
  color:var(--text2, var(--text, #111));
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.lockdown-mode .lockdown-banner{
  opacity:1;
  visibility:visible;
  transform:none;
}
body.macos .lockdown-banner,
body.mac9 .lockdown-banner{
  top:10px;
  right:14px;
  bottom:auto;
}
@media (max-width:700px){
  .lockdown-banner{
    right:10px;
    bottom:calc(var(--taskbar-height, 44px) + max(8px, env(safe-area-inset-bottom, 0px)));
    max-width:calc(100vw - 20px);
    padding:6px 10px;
    gap:7px;
    font-size:10px;
  }
  .lockdown-banner-copy{display:none;}
  body.macos .lockdown-banner,
  body.mac9 .lockdown-banner{top:8px;right:10px;}
}


/* Taskbar panel tabs no longer use active-light dots. */
.taskbar-window-dot,
.taskbar-window-dot::before,
.taskbar-window-dot::after{
  display:none !important;
  content:"" !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  flex-basis:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.taskbar-window-main{gap:0;}

/* Real site icons for Quick Links */
.sl .site-ico,
.lm-ico.site-ico{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.sl .site-ico img,
.lm-ico.site-ico img{
  width:20px;
  height:20px;
  object-fit:contain;
  display:block;
  border-radius:4px;
}
.sl .site-ico .fallback,
.lm-ico.site-ico .fallback{display:none;}
.sl .site-ico.is-fallback .fallback,
.lm-ico.site-ico.is-fallback .fallback{display:inline;}


/* Real site icons for Search boxes */
.esig.site-ico.search-site-ico,
.search-manager-icon.site-ico.search-site-ico{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding:0;
}
.esig.site-ico.search-site-ico img,
.search-manager-icon.site-ico.search-site-ico img{
  width:20px;
  height:20px;
  object-fit:contain;
  display:block;
  border-radius:4px;
}
.esig.site-ico.search-site-ico .fallback,
.search-manager-icon.site-ico.search-site-ico .fallback{display:none;}
.esig.site-ico.search-site-ico.is-fallback .fallback,
.search-manager-icon.site-ico.search-site-ico.is-fallback .fallback{display:inline;}

.rc-full-access-badge{
  float:right;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:18px;
  margin-left:8px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--text-inv, #fff) 55%, transparent);
  background:color-mix(in srgb, var(--accent, #1e5bd7) 82%, #fff 18%);
  color:var(--text-inv, #fff);
  font-size:10px;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
}
.rc-full-access-badge[hidden]{display:none !important;}

/* ===== RewindClick News portal ===== */
.news-portal-panel{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bg2) 92%,var(--accent2) 8%),var(--bg2));border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);padding:10px;min-height:120px;}
.news-portal-status,.news-expanded-loading{font-family:var(--font);font-size:12px;color:var(--text2);padding:12px;}
.news-panel-inner{display:flex;flex-direction:column;gap:10px;}
.news-mini-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--bd) 72%,transparent);}
.news-kicker{font-family:var(--font);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);}
.news-panel-title{font-family:var(--font-d);font-size:22px;line-height:1;color:var(--text);letter-spacing:.04em;}
.news-panel-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.news-mini-btn,.news-panel-footer button,.news-expanded-actions button{font-family:var(--font);font-size:11px;padding:5px 9px;background:var(--btn);color:var(--text);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);cursor:pointer;}
.news-mini-btn:active,.news-panel-footer button:active,.news-expanded-actions button:active{border-top-color:var(--bd);border-left-color:var(--bd);border-right-color:var(--bl);border-bottom-color:var(--bl);}
.news-chip-row{display:flex;gap:6px;flex-wrap:wrap;}
.news-chip,.news-category-btn,.news-expanded-tab{font-family:var(--font);font-size:10px;padding:4px 8px;background:color-mix(in srgb,var(--panel) 90%,transparent);color:var(--text);border:1px solid var(--bd);border-radius:999px;cursor:pointer;}
.news-chip.active,.news-category-btn.active,.news-expanded-tab.active{background:color-mix(in srgb,var(--accent2) 22%,var(--btn));border-color:var(--accent2);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent2) 22%,transparent) inset;}
.news-story{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:start;padding:8px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--bd) 78%,transparent);border-radius:calc(var(--br) + 2px);}
.news-story-list{grid-template-columns:26px minmax(0,1fr);padding:6px;background:transparent;border-color:transparent;border-bottom:1px dotted color-mix(in srgb,var(--bd) 80%,transparent);border-radius:0;}
.news-story-list:last-child{border-bottom:none;}
.news-story.is-lead{grid-template-columns:minmax(72px,100px) minmax(0,1fr);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 80%,var(--accent2) 12%),color-mix(in srgb,var(--bg2) 88%,transparent));}
.news-thumb{display:flex;align-items:center;justify-content:center;min-height:52px;overflow:hidden;background:var(--bg3);border:1px solid var(--bd);border-radius:var(--br);text-decoration:none;color:var(--accent2);font-size:22px;}
.news-story-list .news-thumb{min-height:22px;font-size:12px;border-radius:999px;}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.news-thumb-fallback{font-family:var(--font-d);}
.news-story-main{min-width:0;}
.news-story-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:3px;font-family:var(--font);font-size:9px;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;}
.news-badge{background:var(--accent2);color:var(--bg);padding:2px 5px;border-radius:999px;font-weight:700;}
.news-story-title{display:block;font-family:var(--font);font-size:13px;line-height:1.25;color:var(--text);text-decoration:none;font-weight:700;}
.news-story-title:hover{text-decoration:underline;color:var(--accent2);}
.news-story-summary{margin:5px 0 0;font-size:11px;line-height:1.4;color:var(--text2);}
.news-mini-list{display:flex;flex-direction:column;gap:2px;}
.news-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--font);font-size:10px;color:var(--text2);border-top:1px solid color-mix(in srgb,var(--bd) 65%,transparent);padding-top:8px;}
.news-panel-inner.layout-compact .news-story.is-lead{grid-template-columns:34px minmax(0,1fr);}
.news-panel-inner.layout-compact .news-story-summary,.news-panel-inner.layout-text .news-thumb,.news-panel-inner.layout-text .news-story-meta span:not(.news-badge){display:none;}
.news-panel-inner.layout-text .news-story,.news-panel-inner.layout-text .news-story.is-lead{display:block;}
.news-panel-inner.layout-magazine .news-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.news-panel-inner.layout-magazine .news-story-list{border:1px solid color-mix(in srgb,var(--bd) 70%,transparent);border-radius:var(--br);background:color-mix(in srgb,var(--panel) 70%,transparent);}
.news-panel-inner.ticker-mode .news-mini-list{max-height:130px;overflow:auto;}
.news-panel-inner.compact-header .news-kicker{display:none;}.news-panel-inner.compact-header .news-panel-title{font-size:18px;}
.news-story.is-clicked{opacity:.55;}

.news-settings-shell{margin-top:10px;}
.news-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.news-settings-card{background:color-mix(in srgb,var(--bg2) 88%,transparent);border:1px solid var(--bd);border-radius:var(--br);padding:10px;}
.news-settings-card-wide{grid-column:1/-1;}
.news-settings-card-title{font-family:var(--font-d);font-size:16px;color:var(--text);margin-bottom:4px;}
.news-settings-card-copy{font-size:11px;line-height:1.45;color:var(--text2);margin-bottom:8px;}
.news-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;}
.news-category-btn{border-radius:var(--br);text-align:left;display:flex;align-items:center;gap:6px;justify-content:flex-start;}
.news-setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dotted color-mix(in srgb,var(--bd) 70%,transparent);font-family:var(--font);}
.news-setting-row:last-child{border-bottom:none;}
.news-setting-row strong{display:block;font-size:11px;color:var(--text);}.news-setting-row small{display:block;font-size:10px;line-height:1.35;color:var(--text2);}
.news-setting-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent2);}
.news-setting-inline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-family:var(--font);font-size:11px;color:var(--text);}
.news-setting-inline input,.news-setting-select{font-family:var(--font);font-size:11px;background:var(--panel);color:var(--text);border:1px solid var(--bd);border-radius:var(--br);padding:5px;max-width:140px;}
.news-settings-actions-card{display:flex;flex-direction:column;gap:8px;}
.news-settings-actions-card .stab-tile{width:100%;justify-content:flex-start;}

.news-expanded-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.62);padding:18px;}
.news-expanded-overlay.open{display:flex;}
.news-expanded-window{width:min(1180px,96vw);height:min(860px,92vh);display:flex;flex-direction:column;background:var(--bg);color:var(--text);border-top:2px solid var(--bl);border-left:2px solid var(--bl);border-right:2px solid var(--bd);border-bottom:2px solid var(--bd);box-shadow:0 22px 80px rgba(0,0,0,.55);border-radius:var(--br);overflow:hidden;}
.news-expanded-titlebar{flex:0 0 auto;}
.news-expanded-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg3) 84%,var(--accent2) 16%),var(--bg2));border-bottom:1px solid var(--bd);}
.news-expanded-logo{font-family:var(--font-d);font-size:30px;line-height:1;color:var(--text);letter-spacing:.04em;}.news-expanded-sub{font-family:var(--font);font-size:11px;color:var(--text2);margin-top:4px;}
.news-expanded-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.news-expanded-tabs{display:flex;gap:6px;padding:10px 12px;overflow:auto;background:var(--bg2);border-bottom:1px solid var(--bd);}
.news-expanded-content{flex:1;overflow:auto;padding:12px;}
.news-expanded-section[hidden]{display:none!important;}
.news-expanded-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:14px;}
.news-expanded-grid-featured{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));}
.news-story-expanded{grid-template-columns:86px minmax(0,1fr);min-height:112px;}
.news-story-expanded .news-thumb{min-height:82px;}.news-story-expanded .news-story-title{font-size:15px;}.news-story-expanded .news-story-summary{font-size:12px;}
.news-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;}
.news-directory-card{background:color-mix(in srgb,var(--panel) 84%,transparent);border:1px solid var(--bd);border-radius:var(--br);padding:10px;}
.news-directory-head{display:flex;align-items:center;gap:8px;font-family:var(--font-d);font-size:18px;border-bottom:1px solid color-mix(in srgb,var(--bd) 70%,transparent);padding-bottom:6px;margin-bottom:6px;}
.news-section-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:12px;background:color-mix(in srgb,var(--bg2) 88%,var(--accent2) 8%);border:1px solid var(--bd);border-radius:var(--br);font-family:var(--font-d);font-size:24px;}.news-section-title small{display:block;font-family:var(--font);font-size:11px;color:var(--text2);margin-top:3px;}
body.news-expanded-open{overflow:hidden;}

body.netscape .news-panel-title,body.netscape .news-expanded-logo{color:#ffcc00;}body.netscape .news-portal-panel{background:linear-gradient(180deg,#001b6b,#f4f4f4 42%,var(--bg2));}
body.aol .news-panel-title,body.aol .news-expanded-logo{letter-spacing:.01em;}body.teletext .news-story-title{text-transform:uppercase;}body.dos .news-thumb,body.c64 .news-thumb{border-radius:0;}

@media (max-width:760px){
  .news-settings-grid{grid-template-columns:1fr;}.news-expanded-overlay{padding:0;}.news-expanded-window{width:100vw;height:100vh;border-radius:0;}.news-expanded-toolbar{align-items:flex-start;flex-direction:column;}.news-expanded-logo{font-size:24px;}.news-expanded-grid,.news-directory-grid{grid-template-columns:1fr;}.news-story,.news-story.is-lead,.news-story-expanded{grid-template-columns:42px minmax(0,1fr);}.news-thumb,.news-story-expanded .news-thumb{min-height:38px;}.news-panel-inner.layout-magazine .news-mini-list{grid-template-columns:1fr;}.news-mini-topline{align-items:flex-start;}.news-panel-actions{flex:0 0 auto;}
}

/* ===== Dedicated News Settings modal ===== */
.news-settings-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.58);padding:18px;}
.news-settings-overlay.open{display:flex;}
.news-settings-window{width:min(980px,96vw);max-height:min(820px,92vh);display:flex;flex-direction:column;background:var(--bg);color:var(--text);border-top:2px solid var(--bl);border-left:2px solid var(--bl);border-right:2px solid var(--bd);border-bottom:2px solid var(--bd);box-shadow:0 22px 80px rgba(0,0,0,.55);border-radius:var(--br);overflow:hidden;}
.news-settings-titlebar{flex:0 0 auto;}
.news-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg3) 86%,var(--accent2) 14%),var(--bg2));border-bottom:1px solid var(--bd);}
.news-settings-logo{font-family:var(--font-d);font-size:30px;line-height:1;color:var(--text);letter-spacing:.04em;}
.news-settings-sub{font-family:var(--font);font-size:11px;line-height:1.45;color:var(--text2);margin-top:4px;max-width:560px;}
.news-settings-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.news-settings-hero-actions button,.news-settings-footer button{font-family:var(--font);font-size:11px;padding:6px 10px;background:var(--btn);color:var(--text);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);cursor:pointer;}
.news-settings-scroll{flex:1;min-height:0;overflow:auto;padding:4px 14px 14px;}
.news-settings-footer{flex:0 0 auto;display:flex;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--bd);background:var(--bg2);}
body.news-settings-open{overflow:hidden;}
body.netscape .news-settings-logo{color:#ffcc00;}
@media (max-width:760px){.news-settings-overlay{padding:0;}.news-settings-window{width:100vw;height:100vh;max-height:none;border-radius:0;}.news-settings-hero{align-items:flex-start;flex-direction:column;}.news-settings-logo{font-size:24px;}.news-settings-hero-actions{justify-content:flex-start;}}

/* ===== RewindClick News Studio v3 ===== */
.news-studio-btn{font-weight:700;}
.news-panel-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;align-items:start;}
.news-panel-category{background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--bd) 72%,transparent);border-radius:var(--br);padding:7px;min-width:0;}
.news-panel-category-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--bd) 70%,transparent);font-family:var(--font);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text);}
.news-panel-category-head small{font-size:10px;color:var(--text2);text-transform:none;letter-spacing:0;white-space:nowrap;}
.news-panel-category-icon{font-size:13px;}
.news-panel-category-list{display:flex;flex-direction:column;gap:1px;}
.news-empty-panel{padding:14px;background:var(--bg2);border:1px dashed var(--bd);border-radius:var(--br);font-family:var(--font);font-size:12px;color:var(--text2);}
.news-chip span{opacity:.72;margin-left:3px;}
.news-panel-inner.layout-magazine .news-panel-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.news-panel-inner.layout-compact .news-panel-category-grid{grid-template-columns:1fr;}
.news-panel-inner.layout-text .news-panel-category{background:transparent;}
.news-panel-inner.layout-text .news-panel-category-grid{grid-template-columns:1fr;}
.news-panel-inner.layout-text .news-story-list{padding:3px 0;}
.news-panel-inner.layout-text .news-story-title{font-size:12px;}

.news-studio-window{width:min(1280px,98vw);height:min(900px,94vh);}
.news-studio-shell{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);min-height:0;flex:1;background:var(--bg);}
.news-studio-sidebar{min-height:0;overflow:auto;border-right:1px solid var(--bd);background:color-mix(in srgb,var(--bg2) 92%,var(--accent2) 6%);padding:10px;transition:max-width .18s ease,padding .18s ease,opacity .18s ease;}
.news-studio-sidebar.collapsed{max-width:0;padding-left:0;padding-right:0;opacity:0;overflow:hidden;border-right:0;}
.news-studio-sidebar-title{font-family:var(--font-d);font-size:20px;line-height:1;margin:2px 0 8px;color:var(--text);}
.news-studio-main{min-width:0;min-height:0;display:flex;flex-direction:column;}
.news-studio-grid{grid-template-columns:1fr;}
.news-builder-card{background:linear-gradient(180deg,color-mix(in srgb,var(--bg2) 86%,var(--accent2) 10%),var(--bg2));}
.news-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;margin:8px 0 10px;}
.news-mode-card{font-family:var(--font);text-align:left;padding:8px;background:var(--btn);color:var(--text);border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);cursor:pointer;}
.news-mode-card strong{display:block;font-size:12px;margin-bottom:2px;}
.news-mode-card small{display:block;font-size:10px;line-height:1.35;color:var(--text2);}
.news-mode-card.active{background:color-mix(in srgb,var(--accent2) 18%,var(--btn));border-color:var(--accent2);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent2) 25%,transparent) inset;}
.news-count-summary{font-family:var(--font);font-size:12px;background:var(--panel);border:1px solid var(--bd);border-radius:var(--br);padding:8px;margin:8px 0;color:var(--text);}
.news-count-grid{display:grid;grid-template-columns:1fr;gap:5px;}
.news-count-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--bd) 70%,transparent);border-radius:var(--br);}
.news-count-row.active{background:color-mix(in srgb,var(--panel) 70%,var(--accent2) 8%);}
.news-count-name{display:flex;align-items:center;gap:6px;min-width:0;font-family:var(--font);font-size:11px;color:var(--text);}
.news-count-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.news-count-controls{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
.news-count-controls button{width:24px;height:24px;padding:0;font-family:var(--font);background:var(--btn);color:var(--text);border:1px solid var(--bd);border-radius:var(--br);cursor:pointer;}
.news-count-controls input{width:46px;font-family:var(--font);font-size:12px;text-align:center;background:var(--bg);color:var(--text);border:1px solid var(--bd);border-radius:var(--br);padding:4px;}
.news-ticker-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:8px;}
.news-studio-preview-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:12px;}
.news-studio-preview-head>div{background:color-mix(in srgb,var(--bg2) 88%,var(--accent2) 8%);border:1px solid var(--bd);border-radius:var(--br);padding:10px;font-family:var(--font);}
.news-studio-preview-head strong{display:block;font-family:var(--font-d);font-size:20px;line-height:1;color:var(--text);}
.news-studio-preview-head small{display:block;font-size:11px;color:var(--text2);margin-top:2px;}
.news-studio-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:12px;}
.news-studio-category-preview .news-directory-head{justify-content:flex-start;}
.news-studio-category-preview .news-directory-head small{margin-left:auto;font-family:var(--font);font-size:10px;color:var(--text2);}
.news-studio-ticker-preview{background:color-mix(in srgb,var(--panel) 84%,transparent);border:1px solid var(--bd);border-radius:var(--br);padding:10px;}
.news-studio-ticker-line{font-family:var(--font);font-size:12px;line-height:1.6;white-space:normal;color:var(--text);}

.rewind-news-ticker{display:none;margin:0 0 12px;padding:7px 10px;align-items:center;gap:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg3) 86%,var(--accent2) 14%),var(--bg2));border-top:1px solid var(--bl);border-left:1px solid var(--bl);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);border-radius:var(--br);overflow:hidden;color:var(--text);}
.rewind-news-ticker.enabled{display:flex;}
.rewind-news-ticker-label{flex:0 0 auto;font-family:var(--font-d);font-size:18px;letter-spacing:.08em;color:var(--accent2);}
.rewind-news-ticker-track{min-width:0;flex:1;overflow:hidden;font-family:var(--font);font-size:12px;white-space:nowrap;}
.rewind-news-ticker-move{display:inline-flex;align-items:center;gap:14px;min-width:100%;animation:rewind-news-marquee 38s linear infinite;}
.rewind-news-ticker.speed-slow .rewind-news-ticker-move{animation-duration:58s;}
.rewind-news-ticker.speed-fast .rewind-news-ticker-move{animation-duration:24s;}
.rewind-news-ticker:hover .rewind-news-ticker-move{animation-play-state:paused;}
.rewind-news-ticker a{display:inline-flex;align-items:center;gap:5px;color:var(--text);text-decoration:none;}
.rewind-news-ticker a:hover{text-decoration:underline;color:var(--accent2);}
.rewind-news-ticker b{color:var(--text2);font-weight:400;}
.rewind-news-ticker-empty{color:var(--text2);}
.rewind-news-ticker.style-breaking{background:linear-gradient(90deg,color-mix(in srgb,var(--accent2) 28%,var(--bg2)),var(--bg2));}
.rewind-news-ticker.style-static .rewind-news-ticker-track{white-space:normal;}
.rewind-news-ticker.style-static .rewind-news-ticker-move{animation:none;flex-wrap:wrap;}
@keyframes rewind-news-marquee{0%{transform:translateX(100%);}100%{transform:translateX(-100%);}}

@media (max-width:900px){
  .news-studio-shell{grid-template-columns:1fr;}
  .news-studio-sidebar{max-height:46vh;border-right:0;border-bottom:1px solid var(--bd);}
  .news-studio-sidebar.collapsed{max-height:0;border-bottom:0;}
  .news-panel-inner.layout-magazine .news-panel-category-grid,.news-panel-category-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .news-count-row{align-items:flex-start;flex-direction:column;}
  .news-count-controls{width:100%;justify-content:flex-end;}
  .rewind-news-ticker{border-radius:0;margin-left:-8px;margin-right:-8px;}
}

/* RewindClick News - simplified category portal spacing fix */
.news-portal-panel{
  overflow:visible;
  padding:10px 12px 12px;
}
.news-panel-inner{
  gap:8px;
}
.news-mini-topline{
  align-items:center;
  padding-bottom:7px;
  gap:8px;
}
.news-panel-actions{
  flex-shrink:0;
}
.news-category-button-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  width:100%;
  max-width:780px;
  margin:6px auto 8px;
  align-items:stretch;
}
.news-category-button-row .news-chip{
  min-width:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:4px;
  font-weight:700;
  padding:6px 6px;
  line-height:1.15;
  white-space:nowrap;
}
.news-selected-category-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:min(100%,520px);
  margin:4px auto 7px;
  padding:5px 8px;
  border:1px solid color-mix(in srgb,var(--bd) 78%,transparent);
  background:color-mix(in srgb,var(--bg2) 82%,var(--accent2) 8%);
  border-radius:var(--br);
  font-family:var(--font-d);
  font-size:18px;
  line-height:1;
  color:var(--text);
}
.news-selected-category-head span{
  line-height:1;
}
.news-panel-inner > .news-story.is-lead{
  margin:0 0 2px;
}
.news-panel-headline-list{
  display:block;
  margin-top:4px;
}
.news-panel-headline-list .news-story-list{
  display:block;
  grid-template-columns:1fr;
  border:0;
  border-bottom:1px dotted color-mix(in srgb,var(--bd) 65%,transparent);
  padding:4px 2px;
  background:transparent;
}
.news-panel-headline-list .news-story-list:last-child{border-bottom:0;}
.news-panel-headline-list .news-thumb{display:none!important;}
.news-panel-headline-list .news-story-main{display:block;min-width:0;}
.news-panel-headline-list .news-story-title{
  font-size:12px;
  line-height:1.28;
  font-weight:700;
}
.news-panel-headline-list .news-story-meta{
  gap:5px;
  margin:0 0 1px;
  font-size:8px;
  line-height:1.1;
}
.news-default-category-select{margin-top:10px;}
.news-studio-category-grid,.news-ticker-category-grid{
  justify-content:center;
}
.news-studio-category-grid .news-category-btn,.news-ticker-category-grid .news-category-btn{
  min-width:128px;
}
@media(max-width:900px){
  .news-category-button-row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;}
}
@media(max-width:520px){
  .news-mini-topline{align-items:flex-start;flex-direction:column;}
  .news-panel-actions{justify-content:flex-start;width:100%;}
  .news-category-button-row{grid-template-columns:1fr 1fr;gap:5px;}
  .news-category-button-row .news-chip{font-size:9px;padding:5px 4px;}
  .news-studio-category-grid .news-category-btn,.news-ticker-category-grid .news-category-btn{min-width:calc(50% - 8px);}
}


/* RewindClick News Studio v6 - simplified fixed-category rebuild */
.news-category-button-row{
  grid-template-columns:repeat(6,minmax(0,1fr));
  max-width:900px;
  gap:6px;
  margin:6px auto 8px;
}
.news-category-button-row .news-chip{
  min-height:28px;
  border-radius:4px;
  font-size:10px;
  letter-spacing:0;
}
.news-panel-inner.layout-compact .news-story.is-lead{
  grid-template-columns:36px minmax(0,1fr);
  padding:6px;
}
.news-panel-inner.layout-compact .news-story-summary{display:none!important;}
.news-panel-inner.layout-compact .news-panel-headline-list .news-story-list{padding:3px 2px;}
.news-panel-inner.layout-newspaper .news-story.is-lead{
  border-radius:2px;
  border-width:2px;
}
.news-panel-inner.layout-newspaper .news-panel-headline-list{
  column-count:2;
  column-gap:18px;
  column-rule:1px dotted color-mix(in srgb,var(--bd) 62%,transparent);
}
.news-panel-inner.layout-newspaper .news-panel-headline-list .news-story-list{
  break-inside:avoid;
  display:block;
}
.news-studio-window{width:min(900px,96vw);height:min(760px,92vh);}
.news-studio-simple-scroll{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:12px;
  background:var(--bg);
}
.news-studio-simple-scroll .news-settings-shell{margin:0;}
.news-studio-simple-scroll .news-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.news-studio-simple-scroll .news-settings-card-wide{grid-column:1/-1;}
.news-studio-simple-scroll .news-settings-card h4{margin:0 0 8px;font-family:var(--font-d);font-size:18px;line-height:1;color:var(--text);}
.news-studio-simple-scroll .news-settings-card p{margin:0 0 8px;font-family:var(--font);font-size:11px;color:var(--text2);line-height:1.35;}
.news-studio-simple-scroll .news-settings-card label{display:block;margin:6px 0;font-family:var(--font);font-size:11px;color:var(--text);}
.news-studio-select,.news-studio-simple-scroll select{
  width:100%;
  margin-top:4px;
  font-family:var(--font);
  font-size:12px;
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--bd);
  border-radius:var(--br);
  padding:6px;
}
.news-layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.news-layout-option,.news-pill{
  font-family:var(--font);
  text-align:left;
  background:var(--btn);
  color:var(--text);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:var(--br);
  cursor:pointer;
}
.news-layout-option{padding:10px;min-height:74px;}
.news-layout-option strong{display:block;font-size:13px;margin-bottom:4px;}
.news-layout-option small{display:block;font-size:10px;line-height:1.35;color:var(--text2);}
.news-layout-option.active,.news-pill.active{background:color-mix(in srgb,var(--accent2) 20%,var(--btn));border-color:var(--accent2);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent2) 25%,transparent) inset;}
.news-button-row{display:flex;gap:6px;flex-wrap:wrap;}
.news-pill{padding:7px 10px;text-align:center;}
.news-studio-category-grid,.news-ticker-category-grid{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;}
.news-studio-category-grid .news-category-btn,.news-ticker-category-grid .news-category-btn{min-width:128px;border-radius:4px;padding:6px 8px;text-align:left;}
.news-ticker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0;}
@media(max-width:900px){
  .news-category-button-row{grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px;}
  .news-studio-simple-scroll .news-settings-grid{grid-template-columns:1fr;}
  .news-layout-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .news-category-button-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .news-panel-inner.layout-newspaper .news-panel-headline-list{column-count:1;}
  .news-studio-category-grid .news-category-btn,.news-ticker-category-grid .news-category-btn{min-width:calc(50% - 6px);}
  .news-ticker-options{grid-template-columns:1fr;}
}


/* RewindClick News Studio v7 - usability and layout fixes */
.news-panel-inner{
  gap:10px;
}
.news-category-button-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:920px;
  gap:8px;
  margin:6px auto 10px;
}
.news-category-button-row .news-chip{
  min-height:30px;
  padding:7px 8px;
  border-radius:6px;
  font-size:10px;
}
.news-selected-category-head{display:none!important;}
.news-selected-category-label{
  margin:0;
  padding:0;
  font-family:var(--font-d);
  font-size:18px;
  line-height:1.1;
  color:var(--text);
}
.news-panel-inner > .news-story.is-lead{
  margin:0;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--bd) 78%,transparent);
  border-radius:var(--br);
  background:color-mix(in srgb,var(--panel) 86%,transparent);
}
.news-panel-headline-list{
  display:block;
  margin-top:2px;
}
.news-panel-headline-list .news-story-list{
  display:block;
  padding:8px 2px 10px;
  margin:0;
  border:0;
  border-bottom:1px dotted color-mix(in srgb,var(--bd) 65%,transparent);
  background:transparent;
}
.news-panel-headline-list .news-story-main{display:block;}
.news-panel-headline-list .news-story-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 3px;
  font-size:9px;
  line-height:1.2;
}
.news-panel-headline-list .news-story-title{
  display:block;
  font-size:13px;
  line-height:1.35;
}
.news-panel-inner.layout-compact .news-story.is-lead{display:none;}
.news-compact-lead{
  padding:0 0 2px;
}
.news-compact-lead-title{
  display:block;
  margin-top:4px;
  font-family:var(--font-d);
  font-size:18px;
  line-height:1.2;
  color:var(--text);
  text-decoration:none;
}
.news-compact-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:4px;
  font-size:10px;
  color:var(--text2);
}
.news-panel-inner.layout-compact .compact-headline-list{
  column-count:2;
  column-gap:18px;
}
.news-panel-inner.layout-compact .compact-headline-list .news-story-list{
  break-inside:avoid;
  padding:5px 0 8px;
}

.news-panel-inner.layout-newspaper > .news-story.is-lead,
.news-panel-inner.layout-newspaper .news-panel-headline-list,
.news-panel-inner.layout-newspaper .news-selected-category-label,
.news-panel-inner.layout-newspaper .news-category-button-row{
  display:none;
}
.news-panel-inner.layout-newspaper{gap:10px;}

/* Clean RewindClick newspaper layout — single source of truth */
.news-newspaper-shell{
  --np-paper:#faf8f1;
  --np-paper-2:#f2eee3;
  --np-ink:#191512;
  --np-muted:#625a50;
  --np-line:#958878;
  background:linear-gradient(180deg,var(--np-paper),var(--np-paper-2));
  color:var(--np-ink);
  border:2px solid color-mix(in srgb,var(--np-line) 78%,transparent);
  border-radius:2px;
  padding:14px 16px 16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.news-newspaper-shell a{color:var(--np-ink);text-decoration:none;}
.news-newspaper-shell a:hover{text-decoration:underline;}
.news-np-top-rule{height:5px;background:var(--np-ink);margin-bottom:0;}
.news-newspaper-masthead{
  display:grid;
  grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr);
  align-items:end;
  gap:12px;
  padding:9px 0 10px;
  border-bottom:5px double var(--np-line);
}
.news-np-masthead-left,.news-np-masthead-right{
  font-family:Georgia,'Times New Roman',serif;
  font-size:10px;
  line-height:1.45;
  color:var(--np-muted);
}
.news-np-masthead-right{text-align:right;}
.news-newspaper-name{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(30px,4.4vw,48px);
  line-height:.96;
  font-weight:800;
  letter-spacing:.01em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
}
.news-np-edition-tag{
  display:inline-block;
  margin-top:3px;
  padding:1px 5px;
  border:1px solid color-mix(in srgb,var(--np-line) 70%,transparent);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.news-np-rule-trio{display:grid;grid-template-columns:5px 1fr 5px;gap:3px;margin:7px 0 12px;}
.news-np-rule-trio div{height:1px;background:color-mix(in srgb,var(--np-line) 70%,transparent);}
.news-np-rule-trio div:first-child,.news-np-rule-trio div:last-child{height:3px;background:var(--np-ink);}
.news-newspaper-lead{
  padding:0 0 12px;
  margin:0 0 12px;
  border-bottom:2px solid color-mix(in srgb,var(--np-line) 55%,transparent);
}
.news-newspaper-kicker{
  font-family:Georgia,'Times New Roman',serif;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--np-muted);
  margin-bottom:5px;
}
.news-newspaper-lead-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(28px,3.6vw,40px);
  line-height:1.03;
  font-weight:800;
  letter-spacing:-.02em;
}
.news-newspaper-summary{margin:8px 0 0;font-size:14px;line-height:1.44;color:var(--np-ink);}
.news-newspaper-lead-image{display:block;margin-top:10px;border:1px solid color-mix(in srgb,var(--np-line) 52%,transparent);max-height:230px;overflow:hidden;background:#eee;}
.news-newspaper-lead-image img{display:block;width:100%;max-height:230px;object-fit:cover;filter:saturate(.94) contrast(1.02);}
.news-newspaper-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;font-size:10px;line-height:1.2;color:var(--np-muted);}
.news-np-source{font-weight:700;color:var(--np-muted);}.news-np-time{color:var(--np-muted);}.news-np-dot{opacity:.45;}
.news-newspaper-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(190px,.78fr);
  gap:0;
  border-top:1px solid color-mix(in srgb,var(--np-line) 48%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--np-line) 48%,transparent);
  margin-bottom:13px;
}
.news-newspaper-feature-grid.no-briefings{grid-template-columns:repeat(2,minmax(0,1fr));}
.news-newspaper-feature-column,
.news-newspaper-briefs{min-width:0;padding:0 12px;border-right:1px dotted color-mix(in srgb,var(--np-line) 55%,transparent);}
.news-newspaper-feature-column:first-child{padding-left:0;}
.news-newspaper-briefs{padding-right:0;border-right:0;}
.news-newspaper-secondary,.news-newspaper-brief{padding:9px 0;border-bottom:1px dotted color-mix(in srgb,var(--np-line) 45%,transparent);}
.news-newspaper-secondary:last-child,.news-newspaper-brief:last-child{border-bottom:0;}
.news-newspaper-secondary-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.14;
  font-weight:800;
}
.news-newspaper-secondary-summary{
  margin:5px 0 0;
  font-size:11px;
  line-height:1.34;
  color:var(--np-muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.news-newspaper-briefs-title{
  padding:9px 0 7px;
  border-bottom:2px solid color-mix(in srgb,var(--np-line) 55%,transparent);
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1;
  font-weight:800;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.news-newspaper-brief-title,.news-newspaper-story-title{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:800;line-height:1.2;}
.news-newspaper-brief-title{font-size:13px;}
.news-newspaper-more{clear:both;}
.news-np-more-rule{display:flex;align-items:center;gap:10px;margin:12px 0 9px;}
.news-np-more-rule::before,.news-np-more-rule::after{content:'';height:3px;flex:1;border-top:2px solid color-mix(in srgb,var(--np-line) 64%,transparent);border-bottom:1px solid color-mix(in srgb,var(--np-line) 44%,transparent);}
.news-np-more-label{font-family:Georgia,'Times New Roman',serif;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.news-newspaper-columns{column-count:3;column-gap:18px;column-rule:1px solid color-mix(in srgb,var(--np-line) 42%,transparent);}
.news-newspaper-story{break-inside:avoid;display:block;margin:0 0 8px;padding:0 0 7px;border-bottom:1px dotted color-mix(in srgb,var(--np-line) 42%,transparent);}
.news-newspaper-story-title{font-size:13.5px;}
.news-density-light .news-newspaper-columns{column-count:2;}
.news-density-packed .news-newspaper-columns,.news-density-full .news-newspaper-columns{column-count:4;}
.rewind-news-ticker-close{flex:0 0 auto;width:20px;height:20px;border:1px solid color-mix(in srgb,var(--bd) 75%,transparent);border-radius:50%;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--text);font:700 14px/18px var(--font);cursor:pointer;}
.rewind-news-ticker-move{animation-duration:88s;}
.rewind-news-ticker.speed-slow .rewind-news-ticker-move{animation-duration:140s;}
.rewind-news-ticker.speed-fast .rewind-news-ticker-move{animation-duration:64s;}
@media(max-width:900px){
  .news-newspaper-masthead{grid-template-columns:1fr;text-align:center;}
  .news-np-masthead-left,.news-np-masthead-right{text-align:center;}
  .news-newspaper-feature-grid,.news-newspaper-feature-grid.no-briefings{grid-template-columns:1fr;}
  .news-newspaper-feature-column,.news-newspaper-briefs{padding:0;border-right:0;border-bottom:1px dotted color-mix(in srgb,var(--np-line) 45%,transparent);}
  .news-newspaper-columns,.news-density-packed .news-newspaper-columns,.news-density-full .news-newspaper-columns{column-count:2;}
}
@media(max-width:620px){
  .news-newspaper-shell{padding:12px;}
  .news-newspaper-name{white-space:normal;font-size:30px;}
  .news-newspaper-columns,.news-density-packed .news-newspaper-columns,.news-density-full .news-newspaper-columns{column-count:1;}
}

/* =========================================================
   NEWSPAPER SETTINGS UI (ns-*)
   ========================================================= */

.ns-root{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:2px 0;
}

.ns-section{
  padding:14px 16px;
  border-bottom:1px solid color-mix(in srgb,var(--bd) 62%,transparent);
}
.ns-section:last-child{border-bottom:0;}

.ns-section-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.ns-section-icon{font-size:20px;flex:0 0 auto;}
.ns-section-title{
  font-family:var(--font-d);
  font-size:16px;
  font-weight:700;
  line-height:1.1;
  color:var(--text);
}
.ns-section-sub{
  font-size:11px;
  color:var(--text2);
  margin-top:1px;
}

/* Edition grid */
.ns-edition-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
  gap:6px;
}
.ns-edition-btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:8px 6px;
  border-radius:var(--br);
  border:1px solid color-mix(in srgb,var(--bd) 72%,transparent);
  background:color-mix(in srgb,var(--panel) 85%,transparent);
  color:var(--text);
  cursor:pointer;
  transition:border-color .12s, background .12s, box-shadow .12s;
  font-family:var(--font);
}
.ns-edition-btn:hover{
  border-color:var(--accent2);
  background:color-mix(in srgb,var(--accent2) 10%,var(--panel));
}
.ns-edition-btn.active{
  border-color:var(--accent2);
  background:color-mix(in srgb,var(--accent2) 18%,var(--btn));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent2) 30%,transparent) inset;
}
.ns-edition-icon{font-size:20px;line-height:1;}
.ns-edition-name{font-size:10px;text-align:center;line-height:1.2;color:var(--text);}

/* Local news box */
.ns-local-box{
  margin-top:10px;
  padding:10px;
  border:1px dashed color-mix(in srgb,var(--bd) 70%,transparent);
  border-radius:var(--br);
  background:color-mix(in srgb,var(--bg2) 60%,transparent);
  display:flex;
  flex-direction:column;
  gap:7px;
}
.ns-local-label{font-size:11px;font-weight:700;color:var(--text);}
.ns-local-row{display:flex;gap:6px;}
.ns-local-input{
  flex:1;
  font-family:var(--font);
  font-size:12px;
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--bd);
  border-radius:var(--br);
  padding:5px 8px;
}
.ns-local-btn{
  font-family:var(--font);
  font-size:11px;
  padding:5px 10px;
  background:var(--btn);
  color:var(--text);
  border-top:1px solid var(--bl);
  border-left:1px solid var(--bl);
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius:var(--br);
  cursor:pointer;
  white-space:nowrap;
}
.ns-ghost-btn{
  font-family:var(--font);
  font-size:11px;
  color:var(--text2);
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:2px;
}
.ns-local-hint{font-size:10px;color:var(--text2);}

/* Toggle cards grid */
.ns-toggle-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:7px;
}
.ns-toggle-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:9px 10px 8px;
  border-radius:var(--br);
  border:1px solid color-mix(in srgb,var(--bd) 70%,transparent);
  background:color-mix(in srgb,var(--panel) 82%,transparent);
  color:var(--text);
  cursor:pointer;
  transition:border-color .12s, background .12s;
  font-family:var(--font);
  text-align:left;
  position:relative;
}
.ns-toggle-card:hover{
  border-color:color-mix(in srgb,var(--bd) 90%,var(--accent2));
}
.ns-toggle-card.on{
  border-color:var(--accent2);
  background:color-mix(in srgb,var(--accent2) 12%,var(--panel));
}
.ns-toggle-icon{font-size:18px;line-height:1;}
.ns-toggle-label{
  font-size:11px;
  line-height:1.2;
  color:var(--text);
  flex:1;
}
.ns-toggle-pip{
  display:block;
  width:28px;
  height:14px;
  border-radius:7px;
  border:1px solid color-mix(in srgb,var(--bd) 80%,transparent);
  background:color-mix(in srgb,var(--bg2) 80%,transparent);
  position:absolute;
  top:8px;
  right:8px;
  transition:background .15s, border-color .15s;
}
.ns-toggle-pip::after{
  content:'';
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--text2);
  margin:1px;
  transition:margin .15s, background .15s;
}
.ns-toggle-card.on .ns-toggle-pip{
  background:color-mix(in srgb,var(--accent2) 35%,transparent);
  border-color:var(--accent2);
}
.ns-toggle-card.on .ns-toggle-pip::after{
  margin-left:13px;
  background:var(--accent2);
}

/* Density bar */
.ns-density-bar{
  display:flex;
  border:1px solid color-mix(in srgb,var(--bd) 75%,transparent);
  border-radius:var(--br);
  overflow:hidden;
}
.ns-density-btn{
  flex:1;
  padding:8px 4px;
  text-align:center;
  font-family:var(--font);
  font-size:11px;
  color:var(--text);
  background:color-mix(in srgb,var(--panel) 80%,transparent);
  border:none;
  border-right:1px solid color-mix(in srgb,var(--bd) 65%,transparent);
  cursor:pointer;
  transition:background .12s;
}
.ns-density-btn:last-child{border-right:0;}
.ns-density-btn:hover{background:color-mix(in srgb,var(--accent2) 10%,var(--panel));}
.ns-density-btn.active{
  background:color-mix(in srgb,var(--accent2) 22%,var(--btn));
  color:var(--text);
  font-weight:700;
}

/* Ticker section */
.ns-ticker-master{
  flex-direction:row !important;
  align-items:center !important;
  padding:5px 10px !important;
  margin-left:auto;
  gap:8px !important;
  min-width:68px;
}
.ns-ticker-controls{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px;
  margin-top:4px;
}
.ns-ticker-off-hint{
  font-size:11px;
  color:var(--text2);
  margin-top:2px;
  font-style:italic;
}
.ns-select-label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-family:var(--font);
  font-size:11px;
  color:var(--text2);
}
.ns-select{
  font-family:var(--font);
  font-size:12px;
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--bd);
  border-radius:var(--br);
  padding:5px 6px;
}

/* Responsive */
@media(max-width:760px){
  .ns-edition-grid{grid-template-columns:repeat(3,1fr);}
  .ns-toggle-grid{grid-template-columns:repeat(2,1fr);}
  .news-np-masthead-left,.news-np-masthead-right{display:none;}
  .news-newspaper-masthead{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .ns-edition-grid{grid-template-columns:repeat(2,1fr);}
  .news-newspaper-name{font-size:30px;}
}


/* RewindClick News fixed framed newspaper skeleton - single layout, no density variants */
.news-newspaper-shell{
  --np-paper:#fbfaf5;
  --np-paper-2:#f1eee7;
  --np-ink:#171410;
  --np-muted:#61594e;
  --np-line:#918675;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  overflow:hidden;
  background:linear-gradient(180deg,var(--np-paper),var(--np-paper-2));
  color:var(--np-ink) !important;
  border:2px solid color-mix(in srgb,var(--np-line) 70%,transparent);
  padding:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.news-newspaper-shell *,
.news-newspaper-shell *::before,
.news-newspaper-shell *::after{box-sizing:border-box;}
.news-newspaper-shell a,
.news-newspaper-shell .news-newspaper-name,
.news-newspaper-shell .news-newspaper-lead-title,
.news-newspaper-shell .news-newspaper-secondary-title,
.news-newspaper-shell .news-newspaper-brief-title,
.news-newspaper-shell .news-newspaper-story-title,
.news-newspaper-shell .news-np-more-label{color:var(--np-ink) !important;}
.news-newspaper-shell .news-newspaper-meta,
.news-newspaper-shell .news-np-source,
.news-newspaper-shell .news-np-time,
.news-newspaper-shell .news-np-dot,
.news-newspaper-shell .news-newspaper-kicker,
.news-newspaper-shell .news-np-masthead-meta,
.news-newspaper-shell .news-np-edition-tag,
.news-newspaper-shell .news-newspaper-summary,
.news-newspaper-shell .news-newspaper-secondary-summary{color:var(--np-muted) !important;}

.news-newspaper-masthead{
  display:block !important;
  text-align:center;
  padding:6px 0 10px;
  border-top:1px solid color-mix(in srgb,var(--np-line) 62%,transparent);
  border-bottom:4px double color-mix(in srgb,var(--np-line) 86%,transparent);
}
.news-np-masthead-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px 14px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:11px;
  line-height:1.2;
  margin-bottom:5px;
}
.news-newspaper-name{
  display:block;
  width:100%;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(24px,5.4vw,46px);
  line-height:.96;
  text-transform:uppercase;
  letter-spacing:.01em;
  white-space:normal !important;
}
.news-np-edition-tag{
  margin-top:5px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.news-np-top-rule,
.news-np-rule-trio div:first-child,
.news-np-rule-trio div:last-child{background:var(--np-ink) !important;}
.news-np-rule-trio{margin:8px 0 12px;}

.news-newspaper-lead{
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:2px solid color-mix(in srgb,var(--np-line) 55%,transparent);
}
.news-newspaper-kicker{
  font-family:Georgia,'Times New Roman',serif;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.news-newspaper-lead-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,4vw,38px);
  line-height:1.03;
  letter-spacing:-.02em;
  text-decoration:none;
}
.news-newspaper-summary{
  max-width:72ch;
  margin:8px auto 0;
  font-size:14px;
  line-height:1.42;
}
.news-newspaper-lead-image{
  display:block;
  margin:10px auto 0;
  max-width:760px;
}
.news-newspaper-lead-image img{
  display:block;
  width:100%;
  max-height:230px;
  object-fit:cover;
  border:1px solid color-mix(in srgb,var(--np-line) 50%,transparent);
}

.news-newspaper-feature-frame{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(210px,.82fr);
  gap:0;
  border-top:1px solid color-mix(in srgb,var(--np-line) 52%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--np-line) 52%,transparent);
  margin-bottom:12px;
}
.news-newspaper-feature-column,
.news-newspaper-briefs{
  min-width:0;
  padding:0 12px;
  border-right:1px dotted color-mix(in srgb,var(--np-line) 55%,transparent);
}
.news-newspaper-feature-column:first-child{padding-left:0;}
.news-newspaper-briefs{
  border-right:0;
  padding-right:0;
}
.news-newspaper-secondary{
  padding:10px 0;
  border-bottom:1px dotted color-mix(in srgb,var(--np-line) 45%,transparent);
}
.news-newspaper-secondary:last-child{border-bottom:0;}
.news-newspaper-secondary-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.15;
  text-decoration:none;
}
.news-newspaper-secondary-summary{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:5px 0 0 !important;
  font-size:12px;
  line-height:1.3;
}
.news-newspaper-briefs-title{
  padding:8px 0 6px;
  border-bottom:1px solid color-mix(in srgb,var(--np-line) 45%,transparent);
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.1em;
  text-align:center;
  font-weight:700;
}
.news-newspaper-brief{
  padding:7px 0;
  border-bottom:1px dotted color-mix(in srgb,var(--np-line) 42%,transparent);
}
.news-newspaper-brief:last-child{border-bottom:0;}
.news-newspaper-brief-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  line-height:1.18;
  text-decoration:none;
}

.news-newspaper-more{margin-top:12px;}
.news-np-more-rule{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 9px;
}
.news-np-more-rule::before,
.news-np-more-rule::after{
  content:'';
  height:3px;
  border-top:2px solid color-mix(in srgb,var(--np-line) 66%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--np-line) 44%,transparent);
  flex:1;
}
.news-np-more-label{
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  white-space:nowrap;
}
.news-newspaper-columns{
  column-count:3 !important;
  column-gap:18px !important;
  column-rule:1px solid color-mix(in srgb,var(--np-line) 44%,transparent) !important;
  min-height:0 !important;
}
.news-newspaper-story{
  break-inside:avoid;
  display:block;
  margin:0 0 8px;
  padding:0 0 7px;
  border-bottom:1px dotted color-mix(in srgb,var(--np-line) 42%,transparent);
}
.news-newspaper-story-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13.5px;
  line-height:1.2;
  text-decoration:none;
}

@media(max-width:900px){
  .news-newspaper-feature-frame{
    grid-template-columns:1fr 1fr;
  }
  .news-newspaper-briefs{
    grid-column:1 / -1;
    padding:0;
    border-top:1px solid color-mix(in srgb,var(--np-line) 45%,transparent);
    border-right:0;
  }
}
@media(max-width:700px){
  .news-newspaper-columns{column-count:2 !important;}
}
@media(max-width:620px){
  .news-newspaper-shell{padding:12px;}
  .news-newspaper-feature-frame{grid-template-columns:1fr;}
  .news-newspaper-feature-column,
  .news-newspaper-briefs{
    padding:0;
    border-right:0;
  }
  .news-newspaper-feature-column + .news-newspaper-feature-column,
  .news-newspaper-briefs{border-top:1px solid color-mix(in srgb,var(--np-line) 45%,transparent);}
  .news-newspaper-columns{column-count:1 !important;}
}


/* RewindClick News obvious fixed paper layout - independent from old newspaper classes */
.news-fixed-paper{
  --paper:#fbfaf5;
  --paper2:#f1eee5;
  --ink:#16130f;
  --muted:#62594e;
  --rule:#918675;
  width:100%;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
  padding:16px;
  background:linear-gradient(180deg,var(--paper),var(--paper2));
  color:var(--ink);
  border:2px solid color-mix(in srgb,var(--rule) 72%,transparent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.news-fixed-paper *,
.news-fixed-paper *::before,
.news-fixed-paper *::after{box-sizing:border-box;}
.news-fixed-paper a{
  color:var(--ink) !important;
  text-decoration:none;
}
.news-fixed-paper a:hover{text-decoration:underline;}
.news-fixed-paper .news-newspaper-meta,
.news-fixed-paper .news-np-source,
.news-fixed-paper .news-np-time,
.news-fixed-paper .news-np-dot{
  color:var(--muted) !important;
  font-size:10px;
  line-height:1.2;
}
.news-fixed-masthead{
  text-align:center;
  padding:6px 0 11px;
  border-top:1px solid color-mix(in srgb,var(--rule) 65%,transparent);
  border-bottom:4px double color-mix(in srgb,var(--rule) 88%,transparent);
  margin-bottom:12px;
}
.news-fixed-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px 12px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:11px;
  line-height:1.2;
  color:var(--muted);
  margin-bottom:5px;
}
.news-fixed-name{
  display:block;
  max-width:100%;
  overflow-wrap:break-word;
  white-space:normal;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(24px,5vw,44px);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:var(--ink);
}
.news-fixed-lead{
  text-align:center;
  padding:0 0 13px;
  margin-bottom:12px;
  border-bottom:2px solid color-mix(in srgb,var(--rule) 58%,transparent);
}
.news-fixed-kicker{
  font-family:Georgia,'Times New Roman',serif;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  margin-bottom:4px;
}
.news-fixed-lead-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,3.8vw,38px);
  line-height:1.04;
  letter-spacing:-.02em;
}
.news-fixed-lead-summary{
  max-width:74ch;
  margin:8px auto 0;
  font-size:14px;
  line-height:1.42;
  color:var(--ink);
}
.news-fixed-secondary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid color-mix(in srgb,var(--rule) 50%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--rule) 50%,transparent);
  margin-bottom:12px;
}
.news-fixed-secondary{
  min-width:0;
  padding:10px 12px;
  border-bottom:1px dotted color-mix(in srgb,var(--rule) 45%,transparent);
}
.news-fixed-secondary:nth-child(odd){
  padding-left:0;
  border-right:1px dotted color-mix(in srgb,var(--rule) 55%,transparent);
}
.news-fixed-secondary:nth-child(even){padding-right:0;}
.news-fixed-secondary:nth-child(n+3){border-bottom:0;}
.news-fixed-secondary-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.15;
}
.news-fixed-secondary-summary{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:5px 0 0;
  font-size:12px;
  line-height:1.3;
  color:var(--muted);
}
.news-fixed-section-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ink);
  text-align:center;
}
.news-fixed-section-title::before,
.news-fixed-section-title::after{
  content:'';
  height:3px;
  border-top:2px solid color-mix(in srgb,var(--rule) 65%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--rule) 44%,transparent);
  flex:1;
}
.news-fixed-briefings{
  margin-bottom:13px;
}
.news-fixed-briefings-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 14px;
}
.news-fixed-brief{
  min-width:0;
  padding:7px 0;
  border-bottom:1px dotted color-mix(in srgb,var(--rule) 42%,transparent);
}
.news-fixed-brief-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  line-height:1.18;
}
.news-fixed-more-columns{
  column-count:3;
  column-gap:18px;
  column-rule:1px solid color-mix(in srgb,var(--rule) 42%,transparent);
}
.news-fixed-more-story{
  break-inside:avoid;
  margin:0 0 8px;
  padding:0 0 7px;
  border-bottom:1px dotted color-mix(in srgb,var(--rule) 42%,transparent);
}
.news-fixed-more-story-title{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13.5px;
  line-height:1.2;
}
@media(max-width:760px){
  .news-fixed-briefings-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .news-fixed-more-columns{column-count:2;}
}
@media(max-width:620px){
  .news-fixed-paper{padding:12px;}
  .news-fixed-secondary-grid,
  .news-fixed-briefings-grid{grid-template-columns:1fr;}
  .news-fixed-secondary{
    padding:9px 0 !important;
    border-right:0 !important;
    border-bottom:1px dotted color-mix(in srgb,var(--rule) 45%,transparent) !important;
  }
  .news-fixed-more-columns{column-count:1;}
}

/* ===== THEME STUDIO URL POPUP ===== */
.theme-studio-frame-overlay{background:rgba(2,6,23,.82);backdrop-filter:blur(12px);padding:18px;z-index:1300;}
.theme-studio-frame-shell{width:min(1480px,96vw);height:min(920px,92vh);background:linear-gradient(180deg,#0f172a,#111827 42%,#020617);border:1px solid rgba(148,163,184,.24);border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.58);display:flex;flex-direction:column;overflow:hidden;color:#e5eefc;font-family:Inter,system-ui,-apple-system,sans-serif;}
.theme-studio-frame-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));}
.theme-studio-frame-title{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#fff;}
.theme-studio-frame-subtitle{font-size:12px;color:#94a3b8;margin-top:5px;line-height:1.45;}
.theme-studio-frame-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.theme-studio-frame-open,.theme-studio-frame-close{font:700 12px/1.1 Inter,system-ui,sans-serif;border:none;border-radius:12px;padding:10px 13px;text-decoration:none;cursor:pointer;white-space:nowrap;}
.theme-studio-frame-open{background:rgba(148,163,184,.14);color:#cbd5e1;}
.theme-studio-frame-close{background:#8b5cf6;color:#fff;}
.theme-studio-frame{flex:1;width:100%;min-height:0;border:0;background:#020617;display:block;}
body.theme-studio-popup-open{overflow:hidden;}
@media (max-width:760px){.theme-studio-frame-overlay{padding:8px}.theme-studio-frame-shell{width:100vw;height:100dvh;border-radius:16px}.theme-studio-frame-topbar{padding:12px;align-items:center}.theme-studio-frame-title{font-size:16px}.theme-studio-frame-subtitle{display:none}.theme-studio-frame-open{display:none}.theme-studio-frame-close{padding:9px 12px}}

/* RewindClick Pro foundation */
.rc-pro-cta,
.rc-pro-start-link,
.rc-pro-menu-shortcut,
.rc-pro-ghost-link{
  text-decoration:none;
}
.rc-pro-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:7px 12px;
  border:1px solid color-mix(in srgb, var(--accent, #36d399) 55%, var(--bd, #222));
  border-radius:999px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent, #36d399) 22%, transparent), color-mix(in srgb, var(--bg2, #111) 92%, #000));
  color:var(--text, #fff);
  font-weight:800;
  font-size:13px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  white-space:nowrap;
}
.rc-pro-cta:hover{ transform:translateY(-1px); filter:brightness(1.08); }
.rc-pro-cta-icon{ color:var(--accent, #36d399); text-shadow:0 0 10px color-mix(in srgb, var(--accent, #36d399) 70%, transparent); }
.rc-pro-cta-home{ border-color:color-mix(in srgb, var(--text, #fff) 35%, var(--bd, #222)); }
.rc-pro-start-link{
  display:flex;
  align-items:center;
  width:100%;
  box-sizing:border-box;
  color:inherit;
}
.rc-pro-menu-card{
  margin-top:12px;
  border-color:color-mix(in srgb, var(--accent, #36d399) 40%, var(--bd, #222));
}
.rc-pro-menu-shortcut{
  display:flex;
  color:inherit;
}
.rc-pro-page .window{
  box-shadow:0 24px 80px rgba(0,0,0,.38), 0 0 0 1px color-mix(in srgb, var(--accent, #36d399) 22%, transparent);
}
.rc-pro-page .dotnet{
  color:var(--accent, #36d399);
  margin-left:.1em;
}
.rc-pro-hero{
  margin:18px 0 22px;
  padding:20px;
  border:1px solid color-mix(in srgb, var(--accent, #36d399) 38%, var(--bd, #222));
  border-radius:18px;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent, #36d399) 22%, transparent), transparent 32%),
    linear-gradient(135deg, color-mix(in srgb, var(--bg2, #111) 92%, #000), color-mix(in srgb, var(--bg3, #151515) 85%, #000));
  color:var(--text, #fff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 18px 38px rgba(0,0,0,.22);
}
.rc-pro-kicker{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:color-mix(in srgb, var(--accent, #36d399) 18%, transparent);
  color:var(--accent, #36d399);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.rc-pro-hero h1{
  margin:0 0 8px;
  font-size:clamp(26px, 4vw, 46px);
  line-height:1;
  letter-spacing:-.04em;
}
.rc-pro-hero p{
  margin:0;
  max-width:760px;
  font-size:15px;
  line-height:1.6;
  opacity:.88;
}
.rc-pro-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.rc-pro-hero-actions .tbtn,
.rc-pro-ghost-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.rc-pro-feature-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.rc-pro-feature-row span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px;
  border:1px solid color-mix(in srgb, var(--text, #fff) 16%, transparent);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-size:12px;
  font-weight:700;
}
body.rc-pro-page .theme-studio-module-title::after{
  content:' Pro';
  color:var(--accent, #36d399);
}
@media (max-width: 760px){
  .rc-pro-cta{ width:100%; }
  .rc-pro-hero{ padding:16px; border-radius:14px; }
  .rc-pro-hero-actions .tbtn,
  .rc-pro-ghost-link{ width:100%; }
}


.rc-pro-start-link--locked{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  opacity:.62;
  cursor:not-allowed !important;
  filter:grayscale(.18);
}
.rc-pro-start-link--locked small{
  font-size:10px;
  line-height:1;
  opacity:.82;
  font-weight:600;
  letter-spacing:.02em;
}


/* RewindClick UX pass: clearer Theme Studio workflow */
.theme-studio-primary,
.theme-studio-actionbar button:not(.theme-studio-ghost){
  background:#8b5cf6;
  color:#fff;
  border:none;
  border-radius:12px;
  padding:10px 14px;
  font:700 13px/1.1 Inter,system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(139,92,246,.22);
}
.theme-studio-primary:hover,
.theme-studio-actionbar button:not(.theme-studio-ghost):hover{transform:translateY(-1px)}
.theme-studio-subtitle strong{color:#e9d5ff;font-weight:700}
.theme-studio-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px 20px 0;
}
.theme-studio-step{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(148,163,184,.14);
  border-radius:16px;
  padding:12px 14px;
}
.theme-studio-step strong{display:block;color:#fff;font-size:13px;margin-bottom:4px}
.theme-studio-step span{display:block;color:#94a3b8;font-size:12px;line-height:1.35}
.theme-studio-help-text{font-size:12px;line-height:1.45;color:#94a3b8;margin:-2px 0 10px}
.theme-studio-panel-hint{font-size:10px;color:#64748b;text-transform:none;letter-spacing:0;font-weight:600;margin-left:6px}
.theme-studio-quickstart .theme-studio-inline button{background:rgba(139,92,246,.18);color:#ede9fe}
.theme-studio-actionbar{align-items:center;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(2,6,23,.98));z-index:2}
.theme-studio-actionbar-note{margin-right:auto;color:#94a3b8;font-size:12px;line-height:1.35;max-width:360px}
@media (max-width:1180px){.theme-studio-steps{grid-template-columns:1fr 1fr 1fr}.theme-studio-actionbar-note{display:none}}
@media (max-width:860px){.theme-studio-steps{grid-template-columns:1fr;padding:10px 12px 0}.theme-studio-top-actions{flex-wrap:wrap;justify-content:flex-start}.theme-studio-actionbar button{flex:1 1 calc(50% - 10px)}}

/* RewindClick Theme Studio simplification */
.theme-studio-shell-simple{width:min(1180px,96vw);height:min(820px,92vh)}
.theme-studio-shell-simple .theme-studio-topbar{align-items:center;padding:18px 22px}
.theme-studio-shell-simple .theme-studio-title{font-size:24px}
.theme-studio-shell-simple .theme-studio-subtitle{max-width:760px}
.theme-studio-layout-simple{grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:18px;padding:18px 20px 10px}
.theme-studio-layout-simple .theme-studio-panel{overflow:auto}
.theme-studio-panel-title-spaced{margin-top:18px}
.theme-studio-preset-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
.theme-studio-preset-row button,
.theme-studio-more summary,
.theme-studio-utility-row button{font:700 13px/1.1 Inter,system-ui,sans-serif;border:1px solid rgba(148,163,184,.16);border-radius:12px;padding:10px 12px;background:#0b1220;color:#e5eefc;cursor:pointer;text-align:left}
.theme-studio-preset-row button:hover,
.theme-studio-utility-row button:hover{background:rgba(139,92,246,.16)}
.theme-studio-main-controls{padding:14px}
.theme-studio-colour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.theme-studio-colour-grid label{font-size:10px;margin-top:0}
.theme-studio-more{margin-top:12px;background:rgba(255,255,255,.025);border:1px solid rgba(148,163,184,.12);border-radius:16px;overflow:hidden}
.theme-studio-more summary{list-style:none;background:rgba(148,163,184,.10);border:0;border-radius:0;text-align:center;color:#dbeafe}
.theme-studio-more summary::-webkit-details-marker{display:none}
.theme-studio-more[open] summary{border-bottom:1px solid rgba(148,163,184,.12)}
.theme-studio-utility-row{padding:0 14px 14px}
.theme-studio-stage-card{position:relative;min-height:420px}
.theme-studio-preview-badge{position:absolute;top:14px;right:14px;z-index:2;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.22);border-radius:999px;color:#cbd5e1;font:800 10px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;pointer-events:none}
.theme-studio-preview-search-buttons span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:none;background:#8b5cf6;color:#fff;border-radius:12px;font:600 12px/1 Inter,system-ui,sans-serif;pointer-events:none;user-select:none}
.theme-studio-preview-window button{pointer-events:none}
.theme-studio-saved-drawer{margin-top:12px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.14);border-radius:18px;overflow:auto;max-height:230px}
.theme-studio-saved-drawer summary{cursor:pointer;padding:13px 15px;color:#93c5fd;font:800 12px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;list-style:none}
.theme-studio-saved-drawer summary::-webkit-details-marker{display:none}
.theme-studio-saved-drawer .theme-studio-library-list{padding:0 14px 14px}
.theme-studio-actionbar-simple{align-items:center;justify-content:flex-end;padding:14px 20px 18px}
.theme-studio-actionbar-simple .theme-studio-actionbar-note{margin-right:auto;color:#94a3b8;font-size:13px}
.theme-studio-actionbar-simple button{min-width:150px}
.theme-studio-actionbar-simple .theme-studio-primary{font-size:15px;padding:13px 18px}
/* RewindClick fix: taskbar tabs must never show panel initials such as S/Q. */
.taskbar-window-dot,
.taskbar-window-dot::before,
.taskbar-window-dot::after{font-size:0 !important;line-height:0 !important;color:transparent !important;text-indent:-9999px !important;}
.taskbar-window-dot::before{content:"" !important;display:none !important;}
@media (max-width:900px){.theme-studio-layout-simple{grid-template-columns:1fr}.theme-studio-shell-simple{height:100vh;width:100vw;border-radius:0}.theme-studio-preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-studio-actionbar-simple button{min-width:0;flex:1}.theme-studio-actionbar-simple .theme-studio-actionbar-note{display:none}}


/* RewindClick Theme Studio thoughtful simplification */
.theme-studio-shell-thoughtful{width:min(1320px,96vw);height:min(860px,92vh)}
.theme-studio-topbar-calm{align-items:center;padding:18px 22px}
.theme-studio-topbar-calm .theme-studio-title{font-size:24px}
.theme-studio-topbar-calm .theme-studio-subtitle{max-width:820px}
.theme-studio-layout-thoughtful{grid-template-columns:minmax(290px,360px) minmax(420px,1fr) minmax(270px,330px);gap:16px;padding:16px 18px 10px;align-items:stretch}
.theme-studio-layout-thoughtful .theme-studio-panel{overflow:auto;min-height:0}
.theme-studio-preset-row-calm{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.theme-studio-preset-row-calm button,.theme-studio-library-actions button{font:700 12px/1.1 Inter,system-ui,sans-serif;border:1px solid rgba(148,163,184,.16);border-radius:12px;padding:10px 11px;background:#0b1220;color:#e5eefc;cursor:pointer;text-align:left}
.theme-studio-preset-row-calm button:hover,.theme-studio-library-actions button:hover{background:rgba(139,92,246,.16)}
.theme-studio-panel-title-spaced{margin-top:16px}
.theme-studio-friendly-controls{padding:12px;margin-bottom:10px}
.theme-studio-friendly-controls label,.theme-studio-more .theme-studio-field{display:block;text-transform:none;letter-spacing:0;margin:0}
.theme-studio-field span{display:block;font-size:12px;font-weight:800;color:#f8fafc;margin-bottom:3px;letter-spacing:0;text-transform:none}
.theme-studio-field small{display:block;font-size:11px;font-weight:500;line-height:1.35;color:#94a3b8;margin-bottom:8px;letter-spacing:0;text-transform:none}
.theme-studio-field input[type="text"],.theme-studio-field input[type="url"]{width:100%;background:#0b1220;border:1px solid rgba(148,163,184,.18);color:#e5eefc;border-radius:12px;padding:10px 12px;font:500 13px/1.2 Inter,system-ui,sans-serif}
.theme-studio-field input[type="color"]{width:100%;height:46px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#0b1220;padding:4px;cursor:pointer}
.theme-studio-field-wide{margin-bottom:12px!important}
.theme-studio-colour-grid-friendly{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
.theme-studio-more{margin-top:12px;background:rgba(255,255,255,.025);border:1px solid rgba(148,163,184,.12);border-radius:16px;overflow:hidden}
.theme-studio-more summary{list-style:none;background:rgba(148,163,184,.10);border:0;border-radius:0;text-align:center;color:#dbeafe;cursor:pointer;font:800 12px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:13px 14px}
.theme-studio-more summary::-webkit-details-marker{display:none}
.theme-studio-more[open] summary{border-bottom:1px solid rgba(148,163,184,.12)}
.theme-studio-stage-calm{min-width:0;display:flex;flex-direction:column}
.theme-studio-stage-card-calm{position:relative;min-height:0;flex:1;display:flex;flex-direction:column}
.theme-studio-stage-card-calm .theme-studio-live-frame{flex:1;min-height:430px}
.theme-studio-preview-badge{position:absolute;top:14px;right:14px;z-index:2;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.22);border-radius:999px;color:#cbd5e1;font:800 10px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;pointer-events:none}
.theme-studio-preview-search-buttons span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:none;background:#8b5cf6;color:#fff;border-radius:12px;font:600 12px/1 Inter,system-ui,sans-serif;pointer-events:none;user-select:none;text-align:center}
.theme-studio-preview-window button{pointer-events:none}
.theme-studio-live-note{margin-top:12px;font-size:12px;color:#94a3b8;line-height:1.45}
.theme-studio-library-panel-calm{display:flex;flex-direction:column}
.theme-studio-library-help{font-size:12px;line-height:1.4;color:#94a3b8;margin:-2px 0 10px}
.theme-studio-library-panel-calm .theme-studio-library-list{flex:1;min-height:160px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}
.theme-studio-library-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.12)}
.theme-studio-library-item-actions button[data-action="load"]::after{content:""}
.theme-studio-actionbar-calm{align-items:center;justify-content:flex-end;padding:13px 18px 17px;background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(2,6,23,.98));position:sticky;bottom:0;z-index:2}
.theme-studio-actionbar-calm .theme-studio-actionbar-note{margin-right:auto;color:#94a3b8;font-size:13px;line-height:1.35;max-width:440px}
.theme-studio-actionbar-calm button{min-width:120px}
.theme-studio-actionbar-calm .theme-studio-primary{min-width:170px;font-size:15px;padding:13px 18px}
@media (max-width:1120px){.theme-studio-layout-thoughtful{grid-template-columns:330px minmax(0,1fr)}.theme-studio-library-panel-calm{grid-column:1/-1;max-height:250px}.theme-studio-library-panel-calm .theme-studio-library-list{max-height:150px}.theme-studio-library-actions{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.theme-studio-shell-thoughtful{width:100vw;height:100vh;border-radius:0}.theme-studio-layout-thoughtful{grid-template-columns:1fr;padding:12px}.theme-studio-stage-card-calm .theme-studio-live-frame{min-height:330px}.theme-studio-actionbar-calm .theme-studio-actionbar-note{display:none}.theme-studio-actionbar-calm button{flex:1;min-width:0}.theme-studio-library-actions{grid-template-columns:1fr}.theme-studio-colour-grid-friendly,.theme-studio-preset-row-calm{grid-template-columns:1fr 1fr}}

/* === Theme Studio restoration polish: keep the original feel, fix clarity === */
.theme-studio-shell-restored .theme-studio-topbar,
.theme-studio-shell-restored .theme-studio-panel,
.theme-studio-shell-restored .theme-studio-stage-card,
.theme-studio-shell-restored .theme-studio-actionbar{
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.theme-studio-shell-restored .theme-studio-close,
.theme-studio-shell-restored .theme-studio-reset-top,
.theme-studio-shell-restored .theme-studio-primary,
.theme-studio-shell-restored .theme-studio-actionbar button:not(.theme-studio-ghost){
  background:var(--studio-accent,#8b5cf6);
  color:var(--studio-accent-text,#fff);
}
.theme-studio-shell-restored .theme-studio-ghost,
.theme-studio-shell-restored .theme-studio-library-actions button,
.theme-studio-shell-restored .theme-studio-preset-row-calm button{
  background:color-mix(in srgb,var(--studio-surface,#0b1220) 82%,#000);
  color:var(--studio-text,#e5eefc);
  border-color:color-mix(in srgb,var(--studio-border,#334155) 70%,transparent);
}
.theme-studio-shell-restored .theme-studio-title{color:var(--studio-heading,#fff);}
.theme-studio-shell-restored .theme-studio-subtitle,
.theme-studio-shell-restored .theme-studio-library-help,
.theme-studio-shell-restored .theme-studio-actionbar-note,
.theme-studio-shell-restored .theme-studio-live-note,
.theme-studio-shell-restored .theme-studio-field small{color:var(--studio-muted,#94a3b8);}
.theme-studio-shell-restored .theme-studio-panel-title{color:var(--studio-accent2,#93c5fd);}
.theme-studio-reset-top{white-space:nowrap;}
.theme-studio-shell-restored .theme-studio-actionbar-calm .theme-studio-primary{min-width:150px;font-size:14px;padding:12px 16px;}
.theme-studio-shell-restored .theme-studio-actionbar-calm button{min-width:96px;}
.theme-studio-shell-restored .theme-studio-preview-search-title{color:var(--ts-accent,#8b5cf6);}
.theme-studio-shell-restored .theme-studio-preview-search-bar{background:var(--ts-bg,#0f172a);color:var(--ts-text,#e5eefc);border-color:var(--ts-border-color,#334155);}
.theme-studio-shell-restored .theme-studio-preview-search{background:var(--ts-surface,#1f2937);border-color:var(--ts-border-color,#334155);}
.theme-studio-shell-restored .theme-studio-preview-body{background:var(--ts-bg,#111827);color:var(--ts-text,#f8fafc);}
.theme-studio-shell-restored .theme-studio-preview-titlebar{background:linear-gradient(180deg,var(--ts-surface,#1f2937),var(--ts-bg,#0f172a));color:var(--ts-text,#f8fafc);}
.theme-studio-shell-restored .theme-studio-preview-window{background:var(--ts-surface,#111827);border-color:var(--ts-border-color,#334155);}
.theme-studio-shell-restored .theme-studio-live-frame{background:var(--ts-bg,#111827);}
@media (max-width:820px){
  .theme-studio-shell-restored .theme-studio-topbar-calm{align-items:flex-start;gap:10px;}
  .theme-studio-shell-restored .theme-studio-top-actions{flex-wrap:wrap;}
  .theme-studio-shell-restored .theme-studio-actionbar-calm .theme-studio-primary{flex:1 1 100%;order:-1;}
}

/* Theme Studio: extra options added without changing the restored layout */
.theme-studio-extra-colour-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.theme-studio-extra-colour-grid .theme-studio-group-title{grid-column:1/-1;}
.theme-studio-extra-colour-grid .theme-studio-field{min-width:0;}
.theme-studio-preview-taskbar{margin-top:12px;padding:8px 10px;border:1px solid var(--ts-border-color,#334155);border-radius:var(--ts-radius,12px);background:var(--ts-taskbar,#0f172a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 11px/1 Inter,system-ui,sans-serif;}
.theme-studio-preview-tab{border:1px solid color-mix(in srgb,var(--ts-border-color,#334155) 70%,transparent);border-radius:999px;padding:5px 9px;background:var(--ts-tab,#374151);}
body.custom a{color:var(--link,var(--accent2));}
body.custom .module-head .tb-title,body.custom .titlebar .tb-title{color:var(--panel-title,var(--tb-text));}
body.custom .tbtn,body.custom .add-btn,body.custom .modal-btns button,body.custom .modal-footer button,body.custom .si button,body.custom .news-mini-btn,body.custom .news-panel-footer button,body.custom .news-expanded-actions button{color:var(--btnText,var(--text-inv));}
@media (max-width:820px){.theme-studio-extra-colour-grid{grid-template-columns:1fr;}}


/* RewindClick fix: keep the Desktop Mode dropdown compact on desktop, mobile, and browser resize. */
.site-hdr .top-desktop-mode-panel{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:max-content !important;
  min-width:0 !important;
  align-self:center !important;
}
.site-hdr .top-desktop-mode-label{
  flex:0 0 auto !important;
}
.site-hdr .top-desktop-mode-select{
  flex:0 0 auto !important;
  width:106px !important;
  min-width:106px !important;
  max-width:106px !important;
  height:22px !important;
  min-height:22px !important;
  padding:1px 20px 1px 5px !important;
  font-size:10px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}
@media (max-width:640px){
  .site-hdr .top-desktop-mode-panel{max-width:max-content !important;}
  .site-hdr .top-desktop-mode-select{
    width:98px !important;
    min-width:98px !important;
    max-width:98px !important;
    height:20px !important;
    min-height:20px !important;
    font-size:9px !important;
    padding:1px 18px 1px 4px !important;
  }
}
