.landing{padding-top:44px}@media (max-width:760px){.landing{padding-top:26px}}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,560px);grid-gap:56px;gap:56px;align-items:center}@media (max-width:1040px){.hero{grid-template-columns:1fr;gap:30px;align-items:start}}.hero-copy{max-width:520px}.hero-copy h1{font-size:clamp(2.1rem,1.1rem + 3.6vw,3.4rem);line-height:1.2;margin:14px 0 18px}.hero-copy .lede{color:var(--ink-soft);font-size:1.04rem;margin:0 0 26px}.hero-cta{gap:16px;align-items:center}.hero-cta,.hero-stats{display:flex;flex-wrap:wrap}.hero-stats{gap:6px 26px;list-style:none;margin:32px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}.hero-stats li{display:flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink-faint)}.hero-stats b{font-family:var(--mono);font-weight:500;font-size:1.24rem;color:var(--crimson);line-height:1}.hero-side{min-width:0;scroll-margin-top:calc(var(--nav-h) + 20px)}.wf{display:grid;grid-gap:13px;gap:13px;min-width:0}.wf .anim-embed{margin:0}.wf .anim-embed iframe{height:auto;aspect-ratio:16/10;min-height:330px}.wf .anim-embed-f>.btn{display:none}.wf-skel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card);padding:42px 0 44px;overflow:hidden;position:relative}.wf-skel:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--crimson),var(--crimson-bright))}.wf-skel>i{display:block;aspect-ratio:16/10;min-height:330px;background:var(--surface-2);border-block:1px solid var(--line)}.wf-bar{gap:16px}.wf-bar,.wf-dots{display:flex;align-items:center}.wf-dots{gap:7px;flex-wrap:wrap;flex:1 1;min-width:0}.wf-dot{width:9px;height:9px;padding:0;border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;cursor:pointer;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.wf-dot[data-gap="1"]{margin-left:11px}.wf-dot:hover{border-color:var(--crimson);transform:scale(1.25)}.wf-dot[aria-selected=true]{background:var(--ch1);border-color:var(--ch1);transform:scale(1.45)}.wf-dot[aria-selected=true][data-b="2"]{background:var(--ch2);border-color:var(--ch2)}.wf-dot[aria-selected=true][data-b="3"]{background:var(--ch3);border-color:var(--ch3)}.wf-note{margin:0;font-size:12.5px;color:var(--ink-faint)}.wf-note .num{color:var(--ink-soft);margin-right:9px}@media (max-width:1040px){.wf .anim-embed iframe{aspect-ratio:16/11}}.joinsec{display:grid;place-items:center;padding:64px 0 8px;scroll-margin-top:calc(var(--nav-h) + 20px)}@media (max-width:760px){.joinsec{padding:40px 0 4px}}.joincard{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);padding:30px 28px 22px;text-align:center}.joincard,.joincard .mark{border-radius:var(--radius)}.joincard .mark{width:54px;height:54px;margin:0 auto 15px;background:linear-gradient(135deg,var(--crimson),var(--crimson-bright));color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:27px;font-weight:700;box-shadow:var(--shadow-card)}.joincard h2{font-size:1.42rem}.joincard .sub{color:var(--ink-soft);font-size:14px;margin:7px 0 20px}.joincard .seg{margin-bottom:20px}.joincard .seg button{padding:9px 8px;font-size:14px}.joincard .field{text-align:left}.joincard .btn{width:100%;margin-top:4px}.joincard .err{margin:0 0 10px;text-align:left}.joincard .foot{margin:15px 0 0;font-size:12.5px;color:var(--ink-faint);line-height:1.6}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:64px}@media (max-width:900px){.features{grid-template-columns:1fr;margin-top:44px}}.feature{grid-template-rows:auto auto 1fr auto;padding:24px 24px 22px;gap:13px}.feature:hover{transform:none;box-shadow:var(--shadow-card);border-color:var(--line)}.feature h3{color:var(--crimson);font-size:1.18rem}.feature p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.72}.feature .btn{justify-self:start}.boards{margin-top:60px}@media (max-width:900px){.boards{margin-top:44px}}.sec-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px}.sec-h h2{font-size:1.34rem}.sec-h .r{margin-left:auto;color:var(--ink-faint);font-size:13px}.boards .chapter-row{grid-template-columns:34px minmax(0,1fr) auto;padding:18px 22px}.boards .chapter-row .c{color:var(--ink-faint);font-size:12.5px;font-family:var(--mono);white-space:nowrap}.boards .kps{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:9px}.boards .kp{display:inline-flex;align-items:baseline;gap:5px;font-size:12.5px;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:1px 11px;background:var(--surface-2)}.boards .kp i{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--crimson)}@media (max-width:760px){.boards .chapter-row{grid-template-columns:26px minmax(0,1fr)}.boards .chapter-row .c{grid-column:2}}.try{margin-top:60px;scroll-margin-top:calc(var(--nav-h) + 20px)}@media (max-width:900px){.try{margin-top:44px}}.try .panel-h{padding-left:24px}.try .panel-b{padding:18px 20px 20px 24px}.lightup{display:grid;grid-gap:14px;gap:14px}.lightup-sky{padding:10px}.lightup-sky svg{width:100%;max-width:620px;height:auto;display:block;margin:0 auto}.lightup-sky g[role=button]:focus-visible{outline:none}.lightup-sky g[role=button]:focus-visible circle{stroke:var(--crimson);stroke-width:2.5}.lightup-say{display:flex;gap:12px;align-items:center}.lightup-say .bubble{position:relative;flex:1 1;margin:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 14px;font-size:14px;color:var(--ink-soft)}.lightup-say .bubble:before{content:"";position:absolute;left:-6px;top:15px;width:10px;height:10px;background:var(--surface-2);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.lightup-n{font-size:12.5px;color:var(--ink-faint);white-space:nowrap}@media (max-width:560px){.lightup-say .bubble:before{display:none}}.shake{animation:shake .45s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.closing{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.closing b{font-family:var(--serif);font-size:1.08rem;font-weight:700;display:block}.closing span{font-size:13.5px}