@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=JetBrains+Mono:wght@300;400;500&display=swap');

:root {
  --bg:#f7f5f0; --bg2:#eeebe4; --bg3:#e4e0d8;
  --border:#c8c2b6; --text:#1e1c18; --text-dim:#7a7264;
  --accent:#2d5f4e; --accent2:#7a3c28; --accent3:#2a4a6e; --rule:#b0a898;
}
[data-theme="dark"] {
  --bg:#111210; --bg2:#181916; --bg3:#1f201c;
  --border:#2e2e28; --text:#d8d4cc; --text-dim:#686058;
  --accent:#5aaa88; --accent2:#c87a58; --accent3:#7aaad4; --rule:#383830;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:17px; }
body { background:var(--bg); color:var(--text); font-family:'Libre Baskerville',Georgia,serif; line-height:1.85; transition:background 0.2s,color 0.2s; }
nav { position:fixed; top:0; left:0; right:0; background:rgba(247,245,240,0.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); z-index:100; transition:background 0.2s; }
[data-theme="dark"] nav { background:rgba(17,18,16,0.96); }
.nav-inner { max-width:820px; margin:0 auto; padding:0 2rem; display:flex; align-items:center; justify-content:space-between; height:50px; }
.nav-brand { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.18em; color:var(--text-dim); text-transform:uppercase; text-decoration:none; }
.nav-brand span { color:var(--accent); }
.nav-controls { display:flex; align-items:center; }
.theme-btn { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.12em; color:var(--text-dim); background:transparent; border:none; border-left:1px solid var(--border); padding:0 14px; height:50px; cursor:pointer; text-transform:uppercase; transition:color 0.15s; }
.theme-btn:hover { color:var(--accent); }
main { max-width:820px; margin:0 auto; padding:0 2rem 6rem; }
.page-header { padding-top:90px; padding-bottom:3rem; border-bottom:1px solid var(--border); }
.lab-label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.22em; color:var(--accent); text-transform:uppercase; margin-bottom:1.2rem; display:flex; align-items:center; gap:0.7rem; }
.lab-label::before { content:''; display:inline-block; width:28px; height:1px; background:var(--accent); }
h1 { font-size:2.6rem; font-weight:700; line-height:1.2; letter-spacing:-0.01em; color:var(--text); margin-bottom:1.2rem; }
h1 em { font-style:italic; color:var(--accent); }
.subtitle { font-size:1rem; font-weight:400; font-style:italic; color:var(--text-dim); max-width:560px; line-height:1.75; }
.intro-section { padding:3rem 0; border-bottom:1px solid var(--border); max-width:640px; }
.intro-section p { font-size:0.95rem; color:var(--text); line-height:1.9; margin-bottom:1rem; }
.intro-section p:last-child { margin-bottom:0; }
.pull-quote { border-left:2px solid var(--accent); padding:0.6rem 0 0.6rem 1.4rem; margin:1.6rem 0; font-style:italic; color:var(--text-dim); font-size:0.93rem; line-height:1.75; }
.section-heading { padding-top:3rem; margin-bottom:2rem; }
.section-heading h2 { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--text-dim); margin-bottom:0.5rem; }
.section-heading p { font-size:0.88rem; font-style:italic; color:var(--text-dim); }
.experiments { display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:var(--border); border:1px solid var(--border); margin-bottom:3rem; }
.experiment-card { background:var(--bg); padding:1.8rem 1.6rem; text-decoration:none; color:var(--text); transition:background 0.15s; display:flex; flex-direction:column; gap:0.7rem; position:relative; overflow:hidden; }
.experiment-card:hover { background:var(--bg2); }
.experiment-card.coming-soon { opacity:0.5; cursor:default; pointer-events:none; }
.card-domain { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); }
.card-domain.physics { color:var(--accent3); }
.card-domain.ethics { color:var(--accent2); }
.card-domain.philosophy { color:var(--accent); }
.card-domain.info { color:var(--accent); }
.card-title { font-size:1.05rem; font-weight:700; line-height:1.25; color:var(--text); }
.card-desc { font-size:0.82rem; color:var(--text-dim); line-height:1.7; flex:1; }
.card-status { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:0.15em; text-transform:uppercase; margin-top:0.4rem; }
.card-status.live { color:var(--accent); }
.card-status.soon { color:var(--text-dim); }
.card-arrow { position:absolute; bottom:1.4rem; right:1.4rem; font-size:1.1rem; color:var(--border); transition:color 0.15s,transform 0.15s; }
.experiment-card:hover .card-arrow { color:var(--accent); transform:translate(2px,-2px); }
.about-section { padding:3rem 0 0; border-top:1px solid var(--border); display:grid; grid-template-columns:120px 1fr; gap:2.5rem; align-items:start; }
.about-label { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-dim); padding-top:0.2rem; }
.about-text p { font-size:0.88rem; color:var(--text-dim); line-height:1.85; margin-bottom:0.8rem; }
.about-text p:last-child { margin-bottom:0; }
.about-text a { color:var(--accent); text-decoration:none; border-bottom:1px solid transparent; transition:border-color 0.15s; }
.about-text a:hover { border-color:var(--accent); }
footer { max-width:820px; margin:0 auto; padding:1.5rem 2rem 3rem; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.footer-mono { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-dim); }
@media (max-width:600px) {
  h1 { font-size:1.9rem; }
  .experiments { grid-template-columns:1fr; }
  .about-section { grid-template-columns:1fr; gap:1rem; }
  .about-label { display:none; }
  footer { flex-direction:column; gap:0.5rem; text-align:center; }
}
