:root{--bg:#141414;--p1:#1d1c1b;--p2:#262422;--p3:#36332f;--tx:#e7e3e0;--dm:#ac9e9b;--ft:#6f6563;--ac:#cdb6b3;--ink:#1d1817;--tape:#e7e3e08c;--tape2:#ac9e9bb8;--r-card:18px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--tx);font-family:var(--coco-body);margin:0;font-size:16px;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.nav{z-index:20;align-items:center;gap:22px;padding:14px 32px;transition:background-color .3s;display:flex;position:fixed;inset:0 0 auto}.nav.solid{background:#141414eb}.nav .logo{font-family:var(--coco-title);margin-right:auto;font-size:24px}.nav .logo small{font-family:var(--coco-body);color:var(--dm);margin-left:8px;font-size:13px}.nav a.l{color:var(--dm);font-size:14px}.nav a.l:hover{color:var(--tx)}.btn{white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:10px 22px;font-size:15px;display:inline-flex}.btn.pri{background:var(--ac);color:var(--ink)}.btn.pri:hover{background:var(--tx)}.btn.sec{color:var(--tx);background:#262422d9}.btn.sec:hover{background:var(--p3)}.nav .btn{padding:7px 16px;font-size:14px}.hero{align-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.wall{opacity:.55;grid-template-columns:repeat(7,1fr);gap:10px;display:grid;position:absolute;inset:-40px -20px}.col{will-change:transform;flex-direction:column;gap:10px;animation:linear infinite drift;display:flex}.col.up{animation-name:driftUp}.col figure{margin:0;position:relative}.col img{border-radius:10px;width:100%;height:auto}.col figcaption{color:var(--dm);background:#14141499;border-radius:999px;padding:1px 8px;font-size:11px;position:absolute;bottom:8px;left:8px}@keyframes drift{0%{transform:translateY(-50%)}to{transform:translateY(0)}}@keyframes driftUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.veil{background:linear-gradient(90deg, #141414f0 0%, #141414c7 38%, #14141459 70%, #1414148c 100%), linear-gradient(0deg, var(--bg) 0%, #14141400 22%);position:absolute;inset:0}.hero-in{z-index:2;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:48px;width:min(1240px,100%);margin:0 auto;padding:120px 32px 90px;display:grid;position:relative}.eyebrow{color:var(--dm);letter-spacing:.08em;font-size:13px}.hero h1{font-family:var(--coco-title);margin:14px 0 18px;font-size:clamp(32px,3.9vw,54px);font-weight:500;line-height:1.25}.hero h1 span{white-space:nowrap;display:block}.hero p.sub{color:var(--dm);text-wrap:pretty;max-width:30em;margin:0 0 28px;font-size:17px}.ctas{flex-wrap:wrap;gap:12px;display:flex}.ctas.center{justify-content:center}.fine{color:var(--ft);margin-top:18px;font-size:13px}.wallnote{z-index:2;font-family:var(--coco-title);color:var(--dm);white-space:nowrap;font-size:15px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.demo{background:#1d1c1bf0;border-radius:22px;padding:16px;box-shadow:0 30px 80px #00000073}.demo .steps{gap:6px;margin-bottom:12px;display:flex}.demo .steps button{cursor:pointer;text-align:center;background:var(--p2);color:var(--ft);white-space:nowrap;border:0;border-radius:999px;flex:1;padding:6px 0;font-size:13px;transition:background-color .4s,color .4s}.demo .steps button b{font-family:var(--coco-mono);margin-right:4px;font-size:11px;font-weight:400}.demo .steps button.on{background:var(--ac);color:var(--ink)}.stage{background:var(--p2);border-radius:14px;height:380px;position:relative;overflow:hidden}.scene{opacity:0;pointer-events:none;padding:16px;transition:opacity .6s;position:absolute;inset:0}.scene.on{opacity:1}.prompt{font-family:var(--coco-mono);background:var(--p1);color:var(--tx);border-radius:10px;min-height:40px;padding:10px 12px;font-size:12.5px}.prompt:after{content:"▍";color:var(--ac);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.bar{background:var(--p1);border-radius:3px;height:6px;margin:10px 0;overflow:hidden}.bar i{background:var(--ac);width:0;height:100%;display:block}.dev{background:var(--p1);border-radius:10px;height:270px;position:relative;overflow:hidden}.dev img{object-fit:cover;filter:blur(22px)saturate(.3);opacity:.25;width:100%;height:100%;transition:filter 2.6s,opacity 2.6s,transform 2.6s;transform:scale(1.08)}.scene.on .dev.done img{filter:none;opacity:1;transform:none}.devtag{color:var(--dm);background:#141414b3;border-radius:999px;padding:2px 10px;font-size:12px;position:absolute;top:10px;left:10px}.ex{grid-template-rows:1fr 1fr;grid-template-columns:1.3fr 1fr 1fr;gap:8px;height:100%;display:grid}.ex .seed{grid-row:span 2;position:relative}.ex>div{border-radius:10px;overflow:hidden}.ex img{object-fit:cover;width:100%;height:100%}.ex .sim{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(14px)scale(.96)}.scene.on .ex .sim.in{opacity:1;transform:none}.ex .seed .devtag{top:auto;bottom:10px}.cmp{border-radius:10px;height:100%;position:relative;overflow:hidden}.cmp img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cmp .b{clip-path:inset(0 0 0 var(--x,50%))}.cmp .knob{top:0;bottom:0;left:var(--x,50%);background:var(--tx);width:2px;position:absolute}.cmp .knob:after,.ba .knob:after{content:"⇆";background:var(--tx);width:36px;height:36px;color:var(--bg);border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tape{z-index:3;background:var(--tape);color:#3a2e22;min-width:64px;font-family:var(--coco-title);text-align:center;opacity:0;padding:2px 14px;font-size:16px;transition:transform .35s cubic-bezier(.3,1.6,.6,1),opacity .2s;position:absolute;top:16px;left:18px;transform:rotate(-5deg)scale(1.6)}.tape.in{opacity:1;transform:rotate(-5deg)scale(1)}.rc{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.slot{background:var(--p1);text-align:center;color:var(--dm);border-radius:10px;min-width:0;padding:8px 6px 6px;font-size:12px;transition:transform .4s,background-color .4s}.slot b{font-family:var(--coco-title);color:var(--tx);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:14px;font-weight:400;display:block;overflow:hidden}.slot.flip{background:var(--p3);transform:translateY(-6px)}.rcout{grid-template-columns:1fr 1fr;gap:8px;height:262px;display:grid}.rcout>div{border-radius:10px;position:relative;overflow:hidden}.rcout img{object-fit:cover;width:100%;height:100%;transition:opacity .22s}.rcout .lab{color:var(--dm);background:#141414b3;border-radius:999px;padding:2px 10px;font-size:12px;position:absolute;bottom:8px;left:8px}section.blk{width:min(1240px,100%);margin:0 auto;padding:110px 32px 30px}.kicker{font-family:var(--coco-mono);color:var(--ft);letter-spacing:.1em;font-size:13px}h2{font-family:var(--coco-title);margin:8px 0 14px;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.3}h3{font-family:var(--coco-title);margin:6px 0 10px;font-size:24px;font-weight:500}.lead{color:var(--dm);text-wrap:balance;margin:0;font-size:17px}.row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px;margin-top:72px;display:grid}.row.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.row.rev .txt{order:2}.txt p{color:var(--dm);text-wrap:pretty;margin:0 0 10px}.txt p.note{color:var(--ft);font-size:14px}.num{font-family:var(--coco-title);color:var(--ac);font-size:44px;line-height:1}.chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chips span{background:var(--p2);color:var(--tx);border-radius:999px;padding:4px 12px;font-size:13px}.shot{border-radius:var(--r-card);background:var(--p1);padding:10px;position:relative}.shot .win{background:var(--p2);aspect-ratio:16/10;color:var(--ft);border-radius:12px;place-items:center;font-size:14px;display:grid;overflow:hidden}.shot .cap{z-index:1;background:var(--tape2);color:#2a211c;font-family:var(--coco-title);padding:2px 14px;font-size:15px;position:absolute;top:-12px;left:24px;transform:rotate(-3deg)}.ph b{font-family:var(--coco-title);color:var(--dm);text-align:center;font-size:20px;font-weight:400;display:block}.train3{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;display:grid}.card{background:var(--p1);border-radius:var(--r-card);padding:24px}.card p{color:var(--dm);margin:0;font-size:15px}.strip{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.strip>div{aspect-ratio:3/4;border-radius:10px;position:relative;overflow:hidden}.strip img{object-fit:cover;width:100%;height:100%}.strip span{font-family:var(--coco-mono);background:#141414bf;border-radius:999px;padding:1px 8px;font-size:11px;position:absolute;bottom:6px;left:6px}.ba{border-radius:var(--r-card);cursor:ew-resize;user-select:none;touch-action:pan-y;width:100%;max-width:560px;margin-left:auto;position:relative;overflow:hidden}.ba img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ba .after{clip-path:inset(0 0 0 var(--x,50%))}.ba .knob{top:0;bottom:0;left:var(--x,50%);background:var(--tx);pointer-events:none;width:2px;position:absolute}.ba .t{color:var(--tx);background:#141414bf;border-radius:999px;padding:3px 12px;font-size:13px;position:absolute;bottom:14px}.gal{columns:5 200px;column-gap:12px;margin-top:40px}.gal .tile{break-inside:avoid;border-radius:12px;margin:0 0 12px;position:relative;overflow:hidden}.gal .open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.gal img{width:100%;height:auto;transition:transform .4s}.gal .open:hover img{transform:scale(1.03)}.gal .tag{color:var(--tx);background:#141414b8;border-radius:999px;align-items:baseline;gap:6px;padding:2px 10px;font-size:12.5px;display:inline-flex;position:absolute;bottom:8px;left:8px}a.tag:hover{background:var(--ac);color:var(--ink)}a.tag:hover i{color:var(--ink)}.gal .tag i,.loras i{color:var(--dm);font-size:11px;font-style:normal}.loras{flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;font-size:13px;display:flex}.loras .lh{color:var(--ft);margin-right:4px}.loras>a,.loras>span:not(.lh):not(.lnote){background:var(--p2);border-radius:999px;align-items:baseline;gap:6px;padding:4px 12px;display:inline-flex}.loras>a{background:var(--p3)}.loras>a:hover{background:var(--ac);color:var(--ink)}.loras>a:hover i{color:var(--ink)}.loras .lnote{color:var(--ft);flex-basis:100%;margin-top:4px}.loras .lnote a{color:var(--ac)}#lblink{color:var(--ac);margin-left:auto;font-size:14px}.galmore{justify-content:center;margin-top:24px;display:flex}.teaser{grid-template-columns:repeat(8,1fr);gap:8px;margin-top:32px;display:grid}.teaser img{aspect-ratio:3/4;object-fit:cover;border-radius:10px;width:100%;height:auto;transition:transform .4s}.teaser a:hover img{transform:scale(1.03)}.galpage{padding-top:120px}.gh{font-family:var(--coco-title);margin:8px 0 14px;font-size:clamp(32px,3.6vw,48px);font-weight:500;line-height:1.25}.nav a.l[aria-current=page]{color:var(--tx)}.shot .win.pic{cursor:zoom-in;border:0;width:100%;padding:0;display:block}.shot .win.pic img{object-fit:cover;object-position:top left;width:100%;height:100%}.sponsors{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin-top:36px;display:grid}.sp p{margin:0 0 18px}.btn.soon{background:var(--p2);color:var(--ft);cursor:default}#lightbox{background:0 0;border:0;max-width:min(92vw,1400px);max-height:92vh;padding:0}#lightbox::backdrop{background:#0a0a0ae0}#lightbox img{border-radius:12px;width:auto;max-width:100%;max-height:calc(92vh - 52px);margin:0 auto}.lbbar{color:var(--tx);justify-content:space-between;align-items:center;gap:16px;padding:10px 4px 0;display:flex}.lbbar button{background:var(--p2);cursor:pointer;border:0;border-radius:999px;padding:6px 16px}.arch{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:36px;display:grid}.arch div{background:var(--p1);border-radius:14px;padding:16px 18px}.arch b{font-family:var(--coco-title);font-size:18px;font-weight:400;display:block}.arch span{color:var(--dm);font-size:13px}.two{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}.req{border-collapse:collapse;width:100%;font-size:15px}.req td{border-bottom:1px solid var(--p2);vertical-align:top;padding:10px 0}.req td:first-child{color:var(--dm);width:8em;padding-right:12px}ul.ok,ul.no{margin:10px 0 0;padding:0;list-style:none}ul.ok li,ul.no li{margin:8px 0;padding-left:26px;font-size:15px;position:relative}ul.ok li:before{content:"○";color:var(--ac);position:absolute;left:0}ul.no li:before{content:"×";color:var(--ft);position:absolute;left:2px}.card .more{color:var(--ac);margin-top:12px;font-size:14px;display:inline-block}.final{text-align:center;padding:140px 32px 120px}.final h2{font-size:clamp(30px,3.4vw,46px)}.final .lead{text-wrap:balance;margin:0 auto 28px}footer{border-top:1px solid var(--p2);color:var(--ft);flex-wrap:wrap;justify-content:space-between;gap:24px;width:min(1240px,100%);margin:0 auto;padding:28px 32px 40px;font-size:13px;display:flex}footer nav{gap:20px;display:flex}footer a:hover{color:var(--tx)}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(24px)}.reveal.seen{opacity:1;transform:none}@media (width<=960px){.nav{gap:14px;padding:12px 16px}.nav a.l{display:none}.nav a.l.lang{display:inline}.wall{grid-template-columns:repeat(4,1fr)}.col:nth-child(n+5){display:none}.veil{background:linear-gradient(0deg, var(--bg) 0%, #141414d1 45%, #14141499 100%)}.hero-in{grid-template-columns:minmax(0,1fr);gap:32px;padding:100px 16px 80px}.hero h1{font-size:min(7.6vw,44px)}.stage{height:330px}.dev{height:220px}.rcout{height:212px}section.blk{padding:80px 16px 20px}.row,.row.rev{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:56px}.row.rev .txt{order:0}.train3,.two,.sponsors{grid-template-columns:minmax(0,1fr)}.ba{max-width:420px;margin:0 auto}.gal{columns:2;column-gap:8px}.teaser{grid-template-columns:repeat(4,1fr)}.gal .tile{margin-bottom:8px}.wallnote{white-space:normal;text-align:center;width:90%;font-size:14px}footer{padding:24px 16px 36px}}@media (width<=600px){.hero h1 span{white-space:normal}.demo .steps button b{display:none}}@media (prefers-reduced-motion:reduce){.col{animation:none}.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}
