:root { color-scheme: dark; --ink:#eef8ff; --muted:#93a9ba; --faint:#5e7284; --rule:rgba(189,226,255,.16); --rule-strong:rgba(174,238,225,.37); --accent:#83f2d2; --accent-ink:#041411; --violet:#aaa8ff; --panel:rgba(8,20,33,.92); --panel-strong:rgba(11,26,43,.97); --danger:#ffd1d8; }
* { box-sizing:border-box; }
html,body { width:100%; height:100%; margin:0; overflow:hidden; overscroll-behavior:none; background:#06111a; }
body { min-width:320px; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); }
button,input,a { font:inherit; color:inherit; }
button { border:0; }
a { text-decoration:none; }
button:focus-visible,input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
[hidden] { display:none !important; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.aurora-stage { position:fixed; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; }
.app-shell { position:relative; z-index:1; display:grid; grid-template-rows:58px minmax(0,1fr) 25px; width:100%; height:100dvh; min-height:0; padding:0 clamp(15px,2.75vw,56px); overflow:hidden; }
.app-shell::before { content:""; position:fixed; z-index:-1; inset:0; background:linear-gradient(135deg,rgba(4,20,31,.8),rgba(8,11,27,.92) 58%,rgba(4,21,24,.9)); pointer-events:none; }
.site-header,.site-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; }
.site-header { border-bottom:1px solid var(--rule); }
.brand { display:flex; flex:none; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:-.035em; }
.brand-mark { position:relative; display:grid; place-items:center; width:31px; height:31px; border-radius:10px; background:var(--accent); box-shadow:0 0 28px rgba(126,241,212,.28); }
.brand-mark::after { content:""; width:13px; height:13px; border:1px solid rgba(4,20,17,.62); border-radius:50%; }
.brand-mark i { position:absolute; width:19px; height:1px; background:rgba(4,20,17,.42); transform:rotate(-38deg); }
.header-actions { position:relative; display:flex; min-width:0; align-items:center; gap:10px; }
.search-control input { width:clamp(125px,14vw,205px); height:29px; padding:0 10px; border:1px solid var(--rule); border-radius:8px; background:rgba(1,9,17,.38); color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; }
.search-control input::placeholder { color:var(--faint); }
.icon-button,.utility-button { min-height:29px; border:1px solid var(--rule); border-radius:8px; background:rgba(255,255,255,.025); color:var(--muted); cursor:pointer; font-size:11px; }
.icon-button { width:29px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.icon-button:hover,.utility-button:hover { border-color:var(--accent); color:var(--accent); }
.dataset-mark { display:flex; align-items:baseline; gap:5px; color:var(--muted); font:500 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.dataset-mark strong { color:var(--ink); font-size:10px; }.dataset-mark em { margin-left:12px; color:var(--faint); font-style:normal; }
.search-results { position:absolute; z-index:50; top:35px; right:100px; width:min(360px,calc(100vw - 24px)); padding:5px; border:1px solid var(--rule-strong); border-radius:10px; background:rgba(6,17,28,.98); box-shadow:0 20px 48px rgba(0,0,0,.45); }
.search-result { display:grid; grid-template-columns:50px 1fr auto; align-items:center; width:100%; min-height:34px; padding:5px 7px; border-radius:6px; background:transparent; color:var(--ink); cursor:pointer; text-align:left; font-size:11px; }.search-result:hover,.search-result:focus-visible { background:rgba(131,242,210,.12); outline:none; }.search-result b { color:var(--accent); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }.search-result span { color:var(--muted); }.search-result em { color:var(--faint); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; font-style:normal; }
.workspace { min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr); gap:clamp(8px,1.4vh,15px); padding:clamp(10px,1.7vh,18px) 0 clamp(6px,1vh,10px); transition:filter 220ms ease, opacity 220ms ease, transform 220ms ease; }
.has-modal .workspace,.has-modal .site-header,.has-modal .site-footer { filter:blur(8px) saturate(.72) brightness(.62); transform:scale(.992); pointer-events:none; user-select:none; }
.workspace-heading { display:flex; align-items:end; justify-content:space-between; gap:22px; }.eyebrow { margin:0 0 5px; color:var(--accent); font:600 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; text-transform:uppercase; }.workspace h1 { margin:0; max-width:780px; background:linear-gradient(100deg,#fff 15%,#98f5df 57%,#b1b2ff); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:clamp(24px,3.15vw,47px); font-weight:550; letter-spacing:-.07em; line-height:.92; }.instruction { max-width:275px; margin:0 1px 2px; color:var(--muted); font:8px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; text-align:right; }
.table-shell { min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:6px; }
.periodic-grid { min-height:0; display:grid; grid-template-columns:repeat(18,minmax(0,1fr)); grid-template-rows:repeat(10,minmax(0,1fr)); gap:clamp(2px,.32vw,5px); padding:clamp(5px,.68vw,10px); overflow:hidden; border:1px solid var(--rule); border-radius:20px; background:linear-gradient(145deg,rgba(20,55,71,.17),rgba(11,14,35,.28)); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }
.element { position:relative; min-width:0; min-height:0; overflow:hidden; padding:clamp(2px,.38vw,6px); border:1px solid rgba(190,225,255,.12); border-radius:clamp(4px,.55vw,10px); background:rgba(18,43,57,.63); color:var(--ink); cursor:pointer; text-align:left; transition:transform 140ms ease,border-color 140ms ease,background 140ms ease,box-shadow 140ms ease; }.element::after { content:""; position:absolute; inset:0; opacity:.45; background:linear-gradient(125deg,rgba(255,255,255,.05),transparent 55%); pointer-events:none; }.element[data-series="lanthanide"],.element[data-series="actinide"] { background:rgba(27,79,79,.64); }.element[data-category="noble"],.element[data-category="halogen"] { background:rgba(61,38,89,.61); }.element.is-empty { opacity:.3; cursor:default; }.element:not(.is-empty):hover,.element:not(.is-empty):focus-visible,.element.is-selected { z-index:4; border-color:var(--accent); background:rgba(44,110,104,.85); box-shadow:0 8px 24px rgba(71,237,203,.17),0 0 0 1px rgba(131,242,210,.2); outline:none; transform:translateY(-2px); }.element.is-selected { background:var(--accent); color:var(--accent-ink); }.element .atomic { display:block; color:inherit; opacity:.65; font:7px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }.element b { display:block; margin-top:min(.4vh,4px); font-size:clamp(10px,1.4vw,21px); font-weight:580; letter-spacing:-.07em; line-height:.78; }.element .name { display:block; margin-top:min(.47vh,5px); overflow:hidden; font-size:clamp(5px,.48vw,7px); line-height:1; opacity:.6; text-overflow:ellipsis; white-space:nowrap; }
.table-legend { display:flex; align-items:center; justify-content:flex-end; gap:13px; min-height:11px; margin:0; color:var(--faint); font:7px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; letter-spacing:.03em; }.table-legend span { display:inline-flex; align-items:center; gap:4px; }.legend-dot { width:5px; height:5px; border-radius:50%; border:1px solid var(--rule-strong); }.legend-dot.indexed { background:var(--accent); border-color:var(--accent); }.legend-dot.none { opacity:.4; }
.site-footer { color:var(--faint); font:7px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em; text-transform:uppercase; }.site-footer a { color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.element-preview { position:fixed; z-index:12; width:min(348px,calc(100vw - 22px)); padding:15px 16px 13px; overflow:hidden; border:1px solid rgba(180,236,232,.36); border-radius:16px; background:linear-gradient(145deg,rgba(20,59,71,.98),rgba(12,16,42,.985)); box-shadow:0 25px 65px rgba(0,0,0,.52),0 0 45px rgba(118,239,207,.16); pointer-events:none; transform:translate3d(var(--preview-x),var(--preview-y),0); backdrop-filter:blur(16px); }.element-preview::before { content:""; position:absolute; top:-90px; right:-60px; width:220px; height:180px; border-radius:50%; background:radial-gradient(circle,rgba(139,244,218,.22),transparent 67%); }.preview-top { position:relative; display:flex; justify-content:space-between; color:var(--muted); font:7px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.1em; text-transform:uppercase; }.preview-top span:first-child { color:var(--accent); }.preview-identity { position:relative; display:grid; grid-template-columns:58px 1fr; align-items:center; gap:11px; margin:15px 0 12px; }.preview-identity strong { display:grid; place-items:center; width:58px; aspect-ratio:1; border-radius:16px; background:var(--accent); color:var(--accent-ink); box-shadow:0 0 25px rgba(131,242,210,.25); font-size:29px; letter-spacing:-.08em; transform:rotate(-3deg); }.preview-identity h2 { margin:0 0 4px; font-size:25px; font-weight:560; letter-spacing:-.055em; }.preview-identity p,.preview-hint { margin:0; color:var(--muted); font:7px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.preview-isotopes { position:relative; display:flex; flex-wrap:wrap; gap:4px; min-height:24px; }.preview-chip { display:inline-flex; align-items:center; gap:1px; min-height:24px; padding:3px 6px; border:1px solid var(--rule); border-radius:6px; background:rgba(255,255,255,.025); font-size:10px; }.preview-chip sup { color:var(--accent); font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }.preview-more { color:var(--accent); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }.preview-hint { position:relative; margin-top:9px; }
.preview-backdrop { position:fixed; z-index:11; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(2,8,18,.34); cursor:default; backdrop-filter:blur(9px) saturate(.78) brightness(.72); -webkit-backdrop-filter:blur(9px) saturate(.78) brightness(.72); }
.modal-layer { position:fixed; z-index:40; inset:0; display:grid; place-items:center; padding:clamp(10px,2.6vw,32px); }.modal-backdrop { position:absolute; inset:0; width:100%; height:100%; background:rgba(0,5,12,.43); cursor:default; }.dialog { position:relative; z-index:1; color:var(--ink); border:1px solid rgba(187,229,247,.28); background:linear-gradient(145deg,rgba(13,39,51,.985),rgba(11,14,37,.992)); box-shadow:0 36px 120px rgba(0,0,0,.62),0 0 72px rgba(119,242,208,.12); }.dialog::before { content:""; position:absolute; pointer-events:none; width:430px; height:260px; top:-175px; right:-105px; border-radius:50%; background:radial-gradient(circle,rgba(138,244,218,.14),transparent 69%); }.dialog-close { position:relative; z-index:2; flex:none; display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--rule); border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; font-size:22px; line-height:1; }.dialog-close:hover { border-color:var(--accent); color:var(--accent); }
.chooser-dialog { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; width:min(780px,96vw); max-height:calc(100dvh - 20px); padding:clamp(18px,2.8vw,34px); overflow:hidden; border-radius:24px; }.dialog-topline { position:relative; display:flex; justify-content:space-between; padding-right:38px; color:var(--muted); font:7px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.1em; text-transform:uppercase; }.chooser-dialog>.dialog-close { position:absolute; top:15px; right:16px; }.chooser-title { position:relative; display:grid; grid-template-columns:70px minmax(0,1fr); align-items:center; gap:14px; margin:17px 0 16px; }.element-mark,.nuclide-mark { display:grid; place-items:center; background:var(--accent); color:var(--accent-ink); box-shadow:0 0 33px rgba(131,242,210,.22); font-weight:600; letter-spacing:-.08em; }.element-mark { width:70px; aspect-ratio:1; border-radius:19px; font-size:34px; transform:rotate(-3deg); }.chooser-title h2 { margin:0 0 4px; font-size:clamp(27px,4vw,44px); font-weight:560; letter-spacing:-.06em; line-height:.96; }.chooser-title p:not(.eyebrow) { margin:0; color:var(--muted); font:8px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.isotope-grid { position:relative; min-height:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-content:start; gap:7px; }.isotope-chip { min-width:0; min-height:42px; padding:5px; border:1px solid var(--rule); border-radius:9px; background:rgba(255,255,255,.026); color:var(--ink); cursor:pointer; text-align:center; transition:transform 120ms ease,background 120ms ease,border-color 120ms ease; }.isotope-chip:hover,.isotope-chip:focus-visible { transform:translateY(-2px); border-color:var(--accent); background:rgba(131,242,210,.13); outline:none; }.isotope-chip .isotope-notation { font-size:15px; font-weight:570; letter-spacing:-.04em; }.isotope-notation sup { margin-right:1px; color:var(--accent); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }.isotope-chip small { display:block; overflow:hidden; margin-top:3px; color:var(--muted); font:6px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }.pager { position:relative; display:flex; align-items:center; justify-content:center; gap:7px; min-height:33px; margin-top:11px; color:var(--muted); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }.pager button { min-width:27px; height:24px; padding:0 7px; border:1px solid var(--rule); border-radius:6px; background:transparent; color:var(--ink); cursor:pointer; font-size:8px; }.pager button:disabled { opacity:.35; cursor:not-allowed; }.pager button:not(:disabled):hover { border-color:var(--accent); color:var(--accent); }
.record-dialog { display:grid; grid-template-rows:auto auto minmax(0,1fr) 17px; width:min(1180px,calc(100vw - 20px)); height:min(735px,calc(100dvh - 20px)); overflow:hidden; border-radius:25px; }.record-titlebar { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:101px; padding:19px 24px 15px; border-bottom:1px solid var(--rule); }.record-id { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:12px; min-width:0; }.nuclide-mark { width:62px; aspect-ratio:1; border-radius:17px; font-size:22px; transform:rotate(-3deg); }.nuclide-mark sup { font:9px ui-monospace,SFMono-Regular,Menlo,monospace; }.record-id h2 { margin:0 0 3px; font-size:clamp(25px,3.3vw,41px); font-weight:560; letter-spacing:-.065em; line-height:.94; }.record-id p:not(.eyebrow) { margin:0; overflow:hidden; color:var(--muted); font:8px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.record-actions { display:flex; align-items:center; gap:7px; }.utility-button { padding:0 9px; font-size:9px; }.record-tabs { position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); min-height:37px; padding:0 20px; border-bottom:1px solid var(--rule); }.record-tabs button { position:relative; min-width:0; padding:0 7px; background:transparent; color:var(--muted); cursor:pointer; font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.03em; text-transform:uppercase; }.record-tabs button[aria-selected="true"] { color:var(--accent); }.record-tabs button[aria-selected="true"]::after { content:""; position:absolute; left:18%; right:18%; bottom:0; height:2px; background:var(--accent); box-shadow:0 0 10px rgba(131,242,210,.5); }.record-content { position:relative; min-height:0; overflow:hidden; padding:14px 20px 10px; }.record-status { min-height:17px; margin:0; padding:0 20px; overflow:hidden; color:var(--faint); font:7px/17px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }.record-content h3 { margin:0; font-size:12px; font-weight:650; letter-spacing:-.025em; }.record-content h4 { margin:0 0 6px; color:var(--muted); font:600 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; }.record-content p { margin:0; }.muted { color:var(--muted); }.hint { color:var(--faint); font-size:9px; }
.overview-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; grid-template-rows:minmax(0,1fr) minmax(0,1fr); height:100%; gap:9px; }.data-card { min-width:0; overflow:hidden; padding:12px; border:1px solid var(--rule); border-radius:11px; background:rgba(2,12,21,.26); }.identity-card { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.metric { min-width:0; }.metric span { display:block; overflow:hidden; color:var(--faint); font:7px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.metric strong { display:block; overflow:hidden; margin-top:3px; color:var(--ink); font-size:clamp(11px,1.2vw,16px); font-weight:570; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }.metric strong.small { font-size:11px; }.mode-list { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; }.mode-token { padding:3px 5px; border:1px solid rgba(131,242,210,.34); border-radius:5px; color:var(--accent); background:rgba(131,242,210,.07); font:8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }.energy-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:8px; }.energy-list b { display:block; color:var(--ink); font-size:11px; font-weight:560; }.energy-list span { display:block; margin-top:2px; color:var(--faint); font:6px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.daughter-list { display:grid; gap:5px; margin-top:7px; }.daughter-row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:5px; min-width:0; padding:5px 6px; border:1px solid rgba(190,225,255,.1); border-radius:6px; background:rgba(255,255,255,.018); font-size:10px; }.daughter-row b { color:var(--accent); font-weight:600; }.daughter-row span { overflow:hidden; color:var(--muted); font:7px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }.count-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:7px; }.count-grid span { padding:5px; border-radius:6px; background:rgba(255,255,255,.025); color:var(--muted); font:7px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; }.count-grid b { display:block; margin-top:2px; color:var(--ink); font-size:12px; font-weight:560; }
.decay-view { display:grid; grid-template-rows:auto auto minmax(0,1fr); height:100%; gap:8px; }.view-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; }.view-toolbar p { overflow:hidden; color:var(--muted); font:8px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }.toolbar-actions { display:flex; flex:none; gap:5px; }.mini-button { min-height:24px; padding:0 7px; border:1px solid var(--rule); border-radius:6px; background:rgba(255,255,255,.025); color:var(--muted); cursor:pointer; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }.mini-button:hover { border-color:var(--accent); color:var(--accent); }.graph-stage { position:relative; min-height:0; overflow:hidden; border:1px solid var(--rule); border-radius:11px; background:linear-gradient(135deg,rgba(8,28,39,.42),rgba(9,10,29,.38)); }.graph-canvas,.plot-canvas { position:absolute; inset:0; width:100%; height:100%; }.graph-labels { position:absolute; inset:0; pointer-events:none; }.graph-node-label { position:absolute; width:76px; min-height:32px; padding:4px; overflow:hidden; border:1px solid rgba(212,246,255,.34); border-radius:6px; background:rgba(7,21,32,.78); color:var(--ink); font-size:9px; text-align:center; transform:translate(-50%,-50%); pointer-events:auto; cursor:pointer; }.graph-node-label.terminal { border-color:rgba(153,175,190,.34); color:var(--muted); }.graph-node-label b { display:block; font-size:11px; font-weight:620; letter-spacing:-.035em; }.graph-node-label span { display:block; margin-top:1px; color:var(--faint); font:6px ui-monospace,SFMono-Regular,Menlo,monospace; }.graph-edge-label { position:absolute; max-width:85px; overflow:hidden; color:#c2d6e0; font:7px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; transform:translate(-50%,-50%); text-overflow:ellipsis; text-shadow:0 1px 4px #000; white-space:nowrap; }
.emissions-view,.spectra-view,.source-view { display:grid; grid-template-rows:auto minmax(0,1fr); height:100%; gap:8px; }.emission-controls,.spectrum-controls,.source-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }.filter-row { display:flex; flex-wrap:wrap; gap:4px; }.filter-button,.source-selector { min-height:22px; padding:0 6px; border:1px solid var(--rule); border-radius:5px; background:rgba(255,255,255,.025); color:var(--muted); cursor:pointer; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }.filter-button[aria-pressed="true"] { border-color:var(--accent); background:rgba(131,242,210,.12); color:var(--accent); }.source-selector { cursor:pointer; }.emission-layout,.spectrum-layout { display:grid; grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr); min-height:0; gap:9px; }.plot-card,.table-card,.source-card { position:relative; min-height:0; overflow:hidden; padding:10px; border:1px solid var(--rule); border-radius:10px; background:rgba(2,12,21,.25); }.plot-card { min-height:0; }.plot-card h4,.table-card h4,.source-card h4 { position:relative; z-index:1; }.plot-canvas { inset:29px 9px 9px; width:calc(100% - 18px); height:calc(100% - 38px); }.data-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:8px; }.data-table th { padding:0 4px 5px; color:var(--faint); font:600 6px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.06em; text-align:left; text-transform:uppercase; }.data-table td { height:23px; overflow:hidden; padding:3px 4px; border-top:1px solid rgba(190,225,255,.09); color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }.data-table td:first-child { color:var(--ink); }.data-table td.number { color:var(--accent); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }.data-table td.code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }.table-pager { position:absolute; right:9px; bottom:8px; }.spectrum-empty { display:grid; place-items:center; height:100%; color:var(--muted); font-size:10px; text-align:center; }.spectrum-tab-row { display:flex; gap:4px; }.spectrum-tab-row button { min-height:22px; padding:0 7px; border:1px solid var(--rule); border-radius:5px; background:rgba(255,255,255,.02); color:var(--muted); cursor:pointer; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }.spectrum-tab-row button[aria-selected="true"] { color:var(--accent); border-color:var(--accent); }.source-layout { display:grid; grid-template-columns:.9fr 1.1fr; min-height:0; gap:9px; }.provenance-list { display:grid; gap:7px; margin-top:10px; }.provenance-list div { padding-bottom:6px; border-bottom:1px solid rgba(190,225,255,.09); }.provenance-list span { display:block; color:var(--faint); font:7px ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.provenance-list b { display:block; overflow:hidden; margin-top:2px; font-size:9px; font-weight:540; text-overflow:ellipsis; white-space:nowrap; }.raw-lines { display:grid; grid-template-rows:repeat(8,minmax(0,1fr)); gap:3px; min-height:0; margin-top:8px; }.raw-lines code { display:block; overflow:hidden; padding:4px 5px; border-radius:4px; background:rgba(255,255,255,.025); color:#c8dde8; font:7px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:pre; }
.help-dialog { width:min(620px,94vw); padding:29px; border-radius:19px; }.help-dialog>.dialog-close { position:absolute; top:15px; right:16px; }.help-dialog h2 { position:relative; margin:0; max-width:440px; font-size:clamp(23px,3vw,34px); font-weight:560; letter-spacing:-.055em; line-height:1.02; }.help-grid { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:19px; }.help-grid p { min-height:80px; margin:0; padding:10px; border:1px solid var(--rule); border-radius:9px; background:rgba(255,255,255,.025); color:var(--muted); font-size:10px; line-height:1.45; }.help-grid b { color:var(--accent); }
.toast { position:fixed; z-index:60; left:50%; bottom:37px; padding:8px 11px; border:1px solid var(--rule-strong); border-radius:8px; background:rgba(7,20,31,.96); color:var(--ink); box-shadow:0 12px 30px rgba(0,0,0,.4); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; transform:translateX(-50%); }
@media (max-width:760px) { .app-shell { grid-template-rows:47px minmax(0,1fr) 17px; padding:0 10px; }.brand>span:last-child,.dataset-mark span,.dataset-mark em,.instruction,.table-legend { display:none; }.header-actions { gap:6px; }.search-control input { width:128px; height:27px; }.icon-button { width:27px; min-height:27px; }.dataset-mark { display:block; }.dataset-mark strong { font-size:8px; }.workspace { gap:6px; padding:7px 0 3px; }.workspace h1 { font-size:clamp(20px,7vw,31px); }.periodic-grid { gap:1px; padding:3px; border-radius:10px; }.element { padding:1px; border-radius:2px; }.element .atomic { font-size:4px; }.element b { margin-top:1px; font-size:clamp(7px,2.55vw,10px); }.element .name,.isotope-count { display:none; }.element-preview { display:none !important; }.modal-layer { padding:8px; }.chooser-dialog { width:100%; max-height:calc(100dvh - 16px); padding:17px 14px; border-radius:16px; }.chooser-title { grid-template-columns:52px minmax(0,1fr); gap:10px; margin:12px 0; }.element-mark { width:52px; border-radius:14px; font-size:27px; }.chooser-title h2 { font-size:28px; }.isotope-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }.isotope-chip { min-height:34px; padding:3px; border-radius:6px; }.isotope-chip .isotope-notation { font-size:11px; }.isotope-chip small { display:none; }.record-dialog { width:100%; height:calc(100dvh - 16px); border-radius:16px; }.record-titlebar { min-height:74px; padding:10px 12px; }.record-id { grid-template-columns:43px minmax(0,1fr); gap:8px; }.nuclide-mark { width:43px; border-radius:12px; font-size:15px; }.record-id h2 { font-size:25px; }.record-id .eyebrow { margin-bottom:2px; font-size:6px; }.record-id p:not(.eyebrow) { font-size:6px; }.utility-button { display:none; }.dialog-close { width:27px; height:27px; font-size:19px; }.record-tabs { min-height:32px; padding:0 5px; }.record-tabs button { padding:0 2px; font-size:7px; }.record-content { padding:7px; }.record-status { padding:0 7px; font-size:6px; }.overview-grid { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,minmax(0,1fr)); gap:5px; }.data-card { padding:7px; border-radius:7px; }.identity-card { gap:5px; }.metric span { font-size:5px; }.metric strong { margin-top:2px; font-size:10px; }.metric strong.small { font-size:8px; }.mode-list { gap:3px; margin-top:5px; }.mode-token { padding:2px 3px; font-size:6px; }.energy-list { gap:3px; margin-top:5px; }.energy-list b { font-size:8px; }.energy-list span { font-size:5px; }.daughter-list { gap:3px; margin-top:4px; }.daughter-row { gap:2px; padding:3px; font-size:7px; }.daughter-row span { font-size:5px; }.count-grid { gap:3px; margin-top:4px; }.count-grid span { padding:3px; font-size:5px; }.count-grid b { font-size:8px; }.view-toolbar p { font-size:6px; }.mini-button { min-height:20px; padding:0 4px; font-size:6px; }.graph-node-label { width:54px; min-height:25px; padding:2px; font-size:6px; }.graph-node-label b { font-size:8px; }.graph-node-label span,.graph-edge-label { font-size:5px; }.emission-layout,.spectrum-layout,.source-layout { grid-template-columns:1fr; grid-template-rows:92px minmax(0,1fr); gap:5px; }.source-layout { grid-template-rows:162px minmax(0,1fr); }.filter-row { flex-wrap:nowrap; overflow:hidden; }.filter-button { min-width:24px; padding:0 4px; font-size:6px; }.data-table th { font-size:5px; }.data-table td { height:20px; padding:2px; font-size:6px; }.data-table td:nth-child(2) { display:none; }.plot-card,.table-card,.source-card { padding:6px; border-radius:7px; }.plot-card h4,.table-card h4,.source-card h4 { font-size:5px; }.plot-canvas { inset:20px 4px 4px; width:calc(100% - 8px); height:calc(100% - 24px); }.raw-lines { margin-top:4px; gap:2px; }.raw-lines code { padding:2px; font-size:5px; }.provenance-list { gap:4px; margin-top:4px; }.provenance-list span { font-size:5px; }.provenance-list b { font-size:7px; }.help-dialog { padding:22px 15px; }.help-grid { gap:5px; margin-top:12px; }.help-grid p { min-height:75px; padding:7px; font-size:8px; }.site-footer { font-size:5px; }.search-results { right:0; }.toast { bottom:25px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }.element-preview .preview-chip::after { animation:none !important; } }

.graph-range { display:inline-flex; align-items:center; color:var(--faint); font:6px ui-monospace,SFMono-Regular,Menlo,monospace; white-space:nowrap; }
@media (max-width:760px) { .graph-range { display:none; } }

/* Readability pass: the aurora remains atmospheric, while data takes priority. */
.search-control input { width:244px; font-size:11px; }
.workspace h1 { font-size:clamp(28px,2.85vw,44px); }
.instruction { max-width:325px; color:#a8bac7; font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; }
.table-legend { min-height:18px; gap:16px; color:#9bafbc; font-size:8px; letter-spacing:.02em; }
.element-preview { width:min(380px,calc(100vw - 28px)); padding:17px; border-color:rgba(166,239,227,.46); background:linear-gradient(145deg,rgba(20,55,68,.98),rgba(13,22,53,.99)); box-shadow:0 28px 84px rgba(0,0,0,.54),0 0 44px rgba(123,236,205,.11); }
.preview-range { position:relative; margin:8px 0 10px; color:#b7c9d2; font-size:9px; line-height:1.35; }
.preview-hint { margin-top:11px; color:#a2bdc4; font-size:8px; }
.preview-isotopes { gap:5px; }
.preview-chip { min-height:27px; padding:4px 7px; font-size:11px; }
.record-dialog { width:min(1280px,calc(100vw - 28px)); height:min(780px,calc(100dvh - 24px)); }
.record-titlebar { min-height:110px; padding:21px 28px 17px; }
.record-id p:not(.eyebrow) { color:#b5c6d0; font-size:10px; text-transform:none; }
.record-tabs { min-height:43px; }
.record-tabs button { color:#a5b7c2; font-size:10px; letter-spacing:.045em; }
.utility-button { min-height:31px; padding:0 11px; font-size:10px; }
.record-content { padding:16px 24px 12px; }
.record-status { min-height:20px; padding:0 24px; color:#9bb1be; font-size:8px; line-height:20px; }
.record-content h4 { margin-bottom:9px; color:#a7bdc9; font-size:8px; }
.hint { color:#9aafb9; font-size:10px; line-height:1.35; }
.overview-grid-refined { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:1.15fr 1fr .66fr; gap:11px; }
.overview-grid-refined .summary-card { grid-column:span 1; }
.overview-grid-refined .daughter-card { grid-column:span 2; }
.overview-grid-refined .availability-card { grid-column:span 3; }
.data-card { padding:15px; border-color:rgba(167,207,222,.22); background:linear-gradient(145deg,rgba(13,34,45,.54),rgba(7,17,33,.31)); }
.summary-card { display:grid; grid-template-columns:1.12fr .88fr; gap:16px; }
.metric-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.metric span { color:#9caeb9; font-size:8px; letter-spacing:.03em; }
.metric strong { margin-top:5px; font-size:clamp(13px,1.2vw,18px); }
.mode-list { margin-top:10px; gap:6px; }
.mode-token { padding:5px 7px; font-size:9px; }
.daughter-list { gap:8px; margin-top:10px; }
.daughter-row { grid-template-columns:minmax(0,1fr) auto; padding:9px 10px; border-color:rgba(174,220,228,.17); background:rgba(182,238,225,.045); }
.daughter-row b { display:block; font-size:15px; }
.daughter-row span { display:block; margin-top:3px; color:#a2b7c1; font-size:8px; }
.daughter-branch { text-align:right; }
.daughter-branch strong { display:block; color:var(--accent); font-size:17px; }
.daughter-branch small { display:block; max-width:152px; margin-top:3px; color:#9db0bb; font:8px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace; }
.energy-list { gap:10px; margin-top:11px; }
.energy-list b { font-size:16px; }
.energy-list span { margin-top:4px; font-size:8px; }
.derived-total { margin-top:17px; padding-top:10px; border-top:1px solid rgba(171,211,222,.17); }
.derived-total span { display:block; color:#9aafba; font:8px ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }
.derived-total strong { display:block; margin-top:5px; font-size:19px; letter-spacing:-.04em; }
.count-grid { gap:8px; margin-top:10px; }
.count-grid span { padding:7px 8px; color:#a6b8c2; font-size:8px; }
.count-grid b { margin-top:4px; font-size:15px; }
.availability-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.availability-grid button { min-height:45px; padding:7px 9px; border:1px solid rgba(174,217,226,.18); border-radius:7px; background:rgba(255,255,255,.035); color:#a9bbc5; cursor:pointer; text-align:left; font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }
.availability-grid button:hover,.availability-grid button:focus-visible { border-color:var(--accent); background:rgba(131,242,210,.1); color:var(--ink); outline:none; }
.availability-grid b { display:block; margin-top:4px; color:var(--accent); font:600 16px/1 system-ui,sans-serif; }
.decay-view { gap:10px; }
.decay-summary { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.decay-summary h3 { font-size:16px; }
.decay-summary p { max-width:670px; margin-top:3px; color:#a3b7c1; font-size:10px; line-height:1.4; }
.decay-legend { display:flex; flex-wrap:wrap; gap:10px; margin-top:7px; color:#a7bac4; font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }.decay-legend span { display:inline-flex; align-items:center; gap:4px; }.decay-legend span::before { content:""; width:12px; height:2px; background:currentColor; }.decay-legend .alpha { color:#a9efd7; }.decay-legend .beta { color:#91c9ff; }.decay-legend .mixed { color:#d8dfe5; }.decay-legend .mixed::before { background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px); }
.mode-toggle { display:flex; gap:6px; }
.mode-toggle button,.mini-button { min-height:29px; padding:0 10px; border-color:rgba(167,207,222,.27); color:#b5c6ce; font-size:9px; }
.mode-toggle button { border-radius:7px; background:rgba(255,255,255,.025); cursor:pointer; }
.mode-toggle button[aria-pressed="true"] { border-color:var(--accent); background:rgba(131,242,210,.13); color:var(--accent); }
.view-toolbar p { color:#a9bcc5; font-size:9px; }
.graph-stage { border-color:rgba(170,213,226,.26); background:radial-gradient(circle at 35% 35%,rgba(35,86,94,.2),transparent 48%),linear-gradient(135deg,rgba(7,25,35,.8),rgba(10,11,33,.78)); }
.graph-stage::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.42; background:linear-gradient(90deg,transparent 0 7.8%,rgba(141,224,235,.07) 7.85% 7.95%,transparent 8% 91.95%,rgba(141,224,235,.07) 92% 92.1%,transparent 92.15%); }
.graph-links { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.graph-links marker path { fill:#aeeedc; }
.graph-link { fill:none; opacity:.94; transition:opacity .16s ease,stroke-width .16s ease; }
.graph-link.alpha { stroke:#a9efd7; }.graph-link.beta { stroke:#91c9ff; }.graph-link.fission { stroke:#d7a8ff; }.graph-link.mixed { stroke:#d8dfe5; stroke-dasharray:5 4; }
.graph-link.convergent { filter:drop-shadow(0 0 3px rgba(160,177,255,.38)); }.graph-link.minor { stroke-dasharray:2 3; }
.graph-node-label { width:116px; min-height:49px; padding:7px 8px; border-color:rgba(196,235,242,.62); background:linear-gradient(145deg,rgba(13,38,49,.96),rgba(9,18,38,.97)); box-shadow:0 7px 18px rgba(0,0,0,.28); font-size:11px; }
.graph-node-label.root { border-color:var(--accent); box-shadow:0 0 0 2px rgba(131,242,210,.16),0 8px 22px rgba(0,0,0,.35); }
.graph-node-label.convergence { border-color:#b8b6ff; box-shadow:0 0 0 2px rgba(173,169,255,.12),0 8px 22px rgba(0,0,0,.35); }
.graph-node-label.branching { border-color:#8fcaef; }
.graph-node-label.convergence.branching { border-color:#c4d4ff; }
.graph-node-label b { font-size:14px; }.graph-node-label span { margin-top:3px; color:#b4c6ce; font-size:8px; }
.graph-edge-label { display:grid; gap:1px; max-width:104px; padding:3px 5px; border-radius:5px; background:rgba(4,14,25,.76); color:#d4e5ea; font-size:8px; text-shadow:none; }.graph-edge-label b { color:#aef4de; font-size:9px; }.graph-edge-label span { color:#adc0c9; font-size:7px; }
.emission-controls,.spectrum-controls,.source-controls { min-height:34px; }.source-selector,.spectrum-tab-row button { min-height:29px; padding:0 9px; font-size:9px; }.emission-layout,.spectrum-layout { gap:11px; }.plot-card,.table-card,.source-card { padding:13px; border-color:rgba(167,207,222,.21); }.data-table { font-size:10px; }.data-table th { padding:0 6px 8px; font-size:8px; }.data-table td { height:28px; padding:4px 6px; }.provenance-list span { font-size:8px; }.provenance-list b { font-size:10px; }.raw-lines code { padding:5px 7px; font-size:8px; }
.plot-meta { position:relative; z-index:1; margin-top:-4px !important; color:#9eb5c0; font:8px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace; }
@media (max-width:760px) {
  .search-control input { width:144px; font-size:9px; }.workspace h1 { font-size:clamp(23px,7vw,32px); }.table-legend { display:none; }.preview-range { font-size:7px; }
  .record-titlebar { min-height:80px; }.record-id p:not(.eyebrow) { font-size:7px; }.record-actions [data-record-prev],.record-actions [data-record-next] { display:none; }.record-content { padding:8px; }.record-status { padding:0 8px; font-size:7px; }.record-tabs button { font-size:7px; }
  .overview-grid-refined { grid-template-columns:1fr 1fr; grid-template-rows:1.05fr 1.05fr .9fr; gap:6px; }.overview-grid-refined .summary-card,.overview-grid-refined .daughter-card,.overview-grid-refined .availability-card { grid-column:span 1; }.overview-grid-refined .availability-card { grid-column:span 2; }.summary-card { grid-template-columns:1fr 1fr; gap:6px; }.metric-row { grid-template-columns:1fr; gap:4px; }.metric span { font-size:6px; }.metric strong { font-size:10px; }.data-card { padding:8px; }.daughter-row { padding:5px; }.daughter-row b { font-size:10px; }.daughter-row span,.daughter-branch small { font-size:5px; }.daughter-branch strong { font-size:11px; }.energy-list b { font-size:10px; }.energy-list span,.derived-total span { font-size:5px; }.derived-total { margin-top:7px; padding-top:5px; }.derived-total strong { font-size:11px; }.availability-grid { gap:4px; }.availability-grid button { min-height:34px; padding:4px; font-size:5px; }.availability-grid b { font-size:10px; }
  .decay-summary { align-items:start; }.decay-summary h3 { font-size:11px; }.decay-summary p { font-size:6px; }.decay-legend { gap:5px; margin-top:4px; font-size:5px; }.decay-legend span::before { width:7px; }.mode-toggle button { min-height:22px; padding:0 5px; font-size:6px; }.view-toolbar p { font-size:6px; }.mini-button { min-height:22px; padding:0 5px; font-size:6px; }.graph-range { display:inline-flex; font-size:5px; }.graph-node-label { width:68px; min-height:31px; padding:3px; }.graph-node-label b { font-size:9px; }.graph-node-label span { font-size:5px; }.graph-edge-label { max-width:62px; padding:2px; }.graph-edge-label b { font-size:6px; }.graph-edge-label span { font-size:5px; }
  .data-table { font-size:7px; }.data-table th { font-size:6px; }.data-table td { height:22px; }.plot-card,.table-card,.source-card { padding:7px; }
}
.pager { gap:8px; font-size:9px; }.pager button { min-width:auto; height:27px; padding:0 8px; font-size:8px; }.pager-current { min-width:76px; text-align:center; color:#b8cbd3; }.table-pager { right:12px; bottom:10px; }
.search-empty { margin:0; padding:11px 12px; color:#a6bac4; font-size:10px; }
@media (max-width:760px) { .pager { gap:4px; }.pager button { height:21px; padding:0 5px; font-size:6px; }.pager-edge { display:none; }.pager-current { min-width:60px; font-size:6px; }.table-pager { right:6px; bottom:6px; } }

/* Instrument-grade interaction layer. */
.periodic-grid { position:relative; isolation:isolate; --field-x:50%; --field-y:50%; }
.periodic-grid::before { content:""; position:absolute; z-index:-1; inset:-30%; pointer-events:none; opacity:.55; background:radial-gradient(380px circle at var(--field-x) var(--field-y),rgba(123,244,213,.1),transparent 72%); transition:opacity .2s ease; }
.element::before { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; opacity:0; background:radial-gradient(62px circle at var(--cell-x,50%) var(--cell-y,50%),rgba(218,255,246,.22),transparent 68%); transition:opacity .18s ease; }
.element:not(.is-empty):hover::before,.element:not(.is-empty):focus-visible::before { opacity:1; }
.element > * { position:relative; z-index:1; }

.element-preview { width:min(430px,calc(100vw - 28px)); max-height:min(500px,calc(100dvh - 20px)); padding:16px; pointer-events:auto; transform:translate3d(var(--preview-x),var(--preview-y),0) scale(.985); transform-origin:top left; transition:opacity .14s ease,transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,box-shadow .18s ease; }
.element-preview:not([hidden]) { transform:translate3d(var(--preview-x),var(--preview-y),0) scale(1); }
.element-preview.is-pinned { border-color:rgba(131,242,210,.88); box-shadow:0 32px 95px rgba(0,0,0,.64),0 0 0 1px rgba(131,242,210,.22),0 0 54px rgba(118,239,207,.2); animation:preview-pin .34s cubic-bezier(.2,.8,.2,1); }
.preview-chrome { display:flex; align-items:center; gap:8px; }
.preview-chrome button { display:none; place-items:center; width:20px; height:20px; padding:0; border:1px solid var(--rule); border-radius:50%; background:rgba(255,255,255,.035); color:var(--muted); cursor:pointer; font-size:15px; line-height:1; }
.is-pinned .preview-chrome button { display:grid; }
.preview-chrome button:hover,.preview-chrome button:focus-visible { border-color:var(--accent); color:var(--accent); outline:none; }
.preview-focus { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; min-height:44px; margin:0 0 10px; padding:7px 9px; border:1px solid rgba(175,224,231,.17); border-radius:9px; background:rgba(2,13,25,.34); }
.preview-focus-id { min-width:50px; color:var(--ink); font-size:18px; font-weight:620; letter-spacing:-.04em; text-align:center; }
.preview-focus-id sup { color:var(--accent); font:9px ui-monospace,SFMono-Regular,Menlo,monospace; }
.preview-focus > span:last-child { min-width:0; }
.preview-focus b,.preview-focus small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-focus b { color:var(--accent); font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace; }
.preview-focus small { margin-top:3px; color:#a6bbc5; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }
.preview-isotopes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-content:start; gap:5px; min-height:27px; }
.preview-chip { justify-content:center; min-width:0; min-height:35px; padding:4px 5px; border-color:rgba(180,220,230,.2); cursor:pointer; text-align:center; transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease; }
.preview-chip small { display:block; max-width:57px; margin-left:3px; overflow:hidden; color:#95acb7; font:6px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
.preview-chip:not(.preview-more):hover,.preview-chip:not(.preview-more):focus-visible { z-index:2; border-color:var(--accent); background:rgba(131,242,210,.13); box-shadow:0 7px 20px rgba(39,224,186,.13); outline:none; transform:translateY(-2px); }
.is-pinned .preview-chip:first-child { border-color:rgba(131,242,210,.36); }
.preview-more { display:flex; cursor:default; color:var(--accent); }

.copy-target { cursor:copy !important; transition:color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease; }
.copy-target:hover,.copy-target:focus-visible { color:var(--accent) !important; background-color:rgba(131,242,210,.09) !important; box-shadow:inset 0 0 0 1px rgba(131,242,210,.25); outline:none; }
.metric strong.copy-target,.energy-list b.copy-target,.derived-total strong.copy-target { border-radius:4px; }
.daughter-row.copy-target:hover,.data-table tr.copy-target:hover { transform:translateX(2px); }
.unit-toggle { display:flex; flex:none; gap:3px; padding:3px; border:1px solid var(--rule); border-radius:7px; background:rgba(0,8,17,.24); }
.unit-toggle button { min-width:42px; min-height:21px; padding:0 6px; border-radius:4px; background:transparent; color:var(--muted); cursor:pointer; font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }
.unit-toggle button[aria-pressed="true"] { background:rgba(131,242,210,.15); color:var(--accent); box-shadow:inset 0 0 0 1px rgba(131,242,210,.27); }

.decay-view { grid-template-rows:auto auto minmax(0,1fr); }
.coordinate-key { display:inline-flex; align-items:center; min-height:29px; padding:0 9px; border:1px solid rgba(161,205,220,.18); border-radius:7px; color:#9fb8c4; background:rgba(4,15,27,.32); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; white-space:nowrap; }
.decay-legend .capture { color:#f0bdff; }.decay-legend .isomer { color:#ffd98c; }
.graph-stage { touch-action:none; cursor:grab; user-select:none; outline:none; }
.graph-stage:focus-visible { border-color:var(--accent); box-shadow:0 0 0 2px rgba(131,242,210,.15),inset 0 0 70px rgba(55,171,146,.04); }
.graph-stage.is-panning { cursor:grabbing; }
.graph-stage::before { display:none; }
.graph-canvas { z-index:0; pointer-events:none; opacity:.68; }
.graph-links { z-index:1; }
.graph-labels { z-index:2; }
.graph-grid-line { stroke:rgba(151,205,217,.09); stroke-width:1; vector-effect:non-scaling-stroke; }
.graph-grid-line.origin { stroke:rgba(131,242,210,.2); }
.graph-grid-label { fill:rgba(160,188,200,.52); font:7px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em; }
.graph-link { vector-effect:non-scaling-stroke; }
.graph-link.capture { stroke:#efbaff; }.graph-link.isomer { stroke:#ffd98c; stroke-dasharray:3 3; }
.graph-link.is-dim { opacity:.08; }.graph-link.is-focus { opacity:1; filter:drop-shadow(0 0 5px currentColor); }
.graph-node-label { display:grid; place-content:center; width:94px; min-height:40px; padding:4px 7px; overflow:hidden; pointer-events:auto; cursor:pointer; text-align:center; transform:translate(-50%,-50%); transition:opacity .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.graph-node-label b,.graph-node-label span,.graph-node-label em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.graph-node-label em { display:block; margin-top:2px; color:#718d9a; font:5px ui-monospace,SFMono-Regular,Menlo,monospace; font-style:normal; letter-spacing:.03em; }
.graph-stage.is-dense .graph-node-label { padding:2px 4px; }
.graph-stage.is-dense .graph-node-label b { font-size:11px; line-height:1; }
.graph-stage.is-dense .graph-node-label span { margin-top:2px; font-size:6px; line-height:1; }
.graph-stage.is-dense .graph-node-label em { margin-top:2px; font-size:4px; line-height:1; }
.graph-node-label:hover,.graph-node-label:focus-visible,.graph-node-label.is-focus { z-index:8; border-color:var(--accent); box-shadow:0 0 0 2px rgba(131,242,210,.15),0 11px 30px rgba(0,0,0,.5),0 0 24px rgba(101,236,204,.14); outline:none; transform:translate(-50%,-50%) scale(1.09); }
.graph-node-label.is-dim { opacity:.13; filter:saturate(.25); }
.graph-node-label.terminal { border-style:dashed; }
.graph-edge-label { position:absolute; min-width:38px; border:1px solid transparent; pointer-events:auto; cursor:copy; transform:translate(-50%,-50%); transition:opacity .16s ease,transform .16s ease,border-color .16s ease,background .16s ease; }
.graph-edge-label:hover,.graph-edge-label:focus-visible,.graph-edge-label.is-focus { z-index:9; border-color:rgba(131,242,210,.5); background:rgba(5,19,31,.97); outline:none; transform:translate(-50%,-50%) scale(1.08); }
.graph-edge-label.is-dim { opacity:.08; }
.graph-hud { position:absolute; z-index:3; left:10px; bottom:9px; display:flex; align-items:center; gap:8px; pointer-events:none; }
.graph-hud b { padding:3px 5px; border:1px solid rgba(131,242,210,.23); border-radius:4px; color:var(--accent); background:rgba(3,14,24,.76); font:7px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; }
.graph-hud span { color:#78909b; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }
.graph-inspector { position:absolute; z-index:5; top:9px; right:9px; display:grid; min-width:148px; padding:8px 10px; pointer-events:none; border:1px solid rgba(131,242,210,.35); border-radius:8px; background:rgba(5,17,30,.94); box-shadow:0 12px 30px rgba(0,0,0,.33); }
.graph-inspector b { color:var(--accent); font-size:13px; }.graph-inspector span { margin-top:2px; color:var(--ink); font:8px ui-monospace,SFMono-Regular,Menlo,monospace; }.graph-inspector em { margin-top:3px; color:var(--muted); font:6px ui-monospace,SFMono-Regular,Menlo,monospace; font-style:normal; text-transform:uppercase; }

.plot-card { isolation:isolate; }
.plot-canvas { cursor:crosshair; }
.plot-tooltip { position:absolute; z-index:4; display:grid; min-width:145px; padding:7px 9px; pointer-events:none; border:1px solid rgba(131,242,210,.42); border-radius:7px; background:rgba(4,17,29,.95); box-shadow:0 12px 28px rgba(0,0,0,.36); }
.plot-tooltip b { color:var(--accent); font:10px ui-monospace,SFMono-Regular,Menlo,monospace; }.plot-tooltip span { margin-top:2px; color:#aec2cc; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }

@keyframes preview-pin { 0% { filter:brightness(1); } 45% { filter:brightness(1.24); } 100% { filter:brightness(1); } }
@keyframes isotope-invite {
  0% { opacity:0; transform:translateZ(0) scale(.985); }
  38% { opacity:1; transform:translateZ(0) scale(1.025); }
  100% { opacity:0; transform:translateZ(0) scale(.985); }
}

@media (max-width:760px) {
  .record-dialog { height:calc(100dvh - 16px); }
  .element-preview.is-pinned { display:block !important; width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:11px; }
  .element-preview.is-pinned .preview-identity { grid-template-columns:41px minmax(0,1fr); gap:8px; margin:8px 0; }
  .element-preview.is-pinned .preview-identity strong { width:41px; border-radius:11px; font-size:21px; }
  .element-preview.is-pinned .preview-identity h2 { margin-bottom:2px; font-size:19px; }
  .element-preview.is-pinned .preview-identity p,.element-preview.is-pinned .preview-range,.element-preview.is-pinned .preview-hint { font-size:6px; }
  .element-preview.is-pinned .preview-range { margin:5px 0 7px; }
  .element-preview.is-pinned .preview-focus { min-height:35px; margin-bottom:7px; padding:4px 6px; }
  .element-preview.is-pinned .preview-focus-id { min-width:40px; font-size:14px; }
  .element-preview.is-pinned .preview-isotopes { grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
  .element-preview.is-pinned .preview-chip { min-height:29px; padding:3px; font-size:9px; }
  .element-preview.is-pinned .preview-chip small { display:none; }
  .coordinate-key { display:none; }
  .toolbar-actions { gap:3px; }
  .decay-summary p { max-width:70vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .graph-node-label { width:68px; min-height:31px; padding:3px; }
  .graph-node-label em { font-size:4px; }
  .graph-hud span { display:none; }
  .graph-inspector { min-width:110px; padding:5px 7px; }
  .graph-inspector b { font-size:9px; }.graph-inspector span { font-size:6px; }.graph-inspector em { font-size:5px; }
  .unit-toggle button { min-width:33px; font-size:6px; }
}

/* Full-field periodic table: typography and space belong to the data. */
.workspace { display:block; min-height:0; padding:10px 0 8px; }
.table-shell { display:block; width:100%; height:100%; min-height:0; }
.periodic-grid { width:100%; height:100%; grid-template-rows:repeat(7,minmax(0,1fr)) minmax(12px,.24fr) repeat(2,minmax(0,1fr)); gap:clamp(3px,.34vw,6px); padding:clamp(7px,.72vw,12px); }
.element { padding:clamp(6px,.55vw,10px); border-radius:clamp(6px,.65vw,12px); }
.element .atomic { position:absolute; z-index:2; top:clamp(8px,.62vw,12px); right:clamp(8px,.62vw,12px); display:block; color:var(--accent); opacity:.96; font:800 clamp(10px,.78vw,14px)/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:-.04em; text-shadow:0 0 14px rgba(131,242,210,.22); }
.element > b { position:absolute; z-index:2; top:clamp(8px,.62vw,12px); left:clamp(7px,.58vw,11px); display:block; margin:0; max-width:74%; overflow:hidden; font-size:clamp(25px,2.35vw,43px); font-weight:650; letter-spacing:-.085em; line-height:.78; text-overflow:ellipsis; white-space:nowrap; }
.element > b.is-long-symbol { max-width:72%; font-size:clamp(22px,1.92vw,35px); letter-spacing:-.09em; }
.element .name { position:absolute; z-index:2; right:clamp(8px,.62vw,12px); bottom:clamp(8px,.62vw,12px); left:clamp(8px,.62vw,12px); display:block; margin:0; overflow:hidden; color:#bdd0d9; font-size:clamp(6.5px,.52vw,9.5px); font-weight:560; line-height:1; opacity:.88; text-overflow:ellipsis; white-space:nowrap; }
.element .name.is-long { font-size:clamp(5.5px,.43vw,7.6px); letter-spacing:-.025em; }
.element.is-selected .atomic,.element.is-selected .name { color:var(--accent-ink); text-shadow:none; }

.element-preview { width:min(720px,46vw); min-height:360px; max-height:min(650px,calc(100dvh - 28px)); padding:26px 28px 22px; pointer-events:none; border-radius:22px; border-color:rgba(166,239,227,.52); background:linear-gradient(145deg,rgba(19,58,70,.985),rgba(12,17,43,.995)); box-shadow:0 38px 110px rgba(0,0,0,.66),0 0 72px rgba(123,236,205,.16); }
.element-preview.is-pinned { pointer-events:auto; }
.element-preview:not(.is-pinned) .preview-chip { cursor:default; }
.preview-chip { position:relative; isolation:isolate; }
.preview-chip::after { content:""; position:absolute; z-index:2; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transform:translateZ(0) scale(.985); box-shadow:inset 0 0 0 1px rgba(131,242,210,.34),0 0 16px rgba(73,231,195,.22); backface-visibility:hidden; will-change:opacity,transform; }
.element-preview:not([hidden]) .preview-chip::after { animation:isotope-invite 5.2s cubic-bezier(.45,0,.55,1) infinite both; animation-delay:calc(var(--chip-order,0) * 110ms); }
.element-preview.is-pinned .preview-chip:hover::after,.element-preview.is-pinned .preview-chip:focus-visible::after { animation:none; opacity:0; }
.element-preview::before { top:-150px; right:-90px; width:390px; height:310px; }
.preview-top { font-size:10px; letter-spacing:.12em; }
.preview-chrome { gap:12px; }
.preview-chrome [data-preview-state]:empty { display:none; }
.preview-chrome button { width:26px; height:26px; font-size:19px; }
.preview-identity { grid-template-columns:98px minmax(0,1fr); gap:20px; margin:18px 0 15px; }
.preview-identity strong { width:98px; border-radius:25px; font-size:50px; box-shadow:0 0 45px rgba(131,242,210,.28); }
.preview-identity h2 { margin:0 0 7px; font-size:42px; font-weight:590; }
.preview-identity p,.preview-hint { color:#aebfc8; font-size:10px; line-height:1.45; }
.preview-range { margin:10px 0 13px; color:#c0d2da; font-size:11px; line-height:1.4; }
.preview-focus { grid-template-columns:105px minmax(0,1fr); gap:16px; min-height:72px; margin-bottom:14px; padding:10px 14px; border-radius:12px; }
.preview-focus-id { min-width:0; font-size:29px; }
.preview-focus-id sup { font-size:13px; }
.preview-focus b { font-size:15px; }
.preview-focus small { margin-top:5px; font-size:9px; }
.preview-isotopes { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.preview-chip { min-height:48px; padding:7px 8px; border-radius:9px; font-size:15px; }
.preview-chip sup { font-size:10px; }
.preview-chip small { max-width:76px; margin-left:5px; color:#abc0ca; font-size:8px; }
.preview-hint { margin-top:13px; font-size:9px; }

@media (max-width:760px) {
  .workspace { padding:5px 0 3px; }
  .periodic-grid { grid-template-rows:repeat(7,minmax(0,1fr)) minmax(5px,.12fr) repeat(2,minmax(0,1fr)); gap:1px; padding:3px; }
  .element { padding:1px; border-radius:2px; }
  .element .atomic { top:2px; right:2px; font-size:5px; }
  .element > b,.element > b.is-long-symbol { top:3px; left:2px; bottom:auto; font-size:clamp(8px,2.8vw,11px); }
  .element .name { display:none; }
  .element-preview.is-pinned { width:min(360px,46vw); min-height:0; max-height:calc(100dvh - 16px); padding:11px; border-radius:14px; }
  .element-preview.is-pinned .preview-top { font-size:6px; }
  .element-preview.is-pinned .preview-identity { grid-template-columns:41px minmax(0,1fr); gap:8px; margin:8px 0; }
  .element-preview.is-pinned .preview-identity strong { width:41px; border-radius:11px; font-size:21px; }
  .element-preview.is-pinned .preview-identity h2 { margin-bottom:2px; font-size:19px; }
  .element-preview.is-pinned .preview-identity p,.element-preview.is-pinned .preview-range,.element-preview.is-pinned .preview-hint { font-size:6px; }
  .element-preview.is-pinned .preview-range { margin:5px 0 7px; }
  .element-preview.is-pinned .preview-focus { grid-template-columns:40px minmax(0,1fr); min-height:35px; margin-bottom:7px; padding:4px 6px; }
  .element-preview.is-pinned .preview-focus-id { font-size:14px; }
  .element-preview.is-pinned .preview-focus b { font-size:8px; }.element-preview.is-pinned .preview-focus small { font-size:5px; }
  .element-preview.is-pinned .preview-isotopes { grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
  .element-preview.is-pinned .preview-chip { min-height:29px; padding:3px; border-radius:5px; font-size:9px; }
  .element-preview.is-pinned .preview-chip small { display:none; }
}
