:root {
  color-scheme: dark;
  --night: #100d27;
  --night-soft: #191439;
  --panel: rgba(255, 255, 255, .065);
  --panel-hover: rgba(255, 255, 255, .105);
  --line: rgba(255, 255, 255, .12);
  --muted: #b6b3cd;
  --white: #fbfaff;
  --cyan: #48dbfb;
  --pink: #ff79c8;
  --gold: #ffcf69;
  --green: #4fe0b2;
  --radius-lg: 24px;
  --shadow: 0 22px 70px rgba(5, 3, 20, .28);
  font-family: Tahoma, Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body {
  position: relative;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--white);
  background: radial-gradient(ellipse at 76% 2%, #33265f 0, transparent 35%), linear-gradient(145deg, #100d27 0%, #1b1640 48%, #12102c 100%);
  font-size: 15px;
  line-height: 1.7;
}
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
::selection { color: #11102a; background: var(--cyan); }
[hidden] { display: none !important; }

.ambient { position: fixed; z-index: -1; width: 380px; height: 380px; pointer-events: none; border-radius: 50%; filter: blur(100px); opacity: .16; }
.ambient-one { top: 34%; right: -240px; background: #9d52fb; }
.ambient-two { bottom: 0; left: -260px; background: #286dff; }
.app-shell { width: min(1180px, calc(100% - 52px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1001; top: 10px; right: 10px; transform: translateY(-160%); padding: 10px 15px; color: #101024; background: var(--cyan); border-radius: 9px; }
.skip-link:focus { transform: translateY(0); }

.site-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0 18px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.brand-mark { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(72, 219, 251, .4); border-radius: 16px; background: linear-gradient(140deg, rgba(72,219,251,.15), rgba(255,121,200,.1)); box-shadow: 0 0 25px rgba(72,219,251,.12); }
.brand-mark svg { width: 38px; height: 38px; overflow: visible; }
.brand-mark ellipse { fill: none; stroke: #48dbfb; stroke-width: 1.35; }
.brand-mark ellipse:nth-child(2) { stroke: #ff79c8; }
.brand-mark .nucleus { fill: #ffcf69; }
.brand-mark .electron { fill: #48dbfb; }
.brand-copy { display: grid; line-height: 1.4; }
.brand-copy strong { font-family: "Segoe UI", system-ui, sans-serif; font-size: 1.03rem; letter-spacing: .01em; }
.brand-copy small { margin-top: 3px; color: var(--muted); font-size: .71rem; }
.header-note { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 99px; color: #d8d5e9; background: rgba(255,255,255,.04); font-size: .78rem; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }

.glass-card { border: 1px solid var(--line); background: linear-gradient(140deg, rgba(255,255,255,.075), rgba(255,255,255,.035)); box-shadow: var(--shadow); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.welcome-duaa { display: flex; align-items: center; gap: 13px; min-height: 66px; padding: 12px 18px; border-radius: 17px; border-inline-start: 3px solid var(--gold); }
.duaa-icon { font-size: 1.35rem; }
.welcome-duaa p, .site-footer p { display: grid; gap: 1px; margin: 0; }
.welcome-duaa strong, .site-footer strong { color: var(--gold); font-size: .78rem; }
.welcome-duaa p span, .site-footer p span { color: #e3e0f0; font-size: .85rem; }
.sparkle { margin-inline-start: auto; color: var(--gold); font-size: 1.25rem; opacity: .8; }

.tabs { display: flex; align-items: center; gap: 8px; margin: 24px 0 34px; padding: 6px; border: 1px solid rgba(255,255,255,.08); border-radius: 17px; background: rgba(9,7,25,.3); }
.tab { position: relative; display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 9px 12px; border: 1px solid transparent; border-radius: 12px; color: #c6c2dc; background: transparent; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.tab > span { color: #9d9ab9; font-size: 1.25rem; line-height: 1; }
.tab:hover { color: var(--white); background: rgba(255,255,255,.06); }
.tab.active { color: var(--white); border-color: rgba(72,219,251,.18); background: linear-gradient(110deg, rgba(72,219,251,.15), rgba(157,82,251,.16)); box-shadow: inset 0 0 20px rgba(72,219,251,.035); }
.tab.active > span { color: var(--cyan); }
.tab:active { transform: scale(.985); }
.tab-panel { animation: panel-in .32s ease both; }
@keyframes panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); align-items: center; gap: clamp(36px, 8vw, 110px); min-height: 350px; padding: 20px 22px 36px; }
.hero-copy { position: relative; z-index: 1; max-width: 570px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; color: var(--cyan); font-size: .74rem; font-weight: 700; letter-spacing: .04em; }
.eyebrow-line { display: inline-block; width: 25px; height: 1px; background: currentColor; opacity: .8; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "Segoe UI", system-ui, Tahoma, sans-serif; line-height: 1.35; }
.hero h1 { margin: 0; font-size: clamp(3rem, 6vw, 5rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.08; }
.hero h1 span { color: transparent; background: linear-gradient(90deg, #48dbfb 5%, #a9a0ff 55%, #ff79c8 96%); -webkit-background-clip: text; background-clip: text; }
.hero-description { max-width: 480px; margin: 20px 0 23px; color: #c1bfd6; font-size: .98rem; line-height: 1.95; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 48px; padding: 10px 19px; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; color: #131129; background: linear-gradient(100deg, #48dbfb, #a4eafa 60%, #d3efff); box-shadow: 0 8px 30px rgba(72,219,251,.17); font-weight: 800; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 12px 35px rgba(72,219,251,.3); }
.primary-button span { font-size: 1.2rem; }
.hero-orbit { position: relative; display: flex; min-height: 306px; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(ellipse at 38% 44%, rgba(81,65,145,.32), transparent 64%), linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); }
.orbit-art { position: absolute; top: 50%; left: 50%; width: 230px; height: 230px; transform: translate(-50%, -55%); }
.orbit-ring { position: absolute; top: 50%; left: 50%; width: 202px; height: 78px; border: 1px solid rgba(72,219,251,.62); border-radius: 50%; transform: translate(-50%,-50%) rotate(-34deg); box-shadow: 0 0 17px rgba(72,219,251,.08); }
.ring-b { width: 190px; height: 72px; border-color: rgba(255,121,200,.62); transform: translate(-50%,-50%) rotate(35deg); }
.ring-c { width: 166px; height: 62px; border-color: rgba(255,207,105,.43); transform: translate(-50%,-50%) rotate(90deg); }
.orbit-core { position: absolute; top: 50%; left: 50%; width: 21px; height: 21px; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff7cb, #ffcf69 65%, #ff8f6b); box-shadow: 0 0 22px rgba(255,207,105,.85), 0 0 55px rgba(255,121,200,.35); transform: translate(-50%,-50%); }
.orbit-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 13px var(--cyan); }
.dot-a { top: 34px; left: 66px; }.dot-b { top: 143px; right: 22px; background: var(--pink); box-shadow: 0 0 13px var(--pink); }.dot-c { bottom: 18px; left: 122px; width: 6px; height: 6px; background: var(--gold); box-shadow: 0 0 12px var(--gold); }
.orbit-caption { position: absolute; inset-inline-start: 23px; bottom: 21px; display: grid; gap: 1px; }
.caption-kicker, .caption-detail { color: #c3bfd8; font-size: .7rem; }
.orbit-caption strong { font-size: 1.05rem; line-height: 1.45; }
.orbit-number { position: absolute; inset-inline-end: 20px; top: 16px; color: rgba(255,255,255,.35); font: 600 .72rem "Segoe UI", system-ui, sans-serif; letter-spacing: .15em; }

.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.intro-card, .atom-card { min-height: 255px; padding: 23px; border-radius: var(--radius-lg); }
.section-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 15px; }
.section-icon { display: grid; flex: 0 0 43px; height: 43px; place-items: center; border: 1px solid rgba(72,219,251,.19); border-radius: 13px; background: rgba(72,219,251,.09); font-size: 1.25rem; }
.section-heading .eyebrow { margin-bottom: 2px; font-size: .68rem; }
.section-heading h2 { margin: 0; font-size: 1.15rem; }
.intro-card > p { max-width: 510px; margin-bottom: 18px; color: #cfccdf; font-size: .9rem; line-height: 1.95; }
.intro-card > p strong { color: var(--white); }
.fact-ribbon { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 11px; color: #ddd9ed; background: rgba(72,219,251,.075); font-size: .79rem; }
.fact-mark { color: var(--gold); }
.particle-list { display: grid; gap: 8px; }
.particle { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.035); }
.particle > span:last-child { display: grid; line-height: 1.4; }
.particle strong { font-size: .83rem; }.particle small { color: var(--muted); font-size: .68rem; }
.particle-symbol, .counter-symbol { display: inline-grid; flex: 0 0 31px; width: 31px; height: 31px; place-items: center; border: 1px solid currentColor; border-radius: 10px; font: 700 .9rem "Segoe UI", system-ui, sans-serif; }
.proton { color: #ff8f96; }.neutron { color: #ffcf69; }.electron { color: #69c5ff; }.energy { color: #c6a1ff; }
.category-section { display: grid; grid-template-columns: minmax(190px, .63fr) 1.37fr; align-items: center; gap: 28px; margin: 26px 0; padding: 18px 4px; }
.category-heading .eyebrow { margin-bottom: 4px; }.category-heading h2 { margin-bottom: 3px; font-size: 1.2rem; }.category-heading > p:last-child { margin: 0; color: var(--muted); font-size: .77rem; }
.category-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.category-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 99px; color: #e0deed; background: rgba(255,255,255,.035); font-size: .72rem; }
.swatch { display: inline-block; width: 9px; height: 9px; border-radius: 50%; box-shadow: 0 0 9px currentColor; }
.alkali { color: #ff767b; background-color: #ff767b; }.alkaline { color: #ffd166; background-color: #ffd166; }.transition { color: #48dbfb; background-color: #48dbfb; }.metalloid { color: #e779df; background-color: #e779df; }.nonmetal { color: #63a7ff; background-color: #63a7ff; }.noble { color: #a89dff; background-color: #a89dff; }.post-transition { color: #4bdbad; background-color: #4bdbad; }.halogen { color: #ff95da; background-color: #ff95da; }.lanthanide { color: #ffad66; background-color: #ffad66; }.actinide { color: #fa667d; background-color: #fa667d; }
.quick-stats { display: flex; align-items: center; justify-content: center; gap: clamp(26px, 8vw, 100px); margin: 23px 0 48px; padding: 18px; border-block: 1px solid rgba(255,255,255,.09); }
.quick-stats div { display: grid; gap: 0; text-align: center; }.quick-stats strong { color: var(--cyan); font: 700 1.8rem "Segoe UI", system-ui, sans-serif; }.quick-stats span { color: var(--muted); font-size: .75rem; }

.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 6px 4px 23px; }
.page-heading h1 { margin: 0 0 5px; font-size: clamp(2rem, 4vw, 2.65rem); letter-spacing: -.035em; }
.page-heading > div:first-child > p:last-child { margin: 0; color: var(--muted); font-size: .87rem; }
.page-counter { display: grid; min-width: 82px; padding: 11px 13px; border: 1px solid rgba(72,219,251,.23); border-radius: 15px; background: rgba(72,219,251,.07); text-align: center; }
.page-counter strong { color: var(--cyan); font: 700 1.5rem "Segoe UI", system-ui, sans-serif; line-height: 1.25; }.page-counter span { color: var(--muted); font-size: .7rem; }
.table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 15px; padding: 12px 15px; border-radius: 15px; }
.search-box { display: flex; align-items: center; gap: 9px; width: min(420px, 100%); padding: 7px 12px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: var(--cyan); background: rgba(0,0,0,.16); }
.search-box > span:first-child { font-size: 1.5rem; line-height: 1; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--white); background: transparent; font-size: .82rem; }
.search-box input::placeholder { color: #aaa6c1; }
.search-box:focus-within { border-color: rgba(72,219,251,.6); box-shadow: 0 0 0 3px rgba(72,219,251,.08); }
.toolbar-hint { margin: 0; color: var(--muted); font-size: .72rem; }.toolbar-hint span { color: var(--cyan); font-size: 1rem; }
.periodic-scroll { overflow-x: auto; overscroll-behavior-inline: contain; padding: 13px 5px 20px; scrollbar-color: rgba(72,219,251,.5) rgba(255,255,255,.06); scrollbar-width: thin; }
.periodic-grid { display: grid; grid-template-columns: repeat(18, minmax(53px, 1fr)); grid-template-rows: repeat(9, 82px); gap: 5px; min-width: 1050px; padding: 4px; }
.family-label { align-self: center; color: #c5c1d8; font-size: .62rem; font-weight: 700; text-align: center; }
.element { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 5px 2px; overflow: hidden; border: 1px solid rgba(255,255,255,.3); border-radius: 11px; color: #0b0a18; cursor: pointer; box-shadow: inset 0 0 14px rgba(255,255,255,.06); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.element:hover { z-index: 2; transform: translateY(-3px) scale(1.045); box-shadow: 0 0 23px rgba(72,219,251,.42); filter: brightness(1.1); }
.element[hidden] { display: none; }
.element-number { align-self: flex-start; margin-inline-start: 3px; opacity: 1; font: 500 .57rem "Segoe UI", system-ui, sans-serif; line-height: 1.1; }
.element-symbol { font: 800 1.18rem "Segoe UI", system-ui, sans-serif; line-height: 1.25; }
.element-name { max-width: 100%; overflow: hidden; font-size: .57rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.no-results { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; color: var(--muted); }
.table-note { color: #9995b5; font-size: .75rem; text-align: center; }

.lab-badge { display: grid; width: 59px; height: 59px; place-items: center; border: 1px solid rgba(198,161,255,.29); border-radius: 18px; background: rgba(198,161,255,.09); font-size: 1.8rem; }
.lab-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; align-items: start; gap: 18px; }
.lab-console { padding: clamp(17px, 3vw, 26px); border-radius: var(--radius-lg); }
.card-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 19px; }
.card-title .eyebrow { margin-bottom: 2px; }.card-title h2 { margin: 0; font-size: 1.18rem; }
.console-light { position: relative; display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }.console-light::after { position: absolute; inset: -5px; border: 1px solid rgba(79,224,178,.35); border-radius: 50%; content: ""; }
.counter-list { display: grid; gap: 8px; }
.counter { display: grid; grid-template-columns: 35px minmax(100px, 1fr) 38px minmax(38px, 50px) 38px; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; background: rgba(255,255,255,.035); }
.counter-label { display: grid; line-height: 1.4; }.counter-label strong { font-size: .82rem; }.counter-label small { color: var(--muted); font-size: .65rem; }
.counter-button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(72,219,251,.2); border-radius: 11px; color: var(--white); background: linear-gradient(145deg, rgba(72,219,251,.17), rgba(255,121,200,.13)); font-size: 1.15rem; cursor: pointer; transition: transform .16s ease, background .16s ease; }
.counter-button:hover { transform: scale(1.07); background: rgba(72,219,251,.24); }
.counter-value { color: var(--gold); font: 700 1.15rem "Segoe UI", system-ui, sans-serif; text-align: center; }
.material-label { display: block; margin: 19px 0 7px; font-size: .78rem; font-weight: 700; }
.material-input { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid rgba(72,219,251,.35); border-radius: 11px; color: var(--white); background: rgba(4,3,17,.27); font-size: .85rem; }
.material-input::placeholder { color: #a09bb9; }
.lab-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.create-button { flex: 1; min-width: 150px; }
.secondary-button { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 11px; color: #cfccdf; background: rgba(255,255,255,.04); font-size: .79rem; cursor: pointer; }.secondary-button:hover { background: rgba(255,255,255,.09); }
.result-card { margin-top: 18px; padding: 17px; border: 1px solid rgba(72,219,251,.35); border-radius: 14px; background: linear-gradient(135deg, rgba(72,219,251,.11), rgba(157,82,251,.09)); animation: panel-in .25s ease both; }
.result-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }.result-heading .result-icon { font-size: 1.45rem; }.result-heading h3 { margin: 0; font-size: 1.02rem; }.result-name { margin: 0 0 12px; color: #e1deef; font-size: .84rem; }
.result-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin: 0; }.result-stats div { display: grid; gap: 0; padding: 8px; border-radius: 9px; background: rgba(0,0,0,.15); text-align: center; }.result-stats dt { color: var(--muted); font-size: .63rem; }.result-stats dd { margin: 0; color: var(--cyan); font: 700 1rem "Segoe UI", system-ui, sans-serif; }.result-type { margin: 12px 0 0; color: var(--gold); font-weight: 700; }
.lab-aside { position: relative; overflow: hidden; padding: 22px; border-radius: var(--radius-lg); }.aside-icon { display: block; margin-bottom: 14px; color: var(--gold); font-size: 1.55rem; }.lab-aside .eyebrow { margin-bottom: 4px; font-size: .68rem; }.lab-aside h2 { margin-bottom: 8px; font-size: 1.2rem; }.lab-aside p:not(.eyebrow) { color: #c5c1d8; font-size: .83rem; line-height: 1.9; }.aside-rule { width: 35px; height: 2px; margin: 16px 0 11px; background: linear-gradient(90deg,var(--cyan),transparent); }.lab-aside > small { color: #a8a4bd; font-size: .7rem; line-height: 1.7; }

.quiz-score-card { display: grid; min-width: 82px; padding: 9px 14px; border: 1px solid rgba(255,207,105,.26); border-radius: 14px; background: rgba(255,207,105,.07); text-align: center; }.quiz-score-card span, .quiz-score-card small { color: var(--muted); font-size: .67rem; }.quiz-score-card strong { color: var(--gold); font: 700 1.4rem "Segoe UI", system-ui, sans-serif; line-height: 1.25; }
.quiz-progress { margin-bottom: 18px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.035); }.progress-copy { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; color: #d4d1e4; font-size: .74rem; }.progress-copy span:last-child { color: var(--cyan); }.progress-track { height: 6px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.1); }.progress-track div { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--cyan),#a99bff,var(--pink)); box-shadow: 0 0 13px rgba(72,219,251,.4); transition: width .3s ease; }
.quiz-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 13px; }
.quiz-question { padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.03)); transition: border-color .2s ease, background .2s ease; }.quiz-question h3 { display: flex; align-items: start; gap: 9px; margin: 0 0 12px; font-size: .88rem; }.question-number { display: inline-grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 8px; color: var(--cyan); background: rgba(72,219,251,.12); font: 700 .72rem "Segoe UI", system-ui, sans-serif; }
.quiz-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.quiz-option { min-height: 40px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; color: #d5d2e4; background: rgba(255,255,255,.035); text-align: start; font-size: .74rem; cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease; }.quiz-option:hover:not(:disabled) { border-color: rgba(72,219,251,.5); color: var(--white); background: rgba(72,219,251,.09); }.quiz-option:disabled { cursor: default; }.quiz-option.correct { border-color: rgba(79,224,178,.65); color: #c9ffed; background: rgba(79,224,178,.13); }.quiz-option.wrong { border-color: rgba(255,118,123,.58); color: #ffd5d6; background: rgba(255,118,123,.13); }.answer-note { min-height: 1.5em; margin: 8px 1px 0; color: var(--muted); font-size: .7rem; }.answer-note.correct-note { color: var(--green); }.answer-note.wrong-note { color: #ffaaaa; }
.quiz-finish { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0 34px; padding: 20px 22px; border-color: rgba(255,207,105,.25); border-radius: 17px; }.quiz-finish h2 { margin: 0 0 3px; color: var(--gold); font-size: 1.12rem; }.quiz-finish p { margin: 0; color: #d2cfe1; font-size: .82rem; }.quiz-finish .primary-button { flex-shrink: 0; }

.site-footer { display: flex; align-items: center; gap: 13px; margin-top: 55px; padding: 19px 2px; border-top: 1px solid rgba(255,255,255,.1); }.footer-atom { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; color: var(--cyan); background: rgba(72,219,251,.08); font-size: 1.4rem; }.site-footer strong { color: #c3a8ff; }.site-footer p span { font-size: .78rem; }.footer-spark { margin-inline-start: auto; color: var(--cyan); }.copyright { margin: 0 0 23px; color: #8e8aa9; font-size: .68rem; text-align: center; }

.modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 20px; }.modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(6,5,17,.79); backdrop-filter: blur(7px); cursor: default; }.modal-content { position: relative; z-index: 1; width: min(480px,100%); max-height: min(82vh,650px); overflow-y: auto; padding: 29px; border: 1px solid rgba(72,219,251,.45); border-radius: 22px; background: radial-gradient(ellipse at 75% 0%, rgba(72,219,251,.1), transparent 40%), linear-gradient(145deg,#29234c,#12102c); box-shadow: 0 22px 80px rgba(0,0,0,.5), 0 0 45px rgba(72,219,251,.14); animation: modal-in .24s ease both; }.close-button { position: absolute; top: 13px; inset-inline-end: 13px; display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.35rem; cursor: pointer; }.close-button:hover { background: rgba(255,118,123,.35); }.modal-symbol { display: grid; width: 70px; height: 70px; place-items: center; margin: 3px auto 15px; border: 1px solid rgba(255,255,255,.28); border-radius: 20px; color: #111328; font: 800 2rem "Segoe UI", system-ui, sans-serif; box-shadow: 0 8px 24px rgba(0,0,0,.17); }.modal-content h2 { margin: 0 0 5px; text-align: center; font-size: 1.4rem; }.modal-subtitle { margin: 0 0 21px; color: var(--muted); font-size: .82rem; text-align: center; }.element-facts { display: grid; gap: 9px; margin: 0; }.element-facts div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(255,255,255,.035); }.element-facts dt { color: var(--muted); font-size: .76rem; }.element-facts dd { margin: 0; text-align: end; font-size: .82rem; font-weight: 700; }.element-use { margin-top: 14px; padding: 12px; border-inline-start: 2px solid var(--gold); border-radius: 0 9px 9px 0; background: rgba(255,207,105,.07); }.element-use strong { display: block; margin-bottom: 2px; color: var(--gold); font-size: .72rem; }.element-use span { font-size: .84rem; }
@keyframes modal-in { from { opacity: 0; transform: translateY(9px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 850px) {
  .app-shell { width: min(100% - 36px, 760px); }
  .hero { grid-template-columns: 1fr minmax(250px, .8fr); gap: 25px; padding-inline: 8px; }
  .hero h1 { font-size: clamp(2.8rem, 8vw, 4.2rem); }
  .hero-orbit { min-height: 280px; }
  .intro-grid { gap: 12px; }.intro-card, .atom-card { padding: 19px; }
  .lab-layout { grid-template-columns: minmax(0,1fr) 210px; gap: 12px; }
}
@media (max-width: 650px) {
  body { font-size: 14px; }
  .app-shell { width: calc(100% - 28px); }
  .site-header { padding: 15px 0 13px; }.brand-mark { width: 42px; height: 42px; }.brand-mark svg { width: 34px; height: 34px; }.brand-copy strong { font-size: .92rem; }.brand-copy small { font-size: .64rem; }.header-note { padding: 6px 9px; font-size: .66rem; }
  .welcome-duaa { min-height: 58px; gap: 9px; padding: 10px 12px; }.welcome-duaa p span { font-size: .74rem; }.welcome-duaa strong { font-size: .7rem; }.sparkle { display: none; }
  .tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 17px 0 24px; padding: 5px; border-radius: 14px; }.tab { justify-content: flex-start; min-height: 43px; gap: 7px; padding: 7px 11px; font-size: .77rem; }.tab > span { width: 19px; text-align: center; }
  .hero { grid-template-columns: 1fr; gap: 22px; min-height: auto; padding: 8px 3px 23px; }.hero-copy { max-width: 560px; }.hero h1 { font-size: clamp(3.15rem, 13vw, 4.4rem); }.hero-description { margin: 13px 0 18px; font-size: .88rem; }.hero-orbit { min-height: 225px; }.orbit-art { width: 195px; height: 195px; }.orbit-caption { inset-inline-start: 16px; bottom: 13px; }.orbit-caption strong { font-size: .95rem; }
  .intro-grid { grid-template-columns: 1fr; gap: 11px; }.intro-card, .atom-card { min-height: auto; padding: 17px; border-radius: 19px; }.intro-card > p { font-size: .82rem; }.particle-list { grid-template-columns: 1fr 1fr; }.particle:last-child { grid-column: 1 / -1; }
  .category-section { grid-template-columns: 1fr; gap: 13px; margin: 18px 0; }.category-heading h2 { font-size: 1.05rem; }.category-chips { gap: 6px; }.category-chip { padding: 7px 9px; font-size: .67rem; }
  .quick-stats { gap: 13px; justify-content: space-around; margin: 17px 0 30px; padding: 15px 2px; }.quick-stats strong { font-size: 1.5rem; }.quick-stats span { font-size: .65rem; }
  .page-heading { align-items: center; margin: 3px 1px 18px; }.page-heading h1 { font-size: 2rem; }.page-heading > div:first-child > p:last-child { max-width: 285px; font-size: .77rem; }.page-counter { min-width: 69px; padding: 8px 10px; }.page-counter strong { font-size: 1.25rem; }
  .table-toolbar { align-items: stretch; flex-direction: column; gap: 8px; padding: 11px; }.search-box { width: 100%; }.toolbar-hint { font-size: .66rem; }.periodic-scroll { margin-inline: -2px; padding-inline: 1px; }.periodic-grid { min-width: 1010px; grid-template-columns: repeat(18,minmax(51px,1fr)); grid-template-rows: repeat(9,76px); gap: 4px; }.element-symbol { font-size: 1.06rem; }.element-name { font-size: .52rem; }
  .lab-layout { grid-template-columns: 1fr; }.lab-aside { display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: 0 10px; padding: 15px; }.aside-icon { grid-row: 1 / span 2; margin: 0; }.lab-aside .eyebrow { align-self: end; margin-bottom: 0; }.lab-aside h2 { align-self: start; margin: 0; font-size: 1rem; }.lab-aside p:not(.eyebrow), .lab-aside .aside-rule, .lab-aside > small { grid-column: 1 / -1; }.lab-aside p:not(.eyebrow) { margin: 9px 0 0; }.aside-rule { margin: 11px 0 7px; }
  .counter { grid-template-columns: 31px minmax(80px,1fr) 34px minmax(31px,38px) 34px; gap: 5px; padding: 9px 8px; }.counter-symbol { flex-basis: 29px; width: 29px; height: 29px; }.counter-label strong { font-size: .75rem; }.counter-label small { font-size: .58rem; }.counter-button { width: 32px; height: 33px; border-radius: 9px; }.counter-value { font-size: 1rem; }.lab-console { padding: 15px; }.result-card { padding: 13px; }.result-stats { gap: 4px; }.result-stats div { padding: 7px 3px; }.result-stats dt { font-size: .58rem; }.result-stats dd { font-size: .9rem; }
  .quiz-container { grid-template-columns: 1fr; gap: 9px; }.quiz-question { padding: 14px; }.quiz-question h3 { font-size: .82rem; }.quiz-option { font-size: .72rem; }.quiz-finish { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px; }
  .site-footer { margin-top: 37px; }.site-footer p span { font-size: .7rem; }.footer-atom { flex: 0 0 36px; width: 36px; height: 36px; }.source-note { font-size: .65rem; }
}
@media (max-width: 380px) {
  .app-shell { width: calc(100% - 22px); }.header-note { max-width: 115px; font-size: .59rem; }.brand { gap: 8px; }.brand-copy small { max-width: 160px; }.tab { padding-inline: 8px; font-size: .71rem; }.counter { grid-template-columns: 28px minmax(68px,1fr) 30px 29px 30px; gap: 4px; }.counter-button { width: 29px; height: 30px; }.counter-label small { font-size: .54rem; }.welcome-duaa p span { font-size: .68rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.source-note { margin: -14px 0 20px; color: #9995b5; font-size: .72rem; text-align: center; }
.source-note a { color: #94e8fa; text-decoration-color: rgba(148,232,250,.45); text-underline-offset: 3px; }
.source-note a:hover { color: #ffffff; }
.element-safety-note { margin: 14px 0 0; padding: 10px 12px; border: 1px solid rgba(255,207,105,.22); border-radius: 11px; color: #f2dca8; background: rgba(255,207,105,.07); font-size: .76rem; line-height: 1.7; }
