.app-header .logo-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;margin-right:10px;flex-shrink:0;box-shadow:0 2px 8px #38bdf866}.app-header>div:first-child{display:flex;align-items:center}:root{--bg-900: #0b1120;--bg-800: #0f172a;--bg-700: #1e293b;--bg-600: #334155;--bg-500: #475569;--text-100: #f8fafc;--text-200: #e2e8f0;--text-300: #cbd5e1;--text-400: #94a3b8;--text-500: #64748b;--overlay-bg: rgba(15, 23, 42, .85);--shadow-color: rgba(0, 0, 0, .5);--accent-blue: #38bdf8;--accent-purple: #818cf8;--accent-pink: #f472b6;--accent-green: #34d399;--accent-yellow: #fbbf24;--accent-red: #f87171;--accent-orange: #fb923c;--cat-alkali-metal: #ff6b6b;--cat-alkaline-earth: #feca57;--cat-transition: #48dbfb;--cat-post-transition: #1dd1a1;--cat-metalloid: #a29bfe;--cat-nonmetal: #54a0ff;--cat-halogen: #ff9ff3;--cat-noble-gas: #c8d6e5;--cat-lanthanide: #ee5a6f;--cat-actinide: #f368e0;--cat-unknown: #576574;--font-en: "Inter", system-ui, -apple-system, sans-serif;--font-bn: "Hind Siliguri", "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--header-h: 56px;--tabbar-h: 64px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background:var(--bg-900);color:var(--text-200);font-family:var(--font-en);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}html[lang=bn],html[lang=bn] body,html[lang=bn] #root{font-family:var(--font-bn)}body{background:radial-gradient(ellipse at top,#1e293b,#0b1120 70%);background-attachment:fixed}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;color:inherit}.app-header{height:var(--header-h);background:#0f172ad9;backdrop-filter:blur(12px);border-bottom:1px solid var(--bg-600);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:100}.app-header h1{font-size:16px;font-weight:700;letter-spacing:.02em;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header .subtitle{font-size:11px;color:var(--text-400);margin-top:2px;font-weight:400}.header-right{display:flex;align-items:center;gap:8px}.lang-toggle{display:flex;background:var(--bg-700);border-radius:var(--radius-md);padding:3px;border:1px solid var(--bg-600)}.lang-toggle button{padding:5px 12px;font-size:12px;font-weight:600;color:var(--text-400);border-radius:7px;transition:all .18s ease}.lang-toggle button.active{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;box-shadow:0 2px 6px #38bdf859}.tab-bar{display:flex;overflow-x:auto;background:var(--bg-800);border-bottom:1px solid var(--bg-600);scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-bar button{flex:0 0 auto;padding:12px 16px;font-size:13px;font-weight:500;color:var(--text-400);border-bottom:2px solid transparent;white-space:nowrap;transition:all .2s ease}.tab-bar button:hover{color:var(--text-200)}.tab-bar button.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background:#38bdf80f}.app-main{height:calc(100vh - var(--header-h));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}.view-container{padding:16px;min-height:100%}.pt2d-wrapper{width:100%;overflow-x:auto;padding:8px 4px 24px}.pt2d-grid{display:grid;grid-template-columns:repeat(18,minmax(36px,1fr));grid-template-rows:repeat(10,minmax(36px,1fr));gap:3px;min-width:700px;direction:ltr}.element-cell{position:relative;background:var(--bg-700);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:2px;min-height:38px;transition:transform .15s ease,box-shadow .15s ease;border:1px solid transparent;overflow:hidden;user-select:none}.element-cell:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 18px #00000080;z-index:5}.element-cell:before{content:"";position:absolute;inset:0;background:var(--cell-color, var(--bg-700));opacity:.16;pointer-events:none}.element-cell.selected{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue),0 8px 24px #38bdf866;transform:translateY(-2px) scale(1.06);z-index:10}.element-cell .z{font-size:9px;color:var(--text-400);font-family:var(--font-mono);line-height:1}.element-cell .sym{font-size:16px;font-weight:700;color:var(--cell-color, var(--text-100));line-height:1.1;text-shadow:0 0 8px currentColor}.element-cell .mass{font-size:7px;color:var(--text-500);font-family:var(--font-mono);line-height:1}.element-cell.trend-active{border-color:var(--trend-color, var(--accent-yellow));box-shadow:0 0 0 1px var(--trend-color)}.element-cell.mnemonic-active{border-color:var(--accent-pink);animation:pulse-mnemonic 1.5s ease-in-out infinite}@keyframes pulse-mnemonic{0%,to{box-shadow:0 0 0 1px var(--accent-pink)}50%{box-shadow:0 0 0 3px var(--accent-pink),0 0 12px var(--accent-pink)}}.pt2d-label{position:absolute;font-size:8px;color:var(--text-500);text-align:center;pointer-events:none}.pt2d-lanth-divider{grid-column:1 / -1;text-align:center;color:var(--text-500);font-size:9px;padding:4px 0;grid-row:8}.detail-drawer{position:fixed;bottom:0;left:0;right:0;background:var(--bg-800);border-top:1px solid var(--bg-600);border-radius:16px 16px 0 0;max-height:80vh;overflow-y:auto;z-index:200;box-shadow:0 -8px 32px #0009;padding:16px;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.detail-symbol-block{display:flex;align-items:center;gap:12px}.detail-symbol{width:56px;height:56px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--cell-color, var(--bg-600))}.detail-symbol .sym{font-size:24px;font-weight:700;color:var(--cell-color);line-height:1}.detail-symbol .z{font-size:11px;color:var(--text-400);font-family:var(--font-mono)}.detail-title h2{font-size:18px;color:var(--text-100);font-weight:700}.detail-title .subtitle{font-size:12px;color:var(--text-400)}.close-btn{width:32px;height:32px;border-radius:8px;background:var(--bg-700);display:flex;align-items:center;justify-content:center;color:var(--text-300);font-size:18px;transition:background .15s}.close-btn:hover{background:var(--bg-600)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.detail-stat{background:var(--bg-700);padding:8px 10px;border-radius:8px;border-left:3px solid var(--accent-blue)}.detail-stat .label{font-size:10px;color:var(--text-400);text-transform:uppercase;letter-spacing:.04em}.detail-stat .value{font-size:13px;color:var(--text-100);font-weight:600;font-family:var(--font-mono);margin-top:2px}.detail-summary{background:var(--bg-700);padding:10px 12px;border-radius:8px;font-size:12px;color:var(--text-300);line-height:1.55;margin-top:8px}.model-tabs{display:flex;gap:6px;margin:14px 0 8px;background:var(--bg-700);padding:4px;border-radius:8px}.model-tabs button{flex:1;padding:6px 8px;font-size:11px;font-weight:600;color:var(--text-400);border-radius:6px;transition:all .15s}.model-tabs button.active{background:var(--bg-600);color:var(--accent-blue)}.atom-canvas{width:100%;height:320px;background:radial-gradient(circle at center,rgba(56,189,248,.04),transparent 70%);border-radius:12px;border:1px solid var(--bg-600);position:relative;overflow:hidden}.reaction-lab{display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-height:600px}.reaction-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reaction-slot{background:var(--bg-700);border:1px dashed var(--bg-500);border-radius:10px;padding:12px;text-align:center;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s}.reaction-slot:hover{border-color:var(--accent-blue);background:#38bdf80d}.reaction-slot.filled{border-style:solid;border-color:var(--cell-color)}.reaction-slot .placeholder{color:var(--text-400);font-size:12px}.reaction-slot .slot-symbol{font-size:32px;font-weight:700;color:var(--cell-color);line-height:1;text-shadow:0 0 14px currentColor}.reaction-slot .slot-name{font-size:12px;color:var(--text-300);margin-top:4px}.reaction-stage{background:var(--bg-900);border:1px solid var(--bg-600);border-radius:12px;height:380px;position:relative;overflow:hidden}.reaction-result-panel{background:var(--bg-700);border-radius:12px;padding:12px;border-left:4px solid var(--accent-blue)}.reaction-result-panel.not-feasible{border-left-color:var(--accent-red)}.result-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;border-bottom:1px dashed var(--bg-600)}.result-row:last-child{border-bottom:none}.result-row .label{color:var(--text-400)}.result-row .value{color:var(--text-100);font-weight:600;font-family:var(--font-mono)}.formula-display{font-size:28px;font-weight:700;text-align:center;background:var(--bg-800);padding:16px;border-radius:10px;margin:8px 0;background-image:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--font-mono)}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #38bdf84d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #38bdf880}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-700);color:var(--text-200);padding:8px 14px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid var(--bg-600);transition:background .15s}.btn-secondary:hover{background:var(--bg-600)}.action-row{display:flex;gap:8px;justify-content:center;margin-top:12px}.trend-selector{display:flex;gap:6px;overflow-x:auto;padding:8px 0;margin-bottom:8px}.trend-chip{padding:8px 14px;background:var(--bg-700);border-radius:20px;font-size:12px;font-weight:600;color:var(--text-300);border:1px solid var(--bg-600);white-space:nowrap;transition:all .2s}.trend-chip.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.trend-explainer{background:var(--bg-700);border-radius:10px;padding:12px;font-size:12px;color:var(--text-300);line-height:1.6;margin-bottom:12px;border-left:3px solid var(--accent-yellow)}.trend-arrow{position:absolute;pointer-events:none;z-index:4;font-size:10px;font-weight:700}.mnemonic-card{background:linear-gradient(135deg,#f472b61f,#818cf81f);border:1px solid rgba(244,114,182,.3);border-radius:12px;padding:14px;margin-bottom:10px}.mnemonic-card .group-label{font-size:10px;color:var(--accent-pink);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.mnemonic-card .text{font-size:14px;color:var(--text-100);margin:6px 0 8px;font-weight:500;line-height:1.5}.mnemonic-card .elements{display:flex;gap:6px;flex-wrap:wrap}.mnemonic-card .element-pill{background:var(--bg-700);padding:3px 8px;border-radius:6px;font-size:11px;color:var(--text-300);font-family:var(--font-mono);font-weight:600}.game-card{background:var(--bg-700);border-radius:14px;padding:18px;margin-bottom:12px;border:1px solid var(--bg-600);cursor:pointer;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-2px);border-color:var(--accent-blue)}.game-card h3{font-size:16px;color:var(--text-100);margin-bottom:6px;display:flex;align-items:center;gap:8px}.game-card .desc{font-size:12px;color:var(--text-400);line-height:1.5}.quiz-question{background:var(--bg-700);border-radius:12px;padding:16px;margin:12px 0}.quiz-question .q-text{font-size:14px;color:var(--text-100);margin-bottom:12px;line-height:1.5;font-weight:500}.quiz-option{display:block;width:100%;text-align:left;padding:10px 14px;background:var(--bg-800);border:1px solid var(--bg-600);border-radius:8px;font-size:13px;color:var(--text-200);margin-bottom:6px;transition:all .15s}.quiz-option:hover{border-color:var(--accent-blue);background:#38bdf80f}.quiz-option.correct{background:#34d39926;border-color:var(--accent-green);color:var(--accent-green)}.quiz-option.wrong{background:#f8717126;border-color:var(--accent-red);color:var(--accent-red)}.quiz-explanation{background:#38bdf814;border-left:3px solid var(--accent-blue);padding:10px 12px;border-radius:6px;font-size:12px;color:var(--text-300);margin-top:10px;line-height:1.5}.score-display{text-align:center;font-size:14px;color:var(--text-200);padding:10px;background:var(--bg-700);border-radius:10px;margin-bottom:12px}.score-display .score-value{font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--accent-yellow),var(--accent-orange));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--font-mono)}.timer-bar{height:4px;background:var(--bg-600);border-radius:2px;overflow:hidden;margin:6px 0 12px}.timer-bar .fill{height:100%;background:linear-gradient(90deg,var(--accent-green),var(--accent-yellow),var(--accent-red));transition:width .5s linear}.balance-scale{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:14px 0;padding:14px;background:var(--bg-700);border-radius:12px}.balance-side{background:var(--bg-800);border-radius:8px;padding:10px;min-height:100px;text-align:center;border:1px solid var(--bg-600)}.balance-side .label{font-size:11px;color:var(--text-400);text-transform:uppercase;margin-bottom:6px}.balance-side .total{font-size:24px;font-weight:700;color:var(--accent-blue);font-family:var(--font-mono)}.balance-side.balanced .total{color:var(--accent-green)}.balance-divider{font-size:22px;color:var(--accent-yellow);font-weight:700}.coefficient-controls{display:flex;gap:8px;justify-content:center;margin:10px 0;flex-wrap:wrap}.coefficient-control{background:var(--bg-700);padding:8px 12px;border-radius:8px;border:1px solid var(--bg-600);display:flex;align-items:center;gap:8px}.coefficient-control .name{font-size:12px;color:var(--text-300);font-family:var(--font-mono)}.coefficient-control button{width:24px;height:24px;border-radius:4px;background:var(--bg-600);color:var(--text-100);font-weight:700;font-size:12px}.coefficient-control .value{font-size:14px;font-weight:700;color:var(--accent-blue);min-width:18px;text-align:center;font-family:var(--font-mono)}.find-element-clue{background:var(--bg-700);border-radius:12px;padding:14px;text-align:center;margin-bottom:12px;border:1px solid var(--bg-600)}.find-element-clue .label{font-size:11px;color:var(--accent-yellow);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.find-element-clue .clue-text{font-size:14px;color:var(--text-100);font-weight:500}.three-canvas-wrapper{width:100%;height:100%;position:relative;background:radial-gradient(circle at center,#1e293b,#0b1120 80%)}.three-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:10}.three-controls button{width:36px;height:36px;background:#0f172ab3;border-radius:8px;color:var(--text-200);font-size:16px;border:1px solid var(--bg-600);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:background .15s}.three-controls button:hover{background:#38bdf833;border-color:var(--accent-blue)}.hud-overlay{position:absolute;top:12px;left:12px;background:#0f172ab3;border-radius:10px;padding:10px 12px;font-size:11px;color:var(--text-300);backdrop-filter:blur(8px);border:1px solid var(--bg-600);z-index:10;max-width:220px;line-height:1.5}.hud-overlay .hud-title{font-size:12px;color:var(--accent-blue);font-weight:700;margin-bottom:4px}.toast{position:fixed;top:72px;left:50%;transform:translate(-50%);background:var(--bg-700);border:1px solid var(--bg-600);padding:10px 16px;border-radius:10px;font-size:12px;color:var(--text-100);z-index:1000;box-shadow:var(--shadow-lg);animation:toastIn .25s ease;max-width:90vw}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.toast.success{border-color:var(--accent-green)}.toast.error{border-color:var(--accent-red)}.loading-screen{position:fixed;inset:0;background:var(--bg-900);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-spinner{width:60px;height:60px;border:3px solid var(--bg-600);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:18px;color:var(--text-300);font-size:13px;letter-spacing:.04em}.empty-state{text-align:center;padding:40px 20px;color:var(--text-400);font-size:13px}@media (max-width: 768px){.pt2d-grid{grid-template-columns:repeat(18,minmax(30px,1fr));grid-template-rows:repeat(10,minmax(32px,1fr))}.element-cell .sym{font-size:13px}.element-cell .mass{display:none}.element-cell .z{font-size:8px}.detail-grid,.reaction-picker{grid-template-columns:1fr}.formula-display{font-size:22px}}@media (max-width: 480px){.app-header h1{font-size:14px}.app-header .subtitle{display:none}.tab-bar button{padding:10px 12px;font-size:12px}}:lang(bn) .element-cell .sym{font-family:var(--font-en)}[data-theme=light]{--bg-900: #f1f5f9;--bg-800: #e2e8f0;--bg-700: #ffffff;--bg-600: #cbd5e1;--bg-500: #94a3b8;--text-100: #0f172a;--text-200: #1e293b;--text-300: #334155;--text-400: #475569;--text-500: #64748b;--overlay-bg: rgba(255, 255, 255, .92);--shadow-color: rgba(0, 0, 0, .15)}[data-theme=high-contrast]{--bg-900: #000000;--bg-800: #0a0a0a;--bg-700: #1a1a1a;--bg-600: #2a2a2a;--bg-500: #444444;--text-100: #ffffff;--text-200: #f0f0f0;--text-300: #e0e0e0;--text-400: #b0b0b0;--text-500: #909090;--accent-blue: #00d4ff;--accent-yellow: #ffd700;--accent-green: #00ff88;--accent-red: #ff4444;--overlay-bg: rgba(0, 0, 0, .95);--shadow-color: rgba(0, 0, 0, .8)}[data-theme=high-contrast] .element-cell{border:2px solid var(--text-100)!important}[data-theme=high-contrast] .element-cell .sym{text-shadow:none!important}[data-font=dyslexic] body,[data-font=dyslexic] #root{font-family:Comic Sans MS,OpenDyslexic,Lexend,system-ui,sans-serif!important;letter-spacing:.04em!important;line-height:1.6!important}.app-header h1{font-size:clamp(13px,2.5vw,18px)}.detail-title h2{font-size:clamp(16px,3vw,22px)}.formula-display{font-size:clamp(20px,4vw,32px)}@media (min-width: 1920px){:root{--header-h: 72px;--tabbar-h: 80px}.app-header{padding:0 32px}.app-header h1{font-size:22px}.app-header .subtitle{font-size:13px}.tab-bar button{padding:18px 28px;font-size:16px}.view-container{padding:32px;max-width:2400px;margin:0 auto}.pt2d-grid{grid-template-columns:repeat(18,minmax(56px,1fr));grid-template-rows:repeat(10,minmax(56px,1fr));gap:5px;min-width:auto}.element-cell{min-height:56px}.element-cell .z{font-size:11px}.element-cell .sym{font-size:22px}.element-cell .mass{font-size:9px}.detail-drawer{bottom:auto;top:var(--header-h);right:0;left:auto;width:540px;max-height:calc(100vh - var(--header-h));border-radius:16px 0 0;border-top:none;border-left:1px solid var(--bg-600);box-shadow:-8px 0 32px var(--shadow-color)}.detail-grid{grid-template-columns:repeat(2,1fr)}.detail-stat .label{font-size:11px}.detail-stat .value{font-size:15px}.atom-canvas{height:420px}.game-card{padding:24px}.game-card h3{font-size:18px}.game-card .desc{font-size:13px}.labs-grid{grid-template-columns:repeat(5,1fr);gap:14px}.hud-overlay{font-size:13px;padding:14px 16px;max-width:320px}.hud-overlay .hud-title{font-size:14px}.three-controls button{width:48px;height:48px;font-size:20px}.formula-display{font-size:36px;padding:20px}.quiz-question .q-text{font-size:17px}.quiz-option{padding:14px 18px;font-size:15px}.mnemonic-card{padding:20px}.mnemonic-card .text{font-size:17px}.mnemonic-card .element-pill{font-size:13px;padding:5px 10px}}@media (min-width: 1024px) and (max-width: 1919px){.view-container{padding:20px;max-width:1600px;margin:0 auto}.detail-drawer{bottom:auto;top:var(--header-h);right:0;left:auto;width:460px;max-height:calc(100vh - var(--header-h));border-radius:16px 0 0;border-top:none;border-left:1px solid var(--bg-600);box-shadow:-8px 0 32px var(--shadow-color)}.labs-grid{grid-template-columns:repeat(4,1fr)}.reaction-picker{grid-template-columns:1fr 1fr}.reaction-stage{height:440px}.games-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 600px) and (max-width: 1023px){.view-container{padding:16px}.tab-bar button{padding:12px 14px;font-size:12px}.pt2d-grid{grid-template-columns:repeat(18,minmax(38px,1fr));grid-template-rows:repeat(10,minmax(38px,1fr));gap:3px;min-width:auto}.element-cell .sym{font-size:14px}.detail-drawer{max-height:75vh;padding:18px}.labs-grid{grid-template-columns:repeat(3,1fr)}.games-grid{grid-template-columns:repeat(2,1fr)}.reaction-stage{height:400px}.atom-canvas{height:360px}}@media (max-width: 599px){:root{--header-h: 52px;--tabbar-h: 48px}.app-header{padding:0 10px}.app-header .logo-mark{width:24px;height:24px;font-size:12px;margin-right:6px}.app-header h1{font-size:13px}.app-header .subtitle{display:none}.lang-toggle button{padding:4px 10px;font-size:11px}.tab-bar button{padding:10px 12px;font-size:11px}.view-container{padding:10px}.pt2d-wrapper{padding:4px 0 16px;-webkit-overflow-scrolling:touch}.pt2d-grid{grid-template-columns:repeat(18,minmax(22px,1fr));grid-template-rows:repeat(10,minmax(22px,1fr));gap:2px;min-width:480px}.element-cell{min-height:26px;padding:1px;border-radius:4px}.element-cell .z{font-size:7px}.element-cell .sym{font-size:11px}.element-cell .mass{display:none}.element-cell:hover{transform:scale(1.15)}.detail-drawer{max-height:100vh;height:100vh;border-radius:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.detail-grid{grid-template-columns:1fr 1fr;gap:6px}.detail-stat{padding:6px 8px}.detail-stat .label{font-size:9px}.detail-stat .value{font-size:11px}.detail-symbol{width:44px;height:44px}.detail-symbol .sym{font-size:20px}.atom-canvas{height:260px}.model-tabs button{padding:5px 6px;font-size:10px}.reaction-picker{grid-template-columns:1fr 1fr;gap:6px}.reaction-slot{min-height:70px;padding:8px}.reaction-slot .slot-symbol{font-size:24px}.reaction-stage{height:300px}.labs-grid{grid-template-columns:repeat(2,1fr);gap:8px}.labs-grid button{padding:12px 8px}.labs-grid>button>div:first-child{font-size:24px!important}.games-grid{grid-template-columns:1fr}.balance-scale{grid-template-columns:1fr;gap:8px}.balance-divider{transform:rotate(90deg)}.hud-overlay{font-size:10px;padding:8px 10px;max-width:180px}.three-controls button{width:32px;height:32px;font-size:14px}.formula-display{font-size:22px;padding:12px}.mnemonic-card{padding:10px}.mnemonic-card .text{font-size:12px}.quiz-question{padding:12px}.quiz-question .q-text{font-size:13px}.quiz-option{padding:9px 12px;font-size:12px}.action-row{flex-wrap:wrap}.btn-primary{padding:9px 14px;font-size:12px}.btn-secondary{padding:7px 10px;font-size:11px}.toast{font-size:11px;padding:8px 12px;max-width:95vw}}@media (max-width: 380px){.app-header h1{font-size:11px}.pt2d-grid{grid-template-columns:repeat(18,minmax(18px,1fr));grid-template-rows:repeat(10,minmax(20px,1fr));min-width:380px}.element-cell .sym{font-size:9px}.element-cell .z{font-size:6px}.labs-grid{grid-template-columns:1fr}}@media (max-width: 900px) and (orientation: landscape) and (max-height: 500px){.app-header{height:44px}.app-main{height:calc(100vh - 44px)}.atom-canvas{height:200px}.reaction-stage{height:240px}.detail-drawer{max-height:100vh}}@media print{.app-header,.tab-bar,.three-controls,.hud-overlay,.action-row,.close-btn,.lang-toggle,.model-tabs,.atom-canvas{display:none!important}body,html,#root{background:#fff!important;color:#000!important}.pt2d-grid{grid-template-columns:repeat(18,60px)!important;grid-template-rows:repeat(10,60px)!important;gap:2px!important;min-width:auto!important}.element-cell{background:#fff!important;border:1px solid #333!important;color:#000!important;page-break-inside:avoid}.element-cell:before{display:none!important}.element-cell .sym{color:#000!important;text-shadow:none!important;font-size:18px!important}.element-cell .z,.element-cell .mass{color:#333!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.theme-switcher{display:flex;background:var(--bg-700);border-radius:var(--radius-md);padding:3px;border:1px solid var(--bg-600);gap:2px}.theme-switcher button{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-400);transition:all .15s;cursor:pointer}.theme-switcher button.active{background:var(--accent-blue);color:#fff}.theme-switcher button:hover{background:var(--bg-600)}.bookmark-btn{width:32px;height:32px;border-radius:8px;background:var(--bg-700);display:flex;align-items:center;justify-content:center;color:var(--text-400);font-size:18px;transition:all .15s;cursor:pointer;border:1px solid var(--bg-600)}.bookmark-btn:hover{background:var(--bg-600);color:var(--accent-yellow)}.bookmark-btn.active{background:#fbbf2426;color:var(--accent-yellow);border-color:var(--accent-yellow)}.notes-editor{background:var(--bg-700);border-radius:12px;padding:12px;margin-top:12px;border:1px solid var(--bg-600)}.notes-editor textarea{width:100%;min-height:80px;background:var(--bg-800);border:1px solid var(--bg-600);border-radius:8px;padding:10px;font-family:inherit;font-size:12px;color:var(--text-100);resize:vertical}.notes-editor textarea:focus{outline:none;border-color:var(--accent-blue)}.notes-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}.note-item{background:var(--bg-800);padding:8px 10px;border-radius:6px;border-left:3px solid var(--accent-blue);font-size:11px;color:var(--text-200);position:relative}.note-item .delete-note{position:absolute;top:4px;right:4px;background:transparent;border:none;color:var(--text-500);cursor:pointer;font-size:14px}.flashcard{width:100%;max-width:480px;margin:0 auto;height:320px;perspective:1000px;cursor:pointer}.flashcard-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;border:1px solid var(--bg-600)}.flashcard-front{background:linear-gradient(135deg,var(--bg-700),var(--bg-800))}.flashcard-back{background:linear-gradient(135deg,var(--bg-800),var(--bg-900));transform:rotateY(180deg)}.flashcard .big-symbol{font-size:96px;font-weight:800;font-family:var(--font-mono);line-height:1}.flashcard .hint{font-size:11px;color:var(--text-500);margin-top:16px;text-transform:uppercase;letter-spacing:.08em}.flashcard .label{font-size:10px;color:var(--text-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.flashcard .value{font-size:16px;color:var(--text-100);margin-bottom:10px;font-weight:600}.streak-display{background:linear-gradient(135deg,#fbbf2426,#fb923c1a);border:1px solid rgba(251,191,36,.3);border-radius:14px;padding:18px;text-align:center}.streak-display .flame{font-size:48px;filter:drop-shadow(0 0 12px var(--accent-orange));animation:flickerFlame 1.5s ease-in-out infinite alternate}@keyframes flickerFlame{0%{transform:scale(1) rotate(-2deg)}to{transform:scale(1.06) rotate(2deg)}}.streak-display .streak-count{font-size:36px;font-weight:700;color:var(--accent-yellow);font-family:var(--font-mono);margin-top:4px}.streak-display .streak-label{font-size:11px;color:var(--text-400);text-transform:uppercase;letter-spacing:.06em}.daily-challenge-card{background:linear-gradient(135deg,#38bdf81f,#818cf81f);border:1px solid var(--accent-blue);border-radius:14px;padding:18px;margin-bottom:14px}.daily-challenge-card .badge{display:inline-block;background:var(--accent-blue);color:#fff;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.daily-challenge-card .question{font-size:15px;color:var(--text-100);font-weight:500;margin-bottom:12px;line-height:1.5}.misconception-card{background:var(--bg-700);border-radius:12px;padding:14px;margin-bottom:10px;border-left:4px solid var(--accent-red)}.misconception-card .myth{font-size:13px;color:var(--accent-red);font-weight:600;margin-bottom:8px}.misconception-card .myth:before{content:"✗ Myth: ";font-weight:700}.misconception-card .truth{font-size:12px;color:var(--accent-green);line-height:1.5;padding-top:8px;border-top:1px dashed var(--bg-600)}.misconception-card .truth:before{content:"✓ Fact: ";font-weight:700}.property-search-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px;align-items:end}.property-search-row select,.property-search-row input{padding:8px 10px;background:var(--bg-800);border:1px solid var(--bg-600);border-radius:6px;color:var(--text-100);font-size:12px;width:100%}.property-search-row label{font-size:10px;color:var(--text-400);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px}@media (max-width: 599px){.property-search-row{grid-template-columns:1fr}}.formula-dict-card{background:var(--bg-700);border-radius:12px;padding:14px;margin-bottom:8px;border-left:4px solid var(--accent-purple);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.formula-dict-card .formula{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--accent-purple);min-width:80px}.formula-dict-card .info{flex:1}.formula-dict-card .name{font-size:13px;color:var(--text-100);font-weight:600;margin-bottom:2px}.formula-dict-card .uses{font-size:11px;color:var(--text-400);line-height:1.4}.chapter-card{background:var(--bg-700);border-radius:12px;padding:14px;margin-bottom:10px;border-left:4px solid var(--accent-green)}.chapter-card .chapter-num{display:inline-block;background:var(--accent-green);color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;margin-bottom:6px}.chapter-card .chapter-title{font-size:14px;color:var(--text-100);font-weight:600;margin-bottom:6px}.chapter-card .topics{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.chapter-card .topic-pill{background:var(--bg-800);padding:3px 8px;border-radius:4px;font-size:10px;color:var(--text-300)}.mm-result{background:linear-gradient(135deg,var(--bg-700),var(--bg-800));border-radius:14px;padding:20px;text-align:center;margin:14px 0;border:1px solid var(--bg-600)}.mm-result .mass{font-size:42px;font-weight:700;font-family:var(--font-mono);background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.mm-result .unit{font-size:14px;color:var(--text-400);margin-top:4px}.mm-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;margin-top:12px}.mm-element-row{background:var(--bg-800);padding:6px 8px;border-radius:6px;font-size:11px;display:flex;justify-content:space-between;border-left:3px solid var(--accent-blue)}.mm-element-row .sym{font-family:var(--font-mono);color:var(--accent-blue);font-weight:700}.mm-element-row .count{color:var(--text-400)}.mm-element-row .mass{color:var(--text-100);font-family:var(--font-mono)}@media (max-width: 599px){.tab-bar{position:sticky;bottom:0;top:auto;background:#0f172af2;backdrop-filter:blur(12px);border-top:1px solid var(--bg-600);border-bottom:none;z-index:90;padding-bottom:env(safe-area-inset-bottom)}.tab-bar button{flex:1;padding:8px 4px;font-size:10px;flex-direction:column;display:flex;align-items:center;gap:2px;border-bottom:none;border-top:2px solid transparent}.tab-bar button.active{border-top-color:var(--accent-blue);border-bottom:none}.tab-bar button .tab-icon{font-size:16px}.app-main{height:calc(100vh - var(--header-h) - var(--tabbar-h))}}@media (min-width: 1920px){.tab-bar button{min-width:140px}.btn-primary{padding:14px 24px;font-size:15px}.btn-secondary{padding:12px 18px;font-size:13px}.element-cell:hover{transform:translateY(-4px) scale(1.08)}.quiz-option{padding:16px 20px;font-size:16px}}.view-container-full{padding:0!important;height:calc(100vh - var(--header-h) - var(--tabbar-h))}@media (min-width: 600px){.view-container-full{height:calc(100vh - var(--header-h))}}.print-btn{background:var(--bg-700);border:1px solid var(--bg-600);border-radius:8px;padding:6px 10px;font-size:11px;color:var(--text-300);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.print-btn:hover{background:var(--bg-600);color:var(--text-100)}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-700);border:1px solid var(--bg-600);border-radius:16px;font-size:11px;color:var(--text-300);cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--accent-blue)}.filter-chip.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.tab-icon{display:none}@media (max-width: 599px){.tab-icon{display:inline}.tab-bar button .tab-text{font-size:9px}}@media (pointer: coarse){.element-cell{min-height:32px}.btn-primary,.btn-secondary{min-height:40px}.quiz-option{min-height:44px}}.close-btn-floating{position:absolute;top:12px;right:12px;z-index:300;width:36px;height:36px;border-radius:50%;background:#f87171f2;color:#fff;font-size:16px;font-weight:700;border:2px solid white;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;transition:transform .15s,background .15s}.close-btn-floating:hover{background:#ef4444;transform:scale(1.15) rotate(90deg)}.detail-sticky-close{position:sticky;top:0;z-index:250;background:#0f172af2;backdrop-filter:blur(8px);border-bottom:1px solid var(--bg-600);padding:8px 14px;font-size:12px;color:var(--text-400);text-align:center;cursor:pointer;margin:-16px -16px 12px;display:none}.detail-sticky-close:hover{background:var(--bg-700);color:var(--accent-red)}@media (max-width: 599px){.detail-sticky-close{display:block}.close-btn-floating{position:fixed;top:8px;right:8px;width:36px;height:36px;font-size:16px;z-index:400}}@media (min-width: 1024px){.close-btn-floating{top:16px;right:16px}}sub,.chem-sub{font-size:.7em;vertical-align:sub;line-height:0}sup,.chem-sup{font-size:.7em;vertical-align:super;line-height:0}.chem-formula{font-family:var(--font-mono);font-weight:600}.chem-formula sub,.chem-formula .chem-sub{font-size:.65em;vertical-align:sub}.element-info-bar{position:sticky;top:0;z-index:50;background:var(--bg-800);border:1px solid var(--bg-600);border-radius:10px;padding:10px 14px;margin-bottom:10px;min-height:52px;display:flex;align-items:center;backdrop-filter:blur(8px)}.element-info-placeholder{font-size:12px;color:var(--text-400);text-align:center;width:100%}.element-info-content{display:flex;align-items:center;gap:12px;width:100%}.element-info-symbol{font-size:28px;font-weight:800;font-family:var(--font-mono);text-shadow:0 0 12px currentColor;flex-shrink:0;min-width:40px;text-align:center}.element-info-text{flex:1;min-width:0}.element-info-name{font-size:15px;font-weight:700;color:var(--text-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-info-details{font-size:11px;color:var(--text-400);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-info-config{font-size:10px;color:var(--text-500);font-family:var(--font-mono);text-align:right;flex-shrink:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 599px){.element-info-config{display:none}.element-info-symbol{font-size:24px;min-width:32px}.element-info-name{font-size:14px}.element-info-details{font-size:10px}}.element-cell.previewed{transform:scale(1.3);z-index:20;box-shadow:0 0 0 2px var(--accent-yellow),0 8px 24px #fbbf2466}.view-container{animation:fadeInUp .35s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detail-drawer{animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 599px){.detail-drawer{animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.game-card,.lab-card,.mnemonic-card,.formula-dict-card,.chapter-card,.misconception-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.game-card:hover,.lab-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0006}.btn-primary:active,.btn-secondary:active{transform:scale(.96)}.element-cell.selected{animation:pulseGlow 1.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 2px var(--accent-blue),0 8px 24px #38bdf84d}50%{box-shadow:0 0 0 3px var(--accent-blue),0 12px 32px #38bdf880}}.achievement-toast{animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:translate(-50%,-40px) scale(.8)}60%{transform:translate(-50%,5px) scale(1.05)}to{opacity:1;transform:translate(-50%) scale(1)}}.loading-spinner{animation:spin .8s linear infinite,shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{border-top-color:var(--accent-blue)}50%{border-top-color:var(--accent-purple)}}.fun-fact-card{background:linear-gradient(135deg,#38bdf814,#818cf814);border:1px solid rgba(56,189,248,.25);border-radius:12px;padding:12px 14px;margin:10px 0;font-size:12px;color:var(--text-200);line-height:1.6;position:relative;overflow:hidden}.fun-fact-card:before{content:"💡";position:absolute;top:8px;right:10px;font-size:20px;opacity:.3}.fun-fact-card .fact-label{display:inline-block;background:var(--accent-blue);color:#fff;padding:2px 8px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.did-you-know{background:linear-gradient(135deg,#f472b614,#fbbf2414);border:1px solid rgba(244,114,182,.25);border-radius:12px;padding:12px 14px;margin:10px 0;font-size:12px;color:var(--text-200);line-height:1.6}.did-you-know .label{color:var(--accent-pink);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.real-world-card{background:linear-gradient(135deg,#34d39914,#22c55e0d);border:1px solid rgba(52,211,153,.25);border-radius:12px;padding:12px 14px;margin:10px 0;font-size:12px;color:var(--text-200);line-height:1.6}.real-world-card .label{color:var(--accent-green);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.learning-progress{background:var(--bg-800);border-radius:20px;height:8px;overflow:hidden;margin:8px 0}.learning-progress .fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple),var(--accent-pink));border-radius:20px;transition:width .5s ease;position:relative}.learning-progress .fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s linear infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tab-bar button{position:relative;transition:color .2s}.tab-bar button.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:30%;height:3px;background:var(--accent-blue);border-radius:3px 3px 0 0;animation:tabIndicatorSlide .3s ease}@keyframes tabIndicatorSlide{0%{width:0}to{width:30%}}
