:root{--bg-a:#0A0B1E;--bg-b:#1B1146;--text:#E8F7FF;--dim:#8FA3D6;--accent:#00F0FF;--accent2:#FF2E93;--panel:rgba(18,21,55,.78);--border:#2E3B99;--on:#00E5FF;--core:#E9FFFF;--off:#17163B;--edge:#3A43A0;--radius:14px}
body.theme-starry{--bg-a:#050716;--bg-b:#1A1252;--text:#F4F0FF;--dim:#A9A6D8;--accent:#FFD98A;--accent2:#9D8CFF;--panel:rgba(20,22,66,.7);--border:#5A5FB8;--on:#FFE19A;--core:#fff;--off:#1E2350;--edge:#4A55A0;--radius:26px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--text);background:linear-gradient(180deg,var(--bg-a),var(--bg-b));font:17px/1.55 -apple-system,"Segoe UI","PingFang SC","Hiragino Sans","Apple SD Gothic Neo","Noto Sans",system-ui,sans-serif;padding:0 16px env(safe-area-inset-bottom)}
.bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 40% at 50% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%)}
body.theme-neon .bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--accent) 1px,transparent 1px),linear-gradient(90deg,var(--accent) 1px,transparent 1px);background-size:64px 64px;opacity:.05}
.top{display:flex;justify-content:center;padding:14px 0}
.langs{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-size:14px}
.langs a{color:var(--dim);text-decoration:none}.langs a[aria-current]{color:var(--accent);font-weight:600}
main{max-width:980px;margin:0 auto}
section{margin:56px 0}
h1,h2{font-weight:700;letter-spacing:.01em}h2{font-size:26px;text-align:center;margin:0 0 18px}
.hero{text-align:center;margin-top:24px}
.hero h1{font-size:clamp(44px,9vw,76px);margin:14px 0 6px;font-family:"Orbitron","Segoe UI",system-ui,sans-serif}
.icon{border-radius:32px;box-shadow:0 0 60px color-mix(in srgb,var(--accent) 45%,transparent)}
.tag{color:var(--dim);font-size:19px;max-width:620px;margin:0 auto 22px}
.promise{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;padding:0}
.promise li{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:14px;font-weight:600}
.promise li::before{content:"✓ ";color:var(--accent)}
.cta{display:inline-block;padding:14px 28px;border-radius:var(--radius);border:2px solid var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:700}
.demo{text-align:center}.hint{color:var(--dim);margin:0 0 20px}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(78vw,330px);margin:0 auto 14px;touch-action:manipulation}
.lamp{aspect-ratio:1;border:2px solid var(--edge);border-radius:var(--radius);background:var(--off);cursor:pointer;transition:background .25s,box-shadow .25s,border-color .25s,transform .2s;padding:0}
.lamp.on{border-color:var(--on);background:radial-gradient(circle at 50% 50%,var(--core),var(--on) 70%);box-shadow:0 0 26px color-mix(in srgb,var(--on) 70%,transparent)}
.lamp:active{transform:scale(.94)}
body.theme-starry .lamp{border:0;background:transparent;border-radius:0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);background:var(--edge);transform:scale(.7)}
body.theme-starry .lamp.on{background:radial-gradient(circle,#fff,var(--on) 65%);box-shadow:none;transform:scale(1)}
.lamp.flash{animation:pulse .5s ease-out}
@keyframes pulse{0%{transform:scale(1.18)}100%{transform:scale(1)}}
.status{min-height:30px;display:flex;gap:16px;justify-content:center;align-items:center;margin-bottom:14px}.status strong{color:var(--accent)}
.controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
button{font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--border);border-radius:var(--radius);padding:10px 18px;cursor:pointer}
button.on{border-color:var(--accent);color:var(--accent)}
.how ol{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));counter-reset:s}
.how li{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:6px;counter-increment:s}
.how li::before{content:counter(s);font-weight:800;font-size:30px;color:var(--accent)}
.how b{font-size:19px}.how span{color:var(--dim)}
.features ul{list-style:none;margin:0 auto;padding:0;max-width:640px;display:grid;gap:10px}
.features li{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}
.row{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory}
.row img{flex:none;height:420px;width:auto;border-radius:18px;border:1px solid var(--border);scroll-snap-align:center}
footer{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:28px 0 36px;color:var(--dim);font-size:14px}
footer a{color:var(--dim)}
.prose{max-width:720px;padding-top:20px}.prose h1{font-size:34px}.dim{color:var(--dim)}a{color:var(--accent)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
