:root{--bg:#f8f9fc;--ink:#202639;--muted:#71788b;--line:#e3e7ef;--accent:#6658db;--soft:#eeebff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}.shell{max-width:1120px;margin:auto;padding:0 38px}.nav{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:22px}.brand{font-size:22px;font-weight:750;display:flex;align-items:center;gap:10px}.mark{color:var(--accent);font-size:33px}.brand-sub{font-size:10px;letter-spacing:2px;color:var(--muted);margin-left:4px}.nav nav{display:flex;gap:35px}.nav nav a{color:var(--muted)}.nav nav a[aria-current=page]{color:var(--accent)}.quiet{background:transparent;border:1px solid var(--line);border-radius:9px;padding:7px 15px;color:var(--muted)}.quiet:hover{border-color:var(--accent);color:var(--accent)}.hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:30px;min-height:530px;padding:70px 0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,4.5vw,54px);line-height:1.4;letter-spacing:-2px;margin:24px 0}h1 span{color:var(--accent)}.intro,.page-head>p:last-child{color:var(--muted);line-height:1.9}.actions{display:flex;align-items:center;gap:24px;margin-top:34px}.primary{display:inline-flex;justify-content:center;gap:28px;background:var(--ink);color:white;padding:12px 21px;border:0;border-radius:10px}.primary:hover{background:var(--accent)}.text-link{color:var(--accent);font-size:14px}.orbit{height:330px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#eae7ff 0,transparent 68%)}.orbit-ring{position:absolute;width:270px;height:270px;border:1px solid #dbd7f0;border-radius:50%;transform:rotate(-25deg) scaleY(.75)}.orbit-ring:after{content:'';position:absolute;inset:-25px;border:1px dashed #dedbea;border-radius:50%;transform:rotate(65deg)}.orbit-center{display:grid;place-items:center;width:150px;height:150px;border-radius:40px;background:#fff9;box-shadow:0 18px 65px #6256b818;font-size:62px;color:var(--accent);transform:rotate(-8deg)}.orbit-center span{font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:-20px}.orb{position:absolute;border-radius:50%;box-shadow:0 8px 25px #6658db20}.orb-one{background:#b8a9ee;width:30px;height:30px;top:60px;right:65px}.orb-two{background:#f2c5ac;width:17px;height:17px;left:45px;bottom:82px}.orbit-caption{position:absolute;bottom:0;font-size:9px;letter-spacing:3px;color:var(--muted)}.section-label{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.section-label h2{font-size:18px;margin:0}.section-label>span{font-size:10px;letter-spacing:2px;color:var(--muted)}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.entry{background:white;border:1px solid var(--line);padding:30px;border-radius:18px;position:relative;transition:transform .2s,border-color .2s}.entry:hover{transform:translateY(-4px);border-color:#b9afea}.entry-lab{background:#f1effb}.entry-icon{display:block;font-size:27px;color:var(--accent);margin-bottom:18px}.entry h3{font-size:23px;margin:12px 0 8px}.entry p{color:var(--muted);margin-bottom:0;font-size:14px}.entry-arrow{position:absolute;right:30px;top:28px;color:var(--muted)}.footer{margin-top:90px;padding-top:25px;padding-bottom:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}.page-head{padding:65px 0 25px}.page-head h1{margin:10px 0 18px}.posts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.post-card{text-align:left;background:white;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink)}.post-card h3{font-size:23px;margin:10px 0}.post-card p{color:var(--muted)}.empty{grid-column:1/-1;padding:45px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.experiment{display:flex;position:relative;align-items:center;gap:35px;padding:30px;background:white;border:1px solid var(--line);border-radius:20px}.experiment-art{display:grid;place-items:center;min-width:170px;height:170px;border-radius:14px;background:#eeebff;font-size:60px}.experiment h2{font-size:26px;margin:8px 0}.experiment p{color:var(--muted)}.badge{position:absolute;top:20px;right:20px;background:#e8f4ec;color:#40775a;font-size:11px;border-radius:20px;padding:3px 10px}.lab-note{color:var(--muted);font-size:13px;margin-top:28px}.reaction-pad{width:100%;min-height:290px;background:var(--soft);border:0;border-radius:20px;color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.reaction-pad strong{font-size:30px}.reaction-pad.waiting{background:#f7dedb;color:#945849}.reaction-pad.ready{background:#bfe5cf;color:#26573a}.score-row{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:22px}#reaction{padding-top:35px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;max-width:min(460px,94vw);width:100%;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#20263966;backdrop-filter:blur(4px)}dialog.wide{max-width:min(800px,94vw)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head h2{font-size:22px}.dialog-head button{background:none;border:0;font-size:28px;color:var(--muted)}label{display:block;color:var(--muted);font-size:13px;margin:15px 0}input,textarea{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--bg)}textarea{min-height:280px;resize:vertical}#login-error,#editor-error,#status{color:#b34747}.article{overflow-wrap:anywhere;line-height:1.95}.article img{max-width:100%;height:auto}.article pre{overflow:auto;background:var(--bg);padding:18px;border-radius:10px}.article a{color:var(--accent);text-decoration:underline}.article table{display:block;overflow:auto;border-collapse:collapse}.article td,.article th{border:1px solid var(--line);padding:8px}.article h1{font-size:32px}:focus-visible{outline:3px solid #a99ae9;outline-offset:4px}@media(max-width:720px){.shell{padding-left:22px;padding-right:22px}.nav{height:82px;gap:12px}.brand-sub{display:none}.nav nav{gap:18px;font-size:13px}.nav .quiet{font-size:11px;padding:5px 8px}.brand{font-size:18px;gap:5px}.hero{grid-template-columns:1fr;padding:45px 0 20px;gap:0}.hero h1{font-size:39px}.orbit{height:250px}.orbit-ring{width:210px;height:210px}.orbit-center{width:120px;height:120px;font-size:48px}.orbit-caption{bottom:4px}.actions{gap:16px;flex-wrap:wrap}.entry-grid,.posts{grid-template-columns:1fr}.entry{padding:25px}.footer{flex-direction:column;margin-top:55px}.experiment{flex-direction:column;align-items:stretch;padding:23px;gap:24px}.experiment-art{height:150px}.badge{top:36px;right:36px}.page-head{padding-top:45px}.reaction-pad strong{font-size:25px}.desktop{display:none}.section-label>span{font-size:8px}}

/* Mobile layout: readable content, touch targets and safe-area spacing. */
html{scroll-padding-top:20px}body{min-width:0}main.shell{min-height:60vh}.hero>*,.entry-grid>*,.posts>*,.experiment>*{min-width:0}h1,h2,h3,p,a{overflow-wrap:anywhere}.version-tag{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.3px;border:1px solid var(--line);border-radius:6px;padding:2px 8px;white-space:nowrap}.footer{flex-wrap:wrap;align-items:center}.article pre,.article table{max-width:100%}input,textarea{font-size:16px}dialog{overscroll-behavior:contain}button,.nav nav a{min-height:44px}.nav nav a{display:inline-flex;align-items:center}.quiet{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:720px){.shell{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.nav{height:auto;min-height:80px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:6px 16px}.nav nav{margin-left:auto;gap:18px}.nav #account{margin-left:auto}.hero{min-height:0;padding-top:34px}.hero h1{font-size:clamp(30px,7.8vw,42px);letter-spacing:-1px}.intro{font-size:14px}.actions{align-items:stretch;gap:12px}.actions .primary{min-height:48px}.actions .text-link{display:flex;align-items:center;min-height:44px}.orbit{height:225px;max-width:100%;overflow:hidden}.section-label{gap:12px}.entry-grid{gap:14px}.entry{padding:24px}.page-head{padding-top:32px}.page-head h1{font-size:clamp(30px,8vw,42px)}.page-head p{font-size:14px}.post-card{padding:22px}.experiment{padding:20px;gap:18px}.experiment h2{font-size:23px}.badge{top:30px;right:30px}.reaction-pad{min-height:250px;padding:24px 16px}.reaction-pad strong{font-size:clamp(22px,6vw,28px)}.score-row{gap:12px 20px;font-size:14px}.score-row .quiet{flex-basis:100%}.footer{align-items:flex-start;gap:12px;padding-bottom:max(24px,env(safe-area-inset-bottom))}dialog{max-width:calc(100vw - 24px);padding:22px 18px;max-height:calc(100dvh - 24px)}dialog.wide{max-width:calc(100vw - 24px)}dialog h1{font-size:30px;letter-spacing:-1px}.article{font-size:15px}.dialog-head h2{margin-bottom:8px}}
@media(max-width:360px){.brand{font-size:17px}.nav nav{gap:12px}.section-label>span{letter-spacing:1px}.actions{flex-direction:column}.actions .text-link{justify-content:center}.orbit{height:210px}.entry h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.vg-entry{margin-top:22px}.vg-entry .experiment-art{background:#17182f;color:#c0a4ff;font-size:85px;text-shadow:0 0 35px #b292ff}

.life-entry{margin-top:22px}.life-entry .experiment-art{background:#27213e;color:#c5b0ff;font-size:80px}
