:root {
  color-scheme: dark;
  --red: #ff3939;
  --panel: rgba(18, 18, 24, .66);
  --line: rgba(255, 255, 255, .08);
  --muted: rgba(255, 255, 255, .68);
  --site-bg: #060608;
  --site-bg-2: #160608;
  --theme-text: #fff;
  --theme-text-soft: rgba(255,255,255,.68);
  --accent-soft: rgba(255,57,57,.14);
  --glass: rgba(15,15,21,.68);
  --shadow: rgba(0,0,0,.34);
}

* { box-sizing: border-box; font-family: Inter, system-ui, sans-serif; }

html, body { min-height: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--site-bg);
  color: var(--theme-text);
}

button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.bg {
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 0, 0, .14), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(255, 0, 0, .10), transparent 45%),
    linear-gradient(135deg, #2a070a, #060608);
  filter: brightness(.3);
}

#particles {
  position: fixed;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.particle {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .35);
  animation: float linear infinite;
}

@keyframes float {
  from { transform: translateY(100vh); opacity: 0; }
  20% { opacity: 1; }
  to { transform: translateY(-120vh); opacity: 0; }
}

.landing-body {
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

#bootScreen {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 19px;
  background: #050507;
}

.bootLogo {
  font-size: clamp(42px, 7vw, 78px);
  font-weight: 900;
  letter-spacing: -4px;
  text-align: center;
  text-shadow: 0 0 10px rgba(0, 0, 0, .7), 0 0 40px rgba(17, 9, 9, .88);
}

.bootText { opacity: .67; font-size: 14px; font-weight: 600; }

.bootBarWrap {
  width: min(500px, 80vw);
  height: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
}

.bootBar {
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #36a125b4, #ff0000a2);
  transition: width .2s linear;
  box-shadow: 0 0 24px rgba(255, 0, 0, .32);
}

.panel {
  position: relative;
  z-index: 2;
  width: min(1000px, 92vw);
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--panel);
  backdrop-filter: blur(13px);
  box-shadow: 0 0 40px rgba(0, 0, 0, .28);
}

.logo {
  font-size: clamp(52px, 8vw, 86px);
  font-weight: 900;
  letter-spacing: -3.2px;
  line-height: .9;
  text-shadow: 0 0 10px rgba(255, 255, 255, .18), 0 0 24px rgba(255, 70, 70, .25), 0 0 50px rgba(255, 0, 0, .25);
}

.logo span { color: var(--red); }
.sub { margin-top: 10px; color: var(--muted); font-weight: 600; }

.portalStats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.portalBox { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .04); }
.portalBox span { display: block; margin-bottom: 6px; font-size: 12px; opacity: .6; }
.portalBox strong { font-size: 26px; }

.slider { margin-top: 20px; overflow: hidden; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .04); }
.track { display: flex; gap: 14px; width: max-content; will-change: transform; }
.slide { padding: 12px 18px; border: 1px solid var(--line); border-radius: 14px; white-space: nowrap; font-weight: 700; background: rgba(255, 255, 255, .05); }

.portalModes {
  display: grid;
  grid-template-columns: 1.25fr .8fr 1fr;
  gap: 8px;
  margin-top: 22px;
}
.portalMode {
  min-height: 36px;
  padding: 6px 13px;
  border: 2px solid rgba(255, 255, 255, .10);
  border-radius: 999px;
  color: rgba(255, 255, 255, .72);
  background: rgba(18, 8, 12, .72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
  cursor: pointer;
  font: inherit;
  font-size: clamp(12px, 1.15vw, 15px);
  font-weight: 800;
  white-space: nowrap;
  transition: border-color .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.portalMode:hover {
  color: white;
  border-color: rgba(255, 90, 90, .45);
  transform: translateY(-1px);
}
.portalMode.active {
  color: white;
  border-color: rgba(255, 60, 60, .82);
  background: rgba(70, 12, 18, .70);
  box-shadow: 0 0 0 1px rgba(255, 45, 45, .12), 0 0 24px rgba(255, 35, 35, .12), inset 0 0 20px rgba(255, 35, 35, .06);
}
.portalMode:focus-visible { outline: 2px solid rgba(255, 100, 100, .9); outline-offset: 3px; }
.searchForm { display: flex; margin-top: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .05); }
.searchForm input { flex: 1; min-width: 0; border: 0; outline: 0; color: white; background: transparent; font-size: 15px; }
.searchForm input::placeholder { color: rgba(255, 255, 255, .45); }

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 14px; }
.card { position: relative; display: block; padding: 22px; border: 1px solid var(--line); border-radius: 20px; color: white; text-decoration: none; background: rgba(255, 255, 255, .04); cursor: pointer; font-weight: 700; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.card:hover, .card:focus-visible { transform: translateY(-3px); outline: none; border-color: rgba(255, 60, 60, .42); background: rgba(255, 255, 255, .06); }

#jetView, #player { position: fixed; inset: 0; z-index: 10000; width: 100vw; height: 100vh; border: 0; background: white; display: none; }
.viewerClose { position: fixed; top: 12px; right: 12px; z-index: 10001; display: none; padding: 10px 14px; border: 2px solid white; border-radius: 12px; color: white; background: #050507; cursor: pointer; font-weight: 900; }

.flashcards-body { padding: 20px; }
.flashcards-shell { position: relative; z-index: 2; max-width: 1500px; margin: 0 auto; }
.flashcards-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.flashcards-top h1 { margin: 0 0 18px; font-size: clamp(30px, 5vw, 42px); text-shadow: 0 0 18px rgba(255, 70, 70, .35); }
.home { padding: 12px 18px; border: 1px solid var(--line); border-radius: 14px; color: white; background: rgba(255, 255, 255, .05); font-weight: 900; text-decoration: none; white-space: nowrap; }
.home:hover, .home:focus-visible { outline: 2px solid rgba(255, 90, 90, .75); outline-offset: 2px; }
.catalogSearch { width: 100%; margin-bottom: 16px; padding: 14px 16px; border: 1px solid transparent; border-radius: 12px; outline: none; color: white; background: #1a1a22; font-size: 16px; }
.catalogSearch:focus { border-color: rgba(255, 70, 70, .55); }
.meta { margin-bottom: 16px; opacity: .75; font-weight: 700; }
.pageControls { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.pageBtn { padding: 12px 22px; border: 0; border-radius: 14px; color: white; background: linear-gradient(135deg, rgba(255, 40, 40, .9), rgba(180, 0, 0, .9)); cursor: pointer; font-weight: 800; }
.pageBtn:disabled { opacity: .45; cursor: not-allowed; }
.pageBtn:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.pageIndicator { padding: 12px 18px; border-radius: 14px; background: rgba(255, 255, 255, .05); }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.flashcard-card { overflow: hidden; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .05); cursor: pointer; transition: transform .2s, border-color .2s, background .2s; }
.flashcard-card:hover, .flashcard-card:focus-visible { transform: translateY(-3px); outline: none; border-color: rgba(255, 60, 60, .42); background: rgba(255, 255, 255, .07); }
.thumbWrap { position: relative; width: 100%; height: 140px; overflow: hidden; margin-bottom: 14px; border-radius: 14px; background: #111; }
.thumb { width: 100%; height: 100%; object-fit: cover; }
.flashcardPreview { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: white; background: rgba(0, 0, 0, .55); font-weight: 900; opacity: 0; transform: translateY(10px); transition: .25s ease; }
.flashcard-card:hover .flashcardPreview, .flashcard-card:focus-visible .flashcardPreview { opacity: 1; transform: translateY(0); }
.flashcardTitle { text-align: center; font-size: 16px; font-weight: 900; line-height: 1.25; }

.status-error { color: #ff8f8f; }

.settings-body { min-height:100vh; padding:32px 18px 56px; }
.settings-shell { position:relative; z-index:2; width:min(980px,94vw); margin:0 auto; padding:clamp(22px,4vw,38px); border:1px solid var(--line); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); backdrop-filter:blur(24px); box-shadow:0 28px 80px var(--shadow),0 0 0 1px rgba(255,255,255,.02) inset; }
.settings-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; }
.settings-heading { display:flex; align-items:center; gap:15px; }
.settings-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--red) 38%,transparent); font-size:25px; box-shadow:0 10px 30px var(--accent-soft); }
.settings-top h1 { margin:0; font-size:clamp(28px,5vw,44px); letter-spacing:-1.5px; }
.settings-subtitle { margin:5px 0 0; color:var(--muted); font-size:14px; }
.settings-section { margin-top:18px; padding:22px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.035); box-shadow:0 12px 35px rgba(0,0,0,.12); }
.settings-section h2 { margin:0 0 7px; font-size:19px; letter-spacing:-.3px; }
.settings-note { color:var(--muted); margin:0 0 18px; line-height:1.55; font-size:14px; }
.theme-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:13px; }
.theme-option { position:relative; overflow:hidden; padding:0; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); color:inherit; cursor:pointer; text-align:left; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.theme-option:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--red) 55%,transparent); box-shadow:0 12px 30px rgba(0,0,0,.2); }
.theme-option.active { border-color:var(--red); box-shadow:0 0 0 1px var(--red),0 12px 32px var(--accent-soft); }
.theme-swatch { height:94px; border:0!important; border-radius:0!important; margin:0!important; position:relative; }
.theme-swatch::after { content:""; position:absolute; left:14px; bottom:12px; width:38px; height:7px; border-radius:999px; background:var(--swatch-accent,#fff); box-shadow:0 0 18px var(--swatch-accent,#fff); }
.theme-copy { padding:13px 15px 15px; }
.theme-copy strong { display:block; font-size:15px; }
.theme-copy span { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.custom-preview { margin:18px 0 14px; height:100px; border-radius:18px; border:1px solid var(--line); overflow:hidden; position:relative; background:linear-gradient(135deg,var(--preview-bg1,#060608),var(--preview-bg2,#160608)); box-shadow:inset 0 0 40px var(--preview-accent,#ff3939); }
.custom-preview::before { content:""; position:absolute; width:170px; height:170px; border-radius:50%; right:-35px; top:-80px; background:var(--preview-accent,#ff3939); opacity:.3; filter:blur(15px); }
.custom-preview-label { position:absolute; left:18px; bottom:15px; font-weight:900; letter-spacing:.4px; }
.custom-colors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.color-field { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; padding:13px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.035); }
.color-field input[type=color] { width:52px; height:42px; padding:3px; border:1px solid var(--line); border-radius:12px; background:transparent; cursor:pointer; }
.color-field-content { min-width:0; }
.color-field-content b { display:block; font-size:13px; }
.hex-input { width:100%; margin-top:6px; padding:7px 9px; border:1px solid var(--line); border-radius:9px; outline:none; color:inherit; background:rgba(0,0,0,.16); font-size:12px; }
.hex-input:focus { border-color:var(--red); box-shadow:0 0 0 3px var(--accent-soft); }
.settings-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.settings-btn { padding:11px 15px; border:1px solid var(--line); border-radius:13px; color:inherit; background:rgba(255,255,255,.055); cursor:pointer; font-weight:800; transition:.18s ease; }
.settings-btn:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--red) 45%,transparent); background:rgba(255,255,255,.08); }
.settings-btn.primary { border-color:var(--red); background:var(--red); color:white; box-shadow:0 8px 24px var(--accent-soft); }
.theme-tip { margin-top:12px; color:var(--muted); font-size:12px; }
@media (max-width:720px) { .settings-body { padding:18px 10px 40px; } .settings-shell { padding:18px; border-radius:22px; } .custom-colors { grid-template-columns:1fr; } .settings-top { align-items:flex-start; } }



html[data-theme="blue-white"] .viewerClose { color:white; }

html[data-theme="black-red"] { --site-bg:#000; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.info-body { padding: 32px; }
.info-shell { max-width: 1100px; margin: 0 auto; }
.info-shell h1 { margin-top: 0; }
.info-shell h2 { margin-top: 32px; color: #ff8f8f; }
.info-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 14px; background: rgba(255, 255, 255, .04); }
.info-table th, .info-table td { padding: 12px 14px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.info-table th { background: rgba(255, 40, 40, .16); }
.info-note { color: var(--muted); line-height: 1.6; }

@media (max-width: 720px) {
  .landing-body { height: auto; min-height: 100vh; padding: 28px 0 150px; overflow-x: hidden; }
  .panel { width: min(94vw, 580px); padding: 24px; }
  .portalStats { grid-template-columns: 1fr; }
  .flashcards-body { padding: 14px; }
  .flashcards-top { align-items: flex-start; }
  .flashcards-top h1 { font-size: 30px; }
  .home { padding: 10px 12px; }
  .info-body { padding: 18px; }
  .info-table { display: block; overflow-x: auto; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

    #settingsView { display:none; }
    body.settings-mode #settingsView { display:block; }
    body.settings-mode #landingView, body.settings-mode #flashcardsView, body.settings-mode #bootScreen { display:none !important; }
    body.settings-mode { height:auto; min-height:100vh; display:block; overflow-x:hidden; }
    html.settings-mode-preload #settingsView { display:block; }
    html.settings-mode-preload #landingView, html.settings-mode-preload #flashcardsView, html.settings-mode-preload #bootScreen { display:none !important; }

    #flashcardsView { display: none; }
    .single-page.flashcards-mode {
      height: auto;
      min-height: 100vh;
      display: block;
      overflow-x: hidden;
      overflow-y: auto;
      padding: 20px;
    }
    .single-page.flashcards-mode #bootScreen,
    .single-page.flashcards-mode #landingView {
      display: none !important;
    }
    .single-page.flashcards-mode #flashcardsView { display: block; }
    html.flashcards-mode-preload #bootScreen,
    html.flashcards-mode-preload #landingView,
    
    html.flashcards-mode-preload #flashcardsView { display: block; }
    html.flashcards-mode-preload .single-page {
      height: auto;
      min-height: 100vh;
      display: block;
      overflow-x: hidden;
      overflow-y: auto;
      padding: 20px;
    }
    .standalone-note {
      margin: 16px 0 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
      text-align: center;
    }
    @media (max-width: 720px) {
      .single-page.flashcards-mode,
      html.flashcards-mode-preload .single-page { padding: 14px; }
    }
  
.flashcards-shell {
  width: min(1280px, 94vw);
  max-width: 1280px;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--panel);
  backdrop-filter: blur(13px);
  box-shadow: 0 0 40px rgba(0,0,0,.28);
}
.flashcards-top { margin-bottom: 18px; }
.flashcards-top h1 { margin: 0; font-size: clamp(28px, 4vw, 40px); letter-spacing: -.04em; text-shadow: none; }
.home { border: 1px solid var(--line); background: rgba(255,255,255,.04); }
.catalogSearch {
  min-height: 50px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(0,0,0,.22);
  box-shadow: none;
}
.catalogSearch:focus { border-color: color-mix(in srgb,var(--red) 65%,transparent); box-shadow: 0 0 0 3px var(--accent-soft); }
.meta { margin: 0 2px 14px; font-size: 12px; font-weight: 650; opacity: .68; }
.pageControls {
  margin-bottom: 18px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  gap: 8px;
}
.pageBtn { min-height: 38px; padding: 8px 15px; border-radius: 9px; background: var(--accent-soft); border: 1px solid color-mix(in srgb,var(--red) 30%,transparent); font-size: 12px; }
.pageIndicator { min-width: 100px; padding: 9px 12px; border-radius: 9px; background: rgba(255,255,255,.035); font-size: 12px; font-weight: 700; text-align: center; }
.grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.flashcard-card { padding: 9px; border-radius: 12px; background: rgba(255,255,255,.035); box-shadow: none; }
.flashcard-card:hover, .flashcard-card:focus-visible { transform: translateY(-2px); border-color: color-mix(in srgb,var(--red) 50%,transparent); background: rgba(255,255,255,.055); }
.thumbWrap { height: 124px; margin-bottom: 8px; border-radius: 8px; }
.flashcardTitle { padding: 3px 4px 5px; font-size: 13px; font-weight: 750; }
@media (max-width: 720px) {
  .flashcards-shell { width: 94vw; padding: 20px; border-radius: 18px; }
  .grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}

:root {
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
}
body { letter-spacing: -.01em; }
.bg { opacity: .9; }
.home, .settings-btn, .pageBtn {
  border-radius: 10px;
  box-shadow: none;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.home:hover, .settings-btn:hover, .pageBtn:hover:not(:disabled) { transform: translateY(-1px); }
.flashcards-shell { max-width: 1280px; padding-top: 10px; }
.flashcards-top { margin-bottom: 20px; align-items: center; }
.flashcards-top h1 { font-size: clamp(27px, 4vw, 36px); text-shadow: none; letter-spacing: -.035em; }
.catalogSearch {
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(10,10,14,.72);
  box-shadow: 0 1px 0 rgba(255,255,255,.03) inset;
}
.catalogSearch:focus { border-color: color-mix(in srgb,var(--red) 70%,transparent); box-shadow: 0 0 0 3px var(--accent-soft); }
.meta { font-size: 13px; font-weight: 600; }
.grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.flashcard-card {
  padding: 9px;
  border-radius: 14px;
  background: rgba(12,12,17,.78);
  box-shadow: 0 5px 18px rgba(0,0,0,.12);
}
.flashcard-card:hover, .flashcard-card:focus-visible { transform: translateY(-2px); background: rgba(20,20,27,.9); }
.thumbWrap { height: 126px; margin-bottom: 10px; border-radius: 10px; }
.flashcardTitle { padding: 2px 4px 5px; font-size: 14px; font-weight: 750; }

.settings-body { padding-top: 26px; }
.settings-shell {
  width: min(900px, 94vw);
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}
.settings-top {
  margin-bottom: 14px;
  padding: 2px 2px 18px;
  border-bottom: 1px solid var(--line);
}
.settings-heading { gap: 12px; }
.settings-icon {
  width: 44px; height: 44px; border-radius: 12px;
  box-shadow: none;
}
.settings-top h1 { font-size: clamp(26px, 4vw, 34px); letter-spacing: -.035em; }
.settings-subtitle { font-size: 13px; }
.settings-section {
  margin-top: 12px;
  padding: 18px;
  border-radius: 14px;
  background: rgba(10,10,14,.62);
  box-shadow: 0 8px 25px rgba(0,0,0,.13);
}
.settings-section h2 { font-size: 16px; letter-spacing: -.015em; }
.settings-note { font-size: 13px; margin-bottom: 15px; }
.theme-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.theme-option { border-radius: 12px; box-shadow: none; }
.theme-option:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.16); }
.theme-swatch { height: 72px; }
.theme-copy { padding: 10px 11px 12px; }
.theme-copy strong { font-size: 13px; }
.theme-copy span { font-size: 11px; }
.custom-preview { height: 82px; border-radius: 12px; box-shadow: none; }
.custom-preview-label { left: 14px; bottom: 12px; font-size: 13px; }
.custom-colors { gap: 9px; }
.color-field { padding: 10px; border-radius: 12px; }
.color-field input[type=color] { width: 44px; height: 38px; border-radius: 9px; }
.hex-input { border-radius: 8px; }
.settings-actions { margin-top: 12px; }
.settings-btn { padding: 10px 13px; }
@media (max-width: 820px) { .theme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .theme-grid { grid-template-columns: 1fr 1fr; } .settings-section { padding: 15px; } .flashcards-top { align-items: flex-start; } }


.panel {
  width: min(720px, 92vw);
  padding: 30px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  background: rgba(9,9,12,.86);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
}
.panel::before { opacity: .75; }
.logo { letter-spacing: -.045em; }
.portalStats { gap: 8px; margin-top: 20px; }
.portalBox {
  padding: 13px 14px;
  border-radius: 11px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.075);
}
.portalBox span { margin-bottom: 4px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; opacity: .52; }
.portalBox strong { font-size: 20px; letter-spacing: -.025em; }
.slider {
  margin-top: 12px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.025);
}
.slide { font-size: 11px; letter-spacing: .14em; opacity: .58; }
.portalModes {
  margin-top: 12px;
  padding: 4px;
  gap: 4px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(0,0,0,.22);
}
.portalMode {
  min-height: 38px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid transparent;
  font-size: 12px;
}
.portalMode.active {
  background: rgba(255,55,55,.13);
  border-color: rgba(255,55,55,.28);
  box-shadow: none;
}
.searchForm { margin-top: 10px; }
.searchForm input, #input {
  min-height: 48px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(0,0,0,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.cards { gap: 8px; margin-top: 12px; }
.card {
  padding: 14px 15px;
  border-radius: 11px;
  background: rgba(255,255,255,.032);
  border: 1px solid rgba(255,255,255,.075);
  font-size: 13px;
}
.card:hover { background: rgba(255,255,255,.055); }
@media (max-width: 620px) {
  .panel { padding: 22px; }
  .portalStats { grid-template-columns: 1fr 1fr 1fr; }
  .portalBox strong { font-size: 17px; }
}




.app-window-bar { height:42px; flex:0 0 42px; display:flex; align-items:center; position:relative; gap:12px; padding:0 10px; border-bottom:1px solid rgba(255,255,255,.09); background:rgba(5,5,7,.94); user-select:none; cursor:grab; }
.app-window-bar:active { cursor:grabbing; }
.app-window-bar > strong { position:absolute; left:50%; transform:translateX(-50%); font-size:11px; color:rgba(255,255,255,.78); pointer-events:none; }
.app-window-bar .window-lights { display:flex; gap:7px; }
.app-window-bar .window-lights b { width:10px; height:10px; border-radius:50%; display:block; }
.app-window-bar .window-lights b:first-child { background:#ff3b57; }.app-window-bar .window-lights b:nth-child(2) { background:#ffb11b; }.app-window-bar .window-lights b:nth-child(3) { background:#18c989; }
.window-actions { margin-left:auto; display:flex; gap:5px; }
.window-action { width:26px; height:24px; border:0; border-radius:6px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.05); cursor:pointer; font-size:14px; line-height:1; }
.window-action:hover { background:rgba(255,255,255,.11); color:#fff; }
.portal-browser-toolbar { flex:0 0 50px; display:flex; align-items:center; gap:7px; padding:7px 9px; border-bottom:1px solid rgba(255,255,255,.08); background:#111113; }
.browser-tool { width:34px; height:34px; border:0; border-radius:8px; color:rgba(255,255,255,.8); background:rgba(255,255,255,.065); cursor:pointer; font-size:20px; }
.browser-tool:hover { background:rgba(255,255,255,.11); }
.portal-browser-toolbar .portal-search-form { height:34px; }
#flashcardsView.desktop-floating-window { display:none; position:fixed; z-index:10004; left:50%; top:50%; transform:translate(-50%,-50%); width:min(1120px,92vw); height:min(800px,88vh); max-width:96vw; max-height:92vh; min-width:500px; min-height:320px; margin:0; overflow:hidden; padding:0 22px 22px; resize:both; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(10,10,14,.97); box-shadow:0 28px 90px rgba(0,0,0,.65); backdrop-filter:blur(18px); }
#flashcardsView.desktop-floating-window .flashcards-top { margin-top:18px; }
#flashcardsView.desktop-floating-window #grid { max-height:calc(100% - 190px); overflow:auto; }
#flashcardsView.desktop-floating-window::after { content:'↘'; position:absolute; right:8px; bottom:6px; color:rgba(255,255,255,.35); font-size:12px; pointer-events:none; }
#portalWindow { position:fixed; z-index:10005; left:50%; top:50%; transform:translate(-50%,-50%); width:min(980px,90vw); height:min(620px,76vh); max-width:96vw; max-height:90vh; min-width:500px; min-height:280px; display:none; resize:both; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(10,10,14,.97); box-shadow:0 28px 90px rgba(0,0,0,.65); backdrop-filter:blur(18px); }
#portalWindow.open { display:flex; flex-direction:column; }
.portal-window-frame { flex:1; min-height:0; width:100%; border:0; background:#fff; }
#jetView { position:static; width:100%; height:100%; border:0; display:block; background:#fff; }
#portalWindow::after { content:'↘'; position:absolute; right:8px; bottom:5px; color:rgba(255,255,255,.35); font-size:12px; pointer-events:none; }
.desktop-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.setting-toggle { display:flex; align-items:center; gap:11px; padding:13px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.035); cursor:pointer; }
.setting-toggle input { width:17px; height:17px; accent-color:var(--red); }
.setting-toggle b,.setting-toggle small { display:block; }.setting-toggle small { margin-top:3px; color:var(--muted); font-size:11px; }
.setting-range-row { margin-top:14px; }.setting-range-row label { display:flex; justify-content:space-between; margin-bottom:7px; font-size:12px; }.setting-range-row input[type=range] { width:100%; accent-color:var(--red); }
body.no-desktop-animations .dock-item, body.no-desktop-animations .desktop-settings, body.no-desktop-animations .desktop-app { transition:none !important; }
body.hide-desktop-clock .desktop-time, body.hide-desktop-date .desktop-date { display:none !important; }
body.hide-desktop-clock .desktop-welcome { transform:translateY(30px); }
body.no-particles #particles { display:none !important; }
:root { --window-opacity: .96; }
#flashcardsView.desktop-floating-window, #portalWindow { background:rgba(10,10,14,var(--window-opacity)); }
@media(max-width:720px){ #flashcardsView.desktop-floating-window,#portalWindow { width:92vw; height:74vh; min-width:280px; } .desktop-settings-grid { grid-template-columns:1fr; } .portal-window-title { display:none; } }

.landing-body { align-items: stretch; justify-content: stretch; }
.desktop-shell {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100vh;
  min-height: 680px;
  overflow: hidden;
  color: #fff;
  padding: 24px 28px 118px;
}
.desktop-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; z-index:4; }
.desktop-brand, .desktop-top-actions { display:flex; align-items:center; gap:11px; }
.brand-mark {
  width:38px; height:38px; display:grid; place-items:center; border-radius:10px;
  background:rgba(8,8,10,.76); border:1px solid rgba(255,255,255,.14); font-size:12px; font-weight:900;
  box-shadow:0 10px 30px rgba(0,0,0,.28), inset 0 0 18px rgba(255,45,45,.07);
}
.desktop-brand strong { display:block; font-size:13px; letter-spacing:.14em; }
.desktop-brand span { display:block; margin-top:2px; font-size:9px; color:rgba(255,255,255,.46); letter-spacing:.2em; }
.desktop-status { display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid rgba(255,255,255,.11); border-radius:9px; background:rgba(5,5,7,.54); font-size:9px; font-weight:800; letter-spacing:.12em; }
.desktop-status i { width:6px; height:6px; border-radius:50%; background:#55df74; box-shadow:0 0 10px rgba(85,223,116,.7); }
.desktop-settings { padding:8px 12px; border:1px solid rgba(255,255,255,.11); border-radius:9px; color:#fff; background:rgba(5,5,7,.54); text-decoration:none; font-size:11px; font-weight:700; transition:.18s ease; }
.desktop-settings:hover { background:rgba(255,255,255,.09); border-color:rgba(255,75,75,.4); transform:translateY(-1px); }
.desktop-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-52%); width:min(780px,calc(100vw - 36px)); text-align:center; }
.desktop-date { font-size:10px; font-weight:800; letter-spacing:.32em; color:rgba(255,255,255,.46); margin-bottom:4px; }
.desktop-time { font-size:clamp(44px,7vw,74px); line-height:.95; font-weight:300; letter-spacing:-.06em; text-shadow:0 8px 30px rgba(0,0,0,.6); }
.desktop-title { margin-top:8px; font-size:clamp(32px,5vw,54px); line-height:1; font-weight:900; letter-spacing:-.065em; text-shadow:0 8px 28px rgba(0,0,0,.7); }
.desktop-title span { color:#ff3939; }
.desktop-subtitle { margin-top:5px; font-size:11px; color:rgba(255,255,255,.48); }
.desktop-window { width:min(720px,100%); margin:22px auto 0; text-align:left; border:1px solid rgba(255,255,255,.14); border-radius:15px; background:rgba(7,7,9,.78); backdrop-filter:blur(20px); box-shadow:0 26px 80px rgba(0,0,0,.48), 0 0 0 1px rgba(0,0,0,.25); overflow:hidden; }
.desktop-window-bar { height:36px; display:flex; align-items:center; justify-content:space-between; padding:0 13px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.35); }
.window-lights { display:flex; gap:6px; }
.window-lights b { width:8px; height:8px; border-radius:50%; display:block; background:rgba(255,255,255,.2); }
.window-lights b:first-child { background:#ff5c57; }.window-lights b:nth-child(2) { background:#ffbd2e; }.window-lights b:nth-child(3) { background:#28c840; }
.window-title { font-size:10px; font-weight:700; color:rgba(255,255,255,.58); letter-spacing:.04em; }
.window-dots { font-size:12px; color:rgba(255,255,255,.3); letter-spacing:2px; }
.desktop-window-body { padding:18px; }
.browser-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }
.browser-heading strong { display:block; font-size:14px; letter-spacing:-.02em; }.browser-heading span { display:block; margin-top:3px; font-size:10px; color:rgba(255,255,255,.42); }
.browser-live { flex:none; padding:6px 8px; border:1px solid rgba(255,255,255,.09); border-radius:7px; color:rgba(255,255,255,.42); font-size:8px; font-weight:800; letter-spacing:.12em; }
.browser-live em { color:#69df86; font-style:normal; margin-left:4px; }
.desktop-window .portalStats { grid-template-columns:repeat(3,1fr); gap:7px; margin-top:0; }
.desktop-window .portalBox { padding:10px 11px; border-radius:9px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); }
.desktop-window .portalBox span { margin-bottom:3px; font-size:8px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.38); }.desktop-window .portalBox strong { font-size:15px; }
.desktop-window .slider { margin-top:9px; padding:8px 10px; border-radius:9px; background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.06); }.desktop-window .track { gap:8px; }.desktop-window .slide { padding:6px 9px; border:0; background:rgba(255,255,255,.035); border-radius:6px; font-size:8px; letter-spacing:.1em; }
.desktop-window .portalModes { margin-top:9px; gap:4px; padding:3px; border-radius:9px; background:rgba(0,0,0,.22); }.desktop-window .portalMode { min-height:31px; border-radius:6px; font-size:10px; border:1px solid transparent; }.desktop-window .portalMode.active { background:rgba(255,45,45,.13); border-color:rgba(255,65,65,.28); box-shadow:none; }
.desktop-window .searchForm { margin-top:9px; padding:5px 6px 5px 10px; min-height:43px; align-items:center; gap:8px; border-radius:9px; background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.09); }
.search-prefix { color:#ff4c4c; font:800 16px/1 ui-monospace,monospace; }.desktop-window .searchForm input { font-size:12px; }.desktop-window .search-submit { border:1px solid rgba(255,70,70,.28); border-radius:7px; padding:7px 10px; color:#fff; background:rgba(255,50,50,.13); font-size:9px; font-weight:900; cursor:pointer; }.desktop-window .search-submit:hover { background:rgba(255,50,50,.22); }
.desktop-apps { position:absolute; left:28px; top:112px; z-index:5; }
.desktop-app { width:82px; padding:9px 6px; display:flex; flex-direction:column; align-items:center; gap:6px; color:#fff; text-decoration:none; border:1px solid transparent; border-radius:12px; transition:background .18s ease, border-color .18s ease, transform .18s ease; }
.desktop-app:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.1); transform:translateY(-2px); }
.desktop-app-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:13px; background:rgba(10,10,12,.72); border:1px solid rgba(255,255,255,.12); box-shadow:0 10px 28px rgba(0,0,0,.28); font-size:18px; font-weight:900; }
.desktop-app b { font-size:10px; font-weight:800; text-shadow:0 2px 10px rgba(0,0,0,.7); }
.desktop-dock { position:absolute; left:50%; bottom:23px; transform:translateX(-50%); display:flex; align-items:flex-end; gap:7px; padding:8px; max-width:calc(100vw - 24px); border:1px solid rgba(255,255,255,.13); border-radius:16px; background:rgba(8,8,10,.67); backdrop-filter:blur(18px); box-shadow:0 18px 50px rgba(0,0,0,.42); }
.dock-item { width:84px; padding:8px 6px 7px; border-radius:11px; color:#fff; text-decoration:none; text-align:center; transition:transform .18s ease, background .18s ease, border-color .18s ease; border:1px solid transparent; }
.dock-item:hover { transform:translateY(-5px); background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.09); }.dock-icon { width:36px; height:36px; margin:0 auto 5px; display:grid; place-items:center; border-radius:9px; background:linear-gradient(145deg,rgba(255,55,55,.22),rgba(255,255,255,.05)); border:1px solid rgba(255,80,80,.22); font-size:11px; font-weight:900; }.dock-item b { display:block; font-size:10px; }.dock-item small { display:block; margin-top:2px; font-size:7px; color:rgba(255,255,255,.38); }
.desktop-corner { position:absolute; bottom:10px; font-size:7px; letter-spacing:.16em; color:rgba(255,255,255,.22); }.desktop-corner-left { left:28px; }.desktop-corner-right { right:28px; }

.desktop-app { appearance:none; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.windowCloseButton { position:absolute; z-index:10008; top:8px; right:10px; padding:5px 9px; border:1px solid rgba(255,255,255,.14); border-radius:7px; color:#fff; background:rgba(20,20,24,.82); cursor:pointer; font-size:10px; font-weight:800; }
.windowCloseButton:hover { background:rgba(255,255,255,.1); }
#flashcardsView.desktop-floating-window { position:fixed; z-index:10004; left:50%; top:50%; transform:translate(-50%,-50%); width:min(900px,82vw); height:min(650px,76vh); max-width:92vw; max-height:86vh; min-width:360px; min-height:260px; margin:0; overflow:auto; padding:54px 22px 22px; resize:both; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(10,10,14,.96); box-shadow:0 28px 90px rgba(0,0,0,.65); backdrop-filter:blur(18px); }
#flashcardsView.desktop-floating-window::before { content:'Flashcards'; position:absolute; top:0; left:0; right:0; height:40px; display:flex; align-items:center; padding:0 14px; border-bottom:1px solid rgba(255,255,255,.09); background:rgba(20,20,24,.9); font-size:11px; font-weight:800; }
#flashcardsView.desktop-floating-window::after { content:'↘'; position:absolute; right:9px; bottom:7px; color:rgba(255,255,255,.3); font-size:12px; pointer-events:none; }
#portalWindow { position:fixed; z-index:10005; left:50%; top:50%; transform:translate(-50%,-50%); width:min(900px,82vw); height:min(570px,68vh); max-width:92vw; max-height:84vh; min-width:360px; min-height:220px; display:none; resize:both; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(10,10,14,.96); box-shadow:0 28px 90px rgba(0,0,0,.65); backdrop-filter:blur(18px); }
#portalWindow.open { display:flex; flex-direction:column; }
.publisher-window-bar { flex:0 0 42px; }
.portal-window-bar { flex:0 0 42px; display:flex; align-items:center; gap:9px; padding:0 10px; border-bottom:1px solid rgba(255,255,255,.09); background:rgba(20,20,24,.92); }
.portal-window-title { min-width:72px; font-size:10px; font-weight:800; color:rgba(255,255,255,.7); }
.portal-search-form { flex:1; min-width:0; display:flex; align-items:center; gap:7px; height:30px; padding:0 5px 0 10px; border:1px solid rgba(255,255,255,.11); border-radius:8px; background:rgba(0,0,0,.38); }
.portal-search-form span { color:#ff4c4c; font:800 13px/1 ui-monospace,monospace; }
.portal-search-form input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#fff; font:500 11px/1 Inter,system-ui,sans-serif; }
.portal-search-form button { border:0; border-radius:6px; padding:6px 9px; color:#fff; background:rgba(255,50,50,.15); font-size:9px; font-weight:800; cursor:pointer; }
.portal-window-close { border:1px solid rgba(255,255,255,.11); border-radius:7px; background:rgba(255,255,255,.04); color:#fff; padding:5px 8px; font-size:9px; cursor:pointer; }
.portal-window-frame { flex:1; min-height:0; width:100%; border:0; background:#fff; }
#jetView { position:static; width:100%; height:100%; border:0; display:block; background:#fff; }
#portalWindow::after { content:'↘'; position:absolute; right:8px; bottom:5px; color:rgba(255,255,255,.35); font-size:12px; pointer-events:none; }
@media(max-width:720px){ #flashcardsView.desktop-floating-window,#portalWindow { width:90vw; height:70vh; min-width:280px; } .portal-window-title { display:none; } }

.desktop-welcome { text-align:center; }
.portal-dock { gap:14px; padding:12px 16px; transform:translateX(-50%) scale(var(--dock-scale,1)); transform-origin:bottom center; }
.portal-dock .dock-item { appearance:none; border:0; color:inherit; font:inherit; cursor:pointer; background:transparent; width:92px; }
.portal-dock .flashcards-dock-icon { font-size:22px; font-weight:900; background:linear-gradient(145deg,rgba(255,55,55,.28),rgba(255,255,255,.06)); }
.portal-dock .dock-icon { width:58px; height:58px; border-radius:15px; display:grid; place-items:center; overflow:hidden; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12); box-shadow:0 8px 24px rgba(0,0,0,.28); transition:transform .16s ease, border-color .16s ease, background .16s ease; }
.portal-dock .dock-icon img { width:100%; height:100%; object-fit:contain; display:block; }
.portal-dock .dock-item:hover .dock-icon { transform:translateY(-5px) scale(1.04); border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.07); }
.portal-dock .dock-item:active .dock-icon { transform:translateY(-2px) scale(.98); }
.portal-dock .dock-item b { display:block; margin-top:7px; font-size:10px; letter-spacing:.02em; }
.portal-dock .dock-item small { display:block; margin-top:2px; font-size:8px; opacity:.45; }
@media (max-width:700px) { .portal-dock { gap:8px; padding:9px 10px; } .portal-dock .dock-item { width:76px; } .portal-dock .dock-icon { width:48px; height:48px; } .portal-dock .dock-item b { font-size:8px; } }

@media (max-width:700px) { .desktop-apps { left:12px; top:92px; } .desktop-app { width:66px; } .desktop-app-icon { width:43px; height:43px; } }
@media (max-width:700px) { .desktop-shell { padding:16px 14px 108px; min-height:600px; }.desktop-center { top:48%; }.desktop-date { letter-spacing:.18em; }.desktop-window-body { padding:13px; }.browser-heading span { display:none; }.desktop-dock { bottom:14px; }.dock-item { width:62px; }.dock-icon { width:31px; height:31px; }.dock-item b { font-size:8px; }.dock-item small { display:none; }.desktop-corner { display:none; } }
@media (max-height:720px) and (min-width:701px) { .desktop-center { top:46%; }.desktop-window { margin-top:12px; }.desktop-title { font-size:38px; }.desktop-time { font-size:50px; }.desktop-dock { bottom:12px; }.desktop-shell { padding-top:15px; } }

.portal-dock { transform:translateX(-50%) scale(var(--dock-scale,1)) !important; transform-origin:bottom center !important; }


html, body { min-height:100%; }
body.settings-mode { min-height:100vh !important; height:auto !important; overflow-x:hidden !important; overflow-y:auto !important; }
body.settings-mode #settingsView { display:block !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; position:relative; z-index:10000; }
#settingsView { width:min(1120px,94vw); margin:28px auto 60px; padding:0; border:0; background:none; box-shadow:none; backdrop-filter:none; }
.settings-shell { width:100%; }
.settings-top { position:sticky; top:0; z-index:20; margin:0 0 14px; padding:14px 16px; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:rgba(9,9,12,.88); backdrop-filter:blur(18px); box-shadow:0 16px 40px rgba(0,0,0,.24); }
.settings-heading { gap:12px; }
.settings-icon { width:38px; height:38px; border-radius:10px; font-size:18px; box-shadow:none; }
.settings-top h1 { font-size:22px; letter-spacing:-.6px; }
.settings-subtitle { margin-top:2px; font-size:12px; }
.settings-section { margin-top:12px; padding:18px; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(9,9,12,.72); box-shadow:0 12px 35px rgba(0,0,0,.18); }
.settings-section h2 { font-size:15px; margin-bottom:5px; }
.settings-note { margin-bottom:14px; font-size:12px; line-height:1.45; }
.theme-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.theme-option { border-radius:11px; }
.theme-option:hover { transform:translateY(-1px); box-shadow:none; }
.theme-swatch { height:62px; }
.theme-copy { padding:9px 10px 10px; }
.theme-copy strong { font-size:12px; }
.theme-copy span { font-size:10px; }
.custom-preview { height:78px; margin:12px 0; border-radius:12px; box-shadow:none; }
.custom-preview-label { left:13px; bottom:12px; font-size:11px; }
.custom-colors { gap:9px; }
.color-field { padding:10px; border-radius:11px; }
.color-field input[type=color] { width:42px; height:36px; border-radius:9px; }
.hex-input { padding:6px 8px; border-radius:7px; }
.settings-actions { margin-top:11px; }
.settings-btn { padding:9px 12px; border-radius:9px; font-size:12px; }
.desktop-settings-grid { gap:8px; }
.setting-toggle { padding:10px; border-radius:10px; }
.setting-toggle small { font-size:10px; }
.setting-range-row { margin-top:11px; }
.settings-section[data-section="danger"] { border-color:rgba(255,70,70,.20); }
.settings-kicker { display:inline-flex; align-items:center; gap:6px; margin-bottom:7px; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--red); }
.settings-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.settings-feature { padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:11px; background:rgba(255,255,255,.025); }
.settings-feature b { display:block; font-size:12px; }
.settings-feature span { display:block; margin-top:4px; color:var(--muted); font-size:10px; line-height:1.35; }
.settings-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.shortcut-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:1px solid rgba(255,255,255,.07); border-radius:9px; background:rgba(255,255,255,.025); font-size:11px; }
.shortcut-key { padding:3px 6px; border:1px solid rgba(255,255,255,.12); border-radius:5px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.8); font-size:10px; }
@media (max-width:820px) { .theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .settings-feature-grid,.settings-shortcuts { grid-template-columns:1fr; } }
@media (max-width:520px) { #settingsView { width:calc(100vw - 20px); margin:10px auto 35px; } .settings-top { position:relative; } .settings-section { padding:13px; } .custom-colors { grid-template-columns:1fr; } }


.app-window-bar .window-lights { display:flex; align-items:center; gap:8px; }
.app-window-bar .window-light { width:14px; height:14px; min-width:14px; padding:0; border:0; border-radius:50%; cursor:pointer; box-shadow:inset 0 0 0 1px rgba(0,0,0,.18); }
.app-window-bar .window-light:hover { filter:brightness(1.14); transform:scale(1.08); }
.window-light-red { background:#ff3b57; }
.window-light-yellow { background:#ffb11b; }
.window-light-green { background:#18c989; }
.window-minimized { visibility:hidden !important; pointer-events:none !important; }
.window-resizer { position:absolute; z-index:30; width:16px; height:16px; }
.window-resizer-nw { left:-2px; top:-2px; cursor:nwse-resize; }
.window-resizer-ne { right:-2px; top:-2px; cursor:nesw-resize; }
.window-resizer-sw { left:-2px; bottom:-2px; cursor:nesw-resize; }
.window-resizer-se { right:-2px; bottom:-2px; cursor:nwse-resize; }
#flashcardsView.desktop-floating-window, #publisherWindow, #portalWindow, #aiWindow { box-sizing:border-box; }
#flashcardsView.desktop-floating-window .window-resizer, #portalWindow .window-resizer { touch-action:none; }

.app-window-maximized{left:0!important;top:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;border-radius:0!important;transform:none!important}

#publisherWindow{display:none;position:fixed;z-index:10006;left:50%;top:50%;transform:translate(-50%,-50%);width:min(780px,88vw);height:min(570px,76vh);max-width:94vw;max-height:88vh;min-width:420px;min-height:300px;margin:0;overflow:hidden;padding:0;border:1px solid rgba(255,70,70,.28);border-radius:14px;background:linear-gradient(145deg,rgba(19,8,10,.98),rgba(5,5,8,.98));box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(255,30,30,.08);backdrop-filter:blur(18px);color:#fff}
#publisherWindow[style*="display: flex"]{display:flex!important;flex-direction:column}
#publisherWindow .publisher-window-bar{background:linear-gradient(90deg,rgba(75,8,12,.96),rgba(18,8,10,.96));border-bottom:1px solid rgba(255,70,70,.18);color:#fff}
#publisherWindow .publisher-window-bar strong{font-size:11px;letter-spacing:.3px}
#publisherWindow .window-resizer{touch-action:none}
#publisherWindow .publisher-body{background:linear-gradient(135deg,rgba(18,8,10,.98),rgba(5,5,8,.98));color:#eee}
#publisherWindow .publisher-panel{background:transparent;color:#eee}
#publisherWindow .publisher-config{border-right:1px solid rgba(255,70,70,.14)}
#publisherWindow .publisher-panel h2{color:#fff}
#publisherWindow .publisher-panel p,#publisherWindow .publisher-help{color:#9b8f93}
#publisherWindow .publisher-section-title,#publisherWindow .publisher-field label,#publisherWindow .publisher-file-label{color:#d8c8cb}
#publisherWindow .publisher-field input,#publisherWindow .publisher-field textarea,#publisherWindow .publisher-token input{border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.38);color:#fff}
#publisherWindow .publisher-field input:focus,#publisherWindow .publisher-field textarea:focus{border-color:rgba(255,65,65,.75);box-shadow:0 0 0 2px rgba(255,35,35,.12)}
#publisherWindow .publisher-upload-button,#publisherWindow .publisher-mode{background:linear-gradient(180deg,#b51e28,#7d1018);border:1px solid rgba(255,100,100,.25);color:#fff}
#publisherWindow .publisher-file-box{border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.28);color:#eee}
#publisherWindow .publisher-action{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#ddd}
#publisherWindow .publisher-action.primary{border-color:#9e1822;background:linear-gradient(180deg,#c5212b,#7e1018);color:#fff}
#publisherWindow .publisher-status{background:rgba(255,255,255,.045);color:#aaa}
#publisherWindow .publisher-status.ok{color:#7fe0a8;background:rgba(25,130,75,.12)}
#publisherWindow .publisher-status.error{color:#ff8585;background:rgba(180,20,30,.12)}
#publisherWindow .publisher-results{background:rgba(0,0,0,.13)}
#publisherWindow .cdn-row{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
#publisherWindow .cdn-row b{color:#eee}
#publisherWindow .cdn-row code{color:#9e9498}
#publisherWindow .cdn-row button{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#ddd}
#publisherWindow .window-light-red{background:#ff453a}.publisher-window-bar{flex:0 0 42px}
.publisher-body{height:calc(100% - 42px);overflow:auto;padding:0;display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:0;background:#fff;color:#182235}
.publisher-panel{min-width:0;border:0;border-radius:0;background:#fff;padding:18px 20px}
.publisher-config{border-right:1px solid #e3e7ee;overflow:auto}.publisher-results{overflow:auto}
.publisher-panel h2{margin:0 0 18px;font-size:15px;color:#172033;font-weight:800}.publisher-panel p{margin:0 0 13px;color:#718096;font-size:10px;line-height:1.45}
.publisher-field{margin:0 0 13px}.publisher-field label{display:block;margin:0 0 6px;font-size:10px;color:#4c5870;font-weight:800}.publisher-field label small{font-weight:500;color:#97a1b2}.publisher-field input,.publisher-field textarea,.publisher-token input{width:100%;box-sizing:border-box;border:1px solid #d8dee9;border-radius:7px;padding:9px 10px;background:#fff;color:#25324a;outline:none;font-size:11px;font-family:inherit}.publisher-field textarea{min-height:48px;resize:vertical;line-height:1.45}.publisher-field input:focus,.publisher-field textarea:focus{border-color:#6da4ff;box-shadow:0 0 0 2px rgba(45,108,223,.1)}
.publisher-help{margin-top:5px;color:#9aa5b6;font-size:8.5px;line-height:1.35}.publisher-help b{color:#718096}.publisher-help code{font:8px ui-monospace,SFMono-Regular,monospace;background:#f2f4f7;padding:1px 3px;border-radius:3px}
.publisher-section-title{margin:19px 0 8px;font-size:10px;color:#4c5870;font-weight:800}.publisher-upload-button{display:flex;align-items:center;justify-content:center;height:32px;border-radius:7px;background:#2d66e5;color:#fff;font-size:11px;font-weight:800;cursor:pointer}.publisher-upload-button:hover{filter:brightness(1.06)}
.publisher-file-label{margin-top:13px;margin-bottom:6px;font-size:9px;color:#536078;font-weight:700}.publisher-file-box{height:34px;box-sizing:border-box;border:1px solid #d8dee9;border-radius:7px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#33415a;font-size:10px;cursor:pointer}.publisher-file-box small{color:#98a2b2}.publisher-mode{height:34px;border-radius:7px;background:#2d66e5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.publisher-mode small{margin-left:4px;opacity:.75;font-weight:600}
.publisher-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.publisher-action{border:1px solid #d7deea;border-radius:7px;padding:8px 10px;color:#41506a;background:#fff;font-size:9px;font-weight:800;cursor:pointer}.publisher-action.primary{background:#2d66e5;border-color:#2d66e5;color:#fff}.publisher-action:disabled{opacity:.45;cursor:not-allowed}.publisher-status{margin-top:10px;padding:9px;border-radius:7px;background:#f4f6f9;font-size:9px;color:#69758a;white-space:pre-wrap;word-break:break-word}.publisher-status.ok{color:#197a4a;background:#effaf4}.publisher-status.error{color:#bd3d3d;background:#fff1f1}.publisher-note{margin-top:8px!important;font-size:8px!important;color:#9aa5b6!important}
.publisher-results h2{margin-bottom:6px}.publisher-cdn-list-title{margin:18px 0 8px;font-size:10px;color:#4c5870;font-weight:800}.publisher-cdns{display:grid;gap:7px;max-height:none;overflow:visible}.cdn-row{display:grid;grid-template-columns:120px minmax(0,1fr) 60px 54px;gap:7px;align-items:center;padding:9px;border:1px solid #e2e6ed;border-radius:7px;background:#fff}.cdn-row b{font-size:9px;color:#33415a}.cdn-row code{font:8px/1.35 ui-monospace,SFMono-Regular,monospace;color:#748096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdn-row button{border:1px solid #d8dee9;border-radius:5px;padding:5px;color:#42506a;background:#fff;font-size:8px;cursor:pointer}.cdn-status{font-size:8px;text-align:center;color:#98a2b2}.cdn-status.good{color:#16834f}.cdn-status.bad{color:#c83b3b}.publisher-meta-grid{display:grid;gap:8px;margin-top:10px}.publisher-token{margin-top:0}.publisher-token button{display:none}.publisher-drop{display:none}

.publisher-file-list{display:grid;gap:5px;margin-top:6px;max-height:92px;overflow:auto}.publisher-file-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:rgba(255,255,255,.035);font:9px ui-monospace,SFMono-Regular,monospace;color:#d8c8cb}.publisher-file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publisher-file-chip small{color:#8f7d82;flex:0 0 auto}.publisher-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:126px;overflow:auto}.publisher-provider{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(255,255,255,.025);color:#bcaeb2;font-size:9px;cursor:pointer;transition:.16s ease}.publisher-provider:hover{border-color:rgba(255,75,75,.5);transform:translateY(-1px)}.publisher-provider.on{border-color:#367cff;background:rgba(30,90,210,.14);color:#fff}.publisher-provider input{accent-color:#e72b37}.publisher-provider .dot{width:6px;height:6px;border-radius:50%;background:#77818f;flex:0 0 auto}.publisher-provider.on .dot{background:#3d7dff;box-shadow:0 0 8px rgba(61,125,255,.7)}.publisher-provider-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:6px}.publisher-filter,.publisher-sort{border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;background:rgba(255,255,255,.035);color:#cfc1c5;font-size:8px;cursor:pointer}.publisher-filter.active{border-color:#3b79ff;background:rgba(45,105,230,.18);color:#fff}.publisher-sort{margin-left:auto}.publisher-cdn-list-title{display:flex;justify-content:space-between;gap:10px}.publisher-cdn-list-title span:last-child{color:#8e7d82}.publisher-cdns{display:grid;gap:8px}.publisher-result-card{border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.025);overflow:hidden;animation:publisherExpand .28s cubic-bezier(.2,.8,.2,1) both;transform-origin:top center}.publisher-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:rgba(255,255,255,.035);cursor:pointer}.publisher-result-head b{font-size:10px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publisher-result-head small{color:#8f7d82}.publisher-result-body{display:grid;gap:6px;padding:8px}.publisher-result-card.collapsed .publisher-result-body{display:none}.publisher-result-card.collapsed .publisher-result-head::after{content:'+';color:#8f7d82}.publisher-result-card:not(.collapsed) .publisher-result-head::after{content:'−';color:#ff6670}.publisher-link-row{display:grid;grid-template-columns:105px minmax(0,1fr) 55px 48px;gap:6px;align-items:center;padding:6px 7px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(0,0,0,.18)}.publisher-link-row b{font-size:8px;color:#ddd}.publisher-link-row code{font:7px/1.35 ui-monospace,SFMono-Regular,monospace;color:#9e9498;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publisher-link-row button{border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:5px;background:rgba(255,255,255,.04);color:#ddd;font-size:8px;cursor:pointer}.publisher-link-status{font-size:7px;text-align:center;color:#8f7d82}.publisher-link-status.good{color:#5de09a}.publisher-link-status.bad{color:#ff6c76}.publisher-provider-hidden{display:none!important}@keyframes publisherExpand{from{opacity:0;transform:translateY(12px) scale(.94);clip-path:inset(0 0 85% 0 round 9px)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 9px)}}@keyframes publisherWindowOpen{from{opacity:0;transform:translate(-50%,-50%) scale(.12);filter:brightness(1.6) blur(2px)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}}#publisherWindow.publisher-opening{animation:publisherWindowOpen .32s cubic-bezier(.2,.9,.2,1) both;transform-origin:var(--publisher-origin-x,50%) var(--publisher-origin-y,50%)}
@media(max-width:800px){.publisher-body{grid-template-columns:1fr}.publisher-config{border-right:0;border-bottom:1px solid #e3e7ee}.publisher-results{min-height:360px}.cdn-row{grid-template-columns:90px minmax(0,1fr) 55px 50px}}

body.desktop-window-open .bg{display:block!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important;}
body.desktop-window-open #landingView{display:block!important;}
#flashcardsView.desktop-floating-window{
 display:none;position:fixed;z-index:10004;left:50%;top:50%;transform:translate(-50%,-50%);
 width:min(1180px,92vw);height:min(760px,88vh);max-width:96vw;max-height:92vh;
 min-width:560px;min-height:380px;margin:0;padding:0;overflow:hidden;
 border:1px solid rgba(255,255,255,.16);border-radius:12px;
 background:rgba(10,10,14,var(--window-opacity,.96));box-shadow:0 28px 90px rgba(0,0,0,.65);
 backdrop-filter:blur(18px);flex-direction:column;
}
#flashcardsView.desktop-floating-window .flashcards-window-bar{flex:0 0 42px;}
.flashcards-browser-toolbar{flex:0 0 50px;display:flex;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.08);background:#111113;}
.flashcards-search-form{flex:1;min-width:0;height:34px;display:flex;align-items:center;gap:7px;padding:0 5px 0 10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(0,0,0,.38);}
.flashcards-search-form span{color:#ff4c4c;font:800 13px/1 ui-monospace,monospace;}
.flashcards-search-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:500 12px/1 Inter,system-ui,sans-serif;}
.flashcards-search-form button{border:0;border-radius:6px;padding:6px 10px;color:#fff;background:rgba(255,50,50,.15);font-size:9px;font-weight:800;cursor:pointer;}
.flashcards-browser-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:18px 20px 20px;}
.flashcards-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;}
.flashcards-top h1{margin:0;font-size:26px;letter-spacing:-.04em;}
.flashcards-header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.flashcards-browser-content .meta{margin:0;font-size:11px;color:rgba(255,255,255,.46);}
.flashcards-browser-content .pageControls{flex:0 0 auto;margin:0 0 12px;}
.flashcards-browser-content #grid{flex:1;min-height:0;overflow:auto;padding:2px 3px 12px 0;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;}
.flashcards-browser-content .flashcard-card{min-width:0;}
.flashcards-browser-content .flashcardTitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:900px){#flashcardsView.desktop-floating-window{min-width:420px;width:96vw;height:88vh}.flashcards-browser-content #grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){#flashcardsView.desktop-floating-window{min-width:280px;width:97vw;height:86vh}.flashcards-browser-content{padding:12px}.flashcards-browser-content #grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flashcards-header-actions .home{padding:7px 9px;font-size:10px;}}

.flashcards-browser-content #grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.flashcards-browser-content .flashcard-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  min-height:184px !important;
  height:auto !important;
  overflow:hidden !important;
  padding:9px !important;
  box-sizing:border-box !important;
}
.flashcards-browser-content .flashcard-card .thumbWrap{
  position:relative !important;
  flex:0 0 126px !important;
  width:100% !important;
  height:126px !important;
  min-height:126px !important;
  margin:0 0 9px !important;
  overflow:hidden !important;
  display:block !important;
}
.flashcards-browser-content .flashcard-card .thumb{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  opacity:0 !important;
  transition:opacity .16s ease !important;
}
.flashcards-browser-content .flashcard-card .thumb.is-ready{opacity:1 !important;}
.flashcardIconFallback{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:10px; box-sizing:border-box; color:#fff; text-align:center;
  background:linear-gradient(145deg,rgba(45,8,8,.98),rgba(255,57,57,.68));
  border-radius:inherit;
}
.flashcardIconFallback .flashcardIconLetters{
  width:54px; height:54px; display:grid; place-items:center; border-radius:16px;
  background:rgba(5,5,8,.68); border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 25px rgba(0,0,0,.25); font-size:19px; font-weight:900;
}
.flashcardIconFallback span:last-child{max-width:95%;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}
.flashcards-browser-content .flashcard-card .flashcardTitle{
  display:block !important; flex:1 1 auto !important; min-height:34px !important;
  padding:2px 4px 4px !important; color:#fff !important; font-size:13px !important;
  line-height:1.25 !important; font-weight:800 !important; opacity:1 !important;
}
@media(max-width:900px){.flashcards-browser-content #grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){.flashcards-browser-content #grid{grid-template-columns:repeat(2,minmax(0,1fr));}.flashcards-browser-content .flashcard-card{min-height:170px !important;}.flashcards-browser-content .flashcard-card .thumbWrap{height:112px !important;min-height:112px !important;flex-basis:112px !important;}}

.flashcard-player-pane{display:none;flex:1;min-height:0;overflow:hidden;flex-direction:column;background:#050507;}
#flashcardsView.flashcard-playing .flashcards-browser-toolbar,#flashcardsView.flashcard-playing .flashcards-browser-content{display:none;}
#flashcardsView.flashcard-playing #flashcardPlayerPane{display:flex;}
.flashcard-player-toolbar{height:36px;min-height:36px;display:flex;align-items:center;gap:10px;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.08);background:#111113;}
.flashcard-player-toolbar strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;}
.flashcard-save-button{min-width:62px!important;font-weight:800!important;color:#fff!important;background:rgba(255,50,50,.15)!important;border-color:rgba(255,70,70,.28)!important;}
.flashcard-save-button:hover{background:rgba(255,50,50,.24)!important;}
.flashcard-save-button.saved{background:rgba(60,190,100,.18)!important;border-color:rgba(80,220,125,.34)!important;}
#flashcardPlayerStatus{display:none!important}
.flashcard-player-frame-wrap{position:relative;flex:1;min-height:0;background:#000;}
#flashcardPlayerPane #player{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;background:#fff;}
.flashcard-player-frame-wrap{width:100%;height:100%;overflow:hidden;}
#flashcardsView.flashcard-playing{padding:0!important;}
#flashcardsView.flashcard-playing .flashcards-window-bar{flex:0 0 34px;}
#flashcardsView.flashcard-playing #flashcardPlayerPane{min-height:0;flex:1;}
#flashcardsView.flashcard-playing .flashcard-player-frame-wrap{min-width:0;min-height:0;}
.flashcard-player-toolbar .browser-tool{flex:0 0 auto;}
@media(max-width:600px){#flashcardPlayerStatus{display:none;}.flashcard-player-toolbar strong{max-width:70%;}}

#flashcardsView.flashcard-playing .flashcard-player-frame-wrap{
  padding:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
#flashcardsView.flashcard-playing #player{
  min-width:100%;
  min-height:100%;
}

#aiWindow{display:none;position:fixed;z-index:10007;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1040px,92vw);height:min(720px,84vh);max-width:96vw;max-height:92vh;min-width:520px;min-height:360px;margin:0;overflow:hidden;padding:0;border:1px solid rgba(255,70,70,.24);border-radius:18px;background:#080607;box-shadow:0 40px 120px rgba(0,0,0,.78),0 0 55px rgba(255,20,35,.11);color:#fff}
#aiWindow[style*="display: flex"]{display:flex!important;flex-direction:column}
#aiWindow .ai-window-bar{height:48px;flex:0 0 48px;background:linear-gradient(90deg,rgba(56,8,13,.98),rgba(12,7,10,.98) 60%,rgba(8,8,11,.98));border-bottom:1px solid rgba(255,75,75,.16);color:#fff}
#aiWindow .ai-window-bar strong{font-size:12px;letter-spacing:.5px}
#aiWindow .ai-window-body{position:relative;flex:1;min-height:0;background:#080607;overflow:hidden}
#aiFrame{width:100%;height:100%;display:block;border:0;background:#080607}
#aiWindow .window-resizer{touch-action:none}
@media(max-width:700px){#aiWindow{min-width:0;width:calc(100vw - 20px);height:calc(100vh - 90px);min-height:300px}}

#publisherWindow{width:min(1040px,92vw)!important;height:min(720px,84vh)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(14,7,9,.985),rgba(3,4,7,.985))!important;border:1px solid rgba(255,70,70,.24)!important;box-shadow:0 40px 120px rgba(0,0,0,.78),0 0 55px rgba(255,20,35,.11),inset 0 1px rgba(255,255,255,.05)!important;overflow:hidden}
#publisherWindow .publisher-window-bar{height:48px;flex-basis:48px!important;background:linear-gradient(90deg,rgba(56,8,13,.98),rgba(12,7,10,.98) 60%,rgba(8,8,11,.98))!important;border-bottom:1px solid rgba(255,75,75,.16)!important}
#publisherWindow .publisher-window-bar strong{font-size:12px!important;letter-spacing:.5px!important}
#publisherWindow .publisher-body{display:grid!important;grid-template-columns:390px minmax(0,1fr)!important;gap:0!important;background:radial-gradient(circle at 78% 8%,rgba(175,20,30,.08),transparent 34%),linear-gradient(145deg,#0d080a,#050507)!important}
#publisherWindow .publisher-config{padding:18px!important;border-right:1px solid rgba(255,255,255,.08)!important;overflow:auto!important;scrollbar-width:thin}
#publisherWindow .publisher-results{padding:18px!important;overflow:auto!important;scrollbar-width:thin}
#publisherWindow .publisher-config h2,#publisherWindow .publisher-results h2{font-size:18px!important;line-height:1.1!important;margin:0 0 5px!important;letter-spacing:-.35px!important}
#publisherWindow .publisher-config h2:after{content:'  /  publish hub';font-size:9px;color:#7f6970;font-weight:700;letter-spacing:.8px}
#publisherWindow .publisher-field{margin-top:13px!important}
#publisherWindow .publisher-field label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.7px;color:#cdbec2!important}
#publisherWindow .publisher-field label small{font-size:7px;color:#75656a}
#publisherWindow .publisher-field input,#publisherWindow .publisher-field textarea,#publisherWindow .publisher-token input{width:100%;box-sizing:border-box;border-radius:9px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(0,0,0,.35)!important;color:#fff!important;padding:9px 10px!important;outline:none!important;transition:border-color .18s,box-shadow .18s,transform .18s}
#publisherWindow .publisher-field textarea{min-height:58px;resize:vertical}
#publisherWindow .publisher-field input:focus,#publisherWindow .publisher-field textarea:focus{border-color:rgba(255,67,75,.72)!important;box-shadow:0 0 0 3px rgba(255,35,45,.09),0 0 22px rgba(255,20,30,.06)!important;transform:translateY(-1px)}
#publisherWindow .publisher-help{font-size:8px!important;line-height:1.45;margin-top:5px!important;color:#75666b!important}
#publisherWindow .publisher-help code{color:#c69aa0}
#publisherWindow .publisher-section-title{margin:18px 0 7px!important;font-size:8px!important;letter-spacing:1.1px;text-transform:uppercase;color:#a66a72!important}
#publisherWindow .publisher-upload-button{height:38px!important;border-radius:10px!important;background:linear-gradient(135deg,#d92a36,#8e111b)!important;border:1px solid rgba(255,110,110,.2)!important;box-shadow:0 10px 24px rgba(180,15,25,.15)!important;font-size:10px!important;letter-spacing:.2px;transition:transform .18s,filter .18s,box-shadow .18s}
#publisherWindow .publisher-upload-button:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 13px 28px rgba(180,15,25,.23)}
#publisherWindow .publisher-file-box{height:42px!important;border-radius:10px!important;border-color:rgba(255,255,255,.1)!important;background:rgba(255,255,255,.025)!important;color:#eee!important}
#publisherWindow .publisher-file-list{max-height:105px!important;margin-top:7px!important}
#publisherWindow .publisher-file-chip{padding:7px 9px!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.08)!important}
#publisherWindow .publisher-mode{height:38px!important;border-radius:10px!important;background:linear-gradient(180deg,#3a0f14,#20080b)!important;border:1px solid rgba(255,70,70,.18)!important;justify-content:space-between!important;padding:0 12px;box-sizing:border-box;color:#fff!important}
#publisherWindow .publisher-mode:before{content:'AUTO';font-size:8px;color:#ff7880;letter-spacing:1px}
#publisherWindow .publisher-actions{position:sticky;bottom:0;margin:16px -18px -18px!important;padding:12px 18px 18px;background:linear-gradient(180deg,transparent,rgba(5,5,7,.97) 25%);z-index:3}
#publisherWindow .publisher-action{border-radius:8px!important;padding:8px 11px!important;background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.1)!important;color:#d7cbce!important;transition:transform .16s,background .16s,border-color .16s}
#publisherWindow .publisher-action:hover:not(:disabled){transform:translateY(-1px);background:rgba(255,255,255,.08)!important;border-color:rgba(255,80,80,.28)!important}
#publisherWindow .publisher-action.primary{background:linear-gradient(135deg,#d52a36,#8d111b)!important;border-color:rgba(255,100,100,.25)!important;box-shadow:0 8px 22px rgba(160,15,25,.16)}
#publisherWindow .publisher-status{border:1px solid rgba(255,255,255,.08)!important;border-radius:9px!important;background:rgba(255,255,255,.03)!important;color:#9b898e!important}
#publisherWindow .publisher-status.ok{border-color:rgba(70,220,145,.18)!important;background:rgba(35,150,90,.08)!important;color:#7ce2aa!important}
#publisherWindow .publisher-status.error{border-color:rgba(255,80,90,.2)!important;background:rgba(180,20,30,.08)!important;color:#ff858b!important}
#publisherWindow .publisher-provider-top{display:flex;align-items:center;gap:7px;margin-bottom:7px}
#publisherWindow .publisher-provider-count{font-size:8px;color:#8e7d82;white-space:nowrap}
#publisherWindow .publisher-provider-count strong{color:#fff;font-size:11px}
#publisherWindow .publisher-provider-search{min-width:0;flex:1;height:28px;box-sizing:border-box;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:#eee;padding:0 9px;font-size:8px;outline:none}
#publisherWindow .publisher-provider-search:focus{border-color:rgba(255,65,70,.55)}
#publisherWindow .publisher-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;max-height:170px!important;padding-right:2px}
#publisherWindow .publisher-provider{padding:8px 9px!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.08)!important;color:#a99a9e!important;transition:transform .16s,background .16s,border-color .16s,opacity .16s!important}
#publisherWindow .publisher-provider:hover{transform:translateY(-1px)!important;border-color:rgba(255,70,75,.4)!important;background:rgba(255,255,255,.045)!important}
#publisherWindow .publisher-provider.on{border-color:rgba(255,67,75,.5)!important;background:linear-gradient(90deg,rgba(145,16,25,.2),rgba(255,255,255,.025))!important;color:#fff!important;box-shadow:inset 2px 0 #e52b36}
#publisherWindow .publisher-provider.disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}
#publisherWindow .publisher-provider-tools{margin-top:8px!important}
#publisherWindow .publisher-filter,#publisherWindow .publisher-sort{border-radius:7px!important;padding:6px 8px!important;background:rgba(255,255,255,.03)!important;color:#bbaeb1!important;border-color:rgba(255,255,255,.09)!important}
#publisherWindow .publisher-filter.active{background:rgba(190,25,35,.16)!important;border-color:rgba(255,70,75,.35)!important;color:#fff!important}
#publisherWindow .publisher-results>p{font-size:9px!important;line-height:1.45;color:#75666b!important;max-width:620px}
#publisherWindow .publisher-results-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 13px;margin:10px 0 14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:inset 0 1px rgba(255,255,255,.03)}
#publisherWindow .publisher-results-summary h3{margin:2px 0 3px;font-size:14px;color:#fff}
#publisherWindow .publisher-results-summary p{margin:0!important;font-size:8px!important;color:#77676c!important}
#publisherWindow .publisher-kicker{font-size:7px;letter-spacing:1.2px;color:#e34b55;font-weight:800}
#publisherWindow .publisher-result-stat{min-width:58px;text-align:right}.publisher-result-stat b{display:block;font-size:20px;line-height:1;color:#fff}.publisher-result-stat span{font-size:7px;color:#7f6f74;text-transform:uppercase;letter-spacing:.8px}
#publisherWindow .publisher-cdn-list-title{margin:0 0 8px!important;padding:0 2px!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.9px;color:#8d7c81!important}
#publisherWindow .publisher-result-card{border-radius:11px!important;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.015))!important;border-color:rgba(255,255,255,.08)!important;animation:publisherCardIn .42s cubic-bezier(.16,1,.3,1) both!important;transform-origin:top center}
#publisherWindow .publisher-result-head{padding:11px 12px!important;background:transparent!important;transition:background .18s}
#publisherWindow .publisher-result-head:hover{background:rgba(255,255,255,.035)!important}
#publisherWindow .publisher-result-body{padding:0 10px 10px!important;animation:publisherBodyIn .28s ease both}
#publisherWindow .publisher-link-row{grid-template-columns:130px minmax(0,1fr) 58px 50px!important;border-radius:8px!important;padding:7px 8px!important;background:rgba(0,0,0,.2)!important;transition:transform .14s,border-color .14s,background .14s}
#publisherWindow .publisher-link-row:hover{transform:translateX(2px);border-color:rgba(255,70,75,.24)!important;background:rgba(0,0,0,.28)!important}
#publisherWindow .publisher-link-row button{border-radius:6px!important;background:rgba(255,255,255,.04)!important}
#publisherWindow .publisher-link-status.good{font-weight:800;text-shadow:0 0 10px rgba(70,220,145,.25)}
@keyframes publisherWindowOpenV15{0%{opacity:0;transform:translate(-50%,-50%) scale(.04);filter:blur(4px) brightness(1.7);clip-path:inset(46% 47% 46% 47% round 16px)}45%{opacity:1;filter:blur(0) brightness(1.18);clip-path:inset(4% 5% 4% 5% round 18px)}72%{transform:translate(-50%,-50%) scale(1.025);clip-path:inset(0 round 18px)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none;clip-path:inset(0 round 18px)}}
#publisherWindow.publisher-opening{animation:publisherWindowOpenV15 .56s cubic-bezier(.16,1,.3,1) both!important}
@keyframes publisherCardIn{from{opacity:0;transform:translateY(14px) scale(.97);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes publisherBodyIn{from{opacity:0;max-height:0;transform:translateY(-5px)}to{opacity:1;max-height:1600px;transform:none}}
@media(max-width:900px){#publisherWindow .publisher-body{grid-template-columns:1fr!important}#publisherWindow .publisher-config{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}#publisherWindow{height:min(820px,90vh)!important}}

:root{--ss-ease:cubic-bezier(.16,1,.3,1);--ss-spring:cubic-bezier(.2,1.25,.35,1)}
.dock-item{transition:transform .28s var(--ss-ease),background .22s ease,border-color .22s ease,filter .22s ease,box-shadow .28s ease!important}
.dock-item:hover{transform:translateY(-8px) scale(1.035)!important;filter:brightness(1.08)}
.dock-item:active{transform:translateY(-2px) scale(.96)!important;transition-duration:.1s!important}
.portal-dock .dock-item:hover .dock-icon{transform:translateY(-2px) scale(1.07) rotate(-1deg)!important;box-shadow:0 14px 32px rgba(0,0,0,.4),0 0 22px rgba(255,35,45,.12)}
.portal-dock .dock-item .dock-icon{transition:transform .3s var(--ss-spring),box-shadow .3s ease,border-color .25s ease,background .25s ease!important}
.desktop-dock{animation:ssDockIn .65s var(--ss-ease) both}
@keyframes ssDockIn{from{opacity:0;transform:translate(-50%,22px) scale(.9);filter:blur(8px)}to{opacity:1;transform:translate(-50%,0) scale(1);filter:none}}
#flashcardsView.desktop-floating-window{will-change:transform,opacity,clip-path,filter}
#flashcardsView.ss-window-opening{animation:ssWindowOpen .62s var(--ss-ease) both!important;transform-origin:var(--ss-origin-x,50%) var(--ss-origin-y,50%)}
@keyframes ssWindowOpen{0%{opacity:0;transform:translate(-50%,-50%) scale(.08);clip-path:inset(44% 46% 44% 46% round 18px);filter:blur(5px) brightness(1.5)}42%{opacity:1;clip-path:inset(7% 7% 7% 7% round 18px);filter:blur(0) brightness(1.12)}72%{transform:translate(-50%,-50%) scale(1.018);clip-path:inset(0 round 14px)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);clip-path:inset(0 round 14px);filter:none}}
#flashcardsView:not(.flashcard-playing) .flashcard-card{animation:ssCardIn .5s var(--ss-ease) both;animation-delay:calc(var(--card-i,0) * 24ms)}
@keyframes ssCardIn{from{opacity:0;transform:translateY(16px) scale(.96);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.flashcards-browser-toolbar,.flashcards-top,.pageControls{transition:opacity .25s ease,transform .35s var(--ss-ease)}
#flashcardsView:not(.flashcard-playing) .flashcards-browser-toolbar{animation:ssToolbarIn .5s .08s var(--ss-ease) both}
#flashcardsView:not(.flashcard-playing) .flashcards-top{animation:ssToolbarIn .5s .13s var(--ss-ease) both}
@keyframes ssToolbarIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.flashcardIconFallback .flashcardIconLetters{transition:transform .35s var(--ss-spring),box-shadow .35s ease}
.flashcard-card:hover .flashcardIconFallback .flashcardIconLetters{transform:translateY(-3px) rotate(-2deg) scale(1.06);box-shadow:0 16px 32px rgba(0,0,0,.34),0 0 20px rgba(255,40,45,.12)}
.flashcard-card .thumbWrap{transition:transform .35s var(--ss-spring),box-shadow .35s ease}
.flashcard-card:hover .thumbWrap{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.35)}
.publisher-provider,.publisher-action,.publisher-upload-button,.publisher-file-box,.publisher-filter,.publisher-sort{will-change:transform}
#publisherWindow .publisher-provider:hover{transform:translateY(-2px) scale(1.01)!important;box-shadow:0 8px 22px rgba(0,0,0,.16)}
#publisherWindow .publisher-action:active,#publisherWindow .publisher-upload-button:active{transform:translateY(1px) scale(.97)!important}
#publisherWindow .publisher-result-card{animation-delay:calc(var(--result-i,0) * 45ms)!important}
#publisherWindow .publisher-result-card.collapsed .publisher-result-body{animation:none}
#publisherWindow .publisher-result-head::after{transition:transform .25s var(--ss-spring);display:inline-block}
#publisherWindow .publisher-result-card.collapsed .publisher-result-head::after{transform:rotate(0)}
#publisherWindow .publisher-result-card:not(.collapsed) .publisher-result-head::after{transform:rotate(180deg)}
.flashcard-player-pane{animation:ssPaneIn .4s var(--ss-ease) both}
@keyframes ssPaneIn{from{opacity:0;transform:scale(.985);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
#flashcardPlayerPane #player{transition:opacity .25s ease}
body.desktop-window-open .bg{transition:opacity .45s ease,filter .45s ease}
body.no-desktop-animations *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

:root{
  --ss-fast: cubic-bezier(.16,1,.3,1);
  --ss-snap: cubic-bezier(.2,1.35,.35,1);
  --ss-motion: 1;
}

.bg{
  transform:translate3d(0,0,0) scale(1.015);
  will-change:transform,opacity;
  animation:ssBgBreath 9s ease-in-out infinite alternate;
}
.bg::after{
  content:"";
  position:absolute;
  inset:-12%;
  background:radial-gradient(circle at 50% 45%,rgba(255,60,60,.07),transparent 48%);
  opacity:.7;
  animation:ssGlowBreath 5.5s ease-in-out infinite alternate;
  pointer-events:none;
}

#particles .particle{
  will-change:transform,opacity;
  transform:translate3d(0,0,0);
}

.panel{
  animation:ssPanelIn .65s var(--ss-fast) both;
  will-change:transform,opacity;
}
.logo{animation:ssLogoIn .75s var(--ss-fast) .04s both;}
.sub{animation:ssFadeUp .5s var(--ss-fast) .12s both;}
.portalStats .portalBox{animation:ssCardInFast .48s var(--ss-fast) calc(.16s + var(--i,0) * .06s) both;}
.portalStats .portalBox:nth-child(2){--i:1}.portalStats .portalBox:nth-child(3){--i:2}
.slider{animation:ssFadeUp .5s var(--ss-fast) .26s both;}
.portalModes{animation:ssFadeUp .5s var(--ss-fast) .31s both;}
.search{animation:ssFadeUp .5s var(--ss-fast) .36s both;}

button,a,.dock-item,.flashcard-card,.portalMode,.portalBox,.settings-section,.setting-toggle,
.theme-card,.settings-btn,.app-window-bar,.window-light,.window-actions button,
.flashcards-browser-toolbar,.flashcards-top,.pageControls,.publisher-result-card,.publisher-link-row,
input,select,textarea{
  -webkit-tap-highlight-color:transparent;
}

button,a,.dock-item,.flashcard-card,.portalMode,.portalBox,.settings-section,.setting-toggle,
.theme-card,.settings-btn,.window-actions button,.publisher-result-card,.publisher-link-row,
input,select,textarea{
  transition:transform .16s var(--ss-fast),opacity .16s ease,background-color .16s ease,
    border-color .16s ease,box-shadow .18s ease,color .16s ease,filter .16s ease !important;
}

button:hover,a:hover,.portalMode:hover,.portalBox:hover,.settings-section:hover,.setting-toggle:hover,
.theme-card:hover,.settings-btn:hover,.publisher-result-card:hover,.publisher-link-row:hover{
  transform:translate3d(0,-2px,0);
}
button:active,.dock-item:active,.flashcard-card:active,.portalMode:active,.settings-btn:active,
.window-actions button:active,.theme-card:active{
  transform:translate3d(0,1px,0) scale(.975);
  transition-duration:.07s !important;
}

button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:2px solid var(--red);
  outline-offset:2px;
  box-shadow:0 0 0 5px rgba(255,57,57,.12);
}

.desktop-dock{will-change:transform,opacity;}
.dock-item{will-change:transform,filter;}
.dock-item:hover{transform:translate3d(0,-8px,0) scale(1.045) !important;filter:brightness(1.12);}
.portal-dock .dock-item:hover .dock-icon{transform:translate3d(0,-2px,0) scale(1.08) rotate(-2deg) !important;}

#flashcardsView.desktop-floating-window,#portalWindow,#publisherWindow{
  will-change:transform,opacity;
  backface-visibility:hidden;
}
#flashcardsView.ss-window-opening,#publisherWindow.publisher-opening{
  will-change:transform,opacity,filter;
}
#flashcardsView.ss-window-opening{animation:ssWindowOpenFast .42s var(--ss-fast) both !important;}
#publisherWindow.publisher-opening{animation:ssWindowOpenFast .42s var(--ss-fast) both !important;}
#aiWindow.publisher-opening{animation:ssWindowOpenFast .42s var(--ss-fast) both !important;}

.app-window-bar{will-change:background-color,box-shadow;}
.app-window-bar:hover{background-color:rgba(255,255,255,.035);}
.window-light{will-change:transform,filter;}
.window-light:hover{transform:scale(1.18);filter:brightness(1.25);}

#flashcardsView:not(.flashcard-playing) .flashcard-card{
  animation:ssCardInFast .38s var(--ss-fast) both;
  animation-delay:calc(min(var(--card-i,0),18) * 18ms);
  will-change:transform,opacity;
}
.flashcard-card:hover{transform:translate3d(0,-6px,0) scale(1.012) !important;}
.flashcard-card .thumbWrap{will-change:transform,box-shadow;}
.flashcard-card:hover .thumbWrap{transform:translate3d(0,-2px,0) scale(1.025) !important;}

#settingsView .settings-shell > *{animation:ssFadeUp .4s var(--ss-fast) both;}
#settingsView .settings-shell > *:nth-child(2){animation-delay:.04s}
#settingsView .settings-shell > *:nth-child(3){animation-delay:.08s}
#settingsView .settings-shell > *:nth-child(4){animation-delay:.12s}
#settingsView .settings-shell > *:nth-child(5){animation-delay:.16s}
#settingsView .settings-shell > *:nth-child(6){animation-delay:.20s}

#publisherWindow .publisher-result-card{will-change:transform,opacity;}
#publisherWindow .publisher-result-card:hover{transform:translate3d(0,-3px,0) scale(1.005);}
#publisherWindow .publisher-link-row:hover{transform:translate3d(3px,0,0);}

input:hover,select:hover,textarea:hover{border-color:rgba(255,255,255,.18) !important;}
input:focus,select:focus,textarea:focus{border-color:var(--red) !important;box-shadow:0 0 0 3px rgba(255,57,57,.10),0 0 22px rgba(255,57,57,.08) !important;}

.ss-loading-shimmer{
  background:linear-gradient(100deg,rgba(255,255,255,.035) 30%,rgba(255,255,255,.09) 45%,rgba(255,255,255,.035) 60%);
  background-size:220% 100%;
  animation:ssShimmer 1.05s linear infinite;
}

.setting-toggle input:checked + span{animation:ssCheckPop .24s var(--ss-snap) both;}

@keyframes ssBgBreath{from{transform:translate3d(-.5%,-.3%,0) scale(1.015)}to{transform:translate3d(.5%,.3%,0) scale(1.035)}}
@keyframes ssGlowBreath{from{transform:scale(.96);opacity:.45}to{transform:scale(1.06);opacity:.9}}
@keyframes ssPanelIn{from{opacity:0;transform:translate3d(0,18px,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes ssLogoIn{from{opacity:0;transform:translate3d(0,12px,0) scale(.97);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes ssFadeUp{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
@keyframes ssCardInFast{from{opacity:0;transform:translate3d(0,12px,0) scale(.975)}to{opacity:1;transform:none}}
@keyframes ssWindowOpenFast{from{opacity:0;transform:translate3d(0,12px,0) scale(.94)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes ssCheckPop{0%{transform:scale(.96)}60%{transform:scale(1.025)}100%{transform:scale(1)}}
@keyframes ssShimmer{to{background-position:-220% 0}}

body.no-desktop-animations *,body.no-desktop-animations *::before,body.no-desktop-animations *::after{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}

@media(max-width:720px){
  .bg{animation-duration:14s;}
  .bg::after{display:none;}
  .panel{animation-duration:.48s;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

:root{--ss-px:0;--ss-py:0}
.desktop-shell{transform:translate3d(calc(var(--ss-px) * -1px),calc(var(--ss-py) * -1px),0);transition:transform .35s cubic-bezier(.2,1,.3,1)}
.bg{margin:-4px;}
.ss-click-pulse{animation:ssClickPulse .22s cubic-bezier(.2,1.5,.35,1) both !important}
.ss-live-enter{animation:ssLiveEnter .48s cubic-bezier(.16,1,.3,1) both !important;animation-delay:calc(min(var(--motion-i,0),12) * 20ms)}
@keyframes ssClickPulse{0%{filter:brightness(1);transform:translate3d(0,0,0) scale(1)}45%{filter:brightness(1.18);transform:translate3d(0,-1px,0) scale(1.035)}100%{filter:brightness(1);transform:translate3d(0,0,0) scale(1)}}
@keyframes ssLiveEnter{from{opacity:0;transform:translate3d(0,10px,0) scale(.975)}to{opacity:1;transform:none}}
body.no-desktop-animations .desktop-shell{transform:none !important}

@keyframes ssBetaPop{from{opacity:0;transform:translateY(12px) scale(.96)}65%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:none}}
@keyframes ssWindowPop{from{opacity:0;transform:translate(-50%,-50%) scale(.9);filter:brightness(1.15)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.012)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}}
@keyframes ssPortalPop{from{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
#publisherWindow.publisher-opening,#aiWindow.publisher-opening{animation:ssWindowPop .34s cubic-bezier(.16,1,.3,1) both}
#portalWindow.ss-window-opening{animation:ssPortalPop .32s cubic-bezier(.16,1,.3,1) both}
body.settings-mode #settingsView{animation:ssSettingsIn .32s cubic-bezier(.16,1,.3,1) both}
@keyframes ssSettingsIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.desktop-dock .dock-item{transition:transform .18s cubic-bezier(.16,1,.3,1),filter .18s,box-shadow .18s}.desktop-dock .dock-item:hover{transform:translateY(-5px) scale(1.035)}.desktop-dock .dock-item:active{transform:translateY(-1px) scale(.97)}
@media(prefers-reduced-motion:reduce){#publisherWindow.publisher-opening,#aiWindow.publisher-opening,#portalWindow.ss-window-opening,body.settings-mode #settingsView{animation:none!important}.desktop-dock .dock-item{transition:none!important}}

@media (prefers-reduced-motion:no-preference){
:root{--ss-motion:cubic-bezier(.22,.75,.2,1)}
.desktop-dock .dock-item{transition:transform 180ms var(--ss-motion),opacity 180ms var(--ss-motion),background-color 180ms var(--ss-motion),box-shadow 180ms var(--ss-motion)}
.desktop-dock .dock-item:hover{transform:translateY(-3px)}
.desktop-dock .dock-item:active{transform:translateY(-1px) scale(.97)}
#flashcardsView.desktop-floating-window.ss-window-opening,#publisherWindow.publisher-opening,#aiWindow.publisher-opening,#portalWindow.ss-window-opening,#settingsView.ss-window-opening{animation:ssCleanWindowIn 300ms var(--ss-motion) both!important;will-change:transform,opacity}
#flashcardsView.desktop-floating-window.ss-window-opening .window-inner,#publisherWindow.publisher-opening .publisher-inner,#aiWindow.publisher-opening .ai-window-body,#portalWindow.ss-window-opening .portal-window-frame{animation:ssCleanContentIn 220ms var(--ss-motion) 45ms both!important;will-change:transform,opacity}
.publisher-result-card,.flashcard-card,.publisher-provider{animation-duration:220ms!important;animation-timing-function:var(--ss-motion)!important}
}
@keyframes ssCleanWindowIn{from{opacity:0;transform:translate(-50%,-50%) scale(.975)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ssCleanContentIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#flashcardsView.desktop-floating-window.ss-window-opening,#publisherWindow.publisher-opening,#aiWindow.publisher-opening,#portalWindow.ss-window-opening,#settingsView.ss-window-opening{animation:none!important}}

:root{--ss-motion:cubic-bezier(.22,.75,.2,1)}
.desktop-dock .dock-item{box-shadow:none!important;filter:none!important;backdrop-filter:none!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(18,18,22,.9)!important;border-radius:10px!important}
.desktop-dock .dock-item:hover{transform:translateY(-2px);background:rgba(28,28,32,.95)!important}
.desktop-dock .dock-icon{box-shadow:none!important;background:transparent!important}
#publisherWindow,#aiWindow,#portalWindow,#flashcardsView,#settingsView{box-shadow:0 20px 65px rgba(0,0,0,.45)!important;backdrop-filter:none!important}
.window-title,.publisher-title,.ai-title,.settings-title{letter-spacing:0!important}

.grid{contain:layout paint;content-visibility:auto;contain-intrinsic-size:700px;}
.flashcard-card{contain:layout paint;backface-visibility:hidden;}
#flashcardsView.desktop-floating-window,#publisherWindow,#portalWindow,#settingsView{backdrop-filter:none!important;}
#flashcardsView.desktop-floating-window{will-change:auto!important;}
.desktop-dock{backdrop-filter:none!important;}
#flashcardsView:not(.flashcard-playing) .flashcard-card{animation-duration:.22s!important;animation-delay:calc(min(var(--card-i,0),12) * 10ms)!important;}
.flashcard-card .thumbWrap,.flashcard-card:hover .thumbWrap,.flashcard-card .flashcardIconFallback .flashcardIconLetters,.flashcard-card:hover .flashcardIconFallback .flashcardIconLetters{transition:transform .14s ease,box-shadow .14s ease!important;}
@media(prefers-reduced-motion:no-preference){
  .desktop-dock .dock-item{transition:transform .12s ease,opacity .12s ease!important;}
  .desktop-dock .dock-item:hover{transform:translate3d(0,-2px,0)!important;}
}

:root{--ss-radius:7px;}
button,.publisher-action,.publisher-upload-button,.publisher-filter,.publisher-sort,.publisher-provider{border-radius:6px!important;box-shadow:none!important;}
.panel,#flashcardsView.desktop-floating-window,#publisherWindow{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 18px 50px rgba(0,0,0,.42)!important;border-radius:10px!important;}
.dock-item{transition:background .15s ease,border-color .15s ease!important;}
.dock-item:hover{transform:none!important;filter:none!important;}
.dock-item:active{transform:none!important;}
.flashcard-card,.flashcard-card:hover,.flashcard-card:focus-within{transform:none!important;filter:none!important;box-shadow:none!important;}
.flashcard-card .thumbWrap,.flashcard-card:hover .thumbWrap{transform:none!important;box-shadow:none!important;}
.flashcardIconFallback .flashcardIconLetters,.flashcard-card:hover .flashcardIconFallback .flashcardIconLetters{transform:none!important;box-shadow:none!important;}
.flashcards-browser-content #grid{gap:9px!important;}
.flashcards-browser-content .flashcard-card{padding:7px!important;border-radius:7px!important;min-height:171px!important;}
.flashcards-browser-content .flashcard-card .thumbWrap{margin-bottom:7px!important;border-radius:5px!important;}
.flashcards-browser-toolbar{padding:6px 8px!important;}
.flashcards-browser-content{padding:14px 16px 16px!important;}
.flashcards-top{margin-bottom:8px!important;}
.flashcards-top h1{font-size:22px!important;letter-spacing:-.02em!important;}
.flashcards-header-actions{gap:5px!important;}
.flashcards-browser-content .meta{font-size:10px!important;}
.publisher-help{font-size:8px!important;line-height:1.3!important;color:#83767a!important;}
#publisherWindow .publisher-config h2:after{content:''!important;}
#publisherWindow .publisher-results-summary{box-shadow:none!important;background:rgba(255,255,255,.025)!important;}
#publisherWindow .publisher-result-card{animation:none!important;}
#publisherWindow .publisher-provider:hover,#publisherWindow .publisher-action:hover:not(:disabled),#publisherWindow .publisher-upload-button:hover{transform:none!important;filter:none!important;box-shadow:none!important;}
#publisherWindow .publisher-link-row:hover{transform:none!important;}
@media(prefers-reduced-motion:no-preference){
  .desktop-dock,.panel,.logo,.sub,.portalStats .portalBox,.slider,.portalModes,.search,.flashcards-top,.flashcards-browser-toolbar,.pageControls{animation:none!important;}
}

.panel{border-radius:8px!important;background:rgba(8,8,10,.86)!important;}
.app-window-bar{min-height:38px!important;}
.window-lights{gap:7px!important;}
.window-light{box-shadow:none!important;}
button{font-weight:700!important;letter-spacing:0!important;text-transform:none!important;}
.flashcards-search-form{border-radius:6px!important;background:rgba(0,0,0,.5)!important;}
.flashcards-search-form input{font-size:13px!important;}
.flashcards-search-form button{padding:6px 9px!important;background:#2a1113!important;border:1px solid rgba(255,70,70,.18)!important;}
.flashcards-top h1{font-weight:750!important;}
.flashcards-header-actions button{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.09)!important;}
.pageControls{gap:5px!important;}
.pageControls button{min-width:30px!important;padding:6px 8px!important;}
.flashcard-card{border:1px solid rgba(255,255,255,.07)!important;background:rgba(10,10,13,.72)!important;}
.flashcard-card .flashcardTitle{font-size:11px!important;font-weight:700!important;}
.flashcard-card .flashcardMeta{font-size:8px!important;}
.flashcardIconFallback{background:#1a0b0d!important;}
.publisher-help{margin-top:4px!important;}
.publisher-section-title{margin-top:12px!important;margin-bottom:6px!important;}
#publisherWindow .publisher-actions{gap:5px!important;}
#publisherWindow .publisher-actions .publisher-action{padding:7px 9px!important;}

.dock-icon i{font-size:18px;line-height:1}.portal-dock .dock-icon i{font-size:21px}.dock-item:hover .dock-icon i{transform:none}.dock-item:hover .dock-icon{transform:translateY(-2px) scale(1.02)!important}

.discord-launch,.discord-game-link{cursor:pointer;text-decoration:none}
.discord-launch:hover,.discord-game-link:hover{background:rgba(255,255,255,.09)!important;border-color:rgba(255,70,70,.38)!important}
.desktop-dock .dock-item{min-width:92px}
.desktop-dock .dock-icon{font-size:18px!important}
.desktop-dock .dock-icon i{font-family:"Font Awesome 6 Free","Font Awesome 6 Brands",sans-serif!important;font-weight:900!important;display:grid;place-items:center;width:100%;height:100%}
#flashcardsView.desktop-floating-window{width:min(1260px,94vw)!important;height:min(840px,90vh)!important;min-width:640px!important;min-height:420px!important}
#flashcardsView .flashcards-browser-toolbar{flex-basis:58px!important;height:58px!important;padding:9px 12px!important;gap:9px!important}
#flashcardsView .browser-tool{min-width:38px;height:38px!important;border-radius:9px!important;font-size:13px!important}
#flashcardsView .flashcards-search-form{height:40px!important;border-radius:9px!important;padding-left:12px!important}
#flashcardsView .flashcards-search-form input{font-size:13px!important}
#flashcardsView .flashcards-search-form button{padding:8px 12px!important;font-size:10px!important}
#flashcardsView .flashcards-browser-content{padding:22px 24px 24px!important}
#flashcardsView .flashcards-top{margin-bottom:16px!important}
#flashcardsView .flashcards-top h1{font-size:30px!important}
#flashcardsView .flashcards-header-actions{gap:8px!important}
#flashcardsView .flashcards-browser-content .pageControls{margin-bottom:16px!important}
#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;padding:4px 4px 18px 0!important}
#flashcardsView .flashcards-browser-content .flashcard-card{min-height:236px!important;padding:12px!important;border-radius:14px!important}
#flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{flex-basis:158px!important;height:158px!important;min-height:158px!important;margin-bottom:11px!important;border-radius:10px!important}
#flashcardsView .flashcards-browser-content .flashcard-card .flashcardTitle{font-size:15px!important;line-height:1.3!important;min-height:38px!important;padding:3px 4px 5px!important}
#flashcardsView .flashcardIconFallback .flashcardIconLetters{width:60px!important;height:60px!important;border-radius:17px!important;font-size:21px!important}
#flashcardsView.flashcard-playing .flashcard-player-toolbar{height:46px!important;min-height:46px!important;padding:6px 10px!important;gap:10px!important}
#flashcardsView.flashcard-playing .flashcard-player-toolbar .browser-tool{height:34px!important;min-width:38px!important}
#flashcardsView.flashcard-playing #flashcardPlayerStatus{font-size:10px!important}
#flashcardsView.flashcard-playing .flashcard-player-frame-wrap{overflow:hidden!important}
@media(max-width:1050px){#flashcardsView.desktop-floating-window{width:96vw!important}.flashcards-browser-content #grid,#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){#flashcardsView.desktop-floating-window{min-width:280px!important;width:97vw!important;height:88vh!important}.flashcards-browser-content,#flashcardsView .flashcards-browser-content{padding:16px!important}.flashcards-browser-content #grid,#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.flashcards-browser-content .flashcard-card,#flashcardsView .flashcards-browser-content .flashcard-card{min-height:205px!important}.flashcards-browser-content .flashcard-card .thumbWrap,#flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{height:128px!important;min-height:128px!important;flex-basis:128px!important}}
@media(max-width:480px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:1fr 1fr!important}.flashcards-header-actions .discord-game-link{display:none}}
#settingsView{display:none!important}

.dock-icon i{display:none!important}
.dock-icon .dock-svg{display:block;width:24px;height:24px;color:#fff}

#settingsView{display:none!important;visibility:hidden!important;pointer-events:none!important}
body{--ss-flat-shadow:0 18px 45px rgba(0,0,0,.46)}
.desktop-dock .dock-item{filter:none!important;box-shadow:none!important}
.desktop-dock .dock-item:hover{transform:translateY(-2px)!important;filter:none!important}
.desktop-dock .dock-item:active{transform:translateY(0) scale(.98)!important}
.desktop-dock .dock-icon{background:transparent!important;border-color:rgba(255,255,255,.10)!important;box-shadow:none!important}
#flashcardsView{
  width:min(1320px,96vw)!important;
  height:min(880px,92vh)!important;
  max-width:none!important;max-height:none!important;
  border-radius:12px!important;
  box-shadow:var(--ss-flat-shadow)!important;
  backdrop-filter:none!important;
}
#flashcardsView .app-window-bar{height:50px!important}
#flashcardsView .flashcards-browser-toolbar{padding:10px 16px!important;gap:9px!important}
#flashcardsView .flashcards-browser-content{padding:24px 28px 30px!important}
#flashcardsView .flashcards-top{gap:20px!important;align-items:flex-start!important}
#flashcardsView .flashcards-header-actions{gap:9px!important;flex-wrap:wrap!important}
#flashcardsView .pageControls{margin:20px 0!important}
#flashcardsView .grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
#flashcardsView .flashcard-card{
  min-height:272px!important;
  padding:14px!important;
  border-radius:12px!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}
#flashcardsView .thumbWrap{
  height:176px!important;
  min-height:176px!important;
  border-radius:10px!important;
}
#flashcardsView .flashcardTitle{margin-top:12px!important;font-size:14px!important;line-height:1.35!important;min-height:38px!important}
#flashcardsView .flashcard-card .settings-btn{min-height:36px!important}
#flashcardsView .flashcardPreview{font-size:12px!important;letter-spacing:.08em!important}
#flashcardsView.flashcard-playing .flashcards-browser-content{display:none!important}
#flashcardsView.flashcard-playing #flashcardPlayerPane{display:flex!important;inset:50px 0 0!important}
#flashcardsView.flashcard-playing .flashcard-player-toolbar{min-height:50px!important;height:50px!important;padding:0 14px!important;gap:10px!important}
#flashcardsView.flashcard-playing .flashcard-player-frame-wrap{inset:50px 0 0!important;overflow:hidden!important;background:#050507!important}
#flashcardsView.flashcard-playing #player{width:100%!important;height:100%!important;border:0!important;display:block!important;background:#050507!important}
@media(max-width:1100px){#flashcardsView .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){#flashcardsView{width:96vw!important;height:90vh!important}#flashcardsView .flashcards-browser-content{padding:20px!important}#flashcardsView .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}#flashcardsView .thumbWrap{height:150px!important;min-height:150px!important}}
@media(max-width:560px){#flashcardsView{width:100vw!important;height:100vh!important;border-radius:0!important}#flashcardsView .flashcards-browser-content{padding:16px!important}#flashcardsView .grid{grid-template-columns:1fr!important}#flashcardsView .flashcard-card{min-height:0!important}#flashcardsView .thumbWrap{height:180px!important;min-height:180px!important}}

#publisherWindow{border-radius:12px!important;box-shadow:0 18px 45px rgba(0,0,0,.46)!important;backdrop-filter:none!important}
#publisherWindow .publisher-window-bar{background:#0c0c0e!important}
#publisherWindow .publisher-body{background:#08080a!important}
#publisherWindow .publisher-upload-button:after{display:none!important}
#publisherWindow .publisher-provider:hover,#publisherWindow .publisher-result-card:hover,#publisherWindow .publisher-link-row:hover{transform:none!important}
.discord-launch,.discord-game-link{box-shadow:none!important;text-shadow:none!important;background:#0b0b0d!important}

:root{
  --human-bg:#08080a;
  --human-panel:rgba(12,12,15,.94);
  --human-panel-2:rgba(16,16,19,.96);
  --human-border:rgba(255,255,255,.11);
  --human-border-soft:rgba(255,255,255,.075);
  --human-text:#f4f4f5;
  --human-muted:#a5a5aa;
  --human-dim:#76767c;
  --human-red:#ef343c;
  --human-red-soft:rgba(239,52,60,.12);
  --human-radius:10px;
}

html{scroll-behavior:auto!important}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:normal!important}

.bg{
  background:
    linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.62)),
    url('https://i.postimg.cc/PfvN6szG/red.jpg') center/cover no-repeat!important;
  filter:brightness(.42)!important;
  opacity:1!important;
}
#particles{display:none!important}

.desktop-shell{padding:26px 28px 108px!important}
.desktop-center{top:47%!important;width:min(720px,calc(100vw - 40px))!important}
.desktop-date{
  margin-bottom:8px!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  color:rgba(255,255,255,.55)!important;
}
.desktop-time{
  font-size:clamp(42px,6vw,62px)!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
  text-shadow:none!important;
}
.desktop-title{
  margin-top:12px!important;
  font-size:clamp(42px,6.5vw,64px)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  text-shadow:none!important;
}
.desktop-subtitle{margin-top:8px!important;font-size:12px!important;color:rgba(255,255,255,.58)!important}
.desktop-topbar{height:32px!important}
.desktop-settings{
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:7px!important;
  background:rgba(8,8,10,.72)!important;
  font-size:10px!important;
  font-weight:700!important;
}
.desktop-settings:hover{transform:none!important;background:rgba(20,20,23,.92)!important;border-color:rgba(255,70,70,.48)!important}

.desktop-dock{
  bottom:20px!important;
  gap:2px!important;
  padding:5px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  background:rgba(10,10,12,.94)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.38)!important;
  backdrop-filter:none!important;
}
.desktop-dock .dock-item{
  width:86px!important;
  min-width:86px!important;
  padding:7px 9px 8px!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  background:transparent!important;
  transition:background-color .14s ease,border-color .14s ease!important;
}
.desktop-dock .dock-item:hover{transform:none!important;background:#17171a!important;border-color:rgba(255,255,255,.08)!important}
.desktop-dock .dock-item:active{transform:none!important}
.desktop-dock .dock-icon{
  width:30px!important;height:30px!important;margin-bottom:4px!important;
  border:0!important;border-radius:6px!important;
  background:#151519!important;box-shadow:none!important;
}
.desktop-dock .dock-item b{font-size:10px!important;font-weight:650!important}
.desktop-dock .dock-item small{display:none!important}

#flashcardsView,#portalWindow,#publisherWindow{
  border:1px solid var(--human-border)!important;
  border-radius:10px!important;
  background:var(--human-panel)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.48)!important;
  backdrop-filter:none!important;
}
.app-window-bar,.flashcards-window-bar,.portal-window-bar,.publisher-window-bar{
  min-height:42px!important;height:42px!important;
  padding:0 11px!important;
  background:#101012!important;
  border-bottom:1px solid var(--human-border-soft)!important;
}
.window-lights{gap:5px!important}
.window-light{width:10px!important;height:10px!important;border:0!important;box-shadow:none!important}
.app-window-bar strong{font-size:11px!important;font-weight:700!important;color:#e8e8ea!important}

#flashcardsView.desktop-floating-window{width:min(1240px,95vw)!important;height:min(840px,91vh)!important;padding:0!important;overflow:hidden!important}
#flashcardsView.desktop-floating-window::before,#flashcardsView.desktop-floating-window::after{display:none!important}
#flashcardsView .flashcards-browser-toolbar{
  flex-basis:48px!important;height:48px!important;padding:7px 10px!important;
  background:#0b0b0d!important;border-bottom:1px solid var(--human-border-soft)!important;
}
#flashcardsView .browser-tool{
  min-width:30px!important;width:30px!important;height:30px!important;padding:0!important;
  border:1px solid var(--human-border-soft)!important;border-radius:6px!important;
  background:#131316!important;color:#b8b8bd!important;font-size:14px!important;
}
#flashcardsView .browser-tool:hover{background:#1a1a1e!important;color:#fff!important}
#flashcardsView .flashcards-search-form{
  height:30px!important;border:1px solid var(--human-border-soft)!important;
  border-radius:7px!important;background:#111114!important;padding:0 5px 0 9px!important;
}
#flashcardsView .flashcards-search-form span{display:none!important}
#flashcardsView .flashcards-search-form input{font-size:12px!important;color:#eee!important}
#flashcardsView .flashcards-search-form button{
  height:24px!important;padding:0 8px!important;border-radius:5px!important;
  background:#1a1a1e!important;color:#ddd!important;font-size:9px!important;
}
#flashcardsView .flashcards-browser-content{padding:18px 20px 24px!important}
#flashcardsView .flashcards-top{
  margin:0 0 13px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid var(--human-border-soft)!important;
}
#flashcardsView .flashcards-top h1{
  font-size:24px!important;line-height:1.1!important;font-weight:750!important;
  letter-spacing:-.025em!important;text-shadow:none!important;
}
#flashcardsView .flashcards-top #flashcardsMeta{font-size:11px!important;color:var(--human-muted)!important;opacity:1!important}
#flashcardsView .flashcards-header-actions{gap:5px!important}
#flashcardsView .flashcards-header-actions .home,
#flashcardsView .flashcards-header-actions #savedToggle,
#flashcardsView .flashcards-header-actions #luminLoad{
  min-height:30px!important;height:30px!important;padding:0 10px!important;
  border:1px solid var(--human-border-soft)!important;border-radius:6px!important;
  background:#121215!important;color:#ddd!important;font-size:10px!important;font-weight:650!important;
}
#flashcardsView .flashcards-header-actions .home:hover,
#flashcardsView .flashcards-header-actions #savedToggle:hover,
#flashcardsView .flashcards-header-actions #luminLoad:hover{
  background:#1a1a1e!important;border-color:rgba(255,255,255,.16)!important;transform:none!important;
}
#flashcardsView .catalogSearch{display:none!important}
#flashcardsView .flashcards-browser-content .pageControls{justify-content:flex-start!important;margin:0 0 13px!important;gap:6px!important}
#flashcardsView .flashcards-browser-content .pageControls button,
#flashcardsView .pageIndicator{
  min-height:29px!important;height:29px!important;padding:0 9px!important;
  border:1px solid var(--human-border-soft)!important;border-radius:6px!important;
  background:#121215!important;color:#d9d9dc!important;font-size:10px!important;
}
#flashcardsView .pageIndicator{display:flex;align-items:center;background:transparent!important;color:#8d8d92!important}
#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
#flashcardsView .flashcards-browser-content .flashcard-card{
  min-height:196px!important;padding:8px!important;border:1px solid var(--human-border-soft)!important;
  border-radius:8px!important;background:#101013!important;box-shadow:none!important;
}
#flashcardsView .flashcards-browser-content .flashcard-card:hover{
  transform:none!important;background:#151518!important;border-color:rgba(255,255,255,.16)!important;
}
#flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{
  height:118px!important;min-height:118px!important;margin-bottom:8px!important;border-radius:6px!important;
  background:#19191d!important;
}
#flashcardsView .flashcards-browser-content .flashcard-card .flashcardPreview{
  background:rgba(0,0,0,.45)!important;font-size:10px!important;font-weight:650!important;letter-spacing:.03em!important;
}
#flashcardsView .flashcards-browser-content .flashcard-card .flashcardTitle{
  padding:1px 2px 2px!important;text-align:left!important;font-size:12px!important;line-height:1.25!important;
  font-weight:650!important;min-height:30px!important;color:#f0f0f2!important;
}
#flashcardsView .flashcards-browser-content .flashcard-card .settings-btn{display:none!important}

#flashcardsView .flashcard-player-toolbar{
  background:#0d0d0f!important;border-top:1px solid var(--human-border-soft)!important;
  min-height:42px!important;height:42px!important;padding:0 9px!important;
}
#flashcardPlayerTitle{font-size:11px!important;font-weight:650!important;color:#ddd!important}
#flashcardPlayerSave{margin-left:auto!important}
.flashcard-save-button{border-color:rgba(255,75,80,.35)!important;color:#fff!important;background:#211114!important}
.flashcard-save-button:hover{background:#35171b!important}

#publisherWindow{width:min(1080px,93vw)!important;height:min(770px,88vh)!important}
#publisherWindow .publisher-window-bar{background:#101012!important}
#publisherWindow .publisher-body{background:#0e0e11!important}
#publisherWindow .publisher-config,#publisherWindow .publisher-results{background:transparent!important}
#publisherWindow .publisher-panel{box-shadow:none!important}
#publisherWindow .publisher-results-summary{background:#121215!important;border:1px solid var(--human-border-soft)!important;border-radius:8px!important;box-shadow:none!important}
#publisherWindow .publisher-result-card{background:#111114!important;border:1px solid var(--human-border-soft)!important;border-radius:8px!important;animation:none!important}
#publisherWindow .publisher-provider,#publisherWindow .publisher-action,#publisherWindow .publisher-upload-button,#publisherWindow .publisher-filter,#publisherWindow .publisher-sort{box-shadow:none!important;transform:none!important}
#publisherWindow .publisher-provider:hover,#publisherWindow .publisher-action:hover:not(:disabled),#publisherWindow .publisher-upload-button:hover{transform:none!important;box-shadow:none!important}
#publisherWindow .publisher-link-row:hover{transform:none!important}
#publisherWindow input,#publisherWindow select,#publisherWindow textarea{box-shadow:none!important}

.desktop-dock,.desktop-center,.flashcards-top,.flashcards-browser-toolbar,.pageControls,
#flashcardsView .flashcard-card,.publisher-result-card,.publisher-provider,#publisherWindow .publisher-upload-button,
#publisherWindow .publisher-action{animation:none!important;filter:none!important;will-change:auto!important}
.desktop-shell{transform:none!important;transition:none!important}
#flashcardsView.desktop-floating-window,#portalWindow,#publisherWindow{animation:none!important}

@media(max-width:1250px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:900px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){
  .desktop-shell{padding:22px 16px 100px!important}
  .desktop-time{font-size:42px!important}.desktop-title{font-size:46px!important}
  #flashcardsView .flashcards-browser-content{padding:14px!important}
  #flashcardsView .flashcards-top{align-items:flex-start!important}
  #flashcardsView .flashcards-header-actions{justify-content:flex-start!important}
  #flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #flashcardsView .flashcards-browser-content .flashcard-card{min-height:184px!important}
  #flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{height:112px!important;min-height:112px!important}
}
@media(max-width:430px){
  .desktop-dock .dock-item{width:76px!important;min-width:76px!important}
  #flashcardsView .flashcards-browser-content #grid{gap:8px!important}
  #flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{height:100px!important;min-height:100px!important}
}

#flashcardsView.desktop-floating-window,#publisherWindow,#portalWindow{border:1px solid rgba(255,255,255,.11)!important;border-radius:10px!important;background:#0d0d10!important;box-shadow:0 22px 60px rgba(0,0,0,.48)!important;backdrop-filter:none!important}
#flashcardsView.desktop-floating-window,#publisherWindow{left:50%!important;top:50%!important}
#flashcardsView.desktop-floating-window{width:min(1160px,92vw)!important;height:min(780px,86vh)!important;transform:translate(-50%,-50%)!important}
#flashcardsView .app-window-bar,#publisherWindow .publisher-window-bar,#portalWindow .portal-window-bar{min-height:42px!important;height:42px!important;box-sizing:border-box!important;padding:0 10px!important;background:#101012!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
#publisherWindow{width:min(1080px,92vw)!important;height:min(720px,84vh)!important;overflow:hidden!important}
#publisherWindow .publisher-window-bar{background:#101012!important}
#publisherWindow .publisher-body{grid-template-columns:340px minmax(0,1fr)!important;gap:0!important;background:#0e0e11!important}
#publisherWindow .publisher-config,#publisherWindow .publisher-results{background:transparent!important;box-shadow:none!important}
#publisherWindow .publisher-config h2,#publisherWindow .publisher-results h2{font-size:16px!important;text-shadow:none!important}
#publisherWindow .publisher-config h2:after,#publisherWindow .publisher-mode:before{content:none!important}
#publisherWindow .publisher-upload-button,#publisherWindow .publisher-action.primary{background:#b71f29!important;box-shadow:none!important}
#publisherWindow .publisher-upload-button:hover,#publisherWindow .publisher-action:hover:not(:disabled){filter:brightness(1.05)!important;transform:none!important}
#publisherWindow .publisher-result-card,#publisherWindow .publisher-provider,#publisherWindow .publisher-link-row{box-shadow:none!important;animation:none!important}
#publisherWindow .publisher-results-summary{background:#121215!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important}
#flashcardsView .flashcards-browser-content{padding:16px 18px 20px!important}
#flashcardsView .flashcards-top{margin-bottom:10px!important;gap:12px!important}
#flashcardsView .flashcards-top h1{font-size:23px!important;text-shadow:none!important}
#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
#flashcardsView .flashcards-browser-content .flashcard-card{min-height:190px!important;padding:8px!important;border-radius:8px!important;background:#111114!important;border:1px solid rgba(255,255,255,.09)!important}
#flashcardsView .flashcards-browser-content .flashcard-card:hover{background:#151518!important;border-color:rgba(255,255,255,.15)!important}
#flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{height:116px!important;min-height:116px!important;flex-basis:116px!important;border-radius:6px!important}
#flashcardsView .flashcard-player-toolbar{height:42px!important;min-height:42px!important}
#portalWindow{width:min(900px,88vw)!important;height:min(600px,78vh)!important}
#portalWindow .portal-browser-toolbar{height:42px!important;min-height:42px!important;padding:6px 8px!important;background:#101012!important}
#portalWindow .portal-search-form{height:30px!important;background:#141416!important;border-radius:7px!important}
@media(max-width:1050px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:820px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.settings-shell{width:min(900px,94vw)!important;padding:24px!important;border-radius:26px!important;background:linear-gradient(145deg,rgba(20,20,24,.94),rgba(7,7,10,.92))!important;border-color:rgba(255,255,255,.09)!important;box-shadow:0 35px 100px rgba(0,0,0,.55),0 0 70px rgba(255,35,35,.07)!important}
.settings-top{margin-bottom:20px!important}.settings-heading{gap:12px}.settings-icon{width:48px;height:48px;border-radius:15px;font-size:21px;background:linear-gradient(145deg,rgba(255,55,55,.2),rgba(255,55,55,.05));box-shadow:0 10px 35px rgba(255,35,35,.12)}
.settings-close-btn{padding:9px 13px!important;border-radius:12px!important;font-size:13px}.settings-section{margin-top:14px!important;padding:18px!important;border-radius:19px!important;background:rgba(255,255,255,.028)!important;box-shadow:none!important}.settings-section h2{font-size:18px!important;margin-bottom:5px!important}.settings-note{font-size:13px!important;margin-bottom:14px!important}.settings-kicker{font-size:10px;letter-spacing:.16em;font-weight:900;color:#ff6666;margin-bottom:5px}.settings-section-head{display:flex;justify-content:space-between}.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.theme-option{border-radius:15px!important}.theme-swatch{height:68px!important}.theme-copy{padding:10px 11px 11px!important}.theme-copy strong{font-size:13px}.theme-copy span{font-size:11px}.custom-preview{height:78px!important;margin:14px 0 10px!important;border-radius:15px!important}.custom-preview-label{font-size:12px;left:14px;bottom:12px}.custom-colors{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}.color-field{padding:9px!important;grid-template-columns:1fr!important;gap:6px!important;border-radius:13px!important}.color-field input[type=color]{width:100%;height:34px}.hex-input{margin-top:4px!important}.settings-actions{margin-top:11px!important}.settings-btn{padding:9px 13px!important;border-radius:11px!important;font-size:12px}.compact-settings{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}.setting-toggle{padding:11px!important;border-radius:13px!important}.setting-toggle b{font-size:12px}.setting-toggle small{font-size:10px}.settings-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px}.setting-range-row{padding:11px 12px!important;border-radius:13px!important;background:rgba(255,255,255,.025);border:1px solid var(--line)}.setting-range-row label{font-size:12px}.danger-btn{border-color:rgba(255,70,70,.25)!important;color:#ff9a9a!important}.danger-btn:hover{border-color:#ff4b4b!important;background:rgba(255,50,50,.08)!important}
@media(max-width:800px){.theme-grid,.compact-settings,.custom-colors{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-range-grid{grid-template-columns:1fr}.settings-shell{padding:17px!important}}
@media(max-width:480px){.theme-grid,.compact-settings,.custom-colors{grid-template-columns:1fr 1fr!important}.theme-swatch{height:58px!important}}

:root{
  --ss-ease:cubic-bezier(.22,.8,.22,1);
  --ss-spring:cubic-bezier(.16,1,.3,1);
  --ss-fast:150ms;
  --ss-med:220ms;
}

@keyframes ssFadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes ssSoftIn{
  from{opacity:0;transform:scale(.985)}
  to{opacity:1;transform:scale(1)}
}
@keyframes ssDockIn{
  from{opacity:0;transform:translate(-50%,10px)}
  to{opacity:1;transform:translate(-50%,0)}
}
@keyframes ssPulse{
  0%{transform:scale(1)}
  45%{transform:scale(.975)}
  100%{transform:scale(1)}
}
@keyframes ssWindowIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(.965)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

#flashcardsView.ss-window-opening,
#publisherWindow.publisher-opening{
  animation:ssWindowIn 240ms var(--ss-spring) both !important;
  filter:none !important;
  clip-path:none !important;
}

.desktop-dock{
  animation:ssDockIn 300ms var(--ss-spring) both !important;
}

.dock-item,
.desktop-app,
.desktop-settings,
.portal-dock .dock-icon,
.card,
.flashcard-card,
.theme-option,
.settings-btn,
.publisher-provider,
.publisher-result-head,
.publisher-link-row,
.publisher-action,
.publisher-upload-button{
  transition:
    transform var(--ss-med) var(--ss-ease),
    opacity var(--ss-med) ease,
    background-color var(--ss-med) ease,
    border-color var(--ss-med) ease,
    box-shadow var(--ss-med) ease,
    color var(--ss-fast) ease !important;
  will-change:auto;
}

.dock-item:hover,
.desktop-app:hover,
.desktop-settings:hover,
.card:hover,
.theme-option:hover,
.publisher-provider:hover{
  transform:translateY(-2px) !important;
}

.portal-dock .dock-icon:hover{
  transform:translateY(-2px) scale(1.025) !important;
}

.dock-item:active,
.desktop-app:active,
.desktop-settings:active,
.card:active,
.settings-btn:active,
.publisher-action:active,
.publisher-upload-button:active{
  animation:ssPulse 150ms ease both;
}

.flashcard-card{
  animation:ssFadeUp 260ms var(--ss-spring) both;
  animation-delay:calc(min(var(--card-i,0),12) * 18ms);
}

.publisher-result-card{
  animation:ssFadeUp 220ms var(--ss-spring) both !important;
  transform-origin:center top;
}

.publisher-result-card.collapsed .publisher-result-body{
  display:none;
}

.publisher-result-body{
  animation:ssSoftIn 180ms var(--ss-ease) both !important;
}

.flashcards-browser-toolbar,
.flashcards-top,
.pageControls,
.settings-shell,
.settings-section,
.settings-top{
  animation:ssFadeUp 260ms var(--ss-spring) both;
}

.settings-section:nth-child(2){animation-delay:25ms}
.settings-section:nth-child(3){animation-delay:50ms}
.settings-section:nth-child(4){animation-delay:75ms}

.theme-option:nth-child(1),.compact-settings>*:nth-child(1){animation-delay:20ms}
.theme-option:nth-child(2),.compact-settings>*:nth-child(2){animation-delay:35ms}
.theme-option:nth-child(3),.compact-settings>*:nth-child(3){animation-delay:50ms}
.theme-option:nth-child(4),.compact-settings>*:nth-child(4){animation-delay:65ms}

input,textarea,select{
  transition:border-color 160ms ease,box-shadow 180ms ease,background-color 180ms ease !important;
}
input:focus,textarea:focus,select:focus{
  box-shadow:0 0 0 3px rgba(255,55,55,.09) !important;
}

.flashcard-card:hover .flashcardPreview{
  opacity:1;
  transform:translateY(0);
}
.flashcardPreview{
  transition:opacity 180ms ease,transform 180ms var(--ss-ease) !important;
}

body.no-desktop-animations *,
body.no-desktop-animations *::before,
body.no-desktop-animations *::after{
  animation:none !important;
  transition:none !important;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:1ms !important;
    transition-duration:1ms !important;
    scroll-behavior:auto !important;
  }
}

@keyframes ssPortalWindowIn{from{opacity:0;transform:translate(-50%,-50%) scale(.975)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
#portalWindow.open{animation:ssPortalWindowIn 240ms cubic-bezier(.16,1,.3,1) both}
#settingsView{transition:opacity 180ms ease,transform 220ms cubic-bezier(.16,1,.3,1)}
body.settings-mode #settingsView{animation:ssSettingsIn 240ms cubic-bezier(.16,1,.3,1) both}
@keyframes ssSettingsIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}

html,body{background:#070000!important}
#bootScreen{background:#070000!important;opacity:1;visibility:visible}
#flashcardsView.desktop-floating-window.ss-window-opening,
#publisherWindow.publisher-opening,
#aiWindow.publisher-opening,
#portalWindow.ss-window-opening,
#settingsView.ss-window-opening{
 animation:ssWindowUnified .34s cubic-bezier(.16,1,.3,1) both!important;
 transform-origin:center center;
}
@keyframes ssWindowUnified{
 0%{opacity:0;transform:translate(-50%,-50%) scale(.94) translateY(8px)}
 65%{opacity:1;transform:translate(-50%,-50%) scale(1.012) translateY(0)}
 100%{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0)}
}
#flashcardsView.desktop-floating-window.ss-window-opening .window-inner,
#publisherWindow.publisher-opening .publisher-inner,
#aiWindow.publisher-opening .ai-window-body,
#portalWindow.ss-window-opening .portal-window-frame{animation:ssWindowContent .3s .04s cubic-bezier(.16,1,.3,1) both}
@keyframes ssWindowContent{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.desktop-dock .dock-item{transition:transform .22s cubic-bezier(.16,1,.3,1),filter .22s ease,opacity .22s ease}
.desktop-dock .dock-item:hover{transform:translateY(-7px) scale(1.045)}
.desktop-dock .dock-item:active{transform:translateY(-2px) scale(.965)}
@media(prefers-reduced-motion:reduce){#flashcardsView.desktop-floating-window.ss-window-opening,#publisherWindow.publisher-opening,#aiWindow.publisher-opening,#portalWindow.ss-window-opening,#settingsView.ss-window-opening{animation:none!important}.desktop-dock .dock-item{transition:none!important}}

:root{--ss-motion:cubic-bezier(.22,.75,.2,1)}
html{scroll-behavior:smooth}
body{overscroll-behavior:none}
#publisherWindow{border-radius:20px!important;box-shadow:0 34px 110px rgba(0,0,0,.78),0 0 45px rgba(255,30,40,.10),inset 0 1px rgba(255,255,255,.04)!important}
#publisherWindow .publisher-window-bar{height:50px;flex-basis:50px!important;background:linear-gradient(90deg,rgba(54,8,12,.98),rgba(16,7,9,.98) 62%,rgba(7,7,9,.99))!important}
#publisherWindow .publisher-body{background:radial-gradient(circle at 82% 0%,rgba(180,20,28,.10),transparent 30%),linear-gradient(145deg,#0d080a,#050507)!important}
#publisherWindow .publisher-config,#publisherWindow .publisher-results{scrollbar-color:rgba(255,90,95,.30) transparent;scrollbar-width:thin}
#publisherWindow .publisher-upload-button{position:relative;overflow:hidden}
#publisherWindow .publisher-upload-button:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.10),transparent 65%);transform:translateX(-120%);transition:transform .55s var(--ss-motion)}
#publisherWindow .publisher-upload-button:hover:after{transform:translateX(120%)}
#publisherWindow .publisher-action.primary{min-height:38px}
#publisherWindow .publisher-status{transition:background-color .18s,border-color .18s,color .18s,transform .18s var(--ss-motion)}
#publisherWindow .publisher-provider,#publisherWindow .publisher-result-card,#publisherWindow .publisher-link-row,#publisherWindow .publisher-action,#publisherWindow .publisher-upload-button{will-change:transform,opacity}
#publisherWindow .publisher-provider:hover{transform:translate3d(0,-2px,0)!important}
#publisherWindow .publisher-result-card:hover{transform:translate3d(0,-1px,0)}
#publisherWindow .publisher-link-row:hover{transform:translate3d(3px,0,0)}
#publisherWindow .publisher-result-card{animation:ssFadeUp 220ms var(--ss-motion) both!important;animation-delay:calc(min(var(--result-i,0),8) * 28ms)!important}
#publisherWindow .publisher-result-body{animation:ssSoftIn 180ms var(--ss-motion) both!important}
#flashcardsView .flashcard-player-toolbar{min-height:42px}
#flashcardPlayerStatus{display:none!important}
#flashcardPlayerStatus:before{content:"";width:6px;height:6px;border-radius:50%;background:#55dc79;box-shadow:0 0 8px rgba(85,220,121,.45)}
@media(prefers-reduced-motion:no-preference){
  #flashcardsView.desktop-floating-window.ss-window-opening,#publisherWindow.publisher-opening,#aiWindow.publisher-opening,#portalWindow.ss-window-opening,#settingsView.ss-window-opening{animation:ssCleanWindowIn 270ms var(--ss-motion) both!important}
  #flashcardsView.desktop-floating-window.ss-window-opening .window-inner,#publisherWindow.publisher-opening .publisher-inner,#aiWindow.publisher-opening .ai-window-body,#portalWindow.ss-window-opening .portal-window-frame{animation:ssCleanContentIn 190ms var(--ss-motion) 35ms both!important}
  .desktop-dock .dock-item{transition:transform 180ms var(--ss-motion),opacity 180ms ease,background-color 180ms ease,box-shadow 180ms ease}
  .desktop-dock .dock-item:hover{transform:translate3d(0,-3px,0)}
  .desktop-dock .dock-item:active{transform:translate3d(0,-1px,0) scale(.98)}
}
@keyframes ssCleanWindowIn{from{opacity:0;transform:translate(-50%,-50%) scale(.975)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ssCleanContentIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#publisherWindow .publisher-upload-button:after{display:none}#flashcardsView.desktop-floating-window.ss-window-opening,#publisherWindow.publisher-opening,#aiWindow.publisher-opening,#portalWindow.ss-window-opening,#settingsView.ss-window-opening{animation:none!important}}

#flashcardsView .flashcards-browser-toolbar{min-height:40px!important;padding:7px 10px!important;gap:7px!important}
#flashcardsView .flashcards-browser-toolbar button{min-width:34px!important;width:34px!important;height:30px!important;padding:0!important;font-size:13px!important}
#flashcardsView .flashcards-browser-content{padding:14px 16px 16px!important}
#flashcardsView .flashcards-top{margin:0 0 10px!important;align-items:center!important;gap:10px!important}
#flashcardsView .flashcards-top h1{font-size:24px!important;line-height:1.08!important;margin:0 0 2px!important}
#flashcardsView .flashcards-top #flashcardsMeta{font-size:11px!important;line-height:1.2!important;opacity:.72}
#flashcardsView .flashcards-header-actions{gap:6px!important;flex-wrap:wrap!important}
#flashcardsView .flashcards-header-actions .home,#flashcardsView .flashcards-header-actions #savedToggle,#flashcardsView .flashcards-header-actions #luminLoad{min-height:30px!important;padding:0 9px!important;font-size:11px!important;border-radius:8px!important}
#flashcardsView .catalogSearch{height:38px!important;margin:0 0 9px!important;padding:9px 12px!important;border-radius:9px!important;font-size:13px!important}
#flashcardsView .flashcards-browser-content .pageControls{margin:0 0 10px!important;gap:7px!important}
#flashcardsView .flashcards-browser-content .pageControls button{min-height:30px!important;padding:0 9px!important;font-size:11px!important;border-radius:8px!important}
#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;padding:0 0 14px!important}
#flashcardsView .flashcards-browser-content .flashcard-card{min-height:198px!important;padding:9px!important;border-radius:11px!important;box-shadow:none!important}
#flashcardsView .flashcards-browser-content .flashcard-card .thumbWrap{flex-basis:124px!important;height:124px!important;min-height:124px!important;margin-bottom:7px!important;border-radius:8px!important}
#flashcardsView .flashcards-browser-content .flashcard-card .flashcardTitle{font-size:13px!important;line-height:1.22!important;min-height:32px!important;padding:2px 2px 4px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;white-space:normal!important}
#flashcardsView .flashcards-browser-content .flashcard-card .settings-btn{min-height:27px!important;height:27px!important;margin-top:3px!important;padding:0 7px!important;font-size:10px!important;border-radius:7px!important}
#flashcardsView .flashcardPreview{font-size:10px!important;letter-spacing:.08em!important}
#flashcardsView .flashcards-browser-content .flashcard-card:hover{transform:translateY(-1px)!important}
#flashcardsView .flashcards-browser-content .flashcard-card:hover .thumbWrap{transform:none!important;box-shadow:none!important}
#flashcardsView .flashcards-browser-content .flashcard-card{animation:none!important;transition:background-color .12s ease,border-color .12s ease!important}
@media(max-width:1250px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:900px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){#flashcardsView .flashcards-browser-content #grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){#flashcardsView .flashcards-browser-content{padding:10px!important}#flashcardsView .flashcards-browser-content #grid{gap:8px!important}.flashcards-header-actions{gap:4px!important}.flashcards-header-actions .home,.flashcards-header-actions #savedToggle,.flashcards-header-actions #luminLoad{padding:0 7px!important}}
/* Publisher refresh: one restrained layer over the legacy styles. */
#publisherWindow{
  width:min(1060px,calc(100vw - 28px))!important;
  height:min(720px,calc(100vh - 56px))!important;
  min-width:520px!important;
  min-height:420px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:12px!important;
  background:#0d0d0f!important;
  color:#f4f4f5!important;
  box-shadow:0 26px 80px rgba(0,0,0,.62)!important;
  overflow:hidden!important;
}
#publisherWindow .publisher-window-bar{
  height:44px!important;
  flex-basis:44px!important;
  padding:0 14px!important;
  background:#121214!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
#publisherWindow .publisher-window-bar strong{font-size:11px!important;letter-spacing:0!important;font-weight:700!important}
#publisherWindow .window-lights{gap:7px!important}
#publisherWindow .window-light{width:10px!important;height:10px!important}
#publisherWindow .publisher-body{
  height:calc(100% - 44px)!important;
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:0!important;
  overflow:hidden!important;
  background:#0d0d0f!important;
}
#publisherWindow .publisher-panel{
  min-width:0!important;
  margin:0!important;
  padding:18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#publisherWindow .publisher-config{
  overflow:auto!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
  scrollbar-color:rgba(255,255,255,.16) transparent!important;
}
#publisherWindow .publisher-results{
  overflow:auto!important;
  scrollbar-color:rgba(255,255,255,.16) transparent!important;
}
#publisherWindow .publisher-intro{margin:1px 0 18px!important}
#publisherWindow .publisher-kicker{font:700 9px/1.2 Inter,system-ui,sans-serif!important;letter-spacing:.11em!important;color:#8e8e96!important;text-transform:uppercase!important}
#publisherWindow .publisher-intro h2,#publisherWindow .publisher-results-head h2{margin:4px 0 4px!important;font:700 20px/1.1 Inter,system-ui,sans-serif!important;letter-spacing:-.02em!important;color:#f5f5f6!important}
#publisherWindow .publisher-intro p,#publisherWindow .publisher-results-head p{margin:0!important;font:400 11px/1.45 Inter,system-ui,sans-serif!important;color:#898990!important}
#publisherWindow .publisher-block{margin:0 0 14px!important;padding:13px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:9px!important;background:#111113!important}
#publisherWindow .publisher-block>label:first-child,#publisherWindow .publisher-field label{display:block!important;margin:0 0 6px!important;font:600 10px/1.2 Inter,system-ui,sans-serif!important;color:#c9c9ce!important;letter-spacing:0!important;text-transform:none!important}
#publisherWindow .publisher-field{margin:0 0 11px!important}
#publisherWindow .publisher-field:last-child{margin-bottom:0!important}
#publisherWindow .publisher-field input,#publisherWindow .publisher-field textarea,#publisherWindow .publisher-token input,
#publisherWindow .publisher-provider-search,#publisherWindow .publisher-sort{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:7px!important;
  background:#0b0b0d!important;
  color:#f4f4f5!important;
  outline:none!important;
  box-shadow:none!important;
  transition:border-color .12s ease,background-color .12s ease!important;
}
#publisherWindow .publisher-field input,#publisherWindow .publisher-provider-search{height:34px!important;padding:0 9px!important;font-size:11px!important}
#publisherWindow .publisher-field textarea,#publisherWindow .publisher-token-block textarea{min-height:58px!important;padding:8px 9px!important;resize:vertical!important;font:400 11px/1.45 Inter,system-ui,sans-serif!important}
#publisherWindow input:focus,#publisherWindow textarea:focus,#publisherWindow select:focus{border-color:rgba(255,70,70,.72)!important;box-shadow:0 0 0 2px rgba(255,60,60,.08)!important}
#publisherWindow .publisher-token-block{background:#111113!important}
#publisherWindow .publisher-token-state{margin-top:7px!important;font:500 9px/1.2 Inter,system-ui,sans-serif!important;color:#808088!important}
#publisherWindow .publisher-details-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
#publisherWindow .publisher-field-wide{grid-column:1/-1!important}
#publisherWindow .publisher-field-wide input{height:36px!important}
#publisherWindow .publisher-upload-button{
  min-height:44px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0!important;
  padding:0 11px!important;
  border:1px dashed rgba(255,255,255,.14)!important;
  border-radius:8px!important;
  background:#0c0c0e!important;
  color:#f0f0f2!important;
  box-shadow:none!important;
  cursor:pointer!important;
  font:600 10px/1 Inter,system-ui,sans-serif!important;
}
#publisherWindow .publisher-upload-button small{font:500 8px/1.2 Inter,system-ui,sans-serif!important;color:#77777f!important}
#publisherWindow .publisher-file-list{max-height:106px!important;overflow:auto!important;margin-top:8px!important}
#publisherWindow .publisher-file-chip{padding:7px 8px!important;border-radius:6px!important;border-color:rgba(255,255,255,.08)!important;background:#0c0c0e!important;font-size:9px!important}
#publisherWindow .publisher-provider-top{margin:8px 0 7px!important}
#publisherWindow .publisher-provider-grid{grid-template-columns:1fr 1fr!important;gap:5px!important;max-height:150px!important;overflow:auto!important}
#publisherWindow .publisher-provider{min-width:0!important;min-height:31px!important;padding:6px 7px!important;border-radius:6px!important;border-color:rgba(255,255,255,.08)!important;background:#0c0c0e!important;color:#a6a6ad!important;font-size:9px!important;transform:none!important;box-shadow:none!important}
#publisherWindow .publisher-provider.on{border-color:rgba(255,62,62,.48)!important;background:#171012!important;color:#f3f3f4!important}
#publisherWindow .publisher-provider:hover{transform:none!important;background:#151517!important}
#publisherWindow .publisher-provider-tools{gap:4px!important;margin-top:7px!important}
#publisherWindow .publisher-filter,#publisherWindow .publisher-sort{
  width:auto!important;
  height:29px!important;
  min-width:0!important;
  padding:0 8px!important;
  border-radius:6px!important;
  background:#111113!important;
  color:#a8a8ae!important;
  font:500 8px/1 Inter,system-ui,sans-serif!important;
}
#publisherWindow .publisher-filter.active{border-color:rgba(255,66,66,.45)!important;background:#1a1011!important;color:#f4f4f5!important}
#publisherWindow .publisher-sort{margin-left:auto!important}
#publisherWindow .publisher-advanced{border-top:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;padding:9px 0!important;margin:0 0 13px!important}
#publisherWindow .publisher-advanced summary{cursor:pointer;list-style:none;font:600 10px/1.2 Inter,system-ui,sans-serif!important;color:#b3b3b9!important}
#publisherWindow .publisher-advanced summary::-webkit-details-marker{display:none}
#publisherWindow .publisher-advanced summary:after{content:'+';float:right;color:#707079;font-weight:700}
#publisherWindow .publisher-advanced[open] summary:after{content:'−'}
#publisherWindow .publisher-advanced-body{padding-top:11px!important}
#publisherWindow .publisher-mode{height:34px!important;border-radius:7px!important;background:#111113!important;border:1px solid rgba(255,255,255,.09)!important;color:#c9c9ce!important;font:500 10px/1 Inter,system-ui,sans-serif!important}
#publisherWindow .publisher-results-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin:2px 0 18px!important}
#publisherWindow .publisher-result-count{flex:0 0 auto!important;min-width:56px!important;padding:8px 9px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:8px!important;background:#111113!important;text-align:left!important}
#publisherWindow .publisher-result-count b{display:block!important;font:700 20px/1 Inter,system-ui,sans-serif!important;color:#f4f4f5!important}
#publisherWindow .publisher-result-count span{font:500 8px/1 Inter,system-ui,sans-serif!important;color:#73737b!important}
#publisherWindow .publisher-output-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 1px 8px!important;border-bottom:1px solid rgba(255,255,255,.07)!important;font:600 9px/1 Inter,system-ui,sans-serif!important;color:#9b9ba2!important;text-transform:none!important;letter-spacing:0!important}
#publisherWindow .publisher-output-bar span:last-child{color:#777780!important}
#publisherWindow .publisher-cdns{display:grid!important;gap:7px!important;margin-top:10px!important}
#publisherWindow .publisher-result-card{margin:0!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:8px!important;background:#111113!important;overflow:hidden!important;animation:none!important;box-shadow:none!important;transform:none!important}
#publisherWindow .publisher-result-head{width:100%!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:10px 11px!important;border:0!important;background:transparent!important;color:#eee!important;text-align:left!important;cursor:pointer!important}
#publisherWindow .publisher-result-head b{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font:600 10px/1.2 Inter,system-ui,sans-serif!important;color:#e7e7ea!important}
#publisherWindow .publisher-result-head small{font:500 8px/1 Inter,system-ui,sans-serif!important;color:#777780!important;white-space:nowrap!important}
#publisherWindow .publisher-result-body{display:grid!important;gap:5px!important;padding:0 8px 8px!important;animation:none!important}
#publisherWindow .publisher-result-card.collapsed .publisher-result-body{display:none!important}
#publisherWindow .publisher-link-row{display:grid!important;grid-template-columns:92px minmax(0,1fr) 48px 48px!important;gap:6px!important;align-items:center!important;padding:6px 7px!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:6px!important;background:#0c0c0e!important;transform:none!important;box-shadow:none!important}
#publisherWindow .publisher-link-row b{font:600 8px/1.2 Inter,system-ui,sans-serif!important;color:#c5c5ca!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#publisherWindow .publisher-link-row code{font:400 8px/1.3 ui-monospace,SFMono-Regular,monospace!important;color:#777780!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#publisherWindow .publisher-link-row button{height:25px!important;padding:0 7px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:5px!important;background:#111113!important;color:#c7c7cc!important;font:600 8px/1 Inter,system-ui,sans-serif!important;cursor:pointer!important}
#publisherWindow .publisher-link-status{font:600 7px/1 Inter,system-ui,sans-serif!important;text-align:center!important;color:#777780!important}
#publisherWindow .publisher-link-status.good{color:#68cc8b!important}
#publisherWindow .publisher-link-status.bad{color:#e87979!important}
#publisherWindow .publisher-empty{padding:32px 10px!important;text-align:center!important;color:#777780!important;font:400 10px/1.4 Inter,system-ui,sans-serif!important;border:1px dashed rgba(255,255,255,.08)!important;border-radius:8px!important}
#publisherWindow .publisher-bottom{position:sticky!important;bottom:0!important;margin:12px -1px -1px!important;padding-top:10px!important;background:linear-gradient(#0d0d0f,#0d0d0f)!important;z-index:4!important}
#publisherWindow .publisher-status{margin:0 0 8px!important;padding:8px 9px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:7px!important;background:#111113!important;color:#82828a!important;font:500 9px/1.3 Inter,system-ui,sans-serif!important;min-height:16px!important}
#publisherWindow .publisher-status.ok{color:#76d59b!important;background:#101814!important;border-color:rgba(90,210,130,.16)!important}
#publisherWindow .publisher-status.error{color:#ed8787!important;background:#181011!important;border-color:rgba(240,80,80,.18)!important}
#publisherWindow .publisher-actions{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;margin:0!important}
#publisherWindow .publisher-action{height:31px!important;padding:0 10px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.09)!important;background:#111113!important;color:#bcbcc2!important;font:600 9px/1 Inter,system-ui,sans-serif!important;cursor:pointer!important;box-shadow:none!important;transform:none!important}
#publisherWindow .publisher-action.primary{background:#c62d35!important;border-color:#c62d35!important;color:#fff!important}
#publisherWindow .publisher-action:disabled{opacity:.34!important;cursor:not-allowed!important}
#publisherWindow .publisher-upload-button:hover,#publisherWindow .publisher-action:hover:not(:disabled),#publisherWindow .publisher-filter:hover,#publisherWindow .publisher-provider:hover{filter:brightness(1.05)!important;transform:none!important;box-shadow:none!important}
#publisherWindow .publisher-link-row:hover{transform:none!important;background:#101012!important}
@media(max-width:860px){
  #publisherWindow{min-width:0!important;width:calc(100vw - 18px)!important;height:calc(100vh - 36px)!important}
  #publisherWindow .publisher-body{grid-template-columns:1fr!important;overflow:auto!important}
  #publisherWindow .publisher-config{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;overflow:visible!important}
  #publisherWindow .publisher-results{overflow:visible!important}
}
@media(max-width:560px){#publisherWindow .publisher-details-grid{grid-template-columns:1fr!important}#publisherWindow .publisher-provider-grid{grid-template-columns:1fr!important}}


/* tab visibility cloak */
#tabCloak{display:none;position:fixed;inset:0;z-index:2147483647;background:#c00;pointer-events:none;}
html.ss-tab-cloaked #tabCloak{display:block;}

/* Proxy engine tabs */
.portal-engine-tabs{display:flex;align-items:center;gap:6px;padding:8px 10px 0;background:#111113;border-bottom:1px solid rgba(255,255,255,.08)}
.portal-engine-tab{border:1px solid rgba(255,255,255,.12);border-bottom:0;border-radius:8px 8px 0 0;background:rgba(255,255,255,.045);color:rgba(255,255,255,.72);padding:7px 15px;font:600 12px/1.2 Inter,system-ui,sans-serif;cursor:pointer}
.portal-engine-tab:hover{background:rgba(255,255,255,.09);color:#fff}
.portal-engine-tab.active{background:#1c1c20;color:#fff;border-color:rgba(255,255,255,.2);box-shadow:inset 0 2px 0 #e53935}
.portal-engine-notice{padding:24px;margin:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.035);color:#f5f5f5;font:14px/1.5 Inter,system-ui,sans-serif}
.portal-engine-notice[hidden]{display:none!important}
.portal-engine-notice p{margin:8px 0 0;color:rgba(255,255,255,.65);max-width:620px}


/* Independent UV and thin launchers */
.backend-launch-window{position:fixed;z-index:10006;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,88vw);min-width:min(300px,90vw);min-height:300px;max-height:84vh;overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(10,10,14,.97);color:#f5f5f5;box-shadow:0 28px 90px rgba(0,0,0,.65);backdrop-filter:blur(18px);flex-direction:column;}
.backend-launch-content{padding:30px;display:flex;flex-direction:column;gap:12px;font:14px/1.55 Inter,system-ui,sans-serif}
.backend-launch-content h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.04em}
.backend-launch-content p{margin:0;color:rgba(255,255,255,.72);max-width:560px}
.backend-launch-content code{font-size:12px;color:#fff;background:rgba(255,255,255,.08);padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}
.backend-launch-mark{align-self:flex-start;padding:7px 12px;border:1px solid rgba(229,57,53,.5);border-radius:8px;background:rgba(229,57,53,.12);color:#fff;font-weight:900;letter-spacing:.08em}
.backend-launch-status{margin-top:8px!important;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);font-size:12px}
@media(max-width:720px){.backend-launch-window{width:92vw;min-width:0;min-height:260px}.backend-launch-content{padding:22px}}


.backend-field-label{display:block;margin:14px 0 6px;color:#d7d7df;font-size:12px;font-weight:700}.backend-url-input{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #383844;border-radius:9px;background:#101015;color:#fff;font:inherit;outline:none}.backend-url-input:focus{border-color:#e63946}.backend-launch-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.backend-action-button{border:1px solid #383844;border-radius:8px;padding:9px 13px;background:#19191f;color:#eee;cursor:pointer;font:inherit;font-size:12px}.backend-action-button.primary{background:#b91c2c;border-color:#d92b3b;color:white}.backend-action-button:hover{filter:brightness(1.12)}.backend-launch-status{overflow-wrap:anywhere}
