.web-page{font-family:var(--font-display);padding-bottom:96px}.web-hero{isolation:isolate;width:100%;height:calc(100svh - var(--header-h));background:var(--night-deep);min-height:400px;color:var(--night-ink);position:relative;overflow:hidden}.web-hero ::selection{background:color-mix(in oklab, var(--night-dna) 40%, transparent);color:var(--night-ink)}.web-hero :where(button,a,input,[tabindex]):focus-visible{box-shadow:0 0 0 2px var(--night-deep), 0 0 0 4px var(--night-dna);outline:none}.web-stage{position:absolute;inset:0}.web-host{touch-action:pan-y;-webkit-user-select:none;user-select:none;contain:strict;position:absolute;inset:0}.web-canvas{opacity:0;width:100%;height:100%;transition:opacity 1.2s;display:block;position:absolute;inset:0}.web-canvas.is-on{opacity:1}.web-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.web-label{opacity:0;white-space:nowrap;letter-spacing:.005em;color:color-mix(in oklab, var(--c,white) 28%, var(--night-ink));text-shadow:0 0 2px var(--night-deep), 0 0 10px var(--night-deep), 0 0 22px var(--night-deep);font-size:.75rem;font-weight:500;line-height:18px;position:absolute;top:0;left:0;translate:-50%}.web-label.is-near{color:color-mix(in oklab, var(--c,white) 40%, var(--night-ink));font-size:.8125rem}.web-label.is-hot{z-index:2;letter-spacing:-.01em;color:var(--night-ink);font-size:.9375rem;font-weight:600;line-height:22px}.web-region{opacity:0;white-space:nowrap;letter-spacing:0;color:color-mix(in oklab, var(--c,white) 55%, var(--night-ink-2));text-shadow:0 0 12px var(--night-deep), 0 0 24px var(--night-deep);font-size:.8125rem;font-weight:500;position:absolute;top:0;left:0;translate:-50% -50%}@keyframes web-focus{0%{filter:blur(12px);transform:translateY(10px)}to{filter:blur();transform:none}}.web-title{z-index:2;left:var(--lp-gutter,var(--s5));max-width:min(30rem, calc(100% - 2 * var(--s5)));pointer-events:none;text-shadow:0 2px 28px var(--night-deep), 0 0 12px var(--night-deep);position:absolute;top:clamp(24px,6dvh,64px)}.web-title:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side, color-mix(in oklab, var(--night-deep) 82%, transparent), transparent);position:absolute;inset:-40% -35% -45% -30%}.web-title>*{animation:1.4s cubic-bezier(.16,1,.3,1) .2s both web-focus}.web-title>p{animation-delay:.32s}.web-title{transition:opacity var(--d3) var(--ease), translate var(--d3) var(--ease)}.web-stage.has-panel~.web-title{opacity:0;translate:0 -8px}.web-title h1{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.4rem,1.4rem + 3.4vw,4.5rem);font-weight:600;line-height:1.02}.web-title p{margin:var(--s4) 0 0;text-wrap:pretty;max-width:26rem;color:var(--night-ink-2);font-size:clamp(1rem,.95rem + .3vw,1.2rem);line-height:1.45}.web-dock{z-index:3;left:var(--lp-gutter,var(--s5));right:var(--s5);bottom:var(--s5);justify-content:space-between;align-items:center;gap:var(--s3);pointer-events:none;display:flex;position:absolute}.web-dock>*{pointer-events:auto}.web-more{border-radius:var(--r-full);min-height:48px;color:var(--night-deep);background:var(--night-ink);transition:opacity var(--d1) var(--ease);flex:none;align-items:center;gap:8px;padding:0 20px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.web-more:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:.42em;height:.42em;margin-top:-.2em;rotate:45deg}.web-more:hover{opacity:.86}.web-find{width:min(22rem,100%);position:relative}.web-find input{width:100%;height:48px;padding:0 var(--s4) 0 44px;border-radius:var(--r-full);border:1px solid var(--night-line-2);background:color-mix(in oklab, var(--night-surface) 90%, transparent);color:var(--night-ink);font:inherit;appearance:none;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);outline:none;margin:0;font-size:1rem}.web-find input::placeholder{color:var(--night-ink-3);opacity:1}.web-find input:hover{border-color:var(--night-ink-3)}.web-find input:focus-visible{border-color:var(--night-dna);box-shadow:0 0 0 3px color-mix(in oklab, var(--night-dna) 32%, transparent);outline:none}.web-find-icon{width:18px;height:18px;color:var(--night-ink-3);pointer-events:none;position:absolute;top:50%;left:16px;translate:0 -50%}.web-find-pop{z-index:6;left:0;right:0;top:calc(100% + var(--s2));overscroll-behavior:contain;border:1px solid var(--night-line-2);background:var(--night-surface);scrollbar-width:thin;scrollbar-color:var(--night-line-2) transparent;border-radius:18px;max-height:min(22rem,50dvh);padding:6px;position:absolute;overflow-y:auto;box-shadow:0 24px 48px -16px #0009}.web-find.is-up .web-find-pop{top:auto;bottom:calc(100% + var(--s2))}.web-find-pop ul{margin:0;padding:0;list-style:none}.web-find-pop li{align-items:center;gap:0 var(--s3);padding:var(--s2) var(--s3);cursor:pointer;border-radius:12px;grid-template-columns:10px minmax(0,1fr);display:grid}.web-find-pop li[aria-selected=true]{background:var(--night-surface-2)}.web-find-pop li i{background:var(--c);width:8px;height:8px;box-shadow:0 0 10px var(--c);border-radius:50%}.web-find-pop li span{color:var(--night-ink);font-size:.9375rem;line-height:1.3}.web-find-pop li small{color:var(--night-ink-3);grid-column:2;font-size:.75rem;line-height:1.4}.web-find-none{padding:var(--s2) var(--s3);color:var(--night-ink-2);margin:0;font-size:.875rem}@keyframes web-panel-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes web-body-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.web-panel{z-index:4;top:var(--s5);right:var(--s5);bottom:calc(var(--s5) + 48px + var(--s4));border-radius:var(--r-lg);border:1px solid var(--night-line);background:radial-gradient(120% 50% at 0% 0%, color-mix(in oklab, var(--c,white) 14%, transparent), transparent 70%), color-mix(in oklab, var(--night-surface) 95%, transparent);flex-direction:column;width:clamp(320px,28vw,400px);animation:.38s cubic-bezier(.16,1,.3,1) web-panel-in;display:flex;position:absolute;overflow:hidden}.web-panel-head{align-items:flex-start;gap:var(--s3);padding:var(--s5) var(--s5) 0;flex:none;display:flex}.web-panel-head h2{text-wrap:balance;font-family:var(--font-display);letter-spacing:-.02em;outline:none;flex:auto;margin:0;font-size:1.375rem;font-weight:600;line-height:1.2}.web-hero .web-panel-head h2:focus-visible{box-shadow:none;outline:none}.web-panel-close{background:var(--night-surface-2);width:36px;height:36px;color:var(--night-ink-2);cursor:pointer;transition:color var(--d1) var(--ease), background var(--d1) var(--ease);border:0;border-radius:50%;flex:none;place-items:center;margin:-4px -6px 0 0;display:grid}.web-panel-close:hover{color:var(--night-ink);background:var(--night-line-2)}.web-panel-close svg{width:18px;height:18px}.web-panel-body{overscroll-behavior:contain;align-content:start;gap:var(--s4);min-height:0;padding:var(--s3) var(--s5) var(--s5);scrollbar-width:thin;scrollbar-color:var(--night-line-2) transparent;-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s5)), transparent);mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s5)), transparent);animation:web-body-in .28s var(--ease);flex:auto;display:grid;overflow-y:auto}.web-panel-meta{align-items:center;gap:var(--s2);color:var(--night-ink-2);margin:0;font-size:.875rem;line-height:1.45;display:flex}.web-panel-meta i{background:var(--c);width:8px;height:8px;box-shadow:0 0 10px var(--c);border-radius:50%;flex:none}.web-panel-open{justify-self:start;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s4);border-radius:var(--r-full);color:var(--night-deep);background:color-mix(in oklab, var(--c,white) 70%, white);transition:opacity var(--d1) var(--ease);font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.web-panel-open:after{content:"";border-top:1.5px solid;border-right:1.5px solid;width:.42em;height:.42em;rotate:45deg}.web-panel-open:hover{opacity:.88}.web-panel-open .soon-mark{color:color-mix(in oklab, var(--night-deep) 70%, transparent)}.web-panel .web-find{width:100%}.web-panel .web-find input{background:var(--night-paper);height:44px}.web-panel-links{margin:0 calc(-1 * var(--s3));gap:2px;padding:0;list-style:none;display:grid}.web-panel-links button{width:100%;padding:var(--s3);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--d1) var(--ease);background:0 0;border:0;border-radius:14px;gap:2px;display:grid}.web-panel-links button:hover{background:var(--night-surface-2)}.web-panel-links b{align-items:baseline;gap:var(--s2);color:color-mix(in oklab, var(--c,white) 38%, var(--night-ink));font-size:.9375rem;font-weight:600;line-height:1.3;display:flex}.web-panel-links b i{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px;translate:0 -1px}.web-panel-links span{color:var(--night-ink-2);text-wrap:pretty;padding-left:16px;font-size:.875rem;line-height:1.5}.web-route{margin:0;padding:0;list-style:none}.web-route li{padding-left:26px;position:relative}.web-route li:not(:last-child):before{content:"";background:linear-gradient(color-mix(in oklab, var(--c) 70%, transparent), color-mix(in oklab, var(--c) 15%, transparent));border-radius:1px;width:2px;position:absolute;top:20px;bottom:-8px;left:6px}.web-route button{color:var(--night-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:6px 0;display:block}.web-route button:hover b{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.web-route button i{background:var(--c);width:14px;height:14px;box-shadow:0 0 0 3px var(--night-surface), 0 0 14px var(--c);border-radius:50%;position:absolute;top:10px;left:0}.web-route b{letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.3}.web-route p{margin:2px 0 var(--s4);color:var(--night-ink-2);text-wrap:pretty;font-size:.875rem;line-height:1.5}.web-panel-back{justify-self:start;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s4);border:1px solid var(--night-line-2);border-radius:var(--r-full);color:var(--night-ink);font:inherit;cursor:pointer;transition:border-color var(--d1) var(--ease);background:0 0;font-size:.9375rem;display:inline-flex}.web-panel-back:hover{border-color:var(--night-ink-3)}.web-panel-back svg{width:16px;height:16px}.web-fallback{top:50%;left:var(--s5);right:var(--s5);z-index:2;max-width:46ch;color:var(--night-ink-2);margin:0;font-size:1rem;line-height:1.5;position:absolute;translate:0 -50%}.web-fallback a{color:var(--night-dna)}.web-more-short{display:none}@media (max-width:680px){.web-hero{height:calc(100svh - var(--header-h) - 24px)}.web-title{left:var(--s4);max-width:calc(100% - 2 * var(--s4));top:20px}.web-title h1{font-size:2.25rem}.web-title p{margin-top:var(--s3);font-size:.9375rem}.web-dock{left:var(--s4);right:var(--s4);bottom:var(--s4)}.web-dock .web-find{flex:auto;width:auto}.web-more{padding:0 var(--s4)}.web-more-long{display:none}.web-more-short{display:inline}.has-panel .web-dock{display:none}.web-panel{top:auto;left:var(--s3);right:var(--s3);bottom:var(--s3);width:auto;max-height:min(54%,30rem);animation-name:web-sheet-in}.web-panel-head{padding:var(--s4) var(--s4) 0}.web-panel-head h2{font-size:1.1875rem}.web-panel-body{padding:var(--s3) var(--s4) var(--s4);gap:var(--s3)}}@keyframes web-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (max-height:500px) and (orientation:landscape){.web-hero{min-height:300px}.web-title h1{font-size:1.75rem}.web-title p{display:none}.web-panel{max-height:calc(100% - 2 * var(--s3))}}@media (prefers-reduced-motion:reduce){.web-title>*,.web-panel,.web-panel-body{animation:none}.web-title,.web-canvas{transition:none}}.only-touch{display:none}@media (hover:none){.only-pointer{display:none}.only-touch{display:inline}}.web-index{scroll-margin-top:var(--header-h);max-width:var(--page-w);padding:clamp(64px, 10dvh, 128px) var(--lp-gutter,var(--s5)) 0;gap:clamp(48px,7dvh,88px);margin:0 auto;display:grid}.web-index h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,1.2rem + 2.6vw,3.5rem);font-weight:600;line-height:1.05}.web-index-head{gap:var(--s4);justify-items:start;display:grid}.web-index-lead{max-width:34rem;color:var(--ink-2);margin:0;font-size:1.125rem}.web-index-layers{gap:var(--s2);max-width:100%;padding-block:var(--s2);scrollbar-width:none;contain:inline-size;margin-top:var(--s2);justify-self:stretch;display:flex;overflow-x:auto}.web-index-layers::-webkit-scrollbar{display:none}.web-index-layers a{border-radius:var(--r-full);background:var(--surface);min-height:36px;color:var(--ink-2);transition:color var(--d1) var(--ease), background var(--d1) var(--ease);flex:none;align-items:center;gap:8px;padding:0 14px;font-size:.875rem;text-decoration:none;display:inline-flex}.web-index-layers a:hover{color:var(--ink);background:var(--surface-2)}.web-index-layers i,.web-index-layer h3:before{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.web-index-layer{scroll-margin-top:calc(var(--header-h) + var(--s5))}.web-index-layer h3{align-items:center;gap:var(--s3);margin:0 0 var(--s5);font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.4rem,1.1rem + .8vw,1.9rem);font-weight:600;display:flex}.web-index-layer h3:before{content:"";width:10px;height:10px}.web-index-grid{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;margin:0;padding:0;list-style:none;display:grid}.web-card{background:var(--surface);transition:background var(--d1) var(--ease);border-radius:20px}.web-card[open]{background:var(--surface-2)}.web-card summary{cursor:pointer;align-items:center;gap:2px var(--s3);padding:var(--s4) var(--s5);border-radius:inherit;grid-template-columns:minmax(0,1fr) auto;min-height:64px;list-style:none;display:grid}.web-card summary::-webkit-details-marker{display:none}.web-card summary:after{content:"";border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);width:.5em;height:.5em;transition:rotate var(--d2) var(--ease);grid-area:1/2/span 2;margin-top:-.25em;rotate:45deg}.web-card[open] summary:after{margin-top:.25em;rotate:225deg}.web-card summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.web-card-title{letter-spacing:-.015em;color:var(--ink);font-size:1.0625rem;font-weight:600;line-height:1.3}.web-card-count{color:var(--ink-3);grid-column:1;font-size:.875rem}.web-card-links{padding:0 var(--s5);gap:var(--s3);margin:0;list-style:none;display:grid}.web-card-links li{padding-top:var(--s3);border-top:1px solid var(--line)}.web-card-links a{color:var(--ink);font-size:.9375rem;font-weight:600;text-decoration:none}.web-card-links a:hover{color:var(--accent)}.web-card-links p{color:var(--ink-2);margin:2px 0 0;font-size:.9rem;line-height:1.5}.web-card-actions{gap:0 var(--s5);margin:var(--s2) var(--s5) var(--s3);flex-wrap:wrap;display:flex}.web-card-open,.web-card-show{min-height:44px;color:var(--accent);align-items:center;gap:6px;font-size:.9375rem;text-decoration:none;display:inline-flex}.web-card-show{color:var(--ink-2)}.web-card-open:after{content:"";border-top:1.5px solid;border-right:1.5px solid;width:.42em;height:.42em;rotate:45deg}.web-card-open:hover,.web-card-show:hover{text-underline-offset:4px;text-decoration:underline}.web-card-show:hover{color:var(--ink)}@supports (interpolate-size:allow-keywords){.web-index{interpolate-size:allow-keywords}.web-card::details-content{block-size:0;transition:block-size .38s var(--ease), content-visibility .38s allow-discrete;overflow:clip}.web-card[open]::details-content{block-size:auto}}@media (prefers-reduced-motion:reduce){.web-card::details-content{transition:none}}@media (max-width:1000px){.web-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.web-index-grid{grid-template-columns:minmax(0,1fr)}}
