:root{
  color-scheme:light dark;
  --bg:#f7f8fc;--surface:#ffffff;--surface2:#eef1f8;--surface3:#e1e7f2;
  --text:#171c26;--muted:#596273;--subtle:#747e90;
  --accent:#4056c8;--accentText:#ffffff;--accentContainer:#dfe3ff;--onAccentContainer:#172267;
  --danger:#ba1a1a;--dangerContainer:#ffdad6;--success:#146c2e;--successContainer:#b8f2c7;
  --border:#c4c8d2;--outline:#757783;
  --shadow1:0 1px 2px rgb(24 28 38/.12),0 1px 3px 1px rgb(24 28 38/.08);
  --shadow2:0 6px 18px rgb(24 28 38/.16),0 2px 6px rgb(24 28 38/.08);
  --safeTop:env(safe-area-inset-top,0px);--safeRight:env(safe-area-inset-right,0px);--safeBottom:env(safe-area-inset-bottom,0px);--safeLeft:env(safe-area-inset-left,0px);
  --navHeight:80px;--topHeight:64px;
  --editorFont:14px;
}

/* Dark mode variables */
@media (prefers-color-scheme: dark) {
  :root:not(.light) {
    --bg:#0f1117;--surface:#1a1d26;--surface2:#242833;--surface3:#2f3340;
    --text:#e6e8f0;--muted:#a0a8b8;--subtle:#8a92a4;
    --accent:#6b8cff;--accentText:#0f1117;--accentContainer:#2a3555;--onAccentContainer:#c5d4ff;
    --danger:#ff6b6b;--dangerContainer:#3d1f1f;--success:#4ade80;--successContainer:#1f3d2a;
    --border:#3a3f4d;--outline:#6b7280;
    --shadow1:0 1px 2px rgb(0 0 0/.3),0 1px 3px 1px rgb(0 0 0/.2);
    --shadow2:0 6px 18px rgb(0 0 0/.4),0 2px 6px rgb(0 0 0/.3);
  }
}

body.light { color-scheme: light; }
body.dark { color-scheme: dark; }

/* Rest of original CSS with improvements */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);text-size-adjust:100%;scroll-behavior:smooth}
html,body,#root{min-height:100%;margin:0}
body{font:400 16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);overscroll-behavior-y:none}
button,input,select,textarea{font:inherit}
button{min-width:48px;min-height:48px;cursor:pointer;border:0;touch-action:manipulation}
button:disabled{opacity:.45;cursor:not-allowed}
a{color:var(--accent);font-weight:650;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.svgIcon{display:block;flex:0 0 auto}
.pressable{position:relative;overflow:hidden;transition:transform .16s cubic-bezier(.2,0,0,1),background-color .2s ease,box-shadow .2s ease}
.pressable:active{transform:scale(.96)}

.shell{min-height:100vh;min-height:100dvh;padding:var(--safeTop) var(--safeRight) var(--safeBottom) var(--safeLeft);display:flex;flex-direction:column;background:var(--bg)}
.top{position:sticky;top:0;z-index:30;min-height:var(--topHeight);display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:color-mix(in srgb,var(--surface) 96%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent);backdrop-filter:saturate(1.3) blur(18px);-webkit-backdrop-filter:saturate(1.3) blur(18px)}
.brand{display:flex;align-items:center;gap:.7rem;min-width:0}.brand>div:last-child{display:flex;flex-direction:column;min-width:0}.brand strong{font-size:1.02rem;letter-spacing:.01em}.brand small{font-size:.76rem;color:var(--muted);text-transform:capitalize}
.mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#536dfe,#7848d8);color:#fff;font-weight:900;letter-spacing:-.06em;box-shadow:var(--shadow1)}
.actions{display:flex;align-items:center;gap:.1rem}.icon{width:48px;min-width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:transparent;color:var(--text)}.icon:hover{background:var(--surface2)}
.statusPill{min-height:30px;padding:0 .65rem;display:flex;align-items:center;gap:.38rem;border-radius:999px;background:var(--surface2);font-size:.72rem;font-weight:700;color:var(--muted)}.statusPill i{width:7px;height:7px;border-radius:50%;background:var(--success)}.statusPill.offline i{background:var(--danger)}
.offlineBanner,.update{display:flex;align-items:center;gap:.55rem;padding:.55rem 1rem;background:var(--dangerContainer);color:var(--text);border-bottom:1px solid color-mix(in srgb,var(--danger) 40%,transparent);font-size:.86rem;font-weight:650}.update{justify-content:space-between;background:var(--successContainer)}
.content{flex:1;min-height:0;padding-bottom:calc(var(--navHeight) + 1rem)}.content.editorContent{display:flex;padding-bottom:0;overflow:hidden}
.view{width:min(100%,72rem);margin:auto;padding:1.15rem 1rem 2rem}.view>p:not(.eyebrow){color:var(--muted)}
.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.heading h1,.view h1{margin:.15rem 0 .3rem}.heading p{margin:.15rem 0;color:var(--muted)}
h1{font-size:clamp(1.75rem,7vw,2.5rem);line-height:1.12;letter-spacing:-.035em}h2{line-height:1.2;letter-spacing:-.02em}.eyebrow{margin:0;color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.15em}
.primary,.secondary,.danger{min-height:48px;border-radius:999px;padding:.68rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;gap:.52rem;font-weight:750;letter-spacing:.01em}
.primary{background:var(--accent);color:var(--accentText);box-shadow:var(--shadow1)}.primary:hover{filter:brightness(1.04);box-shadow:var(--shadow2)}
.secondary{background:var(--surface2);color:var(--text);border:1px solid transparent}.secondary:hover{background:var(--surface3)}
.danger{background:var(--danger);color:#fff}.desktopAction{display:none}

.bottom{position:fixed;z-index:40;left:var(--safeLeft);right:var(--safeRight);bottom:var(--safeBottom);height:var(--navHeight);padding:.35rem .3rem .25rem;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--surface) 97%,transparent);border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.bottom button{min-width:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;border-radius:16px;margin:.1rem;font-size:.72rem;font-weight:700}
.navIndicator{width:64px;height:32px;border-radius:999px;display:grid;place-items:center;transition:background .2s ease,color .2s ease,transform .2s ease}.bottom button.active{color:var(--onAccentContainer)}.bottom button.active .navIndicator{background:var(--accentContainer);transform:translateY(-1px)}

.searchField{min-height:56px;margin:1rem 0;display:flex;align-items:center;gap:.65rem;padding:0 1rem;background:var(--surface2);border-radius:999px;color:var(--muted);transition:box-shadow .2s ease,background .2s ease}.searchField:focus-within{background:var(--surface);box-shadow:0 0 0 2px var(--accent)}.searchField input{flex:1;min-width:0;height:54px;border:0;outline:0;background:transparent;color:var(--text)}.searchField input::placeholder{color:var(--muted)}
.grid{display:grid;gap:.75rem}.card{min-height:88px;display:flex;align-items:center;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:20px;box-shadow:var(--shadow1);overflow:hidden}.card .open{flex:1;min-width:0;min-height:86px;padding:.8rem;background:transparent;color:var(--text);text-align:left;display:flex;align-items:center;gap:.8rem}.fileGlyph{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--accentContainer);color:var(--onAccentContainer)}.fileInfo{min-width:0;display:flex;flex:1;flex-direction:column;align-items:flex-start}.fileInfo strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileInfo small{color:var(--muted);font-size:.78rem}.typeChip{margin-top:.35rem;padding:.12rem .45rem;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.08em}
.empty{margin-top:1rem;text-align:center;padding:3.25rem 1.1rem;border-radius:28px;background:var(--surface);box-shadow:var(--shadow1)}.emptyIcon{width:72px;height:72px;margin:0 auto 1rem;border-radius:24px;display:grid;place-items:center;background:var(--accentContainer);color:var(--onAccentContainer)}.empty h2{margin:.2rem}.empty p{max-width:29rem;margin:.5rem auto 1.3rem;color:var(--muted)}.empty .buttons{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}
.fab{position:fixed;z-index:35;right:calc(1rem + var(--safeRight));bottom:calc(var(--navHeight) + 1rem + var(--safeBottom));width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--accentContainer);color:var(--onAccentContainer);box-shadow:var(--shadow2)}
.trash,.patchBox,.settings{margin-top:1rem;padding:.85rem;border-radius:22px;background:var(--surface);box-shadow:var(--shadow1)}.trash summary{min-height:48px;display:flex;align-items:center;gap:.55rem;font-weight:750;cursor:pointer}.trashRow,.historyRow{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.7rem .15rem;border-top:1px solid var(--border)}

.editor{flex:1;min-width:0;height:calc(100vh - var(--topHeight) - var(--safeTop) - var(--safeBottom));height:calc(100dvh - var(--topHeight) - var(--safeTop) - var(--safeBottom));display:flex;flex-direction:column;background:var(--surface)}.toolbar{display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem;background:var(--surface);border-bottom:1px solid var(--border)}.toolbar input{flex:1;min-width:0;min-height:48px;padding:.45rem .65rem;background:var(--surface2);color:var(--text);border:1px solid transparent;border-radius:14px}.toolbar input:focus{border-color:var(--accent);outline:0}.textBtn{border-radius:14px;padding:.55rem .75rem}
.draftStatus{padding:.35rem .8rem;background:var(--accentContainer);color:var(--onAccentContainer);font-size:.76rem;font-weight:700;border-bottom:1px solid var(--border)}.editorHost{flex:1;min-height:0}.CodeMirror{height:100%;font:var(--editorFont,14px)/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--surface);color:var(--text)}.CodeMirror-gutters{background:var(--surface2);border-right:1px solid var(--border)}.CodeMirror-linenumber{color:var(--subtle)}.CodeMirror-cursor{border-left-color:var(--text)}.CodeMirror-selected{background:var(--accentContainer)!important}
.historyBackdrop{position:fixed;inset:0;z-index:54;background:rgb(10 12 18/.48)}
.history{position:fixed;z-index:55;right:0;top:var(--safeTop);bottom:0;width:min(100vw,28rem);overflow:auto;padding:1rem 1rem calc(1rem + var(--safeBottom));background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 36px rgb(20 24 34/.18);animation:sheetIn .24s cubic-bezier(.2,0,0,1)}
.historyHeader{position:sticky;top:-1rem;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-1rem -1rem .5rem;padding:1rem;background:var(--surface);border-bottom:1px solid var(--border)}
.historyHeader h2{margin:0}.historyClose{border-radius:999px;background:var(--surface2);color:var(--text)}
.sheetHandle{width:34px;height:4px;margin:0 auto 1rem;border-radius:999px;background:var(--outline);opacity:.55}

.compareInputs,.previewCols{display:grid;gap:1rem}.field{display:flex;flex-direction:column;gap:.45rem;font-weight:700}.field textarea{min-height:38vh;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.field textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.mapping{display:grid;gap:.45rem;margin:.75rem 0}.mapping select,.settings select,.settings input[type=number]{min-height:48px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:14px;background:var(--surface2);color:var(--text)}.previewCols pre{max-height:18rem;overflow:auto;padding:.8rem;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:14px}.previewNotice{padding:.65rem .75rem;border-radius:12px;background:var(--accentContainer);color:var(--onAccentContainer);font-size:.84rem}
.settingRow{min-height:76px;padding:.8rem .4rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;align-items:center}.settingRow:last-child{border-bottom:0}.settingRow span{display:flex;flex-direction:column}.settingRow small{color:var(--muted)}.settingRow input[type=checkbox]{appearance:none;width:52px;height:32px;border-radius:999px;background:var(--surface3);position:relative;flex:0 0 auto;transition:background .2s}.settingRow input[type=checkbox]::after{content:"";position:absolute;width:24px;height:24px;top:4px;left:4px;border-radius:50%;background:var(--outline);transition:transform .2s,background .2s}.settingRow input[type=checkbox]:checked{background:var(--accent)}.settingRow input[type=checkbox]:checked::after{transform:translateX(20px);background:#fff}.nativeInfo{margin-top:1rem;display:flex;align-items:center;gap:.8rem;padding:1rem;border-radius:20px;background:var(--accentContainer);color:var(--onAccentContainer)}.nativeInfo div{display:flex;flex-direction:column}.nativeInfo small{opacity:.8}.dangerZone{border:1px solid color-mix(in srgb,var(--danger) 42%,transparent)}

.snacks{position:fixed;z-index:110;left:50%;transform:translateX(-50%);bottom:calc(var(--navHeight) + 78px + var(--safeBottom));width:min(calc(100% - 2rem),34rem);display:grid;gap:.5rem}.snack{padding:.8rem 1rem;border-radius:16px;background:#292c34;color:#f4f5fb;box-shadow:var(--shadow2);animation:snackIn .22s cubic-bezier(.2,0,0,1)}.snack.error{background:#7d1414}.snack.success{background:#174d28}

.gate,.onboard,.fatal{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:calc(1rem + var(--safeTop)) calc(1rem + var(--safeRight)) calc(1rem + var(--safeBottom)) calc(1rem + var(--safeLeft));background:radial-gradient(circle at 85% 0,color-mix(in srgb,var(--accent) 22%,transparent),transparent 34%),linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--accentContainer) 42%,var(--bg)))}
.gateCard,.onboardCard,.fatalCard{width:min(100%,39rem);padding:1.35rem;border-radius:30px;background:var(--surface);box-shadow:var(--shadow2);animation:cardIn .35s cubic-bezier(.2,0,0,1)}
.gateHero{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.appIcon{width:64px;height:64px;border-radius:20px;font-size:1.65rem}.platformBadge{padding:.4rem .7rem;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.76rem;font-weight:750}.gateCard h1,.onboardCard h1{margin:.2rem 0 .5rem;font-size:clamp(2rem,9vw,3rem)}.gateLead{margin:.25rem 0 1.2rem;color:var(--muted);font-size:1.02rem}
.installPanel{padding:1rem;border-radius:22px;background:var(--surface2)}.installPanelTitle{display:flex;align-items:center;gap:.7rem}.installPanelTitle>div{display:flex;flex-direction:column}.installPanelTitle small{color:var(--muted)}.installSteps{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.7rem}.installSteps li{display:grid;grid-template-columns:32px 1fr;gap:.65rem;align-items:center}.stepNo{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accentContainer);color:var(--onAccentContainer);font-weight:850}.installCta{width:100%;margin-top:.3rem}.gateMessage{margin:.8rem 0 0;padding:.7rem;border-radius:14px;background:var(--surface);color:var(--muted)}
.benefitGrid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.benefitGrid>div{min-width:0;padding:.75rem;border-radius:18px;background:var(--surface2);display:flex;flex-direction:column;gap:.25rem}.benefitGrid svg{color:var(--accent)}.benefitGrid strong{font-size:.84rem}.benefitGrid small{font-size:.7rem;color:var(--muted)}.privacyNote{margin:1rem 0 .25rem;color:var(--muted);font-size:.78rem}.privacyLink{font-size:.82rem}.onboardFeatures{display:grid;gap:.65rem;margin:1rem 0}.onboardFeatures>div{display:flex;align-items:center;gap:.75rem;padding:.8rem;border-radius:18px;background:var(--surface2)}.onboardFeatures>div>span{display:flex;flex-direction:column}.onboardFeatures small{color:var(--muted)}.largeCta{width:100%;justify-content:space-between;margin-top:.5rem}.largeCta svg{transform:rotate(180deg)}

.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:rgb(10 12 18/.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadeIn .18s ease}.sheet{width:min(100%,36rem);padding:1rem 1.2rem calc(1.2rem + var(--safeBottom));border-radius:28px 28px 0 0;background:var(--surface);box-shadow:var(--shadow2);animation:sheetUp .25s cubic-bezier(.2,0,0,1)}.sheetActions{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.update{gap:1rem}.error{color:#fff;background:var(--danger);padding:.75rem;border-radius:14px}

.diffWrap{margin-top:1rem}.diffToolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.diffToolbar p{margin:0;color:var(--muted)}.diffResult{margin-top:.75rem;overflow:auto;max-height:65vh;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.diffLine{display:grid;grid-template-columns:3.5rem 3.5rem 1.5rem minmax(max-content,1fr);min-height:1.55em;border-bottom:1px solid var(--border)}.diffLine:last-child{border-bottom:0}.diffNo{padding:0 .5rem;text-align:right;color:var(--subtle);background:var(--surface2);border-right:1px solid var(--border);user-select:none}.diffMark{padding:0 .35rem;text-align:center;user-select:none;font-weight:800}.diffCode{display:block;padding:0 .6rem;white-space:pre}.diff-add{background:#e7f7eb;color:#0f3d1f}.diff-add .diffMark{color:#146c2e}.diff-remove{background:#ffebe8;color:#5c1f1f}.diff-remove .diffMark{color:#a81212}.diff-same{background:var(--surface)}

@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sheetIn{from{transform:translateX(100%)}to{transform:none}}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes snackIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

@media(min-width:720px){
  .snacks{bottom:1rem}.content{padding-bottom:0}.bottom{position:sticky;order:-1;top:var(--topHeight);bottom:auto;height:60px;display:flex;justify-content:center;padding:.25rem}.bottom button{flex-direction:row;gap:.4rem;padding:0 1rem;font-size:.8rem}.navIndicator{width:auto;height:auto}.bottom button.active .navIndicator{background:transparent}.desktopAction{display:inline-flex}.fab{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compareInputs,.previewCols{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{align-items:center}.sheet{border-radius:28px;padding:1.2rem}.gateCard,.onboardCard{padding:1.8rem}.benefitGrid{gap:.8rem}
}
@media(max-width:560px){.statusPill{display:none}.benefitGrid{grid-template-columns:1fr}.benefitGrid>div{display:grid;grid-template-columns:28px 1fr;column-gap:.6rem}.benefitGrid>div small{grid-column:2}.heading{flex-direction:column}.settingRow{align-items:flex-start;flex-direction:column}.settingRow select,.settingRow input[type=number]{width:100%}.toolbar .textBtn span{position:absolute;width:1px;height:1px;overflow:hidden}.toolbar .textBtn{width:48px;padding:0}.diffLine{grid-template-columns:2.75rem 2.75rem 1.25rem minmax(max-content,1fr)}.diffNo{padding:0 .3rem}.diffCode{padding:0 .4rem}}
@media(max-width:360px){.top{padding-inline:.25rem}.brand .mark{width:38px;height:38px}.actions{gap:0}.icon{width:48px;min-width:48px}.bottom span:last-child{font-size:.66rem}.view{padding-inline:.8rem}.gateCard{padding:1rem;border-radius:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.pressable:active{transform:none}}

.sheetClose{position:absolute;right:16px;top:16px}.sheet{position:relative}.sheetActions button{min-height:48px}
.backupConfirm{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;padding:.85rem;border:1px solid var(--border);border-radius:16px;background:var(--surface2);font-weight:650}.backupConfirm input{width:24px;height:24px;min-width:24px;margin-top:.05rem;accent-color:var(--accent)}
[inert]{pointer-events:none;user-select:none}

/* Visual upgrades */
.loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  backdrop-filter: blur(4px);
}
.loading-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid var(--accentContainer);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.patch-summary {
  background: var(--surface2);
  border-radius: 16px;
  padding: 1rem;
  margin: 1rem 0;
  font-size: 0.9rem;
}
.patch-summary ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}

.keyboard-shortcuts {
  font-size: 0.85rem;
  color: var(--muted);
}

.diffLine.diff-add { background: color-mix(in srgb, #e7f7eb 70%, var(--surface)); }
.diffLine.diff-remove { background: color-mix(in srgb, #ffebe8 70%, var(--surface)); }

/* Better mobile toolbar */
@media (max-width: 560px) {
  .toolbar .textBtn {
    min-width: 48px;
    padding: 0;
  }
  .toolbar .textBtn span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
}

/* Improved cards and buttons */
.card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow2);
}

.primary, .secondary, .danger {
  transition: all 0.2s ease;
}

.primary:hover {
  transform: translateY(-1px);
}