:root{color-scheme:light;--ink: #31425f;--ink-soft: #657491;--paper: #fffaf1;--paper-soft: #fff4df;--cream: #fff7e9;--milk: rgba(255, 250, 241, .82);--blue: #9fc8eb;--blue-soft: #dceefa;--pink: #f7b7c8;--pink-soft: #ffe2ea;--lavender: #c9c2ee;--mint: #b8dbc9;--line: rgba(88, 110, 145, .18);--shadow: 0 18px 46px rgba(69, 89, 122, .16);--paper-shadow: 0 10px 28px rgba(68, 82, 110, .12);--glass-fill: rgba(255, 252, 246, .08);--glass-edge: rgba(255, 255, 255, .72);--glass-line: rgba(93, 113, 145, .34);--glass-shadow: 0 18px 42px rgba(67, 82, 106, .11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:#f8efe3;scroll-behavior:smooth;scrollbar-color:rgba(215,130,156,.58) rgba(255,248,236,.28);scrollbar-width:none;overflow-x:hidden}body::-webkit-scrollbar{width:0;height:0}body{min-width:0;margin:0;color:var(--ink);background:radial-gradient(circle at 18% 8%,rgba(255,226,234,.8),transparent 260px),radial-gradient(circle at 86% 12%,rgba(220,238,250,.8),transparent 320px),linear-gradient(180deg,#fff8ec,#f8efe3);font-size:16px;line-height:1.75;overflow-x:hidden}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(rgba(93,112,143,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(93,112,143,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000,transparent 72%)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-shell{width:100%;margin:0 auto}.sakura-rain{position:fixed;inset:-12vh 0 0;z-index:18;overflow:hidden;pointer-events:none}.scroll-progress{--scroll-percent: 0%;position:fixed;top:82px;right:13px;bottom:26px;z-index:25;width:34px;pointer-events:none}.scroll-progress-track{position:absolute;top:20px;right:10px;bottom:18px;overflow:hidden;border-radius:999px;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.scroll-progress-fill{position:absolute;left:0;right:0;top:0;height:var(--scroll-percent);min-height:12px;border-radius:inherit}.navigation-bookmark{position:absolute;top:calc(100% + 10px);left:50%;display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:9px 14px;border:1px solid var(--line);border-radius:4px 4px 10px;background:var(--paper);color:var(--ink);box-shadow:var(--paper-shadow);font-size:.75rem;font-weight:400;line-height:1.5;pointer-events:none;visibility:hidden;opacity:0;transform:translate(-50%,-4px);transition:opacity .12s ease-out,transform .16s ease-out,visibility 0s .16s}.navigation-bookmark:before{content:"";position:absolute;top:-3px;right:12px;width:6px;height:10px;background:var(--pink);clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%)}.navigation-bookmark[data-visible=true]{visibility:visible;opacity:1;transform:translate(-50%);transition-delay:0s}.navigation-book{flex:none;width:24px;height:24px;color:var(--accent)}.navigation-book-page{fill:var(--paper);stroke:var(--pink);opacity:0;transform-box:view-box;transform-origin:12px 12px}.navigation-bookmark[data-visible=true] .navigation-book-page{animation:navigation-page-turn 1.8s cubic-bezier(.4,0,.2,1) infinite}.navigation-bookmark[data-visible=true] .navigation-book-page--second{animation-delay:.28s}@keyframes navigation-page-turn{0%,12%{transform:scaleX(1);opacity:0}22%{transform:scaleX(1);opacity:1}68%{transform:scaleX(-1);opacity:1}82%,to{transform:scaleX(-1);opacity:0}}body[data-fuyukawa] #page-content{transition:opacity .12s ease-out}body[data-fuyukawa][data-navigating=true] #page-content{opacity:.94}@media(prefers-reduced-motion:reduce){body[data-fuyukawa] #page-content{transition:none}body[data-fuyukawa][data-navigating=true] #page-content{opacity:1;transform:none}.navigation-bookmark,.navigation-bookmark[data-visible=true]{transition:none;transform:translate(-50%)}.navigation-bookmark[data-visible=true] .navigation-book-page{animation:none}}.toy-dock{position:fixed;top:92px;left:0;z-index:24;width:286px;transform:translate(-244px);transition:transform .26s cubic-bezier(.2,.8,.2,1)}.toy-dock-handle{position:absolute;top:24px;right:-22px;display:grid;width:36px;height:112px;place-items:center;padding:0;border:2px solid rgba(255,255,255,.76);border-left:0;cursor:pointer}.toy-dock-handle span{writing-mode:vertical-rl;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.72rem;font-weight:860;letter-spacing:.08em}.toy-dock-panel{display:grid;gap:10px;padding:12px;border:2px solid rgba(255,255,255,.76);border-left:0;backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08)}.toy-widget{position:relative;overflow:visible;padding:14px;color:var(--ink)}.music-widget{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px 14px;align-items:center}.music-widget .toy-widget-title{grid-column:1 / -1}.music-widget:before{top:18px;right:20px;width:18px;height:18px;background:radial-gradient(circle,rgba(255,255,255,.88) 0 16%,transparent 18%),repeating-radial-gradient(circle,rgba(73,88,116,.24) 0 2px,transparent 3px 5px),linear-gradient(135deg,#f7b7c8bf,#9fc8ebb3)}.toy-widget-title{display:flex;gap:8px;align-items:center;color:var(--ink)}.toy-widget-title span{display:grid;width:28px;height:28px;place-items:center;background:#ffe2eab8;border-radius:999px;box-shadow:0 6px 14px #d7829c24}.toy-widget-title strong{font-size:.95rem}.music-track{min-width:0;margin:0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.76rem;font-weight:820;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-progress,.music-controls,.music-note{grid-column:1 / -1}.record-player{position:relative;display:grid;grid-row:2 / span 4;width:112px;height:112px;place-items:center;margin:0;background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.68),transparent 18%),linear-gradient(135deg,#ffe2ea9e,#dceefa8f),#fffaf18a;border:2px solid rgba(255,255,255,.76);border-radius:8px;box-shadow:inset 0 0 0 1px #5d71911c,0 14px 30px #43526a1f}.record-disc{position:relative;display:grid;width:78px;height:78px;place-items:center;background:radial-gradient(circle,#fff8ec 0 8px,transparent 9px),repeating-radial-gradient(circle,rgba(255,255,255,.08) 0 2px,transparent 2px 7px),radial-gradient(circle at 36% 28%,rgba(255,255,255,.26),transparent 18%),linear-gradient(135deg,#25314d,#12192c 58%,#39486a);border:3px solid rgba(255,255,255,.68);border-radius:999px;box-shadow:inset 0 0 0 8px #ffffff0a,inset 0 0 22px #00000052,0 16px 28px #43526a38}.record-disc:before,.record-disc:after{position:absolute;content:"";border-radius:999px;pointer-events:none}.record-disc:before{inset:10px;border:1px solid rgba(255,255,255,.12)}.record-disc:after{inset:23px;border:1px solid rgba(255,255,255,.14)}.record-label{position:relative;z-index:1;display:grid;width:34px;height:34px;place-items:center;background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.9),transparent 34%),linear-gradient(135deg,#ffc2da,#9fd9ff);border:2px solid rgba(255,255,255,.82);border-radius:999px;box-shadow:0 8px 18px #43526a33}.record-arm{position:absolute;top:13px;right:15px;z-index:2;width:50px;height:17px;border-top:4px solid rgba(65,85,120,.82);border-right:4px solid rgba(65,85,120,.82);border-radius:0 14px 0 0;filter:drop-shadow(0 6px 9px rgba(67,82,106,.2));transform:translate(2px,-3px) rotate(-36deg);transform-origin:86% 28%;transition:transform .36s cubic-bezier(.18,1.1,.28,1)}.record-arm:before{position:absolute;top:-10px;right:-10px;width:16px;height:16px;content:"";background:linear-gradient(135deg,#fffaf1,#dceefa);border:3px solid rgba(65,85,120,.32);border-radius:999px}.record-arm:after{position:absolute;left:-7px;bottom:-10px;width:13px;height:12px;content:"";background:linear-gradient(180deg,#f7b7c8,#d7829c);border:1px solid rgba(255,255,255,.62);border-radius:4px 4px 8px 8px;box-shadow:0 3px 7px #43526a29;transform:rotate(20deg)}.is-music-playing .record-disc{animation:record-spin 5.6s linear infinite}.is-music-playing .record-arm{transform:translate(-9px,9px) rotate(-8deg)}.music-controls{display:grid;grid-template-columns:30px 34px 30px minmax(54px,1fr);gap:6px;align-items:center;margin-top:0}.music-controls button{border-radius:8px;cursor:pointer;font-weight:820;transition:background .18s ease,border-color .18s ease,transform .18s ease}.custom-context-menu button{color:var(--ink);background:#ffffff9e;border:1px solid rgba(96,116,148,.16);border-radius:8px;box-shadow:0 6px 14px #43526a14;cursor:pointer;font-weight:820;transition:background .18s ease,border-color .18s ease,transform .18s ease}.music-controls button{height:30px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.95rem}.music-controls button:hover{background:#ffe2eab8;border-color:#d7829c47;transform:translateY(-1px)}.custom-context-menu button:hover{border-color:#d7829c47}.music-controls input{accent-color:#d7829c}.music-progress{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:7px;align-items:center;margin-top:0;color:#415578c2;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.68rem;font-weight:780}.music-progress input{min-width:0;accent-color:#d7829c}.music-note{margin:0;font-size:.72rem;font-weight:720;text-align:left}.toy-dock{width:430px;transform:translate(-388px)}.toy-dock:hover,.toy-dock.is-pinned{transform:translate(0)}.toy-dock-panel{gap:10px;max-height:none;overflow:visible;padding:12px;scrollbar-width:none}.toy-dock-panel::-webkit-scrollbar{display:none}.toy-dock-panel::-webkit-scrollbar-thumb{background:transparent}.music-widget{grid-template-columns:1fr;gap:9px;padding:12px}.music-widget .toy-widget-title{align-items:center;justify-content:space-between}.music-player-shell{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;min-width:0}.music-cover-area{display:grid;gap:5px;justify-items:center}.music-cover-caption,.music-meta{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.68rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.music-control-label>span{color:#657491c2;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.68rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.music-info-area{display:grid;gap:6px;min-width:0}.music-widget .record-player{grid-row:auto;width:112px;height:112px;border-radius:14px}.music-widget .record-disc{width:78px;height:78px}.music-widget .record-label{width:34px;height:34px}.music-widget .record-arm{top:13px;right:15px;width:50px}.music-track{font-size:.92rem;line-height:1.3}.music-widget .music-note{min-height:24px;padding:5px 9px;color:#415578c7;background:#fffaf16b;border:1px dashed rgba(96,116,148,.14);border-radius:10px;font-size:.72rem;font-weight:780}.music-progress,.music-bottom-row,.music-volume{display:grid;gap:7px;min-width:0}.music-control-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.music-control-label strong{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.78rem;font-weight:850;white-space:nowrap}.music-progress{grid-template-columns:1fr;margin:0;padding:9px 10px;background:#ffffff57;border:1px solid rgba(96,116,148,.12);border-radius:14px}.music-progress input,.music-volume input{width:100%;min-width:0;accent-color:#d7829c}.music-bottom-row{grid-template-columns:minmax(112px,132px) minmax(0,1fr);align-items:end;min-width:0}.music-controls{grid-column:auto;display:grid;grid-template-columns:34px 44px 34px;gap:8px;margin:0}.music-controls button{width:100%;height:38px;border-radius:11px;font-size:.98rem}.music-controls button[data-music-toggle]{border-color:#ffffff9e;box-shadow:0 10px 20px #d7829c33}.music-volume{min-width:0;padding:8px 10px;overflow:hidden;background:linear-gradient(135deg,#ffe2ea61,#dceefa47),#ffffff52;border:1px solid rgba(96,116,148,.12);border-radius:14px}.custom-context-menu{--menu-x: 20px;--menu-y: 20px;position:fixed;top:var(--menu-y);left:var(--menu-x);z-index:60;display:grid;width:220px;max-height:calc(100vh - 24px);overflow-y:auto;gap:6px;padding:8px;opacity:0;pointer-events:none;visibility:hidden;transform:translateY(6px) scale(.98);transition:opacity .13s ease,transform .13s ease,visibility 0s linear .13s;backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08)}.custom-context-menu.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0) scale(1);transition-delay:0s}.custom-context-menu button{min-height:34px;padding:6px 10px;text-align:left}.hide-sakura .sakura-rain{display:none}.sakura-rain canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.site-header{position:fixed;left:0;right:0;z-index:20;display:grid;align-items:center;transition:top .26s cubic-bezier(.2,.8,.2,1)}.site-header:hover,.site-header:focus-within{top:0}.site-header:hover:before,.site-header:focus-within:before{background:#9fc8eb85;box-shadow:0 0 0 4px #ffffff61,0 8px 18px #5b6e8b33}.brand{display:inline-flex;align-items:center;min-width:0;color:var(--ink);font-weight:820}.nav-links{position:relative;display:flex;align-items:center;-webkit-backdrop-filter:blur(10px) saturate(1.08)}.nav-links a{position:relative;display:grid;grid-template-columns:auto auto;column-gap:7px;row-gap:1px;align-items:center;font-weight:760;overflow:hidden;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.nav-links a:hover{border-color:#f7b7c894;box-shadow:inset 0 0 0 1px #ffffff75,0 8px 18px #5b6e8b1f}.nav-links a:hover:after{opacity:1;transform:scaleX(1)}.nav-icon{grid-row:1 / span 2;display:inline-grid;place-items:center;border-radius:999px;font-size:1rem;transform-origin:50% 80%}.nav-icon svg{width:17px;height:17px;stroke-width:2.2}.nav-label{line-height:1;letter-spacing:.02em}.nav-hint{font-weight:760;line-height:1;text-transform:lowercase}.hero-stage{position:relative}.scene-divider{position:relative;z-index:6;pointer-events:none}.hero{--avatar-y: 56vh;--avatar-scale: .78;--profile-opacity: 0;--copy-opacity: 1;--cue-opacity: 1;--hero-dim: .12;position:sticky;top:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero:after{position:absolute;inset:0;pointer-events:none;content:""}.hero-overlay{position:absolute;inset:0;z-index:1}.hero-copy{position:relative;z-index:2;display:grid;justify-items:center;min-width:0;text-align:center;opacity:var(--copy-opacity);transform:translateY(calc((1 - var(--copy-opacity)) * -30px));transition:opacity .22s ease,transform .22s ease}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:860;letter-spacing:.02em;text-transform:uppercase}.section-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;letter-spacing:.02em;text-transform:uppercase}.eyebrow:before,.section-kicker:before{content:""}.hero h1{position:relative;max-width:720px;margin:0;-webkit-background-clip:text;paint-order:stroke fill}.hero-text{max-width:660px;margin:24px 0 0;color:#fffdf8f0;font-size:clamp(1.05rem,2vw,1.35rem)}.terminal-line{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;overflow:hidden;-webkit-backdrop-filter:blur(6px) saturate(1.06);font-family:Cascadia Code,Fira Code,Consolas,monospace;text-align:left}.hero-terminal-stack{position:relative;z-index:1;display:grid;gap:4px}.hero-terminal-status span{width:7px;height:7px;border-radius:999px;box-shadow:0 0 10px currentColor}.hero-terminal-status span:nth-child(1){color:#ff9fc2;background:#ff9fc2}.hero-terminal-status span:nth-child(2){color:#9fd9ff;background:#9fd9ff}.hero-terminal-status span:nth-child(3){color:#b8dbc9;background:#b8dbc9}.hero-terminal-command{display:flex;min-width:0}.terminal-prefix{flex:0 0 auto;margin-right:10px;color:#d7829c;font-weight:800}.terminal-typing{min-width:0;font-weight:720;white-space:nowrap;text-shadow:0 0 12px rgba(159,200,235,.18)}.terminal-cursor{position:relative;z-index:1;display:inline-block;width:2px;margin-left:-6px;animation:cursor-blink .86s steps(1,end) infinite}.hero-profile{position:absolute;left:50%;top:52%;z-index:4;display:flex;align-items:center;justify-content:center;width:min(680px,calc(100% - 32px));min-height:clamp(118px,15vw,174px);color:var(--ink);opacity:var(--profile-opacity);transform:translate(-50%,calc(-50% + var(--avatar-y))) scale(var(--avatar-scale));transform-origin:center;pointer-events:none;transition:opacity .24s ease,transform .52s cubic-bezier(.2,1.25,.32,1);will-change:transform,opacity}.hero.is-docked .identity-card:before{width:min(220px,34vw);opacity:.86}.hero.is-docked .hero-profile{transition:opacity .22s ease,transform .68s cubic-bezier(.18,1.08,.25,1)}.identity-avatar{position:relative;z-index:2;flex:0 0 auto;transform:translate(0);transition:transform .76s cubic-bezier(.18,1.18,.28,1);pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-select:none}.hero.is-docked .identity-avatar{transform:translate(-10px)}.identity-avatar img{width:clamp(104px,13.5vw,158px);height:clamp(104px,13.5vw,158px);padding:3px;object-fit:cover;background:#fffaf1;border:2px solid rgba(255,250,241,.92);border-radius:999px;box-shadow:0 0 0 5px #ffe2ea4d,0 18px 54px #5065843d}.avatar-poke-bubble{position:absolute;left:50%;top:-64px;z-index:5;min-width:150px;padding:8px 10px;color:#334561;text-align:center;background:#fffaf1eb;border:1px solid rgba(215,130,156,.24);border-radius:8px;box-shadow:0 12px 26px #43526a29;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px) scale(.96);transition:opacity .16s ease,transform .16s ease}.avatar-poke-bubble:after{position:absolute;left:50%;bottom:-6px;width:10px;height:10px;content:"";background:inherit;border-right:1px solid rgba(215,130,156,.24);border-bottom:1px solid rgba(215,130,156,.24);transform:translate(-50%) rotate(45deg)}.avatar-poke-bubble.is-visible{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.identity-avatar.is-poked img{animation:avatar-poke-shake .56s cubic-bezier(.36,.07,.19,.97)}.identity-terminal{position:relative;display:grid;align-content:center;gap:9px;width:0;max-width:0;min-height:0;margin-left:0;padding:0;border:0 solid transparent;border-radius:8px;-webkit-backdrop-filter:blur(5px) saturate(1.08);opacity:0;transform:translate(-28px) scaleX(.72);transform-origin:left center;transition:width .76s cubic-bezier(.18,1.08,.25,1),max-width .76s cubic-bezier(.18,1.08,.25,1),min-height .76s cubic-bezier(.18,1.08,.25,1),margin-left .76s cubic-bezier(.18,1.08,.25,1),padding .42s ease 90ms,border-width .26s ease 90ms,opacity .24s ease .12s,transform .76s cubic-bezier(.18,1.08,.25,1)}.hero.is-docked .identity-terminal{width:min(380px,calc(100vw - 190px));max-width:380px;min-height:156px;margin-left:16px;padding:16px 18px 15px;border-width:2px;border-color:#9fc8eb6b;opacity:1;pointer-events:auto;transform:translate(0) scaleX(1)}.hero.is-docked .identity-terminal:before{opacity:1}.identity-terminal-bar{display:flex;align-items:center;justify-content:space-between;min-width:0;padding-bottom:6px;border-bottom:1px solid rgba(220,238,250,.18)}.terminal-dots{display:flex;gap:6px;align-items:center}.terminal-dots span{width:9px;height:9px;border-radius:999px;box-shadow:0 0 10px currentColor}.terminal-dots span:nth-child(1){color:#f7b7c8;background:#f7b7c8}.terminal-dots span:nth-child(2){color:#f7d899;background:#f7d899}.terminal-dots span:nth-child(3){color:#b8dbc9;background:#b8dbc9}.terminal-title{min-width:0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.72rem;font-weight:760;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-path{margin:0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.72rem;font-weight:700;white-space:nowrap}.identity-command{display:flex;align-items:center;min-height:28px;margin:0;color:#dfeeff;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:clamp(.82rem,1.7vw,.98rem);font-weight:720;white-space:nowrap}.identity-command [data-name-typing]{min-width:0;text-shadow:0 0 12px rgba(159,217,255,.32)}.identity-command .terminal-cursor{flex:0 0 auto;margin-left:6px;transform:translateY(1px)}.identity-caption{margin:0;font-size:.88rem;font-weight:760}.social-links{display:flex;flex-wrap:wrap;gap:8px}.social-links a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 10px;font-size:.86rem;font-weight:800;transition:border-color .18s ease,background .18s ease,transform .18s ease}.social-links a:hover{background:#ffe2ea2e;border-color:#f7b7c870;transform:translateY(-1px)}.social-links svg{width:17px;height:17px;fill:currentColor}.scroll-cue{position:absolute;left:50%;z-index:8;display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:5px 12px;backdrop-filter:blur(7px) saturate(1.08);-webkit-backdrop-filter:blur(7px) saturate(1.08);transform:translate(-50%);font-family:Cascadia Code,Fira Code,Consolas,monospace;line-height:1;opacity:var(--cue-opacity);text-shadow:none}.scroll-cue__prompt{color:#d7829c;font-weight:820;white-space:nowrap}.scroll-cue__arrows{display:inline-flex;align-items:center;gap:1px;font-size:1.1rem;font-weight:900}.scroll-cue__arrows span{animation:terminal-arrow-blink 1.05s steps(1,end) infinite}.scroll-cue__arrows span:nth-child(1){color:#ff91bd}.scroll-cue__arrows span:nth-child(2){color:#9fd9ff;animation-delay:.16s}.scroll-cue__arrows span:nth-child(3){color:#b8dbc9;animation-delay:.32s}.home-content-bg{position:relative;overflow:hidden;margin-top:-1px}.home-content-bg:before{position:absolute;inset:0;pointer-events:none;content:""}.home-content-bg>section{position:relative;z-index:1}.tag-rain-stage{position:relative;display:block;width:min(1280px,100%);margin:0 auto;overflow:visible}.home-art-word,.home-signal-card,.home-welcome-bubble{position:absolute;z-index:2;pointer-events:none}.home-art-word{display:grid;gap:4px;color:#fffdf8f0;text-align:center;text-shadow:0 3px 0 rgba(120,142,168,.18),0 14px 34px rgba(53,74,110,.34)}.home-art-word span{font-weight:900;letter-spacing:0}.home-art-word small{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-weight:800;letter-spacing:0}.home-signal-card{display:grid;justify-items:center;text-align:center;border-radius:8px;backdrop-filter:blur(8px) saturate(1.05);-webkit-backdrop-filter:blur(8px) saturate(1.05)}.home-signal-card p,.home-signal-card span{margin:0;font-weight:820}.home-signal-card strong{margin:14px 0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-weight:900;line-height:.95;letter-spacing:0}.home-welcome-bubble{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-height:126px;border-radius:8px;backdrop-filter:blur(9px) saturate(1.06);-webkit-backdrop-filter:blur(9px) saturate(1.06)}.home-welcome-bubble span{font-size:2.1rem;font-weight:900;line-height:1}.home-welcome-bubble strong,.home-welcome-bubble p{grid-column:2;margin:0}.home-welcome-bubble strong{font-weight:900}.home-welcome-bubble p{margin-top:8px;line-height:1.65}.home-welcome-bubble span:last-child{align-self:end}@media(max-width:980px){.tag-rain-stage{display:grid;gap:16px;align-content:start;padding:68px 18px 160px}.home-art-word{position:relative;right:auto;bottom:auto;justify-self:center}.home-signal-card{position:relative;left:auto;bottom:auto;min-width:0;justify-self:center;transform:none}.home-welcome-bubble{position:relative;right:auto;top:auto;min-width:0;justify-self:center;transform:none}.home-art-word{margin-top:16px}}@media(max-width:640px){.tag-rain-stage{padding-inline:14px}.home-welcome-bubble{grid-template-columns:1fr;gap:6px}.home-welcome-bubble strong,.home-welcome-bubble p{grid-column:auto}.home-welcome-bubble span{display:none}}.page-title{position:relative;isolation:isolate}.article{position:relative;isolation:isolate;-webkit-backdrop-filter:blur(1.5px) saturate(1.02)}.post-row{position:relative;isolation:isolate;border:2px solid var(--glass-line);border-radius:8px;background:linear-gradient(135deg,#ffffff0a,#ffeff705 48%,#dceefa08),var(--glass-fill);box-shadow:inset 0 0 0 1px var(--glass-edge),inset 0 0 16px #ffffff0a,var(--glass-shadow);backdrop-filter:blur(1.5px) saturate(1.02);-webkit-backdrop-filter:blur(1.5px) saturate(1.02)}.post-row:after{position:absolute;inset:0;z-index:-1;pointer-events:none;content:"";border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.04),transparent 38%),radial-gradient(circle at 88% 12%,rgba(255,226,234,.03),transparent 30%)}.section-heading h2{margin:0;color:var(--ink);font-size:clamp(1.75rem,4vw,2.45rem);line-height:1.18}.page-title h1{color:var(--ink)}.page-title p{color:var(--ink-soft)}.reel-card__number{width:fit-content;min-height:28px;margin-bottom:12px;padding:2px 10px;color:#6d628f;background:var(--blue-soft);border-radius:999px;font-size:.82rem;font-weight:860}.post-row p{margin:10px 0 0;color:var(--ink-soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.post-row:hover{box-shadow:var(--shadow);transform:translateY(-3px) rotate(-.35deg)}.meta-row{display:flex;flex-wrap:wrap;align-items:center;font-weight:780}.post-row h2{margin:16px 0 0;color:var(--ink);font-size:1.28rem;line-height:1.28}.tag-row{display:flex;flex-wrap:wrap;margin-top:18px}.tag-row span{display:inline-flex;min-height:28px;align-items:center;border-radius:999px}.page-title{max-width:780px}.blog-hero-card{max-width:900px}.blog-search-card{align-items:center;-webkit-backdrop-filter:blur(8px) saturate(1.04)}.blog-search-heading{display:flex;align-items:center}.blog-search-heading svg{width:34px;height:34px;padding:7px;color:#d7829c;background:#ffe2ea9e;border:1px solid rgba(247,183,200,.3);border-radius:999px}.blog-search-heading h2{color:var(--ink)}.blog-search-box span{color:#7b6688;font-size:.78rem;font-weight:820}.blog-search-box input{min-height:46px;outline:none}.blog-search-results{display:grid;gap:8px}.blog-search-result{margin:0}.blog-search-empty{margin:0;border-radius:8px}.blog-search-result{display:grid;gap:4px}.blog-search-result span{color:#5b6d8d;font-size:.9rem}.blog-search-empty{font-size:.9rem}.blog-timeline{position:relative;display:grid;margin:0 auto}.blog-timeline-item{position:relative;display:grid;align-items:stretch}.timeline-date{color:#6d628f;font-family:Cascadia Code,Fira Code,Consolas,monospace}.timeline-date time{display:block;font-weight:860}.timeline-date span{font-weight:780}.post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:24px}.post-cover-frame{position:relative}.post-cover-frame img{width:100%}.blog-post-copy{display:grid;align-content:center;min-width:0}.article-shell{display:grid;align-items:start}.article{width:100%;margin:0}.back-link{display:inline-flex;font-weight:760}.article-header h1{margin:16px 0 0;color:var(--ink)}.article-header p{color:var(--ink-soft)}.prose{color:var(--ink)}.prose h2{position:relative;margin:46px 0 12px;color:var(--ink)}.prose h3{margin:30px 0 10px;color:#3e5274}.heading-anchor{display:inline-flex;margin-left:8px;color:#547aa86b;font-size:.78em;opacity:0;transform:translateY(-1px);transition:color .16s ease,opacity .16s ease}.prose :where(h2,h3):hover .heading-anchor{opacity:1}.heading-anchor:hover{color:#d7829c}.prose p,.prose li{color:#4f5f7e}.prose p{margin:1em 0}.prose details.article-source-foldout{margin:24px 0;overflow:hidden}.prose details.article-source-foldout>summary{display:grid;grid-template-columns:.8rem minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:14px 18px;cursor:pointer;list-style:none}.prose details.article-source-foldout>summary::-webkit-details-marker{display:none}.prose details.article-source-foldout>summary:before{content:"+";color:#d7829c;font:700 1rem/1 Cascadia Code,Consolas,monospace}.prose details.article-source-foldout[open]>summary:before{content:"-"}.prose details.article-source-foldout>summary span{font-weight:700;line-height:1.3}.prose details.article-source-foldout>summary small{color:#6d7d95;font-size:.78rem;line-height:1.45;text-align:right}.prose details.article-source-foldout[open]>summary{border-bottom:1px solid rgba(247,183,200,.28)}.prose details.article-source-foldout>summary:focus-visible{outline:2px solid #d7829c;outline-offset:-4px}.prose details.article-source-foldout>.expressive-code{margin:0}.prose details.article-source-foldout>.expressive-code .frame{border:0;border-radius:0;box-shadow:none}.prose img[src^="/blog-assets/codex-app-usage/"]{display:block;width:min(100%,520px);height:auto;margin:1.8rem auto}.prose .article-side-illustration{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:24px;align-items:start;margin:2.8rem 0}.prose .article-side-illustration--build{grid-template-columns:minmax(0,1fr) minmax(176px,196px)}.prose .article-side-illustration>img{grid-column:2;grid-row:1;width:100%;max-width:none;margin:0}.prose .article-side-illustration>figcaption{grid-column:1;grid-row:1;min-width:0;margin:0;color:inherit}.prose .article-side-illustration>figcaption>p{margin:0;color:inherit}.prose table{width:100%;margin:24px 0;border-spacing:0}.prose th,.prose td{border:1px solid rgba(96,116,148,.18)}.prose a{border-bottom:2px solid rgba(159,200,235,.55)}.prose code{padding:2px 6px;color:#f7b7c8;background:#151b26f0;border-radius:6px}.prose pre:not(.expressive-code pre){position:relative;overflow:auto;margin:24px 0;padding:20px 22px;color:#f5f7fb;background:radial-gradient(circle at top right,rgba(255,255,255,.06),transparent 32%),linear-gradient(180deg,#1a1f2cfa,#0e121cfa);border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff0d,0 18px 40px #0c10183d}.prose pre:not(.expressive-code pre) code{padding:0;color:inherit;background:transparent;border-radius:0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.92rem;line-height:1.7;white-space:pre}.prose .expressive-code{margin:26px 0}.prose .expressive-code .frame{border:1px solid rgba(93,113,145,.28)}.article-toc{position:sticky;color:#5f6f8e;-webkit-backdrop-filter:blur(8px) saturate(1.05)}.article-toc p{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-weight:860;letter-spacing:.08em}.article-toc nav{display:grid;gap:8px}.article-toc a{display:block;font-weight:720;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.article-toc a:hover{border-color:#f7b7c852}.article-toc .toc-depth-3{color:#6f7fa3}.code-block-copy{position:absolute;top:10px;right:10px;display:inline-flex;gap:6px;align-items:center;padding:7px 10px;color:#f6f2ea;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:6px;font-size:.76rem;font-weight:760;letter-spacing:.02em;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.code-block-copy:hover{transform:translateY(-1px);background:#ffffff21;border-color:#ffffff3d}.code-block-copy:active{transform:translateY(0)}.code-block-copy.copied{color:#fff6df;background:#f7b7c838;border-color:#f7b7c880}.site-footer{width:100%;margin:0;font-size:.92rem}.footer-inner{width:min(1160px,100%);margin:0 auto}.footer-inner p{line-height:1.7}.footer-signature-line{color:#203251;font-weight:860}.footer-inner time{font-family:Cascadia Code,Fira Code,Consolas,monospace}.footer-status-line{margin-top:12px!important;color:#67417edb!important;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.78rem!important;font-weight:820!important}.not-found{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:center}.not-found-copy,.not-found-visual{overflow:hidden;-webkit-backdrop-filter:blur(1.5px) saturate(1.02)}.not-found-copy h1{margin:0}.not-found-copy p{color:var(--ink-soft)}.not-found-visual{overflow:hidden}.not-found-visual img{width:100%}@keyframes record-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes terminal-arrow-blink{0%,30%{opacity:.35;filter:saturate(.9)}31%,68%{opacity:1;filter:saturate(1.4) drop-shadow(0 0 8px currentColor)}69%,to{opacity:.55;filter:saturate(1)}}@keyframes cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes avatar-poke-shake{0%,to{transform:translate(0) rotate(0) scale(1)}12%{transform:translate(-5px,2px) rotate(-4deg) scale(.98)}24%{transform:translate(6px,-1px) rotate(4deg) scale(1.02)}36%{transform:translate(-4px,-2px) rotate(-3deg) scale(1.01)}52%{transform:translate(4px,2px) rotate(3deg) scale(.99)}70%{transform:translate(-2px) rotate(-1deg) scale(1.01)}}html[data-yuimi-performance=lite] .hero:before,html[data-yuimi-performance=lite] .terminal-line:after,html[data-yuimi-performance=lite] .scroll-cue,html[data-yuimi-performance=lite] .scroll-cue__arrows span,html[data-yuimi-performance=lite] .status-dot,html[data-yuimi-performance=lite] .console-meter span{animation:none!important}@media(max-width:940px){.site-header{justify-items:center}.brand{display:none}.toy-dock{top:112px;width:388px;transform:translate(-346px)}.toy-dock:hover,.toy-dock.is-pinned{transform:translate(0)}.nav-links{width:min(100%,520px);justify-content:flex-start;overflow-x:auto;max-width:calc(100vw - 24px);scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:0 0 auto}.post-row,.not-found{grid-template-columns:1fr}.hero-profile{top:50%}.post-row{gap:8px}}@media(max-width:520px){body{font-size:15px}.prose details.article-source-foldout>summary{grid-template-columns:.8rem minmax(0,1fr);padding:12px 14px}.prose details.article-source-foldout>summary small{grid-column:2;text-align:left}.prose .article-side-illustration,.prose .article-side-illustration--build{grid-template-columns:minmax(0,1fr);gap:18px}.prose .article-side-illustration>img{grid-column:1;grid-row:1;width:min(100%,520px);margin:0 auto}.prose .article-side-illustration>figcaption{grid-column:1;grid-row:2}.terminal-line{align-items:flex-start;gap:10px}.terminal-prefix{margin-right:0}.terminal-cursor{margin-left:0}.hero-profile{width:min(100%,calc(100% - 32px))}.hero.is-docked .identity-terminal{width:min(330px,calc(100vw - 166px));max-width:330px;margin-left:10px;padding-inline:14px;border-width:2px;border-color:#60749452;opacity:1}.hero.is-docked .identity-avatar{transform:translate(0)}.identity-command{flex-wrap:wrap;row-gap:2px;white-space:normal}.article-shell{display:block}.article-toc{position:static;margin-top:16px}.scroll-progress{right:7px;width:28px}.scroll-progress-track{right:8px}.toy-dock{top:102px;width:calc(100vw - 46px);transform:translate(calc(-100vw + 88px))}.toy-dock:hover,.toy-dock.is-pinned{transform:translate(0)}.toy-dock-handle{right:-18px;width:30px;height:96px}.toy-dock-panel{max-height:none;overflow:visible;padding:12px}.music-player-shell{grid-template-columns:118px minmax(0,1fr);gap:12px}.music-widget .record-player{width:118px;height:118px}.music-widget .record-disc{width:84px;height:84px}.music-bottom-row{grid-template-columns:1fr}.custom-context-menu{width:min(208px,calc(100vw - 24px))}}@media(prefers-reduced-motion:reduce){.is-music-playing .record-disc{animation:none}}html[data-yuimi-visibility=hidden] *,html[data-yuimi-visibility=hidden] *:before,html[data-yuimi-visibility=hidden] *:after{animation-play-state:paused!important}.article-print-meta{display:none}@media print{@page{margin:16mm 14mm 18mm}html,body{width:auto!important;min-width:0!important;overflow:visible!important;color:#171717!important;background:#fff!important;scroll-behavior:auto!important}body:before,.skip-to-content,.site-header,.site-footer,.sakura-rain,.scroll-progress,.toy-dock,.custom-context-menu,.article-mobile-toc,.article-toc,.article-colophon,.article-margin-character,.manga-art,.article-image-viewer,.heading-anchor,.code-block-copy{display:none!important}.site-shell,.article-shell,.article{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;color:#171717!important;background:#fff!important;box-shadow:none!important}.article-header{border-color:#888!important;color:#171717!important}.article-header h1,.article-header p,.prose,.prose :where(h2,h3,h4,p,li,blockquote,th,td){color:#171717!important}.article-header .meta-row,.article-header .tag-row{display:none!important}.article-print-meta{display:grid!important;gap:3px;margin-top:12px;color:#333!important;font-size:9pt;overflow-wrap:anywhere}.article-print-meta a,.prose a{color:#171717!important;border:0!important;text-decoration:underline}.prose{font-size:10.5pt;line-height:1.55}.prose h2,.prose h3,.prose h4{break-after:avoid;page-break-after:avoid}.prose p,.prose li,.prose blockquote{orphans:3;widows:3}.prose table{width:100%!important;max-width:100%!important;table-layout:fixed;border-collapse:collapse;overflow:visible!important}.prose thead{display:table-header-group}.prose tr,.prose th,.prose td{break-inside:avoid;page-break-inside:avoid;border-color:#999!important;overflow-wrap:anywhere}.prose pre,.prose .expressive-code,.prose .expressive-code .frame{max-width:100%!important;overflow:visible!important;color:#171717!important;background:#f4f4f4!important;border-color:#999!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.prose pre,.prose pre code,.prose .expressive-code pre,.prose .expressive-code code,.prose .expressive-code .ec-line{white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:normal;color:#171717!important;text-shadow:none!important}.prose :where(code,pre){background:#f4f4f4!important}.prose img,.prose figure,.prose blockquote{max-width:100%!important;break-inside:avoid;page-break-inside:avoid}}
