:root{--bg: #f5f5f7;--surface: #fff;--ink: #161617;--muted: #59595e;--line: #d2d2d7;--blue: #0066cc;--blue-hover: #005bb5;--blue-soft: #e8f2fd;--danger: #d70015;--dark: #0d0d0f;--radius: 28px;--shadow: 0 22px 70px rgba(0, 0, 0, .08)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-break:strict}a{color:inherit;text-decoration:none}button,input,select{font:inherit}:focus-visible{outline:3px solid rgba(0,102,204,.35);outline-offset:3px}.skip-link{position:fixed;left:14px;top:10px;z-index:100;transform:translateY(-160%);background:#111;color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:700}.skip-link:focus{transform:translateY(0)}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.04em;font-size:22px}.brand-mark{width:28px;height:28px;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;border:0;cursor:pointer;transition:.2s ease}.btn:not(:disabled):hover{background:var(--blue-hover);transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn.secondary{background:#fff;color:#1d1d1f;border:1px solid var(--line)}.eyebrow{margin:0;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--blue)}.beat-title{margin:10px 0 18px;letter-spacing:-.03em;line-height:1.25;font-feature-settings:"palt";word-break:normal}.beat-body{margin:0 0 12px;color:var(--muted);line-height:1.85}.note,.source{margin:10px 0 0;font-size:12px;line-height:1.7;color:#59595e}.source a{text-decoration:underline;text-underline-offset:3px}.points{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.point{display:grid;grid-template-columns:36px 1fr;column-gap:14px;row-gap:2px;align-items:start}.point-num{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700}.point strong:last-child{grid-row:span 2;align-self:center}.point span:last-child{color:var(--muted);font-size:.92em;line-height:1.7}:lang(ja) .beat-title{word-break:auto-phrase}body:lang(en){font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}body:lang(zh-Hant){font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Microsoft JhengHei,sans-serif}.lang-switch{position:relative;font-size:13px;white-space:nowrap}.lang-switch summary{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#ffffffb3;color:var(--ink);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch summary:after{content:"";width:6px;height:6px;margin:-3px 0 0 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}.lang-switch[open] summary:after{margin-top:3px;transform:rotate(-135deg)}.lang-switch summary:hover,.lang-switch[open] summary{border-color:var(--blue)}.lang-menu{position:absolute;right:0;z-index:40;min-width:100%;margin:6px 0 0;padding:6px;list-style:none;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:#fff;box-shadow:0 12px 32px #00000029}.lang-switch.is-up .lang-menu{bottom:100%;margin:0 0 6px}.lang-menu a{display:block;padding:8px 12px;border-radius:9px;color:var(--ink)}.lang-menu a:hover{background:#0000000d}.lang-menu [aria-current]{color:var(--blue);font-weight:700}@media print{.lang-switch{display:none}}.icon{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.email-row{display:flex;flex-wrap:wrap;gap:6px;background:var(--bg);border-radius:24px;padding:6px;border:1px solid #dedee2}.email-row input{flex:2 1 200px;min-width:0;border:0;background:transparent;padding:12px 18px;outline:none}.email-row button{flex:1 1 auto}.email-row button.is-loading:before{content:"";width:15px;height:15px;flex:0 0 15px;margin-right:8px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:submit-spin .7s linear infinite}@keyframes submit-spin{to{transform:rotate(360deg)}}.email-row input:focus-visible{outline:3px solid rgba(0,113,227,.35);outline-offset:-3px;border-radius:18px}@media(max-width:560px){.email-row{display:grid;border-radius:18px;padding:8px;gap:8px}.email-row input{height:46px}}:is(:lang(ja),:lang(zh-Hant)) :is(p,h1,h2,h3,li,figcaption,button,.btn){word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}:lang(ja) .chapter,:lang(zh-Hant) .chapter{font-family:inherit;text-transform:none;letter-spacing:normal}.nav{position:sticky;top:0;z-index:30;background:#f5f5f7d1;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}.nav-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:28px}.language-suggestion{display:flex;justify-content:center;align-items:center;gap:16px;padding:8px 16px;background:#eaf3ff;font-size:14px}.language-suggestion a{color:#0055a6;text-decoration:underline;text-underline-offset:3px}.language-suggestion button{border:0;background:transparent;color:#3a3a3c;cursor:pointer;font:inherit;text-decoration:underline}.nav-links{display:flex;align-items:center;gap:28px;font-size:13px;color:#3a3a3c}.nav-cta{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:700;transition:.2s ease}.nav-cta:hover{background:var(--blue-hover)}@media(max-width:900px){.nav-links a:not(.nav-cta){display:none}}@media(max-width:560px){.nav-inner{min-height:56px;gap:12px}.brand{font-size:19px}.brand-mark{width:24px;height:24px}}.nav-inner{flex-wrap:nowrap}@media(max-width:560px){.nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand language";column-gap:12px;padding-top:0;padding-bottom:0}.nav-inner>.brand{grid-area:brand;min-width:0}.nav .lang-switch{grid-area:language;margin-left:0}.nav-links{display:none}}.site-footer{padding:52px 0 24px;border-top:1px solid #e5e5e7;background:var(--surface);font-size:13px;line-height:1.65;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:32px}.footer-grid>div{min-width:0}.footer-brand .brand{color:var(--ink)}.footer-brand p{max-width:200px;font-size:12px}.footer-heading{margin:0 0 16px;color:var(--ink);font-weight:700}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.site-footer a{overflow-wrap:anywhere}.site-footer a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.footer-deck{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.footer-deck>.deck-link,.footer-deck .deck-menu summary{padding:2px 9px;min-height:26px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:11px;color:var(--ink)}.footer-bottom{margin-top:40px;border-top:1px solid #e5e5e7;padding-top:20px;font-size:12px}@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.footer-grid{grid-template-columns:minmax(0,1fr);gap:28px}.site-footer{padding-top:36px}}@media(max-width:560px){.nav-inner{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand cta language";gap:6px}.nav-links{display:flex;grid-area:cta}.nav-cta{min-height:44px;padding:0 10px}.nav .lang-switch summary{min-width:44px;min-height:44px;justify-content:center;padding:0}.nav .lang-current,.nav .lang-switch summary:after{display:none}}@media(max-width:374px){.nav-inner>.brand span{display:none}}.customer-portal{display:grid;gap:22px;max-width:860px}.customer-portal section,.customer-portal [data-account-signin]{padding:clamp(16px,3vw,28px);border:1px solid var(--line);border-radius:20px;background:var(--surface)}.customer-portal [data-account-profile]{display:grid;gap:20px}.customer-portal [data-account-profile]>p,.customer-portal section>p{line-height:1.7}.customer-portal section h2{font-size:20px;margin:0 0 12px}.customer-portal h3{font-size:16px;margin:10px 0}.customer-portal [data-account-code],.customer-portal [data-account-downloads] code{overflow-wrap:anywhere}.customer-portal [data-account-copy],.customer-portal [data-account-logout]{margin:6px}.customer-portal form{display:grid;gap:12px;max-width:100%}.customer-portal label{display:grid;gap:8px}.customer-portal input,.customer-portal select,.customer-portal textarea{display:block;width:100%;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.customer-portal textarea{min-height:88px}.customer-portal .btn{align-self:start;width:fit-content}.customer-portal .account-item{display:grid;gap:10px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.customer-portal [data-account-message]{min-height:24px;color:var(--muted)}@media(max-width:560px){.customer-portal [data-account-copy]{display:block;margin-left:0}.customer-portal .btn{max-width:100%;white-space:normal}}.commerce-page{min-height:100vh}.legal-main,.purchase-main{width:min(940px,calc(100% - 40px));margin:auto;padding:48px 0 80px}.legal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:44px;font-size:13px}.legal-tabs a{padding:10px 16px;border-radius:999px;color:var(--muted);border:1px solid var(--line)}.legal-tabs a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}.legal-hero{max-width:none;margin:0 0 32px}.legal-hero h1{margin:0 0 20px;font-size:clamp(30px,4vw,48px);line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:balance}:lang(ja) .legal-hero h1{word-break:auto-phrase}.legal-meta{color:var(--muted);font-size:13px;line-height:1.8}.legal-status{display:flex;gap:12px;align-items:flex-start;background:#fff4d9;color:#795118;border:1px solid #ead49e;border-radius:16px;padding:18px 20px;font-size:14px;line-height:1.7}.legal-status .icon{margin-top:4px}.legal-language{color:var(--muted);line-height:1.7;font-size:14px}.legal-card{padding:48px;background:var(--surface);border:1px solid #e5e5e7;border-radius:var(--radius);box-shadow:var(--shadow)}.legal-section{position:relative;padding:28px 0 28px 44px;border-top:1px solid #e5e5e7}.legal-section:first-child{padding-top:0;border-top:0}.legal-num{position:absolute;left:0;color:var(--blue);font-size:12px;font-weight:700;line-height:28px;font-variant-numeric:tabular-nums}.legal-section h2{margin:0 0 12px;font-size:19px;line-height:1.5;letter-spacing:-.02em}.legal-section p,.legal-section li,.legal-lead{font-size:15px;line-height:1.95;color:#424245;margin:0 0 12px}.legal-lead{margin-bottom:28px}.legal-card a,.legal-contact a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.legal-table{margin:0;font-size:14px;line-height:1.85}.legal-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid #e5e5e7}.legal-row:first-child{padding-top:0}.legal-row:last-child{border-bottom:0;padding-bottom:0}.legal-row dt{font-weight:700}.legal-row dd{margin:0;color:#424245;overflow-wrap:anywhere}.legal-contact{text-align:center;padding:44px 20px 0}.legal-contact h2{font-size:18px;margin:0 0 12px}.legal-contact p{color:var(--muted);font-size:14px;line-height:1.8}.legal-contact a{display:inline-flex;align-items:center;gap:8px;max-width:100%;font-size:14px}.purchase-main{width:min(860px,calc(100% - 40px));padding-top:64px}.purchase-card{padding:48px 56px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid #e5e5e7}.purchase-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:32px}.purchase-icon.is-success{background:#eaf7ee;color:#22834a}.purchase-icon.is-success .checkmark{stroke-dasharray:24;animation:purchase-check .6s ease-out both}@keyframes purchase-check{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.purchase-card h1{text-align:center;margin:0 0 24px;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.3;overflow-wrap:anywhere}.purchase-kicker{text-align:center;color:var(--muted);font-weight:600;font-size:14px;margin:0 0 12px}.purchase-lead,.thanks-lead{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 28px}.purchase-card [data-thanks-message]{line-height:1.85;color:var(--muted);font-size:14px}.purchase-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}.purchase-actions .btn{text-align:center}.thanks-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:32px 0}.thanks-stats li{padding:24px;border-radius:20px;background:var(--blue-soft);display:flex;flex-direction:column;gap:8px}.thanks-stats strong{color:var(--blue);font-size:32px;letter-spacing:-.03em}.thanks-stats span{font-size:13px;color:var(--muted);line-height:1.65}.status-pill{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:16px;background:var(--blue-soft);color:var(--blue);font-size:13px;line-height:1.65}.status-pill:empty{display:none}.status-pill:before{content:"";width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-radius:50%}.status-pill[data-state=pending]:before{border-right-color:transparent;animation:submit-spin .7s linear infinite}.status-pill[data-state=done]{background:#eaf7ee;color:#22834a}.status-pill[data-state=done]:before{width:10px;height:6px;flex-basis:10px;border-width:0 0 2px 2px;border-radius:0;transform:rotate(-45deg)}.status-pill[data-state=error]{background:#fff4d9;color:#795118}.status-pill[data-state=error]:before{content:"!";border:0;font-weight:800;text-align:center}.release-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:16px 0;padding:28px;border:1px solid var(--line);border-radius:22px;min-width:0}.release-card h2{margin:0;font-size:19px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}.release-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-size:12px;color:var(--muted)}.release-meta span{background:var(--bg);padding:5px 10px;border-radius:999px}.release-notes{margin:0;line-height:1.7;font-size:14px;color:var(--muted)}.release-hash{display:block;width:100%;padding:14px;background:var(--bg);border-radius:10px;overflow-wrap:anywhere;font-size:11px;line-height:1.8;color:var(--muted)}.purchase-callout{margin:24px 0;padding:20px;background:var(--blue-soft);border-radius:16px;color:#315575;line-height:1.8;font-size:14px}.purchase-note{color:var(--muted);font-size:12px;line-height:1.7}.install-block{margin-top:36px;border-top:1px solid #e5e5e7;padding-top:28px}.install-block h2{font-size:21px;margin:0 0 12px}.install-block>p{font-size:14px;line-height:1.8;color:var(--muted)}.install-steps{list-style:none;counter-reset:steps;margin:24px 0 0;padding:0}.install-steps li{counter-increment:steps;position:relative;padding:0 0 28px 44px;font-size:14px;line-height:1.8}.install-steps li:before{content:counter(steps);position:absolute;left:0;top:0;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:700;z-index:1}.install-steps li:not(:last-child):after{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:var(--line)}[data-download-request]>label{display:block;font-size:13px;font-weight:600;margin:0 0 10px}@media(max-width:560px){.legal-main,.purchase-main{width:calc(100% - 28px);padding:28px 0 56px}.legal-tabs{margin-bottom:32px;gap:6px}.legal-tabs a{font-size:11px;padding:9px 12px}.legal-card,.purchase-card{padding:28px 22px;border-radius:22px}.legal-section{padding-left:0}.legal-num{position:static;display:block;margin-bottom:6px}.legal-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:18px 0}.legal-contact{padding:32px 8px 0}.thanks-stats{grid-template-columns:minmax(0,1fr)}.release-card{padding:20px 16px}.purchase-card h1{font-size:30px}}@media(prefers-reduced-motion:reduce){.purchase-icon .checkmark,.status-pill:before,.email-row button.is-loading:before{animation:none}}
