@layer reset,base,layout,components,responsive;
@layer reset {
 *,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0px}body{margin:0}img{max-width:100%;height:auto;display:block}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}table{border-collapse:collapse}h1,h2,h3,p,figure{margin:0}button,summary{cursor:pointer}summary{list-style:none}summary::-webkit-details-marker{display:none}dialog{padding:0}details:not([open])>*:not(summary){display:none}
}
@layer base {
 :root{--ink:#203044;--muted:#6b7787;--blue:#1766ab;--navy:#142c46;--line:#dfe6ed;--light:#f4f7fa;--paper:#fff;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans JP",sans-serif}
 body{font-family:var(--font);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.78;-webkit-font-smoothing:antialiased}a{text-underline-offset:3px}a:hover{color:var(--blue)}::selection{background:#d9eaff;color:#102b49}:focus-visible{outline:3px solid #4d92dc;outline-offset:4px;border-radius:3px}h1,h2,h3{color:#14293e;font-weight:700;overflow-wrap:anywhere}h1{font-size:clamp(32px,3.5vw,46px);line-height:1.18;letter-spacing:-.035em;font-weight:740;text-wrap:balance}h2{font-size:29px;line-height:1.3;letter-spacing:-.022em;text-wrap:pretty}h3{font-size:21px;line-height:1.45;letter-spacing:-.01em}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em;background:#edf3f8;color:#1b507b;padding:3px 6px;border-radius:4px;overflow-wrap:anywhere}strong{font-weight:650}svg{flex-shrink:0}
}
@layer layout {
 .site-header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{max-width:1300px;margin:auto;padding:0 40px;min-height:86px;display:flex;align-items:center;gap:32px}.brand{flex-shrink:0}.brand img{width:242px;height:auto}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px;font-weight:550;line-height:1.4}.desktop-nav>a{text-decoration:none}.header-actions{display:flex;align-items:center;gap:16px}.page-shell{max-width:1300px;margin:auto;padding:38px 40px 80px}.page-grid{display:grid;grid-template-columns:minmax(0,840px) 236px;column-gap:72px;align-items:start}.review{min-width:0}.article-header{padding-bottom:30px}.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:38px}.breadcrumbs a{text-decoration:none}.breadcrumbs>span[aria-hidden]{color:#bdc8d3}.article-label{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:var(--blue);margin-bottom:17px}.label-rule{width:25px;height:2px;background:var(--blue)}.label-dot{color:#a5b8c8;font-size:14px}.article-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:23px}.article-meta a{text-decoration:none;color:#3a5269;font-weight:550}.meta-divider{height:12px;width:1px;background:#cbd5df}.article-sidebar{align-self:stretch;min-width:0}.sidebar-sticky{position:sticky;top:116px;padding-top:12px}.host-logo{display:flex;align-items:center;min-height:42px;padding-bottom:27px;margin-bottom:26px;border-bottom:1px solid var(--line)}.host-logo img{width:132px;max-width:100%;height:auto;border-radius:2px}.desktop-toc>p{color:#536478;text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:.15em;margin:0 0 18px}.desktop-toc ol,.mobile-toc ol{padding:0;margin:0;list-style:none}.desktop-toc ol{border-left:1px solid var(--line)}.desktop-toc a{display:flex;align-items:baseline;gap:10px;color:#5a6879;font-size:12px;line-height:1.45;text-decoration:none;padding:8px 0 8px 15px;border-left:2px solid transparent;margin-left:-1px;transition:color .15s,border-color .15s,background-color .15s}.desktop-toc .toc-number{font-size:10px;font-variant-numeric:tabular-nums;color:#a2afbd;min-width:14px}.desktop-toc a:hover,.desktop-toc a[aria-current="location"]{color:var(--blue);border-left-color:var(--blue);background:linear-gradient(90deg,#f0f6fc,transparent)}.desktop-toc a[aria-current="location"] .toc-number{color:var(--blue)}.sidebar-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:26px;padding-top:16px;font-size:11px;color:#6d7d8f;text-decoration:none}.sidebar-top span{font-size:16px}.mobile-toc{display:none}.site-footer{border-top:1px solid var(--line);background:#f7f9fb;padding:42px 40px}.footer-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:24px 72px}.footer-brand>a{font-size:20px;font-weight:750;text-decoration:none;letter-spacing:-.04em}.footer-brand>a>span{color:#8794a2;font-weight:450}.footer-brand p{font-size:11px;color:#778596;margin-top:8px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px;font-size:12px;line-height:1.6}.footer-links a{text-decoration:none;color:#52647a}.footer-languages{grid-column:1/-1;display:flex;gap:22px;padding-top:22px;border-top:1px solid var(--line);font-size:11px}.footer-languages a{text-decoration:none;color:#6c7b8c}.footer-languages [aria-current]{color:var(--blue);font-weight:650}
}
@layer components {
 .skip-link{position:fixed;top:-100px;left:20px;background:var(--navy);color:#fff;padding:10px 20px;z-index:100}.skip-link:focus{top:8px}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:#287fbd;transform:scaleX(0);transform-origin:left}.nav-dropdown,.language-dropdown{position:relative}.nav-dropdown>summary,.language-dropdown>summary{display:flex;align-items:center;gap:7px;user-select:none}.language-dropdown>summary{font-size:12px;font-weight:600;padding:8px 0 8px 23px;border-left:1px solid var(--line)}.language-dropdown summary>span,.nav-dropdown summary>span{font-size:13px;color:#8a98a7}.dropdown-panel{position:absolute;top:calc(100% + 18px);right:0;min-width:175px;background:#fff;padding:8px;border:1px solid var(--line);border-radius:7px;box-shadow:0 10px 30px #142c4612;z-index:35;display:flex;flex-direction:column}.dropdown-panel a{padding:8px 13px;text-decoration:none;font-size:13px;color:#42566c;border-radius:4px;line-height:1.5}.dropdown-panel a:hover,.dropdown-panel [aria-current]{background:#edf4fb;color:var(--blue)}.mobile-menu{display:none}.article-intro{border-top:1px solid var(--line);padding-top:25px;padding-bottom:6px}.article-intro>p:first-child{font-size:13px;color:#6f7b89;margin-bottom:15px}.article-intro>p:first-child em{font-style:normal}.article-intro>p:not(:first-child){font-size:17px;line-height:1.8;color:#4b5b6e}.article-section{margin-top:43px;border-top:1px solid var(--line);padding-top:34px}.article-section:first-of-type{margin-top:28px;padding:28px 30px;background:#f4f8fc;border:1px solid #e3edf7;border-left:3px solid #397db2;border-radius:0 5px 5px 0}.article-section h2{margin-bottom:22px;scroll-margin-top:110px}.article-section h3{margin-top:30px;margin-bottom:13px;scroll-margin-top:110px}.article-body p{margin-bottom:19px}.article-body a:not(.purchase-button):not(.image-link){color:#1663a3;text-decoration-color:#9abedb}.article-body a:not(.purchase-button):not(.image-link):hover{text-decoration-color:currentColor}.article-body ul,.article-body ol{padding-left:25px;margin:16px 0 25px}.article-body li{padding-left:5px;margin:9px 0}.article-body li::marker{color:#687b8e}.article-body ol>li::marker{font-weight:650;color:#21689e}.article-body p:last-child{margin-bottom:0}.article-body .screenshot{margin:27px 0 31px}.image-link{display:block;padding:12px;background:#f5f7fa;border:1px solid #e0e7ee;border-radius:6px;cursor:zoom-in}.image-link:hover{border-color:#87adcd;background:#f1f5f9}.image-link img{width:auto;max-width:100%;max-height:680px;margin:auto;object-fit:contain}.screenshot figcaption{font-size:12px;line-height:1.65;color:#758293;margin:10px 4px 0;max-width:760px}.table-scroll{margin:24px 0;overflow-x:auto;border:1px solid var(--line);border-radius:5px;max-width:100%;scrollbar-width:thin;background:#fff}.data-table{width:100%;font-size:13px;line-height:1.7;text-align:left}.data-table th{background:#eef3f8;color:#34516b;font-size:11px;font-weight:700;letter-spacing:.025em;padding:13px 17px;border-bottom:1px solid #d9e3ec;vertical-align:top;white-space:normal}.data-table td{padding:13px 17px;border-bottom:1px solid #e7edf3;vertical-align:top;overflow-wrap:anywhere}.data-table tr:last-child>td{border-bottom:0}.data-table tbody>tr:nth-child(even){background:#fafbfd}.data-table td:first-child{font-weight:560;color:#334d66}.data-table td strong{font-weight:700}.data-table td code{font-size:11px}.wide-table{min-width:610px;font-size:12px}.wide-table th,.wide-table td{padding:12px}.wide-table td:first-child{min-width:90px}.price-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.price-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;min-width:0}.price-label{margin:0!important;padding:14px 17px;background:#edf4fa;color:#215b88;font-size:12px;letter-spacing:.055em}.price-card:last-child .price-label{background:#142c46;color:#fff}.price-card .table-scroll{margin:0;border:0;border-radius:0}.price-card .data-table td{padding:12px 16px;font-variant-numeric:tabular-nums}.price-card .data-table th{background:#fff;color:#8292a3;font-size:10px}.purchase-button{display:table!important;text-align:center;background:var(--blue);color:#fff!important;font-size:14px;font-weight:650;line-height:1.5;padding:14px 23px;border:1px solid var(--blue);border-radius:5px;text-decoration:none!important;box-shadow:0 2px 3px #1238560a;margin:25px 0;transition:background .15s,transform .15s;max-width:100%}.purchase-button:hover{background:#10538c;border-color:#10538c;transform:translateY(-1px)}.purchase-button+p{font-size:11px;color:#7d8998;margin-top:-12px}.article-end{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;text-align:right;font-size:12px}.article-end a{text-decoration:none;color:#526b82}.article-end span{margin-left:15px}.image-viewer{position:fixed;margin:auto;max-width:96vw;max-height:94vh;width:fit-content;border:0;border-radius:8px;background:#fff;box-shadow:0 16px 70px #0004;overflow:visible}.image-viewer::backdrop{background:#0e2036dc;backdrop-filter:blur(3px)}.viewer-scroll{max-height:90vh;max-width:94vw;overflow:auto;padding:20px}.viewer-scroll>img{max-width:88vw;max-height:80vh;width:auto;height:auto;object-fit:contain}.viewer-scroll>p{max-width:850px;margin:13px auto 0;font-size:12px;color:#687b8f;line-height:1.6}.viewer-close{position:absolute;right:-9px;top:-13px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;z-index:2}.image-viewer[open]{display:block}body:has(.image-viewer[open]){overflow:hidden}
 html[lang^="de"] h1,html[lang^="de"] h2,html[lang^="de"] h3{hyphens:auto}html[lang^="ja"] body{line-height:1.95;overflow-wrap:anywhere}html[lang^="ja"] h1{letter-spacing:-.025em;line-height:1.45;font-size:37px;text-wrap:pretty}html[lang^="ja"] h2{font-size:26px;line-height:1.55}html[lang^="ja"] h3{line-height:1.7}html[lang^="ja"] .article-intro>p{line-height:1.95}
}
@layer responsive {
 @media(min-width:1051px) and (max-height:820px){.sidebar-sticky{top:100px}.host-logo{padding-bottom:16px;margin-bottom:19px}.desktop-toc a{padding-block:6px}.sidebar-top{margin-top:18px}}
 @media(min-width:1051px) and (max-height:680px){.desktop-toc ol{max-height:calc(100vh - 270px);overflow-y:auto;scrollbar-width:thin}}
 @media(max-width:1200px){.page-grid{column-gap:42px;grid-template-columns:minmax(0,1fr) 218px}.header-inner{gap:24px}.desktop-nav{gap:20px}.brand img{width:220px}h1{font-size:40px}.page-shell{padding-inline:32px}}
 @media(max-width:1050px){.article-sidebar{display:none}.page-grid{display:block;max-width:820px;margin:auto}.page-shell{padding-top:27px}.header-inner{padding-inline:28px;min-height:76px}.desktop-nav{gap:20px;font-size:12px}.brand img{width:210px}.mobile-toc{display:block;border:1px solid var(--line);background:#f8fafc;border-radius:5px;margin:0 0 26px}.mobile-toc>summary{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:650;padding:13px 17px;color:#34516b}.mobile-toc[open]>summary{border-bottom:1px solid var(--line)}.mobile-toc[open]>summary>span{transform:rotate(45deg)}.mobile-toc ol{padding:10px 17px 14px}.mobile-toc a{font-size:13px;text-decoration:none;color:#526b82;display:flex;gap:13px;padding:6px 0;line-height:1.5}.mobile-toc .toc-number{font-size:10px;color:#92a1b0;min-width:14px}.article-header{padding-bottom:24px}.breadcrumbs{margin-bottom:29px}.site-footer{padding:32px}}
 @media(max-width:760px){body{font-size:16px;line-height:1.8}.header-inner{padding:0 20px;min-height:70px;gap:16px}.brand img{width:205px}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:18px}.language-dropdown>summary{padding-left:0;border:0;font-size:11px;gap:5px}.language-dropdown>summary>svg{display:none}.mobile-menu{display:block}.mobile-menu summary{width:24px;height:28px;display:flex;align-items:center;justify-content:center}.menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:20px;height:1.5px;background:#364e64;position:relative}.menu-lines::before,.menu-lines::after{content:"";position:absolute;top:-6px}.menu-lines::after{top:6px}.mobile-menu[open] .menu-lines{background:transparent}.mobile-menu[open] .menu-lines::before{top:0;transform:rotate(45deg)}.mobile-menu[open] .menu-lines::after{top:0;transform:rotate(-45deg)}.mobile-menu>nav{position:absolute;left:0;right:0;top:70px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #142c4608;display:flex;flex-direction:column;gap:5px}.mobile-menu nav a{font-size:14px;text-decoration:none;padding:8px 0}.page-shell{padding:22px 20px 55px}.breadcrumbs{font-size:11px;gap:8px;margin-bottom:29px}.article-label{font-size:10px;margin-bottom:15px}h1{font-size:34px;letter-spacing:-.035em;line-height:1.2;text-wrap:pretty}h2{font-size:25px;line-height:1.38}h3{font-size:20px}.article-meta{gap:9px;font-size:10px;line-height:1.7;margin-top:20px}.meta-divider{height:10px}.article-intro{padding-top:17px}.article-intro>p:first-child{font-size:12px;line-height:1.7}.article-intro>p:not(:first-child){font-size:16px;line-height:1.85}.article-section{margin-top:32px;padding-top:26px}.article-section:first-of-type{padding:22px 18px;margin-top:22px}.article-section h2{margin-bottom:18px}.article-body p{margin-bottom:18px}.article-body .screenshot{margin:23px 0 27px}.image-link{padding:6px;border-radius:4px}.image-link img{max-height:580px}.screenshot figcaption{font-size:11px;line-height:1.65;margin-top:9px}.data-table{font-size:12px;line-height:1.65}.data-table td,.data-table th{padding:11px 12px}.data-table th{font-size:10px}.table-scroll{margin:21px 0}.wide-table{min-width:580px}.wide-table th,.wide-table td{padding:11px}.price-pair{gap:12px;margin:22px 0}.price-card .data-table td{padding:10px;font-size:11px}.price-card .data-table th{padding:10px}.price-label{padding:12px;font-size:11px}.purchase-button{font-size:13px;padding:13px 18px;line-height:1.6;margin:22px 0}.footer-inner{grid-template-columns:1fr;gap:25px}.site-footer{padding:31px 20px}.footer-links{font-size:11px;gap:12px 20px}.footer-brand>a{font-size:20px}.footer-languages{gap:25px;flex-wrap:wrap;padding-top:20px}.viewer-scroll{padding:10px}.viewer-scroll>img{max-width:89vw}.image-viewer{max-width:96vw}.viewer-close{right:-3px;top:-14px}html[lang^="ja"] h1{font-size:29px;line-height:1.5}html[lang^="ja"] h2{font-size:23px}html[lang^="de"] h1,html[lang^="de"] h2,html[lang^="de"] h3{hyphens:auto}html[lang^="ja"] body{font-size:15.5px}html[lang^="ja"] .article-intro>p:not(:first-child){font-size:15.5px}}
 @media(max-width:370px){.brand img{width:180px}.header-actions{gap:12px}.header-inner{padding-inline:16px}.page-shell{padding-inline:16px}h1{font-size:31px}.price-pair{grid-template-columns:1fr}}
 @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
 @media print{.site-header,.article-sidebar,.mobile-toc,.reading-progress,.site-footer,.image-viewer,.article-end{display:none!important}.page-shell{max-width:none;padding:0}.page-grid{display:block}.article-section{break-inside:auto}.screenshot,.data-table tr{break-inside:avoid}.purchase-button{background:none;color:#000!important;border-color:#000}.table-scroll{overflow:visible}.wide-table{min-width:0}.article-section:first-of-type{background:none}}
}
