.molecule-game{position:relative}.molecule-board{width:100%;max-width:900px;height:auto;border:2px solid #94a3b8;border-radius:8px;background:#f1f5f9;touch-action:none;-webkit-user-select:none;user-select:none}.controls-row{display:flex;align-items:center;gap:10px}.context-menu-modern{position:fixed;display:flex;gap:6px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 20px #0f172a33;padding:6px;z-index:1200}.molecule-game p{font-size:1.59rem}@media (max-width: 768px){.molecule-game{display:grid;grid-template-rows:auto 1fr auto auto;gap:6px;height:calc(100svh - 90px);max-height:calc(100svh - 90px);overflow:hidden}.molecule-game p{margin:0}.molecule-game .target-line{padding-top:56px;padding-left:0}.molecule-board{width:100%;max-width:100%;height:100%;min-height:0}.controls-row{position:static;background:#fff;padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom));z-index:auto}.controls-row button{font-size:1.05rem;padding:12px 18px;border-radius:10px;min-width:120px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#142033;background:#f3f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:0;border-radius:8px;background:#0f766e;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;font-weight:700}button:hover{background:#115e59}input{border:1px solid #c9d5e3;border-radius:8px;min-height:46px;padding:0 12px;width:100%}.topbar{align-items:center;background:#ffffffeb;border-bottom:1px solid #d7e2ee;display:flex;justify-content:space-between;min-height:72px;padding:12px 22px;position:sticky;top:0;z-index:10}.topbar div{display:grid;gap:2px}.topbar span{color:#53647a;font-size:.92rem;font-weight:700}.topbar nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ghost{background:transparent;color:#0f766e;min-height:40px}.ghost:hover{background:#e2f3f0}.page{margin:0 auto;max-width:1100px;padding:32px 18px 56px}.login-page{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:20px}.login-card,.panel,.mission-card{background:#fff;border:1px solid #d7e2ee;border-radius:8px;box-shadow:0 14px 35px #2b3f5c14}.login-card{display:grid;gap:16px;max-width:380px;padding:28px;width:100%}.login-card h1{margin:0}.login-card label{color:#405169;display:grid;gap:7px;font-weight:700}.mission-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.tree-list,.tree-children{display:grid;gap:16px}.tree-node{border-left:4px solid #0f766e;display:grid;gap:12px;padding-left:18px}.tree-node h2{margin:0}.tree-mission{max-width:520px}.mission-tile{align-items:flex-start;background:#fff;border:1px solid #d7e2ee;color:#142033;display:grid;gap:10px;justify-content:stretch;min-height:170px;padding:20px;text-align:left}.mission-tile:hover{background:#eef8f6;border-color:#0f766e}.mission-tile span,.eyebrow{color:#0f766e;font-size:.82rem;font-weight:800;text-transform:uppercase}.mission-tile strong{font-size:1.2rem}.mission-tile small,.panel p{color:#53647a;font-size:1rem;line-height:1.55}.panel,.mission-card{padding:28px}.panel h1,.mission-card h2{margin-top:0}.video-block{display:grid;gap:12px;margin:24px 0}.video-block iframe{aspect-ratio:16 / 9;border:0;border-radius:8px;width:100%}.video-block a{color:#0f766e;font-weight:800}.streak{align-items:center;background:#be123c;border-radius:999px;color:#fff;display:inline-flex;font-size:1.25rem;font-weight:900;justify-content:center;min-width:104px;padding:12px 18px;position:relative;z-index:1}.streak-ok{background:#15803d}.answer-row{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(130px,220px) auto;margin-top:22px}.atom-mission{display:grid;gap:18px}.atom-card,.question-box{border:1px solid #d7e2ee;border-radius:8px;padding:20px}.atom-card h2{margin-bottom:18px}.atom-card dl{display:grid;margin:0}.atom-card dl div{align-items:center;display:flex;justify-content:space-between;min-height:52px;padding:0 14px}.atom-card dl div:nth-child(odd){background:#f1f5f9}.atom-card dt{color:#53647a;font-weight:800}.atom-card dd{font-size:1.35rem;font-weight:900;margin:0}.question-box h2{margin-bottom:18px}.visual-nucleus-game{display:grid;gap:14px}.visual-atom-panel{background:#fff;border:1px solid #d7e2ee;border-radius:8px;padding:14px}.visual-atom-heading{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.visual-atom-heading h2{margin:0}.visual-atom-heading span{color:#0f766e;font-size:1.35rem;font-weight:900}.visual-atom-svg{background:#26303a;border-radius:8px;display:block;height:auto;width:100%}.visual-particle{stroke:#ffffffbf;stroke-width:2}.visual-proton{fill:#ef4444}.visual-neutron{fill:#111827}.visual-electron{fill:#3b82f6;stroke-width:1.5}.visual-answer-row{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(110px,170px) auto;margin-top:18px}.visual-answer-row input{font-size:1.35rem;font-weight:900;text-align:center}.isotope-true-false-panel,.isotope-pair-panel,.isotope-atom-diagram-panel{background:#fff;border:1px solid #d7e2ee;border-radius:8px;padding:18px}.isotope-true-false-label{color:#53647a;font-weight:800;margin:0 0 10px}.isotope-true-false-panel h2,.isotope-pair-panel h2,.isotope-atom-diagram-panel h2{color:#142033;font-size:1.35rem;line-height:1.35;margin:0 0 18px;text-align:center}.isotope-actions{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.isotope-actions button{font-size:1.35rem;font-weight:900;min-height:72px}.isotope-pair-notice{color:#b45309;font-weight:800;margin:0 0 18px;text-align:center}.isotope-pair-notations{align-items:center;display:flex;gap:22px;justify-content:center;margin-bottom:18px}.isotope-notation{align-items:center;display:grid;grid-template-columns:44px 1fr;grid-template-rows:1fr 1fr;height:126px;width:150px}.isotope-notation-mass,.isotope-notation-z,.isotope-complete-z-input{color:#142033;font-size:1.25rem;font-weight:900;padding:5px 4px;text-align:center;width:34px}.isotope-notation-mass{align-self:end;grid-column:1;grid-row:1}.isotope-notation-z,.isotope-complete-z-input{align-self:start;grid-column:1;grid-row:2}.isotope-complete-z-input{min-height:40px}.isotope-notation-symbol{color:#142033;font-size:3.25rem;font-weight:900;grid-column:2;grid-row:1 / span 2}.isotope-notation-symbol-hidden{background:repeating-linear-gradient(135deg,#94a3b8 0,#94a3b8 7px,#64748b 7px,#64748b 14px);border-radius:8px;color:transparent;display:inline-grid;filter:blur(2px);height:58px;place-items:center;text-shadow:0 0 10px rgba(15,23,42,.7);-webkit-user-select:none;user-select:none;width:58px}.isotope-complete-answer{justify-content:center}.isotope-atom-diagram-pair{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.isotope-atom-diagram-card{display:grid;gap:8px}.isotope-atom-diagram-label{color:#53647a;font-weight:800;text-align:center}.isotope-atom-diagram-svg{background:#26303a;border-radius:8px;display:block;height:auto;width:100%}.isotope-atom-particle{stroke:#ffffffbf;stroke-width:1.5}.isotope-atom-proton{fill:#ef4444}.isotope-atom-neutron{fill:#111827}.isotope-atom-electron{fill:#3b82f6;stroke-width:1.25}.choice-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.choice-grid button{min-height:64px;margin-right:0;border-radius:8px;font-size:1.2rem;font-weight:900}.ion-panel{display:grid;gap:16px}.ion-panel h2,.ion-panel h3{margin:0}.ion-panel h2{color:#0f172a;font-size:1.35rem;line-height:1.25}.ion-panel h3{color:#1e293b;font-size:1.2rem}.atom-diagram-svg{display:block;width:100%;height:auto;border-radius:8px;background:#26303a}.atom-diagram-particle{stroke:#ffffffbf;stroke-width:1.5}.atom-diagram-proton{fill:#ef4444}.atom-diagram-neutron{fill:#111827}.atom-diagram-electron{fill:#3b82f6;stroke-width:1.25}.ion-symbol{align-items:flex-start;display:inline-flex;font-weight:900;line-height:1}.ion-symbol sup{font-size:.62em;line-height:0;margin-left:2px;vertical-align:super}.ion-symbol-card{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;display:flex;font-size:5rem;justify-content:center;min-height:150px;padding:24px 16px}.ion-symbol-card.compact{font-size:4rem;min-height:96px;padding:14px}.notation-layout{align-items:center;display:grid;gap:22px;grid-template-columns:220px minmax(0,1fr)}.nuclear-symbol{display:grid;grid-template-columns:58px auto;grid-template-rows:52px 52px;justify-content:center;margin:0 auto;min-width:190px}.mass-slot,.z-slot{align-items:center;display:flex;font-size:1.7rem;font-weight:900;justify-content:flex-end;padding-right:8px}.element-slot{align-items:center;display:flex;font-size:4rem;grid-column:2;grid-row:1 / span 2;line-height:1}.mass-slot{grid-column:1;grid-row:1}.z-slot{grid-column:1;grid-row:2}.missing-value,.missing-symbol{color:#0f766e}@media (max-width: 760px){.notation-layout{grid-template-columns:1fr}}.error{color:#b91c1c;font-weight:700}.class-list{display:grid;gap:8px;margin-top:18px}.class-row{align-items:center;background:#f5f8fc;border:1px solid transparent;color:#142033;display:flex;justify-content:space-between;padding:12px 14px;text-align:left}.class-row:hover,.class-row.selected{background:#e2f3f0;border-color:#0f766e}.teacher-table-wrap{margin-top:28px;overflow-x:auto}.teacher-table{border-collapse:collapse;min-width:640px;width:100%}.teacher-table th,.teacher-table td{border-bottom:1px solid #d7e2ee;padding:10px 12px;text-align:left}.teacher-table th{background:#f5f8fc}.reset-box{border-top:1px solid #d7e2ee;margin-top:28px;padding-top:22px}.reset-grid{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto}.reset-grid label{color:#405169;display:grid;gap:7px;font-weight:700}@media (max-width: 760px){.reset-grid{grid-template-columns:1fr}}@media (max-width: 640px){.topbar{align-items:flex-start;display:grid;gap:10px}.topbar nav{justify-content:flex-start}.answer-row,.choice-grid.two,.choice-grid.three,.choice-grid.five{grid-template-columns:1fr}.ion-panel h2{font-size:1.15rem}.ion-symbol-card{font-size:4rem;min-height:120px}.isotope-pair-notations{gap:8px}.isotope-notation{width:118px}.isotope-atom-diagram-pair{grid-template-columns:1fr}}
