:root{--bg:#fafaf8;--surface:#fff;--ink:#15171c;--ink-2:#3b3f48;--muted:#6c707a;--faint:#9a9ea7;--line:#e7e6e1;--line-2:#d9d8d2;--accent:#3346c8;--accent-ink:#2536a8;--accent-soft:#eef0fc;--amber-bg:#fdf7e7;--amber-line:#e9c46a;--amber-ink:#6a4a0c;--amber-icon:#c08a14;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px #14161c0d;--shadow:0 1px 2px #14161c0a,0 8px 24px -12px #14161c1f;--shadow-lg:0 2px 4px #14161c0a,0 24px 48px -20px #14161c38;--sans:"Source Serif 4","Source Serif Pro","Noto Serif",Charter,"Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif CJK SC","Source Han Serif SC","Songti SC",STSong,serif;--maxw:1120px}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"kern","liga","onum" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;margin:0;font-size:16px;line-height:1.6;display:flex}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-ink);text-underline-offset:3px;text-decoration:underline}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;margin:0;line-height:1.2}::selection{background:#dfe3fb}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}.site-header{z-index:10;-webkit-backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--line);background:#fafaf8d1;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{letter-spacing:-.015em;color:var(--ink);align-items:center;gap:10px;font-size:16.5px;font-weight:650;display:inline-flex}.brand:hover{color:var(--ink);text-decoration:none}.brand-mark{color:var(--accent);flex:none}.nav-links{gap:4px;display:flex}.nav-links a{color:var(--ink-2);border-radius:8px;padding:7px 12px;font-size:14.5px;font-weight:500;transition:background .15s,color .15s}.nav-links a:hover{color:var(--ink);background:#efeee9;text-decoration:none}.site-main{flex:1;padding-top:56px;padding-bottom:96px}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:28px;padding-bottom:28px;display:flex}.brand-sm{font-size:14.5px}.brand-sm .brand-mark{width:20px;height:20px}.footer-links{flex-wrap:wrap;gap:22px;display:flex}.footer-links a{color:var(--muted);font-size:13.5px}.footer-links a:hover{color:var(--ink)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:15px;font-weight:600;line-height:1;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex}.btn-primary{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{color:#fff;box-shadow:var(--shadow);background:#2a2d35;text-decoration:none;transform:translateY(-1px)}.btn-arrow:after{content:"→";font-weight:500;transition:transform .15s}.btn-arrow:hover:after{transform:translate(3px)}.btn-buy{color:#8a8d95;border-color:var(--line-2);cursor:not-allowed;pointer-events:none;-webkit-user-select:none;user-select:none;background:#ecebe6;width:100%;padding:14px 20px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:64px;min-height:min(560px,100vh - 260px);padding:24px 0 16px;display:grid}.hero h1{letter-spacing:-.035em;max-width:14ch;font-size:clamp(36px,4.6vw,56px);font-weight:700;line-height:1.06}.lead{color:var(--ink-2);max-width:34ch;margin:22px 0 34px;font-size:19px;line-height:1.55}.hero-art{aspect-ratio:1.18;position:relative}.hero-shot{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:10px;position:absolute}.hero-shot img{border-radius:6px}.hero-shot-0{z-index:1;width:84%;top:0;left:0}.hero-shot-1{z-index:2;width:78%;bottom:0;right:0}.hero-art:before{content:"";z-index:0;background:radial-gradient(closest-side,#3346c81a,#0000);position:absolute;inset:8% -4% -6% 10%}.page-title{letter-spacing:-.03em;margin-bottom:36px;font-size:40px;font-weight:700}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s,border-color .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow);border-color:var(--line-2);transform:translateY(-2px)}.card-link{height:100%;color:inherit;flex-direction:column;display:flex}.card-link:hover{color:inherit;text-decoration:none}.card-thumb{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:#f3f3f0;justify-content:center;align-items:center;display:flex;overflow:hidden}.card-thumb img{object-fit:contain;background:#fff;width:100%;height:100%;padding:14px}.card-body{flex-direction:column;flex:1;gap:10px;padding:20px 22px 22px;display:flex}.card-title{letter-spacing:-.012em;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:16.5px;font-weight:620;line-height:1.4;display:-webkit-box;overflow:hidden}.card:hover .card-title{color:var(--accent-ink)}.card-summary{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.price-chip{color:var(--ink-2);border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#f2f1ec;border-radius:999px;align-self:flex-start;margin-top:auto;padding:4px 11px;font-size:13px;font-weight:600}.thumb-placeholder{background-image:radial-gradient(#d8d7d0 1px,#0000 1px);background-size:14px 14px;border-radius:8px;width:72%;height:56%;position:relative}.ph-box{background:#fff;border:1.5px solid #c9ccd9;border-radius:6px;position:absolute;box-shadow:0 1px 2px #0000000a}.ph-a{width:22%;height:36%;top:32%;left:4%}.ph-b{background:var(--accent-soft);border-color:#aeb6ea;width:22%;height:72%;top:14%;left:39%}.ph-c{width:22%;height:36%;top:32%;right:4%}.ph-line{background:#b5b9c8;height:1.5px;position:absolute;top:50%}.ph-l1{width:13%;left:26%}.ph-l2{width:13%;left:61%}.detail-title{letter-spacing:-.028em;max-width:28ch;margin-bottom:36px;font-size:clamp(26px,3vw,36px);font-weight:700;line-height:1.18}.detail-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:32px;display:grid}.detail-grid.no-media{grid-template-columns:minmax(0,560px)}.detail-media{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:18px}.detail-media img{border-radius:4px;width:100%}.buy-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:18px;padding:24px;display:flex;position:sticky;top:88px}.buy-card p{margin:0}.summary{color:var(--ink-2);font-size:15.5px;line-height:1.6}.price{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding-top:18px;display:flex}.price-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.price-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:30px;font-weight:700}.license-note{color:var(--muted);font-size:13px;line-height:1.6}.license-note a{font-weight:550}.prose{color:var(--ink-2);max-width:720px;font-size:16.5px;line-height:1.75}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.15em}.prose strong{color:var(--ink);font-weight:620}.prose h1{letter-spacing:-.03em;margin:0 0 .9em;font-size:34px;font-weight:700;line-height:1.2}.prose h2{margin:2.2em 0 .7em;padding-top:.2em;font-size:22px;font-weight:650}.prose h3{margin:1.9em 0 .5em;font-size:18px;font-weight:620}.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.3em}.prose li{margin:.45em 0;padding-left:.25em}.prose li::marker{color:var(--faint)}.prose a{text-underline-offset:3px;word-break:break-word;-webkit-text-decoration:underline #3346c859;text-decoration:underline #3346c859}.prose a:hover{text-decoration-color:currentColor}.prose code{background:#f1f0eb;border-radius:5px;padding:.1em .35em;font-size:.9em}.prose .prose-label{letter-spacing:.08em;text-transform:uppercase;margin:2em 0 .6em;font-size:13px}.prose .prose-label strong{color:var(--muted);font-weight:650}.detail-prose{border-top:1px solid var(--line);margin-top:64px;padding-top:44px}.attribution{border-top:1px solid var(--line);max-width:720px;color:var(--muted);margin-top:40px;padding-top:22px;font-size:13px;line-height:1.7}.attribution p{margin:0 0 .8em}.attribution strong:first-child{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:11.5px;font-weight:650;display:block}.attribution em{color:var(--ink-2)}.attribution a{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:2px;word-break:break-word}.attribution a:hover{color:var(--ink)}.legal{max-width:720px;margin:0 auto}.legal h1{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:22px}.legal h2:first-of-type{margin-top:1.4em}.legal ol{padding-left:1.5em}.legal ol li{margin:.7em 0;padding-left:.4em}@media (max-width:960px){.hero{grid-template-columns:1fr;gap:48px;min-height:0}.hero-art{max-width:640px}.detail-grid{grid-template-columns:1fr}.buy-card{position:static}}@media (max-width:640px){.container{padding:0 20px}.site-main{padding-top:36px;padding-bottom:64px}.nav{height:58px}.nav-links a{padding:6px 9px;font-size:14px}.hero h1{font-size:38px}.lead{font-size:17px}.page-title{margin-bottom:24px;font-size:32px}.card-grid{grid-template-columns:1fr;gap:18px}.detail-title{margin-bottom:24px;font-size:25px}.detail-media{border-radius:12px;padding:10px}.buy-card{padding:20px}.prose{font-size:16px}.detail-prose{margin-top:44px;padding-top:32px}.footer-inner{flex-direction:column;align-items:flex-start;gap:14px}.footer-links{grid-template-columns:repeat(4,auto);justify-content:start;gap:10px 20px;display:grid}}.legal h1{font-size:32px}.card:nth-child(2) .ph-b{background:#eaf5f0;border-color:#a9d3c0}.card:nth-child(2) .ph-a,.card:nth-child(2) .ph-c{height:48%;top:26%}.card:nth-child(3) .ph-b{background:#fbf0e6;border-color:#e6c2a0;border-radius:50%/36%}.card:nth-child(4) .ph-b{background:#f3eefb;border-color:#c7b6e6}.card:nth-child(4) .ph-a{height:20%;top:24%}.card:nth-child(4) .ph-a:after{content:"";background:#fff;border:1.5px solid #c9ccd9;border-radius:6px;height:100%;position:absolute;top:calc(100% + 18px);left:-1.5px;right:-1.5px}@media (max-width:640px){.legal h1{font-size:26px}}.brand-mark.logo-slot{border:1.5px solid var(--line-2);background:0 0;border-radius:6px;width:24px;height:24px;display:inline-block}.brand-sm .brand-mark.logo-slot{border-radius:5px;width:20px;height:20px}body{font-size:17px}h1,h2,h3,h4,.brand,.card-title,.page-title,.detail-title,.hero h1{letter-spacing:-.01em}.hero h1{font-weight:600;line-height:1.08}.page-title,.detail-title,.prose h1{font-weight:600}.card-title{font-size:17.5px;font-weight:600}.brand{font-size:18px;font-weight:600}.price-value,.btn{font-weight:600}.price-label,.prose .prose-label,.attribution strong:first-child{letter-spacing:.07em}.brand-mark.brand-logo{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:inline-block}.brand-sm .brand-mark.brand-logo{width:22px;height:22px}.detail-grid{grid-template-rows:auto 1fr;grid-template-areas:"media buy""content buy"}.detail-grid.no-media{grid-template-rows:auto auto;grid-template-areas:"buy""content"}.detail-media{grid-area:media}.buy-card{grid-area:buy;align-self:start}.detail-content{grid-area:content;min-width:0}.detail-content .detail-prose{margin-top:8px;padding-top:28px}@media (max-width:960px){.detail-grid{grid-template-rows:auto;grid-template-areas:"media""buy""content"}}.math{white-space:nowrap;font-family:Cambria Math,STIX Two Math,Latin Modern Math,Times New Roman,Georgia,serif;font-size:1.06em}.math i{font-style:italic}.math .mrm{font-style:normal}.math sup,.math sub{font-size:.72em;line-height:0}.math .msubsup{vertical-align:-.3em;text-align:left;margin-left:.04em;line-height:1;display:inline-block}.math .msubsup sup,.math .msubsup sub{vertical-align:baseline;font-size:.72em;line-height:1.1;display:block;position:static}.detail-prose h2{color:var(--ink);letter-spacing:-.01em;margin:1.9em 0 .45em;padding-top:0;font-size:19px;line-height:1.35}.detail-prose h2:first-child{margin-top:0}@media (max-width:640px){.detail-prose h2{margin-top:1.6em;font-size:18px}}.nav-right{align-items:center;gap:10px;display:flex}.lang-switch{border-left:1px solid var(--line);align-items:center;gap:2px;margin-left:4px;padding-left:12px;font-size:13.5px;display:flex}.lang-switch a{color:var(--muted);border-radius:7px;padding:5px 7px;font-weight:500;transition:background .15s,color .15s}.lang-switch a:hover{color:var(--ink);background:#efeee9;text-decoration:none}.lang-switch a[aria-current=true]{color:var(--ink);font-weight:650}.lang-switch span{color:var(--line-2)}@media (max-width:640px){.nav-right{gap:4px}.lang-switch{margin-left:0;padding-left:6px;font-size:13px}.lang-switch a{padding:4px 5px}}@media (max-width:400px){.brand{font-size:15px}.nav-links a{padding:6px 7px}}:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) .hero h1{letter-spacing:0}:lang(zh) .hero h1{max-width:12em;line-height:1.22}:lang(zh) .prose{line-height:1.85}.legal-note{color:var(--muted);border-radius:var(--radius-sm);background:#f3f2ee;padding:10px 14px;font-size:14px;margin:0 0 1.6em!important}.about .social{margin-top:2.4em}.about .social h2{margin:0 0 .8em;font-size:19px}.social-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;list-style:none;display:grid;margin:0!important;padding:0!important}.social-grid li{margin:0!important;padding:0!important}.social-card{text-align:left;width:100%;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:14px 16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;text-decoration:none!important}.social-card:hover{box-shadow:var(--shadow);border-color:var(--line-2);color:inherit;transform:translateY(-2px)}.social-card img{flex:none;width:28px;height:28px}.social-text{flex-direction:column;line-height:1.35;display:flex}.social-name{color:var(--ink);font-size:15px;font-weight:620}.social-handle{color:var(--muted);font-size:13px}.modal{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:var(--surface);width:100%;max-width:min(340px,100vw - 32px);color:var(--ink);border:none;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14161c73}.modal[open]{animation:.22s cubic-bezier(.2,.7,.2,1) modal-in}.modal-body{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:26px 24px 22px;display:flex}.modal-body h2{margin:0;font-size:19px}.modal-body p{color:var(--ink-2);margin:0;font-size:14.5px}.qr-placeholder{border:2px dashed var(--line-2);width:200px;height:200px;color:var(--muted);background:repeating-linear-gradient(45deg,#fafaf8 0 10px,#f3f2ee 10px 20px);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.qr-placeholder span{color:var(--ink-2);font-size:17px;font-weight:650}.qr-placeholder small{font-size:12px}.modal-close{background:var(--ink);color:#fff;padding:9px 22px}.modal-close:hover{color:#fff;background:#2a2d35}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-new(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}.site-header{view-transition-name:site-header}.card{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .22s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-thumb img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.card:hover .card-thumb img{transform:scale(1.015)}.rv{opacity:0;transform:translateY(14px)}.rv.rv-in{opacity:1;transition:opacity .55s,transform .55s cubic-bezier(.2,.7,.2,1);transform:none}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.rv{opacity:1!important;transform:none!important}.card:hover,.social-card:hover,.btn-primary:hover,.card:hover .card-thumb img{transform:none}}.about-id{flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 1.4em;display:flex}.about-avatar{border:1px solid var(--line);width:88px;height:88px;box-shadow:var(--shadow-sm);object-fit:cover;border-radius:50%}.about-handle{color:var(--ink-2);font-size:15px;font-weight:560;margin:0!important}.social-card.is-disabled{cursor:default;opacity:.55;box-shadow:none}.social-card.is-disabled:hover{box-shadow:none;border-color:var(--line);transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal .qr{border:1px solid var(--line);background:#fff;border-radius:8px;width:258px;max-width:100%;height:auto}.modal .qr-name{color:var(--ink);font-size:16px;font-weight:650}.brand,.nav-links a,.lang-switch a,.footer-links a{white-space:nowrap}:lang(zh) .detail-title{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}:lang(zh) h1,:lang(zh) .card-title{text-wrap:balance}@media (max-width:640px){.lang-switch a[aria-current=true],.lang-switch span{display:none}.lang-switch{padding-left:4px}}@media (max-width:420px){.container{padding:0 18px}.brand{gap:8px;font-size:15px}.nav-links{gap:0}.nav-links a{padding:6px 7px;font-size:13.5px}}
