.search-open{display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 4px 12px -9px #223a5550;transition:background .2s ease,box-shadow .2s ease}
.search-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.search-open:hover{background:var(--soft);box-shadow:0 5px 15px -8px #223a5555}.search-open:focus-visible{outline:3px solid #b97817;outline-offset:3px}
.search-dialog{width:min(820px,calc(100vw - 24px));max-width:820px;max-height:min(85vh,850px);padding:28px;border-radius:16px;overflow:auto;box-shadow:0 30px 90px #0b223a66}.search-dialog::backdrop{background:#10283caa;backdrop-filter:blur(4px)}.search-dialog h2{font-size:28px;margin:0 0 18px;padding-right:70px}.search-close{position:absolute;right:20px;top:20px;border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:6px;padding:6px 11px;font-size:13px;cursor:pointer}.search-dialog label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}.search-field{width:100%;font:inherit;font-size:18px;line-height:1.5;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.search-status{color:var(--muted);font-size:13px;min-height:22px;margin:12px 0}.search-results{list-style:none;margin:0;padding:0;display:grid;gap:10px}.search-results a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:9px;background:var(--paper);text-decoration:none}.search-results a:hover{background:var(--soft)}.search-results h3{font-size:19px;margin:0 0 6px;line-height:1.3}.search-results p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.search-shortcuts{font-size:12px;color:var(--muted);margin:16px 0 0}.search-fallback-links{display:flex;gap:18px;font-size:13px;margin-top:18px}.search-fallback-links a{text-decoration:underline;text-underline-offset:3px}.search-dialog:focus{outline:none}
@media(max-width:1150px){.nav{justify-content:flex-start}.nav>.brand{margin-right:auto}.nav .menu{flex:0 0 42px;width:42px;height:42px;padding:7px;font-size:0}.nav .menu::after{content:'☰';font-size:21px;line-height:1}.nav>.search-open{margin-left:0}}
@media(max-width:420px){.nav{gap:8px}.nav .brand{font-size:22px}.nav .mark{width:29px;height:29px;margin-right:6px}.search-dialog{padding:21px 16px}.search-dialog h2{font-size:23px}.search-field{font-size:16px}.search-results a{padding:14px}}
@media(prefers-reduced-motion:reduce){.search-open{transition:none}}
