:root{--vi-bg:#000;--vi-bg-raised:#0d0d0d;--vi-accent:#ff008c;--vi-accent-ink:#000;--vi-glow:#f81fff;--vi-warm:#d0ccca;--vi-ink:#fff;--vi-ink-2:#ccc;--vi-ink-3:#999;--vi-line:#222;--vi-line-mid:#999;--vi-aux-purple:#814ac8;--vi-aux-blue:#1c8eff;--vi-aux-magenta-a:#ff0090;--vi-aux-magenta-b:#ff0084;--vi-aux-magenta-deep:#fa004f;--font-sans:"HarmonyOS Sans", "HarmonyOS Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-cn:"HarmonyOS Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-label:"TGL 0-17", "HarmonyOS Sans", "HarmonyOS Sans SC", system-ui, sans-serif;--weight-regular:400;--weight-medium:500;--weight-strong:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;--ease-out:cubic-bezier(.2, .7, .2, 1);--dur-1:.16s;--dur-2:.32s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}::selection{background:var(--vi-accent);color:var(--vi-accent-ink)}@font-face{font-family:HarmonyOS Sans;src:url(/fonts/harmonyos/HarmonyOS_Sans.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans SC;src:local(HarmonyOS Sans SC),local(HarmonyOS_Sans_SC);font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"TGL 0-17";src:url(/fonts/tgl/TGL%200-17.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg:#0b0c0e;--color-surface:#111316;--color-line:var(--vi-line);--color-line-soft:#ffffff14;--color-line-strong:#fff3;--color-accent:var(--vi-accent);--color-accent-ink:var(--vi-accent-ink);--color-warm:var(--vi-warm);--color-on-warm:#000;--color-ink:var(--vi-ink);--color-ink-2:var(--vi-ink-2);--color-ink-3:var(--vi-ink-3);--color-focus:var(--vi-accent);--color-glow:var(--vi-glow);--text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1rem, .96rem + .18vw, 1.0625rem);--text-lede:clamp(1.125rem, 1.02rem + .5vw, 1.375rem);--text-h3:clamp(1.375rem, 1.1rem + 1.1vw, 2rem);--text-h2:clamp(2rem, 1.1rem + 3.4vw, 4rem);--text-display:clamp(1.75rem, .9rem + 3.6vw, 4.25rem);--text-h1:clamp(2.5rem, 1.5rem + 4vw, 4.75rem);--text-hero:clamp(2.75rem, 1.2rem + 5.4vw, 6rem);--text-mail:clamp(1.75rem, .6rem + 5.4vw, 5.25rem);--leading-display:1.02;--leading-heading:1.12;--leading-body:1.6;--leading-prose:1.7;--tracking-display:-.035em;--tracking-heading:-.025em;--tracking-label:.02em;--weight-display:600;--measure:62ch;--radius-xs:0;--radius-ui:2px;--container:1440px;--margin:clamp(20px, 4.4vw, 64px);--gutter:clamp(16px, 1.7vw, 24px);--gutter-x:var(--margin);--section-y:clamp(96px, 12vw, 192px);--header-h:56px;--header-gap:0px;--ease:cubic-bezier(.22, 1, .36, 1);--dur-move:.72s;--dur-fade:.24s;--dur-page:.18s;--focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus)}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--color-ink-3) var(--color-bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-5))}body{counter-reset:sec;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"kern", "liga";font-variant-numeric:tabular-nums;margin:0}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{text-wrap:balance;font-weight:var(--weight-display)}p{text-wrap:pretty}img{max-width:100%;height:auto}svg{display:block}a{color:inherit;text-underline-offset:.2em;transition:color var(--dur-fade) var(--ease)}a:hover{color:var(--color-accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.wrap{width:100%;max-width:var(--container);padding-inline:var(--margin);margin-inline:auto}.skip{min-height:44px;left:var(--space-4);background:var(--color-ink);color:var(--color-bg);padding:var(--space-2) var(--space-4);z-index:100;border-radius:var(--radius-ui);align-items:center;display:inline-flex;position:absolute;top:-100px}.skip:focus-visible{top:var(--space-4)}main{min-height:58svh}.small{font-family:var(--font-label);font-size:var(--text-sm);letter-spacing:var(--tracking-label);color:var(--color-ink-3);line-height:1.4;font-weight:var(--weight-regular)}h2.small{align-items:baseline;gap:var(--space-4);counter-increment:sec;color:var(--color-ink-2);display:flex}h2.small:before{content:counter(sec, decimal-leading-zero);font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-ink-3)}.cap{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-ink-3);line-height:1.4}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes rise-solid{0%{transform:translateY(16px)}to{transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.js [data-reveal]{opacity:0;transition:opacity var(--dur-move) var(--ease), transform var(--dur-move) var(--ease);transition-delay:var(--d,0s);transform:translateY(16px)}.js [data-reveal].in{opacity:1;transform:none}.boot [data-reveal]{transition-delay:calc(var(--dur-page) + var(--d,0s))}.hero [data-rise]{animation:rise var(--dur-move) var(--ease) both;animation-delay:var(--d,0s)}.hero h1[data-rise]{animation-name:rise-solid}.hero [data-fade]{animation:fade var(--dur-move) var(--ease) both}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;transform:none}.hero [data-rise],.hero [data-fade],.hero h1[data-rise]{opacity:1;transform:none;animation:none!important}.index a:hover h3,.index a:hover:after{transform:none}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-group(site-header){animation-duration:0s}::view-transition-group(root){animation-duration:var(--dur-page);animation-timing-function:var(--ease)}::view-transition-old(root){animation-duration:var(--dur-page);animation-timing-function:var(--ease)}::view-transition-new(root){animation-duration:var(--dur-page);animation-timing-function:var(--ease)}}.site-header{z-index:50;background:var(--color-bg);transition:background-color var(--dur-fade) var(--ease);position:fixed;top:0;left:0;right:0}@media (width>=861px){.js .site-header{background:0 0}.js .site-header.scrolled{background:var(--color-bg)}}.bar{height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex;position:relative}.brand{min-height:44px;color:var(--color-ink);align-items:center;text-decoration:none;display:flex}.brand:hover{color:var(--color-ink)}.brand b{font-weight:var(--weight-strong);letter-spacing:-.03em;font-size:1.125rem;line-height:1}.nav{gap:var(--space-6);display:flex}@media (width>=861px){.bar{justify-content:flex-start;gap:var(--space-9)}}.nav a{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-3);padding-block:var(--space-2);min-width:44px;min-height:44px;padding-inline:var(--space-2);margin-inline:calc(var(--space-2) * -1);align-items:center;text-decoration:none;display:inline-flex}.nav a:hover,.nav a[aria-current=page]{color:var(--color-ink)}.menu-btn{display:none}.hero{isolation:isolate;position:relative;overflow:clip}.hero-visual{z-index:-1;margin:0;position:absolute;inset:0}.hero-img{object-fit:cover;object-position:100% 50%;width:100%;height:100%;display:block}.hero-visual .cap{right:var(--margin);bottom:var(--space-6);position:absolute}.hero[data-size=lg]{min-height:min(100svh,960px);display:flex}.hero-copy{padding-top:calc(var(--header-h) + var(--space-9));padding-bottom:var(--space-9);flex-direction:column;justify-content:flex-end;display:flex;position:relative}.hero[data-size=md] .hero-copy{padding-bottom:var(--space-8)}.hero .small{margin-bottom:var(--space-5);display:inline-block}.hero h1{font-size:var(--text-hero);line-height:var(--leading-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);overflow-wrap:break-word;min-width:0;max-width:13ch}.hero[data-size=md] h1{font-size:var(--text-h1);max-width:14ch}.hero-act{margin-top:var(--space-7);max-width:36ch}.hero .lede{font-size:var(--text-lede);color:var(--color-ink-2);letter-spacing:-.01em;line-height:1.4}.hero .lede a{color:var(--color-ink);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-decoration-thickness:1px}.hero .lede a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.hero-act>.pending{margin-top:var(--space-4)}.button{min-height:48px;margin-top:var(--space-6);padding:var(--space-3) var(--space-5);background:var(--color-accent);color:var(--color-accent-ink);font-weight:var(--weight-strong);font-size:var(--text-base);letter-spacing:-.01em;border-radius:var(--radius-ui);transition:background-color var(--dur-fade) var(--ease);justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-ink);color:var(--color-accent-ink)}.more{min-height:44px;margin-top:var(--space-5);font-weight:var(--weight-medium);color:var(--color-ink);text-decoration:underline;-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-underline-offset:.35em;align-items:center;text-decoration-thickness:1px;display:inline-flex}.more:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.statement .wrap{padding-block:var(--section-y);flex-direction:column;justify-content:center;min-height:min(80svh,760px);display:flex}.statement p:first-child{max-width:28ch;font-size:var(--text-display);line-height:1.08;font-weight:var(--weight-medium);letter-spacing:var(--tracking-display);text-wrap:balance}.statement .pending{margin-top:var(--space-5);align-self:flex-start}.parti{isolation:isolate;min-height:min(100svh,920px);display:flex;position:relative;overflow:clip}.parti[data-media=none]{min-height:0}.parti-media{z-index:-1;margin:0;position:absolute;inset:0}.parti-img,.slot{object-fit:cover;object-position:50% 50%;width:100%;height:100%;display:block}.slot{background:var(--color-surface)}.parti-media .cap{right:var(--margin);bottom:var(--space-6);position:absolute}.parti-copy{padding-block:var(--section-y);align-items:flex-start;display:flex;position:relative}.parti-text{flex-direction:column;align-items:flex-start;max-width:min(34rem,40vw);display:flex}.parti-text h2.small{margin-bottom:var(--space-7)}.parti .s{font-size:var(--text-lede);letter-spacing:-.01em;color:var(--color-ink-2);max-width:24ch;line-height:1.4}.parti .t{margin-top:var(--space-6);font-size:var(--text-h2);line-height:var(--leading-heading);font-weight:var(--weight-display);letter-spacing:var(--tracking-heading);text-wrap:balance}.parti .pending{margin-top:var(--space-5)}.modules .wrap{padding-block:var(--section-y) 0;column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.modules-fig{grid-column:3/span 8;margin:0}.modules-art{aspect-ratio:75/76;position:relative;overflow:clip}.modules-img{width:133.333%;max-width:none;height:auto;display:block;position:absolute;top:-15.79%;left:-20%}.modules-fig .cap{margin-top:var(--space-4);display:block}.specimen .wrap{padding-block:calc(var(--section-y) * .75)}.spec-grid{column-gap:var(--gutter);row-gap:var(--space-8);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"head head head head head fig fig fig fig fig fig fig""table table table table table fig fig fig fig fig fig fig";align-items:start;display:grid}.spec-head{grid-area:head}.spec-grid[data-table=false]{grid-template-areas:"head head head head head fig fig fig fig fig fig fig";align-items:center}.spec-fig{grid-area:fig;margin:0}.spec-table{grid-area:table;align-self:end}.spec-head h2.small{margin-bottom:var(--space-7)}.spec-h{font-size:var(--text-h2);line-height:var(--leading-heading);font-weight:var(--weight-display);letter-spacing:var(--tracking-heading);text-wrap:balance}.spec-lead{margin-top:var(--space-5);max-width:30ch;font-size:var(--text-lede);letter-spacing:-.01em;color:var(--color-ink-2);line-height:1.4}.spec-art{aspect-ratio:1080/1040;position:relative;overflow:clip}.spec-img{width:111.111%;max-width:none;height:auto;display:block;position:absolute;top:-22.115%;left:-8.333%}.spec-svg{fill:none;width:100%;height:100%;stroke:var(--color-ink-2);stroke-width:2.25px;stroke-linecap:butt;position:absolute;inset:0}.spec-svg text{fill:var(--color-ink);stroke:none;font-family:var(--font-sans);font-size:40px;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;letter-spacing:.01em}@media (width<=860px){.spec-svg text{font-size:47px}}.spec-svg .dim--accent{stroke:var(--color-accent)}.spec-svg .dim--accent circle{fill:var(--color-accent)}.spec-fig .cap{margin-top:var(--space-4);display:block}.spec-table dl{border-top:1px solid var(--color-line-strong)}.spec-table .row{column-gap:var(--space-5);padding-block:var(--space-3);border-bottom:1px solid var(--color-line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.spec-table dt{font-family:var(--font-label);font-size:var(--text-sm);letter-spacing:var(--tracking-label);color:var(--color-ink-3)}.spec-table dd{font-size:var(--text-base);font-weight:var(--weight-medium);text-align:right;font-variant-numeric:tabular-nums}.spec-table .u,.spec-table .row[data-status=placeholder] dd{color:var(--color-ink-3);font-weight:var(--weight-regular)}.spec-src{margin-top:var(--space-4);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-ink-3)}.limits .wrap{padding-block:var(--section-y);column-gap:var(--gutter);row-gap:var(--space-7);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.limits h2{font-size:var(--text-h2);line-height:var(--leading-heading);font-weight:var(--weight-display);letter-spacing:var(--tracking-heading);text-wrap:balance;grid-column:1/span 5}.limits ol{counter-reset:lim;gap:var(--space-7);grid-column:7/span 6;display:grid}.limits li{counter-increment:lim;grid-template-columns:var(--space-8) minmax(0, 1fr);column-gap:var(--space-4);font-size:var(--text-h3);line-height:1.25;font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading);align-items:baseline;display:grid}.limits li:before{content:counter(lim, decimal-leading-zero);font-size:var(--text-sm);font-weight:var(--weight-regular);letter-spacing:0;color:var(--color-ink-3);font-variant-numeric:tabular-nums}.gloss .wrap{padding-block:var(--section-y);column-gap:var(--gutter);row-gap:var(--space-7);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.gloss-head{grid-column:1/span 5}.gloss h2{font-size:var(--text-h2);line-height:var(--leading-heading);font-weight:var(--weight-display);letter-spacing:var(--tracking-heading);text-wrap:balance}.gloss-intro{margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-ink-2);max-width:36ch;line-height:1.6}.gloss-list{gap:var(--space-7);grid-column:7/span 6;display:grid}.gloss-item dt{font-size:var(--text-h3);line-height:1.25;font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading)}.gloss-item dd{margin:var(--space-3) 0 0;gap:var(--space-3);font-size:var(--text-base);color:var(--color-ink-2);max-width:62ch;line-height:1.6;display:grid}@media (width<=900px){.gloss-head,.gloss-list{grid-column:1/-1}}.roomuses .wrap{padding-block:var(--section-y);gap:var(--space-8);display:grid}.ru-head{max-width:62ch}.ru-head h2{font-size:var(--text-h2);line-height:var(--leading-heading);font-weight:var(--weight-display);letter-spacing:var(--tracking-heading);text-wrap:balance}.ru-intro{margin-top:var(--space-5);color:var(--color-ink-2);line-height:1.6}.ru-strip-img{width:100%;height:auto;display:block}.parti-strip{padding-block:0 var(--section-y)}.parti-strip .ru-strip{margin:0}.ru-grid{gap:var(--space-8) var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.ru-card h3{margin-top:var(--space-4);font-size:var(--text-h3);line-height:1.25;font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading)}.ru-card p{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.55}.ru-img{width:100%;height:auto;display:block}@media (width<=900px){.ru-grid{grid-template-columns:1fr}}.contact{background:var(--color-accent);color:var(--color-accent-ink)}.contact .wrap{padding-block:var(--section-y);flex-direction:column;justify-content:space-between;min-height:min(70svh,640px);display:flex}.contact h2.small{color:var(--color-accent-ink);margin-bottom:var(--space-9)}.contact h2.small:before{color:var(--color-accent-ink)}.contact a{font-size:var(--text-mail);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);color:var(--color-accent-ink);text-underline-offset:.16em;overflow-wrap:anywhere;transition:color var(--dur-fade) var(--ease);align-self:flex-start;padding-block:.18em;line-height:1.05;text-decoration:underline;text-decoration-thickness:.05em}.contact a:hover{color:var(--color-ink)}.contact .placeholder{font-size:var(--text-lede);color:var(--color-accent-ink)}.contact .pending{color:var(--color-accent-ink);border-color:color-mix(in srgb, var(--color-accent-ink) 50%, transparent)}.contact a:focus-visible{outline-color:var(--color-accent-ink)}.site-footer{background:var(--color-bg);position:relative;overflow:clip}.foot-grid{padding-block:var(--space-9) var(--space-7);column-gap:var(--gutter);row-gap:var(--space-8);font-size:var(--text-sm);color:var(--color-ink-3);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.f-brand{grid-column:1/span 4}.f-brand .brand b{font-size:1.5rem}.f-line{margin-top:var(--space-4);max-width:26ch;font-size:var(--text-base);color:var(--color-ink-2);line-height:1.4}.f-nav{grid-column:6/span 2;justify-items:start;gap:0;margin-top:-.75rem;display:grid}.f-nav a,.f-contact a{align-items:center;min-height:44px;display:inline-flex}.f-nav a{color:var(--color-ink-2);min-width:48px;text-decoration:none}.f-contact{margin-top:-.75rem}.f-brand .brand{margin-top:-.6rem}.f-contact{grid-column:8/span 2}.f-contact a{color:var(--color-ink-2);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-decoration-thickness:1px}.f-legal{align-items:baseline;gap:var(--space-2) var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-line-soft);flex-wrap:wrap;grid-column:1/-1;display:flex}.f-legal p{max-width:none}.f-legal a{color:var(--color-ink-2);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-decoration-thickness:1px}.site-footer a:hover{color:var(--color-accent)}.todo{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-ink-2)}.foot-mark{padding-inline:var(--margin);max-width:var(--container);font-weight:var(--weight-strong);letter-spacing:-.06em;color:#15171a;white-space:nowrap;-webkit-user-select:none;user-select:none;margin-inline:auto;font-size:min(20.2vw,320px);line-height:.8;display:block;transform:translateY(.03em)}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.pending{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-ink-2);margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border:1px dashed var(--color-line-strong);vertical-align:middle;white-space:nowrap;border-radius:4px;line-height:1;display:inline-block}p.pending{margin:var(--space-4) 0 0;margin-left:0;display:inline-block}.statement .pending{color:color-mix(in srgb, var(--color-on-warm) 75%, transparent);border-color:color-mix(in srgb, var(--color-on-warm) 40%, transparent);margin-left:0;margin-top:var(--space-5)}.placeholder{margin-top:var(--space-4);font-family:var(--font-label);color:var(--color-ink-3);font-size:var(--text-lede)}.hero:not([data-visual]) .hero-copy{padding-top:calc(var(--header-h) + var(--space-10));padding-bottom:var(--space-9)}.hero:not([data-visual]) h1{font-size:var(--text-hero);max-width:none}.hero:not([data-visual]) .hero-act{margin-top:var(--space-6);max-width:var(--measure)}.hero:not([data-visual]) .lede{font-size:var(--text-lede);color:var(--color-ink-3)}.prose .wrap{padding-block:0 var(--section-y);column-gap:var(--gutter);row-gap:var(--space-6);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.prose h2{font-family:var(--font-label);font-size:var(--text-sm);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);color:var(--color-ink-2);grid-column:1/span 3;line-height:1.4}.prose-body{gap:var(--space-5);max-width:var(--measure);font-size:var(--text-lede);line-height:var(--leading-prose);color:var(--color-ink-2);grid-column:4/span 7;display:grid}.prose h2+.prose-body{grid-row:1}.prose-body>*{min-width:0;margin:0}.prose-body h2,.prose-body h3{color:var(--color-ink);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin-top:var(--space-6)}.prose-body h2{font-family:var(--font-sans);font-size:var(--text-h3);font-weight:var(--weight-display);letter-spacing:var(--tracking-heading);grid-column:auto}.prose-body h3{font-size:var(--text-lede)}.prose-body strong{color:var(--color-ink);font-weight:var(--weight-strong)}.prose-body a{color:var(--color-ink);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-decoration-thickness:1px}.prose-body a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.prose-body ul,.prose-body ol{gap:var(--space-3);padding-left:var(--space-5);display:grid}.prose-body ul{list-style:none}.prose-body ul>li{position:relative}.prose-body ul>li:before{content:"";left:calc(var(--space-5) * -1);background:var(--color-ink-3);width:8px;height:1px;position:absolute;top:.78em}.prose-body ol{list-style:decimal}.prose-body blockquote{color:var(--color-ink);font-size:var(--text-h3);letter-spacing:var(--tracking-heading);line-height:1.3}.prose-body img,.prose-body figure{border-radius:var(--radius-ui)}.prose-body pre,.prose-body code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.prose-body pre{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-ui);overflow-x:auto}.prose-body hr{border:0;border-top:1px solid var(--color-line)}.prose-body>.pending,.prose-body p .pending{color:var(--color-ink-3)}article.prose .wrap{padding-top:calc(var(--header-h) + var(--space-10));row-gap:var(--space-5)}article.prose .wrap>p.small:first-child{grid-column:1/-1}article.prose .wrap>p.small:first-child a{gap:var(--space-2);align-items:center;min-height:44px;margin-block:-.75rem;text-decoration:none;display:inline-flex}article.prose .wrap>p.small:first-child a:before{content:"←";font-family:var(--font-sans)}article.prose h1{font-size:var(--text-hero);max-width:14ch;line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:var(--weight-display);grid-column:1/-1}article.prose .wrap>p.small:nth-of-type(2){margin-top:var(--space-7);grid-area:3/1/auto/span 3}article.prose .prose-body{margin-top:var(--space-7);grid-area:3/4/auto/span 7}.notfound .wrap{min-height:min(78svh,760px);padding-top:calc(var(--header-h) + var(--space-9));align-content:end;row-gap:var(--space-6)}.notfound h1{font-size:var(--text-hero);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:var(--weight-display);grid-column:1/-1;max-width:12ch}.notfound p{color:var(--color-ink-2);font-size:var(--text-lede);grid-column:1/-1}.notfound p a{color:var(--color-ink);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-underline-offset:.35em;text-decoration-thickness:1px}.notfound p a:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.journal .wrap{padding-block:0 var(--section-y)}.journal h2{font-size:var(--text-h3);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin-bottom:var(--space-6)}.index{border-top:1px solid var(--color-line-strong)}.index a{column-gap:var(--gutter);padding-block:var(--space-6);border-bottom:1px solid var(--color-line);transition:color var(--dur-fade) var(--ease);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;text-decoration:none;display:grid;position:relative}.index a>p.date{grid-area:1/1/auto/span 3}.index .t{font-size:var(--text-h3);font-weight:var(--weight-medium);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);transition:transform var(--dur-fade) var(--ease);grid-area:1/4/auto/span 7;margin-bottom:0}.index a>p.summary{margin-top:var(--space-2);max-width:var(--measure);grid-area:2/4/auto/span 7}.index a:after{content:"";background-color:var(--color-ink-3);width:14px;height:14px;transition:background-color var(--dur-fade) var(--ease), transform var(--dur-fade) var(--ease);grid-area:1/12;justify-self:end;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M2 12 12 2M4 2h8v8'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M2 12 12 2M4 2h8v8'/%3E%3C/svg%3E") 50%/contain no-repeat}.index a:hover{color:var(--color-ink)}.index a:hover h3{transform:translateX(var(--space-3))}.index a:hover:after{background-color:var(--color-accent);transform:translate(2px,-2px)}.journal .empty{font-size:var(--text-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--color-ink-3);padding-block:var(--space-7) var(--space-9);border-top:1px solid var(--color-line-strong)}section.prose .prose-body p{font-size:var(--text-lede);line-height:var(--leading-prose);color:var(--color-ink);max-width:var(--measure)}.nav a.lang{font-family:var(--font-label);letter-spacing:var(--tracking-label)}.f-nav a.lang{margin-top:var(--space-2)}@media (width<=1100px){.spec-grid{grid-template-areas:"head head head head head head head head head head head head""fig fig fig fig fig fig fig fig fig fig fig fig""table table table table table table table table table table table table"}.spec-grid[data-table=false]{grid-template-areas:"head head head head head head head head head head head head""fig fig fig fig fig fig fig fig fig fig fig fig"}.spec-fig{max-width:560px}.limits h2,.limits ol,.f-brand{grid-column:1/-1}.f-nav{grid-column:1/span 4}.f-contact{grid-column:5/span 4}.f-legal{grid-column:1/-1}.hero[data-size=lg]{min-height:0;display:block}.hero-visual{z-index:0;aspect-ratio:16/9;position:relative;left:auto}.hero-img{object-position:50% 50%}.hero-visual .cap{padding:var(--space-3) var(--margin) 0;display:block;position:static}.hero[data-visual]{padding-top:var(--header-h)}.hero-copy{padding-top:var(--space-6);padding-bottom:var(--space-8)}.hero:not([data-visual]) .hero-copy{padding-top:calc(var(--header-h) + var(--space-8))}.hero h1,.hero[data-size=md] h1{max-width:none}.hero-act{margin-top:var(--space-6);max-width:none}.parti{isolation:auto;min-height:0;display:block}.parti-media{z-index:0;aspect-ratio:16/9;position:relative;inset:auto}.parti-media .cap{padding:var(--space-3) var(--margin) 0;display:block;position:static}.parti-copy{padding-block:var(--space-8) var(--section-y)}.parti-text{max-width:none}}@media (width<=860px){.hero-visual,.parti-media{aspect-ratio:4/5}.modules-fig{grid-column:1/-1}.statement .wrap{min-height:0}.spec-fig{max-width:none}.limits li{grid-template-columns:var(--space-7) minmax(0, 1fr)}.contact .wrap{gap:var(--space-9);min-height:0}.f-nav{grid-column:1/span 6}.f-contact{grid-column:1/-1}.prose h2,.prose-body,article.prose .prose-body{grid-area:auto/1/auto/-1}.prose h2+.prose-body{grid-row:auto}.hero:not([data-visual]) .hero-copy{padding-top:calc(var(--header-h) + var(--space-9));padding-bottom:var(--space-8)}article.prose .wrap{padding-top:calc(var(--header-h) + var(--space-9))}article.prose .wrap>p.small:nth-of-type(2){margin-top:var(--space-5);grid-area:auto/1/auto/-1}article.prose .prose-body{margin-top:var(--space-4)}.index a>p.date{grid-area:1/1/auto/span 10}.index .t{grid-area:2/1/auto/span 10}.index a>p.summary{grid-area:3/1/auto/span 10}.index a:after{grid-column:11/span 2}.notfound .wrap{min-height:0;padding-top:calc(var(--header-h) + var(--space-9))}.js .menu-btn{align-items:center;gap:var(--space-2);min-width:44px;height:44px;color:var(--color-ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;justify-content:flex-end;padding:0;display:inline-flex}.menu-ico{width:14px;height:8px;position:relative}.menu-ico:before,.menu-ico:after{content:"";width:14px;height:1.5px;transition:transform var(--dur-fade) var(--ease), top var(--dur-fade) var(--ease);background:currentColor;position:absolute;left:0}.menu-ico:before{top:0}.menu-ico:after{top:6.5px}.site-header[data-open] .menu-ico:before{top:3.25px;transform:rotate(45deg)}.site-header[data-open] .menu-ico:after{top:3.25px;transform:rotate(-45deg)}.js .nav{left:calc(var(--margin) * -1);right:calc(var(--margin) * -1);padding:var(--space-3) var(--margin) var(--space-6);background:var(--color-bg);opacity:0;visibility:hidden;transition:opacity var(--dur-fade) var(--ease), visibility 0s linear var(--dur-fade);flex-direction:column;gap:0;position:absolute;top:100%}.js .site-header[data-open] .nav{opacity:1;visibility:visible;transition-delay:0s}.js .nav a{font-size:var(--text-h3);font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading);padding:var(--space-4) 0;color:var(--color-ink);margin-inline:0}html:not(.js) .bar{height:auto;padding-block:var(--space-2);flex-wrap:wrap}html:not(.js) .nav{flex-wrap:wrap}}@media (width<=560px){.foot-mark{font-size:20.2vw}.contact a{font-size:clamp(1.5rem,8.2vw,2.5rem)}.f-nav,.f-contact{grid-column:1/-1}.f-nav{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr))}.f-nav a.lang{margin-top:0}}html:lang(zh-Hans){--tracking-display:0;--tracking-heading:0;--tracking-label:.04em;--leading-display:1.2;--leading-heading:1.3;--leading-body:1.8;--leading-prose:1.9;--measure:34em;--text-hero:clamp(2.25rem, 1rem + 4.4vw, 4.75rem);--text-h1:clamp(2.25rem, 1.2rem + 3.4vw, 4rem);--text-h2:clamp(1.75rem, 1rem + 2.6vw, 3.25rem);--text-display:clamp(1.5rem, .9rem + 2.8vw, 3.25rem)}html:lang(zh-Hans) .hero h1,html:lang(zh-Hans) .hero[data-size=md] h1,html:lang(zh-Hans) .notfound h1,html:lang(zh-Hans) article.prose h1{max-width:11em}html:lang(zh-Hans) h1,html:lang(zh-Hans) h2{text-wrap:balance;word-break:keep-all;line-break:strict}html:lang(zh-Hans) .statement p:first-child{max-width:17em}html:lang(zh-Hans) p,html:lang(zh-Hans) .parti .t,html:lang(zh-Hans) .index .t{word-break:auto-phrase;line-break:strict}html:lang(zh-Hans) .limits li{text-wrap:balance}html:lang(zh-Hans) .f-line{text-wrap:balance;word-break:keep-all;max-width:24em}html:lang(zh-Hans) .parti .s{max-width:20em}html:lang(zh-Hans) .parti .t{max-width:11em}html:lang(zh-Hans) .foot-mark{letter-spacing:0;line-height:1}html:lang(zh-Hans) .button,html:lang(zh-Hans) .brand b{letter-spacing:0}html:lang(zh-Hans) .nav a,html:lang(zh-Hans) .small{font-weight:var(--weight-regular)}@media (width<=860px){html:lang(zh-Hans) .hero h1,html:lang(zh-Hans) .hero[data-size=md] h1{max-width:none}}@media (width<=480px){html:lang(zh-Hans){--text-hero:2rem}}main:not(:has(.parti,.specimen)) .contact h2.small:before{content:none}main:not(:has(.parti,.specimen)) .contact h2.small{gap:0}.journal-cover{margin:var(--space-4) 0 var(--space-5);grid-column:1/-1}.journal-cover-img{aspect-ratio:21/9;object-fit:cover;object-position:50% 62%;width:100%;height:auto;display:block}.journal-cover .cap{margin-top:var(--space-4);display:block}@media (width<=860px){.journal-cover-img{aspect-ratio:4/5;object-position:50% 50%}}.plate .wrap{padding-block:var(--section-y) var(--space-7);column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.plate-fig{grid-column:3/span 8;margin:0}.plate-img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.plate-fig .cap{margin-top:var(--space-4);display:block}@media (width<=860px){.plate-fig{grid-column:1/-1}}.figtext .wrap{padding-block:0 var(--section-y);column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid}.ft-figs{gap:var(--space-6);display:grid}.ft-fig{margin:0}.ft-img{width:100%;height:auto;display:block}.ft-fig .cap{margin-top:var(--space-4);display:block}.ft-text{gap:var(--space-5);flex-direction:column;display:flex}.ft-text p{max-width:22ch;font-size:var(--text-h3);line-height:1.25;font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading);text-wrap:balance}.figtext[data-side=left] .ft-figs{grid-area:1/1/auto/span 7}.figtext[data-side=left] .ft-text{grid-area:1/9/auto/span 4}.figtext[data-side=right] .ft-figs{grid-area:1/6/auto/span 7}.figtext[data-side=right] .ft-text{grid-area:1/1/auto/span 4}.figtext[data-shape=portrait][data-side=left] .ft-figs{grid-column:1/span 5}.figtext[data-shape=portrait][data-side=left] .ft-text{grid-column:8/span 4}.figtext[data-shape=portrait][data-side=right] .ft-figs{grid-column:8/span 5}@media (width<=860px){.figtext .wrap{row-gap:var(--space-6)}.figtext[data-side] .ft-figs,.figtext[data-side] .ft-text{grid-area:auto/1/auto/-1}.figtext[data-shape=portrait][data-side] .ft-figs,.figtext[data-shape=portrait][data-side] .ft-text{grid-column:1/-1}.figtext[data-shape=portrait] .ft-fig{max-width:30rem}.ft-text p{max-width:none}}.figtext[data-mode=chapter] .ft-text{gap:var(--space-5)}.figtext[data-mode=chapter][data-side=left] .ft-text{grid-column:9/span 4}.figtext[data-mode=chapter][data-side=right] .ft-text{grid-column:1/span 4}.figtext[data-mode=chapter][data-shape=portrait][data-side=left] .ft-text{grid-column:7/span 5}.ft-stage{align-items:baseline;gap:var(--space-4);counter-increment:sec;color:var(--color-ink-2);display:flex}.ft-stage:before{content:counter(sec, decimal-leading-zero);font-variant-numeric:tabular-nums;color:var(--color-ink-3)}.ft-text .ft-h{font-size:var(--text-h3);line-height:1.15;font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading);text-wrap:balance}.ft-body{gap:var(--space-4);font-size:var(--text-lede);line-height:var(--leading-prose);color:var(--color-ink-2);display:grid}.ft-body p{max-width:38ch;font-size:inherit;line-height:inherit;font-weight:var(--weight-regular);letter-spacing:0;margin:0}@media (width<=860px){.figtext[data-mode=chapter] .ft-text{grid-column:1/-1!important}.ft-body p{max-width:none}}.ft-ph{aspect-ratio:16/9;padding:var(--space-5);text-align:center;background:var(--color-surface);border:1px dashed var(--color-line-strong);place-items:center;display:grid}.ft-ph .label{color:var(--color-ink-3);max-width:32ch}.diagram .wrap{padding-block:0 var(--section-y);gap:var(--space-6);display:grid}.dg-scroll{overflow-x:auto}.dg{width:100%;min-width:44rem;height:auto;display:block}.dg-t,.dg-t7,.dg-t5{font-family:var(--font-sans);fill:var(--color-ink)}.dg-t{font-weight:400}.dg-t5{font-weight:500}.dg-t7{font-weight:var(--weight-medium)}.dg-muted{fill:var(--color-ink-3)}.dg-soft{fill:var(--color-ink-2)}.dg-accent,.dg-labacc{fill:var(--color-accent)}.dg-onacc{fill:#000}.dg-lab,.dg-labacc{font-family:var(--font-label);letter-spacing:.06em;font-weight:400}.dg-lab{fill:var(--color-ink-3)}.dg-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.figtext[data-mode=image] .ft-figs{grid-row:1;grid-column:3/span 8!important}@media (width<=860px){.figtext[data-mode=image] .ft-figs{grid-column:1/-1!important}}@media (width>=861px){.figtext[data-mode=image] .ft-figs:has(.ft-fig+.ft-fig){gap:var(--space-4);grid-template-columns:1fr 1fr;grid-column:1/-1!important}}.je-fig{margin:var(--space-7) 0}.je-img{width:100%;height:auto;display:block}.f-legal-nav{gap:0 var(--space-5);flex-wrap:wrap;display:flex}.f-legal-nav a{min-width:44px;min-height:44px;color:var(--color-ink-2);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);justify-content:center;align-items:center;text-decoration-thickness:1px;display:inline-flex}.nf-nav{gap:0 var(--space-5);width:100%;margin-top:var(--space-5);flex-wrap:wrap;grid-column:1/-1;display:flex}.nf-nav a{white-space:nowrap;min-width:44px;min-height:44px;color:var(--color-ink-2);-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);justify-content:center;align-items:center;text-decoration-thickness:1px;display:inline-flex}.linklist dt a{min-width:44px;min-height:44px;-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong);text-underline-offset:.2em;align-items:center;text-decoration-thickness:1px;display:inline-flex}.linklist dt a:hover{color:var(--color-accent)}
