*{box-sizing:border-box}body{margin:0;background:var(--page,#f7f7f1);color:var(--ink,#253f39);font-family:ui-rounded,Hiragino Sans GB,system-ui,sans-serif}main{max-width:1200px;margin:auto;padding:34px 26px 70px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--secondary,#647971)}h1{font-size:clamp(34px,5vw,61px);line-height:1.16;letter-spacing:-.045em;margin:17px 0}.intro{max-width:710px;font-size:18px;line-height:1.8;color:var(--secondary,#647971)}.lab{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;margin:30px 0}.scene{min-width:0;align-self:start;background:#18262f;border-radius:27px;overflow:hidden;border:1px solid #34474b}.scene-top{display:flex;justify-content:space-between;gap:15px;padding:21px 24px 0;color:#dbd3eb;font-size:12px;line-height:1.6}.scene-top span:last-child{color:#b5c7ba}.scene svg{display:block;width:100%;height:auto}.diagram-labels text{fill:#d3dfd3;font-family:inherit;font-size:20px;font-weight:650}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;padding:0 15px 24px;color:#d3dfd3;font-size:12px}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%}.purple{background:#cdb4fb}.gold{background:#f2d58c}.green{background:#a6cba2}.controls{border:1px solid var(--border,#dbe1d5);border-radius:25px;background:var(--surface,#fff);padding:23px;display:flex;flex-direction:column;gap:12px;min-width:0}.controls h2{margin:0 0 3px;font-size:20px}.controls label{font-size:13px;color:var(--secondary,#647971);font-weight:650}select,button{font:inherit;color:var(--ink,#253f39);background:var(--surface,#fff);border:1px solid var(--border,#dbe1d5);border-radius:12px;min-height:45px;padding:10px 12px;max-width:100%;width:100%}select{font-size:14px}button{cursor:pointer;font-weight:750;font-size:14px}button.primary{background:#62537d;border-color:#62537d;color:#fff}button:disabled{opacity:.38;cursor:default}.restart{background:transparent;border-color:transparent;min-height:35px;padding:5px;font-weight:550;color:var(--secondary,#647971)}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c89b53;outline-offset:4px}.hint,.model-note{font-size:12px;line-height:1.7;color:var(--secondary,#647971);margin:0}.readout{border-radius:17px;background:var(--page,#f7f7f1);padding:18px;margin:3px 0;min-height:205px}.step-number{font-size:11px;letter-spacing:.14em;color:var(--secondary,#647971);font-weight:800}.readout h3{font-size:19px;line-height:1.5;margin:8px 0}.readout p{font-size:14px;line-height:1.85;margin:0;color:var(--secondary,#647971)}.step-controls{display:flex;gap:9px}.model-note{text-align:center;margin-top:auto}.discoveries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.discoveries article,details{border:1px solid var(--border,#dbe1d5);border-radius:21px;padding:23px;background:var(--surface,#fff)}.card-index{font-size:11px;letter-spacing:.13em;color:var(--secondary,#647971);font-weight:800}.discoveries h2{font-size:20px;line-height:1.55;margin:12px 0}.discoveries p,details p,li{font-size:14px;line-height:1.9;color:var(--secondary,#647971)}details{margin-top:18px}summary{font-weight:750;cursor:pointer;font-size:16px;line-height:1.7}ol,ul{padding-left:22px}.sources{display:grid;gap:14px}.sources a{color:var(--accent,#6b527f);font-weight:650}.sources span{display:block;margin-top:2px}.fallback li{margin:7px 0}@media(max-width:880px){.lab{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.controls h2,.controls label,.controls select,.hint,.readout,.model-note{grid-column:1/-1}.readout{min-height:0}.step-controls,.restart{grid-column:1/-1}.discoveries{grid-template-columns:1fr}.scene-top{font-size:13px}.diagram-labels text{font-size:24px}}@media(max-width:480px){main{padding:22px 14px 48px}.lab{margin-top:23px}.scene-top{padding:18px 16px 0;flex-direction:column;gap:3px}.legend{gap:12px;font-size:11px;padding-bottom:18px}.controls{padding:19px}.discoveries article,details{padding:20px}h1{font-size:37px}.intro{font-size:16px}.diagram-labels text{font-size:26px}}
