:root{--bg: #f6f8f9;--bg-elev: #ffffff;--fg: #122023;--fg-muted: #5a6b6e;--fg-subtle: #869699;--border: #e2e8e9;--accent: #0b8276;--accent-weak: #d9efeb;--accent-fg: #ffffff;--mark-bg: #fff2b0;--mark-fg: #5b4a00;--shadow: 0 1px 2px rgba(18, 32, 35, .04), 0 8px 30px rgba(18, 32, 35, .06);--radius: 14px;--maxw: 720px}@media (prefers-color-scheme: dark){:root{--bg: #0d1416;--bg-elev: #151f21;--fg: #e8eeef;--fg-muted: #9bacae;--fg-subtle: #6b7d7f;--border: #243133;--accent: #2bb6a4;--accent-weak: #16302d;--accent-fg: #04221d;--mark-bg: #5d5316;--mark-fg: #ffe9a3;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 30px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}.app{max-width:var(--maxw);margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,4vw,1.5rem) 4rem;min-height:100dvh;display:flex;flex-direction:column}.masthead{text-align:center;margin-bottom:clamp(1.5rem,4vw,2.5rem)}.brand{display:inline-flex;align-items:center;gap:.6rem}.brand-mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:10px;background:var(--accent);color:var(--accent-fg);font-weight:800;font-size:1.3rem}.brand-title{font-size:clamp(1.35rem,3.5vw,1.9rem);font-weight:750;letter-spacing:-.02em;margin:0}.tagline{margin:.65rem 0 0;color:var(--fg-muted);font-size:.98rem}.search-shell{position:sticky;top:.75rem;z-index:5}.search-box{display:flex;align-items:center;gap:.6rem;background:var(--bg-elev);border:1.5px solid var(--border);border-radius:var(--radius);padding:0 .9rem;box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-weak),var(--shadow)}.search-icon{width:1.25rem;height:1.25rem;color:var(--fg-muted);flex:none}.search-input{flex:1;border:none;outline:none;background:transparent;color:var(--fg);font-size:1.1rem;padding:1rem 0;min-width:0}.search-input::placeholder{color:var(--fg-subtle)}.search-input::-webkit-search-decoration,.search-input::-webkit-search-cancel-button{-webkit-appearance:none}.shortcut-hint{flex:none;font-size:.8rem;color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.1rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hint{margin:.7rem .3rem 0;font-size:.82rem;color:var(--fg-subtle);text-align:center}.hint kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:var(--bg-elev);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:.05rem .35rem}.results{margin-top:1.4rem;flex:1}.result-list{display:flex;flex-direction:column;gap:.4rem}.result{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:11px;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .05s ease}.result:hover{border-color:var(--accent)}.result.active{border-color:var(--accent);background:var(--accent-weak)}.result:active{transform:translateY(1px)}.result-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.result-title{font-size:1.02rem;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-title mark{background:var(--mark-bg);color:var(--mark-fg);border-radius:3px;padding:0 1px}.result-category{font-size:.8rem;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-arrow{width:1.05rem;height:1.05rem;color:var(--fg-subtle);flex:none;opacity:0;transition:opacity .12s ease,color .12s ease}.result:hover .result-arrow,.result.active .result-arrow{opacity:1;color:var(--accent)}.message{text-align:center;color:var(--fg-muted);padding:2.5rem 1rem}.message p{margin:.3rem 0}.message .muted{font-size:.88rem;color:var(--fg-subtle)}.message.error{color:#c0392b}.footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.8rem;color:var(--fg-subtle)}.byline{color:var(--accent);text-decoration:none;font-weight:600}.byline:hover{text-decoration:underline}@media (max-width: 480px){.search-input{font-size:1.05rem}.shortcut-hint{display:none}.footer{justify-content:center;text-align:center}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
