.landing{--font-disp:var(--font-display);--pk:var(--pink-500);--pk-soft:var(--pink-soft);--bl:var(--blue-500);--bl-soft:var(--blue-soft);--lv:var(--violet-500);--lv-soft:var(--violet-soft);--cy:var(--cyan-500);--cy-soft:var(--cyan-soft);--am:var(--yellow-400);--am-soft:var(--amber-soft);--bg:#160f36;--bg-2:#1d1545;--ink:#f4ecd8;--ink-soft:#b9afd8;--bar:#130d2e;--label:#221a47;--line:#f4ecd829;--line-2:#f4ecd852;--cta-bg:var(--pk);--cta-ink:#fff}[data-theme=light] .landing{--bg:#f5f3ec;--bg-2:#e9e6dc;--ink:#221a47;--ink-soft:#5b5279;--bar:#faf8f2;--label:#fcfbf7;--line:#221a472e;--line-2:#221a4757;--cta-bg:var(--pk);--cta-ink:#fff}.landing{background:var(--bg);color:var(--ink)}.landing .wrap{max-width:1200px;padding:0 var(--space-6);margin:0 auto}.landing .grain{position:relative}.landing .grain:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(var(--line-2) .7px, transparent .8px);opacity:.22;background-size:5px 5px;position:absolute;inset:0}.landing .grain>*{z-index:1;position:relative}.landing .wm-inline{font-family:var(--font-disp);white-space:nowrap;font-style:italic;font-weight:800}.landing .wm-inline .s1{color:var(--pink-500)}.landing .wm-inline .s2{color:var(--pink-400)}.landing .wm-inline .s3{color:var(--pink-300)}.landing .wm-inline .d{vertical-align:.16em;color:var(--pink-400);margin:0 .1em;font-size:.55em;font-style:normal}.landing .kicker{white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--ink-soft);display:block}.landing .kicker .bar{background:var(--pk);vertical-align:middle;width:26px;height:2px;margin-right:var(--space-3);display:inline-block}.landing .kicker .jp{font-family:var(--font-jp);letter-spacing:.1em;font-weight:700}.landing .hero{background:var(--bg);padding:var(--space-20) 0 var(--space-16);overflow:hidden}.landing .hero__inner{gap:var(--space-12);grid-template-columns:1.5fr 1fr;align-items:center;max-width:1000px;margin:0 auto;display:grid;position:relative}.landing .hero__copy{min-width:0}.landing .hero .kicker{margin-bottom:var(--space-5)}.landing .hero h1{font-family:var(--font-disp);letter-spacing:-.04em;color:var(--ink);text-transform:uppercase;max-width:13ch;margin:0;font-size:clamp(3rem,6vw,5.5rem);font-style:italic;font-weight:900;line-height:.92}.landing .hero h1 em{color:var(--pk);font-style:italic;position:relative}.landing .hero p{margin:var(--space-6) 0 0;max-width:46ch;font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--ink-soft)}.landing .hero__cta{gap:var(--space-3);margin-top:var(--space-8);align-items:center;display:flex}.landing .hero__feature{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.landing .feature-stack{width:100%;max-width:240px;margin:0 auto;position:relative}.landing .feature-card{z-index:2;transition:opacity .28s var(--ease-out), transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);position:relative}.landing .stack-back{border:1.5px solid var(--card-ink);border-radius:var(--radius-sm);background:var(--card-paper);position:absolute;inset:0}.landing .stack-back.b1{z-index:0;transform:translate(10px,12px)rotate(2.5deg)}.landing .stack-back.b2{z-index:-1;opacity:.8;transform:translate(20px,22px)rotate(5deg)}.landing .pcard{border:1.5px solid var(--card-ink);border-radius:var(--radius-sm);background:var(--card-paper);cursor:pointer;transition:transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);position:relative;overflow:hidden}.landing .pcard.is-active,.landing .pcard:hover{transform:translate(-2px,-2px)}.landing .pcard__art{aspect-ratio:1;background:var(--field);position:relative;overflow:hidden}.landing .pcard__art:before{content:"";opacity:.5;background-image:radial-gradient(#221a472e .7px,#0000 .8px);background-size:5px 5px;position:absolute;inset:0}.landing .pcard__motif{aspect-ratio:1;width:56%;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.landing .motif-ring{border:5px solid var(--motif);border-radius:50%}.landing .motif-disc{background:var(--motif);border-radius:50%}.landing .motif-dia{background:var(--motif);width:48%;transform:translate(-50%,-50%)rotate(45deg)}.landing .pcard__art .jp-vert{writing-mode:vertical-rl;font-family:var(--font-jp);font-weight:900;font-size:var(--text-lg);color:var(--motif);letter-spacing:.12em;position:absolute;top:10px;right:10px}.landing .pcard__photo{object-fit:cover;object-position:top center;z-index:1;width:100%;height:100%;position:absolute;inset:0}.landing .pcard__art--photo:before{display:none}.landing .pcard__art--photo .jp-vert{z-index:2;color:var(--card-paper);text-shadow:0 1px 4px #221a478c}.landing .pcard__art--photo .no{z-index:2}.landing .pcard__art .no{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);color:var(--card-ink);border-radius:var(--radius-xs);background:#ffffffb3;padding:2px 6px;position:absolute;top:10px;left:10px}.landing .pcard__label{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--card-paper);border-top:1.5px solid var(--card-ink)}.landing .pcard__name{align-items:baseline;gap:var(--space-2);display:flex}.landing .pcard__name b{font-family:var(--font-disp);font-style:italic;font-weight:900;font-size:var(--text-xl);color:var(--card-ink);letter-spacing:-.02em;text-transform:uppercase}.landing .pcard__name .jp{font-family:var(--font-jp);font-weight:700;font-size:var(--text-xs);color:var(--card-meta)}.landing .pcard .pcard__desc{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--card-ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;display:-webkit-box;overflow:hidden}.landing .pcard__meta{gap:var(--space-3);margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--card-meta);display:flex}.landing .pcard__meta span{align-items:center;gap:4px;display:inline-flex}.landing .pcard__meta svg{width:12px;height:12px}.landing .pcard__tag{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--motif);border:1.5px solid var(--motif);border-radius:var(--radius-xs);padding:2px 6px}.landing .ctaband{background:var(--cta-bg);color:#fff;padding:var(--space-20) 0;position:relative;overflow:hidden}.landing .ctaband__inner{justify-content:space-between;align-items:center;gap:var(--space-8);z-index:1;flex-wrap:wrap;display:flex;position:relative}.landing .ctaband .kicker{color:#ffffffd9;margin-bottom:var(--space-4)}.landing .ctaband .kicker .bar{background:#fff}.landing .ctaband h2{font-family:var(--font-disp);letter-spacing:-.03em;color:#fff;text-transform:uppercase;max-width:14ch;font-size:clamp(2.2rem,5vw,3.6rem);font-style:italic;font-weight:900;line-height:.92}.landing .ctaband__actions{gap:var(--space-3);display:flex}.landing .foot{background:var(--bar);border-top:1.5px solid var(--line-2);padding:var(--space-8) 0}.landing .foot__inner{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.landing .foot p{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--ink-soft);text-transform:uppercase}.landing .foot .jp{font-family:var(--font-jp);color:var(--ink-soft);font-weight:700}.landing .sec{padding:var(--space-16) 0;border-top:1.5px solid var(--line-2)}.landing .sec--alt{background:var(--bg-2)}.landing .sec__head{max-width:760px}.landing .sec__head h2{font-family:var(--font-disp);letter-spacing:-.03em;text-transform:uppercase;color:var(--ink);margin:var(--space-3) 0 0;font-size:clamp(2rem,4vw,3rem);font-style:italic;font-weight:900;line-height:.95}.landing .sec__head p{margin:var(--space-4) 0 0;font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--ink-soft);max-width:60ch}.landing .sec__head em{color:var(--pk);font-style:italic}.landing .sec__body{margin-top:var(--space-10)}.landing .props{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.landing .prop{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-5)}.landing .prop__ico{border-radius:var(--radius-sm);background:var(--bg);width:42px;height:42px;color:var(--acc,var(--pk));border:1.5px solid var(--line-2);margin-bottom:var(--space-4);place-items:center;display:grid}.landing .prop__ico svg{width:20px;height:20px}.landing .prop__kick{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft)}.landing .prop__kick .jp{font-family:var(--font-jp);color:var(--acc,var(--pk));margin-left:6px;font-weight:700}.landing .prop h3{font-family:var(--font-disp);font-style:italic;font-weight:800;font-size:var(--text-xl);text-transform:uppercase;letter-spacing:-.02em;margin:var(--space-2) 0;color:var(--ink)}.landing .prop p{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink-soft);margin:0}.landing .decomp{gap:var(--space-5);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.landing .dcard{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-5)}.landing .dcard__cap{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.landing .dcard__cap .jp{font-family:var(--font-jp);font-weight:700}.landing .dcard__title{font-family:var(--font-disp);text-transform:uppercase;font-style:italic;font-weight:900;font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--ink);margin-bottom:var(--space-4)}.landing .chips{flex-wrap:wrap;gap:7px;display:flex}.landing .chip{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.03em;border-radius:var(--radius-xs);border:1.5px solid var(--line-2);color:var(--ink-soft);background:var(--bg);white-space:nowrap;padding:5px 9px}.landing .chip--char{border-color:var(--bl);color:var(--bl)}.landing .chip--sys{border-color:var(--pk);color:var(--pk)}.landing .decomp__op{color:var(--ink-soft);place-items:center;display:grid}.landing .decomp__op svg{width:30px;height:30px}.landing .decomp__right{gap:var(--space-4);flex-direction:column;display:flex}.landing .engine{border:1.5px dashed var(--line-2);border-radius:var(--radius-sm);background:var(--bg);padding:var(--space-4) var(--space-5)}.landing .engine__cap{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--space-3);align-items:center;gap:6px;display:flex}.landing .engine__cap svg{width:14px;height:14px;color:var(--pk)}.landing .decomp__note{margin-top:var(--space-7);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);text-align:center}.landing .formula{align-items:stretch;gap:var(--space-4);flex-wrap:wrap;display:flex}.landing .block{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);min-width:140px;padding:var(--space-5);text-align:center;flex:1 1 0}.landing .block__ico{border-radius:var(--radius-sm);width:38px;height:38px;margin:0 auto var(--space-3);background:var(--bg);border:1.5px solid var(--line-2);color:var(--acc,var(--pk));place-items:center;display:grid}.landing .block__ico svg{width:18px;height:18px}.landing .block h3{font-family:var(--font-disp);font-style:italic;font-weight:800;font-size:var(--text-lg);text-transform:uppercase;letter-spacing:-.02em;color:var(--ink);margin:0 0 4px}.landing .block p{font-size:var(--text-xs);color:var(--ink-soft);margin:0}.landing .block .jp{font-family:var(--font-jp);font-weight:700}.landing .formula__op{font-family:var(--font-disp);font-style:italic;font-weight:900;font-size:var(--text-3xl);color:var(--ink-soft);flex:none;place-items:center;display:grid}.landing .combo{margin-top:var(--space-7);border-left:3px solid var(--pk);background:var(--label);padding:var(--space-4) var(--space-5);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.landing .combo b{font-family:var(--font-disp);color:var(--ink);text-transform:uppercase;letter-spacing:-.01em;font-style:italic;font-weight:900}.landing .combo span{color:var(--ink-soft);font-size:var(--text-md)}.landing .modes{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.landing .mode{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-5);flex-direction:column;display:flex}.landing .mode__tag{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--acc,var(--pk));border:1.5px solid var(--acc,var(--pk));border-radius:var(--radius-xs);align-self:flex-start;padding:2px 8px}.landing .mode h3{font-family:var(--font-disp);font-style:italic;font-weight:800;font-size:var(--text-xl);text-transform:uppercase;letter-spacing:-.02em;margin:var(--space-3) 0 var(--space-2);color:var(--ink)}.landing .mode>p{margin:0 0 var(--space-4);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink-soft)}.landing .mode__ex{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink);background:var(--bg);border:1.5px solid var(--line-2);border-radius:var(--radius-xs);padding:var(--space-3) var(--space-4);margin-top:auto}.landing .mode__ex code{font-family:var(--font-mono);color:var(--acc,var(--pk));font-size:.9em}.landing .stv2{gap:var(--space-8);grid-template-columns:1.3fr 1fr;align-items:center;display:grid}.landing .stv2__visual{justify-content:center;align-items:center;gap:var(--space-4);display:flex}.landing .stv2__file{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-4) var(--space-5);text-align:center}.landing .stv2__file .t{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft)}.landing .stv2__file .n{font-family:var(--font-disp);text-transform:uppercase;color:var(--ink);font-style:italic;font-weight:800;font-size:var(--text-lg);margin-top:2px}.landing .stv2__arrow{color:var(--pk)}.landing .stv2__arrow svg{width:30px;height:30px}.landing .soon{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.landing .soon__item{align-items:center;gap:var(--space-4);border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-4) var(--space-5);display:flex}.landing .soon__ico{border-radius:var(--radius-xs);background:var(--bg);border:1.5px solid var(--line-2);width:34px;height:34px;color:var(--ink-soft);flex:none;place-items:center;display:grid}.landing .soon__ico svg{width:16px;height:16px}.landing .soon__t{font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--ink);flex:1}.landing .soon__t small{color:var(--ink-soft);font-weight:400;font-size:var(--text-xs);margin-top:2px;display:block}.landing .soon__tag{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--lv);border:1.5px solid var(--lv);border-radius:var(--radius-xs);flex:none;padding:2px 7px}.landing .ctx{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.landing .ctxc{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-5);flex-direction:column;display:flex}.landing .ctxc__ico{border-radius:var(--radius-sm);background:var(--bg);border:1.5px solid var(--line-2);width:38px;height:38px;color:var(--acc,var(--pk));margin-bottom:var(--space-3);place-items:center;display:grid}.landing .ctxc__ico svg{width:18px;height:18px}.landing .ctxc h3{font-family:var(--font-disp);font-style:italic;font-weight:800;font-size:var(--text-xl);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 var(--space-2);color:var(--ink)}.landing .ctxc>p{margin:0 0 var(--space-4);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink-soft)}.landing .ctxc__ex{background:var(--bg);border:1.5px solid var(--line-2);border-radius:var(--radius-xs);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink);margin-top:auto}.landing .ctxc__field{align-items:flex-start;gap:var(--space-2);display:flex}.landing .ctxc__field svg{width:14px;height:14px;color:var(--acc,var(--pk));flex:none;margin-top:3px}.landing .ctxc__beats{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.landing .ctxc__beats li{gap:var(--space-2);align-items:baseline;display:flex}.landing .ctxc__beats b{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--acc,var(--pk));flex:none}.landing .ctxc__pins{flex-direction:column;gap:7px;display:flex}.landing .ctxc__pin{gap:var(--space-2);align-items:center;display:flex}.landing .ctxc__pin svg{width:13px;height:13px;color:var(--acc,var(--pk));flex:none}.landing .ctx-note{margin-top:var(--space-7);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);text-align:center}.landing .controls{gap:var(--space-4);grid-template-columns:1.7fr 1fr 1fr 1fr;align-items:stretch;display:grid}.landing .ctl{border:1.5px solid var(--line-2);border-radius:var(--radius-sm);background:var(--label);padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.landing .ctl__ico{border-radius:var(--radius-xs);background:var(--bg);border:1.5px solid var(--line-2);width:36px;height:36px;color:var(--ink-soft);place-items:center;display:grid}.landing .ctl__ico svg{width:17px;height:17px}.landing .ctl h3{font-family:var(--font-disp);font-style:italic;font-weight:800;font-size:var(--text-md);text-transform:uppercase;letter-spacing:-.02em;color:var(--ink);margin:0}.landing .ctl p{font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--ink-soft);margin:0}.landing .ctl--hero{background:color-mix(in oklab, var(--pk) 12%, var(--label));border-color:var(--pk)}.landing .ctl--hero .ctl__ico{background:color-mix(in oklab, var(--pk) 16%, var(--bg));border-color:var(--pk);color:var(--pk)}.landing .ctl--hero h3{color:var(--ink);font-size:var(--text-2xl)}.landing .ctl--hero p{color:var(--ink-soft);font-size:var(--text-sm)}.landing .sec-soon{margin-left:var(--space-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--lv);border:1.5px solid var(--lv);border-radius:var(--radius-xs);vertical-align:middle;padding:2px 8px;display:inline-block}@media (max-width:940px){.landing .nav{display:none}.landing .hero__inner{gap:var(--space-10);grid-template-columns:1fr}.landing .hero__feature{margin-top:var(--space-4);align-items:flex-start}.landing .feature-stack{max-width:320px;margin:0}.landing .props{grid-template-columns:repeat(2,1fr)}.landing .modes,.landing .decomp{grid-template-columns:1fr}.landing .decomp__op{transform:rotate(90deg)}.landing .stv2,.landing .soon,.landing .ctx{grid-template-columns:1fr}.landing .controls{grid-template-columns:1fr 1fr}.landing .ctl--hero{grid-column:1/-1}}@media (max-width:540px){.landing .props,.landing .controls{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.landing .feature-card{transition:none}}
