@font-face{font-family: "Fraunces";src: url("/assets/fonts/fraunces.woff") format("woff");font-weight: 300 700;font-style: normal;font-display: swap}@font-face{font-family: "Shippori Mincho";src: url("/assets/fonts/shippori-mincho.woff") format("woff");font-weight: 400 600;font-display: swap}:root{--paper: #f6f1e7;--paper-2: #efe8da;--paper-3: #e6ddcb;--card: #fffcf5;--ink: #1d211d;--ink-2: #51564f;--ink-3: #777a70;--line: #ddd4c2;--line-2: #cbc1ad;--shu: #ad3420;--shu-ink: #9c2e1c;--shu-soft: rgba(173,52,32,.1);--shu-glow: rgba(173,52,32,.16);--pine: #1e2d25;--pine-2: #26382e;--pine-ink: #efe9dc;--pine-muted: #b7bfb1;--token: #f1ebdf;--green: #4a7a52;--shadow-soft: 0 1px 2px rgba(60,44,20,.05),0 12px 30px -18px rgba(60,44,20,.28);--shadow-lift: 0 2px 4px rgba(60,44,20,.06),0 30px 60px -30px rgba(60,44,20,.45);--shadow-phone: 0 50px 90px -40px rgba(56,36,16,.55),0 24px 50px -30px rgba(20,20,20,.4);--radius: 22px;--wrap: 1180px;--gutter: clamp(18px,4vw,40px);--sans: -apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif;--display: "Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--mincho: "Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP","Noto Serif CJK JP",serif;--mincho-sys: "Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP","Noto Serif CJK JP","Shippori Mincho",serif;--ja-sans: "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP","Noto Sans CJK JP",sans-serif;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");--paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");color-scheme: light dark}@media (prefers-color-scheme: dark){:root{--paper: #131613;--paper-2: #181c18;--paper-3: #1f241f;--card: #1f231f;--ink: #ede7da;--ink-2: #b7b6aa;--ink-3: #8e8e83;--line: #2d332d;--line-2: #3a413a;--shu: #e0715c;--shu-ink: #ec8a76;--shu-soft: rgba(224,113,92,.14);--shu-glow: rgba(224,113,92,.2);--pine: #0f1612;--pine-2: #16201a;--token: #272c27;--shadow-soft: 0 1px 2px rgba(0,0,0,.3),0 12px 30px -18px rgba(0,0,0,.7);--shadow-lift: 0 2px 4px rgba(0,0,0,.3),0 30px 60px -30px rgba(0,0,0,.8);--shadow-phone: 0 50px 90px -40px rgba(0,0,0,.8),0 24px 50px -30px rgba(0,0,0,.6);--grain: none}}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: 88px;overflow-x: clip}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}}body{margin: 0;background: var(--paper);background-image: var(--grain);color: var(--ink);font: 17px/1.65 var(--sans);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;overflow-x: clip;font-kerning: normal;text-rendering: optimizeLegibility}:lang(zh-Hant) body,body:lang(zh-Hant){font-family: -apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}:lang(zh-Hans) body,body:lang(zh-Hans){font-family: -apple-system,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif}body:lang(ko){font-family: -apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;word-break: keep-all}[lang="ja"]{font-family: var(--ja-sans)}img,video,svg{display: block;max-width: 100%}img,video{height: auto}a{color: inherit;text-decoration-thickness: 1px;text-underline-offset: .22em}a:hover{color: var(--shu)}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin: 0}ul,ol{padding: 0;list-style: none}button,input,select,textarea{font: inherit;color: inherit}:focus-visible{outline: 3px solid var(--shu);outline-offset: 4px;border-radius: 6px}::selection{background: var(--shu-glow)}.wrap{width: min(var(--wrap),100% - 2 * var(--gutter));margin-inline: auto}.visually-hidden{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.skip{position: fixed;left: 16px;top: -80px;z-index: 100;background: var(--card);color: var(--ink);padding: 10px 16px;border-radius: 10px;box-shadow: var(--shadow-soft)}.skip:focus{top: 12px}.eyebrow{display: inline-flex;align-items: center;gap: 10px;font-size: 12px;font-weight: 650;letter-spacing: .16em;text-transform: uppercase;color: var(--shu)}.eyebrow::before{content: "";width: 22px;height: 1.5px;background: currentColor;opacity: .8}.display,.h2,.h3{font-family: var(--display);font-weight: 420;color: var(--ink);font-optical-sizing: auto}.display{font-size: clamp(42px,7.4vw,96px);line-height: .98;letter-spacing: -.035em}.hero-title{display: grid;gap: 18px;font-weight: inherit}.hero-sub{font-family: var(--sans);font-size: clamp(17px,1.6vw,20px);font-weight: 600;line-height: 1.45;letter-spacing: 0;color: var(--ink);max-width: 520px}.counts{max-width: 760px}.counts th[scope="row"]{font-family: var(--display);font-size: 20px;font-weight: 450;letter-spacing: 0;text-transform: none;color: var(--ink);background: none;position: static}.counts th[scope="row"] a{text-decoration: none;color: var(--shu);margin-right: 8px}.counts td{font-variant-numeric: tabular-nums;font-size: 17px}.display em,.h2 em{font-style: italic;font-weight: 380;color: var(--shu)}.h2{font-size: clamp(34px,4.6vw,62px);line-height: 1.04;letter-spacing: -.03em}.h3{font-size: clamp(22px,2.2vw,28px);line-height: 1.2;letter-spacing: -.015em}.lead{font-size: clamp(18px,1.7vw,21px);line-height: 1.6;color: var(--ink-2)}.muted{color: var(--ink-2)}.small{font-size: 14px;line-height: 1.55;color: var(--ink-3)}:lang(zh-Hant) :is(.display,.h2,.h3){font-family: "Songti TC","Noto Serif TC","PMingLiU",serif;font-weight: 600;letter-spacing: 0}:lang(zh-Hans) :is(.display,.h2,.h3){font-family: "Songti SC","Noto Serif SC","SimSun",serif;font-weight: 600;letter-spacing: 0}:lang(ko) :is(.display,.h2,.h3){font-family: -apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-weight: 700;letter-spacing: -.04em}:lang(zh) .display,:lang(ko) .display{font-size: clamp(40px,6.2vw,80px);line-height: 1.12}:lang(zh) .h2,:lang(ko) .h2{font-size: clamp(30px,4vw,52px);line-height: 1.2}:lang(zh) :is(.display,.h2) em,:lang(ko) :is(.display,.h2) em{font-style: normal}:lang(vi) .display{font-size: clamp(42px,6.4vw,84px);line-height: 1.08}:lang(de) .display{font-size: clamp(42px,6.6vw,88px);hyphens: auto}.kanji-font{font-family: var(--mincho);font-weight: 400}.site-header{position: sticky;top: 0;z-index: 50;background: color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter: saturate(1.4) blur(14px);-webkit-backdrop-filter: saturate(1.4) blur(14px);border-bottom: 1px solid color-mix(in srgb,var(--line) 70%,transparent)}.header-inner{display: flex;align-items: center;gap: 22px;min-height: 72px}.brand{display: inline-flex;align-items: center;gap: 11px;text-decoration: none;font-family: var(--display);font-size: 25px;font-weight: 500;letter-spacing: -.01em}.brand img{width: 38px;height: 38px;border-radius: 10px;box-shadow: 0 1px 2px rgba(0,0,0,.12)}.brand:hover{color: inherit}.primary-nav{display: flex;gap: 4px;margin-left: auto}.primary-nav a{text-decoration: none;font-size: 15px;padding: 8px 12px;border-radius: 999px;color: var(--ink-2);white-space: nowrap;transition: background .2s,color .2s}.primary-nav a:hover,.primary-nav a[aria-current]{background: var(--paper-2);color: var(--ink)}.header-actions{display: flex;align-items: center;gap: 10px}.menu{position: relative}.menu>summary{list-style: none;cursor: pointer;display: inline-flex;align-items: center;gap: 7px;min-height: 40px;padding: 0 14px;border: 1px solid var(--line);border-radius: 999px;font-size: 14px;background: var(--card);user-select: none}.menu>summary::-webkit-details-marker{display: none}.menu>summary svg{width: 16px;height: 16px}.menu>summary .chev{width: 10px;height: 10px;transition: transform .2s}.menu[open]>summary .chev{transform: rotate(180deg)}.menu-panel{position: absolute;right: 0;top: calc(100% + 10px);min-width: 210px;background: var(--card);border: 1px solid var(--line);border-radius: 16px;padding: 8px;box-shadow: var(--shadow-lift);display: grid}.menu-panel a{text-decoration: none;padding: 10px 12px;border-radius: 10px;font-size: 15px}.menu-panel a:hover{background: var(--paper-2);color: var(--ink)}.menu-panel a[aria-current]{color: var(--shu);font-weight: 600}.nav-menu{display: none}.badge-link{display: inline-block;line-height: 0;border-radius: 9px;transition: transform .2s,box-shadow .2s}.badge-link:hover{transform: translateY(-1px)}.badge-link img{height: 40px;width: auto}.badge-link.large img{height: 54px}.badge-dark{display: none}@media (prefers-color-scheme: dark){.badge-light{display: none}.badge-dark{display: block}}.header-badge img{height: 38px}@media (max-width: 1200px){.header-inner{gap: 14px}.primary-nav{gap: 0}.primary-nav a{padding-inline: 9px;font-size: 14.5px}}@media (max-width: 1060px){html:lang(vi) .primary-nav,html:lang(de) .primary-nav{display: none}html:lang(vi) .nav-menu,html:lang(de) .nav-menu{display: block}html:lang(vi) .header-actions,html:lang(de) .header-actions{margin-left: auto}}@media (max-width: 980px){.primary-nav{display: none}.nav-menu{display: block}.header-actions{margin-left: auto}}@media (max-width: 520px){.header-inner{gap: 10px;min-height: 64px}.brand{font-size: 22px}.brand img{width: 34px;height: 34px}.header-badge{display: none}.menu>summary{padding: 0 11px}.lang-menu .lang-name{display: none}}.link-arrow{display: inline-flex;align-items: center;gap: 8px;font-weight: 600;font-size: 16px;text-decoration: none;color: var(--ink);padding: 12px 4px}.link-arrow span{transition: transform .2s}.link-arrow:hover span{transform: translateY(2px)}.link-arrow.right:hover span{transform: translateX(3px)}.button{display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-height: 48px;padding: 0 22px;border-radius: 999px;background: var(--ink);color: var(--paper);text-decoration: none;font-weight: 600;font-size: 15px;transition: transform .2s,background .2s}.button:hover{color: var(--paper);transform: translateY(-1px);background: var(--shu)}.button.ghost{background: transparent;color: var(--ink);border: 1px solid var(--line-2)}.button.ghost:hover{background: var(--card);color: var(--ink)}.section{padding-block: clamp(80px,11vw,150px);position: relative}.section.tight{padding-block: clamp(56px,7vw,96px)}.section-head{max-width: 760px;display: grid;gap: 18px;margin-bottom: clamp(40px,5vw,72px)}.section-head.center{margin-inline: auto;text-align: center;justify-items: center}.band{background: var(--paper-2)}.band-pine{background: var(--pine);color: var(--pine-ink);background-image: radial-gradient(1200px 500px at 85% -10%,rgba(173,52,32,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(120,160,120,.12),transparent 60%)}.band-pine :is(.h2,.h3,.display){color: var(--pine-ink)}.band-pine .lead,.band-pine .muted{color: var(--pine-muted)}.band-pine .eyebrow{color: #f09a84}.hero{position: relative;padding-top: clamp(32px,4.5vw,56px);padding-bottom: clamp(60px,8vw,110px);overflow: clip}.hero-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: clamp(30px,5vw,70px);align-items: center}.hero-copy{display: grid;gap: 26px;justify-items: start;position: relative;z-index: 2}.hero-copy .lead{max-width: 540px}.cta-row{display: flex;flex-wrap: wrap;align-items: center;gap: 14px 22px}.fineprint{font-size: 14px;color: var(--ink-3);max-width: 460px}.trust{display: flex;flex-wrap: wrap;gap: 8px}.trust li{display: inline-flex;align-items: center;gap: 7px;font-size: 13.5px;padding: 6px 12px 6px 9px;border-radius: 999px;background: var(--card);border: 1px solid var(--line);color: var(--ink-2)}.trust li::before{content: "";width: 16px;height: 16px;border-radius: 50%;background: var(--shu-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='%23ad3420' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}.hero-stage{position: relative;padding-block: 8px 24px;isolation: isolate;perspective: 1600px}.hero-ghost{position: absolute;z-index: -1;right: -18%;top: 50%;translate: 0 -54%;font-family: var(--mincho);font-size: clamp(420px,50vw,700px);line-height: 1;color: var(--shu);opacity: .1;pointer-events: none;user-select: none;transition: opacity .6s ease,scale 1s cubic-bezier(.2,.8,.2,1)}.hero-stage.swap .hero-ghost{opacity: 0;scale: .93}.phone-hero{width: min(57%,310px,calc((100svh - 210px) * .46));margin-left: 9%;rotate: -3deg}@media (prefers-reduced-motion: no-preference){.phone-hero{animation: settle 1.2s .1s cubic-bezier(.2,.8,.2,1) both}}@keyframes settle{from{translate: 0 40px;opacity: 0}}.live-card{--card-paper: #fffcf5;--card-ink: #1c1f1c;--card-line: #e6ddcb;--card-muted: #8b8678;--card-shu: #c2412b;--board: var(--card-paper);--board-ink: var(--card-ink);--board-ghost: #ece4d4;--board-line: #e2d9c7;--board-shu: var(--card-shu);--board-muted: var(--card-muted);position: absolute;z-index: 2;right: -3%;bottom: 6%;width: min(47%,262px);aspect-ratio: 3 / 4;rotate: 5deg;-webkit-tap-highlight-color: transparent}.live-card.js{cursor: pointer}@media (prefers-reduced-motion: no-preference){.live-card{animation: lc-float 7s ease-in-out infinite}}@keyframes lc-float{50%{translate: 0 -12px}}.lc-tilt{position: absolute;inset: 0;transition: transform .5s cubic-bezier(.2,.8,.2,1)}.lc-face{position: absolute;inset: 0;display: grid;grid-template: auto minmax(0,1fr) auto / minmax(0,1fr);padding: 18px 18px 16px;overflow: hidden;border-radius: 28px;background: var(--card-paper) var(--paper-grain);border: 1px solid var(--card-line);color: var(--card-ink);box-shadow: 0 2px 4px rgba(60,44,20,.08),0 40px 70px -30px rgba(60,44,20,.6),0 16px 30px -18px rgba(60,44,20,.4)}@media (prefers-color-scheme: dark){.lc-face{border-color: transparent;box-shadow: 0 46px 80px -36px rgba(0,0,0,.95),0 18px 36px -20px rgba(0,0,0,.7)}}.lc-head{grid-area: 1 / 1;display: flex;align-items: center;gap: 12px;padding-bottom: 10px;border-bottom: 1px solid var(--card-line);opacity: 0;visibility: hidden;transition: opacity .4s ease,visibility 0s .4s}.lc-head.on{opacity: 1;visibility: visible;transition: opacity .4s ease}.lc-k{font-family: var(--mincho);font-size: 38px;line-height: 1}.lc-m{min-width: 0;font-family: var(--display);font-size: 18px;line-height: 1.2;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.lc-m[lang="ja"]{font-family: var(--ja-sans);font-size: 15px;letter-spacing: .03em;color: var(--card-shu)}.lc-svg{grid-area: 2 / 1;width: 100%;height: 100%;min-height: 0;margin-top: 6px;transition: opacity .4s ease}.lc-face.swap .lc-svg{opacity: 0}.lc-dots{grid-area: 3 / 1;display: flex;justify-content: center;gap: 6px;min-height: 8px;padding-top: 4px;transition: opacity .4s ease}.lc-face.swap .lc-dots{opacity: 0}.lc-dots i{width: 7px;height: 7px;border-radius: 50%;background: var(--card-line);transition: background .3s,scale .3s}.lc-dots i.done{background: var(--card-shu)}.lc-dots i.now{background: var(--card-shu);scale: 1.4}.phone{position: relative;width: min(100%,330px);aspect-ratio: 1206 / 2622;padding: 11px;border-radius: 56px;background: linear-gradient(150deg,#3a3e3a,#121412 40%,#262926);box-shadow: var(--shadow-phone),inset 0 0 0 1.5px #4a4f4a,inset 0 0 0 5px #0b0c0b}.phone::after{content: "";position: absolute;inset: 0;border-radius: inherit;pointer-events: none;background: linear-gradient(115deg,rgba(255,255,255,.16),transparent 26%);mix-blend-mode: screen}.screen{position: relative;width: 100%;height: 100%;border-radius: 46px;overflow: hidden;background: #f5f1e8;transform: translateZ(0)}.screen :is(video,img){width: 100%;height: 100%;object-fit: cover}.screen .poster{position: absolute;inset: 0}.phone.sm{width: min(100%,280px);padding: 9px;border-radius: 48px}.phone.sm .screen{border-radius: 39px}@media (prefers-reduced-motion: reduce){.screen video{display: none}}@media (prefers-reduced-motion: no-preference){.screen video + picture{display: none}}.tag{position: absolute;z-index: 3;display: inline-flex;align-items: baseline;gap: 10px;padding: 11px 16px;background: var(--card);border: 1px solid var(--line);border-radius: 14px;box-shadow: var(--shadow-lift);font-size: 15px;white-space: nowrap}.tag small{font-size: 11px;font-weight: 700;letter-spacing: .12em;text-transform: uppercase;color: var(--shu)}.tag [lang="ja"]{font-family: var(--mincho);font-size: 21px}.tag-turn{top: 9%;left: -4%;rotate: -4deg;align-items: center;gap: 9px;font-weight: 600}.tag-turn svg{width: 18px;height: 18px;color: var(--shu)}.tag-stroke{right: -8%;top: -50px;rotate: 3deg}.tag-stroke .ts{font-family: var(--display);font-size: 17px;color: var(--ink-3);font-variant-numeric: tabular-nums}.tag-stroke .ts b{font-size: 23px;font-weight: 500;color: var(--shu)}@media (prefers-reduced-motion: no-preference){.tag{animation: float 7s ease-in-out infinite}.tag-turn{animation-delay: -2.3s}.tag-stroke{animation-delay: -4.6s}}@keyframes float{50%{translate: 0 -10px}}@media (max-width: 900px){.hero-grid{grid-template-columns: 1fr;gap: 22px}.hero-copy{display: contents}.hero-copy>*{order: 4}.hero-copy>.eyebrow{order: 0;justify-self: start}.hero-copy>.hero-title{order: 1}.hero-stage{order: 2;padding-block: 30px 14px}.hero-copy>.cta-row{order: 3}.hero-ghost{right: -6%;font-size: clamp(320px,92vw,520px)}.phone-hero{width: min(56%,280px);margin-left: 6%}.live-card{right: 0;width: min(46%,236px);bottom: 5%}.tag-turn{top: 6%;left: -2%}.tag-stroke{right: -3%}}@media (max-width: 520px){.tag{padding: 8px 12px;font-size: 13.5px}.tag [lang="ja"]{font-size: 18px}.lc-face{padding: 12px 12px 10px;border-radius: 22px}.lc-head{gap: 8px;padding-bottom: 7px}.lc-k{font-size: 28px}.lc-m{font-size: 14px}.lc-m[lang="ja"]{font-size: 12.5px}.lc-dots i{width: 6px;height: 6px}.tag-stroke{right: -2%;top: -42px}}.stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(150px,1fr));border-block: 1px solid var(--line)}.stat{padding: 28px 18px;display: flex;flex-direction: column-reverse;gap: 6px;text-align: center}.stat + .stat{border-left: 1px solid var(--line)}.stat dd{margin: 0;font-family: var(--display);font-weight: 400;font-size: clamp(34px,4vw,52px);letter-spacing: -.03em;line-height: 1;font-variant-numeric: lining-nums}.stat dt{font-size: 14px;color: var(--ink-2)}@media (max-width: 760px){.stats{grid-template-columns: repeat(2,1fr)}.stat + .stat{border-left: 0}.stat{border-bottom: 1px solid var(--line)}.stat:nth-child(even){border-left: 1px solid var(--line)}.stat:last-child{grid-column: 1 / -1;border-bottom: 0}}.try-grid{display: grid;grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);gap: clamp(36px,6vw,90px);align-items: center}.steps{counter-reset: step;display: grid;gap: 6px;margin-top: 8px}.steps li{counter-increment: step;display: grid;grid-template-columns: 44px 1fr;gap: 4px 14px;padding: 16px 0;border-top: 1px solid var(--line)}.steps li::before{content: counter(step);grid-row: span 2;width: 36px;height: 36px;border-radius: 50%;display: grid;place-items: center;font-family: var(--display);font-size: 18px;background: var(--card);border: 1px solid var(--line);color: var(--shu)}.steps b{font-size: 17px}.steps span{color: var(--ink-2);font-size: 15.5px}.deck{position: relative;width: min(100%,390px);margin-inline: auto;perspective: 1600px}.deck::before,.deck::after{content: "";position: absolute;inset: 0;border-radius: 30px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft)}.deck::before{transform: rotate(4deg) translate(10px,6px);opacity: .7}.deck::after{transform: rotate(-3deg) translate(-8px,10px);opacity: .5}.fc{position: relative;z-index: 1}.fc-toggle,.fc-pick,.fc-rate{position: absolute;opacity: 0;pointer-events: none;width: 1px;height: 1px}.fc-card{position: relative;height: 580px;transform-style: preserve-3d;transition: transform .8s cubic-bezier(.3,.7,.2,1)}.fc-toggle:checked ~ .fc-card{transform: rotateY(180deg)}@media (prefers-reduced-motion: reduce){.fc-card{transition: none;transform: none !important}.fc-face{transition: opacity .25s}.fc-back{transform: none !important;opacity: 0}.fc-toggle:checked ~ .fc-card .fc-back{opacity: 1}.fc-toggle:checked ~ .fc-card .fc-front{opacity: 0}}.fc-face{position: absolute;inset: 0;border-radius: 30px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-lift);backface-visibility: hidden;-webkit-backface-visibility: hidden;overflow: hidden}.fc-front{display: grid;place-items: center;cursor: pointer;transition: visibility 0s .4s}.fc-front .big{font-family: var(--mincho);font-size: clamp(150px,20vw,210px);line-height: 1;color: var(--ink);margin-top: -30px}.tap-hint{position: absolute;bottom: 30px;left: 50%;translate: -50% 0;display: inline-flex;align-items: center;gap: 10px;font-size: 14px;color: var(--ink-3);white-space: nowrap}.tap-dot{position: relative;width: 12px;height: 12px;border-radius: 50%;background: var(--shu)}.tap-dot::after{content: "";position: absolute;inset: -6px;border-radius: 50%;border: 2px solid var(--shu);opacity: 0}@media (prefers-reduced-motion: no-preference){.tap-dot::after{animation: ping 1.8s ease-out infinite}}@keyframes ping{0%{transform: scale(.5);opacity: .8}100%{transform: scale(2.2);opacity: 0}}.fc-back{transform: rotateY(180deg);visibility: hidden;transition: visibility 0s .4s;display: flex;flex-direction: column}.fc-toggle:checked ~ .fc-card .fc-back{visibility: visible;transition-delay: 0s}.fc-toggle:checked ~ .fc-card .fc-front{visibility: hidden}.fc-scroll{flex: 1;overflow: auto;padding: 22px 22px 10px;overscroll-behavior: contain;scrollbar-width: thin}.fc-head{display: flex;align-items: center;gap: 14px}.fc-head .k{font-family: var(--mincho);font-size: 46px;line-height: 1}.fc-head .m{font-size: 19px;font-weight: 550;line-height: 1.3;flex: 1}.fc-turn-back{flex: none;width: 40px;height: 40px;border-radius: 50%;display: grid;place-items: center;cursor: pointer;background: var(--token);color: var(--ink-2)}.fc-turn-back svg{width: 18px;height: 18px}.fc-turn-back:hover{color: var(--shu)}.fc-word{margin-top: 16px;min-height: 108px}.fc-w{display: none;grid-template-columns: 1fr auto;gap: 2px 12px}.fc-w .wk{font-family: var(--mincho);font-size: 34px;line-height: 1.25}.fc-w .wk .t{color: var(--shu)}.fc-w .wr{color: var(--shu);font-size: 15px}.fc-w .wm{color: var(--ink-3);font-size: 14px}.fc-w .wm b{color: var(--ink-2);font-weight: 500}.speak{grid-row: 1 / span 2;grid-column: 2;align-self: center;width: 40px;height: 40px;border-radius: 50%;border: 0;background: var(--shu-soft);color: var(--shu);display: grid;place-items: center;cursor: pointer}.speak svg{width: 18px;height: 18px}.speak[hidden]{display: none}.speak.playing{background: var(--shu);color: #fff}.fc-rule{height: 1px;background: var(--line);margin: 16px 0;border: 0}.fc-label{font-size: 13px;font-weight: 650;color: var(--shu);letter-spacing: .02em}.fc-readings{display: grid;grid-template-columns: auto 1fr;gap: 8px 12px;align-items: center;margin-top: 10px}.fc-readings .kind{font-size: 12px;color: var(--ink-3);font-weight: 600;min-width: 34px}.chips{display: flex;flex-wrap: wrap;gap: 6px}.chip{display: inline-flex;align-items: center;min-height: 38px;padding: 0 14px;border-radius: 999px;background: var(--token);font-family: var(--ja-sans);font-size: 15px;cursor: pointer;transition: background .2s,color .2s,transform .15s;user-select: none}.chip:hover{transform: translateY(-1px)}.chip:active{transform: scale(.96)}.fc-words{margin-top: 12px;display: grid}.fc-wordrow{display: grid;grid-template-columns: 1fr auto;align-items: center;gap: 10px;padding: 11px 0;border-top: 1px solid var(--line);cursor: pointer}.fc-wordrow .wl{display: grid}.fc-wordrow .wl b{font-family: var(--mincho);font-weight: 400;font-size: 20px}.fc-wordrow .wl span{font-size: 13px;color: var(--ink-3)}.radio{width: 20px;height: 20px;border-radius: 50%;border: 1.5px solid var(--line-2);display: grid;place-items: center;transition: background .2s,border-color .2s}.radio::after{content: "";width: 9px;height: 5px;border: 2px solid #fff;border-top: 0;border-right: 0;transform: rotate(-45deg) translate(1px,-1px);opacity: 0}.fc-example{display: none}.tokens{display: grid;grid-auto-flow: column;grid-template-rows: auto auto auto;justify-content: start;gap: 4px;margin-top: 12px;overflow-x: auto;padding-bottom: 4px}.tokens span{display: grid;place-items: center;min-width: 30px;padding: 4px 7px;border-radius: 7px;background: var(--token);font-size: 14px;white-space: nowrap}.tokens .jp{font-family: var(--mincho);font-size: 17px}.tokens .ro{font-size: 12px;color: var(--ink-3)}.tokens .t{background: var(--shu-soft);color: var(--shu)}.tokens .p{background: transparent;min-width: 0;padding: 4px 0}.translation{margin-top: 10px;color: var(--ink-2);font-size: 15px}.fc-ex-head{display: flex;align-items: center;justify-content: space-between;gap: 10px}.speak.pill{width: auto;height: 34px;padding: 0 14px;gap: 6px;border-radius: 999px;display: inline-flex;font-size: 13px;font-weight: 600;grid-row: auto;grid-column: auto}.fc-rating{border-top: 1px solid var(--line);padding: 12px 16px 16px;display: grid;gap: 8px;text-align: center;background: var(--card)}.fc-rating p{font-size: 12.5px;color: var(--ink-3)}.grades{display: grid;grid-template-columns: repeat(3,1fr);gap: 8px}.grades label{display: grid;place-items: center;min-height: 44px;border-radius: 13px;background: var(--token);font-size: 14.5px;font-weight: 550;cursor: pointer;transition: background .2s,transform .15s}.grades label:hover{transform: translateY(-1px)}.saved{display: none;align-items: center;justify-content: center;gap: 8px;min-height: 44px;font-size: 14.5px;font-weight: 600}.saved svg{width: 18px;height: 18px;color: var(--green)}.fc-rate:checked ~ .fc-card .grades,.fc-rate:checked ~ .fc-card .fc-rating p{display: none}.fc-rate:checked ~ .fc-card .saved{display: flex}@media (prefers-reduced-motion: no-preference){.fc-rate:checked ~ .fc-card .saved{animation: pop .35s cubic-bezier(.3,1.6,.5,1)}}@keyframes pop{from{transform: scale(.85);opacity: 0}}.fc-toggle:focus-visible ~ .fc-card .fc-front{outline: 3px solid var(--shu);outline-offset: 4px}.fc-toggle:focus-visible ~ .fc-card .fc-turn-back{outline: 3px solid var(--shu);outline-offset: 2px}.p1:checked ~ .fc-card :is(.w1,.e1),.p2:checked ~ .fc-card :is(.w2,.e2),.p3:checked ~ .fc-card :is(.w3,.e3),.p4:checked ~ .fc-card :is(.w4,.e4){display: grid}.p1:checked ~ .fc-card .c1,.p2:checked ~ .fc-card .c2,.p3:checked ~ .fc-card .c3,.p4:checked ~ .fc-card .c4{background: var(--shu-soft);color: var(--shu);font-weight: 650;box-shadow: inset 0 0 0 1px var(--shu-glow)}.p1:checked ~ .fc-card .r1 .radio,.p2:checked ~ .fc-card .r2 .radio,.p3:checked ~ .fc-card .r3 .radio,.p4:checked ~ .fc-card .r4 .radio{background: var(--shu);border-color: var(--shu)}.p1:checked ~ .fc-card .r1 .radio::after,.p2:checked ~ .fc-card .r2 .radio::after,.p3:checked ~ .fc-card .r3 .radio::after,.p4:checked ~ .fc-card .r4 .radio::after{opacity: 1}.p1:focus-visible ~ .fc-card :is(.c1,.r1),.p2:focus-visible ~ .fc-card :is(.c2,.r2),.p3:focus-visible ~ .fc-card :is(.c3,.r3),.p4:focus-visible ~ .fc-card :is(.c4,.r4){outline: 3px solid var(--shu);outline-offset: 2px}.p1:checked ~ .fc-card :is(.w1,.e1),.p2:checked ~ .fc-card :is(.w2,.e2),.p3:checked ~ .fc-card :is(.w3,.e3),.p4:checked ~ .fc-card :is(.w4,.e4){animation: fade-in .35s ease both}@media (prefers-reduced-motion: reduce){.fc-card :is(.fc-w,.fc-example){animation: none !important}}@keyframes fade-in{from{opacity: 0;transform: translateY(4px)}}.try-note{margin-top: 26px;text-align: center;font-size: 13.5px;color: var(--ink-3)}@media (max-width: 900px){.try-grid{grid-template-columns: 1fr}}@media (max-width: 420px){.deck{width: 92%}.fc-card{height: 560px}.fc-scroll{padding: 18px 16px 8px}.fc-w .wk{font-size: 30px}}.band-ink{--board: #fbf8f0;--board-ink: #1c1f1c;--board-ghost: #ebe3d3;--board-line: #ddd3c0;--board-shu: #c2412b;--board-muted: #8b8678;background-color: #121411;color: #efe9dc;overflow: clip;background-image: radial-gradient(900px 560px at 92% 8%,rgba(194,65,43,.26),transparent 62%),radial-gradient(760px 520px at -6% 100%,rgba(235,222,196,.07),transparent 62%)}@media (prefers-color-scheme: dark){.band-ink{background-color: #0b0d0b}}.band-ink .h2{color: #f4eee2}.band-ink .h2 em{color: #f0907a}.band-ink .lead{color: #bcb7aa}.band-ink .eyebrow{color: #f09a84}.stroke-grid{display: grid;grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);gap: clamp(40px,6vw,96px);align-items: center}.stroke-copy{display: grid;gap: 22px;align-content: center;max-width: 520px}.stroke-picks{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 8px}.stroke-pick{width: 60px;height: 60px;display: grid;place-items: center;padding: 0;border-radius: 18px;border: 1px solid rgba(255,255,255,.13);background: rgba(255,255,255,.04);color: #efe9dc;font-family: var(--mincho);font-size: 31px;line-height: 1;cursor: pointer;transition: transform .2s,background .2s,border-color .2s,color .2s,box-shadow .2s}.stroke-pick span{font-family: inherit;margin-top: -2px}.stroke-pick:hover{transform: translateY(-2px);border-color: rgba(240,154,132,.55);background: rgba(255,255,255,.08)}.stroke-pick[aria-pressed="true"]{background: var(--board);color: var(--board-ink);border-color: transparent;box-shadow: 0 0 0 2px #f09a84,0 16px 30px -14px rgba(0,0,0,.7)}.stroke-credit{font-size: 13px;line-height: 1.5;color: #8e8a7f}.stroke-credit a{color: #c8c2b5}.stroke-credit a:hover{color: #f09a84}.stroke-picks[hidden],.stroke-bar[hidden],.stroke-steps[hidden]{display: none}.stroke-stage{position: relative;display: grid;justify-items: center;gap: 22px;isolation: isolate}.stroke-ghost{position: absolute;z-index: -1;top: 44%;left: 50%;translate: -50% -50%;font-family: var(--mincho);font-size: clamp(320px,44vw,580px);line-height: 1;color: #f09a84;opacity: .055;pointer-events: none;user-select: none}.stroke-board{position: relative;width: min(100%,500px);margin: 0;padding: clamp(16px,2.4vw,24px);border-radius: 30px;color: var(--board-ink);background: var(--board) var(--paper-grain);box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 60px 100px -50px rgba(0,0,0,.9),0 24px 50px -30px rgba(0,0,0,.65)}.stroke-board::after{content: "";position: absolute;inset: 7px;border-radius: 24px;border: 1px solid rgba(60,44,20,.06);pointer-events: none}.stroke-head{padding: 2px 4px 14px;border-bottom: 1px solid var(--board-line)}.sh{display: flex;align-items: center;gap: 14px}.sh[hidden]{display: none}.sh-char{font-family: var(--mincho);font-size: 36px;line-height: 1;color: var(--board-ink)}.sh-info{display: grid;flex: 1;min-width: 0}.sh-read{font-family: var(--ja-sans);font-size: 15px;line-height: 1.4;color: var(--board-shu);letter-spacing: .03em}.sh-mean{font-size: 14px;line-height: 1.4;color: var(--board-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.sh-count{font-size: 12px;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;color: var(--board-muted);white-space: nowrap}.stroke-svg{width: 100%;height: auto;aspect-ratio: 1;margin-top: 8px;overflow: visible}.stroke-svg .grid{fill: none;stroke: var(--board-line);stroke-width: 1px;stroke-dasharray: 5 6;vector-effect: non-scaling-stroke}.glyph{display: none}.glyph.on{display: inline}.glyph path{fill: none;stroke-width: 3.8;stroke-linecap: round;stroke-linejoin: round}.glyph .ghost path{stroke: var(--board-ghost)}.glyph .ink path{stroke: var(--board-ink);transition: stroke .6s ease}.glyph .ink path.now{stroke: var(--board-shu);transition: none}.glyph .ink path.wait{visibility: hidden}.glyph .nums text{font: 600 6px var(--sans);fill: var(--board-muted);paint-order: stroke;stroke: var(--board);stroke-width: 1.8px;stroke-linejoin: round;transition: opacity .35s,fill .35s}.js-strokes .nums text{opacity: 0}.js-strokes .nums text.shown{opacity: 1}.js-strokes .nums text.now{fill: var(--board-shu)}.tip{opacity: 0;transition: opacity .25s;pointer-events: none}.tip.on{opacity: 1}.tip-glow{fill: var(--board-shu);opacity: .18}.tip-dot{fill: var(--board-shu)}.stroke-bar{display: flex;align-items: center;gap: 12px}.stroke-btn{width: 46px;height: 46px;display: grid;place-items: center;padding: 0;border-radius: 50%;border: 1px solid rgba(255,255,255,.14);background: rgba(255,255,255,.05);color: #efe9dc;cursor: pointer;transition: transform .15s,background .2s,border-color .2s}.stroke-btn:hover{background: rgba(255,255,255,.1);border-color: rgba(240,154,132,.5)}.stroke-btn:active{transform: scale(.94)}.stroke-btn svg{width: 20px;height: 20px}.stroke-play{width: 58px;height: 58px;background: #c2412b;border-color: transparent;color: #fff;box-shadow: 0 14px 28px -14px rgba(194,65,43,.9)}.stroke-play:hover{background: #d24a33;border-color: transparent}.stroke-play svg{width: 24px;height: 24px;margin-left: 2px}.stroke-status{min-width: 10.5em;margin-left: 6px;font-size: 14.5px;color: #bcb7aa;font-variant-numeric: tabular-nums}.stroke-steps{display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;max-width: 500px}.stroke-steps button{width: 54px;height: 54px;padding: 5px;border: 0;border-radius: 13px;background: rgba(255,255,255,.04);box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);cursor: pointer;transition: background .3s,transform .25s,box-shadow .25s}.stroke-steps button:hover{background: rgba(255,255,255,.09)}.stroke-steps button:is(.done,[aria-current="step"]){background: var(--board);box-shadow: none}.stroke-steps button[aria-current="step"]{transform: translateY(-3px);box-shadow: 0 0 0 2px #f09a84,0 10px 20px -10px rgba(0,0,0,.7)}.stroke-steps svg{width: 100%;height: 100%}.stroke-steps path{fill: none;stroke-width: 6.5;stroke-linecap: round;stroke-linejoin: round;transition: stroke .3s}.stroke-steps .g{stroke: rgba(239,233,220,.12)}.stroke-steps .i{stroke: rgba(239,233,220,.55)}.stroke-steps .n{stroke: #f09a84}.stroke-steps :is(.done,[aria-current="step"]) .g{stroke: var(--board-ghost)}.stroke-steps :is(.done,[aria-current="step"]) .i{stroke: var(--board-ink)}.stroke-steps :is(.done,[aria-current="step"]) .n{stroke: var(--board-shu)}@media (max-width: 900px){.stroke-grid{grid-template-columns: 1fr}.stroke-copy{max-width: none}}@media (max-width: 520px){.stroke-picks{display: grid;grid-template-columns: repeat(6,minmax(0,1fr));gap: 7px;max-width: 360px}.stroke-picks[hidden]{display: none}.stroke-pick{width: auto;height: auto;aspect-ratio: 1;font-size: 26px;border-radius: 14px}.stroke-steps button{width: 46px;height: 46px;padding: 4px}.stroke-status{min-width: 0;font-size: 13.5px}.sh-char{font-size: 30px}}.features{display: grid;gap: clamp(90px,12vw,160px)}.feature{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: clamp(36px,7vw,110px);align-items: center}.feature:nth-child(even) .feature-media{order: -1}.feature-copy{display: grid;gap: 20px;align-content: center;max-width: 520px}.points{display: grid;gap: 12px;margin-top: 6px}.points li{display: grid;grid-template-columns: 22px 1fr;gap: 12px;color: var(--ink-2);font-size: 16px}.points li::before{content: "";width: 22px;height: 22px;margin-top: 2px;border-radius: 50%;background: var(--shu-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.3l3 3 6-6.6' fill='none' stroke='%23ad3420' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}.feature-links{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 6px}.feature-media{position: relative;display: grid;place-items: center;min-height: 560px;isolation: isolate}.feature-media::before{content: "";position: absolute;inset: 8% 4%;border-radius: 42% 58% 55% 45% / 50% 44% 56% 50%;background: var(--paper-3);z-index: -1;opacity: .75}.band .feature-media::before{background: var(--paper)}.feature-media .glyph-bg{position: absolute;z-index: -1;font-family: var(--mincho);font-size: clamp(260px,32vw,420px);line-height: 1;color: var(--shu);opacity: .07;user-select: none}.duo{display: grid;grid-template-columns: 1fr 1fr;gap: 0;width: min(100%,540px);align-items: center}.duo .phone{width: 100%}.duo .phone:first-child{transform: rotate(-4deg) translateX(12%);z-index: 1}.duo .phone:last-child{transform: rotate(4deg) translate(-12%,36px)}.sparrow{position: absolute;width: 190px;right: -2%;bottom: 2%;z-index: 3;filter: drop-shadow(0 18px 24px rgba(60,40,20,.25))}@media (prefers-reduced-motion: no-preference){.sparrow{animation: hop 4.8s ease-in-out infinite;transform-origin: 50% 90%}}@keyframes hop{0%,70%,100%{transform: translateY(0) rotate(0)}76%{transform: translateY(-14px) rotate(-3deg)}82%{transform: translateY(0) rotate(0)}86%{transform: translateY(-6px) rotate(2deg)}90%{transform: translateY(0)}}@media (max-width: 900px){.feature{grid-template-columns: 1fr}.feature:nth-child(even) .feature-media{order: 0}.feature-media{min-height: 0;padding-block: 20px}.sparrow{width: 140px;right: 0}}.path{display: grid;grid-template-columns: repeat(5,1fr);gap: 14px;position: relative}.path::before{content: "";position: absolute;left: 6%;right: 6%;top: 50px;height: 2px;background: linear-gradient(90deg,rgba(240,154,132,.2),rgba(240,154,132,.8))}.stop{position: relative;display: grid;gap: 12px;padding: 22px 18px 24px;border-radius: 22px;background: rgba(255,255,255,.04);border: 1px solid rgba(255,255,255,.09);text-decoration: none;color: var(--pine-ink);transition: background .25s,transform .25s,border-color .25s}.stop:hover{background: rgba(255,255,255,.08);border-color: rgba(240,154,132,.5);transform: translateY(-4px);color: var(--pine-ink)}.stop .lv{width: 58px;height: 58px;border-radius: 50%;display: grid;place-items: center;font-family: var(--display);font-size: 22px;background: var(--pine-2);border: 2px solid rgba(240,154,132,.7);position: relative;z-index: 1}.stop:last-child .lv{background: #b0351f;border-color: #f09a84}.stop .name{font-size: 14px;color: var(--pine-muted)}.stop .num{font-family: var(--display);font-size: 34px;line-height: 1;letter-spacing: -.02em}.stop .num small{font-family: var(--sans);font-size: 13px;color: var(--pine-muted);letter-spacing: 0;margin-left: 2px}.stop .sample{font-family: var(--mincho-sys);font-size: 22px;letter-spacing: .12em;color: #f3c8bb}.stop .go{font-size: 13.5px;font-weight: 600;color: #f09a84}@media (max-width: 980px){.path{grid-template-columns: repeat(2,1fr)}.path::before{display: none}.stop:last-child{grid-column: 1 / -1}}@media (max-width: 460px){.path{grid-template-columns: 1fr}}.trio{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}.tile{padding: 30px 28px;border-radius: var(--radius);background: var(--card);border: 1px solid var(--line);display: grid;gap: 12px;align-content: start;box-shadow: var(--shadow-soft)}.tile .icon{width: 46px;height: 46px;border-radius: 14px;display: grid;place-items: center;background: var(--shu-soft);color: var(--shu)}.tile .icon svg{width: 24px;height: 24px}.tile p{color: var(--ink-2);font-size: 15.5px}@media (max-width: 820px){.trio{grid-template-columns: 1fr}}.plans{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px;align-items: stretch}.plan{position: relative;display: grid;gap: 14px;align-content: start;padding: 32px 30px;border-radius: 26px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft)}.plan.featured{border: 2px solid var(--shu);box-shadow: 0 30px 60px -34px var(--shu-glow),var(--shadow-soft)}.plan .flag{position: absolute;top: -13px;left: 28px;background: var(--shu);color: #fff;font-size: 12px;font-weight: 700;letter-spacing: .06em;padding: 4px 12px;border-radius: 999px}.plan h3{font-size: 15px;font-weight: 650;color: var(--ink-2);letter-spacing: .02em}.price{font-family: var(--display);font-size: 52px;line-height: 1;letter-spacing: -.03em}.price small{font-family: var(--sans);font-size: 15px;color: var(--ink-3);letter-spacing: 0}.plan ul{display: grid;gap: 9px;border-top: 1px solid var(--line);padding-top: 16px;margin-top: 4px}.plan li{display: grid;grid-template-columns: 18px 1fr;gap: 10px;font-size: 15px;color: var(--ink-2)}.plan li::before{content: "";width: 18px;height: 18px;margin-top: 3px;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9.3l3 3 7-7.3' fill='none' stroke='%23ad3420' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}.price-note{margin-top: 26px;font-size: 13.5px;color: var(--ink-3);max-width: 860px}@media (max-width: 900px){.plans{grid-template-columns: 1fr;max-width: 520px}}.faq-grid{display: grid;grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);gap: clamp(30px,6vw,90px);align-items: start}.faq-grid .section-head{position: sticky;top: 110px;margin: 0}.faq details{border-top: 1px solid var(--line)}.faq details:last-child{border-bottom: 1px solid var(--line)}.faq summary{list-style: none;cursor: pointer;display: flex;justify-content: space-between;gap: 20px;padding: 22px 2px;font-size: 18px;font-weight: 600;line-height: 1.4}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "";flex: none;width: 28px;height: 28px;border-radius: 50%;margin-top: -2px;background: var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 8v12M8 14h12' stroke='%23ad3420' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/28px no-repeat;transition: transform .25s}.faq details[open] summary::after{transform: rotate(45deg)}.faq .answer{padding: 0 44px 24px 2px;color: var(--ink-2);display: grid;gap: 12px}@media (max-width: 900px){.faq-grid{grid-template-columns: 1fr}.faq-grid .section-head{position: static}}.final{text-align: center;display: grid;justify-items: center;gap: 22px;padding: clamp(60px,9vw,120px) 24px;border-radius: 40px;background: var(--card);border: 1px solid var(--line);position: relative;overflow: hidden;box-shadow: var(--shadow-soft)}.final .seal{width: 150px}.final .ghost-kanji{position: absolute;font-family: var(--mincho);font-size: 520px;line-height: 1;color: var(--shu);opacity: .05;left: -60px;bottom: -150px;pointer-events: none;user-select: none}.final .ghost-kanji.r{left: auto;right: -80px;top: -140px;bottom: auto}.final>:not(.ghost-kanji){position: relative}.page-hero{padding-top: clamp(40px,6vw,80px);padding-bottom: clamp(40px,5vw,64px)}.page-hero-grid{display: grid;grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);gap: 50px;align-items: end}.page-hero .display{font-size: clamp(44px,6.4vw,84px)}.page-hero .lead{max-width: 640px;margin-top: 22px}.page-hero .stats{margin-top: 40px}.breadcrumb{display: flex;flex-wrap: wrap;gap: 8px;font-size: 14px;color: var(--ink-3);margin-bottom: 24px}.breadcrumb a{text-decoration: none}.breadcrumb li + li::before{content: "/";margin-right: 8px;opacity: .6}.hero-glyphs{font-family: var(--mincho);font-size: clamp(64px,8.6vw,136px);line-height: 1;color: var(--shu);opacity: .9;text-align: right;letter-spacing: -.02em;white-space: nowrap}.hero-glyphs span{display: inline-block}@media (prefers-reduced-motion: no-preference){.hero-glyphs span{animation: rise .8s cubic-bezier(.2,.8,.2,1) both}.hero-glyphs span:nth-child(2){animation-delay: .12s}.hero-glyphs span:nth-child(3){animation-delay: .24s}}@keyframes rise{from{opacity: 0;transform: translateY(30px)}}@media (max-width: 760px){.page-hero-grid{grid-template-columns: 1fr}.hero-glyphs{text-align: left}}.toc{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 30px}.toc a{text-decoration: none;font-size: 14px;padding: 8px 14px;border-radius: 999px;border: 1px solid var(--line);background: var(--card)}.toc a:hover{border-color: var(--shu)}.content-section{padding-block: clamp(46px,6vw,80px);border-top: 1px solid var(--line)}.content-section .section-head{margin-bottom: 34px}.prose{max-width: 720px;display: grid;gap: 16px;color: var(--ink-2);font-size: 17px}.prose strong{color: var(--ink)}.kana-grid{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 10px;max-width: 800px}.kana-grid.cols-3{grid-template-columns: repeat(3,minmax(0,1fr));max-width: 620px}.kana-grid.cols-4{grid-template-columns: repeat(4,minmax(0,1fr));max-width: 740px}.kana-cell{position: relative;display: grid;justify-items: center;align-content: center;gap: 6px;aspect-ratio: 1 / .82;border-radius: 18px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft);transition: transform .2s,border-color .2s,box-shadow .2s}.kana-cell:hover{transform: translateY(-3px);border-color: var(--shu);box-shadow: var(--shadow-lift)}.kana-cell .ch{font-family: var(--mincho);font-size: clamp(34px,5.4vw,58px);line-height: 1}.kana-cell .ro{font-size: 14px;font-weight: 600;color: var(--shu);letter-spacing: .04em}.kana-cell.empty{background: transparent;border-style: dashed;box-shadow: none;opacity: .5}.kana-cell.empty:hover{transform: none;border-color: var(--line)}.kana-grid.compact .kana-cell{aspect-ratio: auto;padding: 14px 6px}.kana-grid.compact .kana-cell .ch{font-size: clamp(26px,4vw,40px)}.row-label{font-size: 12px;color: var(--ink-3)}@media (max-width: 520px){.kana-grid{gap: 6px}.kana-cell{border-radius: 13px}.kana-cell .ro{font-size: 12px}}.table-wrap{overflow-x: auto;border: 1px solid var(--line);border-radius: 18px;background: var(--card);box-shadow: var(--shadow-soft)}table{width: 100%;border-collapse: collapse;font-size: 15.5px}th,td{text-align: left;padding: 13px 16px;border-bottom: 1px solid var(--line);vertical-align: top}th{font-size: 12.5px;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;color: var(--ink-3);background: var(--paper-2);position: sticky;top: 0}tr:last-child td{border-bottom: 0}td .ch{font-family: var(--mincho);font-size: 30px;line-height: 1.1}td .jp{font-family: var(--mincho-sys);font-size: 18px}.level-cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(210px,1fr));gap: 16px}.level-card{display: grid;gap: 10px;padding: 26px 24px;border-radius: 22px;background: var(--card);border: 1px solid var(--line);text-decoration: none;box-shadow: var(--shadow-soft);transition: transform .2s,border-color .2s}.level-card:hover{transform: translateY(-4px);border-color: var(--shu);color: inherit}.level-card .lv{font-family: var(--display);font-size: 44px;line-height: 1;color: var(--shu)}.level-card .sample{font-family: var(--mincho-sys);font-size: 26px;letter-spacing: .12em}.level-card .meta{font-size: 14px;color: var(--ink-3)}.chapter{padding-block: 34px 10px;content-visibility: auto;contain-intrinsic-size: auto 900px}.chapter-head{display: flex;align-items: baseline;justify-content: space-between;gap: 16px;margin-bottom: 16px;border-bottom: 1px solid var(--line);padding-bottom: 10px}.chapter-head h2{font-family: var(--display);font-weight: 420;font-size: 26px;letter-spacing: -.01em}.chapter-head span{font-size: 13.5px;color: var(--ink-3)}.kanji-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(190px,1fr));gap: 12px}.kanji-tile{display: grid;grid-template-columns: auto 1fr;gap: 4px 16px;padding: 18px 18px 16px;border-radius: 18px;background: var(--card);border: 1px solid var(--line);scroll-margin-top: 100px}.kanji-tile:target{border-color: var(--shu);box-shadow: 0 0 0 4px var(--shu-soft)}.kanji-tile .k{grid-row: span 3;font-family: var(--mincho-sys);font-size: 52px;line-height: 1;padding-top: 4px}.kanji-tile .m{font-weight: 600;font-size: 15.5px;line-height: 1.35}.kanji-tile .r{font-size: 13.5px;color: var(--ink-2);line-height: 1.5}.kanji-tile .r i{font-style: normal;font-size: 11px;font-weight: 700;color: var(--shu);letter-spacing: .06em;text-transform: uppercase;margin-right: 6px}.kanji-tile .r [lang="ja"]{font-family: var(--ja-sans)}.chapter-nav{display: flex;flex-wrap: wrap;gap: 6px;margin-top: 18px}.chapter-nav a{min-width: 40px;text-align: center;text-decoration: none;font-size: 13px;padding: 6px 10px;border-radius: 10px;border: 1px solid var(--line);background: var(--card)}.chapter-nav a:hover{border-color: var(--shu)}.legend{display: flex;flex-wrap: wrap;gap: 10px 22px;font-size: 14px;color: var(--ink-2);margin-top: 18px}.legend i{font-style: normal;font-size: 11px;font-weight: 700;color: var(--shu);letter-spacing: .06em;text-transform: uppercase;margin-right: 6px}.cta-card{display: grid;grid-template-columns: auto 1fr auto;gap: 26px;align-items: center;padding: 30px;border-radius: 28px;background: var(--pine);color: var(--pine-ink);margin-block: 30px}.cta-card img.icon{width: 76px;height: 76px;border-radius: 18px}.cta-card .h3{color: var(--pine-ink)}.cta-card p{color: var(--pine-muted);font-size: 15.5px;margin-top: 6px}@media (max-width: 720px){.cta-card{grid-template-columns: 1fr;text-align: left}}.reading-cards{display: grid;grid-template-columns: 1fr 1fr;gap: 18px}.reading-card{position: relative;overflow: hidden;display: grid;gap: 12px;align-content: start;padding: 34px 32px 38px;border-radius: 26px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft)}.reading-card .glyph{position: absolute;right: -6px;bottom: -46px;font-family: var(--mincho);font-size: 210px;line-height: 1;color: var(--shu);opacity: .08;pointer-events: none}.reading-card p{position: relative;color: var(--ink-2)}.reading-card .example{font-weight: 650;color: var(--shu);font-size: 16px}.points.wide{max-width: 880px;gap: 18px}.points.wide li{font-size: 17px}.points strong{color: var(--ink)}.readings-table th[scope="row"]{display: flex;align-items: baseline;gap: 12px;background: none;position: static;text-transform: none;letter-spacing: 0;font-size: 14px;font-weight: 500;color: var(--ink-2)}.readings-table .ch{font-family: var(--mincho);font-size: 34px;line-height: 1.1;color: var(--ink)}.readings-table td{min-width: 220px}.chip-static{display: inline-flex;align-items: center;min-height: 28px;padding: 0 11px;margin-right: 4px;border-radius: 999px;background: var(--token);font-family: var(--ja-sans);font-size: 14px}.chip-static.on{background: var(--shu-soft);color: var(--shu)}.kanji-tile.special .k{font-size: 36px;padding-top: 8px}.guide-link{margin-top: 22px}@media (max-width: 760px){.reading-cards{grid-template-columns: 1fr}}.stroke-tile{--board: var(--card);--board-ink: var(--ink);--board-ghost: #ebe3d3;--board-line: var(--line);--board-shu: var(--shu);--board-muted: var(--ink-3);position: relative;margin: 0;display: grid;gap: 6px;align-content: start;padding: 10px 10px 9px;border-radius: 18px;background: var(--board);border: 1px solid var(--line);box-shadow: var(--shadow-soft);color: var(--board-ink);transition: border-color .2s,transform .2s,box-shadow .2s}@media (prefers-color-scheme: dark){.stroke-tile{--board-ghost: #343b34}}.stroke-tile:not(.empty):hover{border-color: var(--shu);transform: translateY(-2px);box-shadow: var(--shadow-lift)}.stroke-tile.empty{background: transparent;border-style: dashed;box-shadow: none;opacity: .5}.st-svg{width: 100%;height: auto;aspect-ratio: 1;overflow: visible}.st-svg .grid{fill: none;stroke: var(--board-line);stroke-width: 1px;stroke-dasharray: 4 5;vector-effect: non-scaling-stroke}.stroke-tile .nums text{font-size: 7.5px}.stroke-chart .stroke-tile .nums text{font-size: 9px}.stroke-tile figcaption{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: center;gap: 0 8px;font-size: 13px;line-height: 1.35;color: var(--board-muted);text-align: center}.stroke-tile figcaption .ch{font-family: var(--mincho);font-size: 18px;color: var(--board-ink)}.stroke-tile figcaption .ro{font-weight: 650;color: var(--board-shu);letter-spacing: .04em}.st-play{position: absolute;inset: 0;z-index: 1;display: grid;place-items: start end;padding: 9px;border: 0;border-radius: inherit;background: none;color: var(--board-muted);cursor: pointer;-webkit-tap-highlight-color: transparent}.st-play[hidden]{display: none}.st-play svg{width: 16px;height: 16px;opacity: 0;transition: opacity .2s}.stroke-tile:hover .st-play svg,.st-play:focus-visible svg{opacity: .85}@media (hover: none){.st-play svg{opacity: .5}}.stroke-tile.playing .st-play svg{opacity: 0}.st-play:focus-visible{outline: 2px solid var(--shu);outline-offset: 2px}.stroke-chart{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 12px;max-width: 860px}@media (max-width: 640px){.stroke-chart{grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px}.stroke-chart .stroke-tile.empty{display: none}.stroke-chart .stroke-tile{padding: 8px 8px 7px;border-radius: 15px}.stroke-chart .stroke-tile .nums text{font-size: 11px}.stroke-chart figcaption{font-size: 12px;gap: 0 6px}}.stroke-more{margin-top: 26px;font-weight: 600}.stroke-more a{color: var(--shu);text-decoration: none}.stroke-more a:hover{text-decoration: underline;text-underline-offset: .2em}.stroke-note{margin-top: 14px;font-size: 13px;color: var(--ink-3)}.stroke-note a{color: inherit}.stroke-guide .button{padding-inline: 20px}.band-ink .button.ghost{color: #efe9dc;border-color: rgba(255,255,255,.22)}.band-ink .button.ghost:hover{background: rgba(255,255,255,.08);color: #fff;border-color: rgba(240,154,132,.55)}.sg-hero{align-items: center}.stroke-tile.sheet{--board: #fbf8f0;--board-ink: #1c1f1c;--board-ghost: #ebe3d3;--board-line: #ddd3c0;--board-shu: #c2412b;--board-muted: #8b8678;width: min(100%,340px);justify-self: end;padding: 18px 18px 14px;border: 0;border-radius: 30px;rotate: 2deg;background: var(--board) var(--paper-grain);box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 40px 80px -40px rgba(60,44,20,.55),0 18px 36px -24px rgba(60,44,20,.4)}.stroke-tile.sheet:hover{transform: none;box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 40px 80px -40px rgba(60,44,20,.55),0 18px 36px -24px rgba(60,44,20,.4)}@media (prefers-color-scheme: dark){.stroke-tile.sheet,.stroke-tile.sheet:hover{box-shadow: 0 46px 80px -36px rgba(0,0,0,.95),0 18px 36px -20px rgba(0,0,0,.7)}}.stroke-tile.sheet .nums text{font-size: 6.5px}.stroke-tile.sheet figcaption{font-size: 14px}.stroke-tile.sheet figcaption .ch{font-size: 24px}@media (max-width: 760px){.stroke-tile.sheet{justify-self: center;width: min(100%,280px);rotate: 0deg}}.rule-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 18px;margin: 0;padding: 0;list-style: none}.rule-card{display: grid;grid-template-columns: minmax(120px,168px) minmax(0,1fr);gap: 22px;align-items: center;padding: 22px;border-radius: 26px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft);scroll-margin-top: 100px}.rule-card.pair{grid-template-columns: minmax(180px,230px) minmax(0,1fr)}.rule-card:target{border-color: var(--shu);box-shadow: 0 0 0 4px var(--shu-soft)}.rule-art{display: grid;gap: 10px}.rule-card.pair .rule-art{grid-template-columns: 1fr 1fr}.rule-art .stroke-tile,.tile-row .stroke-tile,.diff-row .stroke-tile{box-shadow: none}.rule-copy{display: grid;gap: 8px;align-content: center}.rule-n{width: 30px;height: 30px;display: grid;place-items: center;border-radius: 50%;background: var(--shu-soft);color: var(--shu);font: 650 14px/1 var(--sans)}.rule-copy p{color: var(--ink-2);font-size: 15.5px}.rule-copy .rule-note{font-size: 14.5px;color: var(--ink-3)}@media (max-width: 1000px){.rule-grid{grid-template-columns: 1fr}}@media (max-width: 560px){.rule-card{grid-template-columns: 108px minmax(0,1fr);gap: 16px;padding: 16px;border-radius: 22px}.rule-card.pair{grid-template-columns: 1fr}.rule-card.pair .rule-art{max-width: 260px}.rule-card:not(.pair) .stroke-tile .nums text{font-size: 10px}}.enclosure-groups{display: grid;grid-template-columns: 1fr 1fr;gap: 18px}.enclosure-group{display: grid;gap: 14px;align-content: start;padding: 22px;border-radius: 26px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft)}.tile-row{display: grid;grid-template-columns: repeat(auto-fill,minmax(120px,1fr));gap: 12px}.enclosure-group .tile-row{grid-template-columns: 1fr 1fr;max-width: 360px}@media (max-width: 760px){.enclosure-groups{grid-template-columns: 1fr}}.count-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: clamp(26px,5vw,60px);align-items: center}.count-grid .section-head{margin-bottom: 0}.count-grid .tile-row{grid-template-columns: repeat(3,minmax(0,1fr))}.count-facts{margin-top: 14px;color: var(--ink-2)}@media (max-width: 860px){.count-grid{grid-template-columns: 1fr}}.diff-list{display: grid;gap: 14px;max-width: 920px}.diff-row{display: grid;grid-template-columns: 140px minmax(0,1fr);gap: 24px;align-items: center;padding: 18px;border-radius: 26px;background: var(--card);border: 1px solid var(--line);box-shadow: var(--shadow-soft)}.diff-copy{display: grid;gap: 12px;margin: 0}.diff-copy div{display: grid;grid-template-columns: minmax(110px,210px) minmax(0,1fr);gap: 4px 14px}.diff-copy dt{font-size: 12.5px;font-weight: 700;letter-spacing: .06em;text-transform: uppercase;color: var(--ink-3);padding-top: 3px}.diff-copy div:first-child dt{color: var(--shu)}.diff-copy dd{margin: 0;color: var(--ink-2)}.diff-copy .also dd{letter-spacing: .12em}@media (max-width: 640px){.diff-row{grid-template-columns: 100px minmax(0,1fr);gap: 14px;padding: 14px;border-radius: 22px}.diff-copy div{grid-template-columns: 1fr}}.kanji-tile .sc{grid-column: 1;justify-self: center;font-size: 11.5px;color: var(--ink-3);white-space: nowrap}.legal{max-width: 780px;padding-block: clamp(40px,6vw,80px) clamp(70px,8vw,110px)}.legal .display{font-size: clamp(44px,6vw,72px)}.legal .date{color: var(--ink-3);font-size: 14px;margin-top: 14px}.legal .lede{font-size: 19px;color: var(--ink-2);margin-top: 28px}.legal section{padding-top: 34px;margin-top: 34px;border-top: 1px solid var(--line)}.legal h2{font-family: var(--display);font-weight: 450;font-size: 26px;letter-spacing: -.01em;margin-bottom: 10px}:lang(zh) .legal h2,:lang(ko) .legal h2{font-family: inherit;font-weight: 700}.legal p{color: var(--ink-2)}.legal .actions{display: flex;flex-wrap: wrap;align-items: center;gap: 16px;margin-top: 26px}.related{margin-top: 50px;display: grid;gap: 10px}.related h2{font-size: 13px;font-weight: 700;letter-spacing: .12em;text-transform: uppercase;color: var(--ink-3);font-family: var(--sans)}.related a{display: block}.site-footer{margin-top: clamp(60px,8vw,110px);border-top: 1px solid var(--line);background: var(--paper-2)}.footer-grid{display: grid;grid-template-columns: 1.3fr repeat(3,1fr);gap: 40px;padding-block: 60px 40px}.footer-grid h2{font-size: 12.5px;font-weight: 700;letter-spacing: .12em;text-transform: uppercase;color: var(--ink-3);margin-bottom: 14px;font-family: var(--sans)}.footer-grid ul{display: grid;gap: 9px;font-size: 15px}.footer-grid a{text-decoration: none;color: var(--ink-2)}.footer-grid a:hover{color: var(--shu)}.footer-about{display: grid;gap: 16px;align-content: start}.footer-about p{color: var(--ink-2);font-size: 15px;max-width: 320px}.footer-bottom{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 12px 30px;padding-block: 22px 34px;border-top: 1px solid var(--line);font-size: 12.5px;color: var(--ink-3)}.footer-bottom p{max-width: 760px}@media (max-width: 860px){.footer-grid{grid-template-columns: 1fr 1fr}.footer-about{grid-column: 1 / -1}}.link-button{font: inherit;color: inherit;background: none;border: 0;padding: 0;cursor: pointer;text-decoration: underline;text-underline-offset: .22em}.link-button:hover{color: var(--shu)}.not-found{min-height: 60vh;display: grid;place-items: center;text-align: center;gap: 18px;padding-block: 80px}.not-found .glyph{font-family: var(--mincho);font-size: 160px;line-height: 1;color: var(--shu)}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.reveal{animation: reveal both cubic-bezier(.2,.7,.2,1);animation-timeline: view();animation-range: entry 0% cover 28%}.reveal-late{animation: reveal both cubic-bezier(.2,.7,.2,1);animation-timeline: view();animation-range: entry 10% cover 36%}@keyframes reveal{from{opacity: 0;transform: translateY(46px)}to{opacity: 1;transform: none}}}}@media print{.site-header,.site-footer,.cta-card,.toc,.chapter-nav{display: none}body{background: #fff}.kanji-tile,.kana-cell,.stroke-tile,.rule-card,.diff-row{box-shadow: none;break-inside: avoid}.chapter{content-visibility: visible}}