:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08090b;--surface:#101216;--surface-2:#16181d;--line:#ffffff12;--line-strong:#ffffff24;--text:#f2f0ed;--dim:#9c9a96;--faint:#5f5d5a;--gold:#c9a227;--gold-soft:#e8cf8b;--font-serif:"Noto Serif SC","Songti SC","STSong","Noto Serif CJK SC",serif;--font-latin:"Cormorant Garamond","Noto Serif SC",serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace,"Noto Serif SC",serif;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-color:#2a2c31 transparent}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:#26282d;border-radius:8px}::-webkit-scrollbar-track{background:0 0}body{background-color:var(--bg);background-image:linear-gradient(180deg,#0a0c0f 0%,var(--bg) 45%,#060708 100%);color:var(--text);font-family:var(--font-serif);letter-spacing:.03em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;font-size:16px;font-weight:300;line-height:2.05}body:before{content:"";pointer-events:none;z-index:0;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}main,footer{z-index:1;position:relative}::selection{background:#c9a2274d}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.mono,pre,code{font-family:var(--font-mono);font-weight:400}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{position:absolute;top:0;left:-9999px}.skip:focus{z-index:100;background:var(--gold);color:#17150e;letter-spacing:.1em;padding:10px 20px;font-size:13px;position:fixed;top:12px;left:12px}.mast{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.mast-in{justify-content:space-between;align-items:center;gap:20px;max-width:920px;margin:0 auto;padding:13px 24px;display:flex}.brand{font-family:var(--font-latin);letter-spacing:.38em;align-items:center;gap:10px;font-size:14px;font-weight:400;transition:color .3s;display:flex}.brand:hover{color:var(--gold-soft)}.brand-mark{color:var(--gold);display:flex}.brand-mark svg{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linejoin:miter;width:18px;height:18px}.brand-mark circle{opacity:.45}.brand-mark .mark-core{fill:currentColor;stroke:none}.mast nav{flex-wrap:wrap;gap:22px;display:flex}.mast nav a{color:var(--dim);letter-spacing:.16em;font-size:12.5px;transition:color .3s;position:relative}.langs{gap:2px;margin-left:2px;display:flex}.lang-btn{appearance:none;font-family:var(--font-serif);letter-spacing:.1em;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:3px 7px;font-size:12px;transition:color .3s}.lang-btn:hover{color:var(--text)}.lang-btn.on{color:var(--gold-soft)}.mast nav a:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.mast nav a:hover{color:var(--gold-soft)}.mast nav a:hover:after{transform:scaleX(1)}.mast .ver{font-family:var(--font-latin);color:var(--faint);letter-spacing:.2em;font-size:12px}@media (width<=760px){.mast nav{display:none}}.hero{align-items:center;max-width:920px;min-height:calc(100vh - 49px);margin:0 auto;padding:64px 24px 72px;display:flex;position:relative}.watermark{color:#f2f0ed0a;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(300px,46vw,600px);font-weight:900;line-height:1;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.hero-in{z-index:1;position:relative}.hero-top{align-items:center;gap:22px;display:flex}.hero-mark{color:var(--gold);flex:none;display:flex}.hero-mark svg{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linejoin:miter;width:44px;height:44px}.hero-mark circle{opacity:.45}.hero-mark .mark-core{fill:currentColor;stroke:none}.hero-title{font-weight:300}.hero-title .en{font-family:var(--font-latin);letter-spacing:.56em;margin-left:.56em;font-size:clamp(16px,2vw,22px);font-weight:300;display:block}.hero-title .ja{letter-spacing:.1em;margin-top:6px;font-size:clamp(62px,9.5vw,108px);font-weight:300;line-height:1.1;display:block}.hero-title .ja .ch{display:inline-block}.hero-lead{max-width:38em;margin-top:30px;font-size:clamp(15px,1.8vw,17.5px);font-weight:300;line-height:2}.hero-lead b{color:var(--gold-soft);font-weight:500}.hero-rule{background:var(--line-strong);transform-origin:0;width:min(440px,100%);height:1px;margin:30px 0 28px}.inst-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:6px;display:flex;position:relative;overflow-x:auto}.inst-tabs::-webkit-scrollbar{display:none}.inst-tab{appearance:none;font-family:var(--font-serif);letter-spacing:.22em;color:var(--dim);cursor:pointer;background:0 0;border:none;flex:none;padding:12px 15px 13px;font-size:13.5px;font-weight:300;transition:color .35s}.inst-tab:hover,.inst-tab[aria-selected=true]{color:var(--text)}.inst-ind{height:1px;width:var(--tw,52px);background:var(--gold);transform:translateX(var(--tx,0px));transition:transform .55s var(--ease),width .55s var(--ease);display:none;position:absolute;bottom:-1px;left:0}.js .inst-ind{display:block}.inst-panels{display:grid}.inst-panel{min-width:0}.js .inst-panel{opacity:0;visibility:hidden;grid-area:1/1;transition:opacity .3s,visibility 0s .3s}.js .inst-panel.active{opacity:1;visibility:visible;transition:opacity .5s var(--ease),visibility 0s 0s}.inst-code{border:1px solid var(--line-strong);background:var(--surface);align-items:stretch;display:flex}pre.code{min-width:0;color:var(--text);flex:1;padding:13px 18px;font-size:13px;line-height:1.75;overflow-x:auto}.copy{appearance:none;border:none;border-left:1px solid var(--line);font-family:var(--font-serif);letter-spacing:.2em;color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;padding:0 18px;font-size:12.5px;font-weight:300;text-decoration:none;transition:color .3s;display:inline-flex}.copy:hover{color:var(--text)}.copy.done{color:var(--gold-soft)}.inst-zips{flex-wrap:wrap;gap:10px;display:flex}.zip-btn{border:1px solid var(--line-strong);background:var(--surface);min-width:118px;color:var(--dim);font-family:var(--font-serif);letter-spacing:.14em;flex:1;justify-content:center;align-items:center;gap:9px;padding:13px 14px;font-size:13.5px;font-weight:300;text-decoration:none;transition:color .3s,border-color .3s,background .3s;display:flex}.zip-btn svg{fill:currentColor;flex:none;width:17px;height:17px}.zip-btn:hover{color:var(--gold-soft);border-color:var(--gold);background:#c9a22712}.zip-btn:focus-visible{color:var(--gold-soft);border-color:var(--gold);outline:none}.inst-note{color:var(--dim);letter-spacing:.08em;margin-top:12px;font-size:12.5px}.inst-note .mono{color:var(--text);font-size:12px}.hero-meta{font-family:var(--font-latin);color:var(--dim);letter-spacing:.18em;margin-top:26px;font-size:13.5px}.hero-meta a{color:var(--gold-soft)}.hero-meta a,.foot-meta a{transition:color .3s;position:relative}.hero-meta a:after,.foot-meta a:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.hero-meta a:hover,.foot-meta a:hover{color:var(--gold-soft)}.hero-meta a:hover:after,.foot-meta a:hover:after{transform:scaleX(1)}.sec{border-top:1px solid var(--line);max-width:920px;margin:0 auto;padding:96px 24px 0;position:relative}.sec-head{margin-bottom:46px;position:relative}.sec-no{color:var(--gold);letter-spacing:.6em;font-size:13px;font-weight:500}.sec-title{letter-spacing:.1em;margin-top:16px;font-size:clamp(26px,3.6vw,36px);font-weight:400}.sec-lead{color:var(--dim);max-width:36em;margin-top:18px;font-size:15px;line-height:2}.vmark{writing-mode:vertical-rl;letter-spacing:.42em;color:#f2f0ed4d;font-size:11px;position:absolute;top:4px;right:0}@media (width<=980px){.vmark{display:none}}.ledger{margin-top:6px}.row{border-top:1px solid var(--line);grid-template-columns:64px 1fr;align-items:baseline;gap:20px;padding:24px 0;display:grid}.row:last-child{border-bottom:1px solid var(--line)}.row .idx{font-family:var(--font-latin);color:var(--gold);font-size:16px;font-weight:300}.row h3{letter-spacing:.06em;font-size:16px;font-weight:400}.row h3 .mono{font-size:13.5px;font-weight:400}.row p{color:var(--dim);margin-top:4px;font-size:14px;line-height:1.95}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.step{padding:40px 30px 14px 0}.step+.step{border-left:1px solid var(--line);padding-left:30px}.step .n{color:var(--gold);letter-spacing:.2em;font-size:22px;font-weight:400}.step h3{letter-spacing:.1em;margin-top:20px;font-size:18px;font-weight:400}.step p{color:var(--dim);margin-top:10px;font-size:14px;line-height:2}@media (width<=760px){.steps{grid-template-columns:1fr}.step,.step+.step{border-left:none;padding:28px 0}.step+.step{border-top:1px solid var(--line)}}.lib{margin:0 -24px}.lib-masthead{flex-wrap:wrap;align-items:center;gap:20px;padding:22px 48px 16px;display:flex;position:relative}.lib-brand{align-items:center;gap:10px;display:flex}.lib-mark{color:var(--gold);display:flex}.lib-mark svg{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linejoin:miter;width:20px;height:20px}.lib-mark circle{opacity:.45}.lib-mark .mark-core{fill:currentColor;stroke:none}.lib-title{letter-spacing:.22em;color:var(--text);font-size:15px;font-weight:500;line-height:1}.lib-kanji{color:var(--gold-soft);letter-spacing:.1em;font-size:12.5px;line-height:1}.lib-rule{background:var(--line-strong);width:1px;height:12px;margin:0 3px}.lib-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--faint);font-size:9px;font-weight:500;line-height:1}.lib-stats{flex-wrap:wrap;align-items:baseline;gap:20px;margin-left:auto;display:flex}.lib-stats .num{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.lib-stats .lbl{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-left:5px;font-size:9.5px}.lib-toolbar{z-index:30;-webkit-backdrop-filter:blur(18px)saturate(160%);border-bottom:1px solid var(--line);background:#08090bd1;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 48px;display:flex;position:sticky;top:49px}.lib-search{flex:1;min-width:200px;max-width:400px;position:relative}.lib-search svg{opacity:.4;position:absolute;top:50%;left:0;transform:translateY(-50%)}.lib-search input{border:none;border-bottom:1px solid var(--line-strong);width:100%;color:var(--text);background:0 0;outline:none;padding:8px 22px 8px 26px;font-family:inherit;font-size:14px;transition:border-color .3s}.lib-search input:focus{border-bottom-color:var(--gold)}.lib-search input::placeholder{color:var(--faint)}.clear-btn{width:20px;height:20px;color:var(--faint);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.clear-btn.show{opacity:1;pointer-events:auto}.clear-btn:hover{color:var(--gold-soft)}.clear-btn svg{width:12px;height:12px}.select-wrap{position:relative}.select-btn{border:1px solid var(--line-strong);color:var(--dim);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;outline:none;align-items:center;gap:8px;padding:7px 12px;font-family:inherit;font-size:12px;transition:border-color .2s,color .2s;display:flex}.select-btn:hover{border-color:var(--gold);color:var(--text)}.select-btn:focus-visible{border-color:var(--gold)}.select-btn .chev{opacity:.75;transition:transform .18s}.select-wrap.open .chev{transform:rotate(180deg)}.select-menu{z-index:40;-webkit-backdrop-filter:blur(18px)saturate(160%);border:1px solid var(--line-strong);visibility:hidden;opacity:0;pointer-events:none;background:#101216f0;border-radius:4px;min-width:100%;padding:4px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(5px);box-shadow:0 14px 40px #0000008c}.select-wrap.open .select-menu{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .16s,transform .16s;transform:none}.select-opt{text-align:left;width:100%;color:var(--dim);letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:7px 22px 7px 10px;font-family:inherit;font-size:12px;transition:background .15s,color .15s;display:block;position:relative}.select-opt:hover,.select-opt:focus-visible{color:var(--text);background:#ffffff0d;outline:none}.select-opt[aria-selected=true]{color:var(--gold-soft);background:#c9a22714}.select-opt[aria-selected=true]:after{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.lib-count{color:var(--faint);letter-spacing:.1em;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px}.lib-empty{text-align:center;color:var(--faint);letter-spacing:.08em;grid-column:1/-1;padding:90px 20px;font-size:13px}.lib-chips{flex-wrap:wrap;gap:7px;padding:18px 48px 4px;display:flex}.lib-chip{cursor:pointer;border:1px solid var(--line);color:var(--dim);letter-spacing:.01em;background:0 0;border-radius:100px;padding:5px 13px;font-family:inherit;font-size:12px;transition:all .2s}.lib-chip:hover{border-color:var(--line-strong);color:var(--text)}.lib-chip.on{background:var(--gold-soft);border-color:var(--gold-soft);color:#17150e;font-weight:500}.lib-chip .n{opacity:.5;font-variant-numeric:tabular-nums;margin-left:4px;font-size:10.5px}.lib-grid{z-index:2;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px 22px;padding:30px 48px 90px;display:grid;position:relative}a.lib-card{color:inherit;opacity:0;text-decoration:none;animation:.55s cubic-bezier(.16,1,.3,1) forwards rise;display:block;position:relative;transform:translateY(14px)}.lib-card.hidden{display:none}@keyframes rise{to{opacity:1;transform:none}}.lib-cover{aspect-ratio:2/3;background:var(--surface-2);border-radius:3px;width:100%;transition:box-shadow .45s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 1px 2px #00000080}.lib-cover:after{content:"";pointer-events:none;border-radius:3px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14}.lib-cover img{object-fit:cover;filter:saturate(.92)contrast(1.02);width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .45s;display:block}a.lib-card:hover .lib-cover{box-shadow:0 22px 50px -18px #000000e6}a.lib-card:hover .lib-cover img{filter:saturate(1.05)contrast(1.02);transform:scale(1.05)}.lib-play{opacity:0;background:linear-gradient(#00000026,#00000080);justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:absolute;inset:0}a.lib-card:hover .lib-play{opacity:1}.lib-play span{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000004d;border:1px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;transform:scale(.86)}a.lib-card:hover .lib-play span{transform:scale(1)}.lib-meta{padding:13px 2px 0}.lib-code{letter-spacing:.1em;color:var(--gold-soft);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.lib-actors{color:var(--text);letter-spacing:-.005em;margin-top:5px;font-size:14.5px;font-weight:400;line-height:1.35}.lib-sub{color:var(--faint);letter-spacing:.03em;align-items:center;gap:8px;margin-top:7px;font-size:11px;display:flex}.lib-sub .dot{background:var(--faint);border-radius:50%;flex:none;width:2px;height:2px}.lib-sub .studio{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lib-sub .date{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=720px){.lib-masthead{padding:16px 22px 12px}.lib-stats{gap:14px;margin-left:0}.lib-toolbar,.lib-chips{padding-left:22px;padding-right:22px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 16px;padding:24px 22px 60px}}.preview-cap{color:var(--dim);margin-top:-46px;font-size:13.5px}.preview-cap b{color:var(--text);font-weight:500}.term{border:1px solid var(--line-strong);background:var(--surface);font-family:var(--font-mono);letter-spacing:.02em;padding:26px 28px;font-size:12.5px;line-height:2;overflow-x:auto}.term .t1{color:var(--gold)}.term .t2{letter-spacing:.3em;font-weight:400}.term .kanji{color:var(--gold-soft)}.term .dim{color:var(--faint)}.term .path{color:var(--text)}.term .num{color:var(--gold);font-weight:400}.term .rule{color:#f2f0ed38}.term b{font-weight:600}.term .ok{color:#7fae6a}.term .blue{color:#7fa0cc}.term-spin .dim:before{content:"⠋ ";animation:.9s step-end infinite term-frames}@keyframes term-frames{0%{content:"⠋ "}10%{content:"⠙ "}20%{content:"⠹ "}30%{content:"⠸ "}40%{content:"⠼ "}50%{content:"⠴ "}60%{content:"⠦ "}70%{content:"⠧ "}80%{content:"⠇ "}90%{content:"⠏ "}to{content:"⠋ "}}.term-cursor{background:var(--gold-soft);vertical-align:-.16em;width:.58em;height:1.05em;animation:1.1s steps(2,start) infinite term-blink;display:inline-block}@keyframes term-blink{50%{opacity:0}}footer{border-top:1px solid var(--line);margin-top:110px;padding:60px 24px 64px}.foot-in{text-align:center;max-width:920px;margin:0 auto}.declare{max-width:38em;color:var(--dim);margin:0 auto;font-size:14px;line-height:2.1}.declare b{color:var(--text);font-weight:500}.declare-sub{color:var(--faint);letter-spacing:.06em;margin-top:14px;font-size:12.5px}.foot-meta{font-family:var(--font-latin);color:var(--faint);letter-spacing:.18em;margin-top:30px;font-size:13px}.js .fade{opacity:.2;transition:opacity 1.4s var(--ease),transform 1.4s var(--ease);transform:translateY(16px)}.js .fade.in{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.js .watermark{opacity:0;filter:blur(22px);animation:wmk-in .9s var(--ease) 50ms forwards}@keyframes wmk-in{to{opacity:1;filter:blur()}}.js .hero-mark{opacity:0;animation:land .8s var(--ease) .1s forwards}.js .hero-title .en{opacity:0;animation:land .8s var(--ease) .18s forwards}.js .hero-title .ch{opacity:0;animation:land .75s var(--ease) .3s forwards;transform:translateY(.3em)}.js .hero-title .ch+.ch{animation-delay:.48s}.js .hero-rule{animation:rule-in 1s var(--ease) .55s forwards;transform:scaleX(0)}.js .hero-lead{opacity:0;animation:land .9s var(--ease) .64s forwards}.js .inst{opacity:0;animation:land .9s var(--ease) .82s forwards}.js .hero-meta{opacity:0;animation:land .9s var(--ease) 1.02s forwards}@keyframes land{to{opacity:1;transform:none}}@keyframes rule-in{to{transform:scaleX(1)}}}@media (prefers-reduced-motion:reduce){.js .fade{opacity:1;transition:none;transform:none}.js .inst-panel,.js .inst-panel.active,.js .inst-ind{transition:none}a.lib-card{opacity:1;animation:none;transform:none}html{scroll-behavior:auto}}.lightbox{z-index:100;-webkit-backdrop-filter:blur(8px);background:#050608eb;justify-content:center;align-items:center;padding:44px;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox img{border-radius:3px;max-width:min(86vw,440px);max-height:86vh;box-shadow:0 30px 90px #000000bf}.lightbox-close{appearance:none;border:1px solid var(--line-strong);color:var(--dim);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:40px;height:40px;transition:color .3s,border-color .3s;display:grid;position:absolute;top:18px;right:22px}.lightbox-close:hover{color:var(--gold-soft);border-color:var(--gold)}.lightbox-close:focus-visible{outline:1px solid var(--gold)}.lightbox-close svg{width:16px;height:16px}
