:root{color-scheme:dark light;--bg-0:#070a14;--bg-1:#0b1020;--bg-2:#111830;--gloss:#c8b4d6;--gloss-bright:#f0e6f2;--sheen:#fbf7fb;--deep:#1d2440;--text:#eceaf5;--text-soft:#b3b0c8;--text-faint:#7a7794;--glass-bg:rgba(30,36,62,.55);--glass-bg-strong:rgba(22,28,50,.72);--glass-border:rgba(240,230,242,.16);--glass-hi:hsla(0,0%,100%,.14);--hairline:rgba(240,230,242,.1);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 12px 34px rgba(0,0,0,.42);--shadow-lg:0 30px 80px rgba(0,0,0,.55);--accent-grad:linear-gradient(120deg,var(--gloss-bright),var(--gloss));--on-accent:#14182c;--nav-h:3.5rem;--radius:18px;--radius-sm:12px;--maxw:74rem;--ease:cubic-bezier(0.22,0.61,0.36,1);--ease-soft:cubic-bezier(0.4,0,0.2,1)}@media (prefers-color-scheme:light){:root{--bg-0:#f6f4fa;--bg-1:#eeebf5;--bg-2:#e3dfee;--gloss:#6b5a86;--gloss-bright:#8a76a8;--sheen:#fff;--deep:#241c3a;--text:#1a1630;--text-soft:#453f5e;--text-faint:#6b6483;--glass-bg:hsla(0,0%,100%,.58);--glass-bg-strong:hsla(0,0%,100%,.74);--glass-border:rgba(60,45,95,.18);--glass-hi:hsla(0,0%,100%,.85);--hairline:rgba(60,45,95,.14);--shadow-sm:0 1px 2px rgba(30,22,50,.12);--shadow-md:0 12px 30px rgba(30,22,50,.16);--shadow-lg:0 26px 66px rgba(30,22,50,.22);--accent-grad:linear-gradient(120deg,#6b5a86,#4d4068);--on-accent:#fff}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg-1);color:var(--text);font-family:system-ui,sans-serif;letter-spacing:0;line-height:1.6;margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{background:radial-gradient(120% 90% at 78% -10%,rgba(200,180,214,.16),transparent 55%),radial-gradient(90% 70% at 8% 8%,rgba(186,172,224,.1),transparent 50%),radial-gradient(100% 120% at 50% 120%,rgba(29,36,64,.5),transparent 60%),linear-gradient(180deg,var(--bg-0),var(--bg-1) 40%,var(--bg-2));content:"";inset:0;position:fixed;z-index:-2}@media (prefers-color-scheme:light){body:before{background:radial-gradient(120% 90% at 80% -10%,rgba(138,118,168,.24),transparent 55%),radial-gradient(90% 70% at 6% 6%,rgba(186,172,224,.2),transparent 50%),linear-gradient(180deg,var(--bg-0),var(--bg-1) 45%,var(--bg-2))}}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:rgba(200,180,214,.35);color:var(--sheen)}:focus-visible{border-radius:4px;outline:2px solid var(--gloss-bright);outline-offset:3px}.wrap{margin-inline:auto;max-width:var(--maxw);padding-inline:clamp(1.1rem,4vw,2.5rem);width:100%}section{position:relative}.section-pad{padding-block:clamp(3.5rem,9vw,7rem)}.eyebrow{color:var(--gloss);display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;margin:0 0 .9rem;text-transform:uppercase}h2.sect-title{font-size:clamp(1.7rem,4.4vw,2.8rem);font-weight:750;letter-spacing:-.02em;line-height:1.08;margin:0 0 .7rem}.sect-lead{color:var(--text-soft);font-size:clamp(1rem,2.2vw,1.12rem);margin:0 0 clamp(2rem,5vw,3rem);max-width:46rem}@media (min-width:860px){html{font-size:120%}:root{--maxw:61.7rem;--nav-h:2.92rem}}.nav{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background:var(--glass-bg-strong);border-bottom:1px solid var(--hairline);box-shadow:0 1px 0 var(--glass-hi) inset;height:var(--nav-h);left:0;position:fixed;right:0;top:0;z-index:100}.nav,.nav .wrap{align-items:center;display:flex}.nav .wrap{gap:1rem;width:100%}.brand{align-items:center;display:flex;font-size:.98rem;font-weight:700;gap:.6rem;letter-spacing:-.01em;white-space:nowrap}.brand .mark{filter:drop-shadow(0 1px 3px rgba(200,180,214,.5));flex:0 0 auto;height:1.55rem;width:1.55rem}.nav-links{align-items:center;display:flex;font-size:.9rem;gap:clamp(.6rem,2vw,1.4rem);margin-left:auto}.nav-links a.navlink{color:var(--text-soft);transition:color .2s var(--ease-soft)}.nav-links a.navlink:hover{color:var(--text)}.lang-switch{align-items:center;border:1px solid var(--glass-border);border-radius:999px;color:var(--text-soft);display:inline-flex;font-size:.78rem;font-weight:650;letter-spacing:.02em;padding:.32rem .62rem;text-decoration:none;transition:color .2s var(--ease-soft),background .2s var(--ease-soft),border-color .2s var(--ease-soft);white-space:nowrap}.lang-switch:hover{background:var(--glass-bg);border-color:var(--glass-hi);color:var(--text)}.nav-inner-links{display:flex;gap:clamp(.6rem,2vw,1.4rem)}.nav-cta{align-items:center;background:var(--accent-grad);border-radius:999px;box-shadow:var(--shadow-sm),0 0 0 1px hsla(0,0%,100%,.2) inset;color:var(--on-accent);display:inline-flex;font-size:.86rem;font-weight:650;gap:.35rem;padding:.4rem .85rem;transition:transform .18s var(--ease),filter .18s var(--ease-soft);white-space:nowrap}.nav-cta:hover{filter:brightness(1.06);transform:translateY(-1px)}.nav-cta svg{height:1rem;width:1rem}@media (max-width:640px){.nav-inner-links{display:none}}.hero{overflow:hidden;padding-bottom:clamp(3rem,8vw,6rem);padding-top:calc(var(--nav-h) + clamp(2.5rem, 8vw, 5rem));position:relative}.hero .wrap{display:grid;gap:clamp(2rem,5vw,3.2rem)}@media (min-width:980px){.hero .wrap{align-items:center;grid-template-columns:1.05fr .95fr}}.hero-copy{max-width:40rem;min-width:0}.hero-figure{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:clamp(16px,2.2vw,26px);box-shadow:var(--shadow-lg);isolation:isolate;margin:0;overflow:hidden;position:relative}.hero-figure img{display:block;height:auto;width:100%}.hero-figure:after{border-radius:inherit;box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 0 0 1px var(--glass-border),inset 0 30px 60px -40px rgba(240,230,242,.28);content:"";inset:0;pointer-events:none;position:absolute}.shot{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:clamp(14px,2vw,22px);box-shadow:var(--shadow-md);isolation:isolate;margin:0 0 clamp(1.6rem,4vw,2.4rem);max-width:46rem;overflow:hidden;position:relative}.shot img{display:block;height:auto;width:100%}.shot figcaption{border-top:1px solid var(--hairline);color:var(--text-faint);font-size:.85rem;line-height:1.55;padding:.7rem 1.1rem .9rem}.badge{align-items:center;background:rgba(200,180,214,.1);border:1px solid var(--glass-border);border-radius:999px;color:var(--gloss-bright);display:inline-flex;font-size:.78rem;font-weight:650;gap:.45rem;letter-spacing:.01em;margin-bottom:1.2rem;padding:.32rem .8rem}.badge .dot{background:var(--gloss-bright);border-radius:50%;box-shadow:0 0 8px var(--gloss-bright);height:.45rem;width:.45rem}.hero h1{background:linear-gradient(180deg,var(--sheen),var(--gloss));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(2.4rem,7vw,4.1rem);font-weight:780;letter-spacing:-.03em;line-height:1.4;margin:0 0 .2rem}@media (prefers-color-scheme:light){.hero h1{background:linear-gradient(180deg,#1a1630,#6b5a86);-webkit-background-clip:text;background-clip:text}}.hero .jp-name{color:var(--text-soft);font-size:clamp(1.05rem,3vw,1.45rem);font-weight:600;letter-spacing:.01em;margin:0 0 1.1rem}.hero .catch{color:var(--text);font-size:clamp(1.02rem,2.4vw,1.22rem);line-height:1.55;margin:0 0 1.6rem;max-width:36rem}.hero-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.9rem}.tag{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;color:var(--text-soft);font-size:.82rem;font-weight:600;padding:.36rem .8rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.btn{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:650;gap:.45rem;padding:.7rem 1.3rem;transition:transform .18s var(--ease),filter .2s var(--ease-soft),background .2s var(--ease-soft)}.btn-primary{background:var(--accent-grad);box-shadow:var(--shadow-md),0 0 0 1px hsla(0,0%,100%,.22) inset;color:var(--on-accent)}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-2px)}.btn-ghost{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text)}.btn-ghost:hover{background:var(--glass-bg-strong);transform:translateY(-2px)}.btn svg{height:1.1rem;width:1.1rem}.feature-grid{display:grid;gap:clamp(.8rem,2vw,1.1rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.card{-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:0 1px 0 var(--glass-hi) inset,var(--shadow-sm);padding:1.3rem 1.3rem 1.4rem;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease-soft),border-color .25s var(--ease-soft)}.card:hover{border-color:rgba(240,230,242,.4);box-shadow:0 1px 0 var(--glass-hi) inset,var(--shadow-md);transform:translateY(-4px)}.card .icon{background:rgba(200,180,214,.12);border:1px solid var(--glass-border);border-radius:12px;color:var(--gloss-bright);display:grid;height:2.6rem;margin-bottom:.9rem;place-items:center;width:2.6rem}.card .icon svg{height:1.5rem;width:1.5rem}.card h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .4rem}.card p{color:var(--text-soft);font-size:.9rem;line-height:1.55;margin:0}.steps{counter-reset:step;display:grid;gap:.9rem;max-width:52rem}.step{align-items:start;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);display:grid;gap:1rem;grid-template-columns:auto 1fr;padding:1.1rem 1.3rem}.step .num{background:var(--accent-grad);border-radius:50%;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:var(--on-accent);counter-increment:step;display:grid;flex:0 0 auto;font-size:.95rem;font-weight:750;height:2rem;place-items:center;width:2rem}.step .num:before{content:counter(step)}.step h3{font-size:1rem;margin:.15rem 0 .35rem}.step p{line-height:1.55;margin:.15rem 0 0}.step p+p{margin-top:.5rem}.step code{font-size:.92em}.note{background:rgba(200,180,214,.08);border:1px solid var(--glass-border);border-left:3px solid var(--gloss);border-radius:var(--radius-sm);color:var(--text-soft);display:flex;font-size:.92rem;gap:.7rem;line-height:1.55;margin-top:1.4rem;max-width:52rem;padding:.95rem 1.1rem}.note svg{color:var(--gloss);flex:0 0 auto;height:1.2rem;margin-top:.1rem;width:1.2rem}.mono,code{background:rgba(200,180,214,.12);border:1px solid var(--hairline);border-radius:6px;color:var(--gloss-bright);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em;padding:.1em .42em;word-break:break-word}@media (prefers-color-scheme:light){.mono,code{color:var(--deep)}}.params{max-width:62rem}details.param-group{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);margin-bottom:.7rem;overflow:hidden}details.param-group>summary{align-items:center;cursor:pointer;display:flex;font-size:1.02rem;font-weight:700;gap:.7rem;letter-spacing:-.01em;list-style:none;padding:1rem 1.2rem;transition:background .2s var(--ease-soft);user-select:none}details.param-group>summary::-webkit-details-marker{display:none}details.param-group>summary:hover{background:rgba(200,180,214,.06)}.chev{color:var(--text-faint);flex:0 0 auto;height:1.05rem;margin-left:auto;transition:transform .25s var(--ease);width:1.05rem}details.param-group[open]>summary .chev{transform:rotate(90deg)}.grp-badge{background:rgba(200,180,214,.1);border:1px solid var(--hairline);border-radius:5px;color:var(--gloss);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:600;padding:.1rem .45rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;font-size:.9rem;min-width:30rem;width:100%}table caption{color:var(--text-soft);font-size:.9rem;line-height:1.5;padding:0 1.2rem .8rem;text-align:left}thead th{border-bottom:1px solid var(--glass-border);color:var(--text-faint);font-size:.8rem;font-weight:650;letter-spacing:.02em;padding:.6rem 1.2rem;text-align:left;white-space:nowrap}tbody td{border-bottom:1px solid var(--hairline);color:var(--text-soft);line-height:1.5;padding:.7rem 1.2rem;vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody td:first-child{color:var(--text);font-weight:600;white-space:nowrap}.param-note{border-top:1px solid var(--hairline);color:var(--text-faint);font-size:.86rem;line-height:1.6;padding:.9rem 1.2rem 1.1rem}.param-note code{font-size:.85em}.constraints{display:grid;gap:clamp(.8rem,2vw,1.1rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));max-width:62rem}.constraint{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:1.2rem 1.3rem}.constraint h3{align-items:center;display:flex;font-size:1rem;gap:.5rem;letter-spacing:-.01em;margin:0 0 .5rem}.constraint h3 svg{color:var(--gloss);flex:0 0 auto;height:1.2rem;width:1.2rem}.constraint p{color:var(--text-soft);font-size:.9rem;line-height:1.6;margin:0}.constraint p+p{margin-top:.6rem}.constraint p a,.note a,.param-note a,tbody td a{color:var(--gloss-bright);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.constraint p a:hover,.note a:hover,.param-note a:hover,tbody td a:hover{color:var(--text)}@media (prefers-color-scheme:light){.constraint p a,.note a,.param-note a,tbody td a{color:var(--gloss)}}footer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--glass-bg-strong);border-top:1px solid var(--hairline);margin-top:clamp(2rem,6vw,4rem);padding-block:clamp(2.2rem,5vw,3.2rem)}footer .wrap{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;justify-content:space-between}footer .f-brand{font-weight:700;letter-spacing:-.01em;margin-bottom:.4rem}footer .f-meta{color:var(--text-faint);font-size:.85rem;line-height:1.7;max-width:36rem}footer .f-links{display:flex;flex-wrap:wrap;font-size:.9rem;gap:1.2rem}footer .f-links a{color:var(--text-soft);transition:color .2s var(--ease-soft)}footer .f-links a:hover{color:var(--text)}footer .credit{color:var(--text-faint);font-size:.82rem;margin-top:1.2rem;width:100%}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.top-fade{background:linear-gradient(180deg,var(--bg-1),transparent);height:2.5rem;left:0;opacity:.7;pointer-events:none;position:fixed;right:0;top:var(--nav-h);z-index:90}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}@media (prefers-reduced-transparency:reduce){.btn-ghost,.card,.constraint,.nav,.step,.tag,details.param-group,footer{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root{--glass-bg:#1a2038;--glass-bg-strong:#141a30}@media (prefers-color-scheme:light){:root{--glass-bg:#fff;--glass-bg-strong:#f6f2fa}}}@media (prefers-contrast:more){:root{--glass-border:rgba(240,230,242,.6);--hairline:rgba(240,230,242,.4);--text-soft:#ddd8ec;--text-faint:#b3b0c8}@media (prefers-color-scheme:light){:root{--glass-border:rgba(26,22,48,.6);--hairline:rgba(26,22,48,.35);--text-soft:#2a2447;--text-faint:#4a4368}}.card,.constraint,.step,details.param-group{border-width:1.5px}}.skip-link{background:var(--accent-grad);border-radius:8px;color:var(--on-accent);font-weight:650;left:.5rem;padding:.5rem .9rem;position:absolute;top:.5rem;transform:translateY(-140%);transition:transform .2s var(--ease);z-index:200}.skip-link:focus{transform:none}.hero-figure-link{cursor:zoom-in;display:block}.goverlay{background:rgba(7,10,20,.92)!important}.gslide-image img{border-radius:var(--radius-sm)}.glightbox-clean .gslide-description{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--glass-bg-strong)}.glightbox-clean .gslide-title{color:var(--text);font-family:system-ui,sans-serif}.glightbox-clean .gslide-desc{color:var(--text-soft);font-family:system-ui,sans-serif}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--glass-bg-strong)!important;border:1px solid var(--glass-border);border-radius:999px}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(200,180,214,.22)!important}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:var(--gloss-bright)}