:root{--accent: #d65a82;--accent-soft: #e57399;--accent-2: #7d9b5e;--warm: #e0a05a;--plum: #2a1a20;--plum-2: #3a2630;--paper: #f7eee0;--paper-2: #fbf5ea;--card: #fffdf9;--ink: #2a1d20;--ink-soft: #7a6168;--ink-faint: #b6a098;--line: rgba(42, 29, 32, .12);--mincho: "Shippori Mincho", "Yu Mincho", serif;--maru: "Zen Maru Gothic", sans-serif;--body: "Plus Jakarta Sans", -apple-system, system-ui, sans-serif;--mono: "DM Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--paper);background-image:radial-gradient(rgba(42,29,32,.022) 1px,transparent 1.4px);background-size:9px 9px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}.wrap{max-width:1200px;margin:0 auto;padding:0 40px}@media (max-width: 640px){.wrap{padding:0 22px}}.rail{position:fixed;top:0;bottom:0;width:52px;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:none}.rail span{writing-mode:vertical-rl;font-family:var(--maru);font-size:12px;letter-spacing:.5em;color:var(--ink-faint)}.rail.left{left:0}.rail.right{right:0}.rail .tick{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.rail.left .tick{right:0}.rail.right .tick{left:0}@media (max-width: 1080px){.rail{display:none}}nav{position:sticky;top:0;z-index:100;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}nav.scrolled{background:color-mix(in oklab,var(--paper) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-inner{max-width:1200px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between}@media (max-width: 640px){.nav-inner{padding:16px 22px}}.brand{display:flex;align-items:center;gap:11px;font-family:var(--mincho);font-weight:700;font-size:23px;letter-spacing:.01em}.brand .logo{width:32px;height:32px;display:flex}.brand .logo svg{width:100%;height:100%}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a:not(.nav-cta){font-size:13px;font-weight:500;color:var(--ink-soft);letter-spacing:.02em;transition:color .15s;position:relative}.nav-links a:not(.nav-cta):hover{color:var(--ink)}.nav-cta{font-family:var(--maru);font-weight:600;font-size:13px;color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:2px;transition:color .15s}.nav-cta:hover{color:var(--accent)}@media (max-width: 720px){.nav-links a:not(.nav-cta){display:none}}.hero{position:relative;padding:70px 0 90px;overflow:hidden}.hero-watermark{position:absolute;top:-40px;right:-30px;z-index:0;font-family:var(--mincho);font-weight:800;font-size:30vw;line-height:.8;color:var(--accent);opacity:.05;pointer-events:none;-webkit-user-select:none;user-select:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}.hero-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:28px}.hero-eyebrow .ln{width:38px;height:1px;background:var(--accent);opacity:.5}.hero h1{font-family:var(--mincho);font-weight:700;font-size:clamp(44px,6.2vw,80px);line-height:1.02;letter-spacing:-.01em;margin-bottom:26px}.hero h1 em{font-style:normal;color:var(--accent);position:relative}.hero h1 .jp{font-family:var(--maru);font-weight:500;display:inline-block;font-size:.62em;color:var(--ink-soft)}.hero .lede{font-size:18px;color:var(--ink-soft);line-height:1.65;max-width:440px;margin-bottom:36px}.hero-cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.store-badge{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;border-radius:8px;background:var(--ink);color:var(--paper);transition:transform .18s,box-shadow .18s}.store-badge:hover{transform:translateY(-2px)}.store-badge .apple{display:inline-flex;align-items:center}.store-badge .apple svg{width:28px;height:28px;transform:translateY(-1px)}.store-badge .txt{display:flex;flex-direction:column;justify-content:center}.store-badge .txt small{font-size:11px;line-height:1;opacity:.72;letter-spacing:.03em;margin-bottom:4px}.store-badge .txt b{font-family:var(--maru);font-size:20px;line-height:1;font-weight:600;letter-spacing:.005em}.hero-meta{font-size:13px;color:var(--ink-soft)}.hero-meta .stars{color:var(--warm);letter-spacing:2px}.hero-meta b{color:var(--ink);font-weight:600}.hero-stage{position:relative;display:flex;justify-content:center}.phone-shell{position:relative;width:280px;aspect-ratio:2090 / 4347;filter:drop-shadow(0 45px 70px rgba(42,29,32,.38))}.phone-screenshot{position:absolute;z-index:1;left:4.354%;top:1.955%;width:91.722%;height:95.974%;object-fit:cover;border-radius:32px}.phone-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}@media (max-width: 860px){.hero-grid{grid-template-columns:1fr;gap:56px}.hero-watermark{font-size:56vw;top:auto;bottom:-10%}}.marquee{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);overflow:hidden;white-space:nowrap}.marquee-track{display:inline-flex;gap:0;animation:scroll-x 34s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes scroll-x{to{transform:translate(-50%)}}.mq-item{display:inline-flex;align-items:baseline;gap:12px;padding:0 28px;border-right:1px solid var(--line)}.mq-item .k{font-family:var(--maru);font-size:22px}.mq-item .r{font-family:var(--mono);font-size:12px;color:var(--ink-faint)}.mq-item .f{font-size:13px;color:var(--ink-soft)}.section{padding:110px 0;position:relative}.sec-mark{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.sec-mark .num{font-family:var(--mincho);font-weight:700;font-size:15px;color:var(--accent)}.sec-mark .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.sec-mark .ln{flex:1;height:1px;background:var(--line)}.sec-title{font-family:var(--mincho);font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.12;max-width:760px}.sec-intro{font-size:17px;color:var(--ink-soft);line-height:1.65;max-width:520px;margin-top:18px}.method-list{margin-top:56px;border-top:1px solid var(--line)}.method-row{display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--line);transition:padding-left .25s,background .25s}.method-row:hover{padding-left:22px;background:var(--paper-2)}.method-glyph{font-family:var(--maru);font-weight:700;font-size:46px;line-height:1;transform:rotate(-4deg)}.method-body h3{font-family:var(--mincho);font-weight:600;font-size:24px;margin-bottom:6px}.method-body p{font-size:15px;color:var(--ink-soft);line-height:1.6;max-width:560px}.method-idx{font-family:var(--mono);font-size:13px;color:var(--ink-faint)}@media (max-width: 640px){.method-row{grid-template-columns:60px 1fr;gap:18px;padding:24px 4px}.method-idx{display:none}.method-glyph{font-size:36px}}.manifesto{background:var(--plum);color:var(--paper);padding:130px 0;position:relative;overflow:hidden}.manifesto-bloom{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:680px;height:680px;opacity:.06;pointer-events:none}.manifesto-bloom svg{width:100%;height:100%}.manifesto .inner{position:relative;z-index:1;text-align:center;max-width:820px;margin:0 auto}.manifesto .jp-big{font-family:var(--maru);font-weight:500;font-size:28px;color:var(--accent-soft);letter-spacing:.2em;margin-bottom:28px}.manifesto blockquote{font-family:var(--mincho);font-weight:600;font-size:clamp(26px,3.6vw,42px);line-height:1.35;letter-spacing:-.01em}.manifesto blockquote em{font-style:normal;color:var(--accent-soft)}.manifesto .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.manifesto .principle{background:var(--plum);padding:34px 26px;text-align:left}.manifesto .principle .pk{font-family:var(--maru);font-size:30px;color:var(--accent-soft);margin-bottom:14px}.manifesto .principle h4{font-family:var(--mincho);font-weight:600;font-size:18px;margin-bottom:8px}.manifesto .principle p{font-size:13.5px;color:#f7eee09e;line-height:1.6}@media (max-width: 760px){.manifesto .principles{grid-template-columns:1fr}}.levels-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;margin-top:56px}@media (max-width: 860px){.levels-grid{grid-template-columns:1fr;gap:40px}}.levels-stack{display:flex;flex-direction:column}.level-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid var(--line)}.level-row:first-child{border-top:1px solid var(--line)}.level-row.locked{opacity:.5}.level-badge{width:52px;height:52px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--mincho);font-weight:700;font-size:18px;color:#fff;transform:rotate(-4deg);flex-shrink:0}.level-row .n{font-family:var(--mincho);font-weight:600;font-size:17px}.level-row .s{font-size:13px;color:var(--ink-soft);margin-top:2px}.level-row .bar{height:4px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:10px;max-width:260px}.level-row .bar .fl{height:100%;border-radius:99px}.level-row .pct{font-family:var(--mincho);font-weight:700;font-size:17px}.grammar{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grammar-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.grammar.flip .grammar-grid{direction:rtl}.grammar.flip .grammar-grid>*{direction:ltr}@media (max-width: 860px){.grammar-grid{grid-template-columns:1fr;gap:40px}.grammar.flip .grammar-grid{direction:ltr}}.gr-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:34px;box-shadow:0 30px 60px -30px #2a1d204d;position:relative}.gr-card .stamp{position:absolute;top:22px;right:22px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.gr-card .kicker{font-family:var(--maru);font-weight:700;font-size:42px;color:var(--accent)}.gr-card .title{font-family:var(--mincho);font-weight:600;font-size:19px;margin:4px 0 16px}.gr-card .pattern{display:inline-block;padding:7px 16px;border-radius:4px;background:var(--paper);border:1px solid var(--line);color:var(--accent);font-family:var(--maru);font-weight:600;font-size:14px;margin-bottom:22px}.gr-ex{padding:16px 0;border-top:1px solid var(--line)}.gr-ex .l1{font-family:var(--maru);font-size:19px;line-height:1.4}.gr-ex .l1 mark{background:none;color:var(--accent);font-weight:700;padding:0 1px;box-shadow:inset 0 -7px color-mix(in oklab,var(--accent) 16%,transparent)}.gr-ex .l2{font-family:var(--mono);font-size:12px;color:var(--ink-faint);margin-top:5px}.gr-ex .l3{font-size:14px;color:var(--ink-soft);margin-top:3px}.feat-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.feat-tag{font-family:var(--mono);font-size:12px;padding:7px 14px;border:1px solid var(--line);border-radius:99px;color:var(--ink-soft)}.pricing-head{text-align:center;max-width:600px;margin:0 auto}.pricing-head .sec-mark{justify-content:center}.pricing-head .sec-mark .ln{display:none}.pricing-head .sec-title{margin:0 auto}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:800px;margin:56px auto 0;border:1px solid var(--line);border-radius:8px;overflow:hidden}@media (max-width: 680px){.price-grid{grid-template-columns:1fr}}.price-card{padding:40px 36px;background:var(--card)}.price-card.free{border-right:1px solid var(--line)}.price-card.plus{background:var(--plum);color:var(--paper);position:relative}.price-card .tier{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px}.price-card.plus .tier{color:var(--accent-soft)}.price-card .amount{font-family:var(--mincho);font-weight:700;font-size:46px;line-height:1}.price-card .amount .u{font-size:15px;font-weight:500;color:var(--ink-soft)}.price-card.plus .amount .u{color:#f7eee099}.price-card .note{font-size:12px;color:var(--ink-soft);margin:8px 0 26px}.price-card.plus .note{color:#f7eee099}.plist{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:30px}.plist li{display:flex;gap:11px;font-size:14px;align-items:flex-start}.plist .t{font-family:var(--maru);flex-shrink:0;font-weight:700}.price-card.free .plist .t.y{color:var(--accent-2)}.price-card.free .plist .t.n,.price-card.free .plist li.off{color:var(--ink-faint)}.price-card.plus .plist .t.y{color:var(--accent-soft)}.pbtn{display:block;text-align:center;padding:15px;border-radius:4px;font-family:var(--maru);font-weight:600;font-size:15px;transition:transform .15s,opacity .15s}.pbtn:hover{transform:translateY(-1px)}.pbtn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.pbtn.solid{background:var(--accent);color:#fff}.price-card.plus .tag{position:absolute;top:36px;right:36px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);border:1px solid rgba(229,115,153,.4);padding:4px 9px;border-radius:99px}.final{padding:140px 0;text-align:center;position:relative;overflow:hidden}.final-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:520px;height:520px;opacity:.07;pointer-events:none}.final-watermark svg{width:100%;height:100%}.final .inner{position:relative;z-index:1}.final .jp{font-family:var(--maru);font-size:20px;color:var(--accent);letter-spacing:.18em;margin-bottom:22px}.final h2{font-family:var(--mincho);font-weight:700;font-size:clamp(34px,5vw,60px);line-height:1.08;margin-bottom:22px}.final p{font-size:17px;color:var(--ink-soft);max-width:440px;margin:0 auto 36px}footer{border-top:1px solid var(--line);padding:60px 0 44px}.foot-inner{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.foot-brand{max-width:280px}.foot-brand .brand{margin-bottom:14px}.foot-brand p{font-size:13px;color:var(--ink-soft);line-height:1.65}.foot-cols{display:flex;gap:64px;flex-wrap:wrap}.foot-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px}.foot-col a{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:11px;transition:color .15s}.foot-col a:hover{color:var(--accent)}.foot-bottom{margin-top:50px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-faint)}.foot-bottom .ja-mark{font-family:var(--maru)}
