@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap";:root{font-family:Outfit,Zen Maru Gothic,sans-serif;color:#23335b;background:#f7f8fc;font-synthesis:none;--blue:#3157ed;--muted:#66718b;--line:#dce2ef;--yellow:#fff17d}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}.header{max-width:1500px;margin:auto;height:94px;padding:0 5%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:17px;letter-spacing:-.3px}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:var(--blue);color:#fff;font-size:25px;letter-spacing:-5px;padding-right:5px;transform:rotate(-8deg)}.brand-mark>span{color:var(--yellow)}.brand-jp{font-size:10px;font-weight:500;margin-left:8px;color:var(--muted);letter-spacing:0}.header-note{margin-left:auto;font-size:12px;font-weight:700}.edition{font-size:10px;border-radius:30px;background:#fff;padding:10px 15px;border:1px solid var(--line)}.edition>span{color:#f48265;margin-right:5px}main{max-width:1500px;padding:0 5%;margin:auto}.intro{position:relative;display:grid;grid-template-columns:1.15fr 1fr;min-height:405px;margin:15px 0 49px;padding:40px 52px;background:#e8edff;border-radius:28px;overflow:hidden}.intro-content{z-index:1}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.5px;font-weight:600;color:var(--blue);margin:0 0 23px}.eyebrow>span{background:#fff;padding:7px 12px;border-radius:20px;font-size:11px;letter-spacing:.5px}h1{font-size:clamp(32px,3.5vw,52px);font-weight:900;line-height:1.5;letter-spacing:-1px;margin:0}h1>span{display:block;white-space:nowrap}.title-dot{color:var(--blue)}.intro-copy{font-size:13px;line-height:2;color:#536384;margin:18px 0 22px}.guide-link{background:var(--blue);color:#fff;border:0;border-radius:30px;padding:13px 20px;font-size:12px;font-weight:700;box-shadow:0 4px #d2d9f9}.guide-link span{margin-left:25px}.guide-link:hover{background:#2445cc;transform:translateY(-2px)}.hero-art{position:relative;min-width:0;min-height:310px}.art-orbit{position:absolute;border:1px solid #a6b9ff;border-radius:50%;width:350px;height:190px;left:calc(50% - 175px);top:63px;transform:rotate(-32deg)}.orbit-two{transform:rotate(35deg);height:230px;top:44px}.art-atom{position:absolute;display:grid;place-items:center;font-size:60px;font-weight:600;border-radius:50%;box-shadow:inset -8px -12px #00000009,0 12px #243f8a0a;z-index:2;color:#23335b}.art-atom>span{position:absolute;left:20px;top:15px;font-size:12px}.art-oxygen{width:140px;height:140px;background:#ff8c78;left:calc(50% - 65px);top:110px;transform:rotate(-12deg)}.art-hydrogen{width:90px;height:90px;background:#fff17d;font-size:44px}.art-hydrogen>span{font-size:10px;left:14px;top:10px}.h-one{left:calc(50% - 160px);top:20px;transform:rotate(-17deg)}.h-two{left:calc(50% + 80px);top:55px;transform:rotate(13deg)}.art-connector{position:absolute;background:#536dca;border-radius:10px;height:15px;width:130px;z-index:1}.connector-one{top:125px;left:calc(50% - 125px);transform:rotate(48deg)}.connector-two{top:150px;left:calc(50% + 25px);transform:rotate(-35deg)}.art-star{position:absolute;color:var(--blue);font-size:56px;right:0;top:5px;transform:rotate(12deg)}.art-note{position:absolute;font-size:12px;font-weight:700;line-height:1.8;left:12px;bottom:3px;transform:rotate(-9deg)}.art-sticker{position:absolute;right:-12px;bottom:3px;background:var(--blue);color:#fff;padding:14px 18px;border-radius:50%;font-size:15px;font-weight:700;line-height:1.1;transform:rotate(12deg)}.lab-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.lab-title h2{font-size:22px;font-weight:900}.lab-title>span{font-size:11px;color:var(--muted)}.lab-title>span>span{color:var(--blue);font-size:20px;margin-left:10px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px}.atom-panel{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding:18px 24px}.panel-heading{display:flex;align-items:center;gap:10px;flex-shrink:0}.step{display:inline-grid;place-items:center;flex-shrink:0;width:27px;height:27px;background:var(--blue);color:#fff;border-radius:9px;font-size:11px;font-weight:700}h2{font-size:14px;margin:0;font-weight:700}.atom-panel>.small{display:none}.element-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;flex:1}.element-card{--element:#eee;position:relative;display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--element) 17%,white);border:1px solid color-mix(in srgb,var(--element) 55%,white);border-radius:12px;padding:13px 12px;text-align:left;transition:transform .15s,box-shadow .15s}.element-card:hover{transform:translateY(-3px);box-shadow:0 6px #23335b0a}.element-number{position:absolute;left:7px;top:4px;font-size:8px;color:#5b6580}.element-ball{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:50%;background:var(--element);color:#23335b;font-size:22px;font-weight:600;box-shadow:inset -3px -3px #0000000b}.element-label{font-size:12px;font-weight:700;white-space:nowrap}.element-label small{display:block;font-size:9px;font-weight:500;margin-top:3px;color:#5b6580}.add-mark{margin-left:auto;color:var(--blue);font-size:22px}.connection-hint,.panel-footer{display:none}.workbench{position:relative;min-height:500px;background:#edf2ff;border-radius:24px;overflow:hidden;border:1px solid #dce5fc}.workbench:before{content:"";position:absolute;width:350px;height:350px;border:1px dashed #b8c8f0;border-radius:50%;left:calc(50% - 175px);top:calc(50% - 175px);pointer-events:none}.workbench:after{content:"";position:absolute;pointer-events:none;width:280px;height:280px;border:1px solid #d5dff5;border-radius:50%;left:calc(50% - 140px);top:calc(50% - 140px)}.bench-top{position:absolute;left:24px;right:24px;top:23px;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;color:#667ca8;letter-spacing:1px}.bench-top>div{display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}#atom-count{background:#fff;border-radius:20px;padding:6px 10px;font-size:9px;letter-spacing:.5px}#scene{position:absolute;inset:0;z-index:1}#scene canvas{display:block;touch-action:none}#renderer-error{position:absolute;top:40%;padding:24px;font-size:13px}.bench-label{position:absolute;left:28px;bottom:73px;z-index:2;display:flex;flex-direction:column;pointer-events:none}#bench-formula{font-size:54px;font-weight:600;letter-spacing:-2px;line-height:1.2;color:var(--blue)}#bench-name{font-size:12px;margin-top:8px;font-weight:700;color:#536995}.scene-actions{display:flex;gap:8px;position:absolute;right:23px;bottom:78px;z-index:2}.scene-btn{display:grid;place-items:center;width:39px;height:39px;background:#fff;border:1px solid #d1dbf1;border-radius:13px;font-size:22px;color:#637ba6;box-shadow:0 3px #dce4f6}.scene-btn.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px #a2b5f2}.scene-btn:hover{transform:translateY(-2px)}.bench-bottom{position:absolute;z-index:2;left:24px;right:24px;bottom:0;height:51px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d2dcf3;font-size:10px;color:#64789d;pointer-events:none}.separator{margin:0 8px;color:#a6b6d5}.axis{font-size:10px;color:var(--blue)}.result-panel{padding:24px;display:flex;flex-direction:column}.result-panel .step{background:#ffdf70;color:#594c29}.result-tag{display:inline-block;margin:23px 0 10px;padding:5px 10px;background:#fff5c3;color:#7a6228;font-size:10px;font-weight:700;border-radius:20px}.result-tag.neutral{background:#edf1fc;color:#5c71a0}.result-formula{font-size:54px;font-weight:600;letter-spacing:-2px;line-height:1.2;color:var(--blue)}.result-formula.pending{font-size:36px;margin:6px 0}#result h3{font-size:20px;margin:8px 0 12px;font-weight:900}.result-description{font-size:12px;color:#66718b;line-height:1.95;margin:0}.fact{background:#f5f7fe;border-radius:12px;padding:12px;margin:18px 0}.fact>span{font-size:10px;font-weight:700;color:var(--blue)}.fact p{font-size:11px;line-height:1.85;color:#66718b;margin:6px 0 0}.challenge{margin-top:auto;padding:16px;background:#fff9de;border-radius:14px}.challenge-label{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;font-weight:700;color:#7e6930}.challenge-label>span:last-child{font-size:9px;font-weight:500}.challenge h3{font-size:15px;margin:13px 0 7px}.challenge p{font-size:10px;color:#716a53;line-height:1.8;margin:0 0 12px}.text-button{background:#fff;border:1px solid #e2d7aa;border-radius:30px;width:100%;padding:10px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.text-button:hover{background:#ffefaa}.subtle-button{background:none;border:0;padding:8px 0;color:#687693;font-size:11px;font-weight:500}.challenge .subtle-button{display:block;margin:5px 0 -6px auto;font-size:10px;color:#837442}.bond-panel{padding:23px 27px;margin-top:20px}.bond-heading{display:flex;align-items:center;gap:20px}.bond-heading>div{display:flex;align-items:center;gap:10px;flex-shrink:0}.bond-heading .step{background:#ff9f87;color:#623f38}.bond-heading p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.bond-heading>.subtle-button{margin-left:auto;white-space:nowrap}#atom-tray{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.tray-item{display:flex;border:1px solid var(--line);border-radius:12px;background:#f7f9ff;overflow:hidden}.tray-item.selected{border:1px solid var(--blue);box-shadow:0 0 0 2px #3157ed25;background:#e9eeff}.atom-chip{display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 8px 10px 12px}.atom-chip>span:first-child{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--element);color:#23335b;font-size:12px;font-weight:700}.atom-chip strong{font-size:13px;font-weight:600}.atom-chip small{font-size:9px;margin-left:3px;color:#7382a0}.valence{display:flex;gap:4px}.valence i{width:6px;height:6px;border:1px solid #94a5d1;border-radius:50%}.valence i.filled{background:var(--blue);border-color:var(--blue)}.remove-atom{background:none;border:0;padding:0 10px 0 3px;color:#8190af;font-size:18px}.remove-atom:hover{color:#d33d42}#status{font-size:11px;line-height:1.8;color:#627399;margin:13px 0 0;min-height:20px}.empty-tray{font-size:12px;color:var(--muted);padding:8px 0}.library{margin:66px 0 60px}.library-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.library-heading .eyebrow{margin-bottom:10px;font-size:11px}.library-heading h2{font-size:30px;font-weight:900;letter-spacing:-1px}#progress{padding:8px 14px;background:#e9edfd;color:var(--blue);border-radius:25px;font-size:11px;font-weight:600}.collection{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.molecule-card{display:flex;flex-direction:column;position:relative;text-align:left;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;transition:transform .18s,box-shadow .18s}.molecule-card:nth-child(3n+2){background:#fffbed}.molecule-card:nth-child(3n){background:#f0f0ff}.molecule-card:hover{transform:translateY(-5px);box-shadow:0 8px #23335b0a;border-color:#879eee}.molecule-card.current{border:2px solid var(--blue);padding:17px}.molecule-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8590a8;width:100%}.discovery-state{font-size:9px;color:#5a6d9d}.mini-molecule{position:relative;display:block;height:90px;width:100%;margin:6px 0}.mini-molecule:before{content:"";position:absolute;left:27%;right:27%;top:45px;height:4px;background:#b0bdd8;transform:rotate(-15deg);border-radius:4px}.mini-molecule i{position:absolute;display:grid;place-items:center;width:32px;height:32px;background:var(--element);box-shadow:inset -3px -3px #0000000b;border:1px solid #23335b12;border-radius:50%;font-style:normal;font-size:13px;font-weight:600;color:#23335b;left:calc(50% + (var(--i) - (var(--total) - 1)/2)*25px - 16px);top:calc(27px + mod(var(--i),2)*17px)}.molecule-formula{font-size:30px;line-height:1.2;font-weight:500;color:var(--blue)}.molecule-card>strong{font-size:13px;margin-top:7px;font-weight:700}.observe{font-size:10px;color:#677da6;margin-top:20px}.molecule-card:hover .observe{color:var(--blue)}footer{display:flex;align-items:center;gap:35px;padding:30px 0 40px;border-top:1px solid var(--line);color:var(--muted)}footer>span:first-child{font-weight:800;font-size:13px;color:var(--blue);white-space:nowrap}footer p{font-size:10px;line-height:1.9;margin:0}footer>span:last-child{font-size:10px;font-weight:700;margin-left:auto;white-space:nowrap}.muted{color:var(--muted)}dialog{background:#fff;color:#23335b;border:0;border-radius:25px;width:calc(100% - 32px);max-width:510px;padding:36px;box-shadow:0 20px 100px #23335b30}dialog::backdrop{background:#23335b70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:12px;font-size:28px;border:0;background:none;color:#7989ab}dialog h2{font-size:28px;font-weight:900;line-height:1.5}dialog ol{padding-left:22px;margin:25px 0}dialog li{padding:0 0 12px 8px;font-size:14px;color:var(--blue)}dialog li p{font-size:12px;line-height:1.9;color:var(--muted);margin:5px 0}dialog>.muted{font-size:11px;line-height:1.9}.primary-button{width:100%;border:0;border-radius:25px;background:var(--blue);color:#fff;padding:14px;font-weight:700;font-size:12px;margin-top:10px}@media(min-width:1450px){.intro{padding-top:46px;padding-bottom:46px}.workbench{min-height:530px}}@media(max-width:1100px){.brand-jp{display:none}.intro{padding:32px;grid-template-columns:1.2fr 1fr;min-height:360px}h1{font-size:38px}.hero-art{transform:scale(.85);transform-origin:center center}.intro-copy{font-size:11px}.lab-layout{grid-template-columns:minmax(0,1fr) 285px;gap:15px}.atom-panel{gap:15px;padding:16px}.element-list{gap:8px}.element-card{padding:13px 9px;gap:8px}.element-label small{font-size:8px}.element-ball{width:32px;height:32px;font-size:20px}.add-mark{display:none}.atom-panel .panel-heading h2{font-size:12px}.collection{gap:12px}.molecule-card{padding:15px}.molecule-card.current{padding:14px}.result-panel{padding:20px}.bond-heading p{font-size:10px}.mini-molecule i{width:28px;height:28px;left:calc(50% + (var(--i) - (var(--total) - 1)/2)*21px - 14px)}footer>span:last-child{display:none}}@media(max-width:800px){.header{height:78px;padding:0 4%;gap:15px}.brand{font-size:15px}.header-note{display:none}.edition{margin-left:auto}main{padding:0 4%}.intro{margin-top:8px;margin-bottom:35px;padding:28px;grid-template-columns:1.4fr 1fr;min-height:330px}h1{font-size:32px}.intro .eyebrow{gap:8px;font-size:8px}.eyebrow>span{font-size:9px}.intro-copy{font-size:11px}.hero-art{transform:scale(.73);transform-origin:45% 50%}.art-note{left:-10px}.art-sticker{right:-45px}.lab-layout{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.lab-title h2{font-size:20px}.atom-panel{display:block;padding:17px}.atom-panel .panel-heading{margin-bottom:15px}.element-card{padding:13px;gap:12px}.element-label small{font-size:9px}.result-panel{padding:17px}.result-panel .panel-heading{gap:8px}.result-panel h2{font-size:12px}.result-formula{font-size:44px}.result-description{font-size:11px}.fact p{font-size:10px}.challenge{padding:12px}.challenge h3{font-size:13px}.challenge-label{font-size:8px}.workbench{min-height:545px}.bench-top{left:17px;right:17px;font-size:8px}.bench-label{left:20px;bottom:125px}.scene-actions{left:20px;right:auto;bottom:67px}.bench-bottom{left:16px;right:16px;font-size:9px}.bench-bottom .axis{display:none}.bond-heading{flex-wrap:wrap;gap:10px}.bond-heading p{order:3;width:100%}.collection{grid-template-columns:repeat(3,minmax(0,1fr))}.library-heading h2{font-size:26px}.library{margin:45px 0}.element-list{gap:8px}.element-card{gap:8px;padding:13px 8px}.element-ball{width:30px;height:30px}.element-label{font-size:11px}.element-label small{font-size:7px}}@media(max-width:560px){.header{padding:0 18px;height:75px}.brand{font-size:13px;gap:9px}.brand-mark{width:35px;height:35px;border-radius:11px;font-size:23px}.edition{font-size:8px;padding:8px 10px}.edition>span{margin-right:3px}main{padding:0 16px}.intro{display:block;padding:26px 23px 0;border-radius:24px;min-height:auto;margin:4px 0 32px}.intro .eyebrow{margin-bottom:17px}h1{font-size:clamp(26px,6.9vw,38px);line-height:1.5;letter-spacing:-1px}.intro-copy{font-size:10px;line-height:1.9;margin:15px 0 17px}.guide-link{font-size:11px;padding:12px 17px}.guide-link span{margin-left:17px}.hero-art{height:225px;min-height:225px;transform:scale(.75);transform-origin:50% 20%;margin-bottom:-40px;margin-top:7px}.art-oxygen{top:90px}.h-one{top:0}.h-two{top:35px}.connector-one{top:105px}.connector-two{top:130px}.art-orbit{top:43px}.orbit-two{top:24px}.art-star{right:-20px;top:0}.art-note{bottom:5px;left:-15px;font-size:11px}.art-sticker{bottom:5px;right:-15px;font-size:13px}.lab-title{margin-bottom:15px;align-items:center}.lab-title h2{font-size:18px}.lab-title>span{font-size:8px}.lab-title>span>span{font-size:16px;margin-left:3px}.lab-layout{display:flex;flex-direction:column;gap:13px}.atom-panel{padding:16px;border-radius:18px}.atom-panel .panel-heading{margin-bottom:13px}.element-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.element-card{flex-direction:column;text-align:center;gap:8px;padding:14px 3px 10px;border-radius:12px}.element-number{font-size:7px;top:4px;left:6px}.element-ball{width:32px;height:32px;font-size:20px}.element-label{font-size:11px}.element-label small{font-size:7px;margin-top:4px}.workbench{min-height:385px;border-radius:20px}.workbench:before{width:270px;height:270px;left:calc(50% - 135px);top:calc(50% - 135px)}.workbench:after{width:220px;height:220px;left:calc(50% - 110px);top:calc(50% - 110px)}.bench-top{top:17px;left:17px;right:17px;font-size:8px}.bench-label{bottom:67px;left:20px}#bench-formula{font-size:39px}#bench-name{font-size:10px;margin-top:4px}.scene-actions{left:auto;right:17px;bottom:70px;gap:6px}.scene-btn{width:33px;height:33px;border-radius:10px;font-size:20px}.bench-bottom{height:46px;font-size:9px}.result-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:0 15px;padding:19px;border-radius:18px}.result-panel>.panel-heading{grid-column:1/-1;margin-bottom:5px}.result-tag{margin:17px 0 9px;font-size:8px;padding:5px 8px}.result-formula{font-size:40px}#result h3{font-size:18px;margin:8px 0}.result-description{font-size:10px}.fact{padding:10px;margin:13px 0 0}.fact>span{font-size:9px}.fact p{font-size:9px}.challenge{align-self:center;margin:15px 0 0;padding:12px}.challenge-label{flex-wrap:wrap;font-size:8px}.challenge-label>span:last-child{font-size:8px}.challenge h3{font-size:12px}.challenge p{font-size:9px}.text-button{font-size:8px;padding:10px 8px;line-height:1.8;text-align:left}.challenge .subtle-button{font-size:9px}.bond-panel{margin-top:13px;padding:18px;border-radius:18px}.bond-heading h2{font-size:12px}.bond-heading p{font-size:9px}.bond-heading>.subtle-button{font-size:10px}.atom-chip{gap:6px;padding:9px 7px 9px 9px}.atom-chip>span:first-child{width:23px;height:23px;font-size:11px}.atom-chip strong{font-size:11px}.valence{gap:3px}.valence i{width:5px;height:5px}.remove-atom{padding-right:8px;font-size:16px}#status{font-size:10px}.library{margin:38px 0}.library-heading{gap:10px;margin-bottom:19px}.library-heading .eyebrow{font-size:9px;letter-spacing:1px}.library-heading h2{font-size:22px}#progress{font-size:9px;padding:7px 10px;white-space:nowrap}.collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.molecule-card{padding:15px;border-radius:18px}.molecule-card.current{padding:14px}.mini-molecule{height:78px}.mini-molecule i{width:28px;height:28px;font-size:11px;left:calc(50% + (var(--i) - (var(--total) - 1)/2)*22px - 14px)}.molecule-formula{font-size:28px}.molecule-card>strong{font-size:12px}.observe{font-size:9px;margin-top:16px}.molecule-top{font-size:9px}.discovery-state{font-size:8px}footer{flex-direction:column;align-items:flex-start;gap:15px;padding:25px 0}footer p{font-size:9px}dialog{padding:28px}dialog h2{font-size:24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.molecule-entry{min-width:0;display:flex;flex-direction:column}.molecule-entry .molecule-card{width:100%;flex:1;min-width:0}.molecule-entry:nth-child(3n+2) .molecule-card{background:#fffbed}.molecule-entry:nth-child(3n) .molecule-card{background:#f0f0ff}.molecule-photo{display:grid;place-items:center;width:100%;aspect-ratio:4/3;margin:14px 0 8px;overflow:hidden;border-radius:12px;background:#e8edf5}.molecule-photo img{display:block;width:100%;height:100%;object-fit:cover}.molecule-photo img[hidden]{display:none}.photo-unavailable{font-size:10px;color:var(--muted);padding:12px}.photo-caption{font-size:10px;line-height:1.7;min-height:3.4em;color:#536384;margin-bottom:10px}.photo-credit{display:block;padding:8px 5px 4px;font-size:9px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.photo-credit a{text-decoration:underline;text-underline-offset:2px}.photo-credit>span{display:block;font-size:8px}
