.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{color-scheme:dark;--bg: #07080b;--bg-elevated: #0b0e14;--surface: #10141b;--surface-soft: #0c1016;--surface-strong: #171d27;--ink: #f4efe7;--muted: #a7adba;--muted-strong: #c7ccd6;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .22);--accent: #64d2ff;--accent-strong: #f4b84a;--accent-soft: rgba(100, 210, 255, .14);--blue: #8fdcff;--warm: #f4b84a;--shadow: 0 18px 50px rgba(0, 0, 0, .36);--glow: 0 0 30px rgba(100, 210, 255, .22);font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(90deg,rgba(100,210,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(244,184,74,.026) 1px,transparent 1px),linear-gradient(180deg,#080b11,#07080b 42%,#090b10);background-size:42px 42px,42px 42px,auto;color:var(--ink)}a{color:inherit}.site-footer{width:min(1120px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header{position:sticky;top:0;z-index:40;width:100%;background:#07080b75;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .18s ease,box-shadow .18s ease}.site-header:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(100,210,255,.38),rgba(244,184,74,.18),transparent);opacity:.52;transition:opacity .18s ease;pointer-events:none}.site-header.is-scrolled{background:#07080bc7;box-shadow:0 16px 34px #0003}.site-header.is-scrolled:after{opacity:.86}.site-header-inner{width:min(1120px,calc(100% - 32px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer{padding:42px 0;color:var(--muted);border-top:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:850;text-decoration:none}.brand:before{content:"";width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 0 18px #64d2ff75}.site-nav{display:flex;flex-wrap:wrap;gap:5px;color:var(--muted)}.site-nav a{position:relative;min-height:36px;display:inline-flex;align-items:center;flex:0 0 auto;padding:0 11px;border:1px solid transparent;border-radius:7px;text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.site-nav a:hover,.site-nav a:focus-visible{border-color:#ffffff29;background:#ffffff0e;color:var(--ink);box-shadow:0 1px #ffffff12 inset}.site-nav a:focus-visible,.brand:focus-visible{outline:3px solid rgba(100,210,255,.22);outline-offset:3px}.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a[aria-current=page]:after{content:"";position:absolute;right:11px;bottom:5px;left:11px;height:1px;border-radius:999px;background:linear-gradient(90deg,#64d2ff1a,#64d2ffcc,#f4b84a73);box-shadow:0 0 12px #64d2ff38}main{width:min(1120px,calc(100% - 32px));margin:0 auto}.hero-section{min-height:56vh;display:grid;align-content:center;gap:22px;padding:72px 0 82px;border-bottom:1px solid var(--line)}.hero-section h1{max-width:880px;margin:0;font-size:clamp(2.45rem,6vw,4.9rem);line-height:1.03;letter-spacing:0}.page-header h1,.content-hero h1{max-width:900px;margin:0;font-size:clamp(2.15rem,5vw,4.3rem);line-height:1.04;letter-spacing:0}.hero-section>p:not(.eyebrow),.hero-content>p:not(.eyebrow),.page-header p,.content-hero p{max-width:740px;color:var(--muted);font-size:1.08rem;line-height:1.8}.hero-with-field{position:relative;width:100vw;min-height:calc(100svh - 80px);margin-left:calc(50% - 50vw);padding:80px max(16px,calc((100vw - 1120px)/2)) 96px;overflow:hidden;isolation:isolate;background:#06080d}.hero-with-field:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#07080bc2,#07080b4d 58%,#07080bb8),linear-gradient(180deg,#07080b1a,#07080b61 70%,#07080bf0);pointer-events:none}.hero-content{position:relative;z-index:2;display:grid;gap:22px;max-width:900px;text-shadow:0 2px 28px rgba(0,0,0,.54)}.hero-field{position:absolute;inset:0;z-index:0;background:linear-gradient(115deg,rgba(100,210,255,.12),transparent 42%),linear-gradient(250deg,rgba(244,184,74,.11),transparent 46%),#06080d}.hero-field canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-field canvas+canvas{mix-blend-mode:screen}.hero-field.is-static canvas{display:none}.hero-actions,.meta-row,.card-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.eyebrow{margin:0;color:var(--accent);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:1px solid var(--line-strong);border-radius:8px;background:#ffffff12;color:var(--ink);font-weight:760;text-decoration:none;cursor:pointer;box-shadow:0 1px #ffffff14 inset;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.button:hover{border-color:#64d2ff8a;background:#ffffff1c;transform:translateY(-1px);box-shadow:var(--glow)}.button:active{transform:translateY(0)}.button.primary{background:linear-gradient(135deg,#64d2fffa,#f4b84aeb);color:#071016;border-color:transparent;box-shadow:0 14px 34px #64d2ff2e}.button.primary:hover{background:linear-gradient(135deg,#8fdcff,#ffd073)}.section-grid,.page-header,.two-column,.lab-panel,.http-lab,.link-section{padding:56px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading h2,.page-header h1{margin:0}.section-heading p{max-width:560px;color:var(--muted);line-height:1.7}.section-scroll-page{scroll-behavior:smooth;scroll-padding-top:80px}.tracked-section{min-height:calc(100svh - 80px);display:grid;align-content:center;scroll-margin-top:80px}.section-dots{position:fixed;top:50%;left:24px!important;right:auto!important;z-index:30;display:grid;gap:11px;width:26px;justify-items:center;padding:15px 0;border:1px solid var(--line);border-radius:999px;background:#07080bad;box-shadow:var(--shadow);backdrop-filter:blur(16px);transform:translateY(-50%)}main .section-dots{left:24px!important;right:auto!important}.section-dots a{display:block;width:8px;height:8px;min-height:0;padding:0;aspect-ratio:1;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#ffffff24;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.section-dots a:hover,.section-dots a.active{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #64d2ff24,0 0 18px #64d2ff6b;transform:scale(1.12)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.list-grid{display:grid;gap:16px}.entry-card,.skill-card,.link-card,.search-result,.project-meta-panel,.update-card,.http-readout div,.request-steps li{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff0e,#ffffff07);box-shadow:0 1px #ffffff0f inset}.entry-card{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:24px;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.entry-card:hover,.link-card:hover,.search-result:hover{border-color:#64d2ff7a;background:linear-gradient(180deg,#64d2ff17,#ffffff08);box-shadow:var(--shadow),var(--glow);transform:translateY(-3px)}.entry-card h3{margin:0 0 10px;font-size:1.18rem;line-height:1.35}.entry-card p,.skill-card p,.link-card small,.search-result p,.update-card p{margin:0;color:var(--muted);line-height:1.7}.card-meta,.meta-row{color:var(--muted);font-size:.88rem}.card-meta span,.meta-row span{border:1px solid var(--line);border-radius:999px;padding:4px 9px;background:#ffffff0e}.meta-updated{color:var(--accent-strong);font-weight:760}.content-shell{max-width:820px;margin:0 auto}.content-hero{padding:48px 0;border-bottom:1px solid var(--line)}.prose{padding:32px 0 64px;font-size:1.05rem;line-height:1.85}.prose h2{margin-top:2.2em}.prose a{color:var(--accent)}.prose code{border:1px solid var(--line);border-radius:6px;padding:2px 6px;background:#ffffff0f}.prose pre{overflow-x:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:#05070b;color:#f7f6f2}.prose pre code{border:0;padding:0;background:transparent}.content-changelog{margin:0 0 64px;padding:24px 0 0;border-top:1px solid var(--line)}.content-changelog h2{margin:0 0 16px;font-size:1.15rem}.content-changelog .timeline{padding-left:0;list-style:none}.content-changelog .timeline li{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line)}.content-changelog .timeline time{color:var(--accent-strong);font-weight:800}.project-meta-panel{display:grid;gap:22px;margin:32px 0;padding:22px}.project-meta-panel h2{margin:0 0 12px;font-size:1rem}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;border-top:1px solid var(--line)}.two-column p{color:var(--muted);line-height:1.8}.about-section{padding:56px 0;border-top:1px solid var(--line)}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.skill-card{min-height:188px;display:grid;align-content:start;gap:12px;padding:18px}.skill-card span,.link-card span,.search-result>span{color:var(--warm);font-size:.78rem;font-weight:800;text-transform:uppercase}.skill-card strong{font-size:1.05rem;line-height:1.35}.lab-panel{min-height:360px;display:grid;grid-template-columns:220px 1fr 260px;gap:32px;align-items:center;border-top:1px solid var(--line)}.signal-orbit{position:relative;width:180px;height:180px;border:1px solid var(--line);border-radius:50%}.signal-orbit span{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px #64d2ff70;animation:pulse 1.8s infinite ease-in-out}.signal-orbit span:nth-child(1){top:20px;left:84px}.signal-orbit span:nth-child(2){top:92px;right:24px;animation-delay:.25s}.signal-orbit span:nth-child(3){bottom:28px;left:42px;animation-delay:.5s}.timeline{display:grid;gap:10px;margin:0;padding-left:22px}.timeline li{color:var(--muted)}.timeline li.active{color:var(--accent-strong);font-weight:800}.http-lab{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:36px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lab-copy{display:grid;gap:18px}.lab-copy h2,.link-section h2{margin:0;font-size:2rem;line-height:1.15}.lab-copy p,.link-section p{margin:0;color:var(--muted);line-height:1.8}.http-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 0}.http-readout div{padding:14px}.http-readout dt{margin-bottom:6px;color:var(--muted);font-size:.8rem}.http-readout dd{margin:0;color:var(--accent-strong);font-weight:800}.request-stage{position:relative;min-height:360px;display:grid;align-content:center;padding:28px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(100,210,255,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(244,184,74,.055) 1px,transparent 1px),var(--surface-soft);background-size:34px 34px;overflow:hidden}.request-line{position:absolute;left:52px;right:52px;top:50%;height:2px;background:var(--line-strong)}.packet{--packet-x: 0px;position:absolute;left:52px;top:calc(50% - 9px);width:18px;height:18px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 8px #f4b84a1f,0 0 24px #f4b84a6b;transform:translate(var(--packet-x));transition:transform .36s ease;z-index:2}.request-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.request-steps li{min-height:132px;display:grid;align-content:center;gap:8px;padding:14px;color:var(--muted);transition:border-color .18s ease,transform .18s ease,color .18s ease,background .18s ease}.request-steps li.active{border-color:#64d2ff7a;background:#64d2ff17;color:var(--ink);transform:translateY(-4px)}.request-steps span{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0f;color:var(--muted);font-size:.78rem;font-weight:800}.request-steps li.active span{background:var(--accent);color:#061016}.request-steps strong{font-size:1rem}.request-steps small{color:var(--muted);line-height:1.5}.link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.link-card{min-height:158px;display:grid;align-content:space-between;gap:14px;padding:18px;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.link-card strong{font-size:1.1rem}.link-card.muted{background:transparent}.link-section.compact{padding-top:20px}.tag-cloud{display:flex;flex-wrap:wrap;gap:12px;padding:40px 0 64px;border-top:1px solid var(--line)}.tag-cloud a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;text-decoration:none}.tag-cloud a:hover{border-color:#64d2ff8a;background:#64d2ff14}.tag-cloud small{min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff12;color:var(--muted);font-weight:800}.update-timeline{display:grid;gap:16px;padding:40px 0 64px;border-top:1px solid var(--line)}.update-card{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px}.update-card h2{margin:0 0 8px;font-size:1.24rem}.update-date{display:grid;align-content:start;gap:10px;color:var(--muted)}.update-date time{color:var(--accent-strong);font-weight:850}.update-date span{width:fit-content;border:1px solid var(--line);border-radius:999px;padding:4px 9px;background:#f4b84a1f;color:var(--accent-strong);font-size:.84rem;font-weight:800}.search-panel{display:grid;gap:18px;padding:40px 0 64px;border-top:1px solid var(--line)}.search-controls{display:grid;gap:14px}.search-controls input{width:100%;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:#ffffff0e;color:var(--ink);font:inherit;font-size:1rem}.search-controls input:focus{border-color:var(--accent);outline:3px solid rgba(100,210,255,.16)}.search-controls input::placeholder{color:#a7adbab8}.search-filters{display:flex;flex-wrap:wrap;gap:10px}.search-count{margin:0;color:var(--muted)}.search-results{display:grid;gap:12px}.search-result{display:grid;gap:10px;padding:18px;text-decoration:none}.search-result strong{font-size:1.18rem}.mermaid{margin:24px 0;padding:16px;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#0b0e14}@keyframes pulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.7);opacity:1}}@media(prefers-reduced-motion:reduce){.section-scroll-page{scroll-behavior:auto}.signal-orbit span{animation:none}}@media(min-width:561px)and (max-width:900px){.section-scroll-page main{padding-left:44px}.section-dots{left:10px!important}}@media(min-width:561px)and (max-width:760px){.hero-with-field{width:calc(100% + 76px);margin-left:-60px;padding-right:16px;padding-left:60px}}@media(max-width:760px){.site-footer{align-items:flex-start;flex-direction:column}.site-header-inner{min-height:auto;padding:12px 0;align-items:stretch;flex-direction:column;gap:10px}.site-nav{width:100%;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.site-nav a{min-height:38px}.card-grid,.two-column,.lab-panel,.http-lab,.link-grid,.skill-grid,.update-card{grid-template-columns:1fr}.hero-section h1,.page-header h1,.content-hero h1{font-size:2.5rem;line-height:1.05}.content-hero h1{font-size:2.05rem;line-height:1.12}.hero-with-field{width:calc(100% + 32px);min-height:auto;margin-left:-16px;padding:188px 16px 84px}.section-heading{align-items:flex-start;flex-direction:column}.http-readout,.request-steps{grid-template-columns:1fr}.request-stage{min-height:auto}.request-line,.packet{display:none}}@media(max-width:560px){main{width:min(100% - 24px,1120px)}.tracked-section{min-height:auto}.section-dots{display:none}.hero-section h1,.page-header h1{font-size:2.2rem}.hero-with-field{width:calc(100% + 24px);margin-left:-12px;padding-right:12px;padding-left:12px}.content-hero h1{font-size:1.9rem}.button{width:100%}}
