:root{--bg-main: #f6f7f8;--bg-card: #ffffff;--bg-panel: #f2f3f5;--bg-sidebar: #ffffff;--bg-hover: #eceff2;--text-main: #171b20;--text-secondary: #59616a;--text-muted: #87909a;--accent: #1f7da7;--accent-strong: #176887;--accent-light: #edf5f8;--line: #d9dee3;--border: var(--line);--shadow: 0 1px 2px rgba(15, 23, 42, .04);--header-height: 56px;--sidebar-width: 248px}body.dark{--bg-main: #121416;--bg-card: #181b1f;--bg-panel: #202429;--bg-sidebar: #16191d;--bg-hover: #252a30;--text-main: #eef0f2;--text-secondary: #adb4bc;--text-muted: #7c858f;--accent: #5fb3d2;--accent-strong: #8fcce0;--accent-light: rgba(95, 179, 210, .12);--line: #30363d;--border: var(--line);--shadow: 0 1px 2px rgba(0, 0, 0, .18)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-main);color:var(--text-main);line-height:1.5;transition:background-color .2s,color .2s}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}#app{display:flex;min-height:100vh}#sidebar{position:fixed;inset:0 auto 0 0;z-index:100;width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--line);transition:transform .2s ease}.sidebar-header{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:10px;min-width:0}.logo-mark{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--bg-panel);color:var(--text-main);font-size:.92rem;font-weight:700;letter-spacing:0}.logo svg{color:var(--text-secondary);flex:0 0 auto}.sidebar-title{font-size:.98rem;font-weight:650;line-height:1.1}.sidebar-subtitle{margin-top:2px;color:var(--text-muted);font-size:.76rem}#close-sidebar-btn,#menu-btn,#theme-toggle{border:0;background:transparent;cursor:pointer}#close-sidebar-btn{display:none;width:32px;height:32px;align-items:center;justify-content:center;border-radius:8px;color:var(--text-secondary)}#close-sidebar-btn:hover,#menu-btn:hover,#theme-toggle:hover{background:var(--bg-hover);color:var(--text-main)}#category-nav{flex:1;overflow-y:auto;padding:14px 10px}.nav-section-label{padding:6px 10px 10px;color:var(--text-muted);font-size:.72rem;font-weight:650;text-transform:uppercase}.nav-item{min-height:36px;display:flex;align-items:center;gap:10px;padding:7px 10px;margin-bottom:2px;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:background-color .16s,color .16s}.nav-item span:nth-child(2){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{background:var(--bg-hover);color:var(--text-main)}.nav-item.active{background:var(--bg-panel);color:var(--text-main);font-weight:650}.nav-icon{width:20px;flex:0 0 20px;text-align:center;font-size:.9rem;opacity:.72}.nav-count{min-width:24px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:700}.nav-item.active .nav-count{background:transparent;color:var(--text-secondary)}.sidebar-footer{padding:12px;border-top:1px solid var(--line)}.sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-bottom:12px;color:var(--text-muted);font-size:.76rem}.sidebar-stat{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:6px}.sidebar-stat strong{color:var(--text-main);font-size:.82rem}.submit-btn{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);color:var(--text-main);font-size:.88rem;font-weight:650;transition:border-color .16s,background-color .16s,color .16s}.submit-btn:hover{border-color:var(--accent);color:var(--accent-strong)}#app>main{flex:1;min-width:0;margin-left:var(--sidebar-width)}#app>main>header{position:sticky;top:0;z-index:50;min-height:var(--header-height);display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:0 28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-main) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-left,.header-right{display:flex;align-items:center;gap:12px}.header-left{flex:0 0 auto}.header-search{flex:1;min-width:160px;display:flex;justify-content:center}.header-right{flex:0 0 auto}#menu-btn{display:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px}.topbar-brand{color:var(--text-main);font-size:.98rem;font-weight:700}.topbar-link{min-height:30px;display:inline-flex;align-items:center;padding:0 4px;border:0;border-radius:4px;color:var(--text-secondary);background:transparent;font-size:.86rem;font-weight:600}.topbar-link:hover{color:var(--accent-strong);background:transparent}#theme-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-secondary)}body.dark .moon-icon,body:not(.dark) .sun-icon{display:none}#progress-container{position:sticky;top:var(--header-height);left:0;z-index:49;width:100%;height:2px;background:transparent}#progress-bar{width:0;height:100%;background:var(--accent);transition:width .1s ease-out}.search-box{width:100%;max-width:720px;min-height:38px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);box-shadow:none}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.search-box svg{flex:0 0 auto;color:var(--text-muted)}#search-input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-main);font-size:.96rem}#search-input::placeholder{color:var(--text-muted)}.clear-search-btn{width:28px;height:28px;flex:0 0 28px;display:none;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--bg-panel);color:var(--text-muted);cursor:pointer}.clear-search-btn.visible{display:inline-flex}.clear-search-btn:hover{color:var(--text-main);background:var(--bg-hover)}.mobile-category-strip{display:none}.mobile-category-item{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;white-space:nowrap}.mobile-category-item strong{color:var(--text-muted);font-size:.74rem}.mobile-category-item.active{background:var(--bg-panel);color:var(--text-main)}.mobile-category-item.active strong{color:var(--text-secondary)}#content-container{padding:20px 30px 40px}.category-section{margin-bottom:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.result-status{min-height:30px;display:inline-flex;align-items:center;gap:8px;padding:0 8px 0 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg-panel);color:var(--text-secondary);font-size:.8rem;font-weight:600}.result-status[hidden]{display:none}.result-status button{min-height:24px;padding:0 8px;border:0;border-radius:6px;background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:650}.result-status button:hover{color:var(--accent-strong)}.category-title{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;color:var(--text-main);font-size:1.04rem;font-weight:700}.category-title-meta{color:var(--text-muted);font-size:.82rem;font-weight:600}.category-description{max-width:760px;color:var(--text-secondary);font-size:.86rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}.card{min-height:126px;display:flex;flex-direction:column;gap:9px;position:relative;overflow:hidden;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);box-shadow:none;transition:border-color .16s,background-color .16s,box-shadow .16s}.card:hover{border-color:color-mix(in srgb,var(--text-muted) 45%,var(--line));box-shadow:none}body.dark .card:hover{box-shadow:0 6px 18px #0000002e}.card-header{display:flex;align-items:flex-start;gap:9px;min-width:0}.card-icon{position:relative;width:30px;height:30px;flex:0 0 30px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:6px;font-size:.88rem;font-weight:650}.card-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-title-wrap{flex:1;min-width:0}.card-title{display:block;width:fit-content;max-width:100%;overflow:hidden;color:var(--text-main);font-size:.94rem;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.card-title:hover{color:var(--accent-strong)}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:0 6px;margin-top:4px;color:var(--text-muted);font-size:.78rem}.tag{display:inline-flex;align-items:center;min-height:20px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-weight:600}.card-meta>span+span:before{content:"·";margin-right:6px;color:var(--text-muted)}.category-tag{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-count{display:inline-flex;align-items:center;min-height:20px;color:var(--text-muted);font-weight:600}.card-desc{flex:1;display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:.84rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding-top:0}.card-action{flex:0 0 auto;min-height:26px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;transition:border-color .16s,background-color .16s,color .16s}.card-action:hover{color:var(--accent-strong);background:var(--accent-light)}.card-action-primary{background:transparent;border-color:transparent;color:var(--accent-strong)}.card-action-primary:hover{background:var(--accent-light);color:var(--accent-strong)}.card-copy-btn{margin-left:0}.aeo-panel{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.directory-note{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr);gap:14px 22px;color:var(--text-secondary)}.directory-note-main h2{margin-bottom:6px;color:var(--text-main);font-size:.98rem;font-weight:700}.directory-note-main p{max-width:780px;color:var(--text-secondary);font-size:.86rem;line-height:1.7}.directory-note-meta{display:grid;gap:6px;align-content:start;color:var(--text-secondary);font-size:.82rem}.directory-note-meta span{min-height:28px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.answer-grid article,.faq-list details{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg-card)}.answer-grid h2{margin-bottom:6px;color:var(--text-main);font-size:.94rem;font-weight:800}.answer-grid p,.faq-list p{color:var(--text-secondary);font-size:.86rem;line-height:1.65}.faq-list{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:2px;border-top:1px solid var(--line)}.faq-list summary{color:var(--text-main);cursor:pointer;font-size:.86rem;font-weight:650}.faq-list p{margin-top:6px;padding-bottom:10px}.compact-faq details{padding:9px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.empty-state,.loading{padding:42px 20px;border:1px dashed var(--line);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);text-align:center}.empty-state h3{margin-bottom:6px;color:var(--text-main);font-size:1rem}.empty-actions{display:flex;justify-content:center;gap:8px;margin-top:16px}.empty-actions button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:.84rem;font-weight:650}.empty-actions button:hover{border-color:var(--accent);color:var(--accent-strong)}#sidebar-overlay{display:none;position:fixed;inset:0;z-index:90;background:#0f172a5c}.site-footer{margin-left:var(--sidebar-width);padding:24px 30px 34px;border-top:1px solid var(--line);background:var(--bg-card);text-align:left}.footer-content{max-width:960px;color:var(--text-secondary);font-size:.82rem;line-height:1.65}.footer-content p+p{margin-top:10px}.footer-content strong{color:var(--text-main)}.footer-copyright{color:var(--text-muted)}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:99;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--shadow);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .16s,visibility .16s,transform .16s,color .16s,border-color .16s}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{border-color:var(--accent);color:var(--accent-strong)}.toast{position:fixed;left:50%;bottom:82px;z-index:1000;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--text-main);color:var(--bg-main);box-shadow:0 12px 28px #0f172a2e;font-size:.9rem;font-weight:650;opacity:0;visibility:hidden;transform:translate(-50%) translateY(10px);transition:opacity .16s,visibility .16s,transform .16s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}mark{padding:0 2px;border-radius:3px;background:#fff1a8;color:inherit}body.dark mark{background:#ffd54f59}.avatar-color-0{background:#e7f2ff;color:#1f6fb2}.avatar-color-1{background:#f7ecff;color:#7c3fb3}.avatar-color-2{background:#e8f7ee;color:#237a45}.avatar-color-3{background:#fff3df;color:#a65f00}.avatar-color-4{background:#eef0ff;color:#4e5abe}.avatar-color-5{background:#e5f9f7;color:#08766d}body.dark .avatar-color-0{background:#1f6fb238;color:#9fd0ff}body.dark .avatar-color-1{background:#7c3fb338;color:#d6b5ff}body.dark .avatar-color-2{background:#237a4538;color:#9fe0b8}body.dark .avatar-color-3{background:#a65f0038;color:#ffd391}body.dark .avatar-color-4{background:#4e5abe38;color:#b9c0ff}body.dark .avatar-color-5{background:#08766d38;color:#91e5dd}@media(max-width:1100px){.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}}@media(max-width:768px){#sidebar{transform:translate(-100%)}#sidebar.open{transform:translate(0)}#close-sidebar-btn{display:inline-flex}#app>main{margin-left:0}#app>main>header{min-height:auto;flex-wrap:wrap;padding:6px 12px;gap:6px 10px}#menu-btn{display:inline-flex}.header-left{min-height:34px}.header-search{order:3;flex:1 0 100%;max-width:none}.header-right{margin-left:auto}.topbar-link,#progress-container{display:none}.search-box{max-width:none;min-height:32px}.mobile-category-strip{position:sticky;top:80px;z-index:48;display:flex;align-items:center;flex-wrap:nowrap;gap:3px;padding:4px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-main) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none}.mobile-category-strip::-webkit-scrollbar{display:none}#content-container{padding:14px 12px 32px}.grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:12px}.category-title{font-size:1.02rem}.category-description{font-size:.82rem}.result-status{width:100%;justify-content:space-between}.card{min-height:0;padding:12px}.card-actions{display:grid;grid-template-columns:1fr 1fr 38px;gap:6px}.card-action{min-height:32px;border:1px solid var(--line);background:var(--bg-card)}.card-action-primary{border-color:var(--line)}.card-copy-btn{margin-left:0;padding:0}.card-copy-btn .copy-label{display:none}.directory-note,.answer-grid,.faq-list{grid-template-columns:1fr}.aeo-panel{margin-top:24px}#sidebar-overlay.open{display:block}.site-footer{margin-left:0;padding:24px 16px 32px}.back-to-top{right:16px;bottom:16px}}
