.page-main{padding:120px 0 110px}.menu-head{margin-bottom:44px}.menu-head h1{font-size:clamp(30px,4vw,44px);font-weight:800;margin:16px 0 12px;letter-spacing:.01em}.menu-sub{color:var(--muted);font-size:15px;line-height:1.9}.menu-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.menu-count{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.menu-count b{color:var(--accent);font-size:15px;margin-right:2px}.menu-filter{display:inline-flex;align-items:center;gap:12px;padding:9px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s}.menu-filter:focus-within{border-color:var(--accent)}.menu-filter span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}#noteFilter{border:none;outline:none;background:none;font-family:var(--font-mono);font-size:13px;color:var(--text);width:min(220px,40vw)}#noteFilter::placeholder{color:var(--muted)}.note-menu{list-style:none;border-top:1px solid var(--line)}.note-menu>li{border-bottom:1px solid var(--line);animation:menuIn .5s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes menuIn{0%{opacity:0;transform:translateY(18px)}}.menu-row{display:flex;align-items:center;gap:clamp(16px,3vw,36px);padding:24px 18px;text-decoration:none;color:var(--text);position:relative;overflow:hidden}.menu-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--nav-hover),transparent 75%);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.menu-row:hover:before{transform:scaleX(1)}.menu-no{flex:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--muted);transition:color .25s}.menu-row:hover .menu-no{color:var(--accent)}.menu-body{display:flex;flex-direction:column;gap:6px;min-width:0;position:relative}.menu-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase}.menu-title{font-size:clamp(18px,2.2vw,24px);font-weight:700;letter-spacing:.01em;transition:transform .3s var(--ease-out)}.menu-row:hover .menu-title{transform:translate(8px)}.menu-tags{font-size:12.5px;color:var(--muted)}.menu-side{margin-left:auto;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px;position:relative}.menu-date{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--muted)}.menu-open{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--accent);opacity:0;transform:translate(-8px);transition:opacity .25s,transform .3s var(--ease-out)}.menu-row:hover .menu-open{opacity:1;transform:none}.menu-empty{padding:48px 0;text-align:center;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;color:var(--muted)}.note-preview{position:fixed;z-index:65;pointer-events:none;width:280px;padding:18px 20px;border-radius:var(--radius);background:var(--surface-strong);border:1px solid var(--line-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 60px #0a122638;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .3s var(--ease-out)}.note-preview.show{opacity:1;transform:none}.note-preview[hidden]{display:none}.np-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;color:var(--cyan);text-transform:uppercase}.np-title{font-size:15px;font-weight:700;color:var(--text)}.np-desc{font-size:12.5px;line-height:1.75;color:var(--muted)}.read-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:transparent;pointer-events:none}.read-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 0 10px var(--cyan-glow)}.doc-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--muted);text-decoration:none;transition:color .18s,gap .2s var(--ease-out)}.doc-back:hover{color:var(--accent);gap:12px}.doc{padding:clamp(28px,5vw,64px)}.doc-head{margin-bottom:36px}.doc-head h1{font-size:clamp(30px,4vw,44px);font-weight:800;margin:16px 0 12px;letter-spacing:.01em}.doc-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--muted)}.doc-body{overflow-wrap:anywhere}.doc-body h2{font-size:clamp(22px,2.6vw,28px);font-weight:800;margin:52px 0 18px;padding-top:28px;border-top:1px solid var(--line)}.doc-body>h2:first-of-type{margin-top:0;padding-top:0;border-top:none}.doc-body h3{font-size:20px;font-weight:700;margin:38px 0 14px}.doc-body h4{font-size:16px;font-weight:700;margin:26px 0 10px;color:var(--text)}.doc-body h5{font-size:14.5px;font-weight:700;margin:22px 0 8px;color:var(--text-soft)}.doc-body p{font-size:15px;line-height:1.95;color:var(--text-soft);margin:12px 0}.doc-body strong{color:var(--text)}.doc-body ul,.doc-body ol{padding-left:24px;margin:12px 0}.doc-body li{font-size:15px;line-height:1.9;color:var(--text-soft);margin:6px 0}.doc-body li::marker{color:var(--cyan)}.doc-body hr{border:none;border-top:1px dashed var(--line-strong);margin:30px 0}.doc-body a{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent)}.doc-body a:hover{border-bottom-style:solid}.doc-body blockquote{margin:16px 0;padding:14px 20px;background:var(--chip-bg);border-left:3px solid var(--cyan);border-radius:0 14px 14px 0}.doc-body blockquote p{margin:6px 0}.doc-body blockquote ul,.doc-body blockquote ol{margin:8px 0}.doc-body code{font-family:var(--font-mono);font-size:.88em;background:var(--chip-tint);border:1px solid var(--line);padding:2px 7px;border-radius:6px}.doc-body pre{margin:14px 0;padding:16px 60px 16px 20px;background:var(--surface-strong);border:1px solid var(--line);border-radius:14px;max-width:100%;overflow-x:auto}.doc-body pre code{background:none;border:none;padding:0;font-size:13px;line-height:1.85;color:var(--text-soft);display:block;white-space:pre;overflow-wrap:normal}.doc-body .astro-code{background-color:var(--surface-strong)!important}html[data-theme=dark] .doc-body .astro-code span{color:var(--shiki-dark)!important}.doc-body img{display:block;max-width:100%;height:auto;margin:22px auto;border-radius:12px}.doc-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:20px 0}.doc-body :is(th,td){padding:10px 14px;border:1px solid var(--line);text-align:left}.doc-body th{background:var(--chip-tint)}.code-block{position:relative;margin:14px 0}.doc-body .code-block pre{margin:0}.code-copy{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-solid);color:var(--text);cursor:pointer;opacity:0;transition:opacity .15s}.code-copy svg{width:17px;height:17px;pointer-events:none}.code-copy[data-state=success]{color:var(--mint)}.code-block:hover .code-copy,.code-block:focus-within .code-copy,.code-copy:disabled{opacity:1}.copy-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(hover:none),(pointer:coarse){.code-copy{opacity:1}}.doc-body mark{background:linear-gradient(120deg,#3280f92e,#0e93b02e);color:inherit;padding:1px 6px;border-radius:6px}@media(max-width:640px){.menu-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;row-gap:10px}.menu-no{padding-top:2px}.menu-side{grid-column:2;margin-left:0;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:14px;width:100%}.menu-open{opacity:1;transform:none}.note-preview{display:none}}
