:root{--bg:#f5f5f3;--surface:rgba(255,255,255,.76);--surface2:#fff;--text:#171717;--muted:#777;--line:#dddcd7;--line2:#eceae4;--accent:#111;--shadow:0 10px 35px rgba(0,0,0,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,'Noto Sans SC','Segoe UI','Helvetica Neue',Arial,'Microsoft YaHei',sans-serif;line-height:1.55}.bg-grid{position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}.topbar{position:sticky;top:0;z-index:10;height:68px;padding:0 max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(245,245,243,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--line2)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:700}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--text);border-radius:8px;font-size:13px}.top-actions{display:flex;gap:7px}.icon-btn,.text-btn{border:1px solid var(--line);background:transparent;color:inherit;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;cursor:pointer;text-decoration:none}.icon-btn:hover,.text-btn:hover{background:var(--surface2);border-color:#bbb;transform:translateY(-1px)}.container{max-width:1180px;margin:0 auto;padding:0 22px}.hero{padding:86px 0 44px;position:relative;z-index:30}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:#8b8b86;margin-bottom:15px}.hero h1{font-size:clamp(42px,7vw,76px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:800px}.hero h1 span{color:#858582}.hero p{color:var(--muted);margin:22px 0 28px;font-size:15px}.search-wrap{max-width:730px;z-index:40;height:58px;border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;padding:0 8px 0 9px;border-radius:14px;box-shadow:var(--shadow);backdrop-filter:blur(12px);position:relative}.search-engine-btn{height:42px;min-width:66px;padding:0 10px;border:0;background:transparent;color:var(--muted);font:600 12px inherit;display:flex;align-items:center;gap:4px;border-radius:9px;cursor:pointer;white-space:nowrap}.search-engine-btn:hover,.search-engine-btn.active{background:var(--surface2);color:var(--text)}.search-engine-btn svg{width:14px;height:14px;flex:none}.search-divider{width:1px;height:23px;background:var(--line);margin:0 3px}.search-icon{display:none}.search-wrap input{border:0;outline:0;background:transparent;flex:1;min-width:0;padding:0 10px;font:inherit;color:inherit}.search-submit{width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#8b8b86;border-radius:9px;cursor:pointer;flex:0 0 40px}.search-submit:hover{background:var(--surface2);color:var(--text)}.search-submit svg{width:17px}.search-engine-menu{display:none!important;position:absolute;left:9px;top:calc(100% + 8px);width:154px;padding:6px;border:1px solid var(--line);background:var(--surface);border-radius:12px;box-shadow:0 14px 32px rgba(0,0,0,.10);backdrop-filter:blur(16px);opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:.16s ease;z-index:100}.search-engine-menu.open{display:block!important;opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.search-engine-menu button{display:block;width:100%;padding:9px 10px;border:0;background:transparent;color:var(--text);text-align:left;border-radius:8px;font:13px inherit;cursor:pointer}.search-engine-menu button:hover{background:var(--surface2)}.stats{font-size:12px;color:#9b9a95;margin-top:15px;display:flex;gap:8px}.category-nav{position:sticky;top:68px;z-index:8;display:flex;gap:7px;padding:12px 0;background:linear-gradient(var(--bg) 65%,transparent);overflow:auto}.category-nav button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 13px;color:#777;cursor:pointer;white-space:nowrap}.category-nav button:hover,.category-nav button.active{background:#111;color:#fff;border-color:#111}.category{padding:36px 0 20px;scroll-margin-top:110px}.category.hidden-cat{display:none}.category-head{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.category-head>div{display:flex;align-items:baseline;gap:12px}.category-head h2{margin:0;font-size:22px;letter-spacing:-.03em}.index{color:#aaa;font:11px ui-monospace,monospace}.count{font:11px ui-monospace,monospace;color:#aaa}.site-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);margin-top:15px}.site-card{min-height:158px;text-decoration:none;color:inherit;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.32);position:relative;overflow:hidden;transition:.25s ease}.site-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(0,0,0,.055),transparent 35%);opacity:0;transition:.25s}.site-card:hover{background:var(--surface2);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.07);z-index:2}.site-card:hover:before{opacity:1}.site-card.hidden{display:none}.site-icon{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;background:#fff;margin-bottom:25px;overflow:hidden}.site-icon img{width:24px;height:24px;display:block}.site-icon svg{display:none;width:20px;color:#777}.site-copy{position:relative}.site-name{font-size:15px;font-weight:600;display:flex;align-items:center;gap:5px}.site-name svg{width:14px;color:#aaa;transition:.2s}.site-card:hover .site-name svg{transform:translate(2px,-2px);color:#111}.site-desc{color:#777;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-url{color:#aaa;font-size:10px;margin-top:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{display:none;border:1px dashed var(--line);padding:22px;color:#999;text-align:center;margin-top:15px;font-size:12px}footer{text-align:center;padding:60px 20px 36px;color:#aaa;font-size:11px}.dark{--bg:#111;--surface:rgba(28,28,28,.78);--surface2:#1d1d1d;--text:#eee;--muted:#999;--line:#333;--line2:#242424;--accent:#eee}.dark .topbar{background:rgba(17,17,17,.78)}.dark .site-card{background:rgba(255,255,255,.02)}.dark .site-card:hover{background:#1d1d1d}.dark .site-icon{background:#171717}.dark .hero h1 span{color:#666}.dark .category-nav button.active{background:#eee;color:#111;border-color:#eee}
.admin-page{min-height:100vh;background:var(--bg)}.admin-wrap{max-width:1100px;margin:auto;padding:28px 22px 80px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px}.text-btn{display:flex;width:auto;padding:0 13px}.login-card{max-width:470px;margin:15vh auto 0;background:var(--surface2);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.login-card h1,.toolbar h1{margin:0;font-size:32px;letter-spacing:-.04em}.login-card p,.toolbar p{color:var(--muted);font-size:13px}.login-card label{font-size:12px;font-weight:600;display:block;margin:28px 0 18px}.login-card input,.cat-name,.site-fields input{width:100%;border:1px solid var(--line);background:transparent;color:inherit;border-radius:9px;outline:none;padding:11px 12px;font:inherit;margin-top:7px}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--text);padding:10px 14px;border-radius:10px;font:inherit;cursor:pointer}.primary-btn{background:#111;color:#fff}.dark .primary-btn{background:#eee;color:#111}.secondary-btn{background:transparent;color:inherit;border-color:var(--line)}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-1px)}.secondary-btn.loading{opacity:.65;pointer-events:none}.form-error{color:#c44;font-size:12px;min-height:19px;margin-top:10px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.toolbar-actions{display:flex;gap:8px}.edit-category{border:1px solid var(--line);background:rgba(255,255,255,.34);border-radius:14px;margin:13px 0;overflow:hidden}.dark .edit-category{background:#171717}.edit-cat-head{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.edit-cat-head .cat-name{margin:0;font-weight:600}.cat-count{font:11px ui-monospace;color:#999;padding:0 6px}.drag{width:24px;color:#aaa;display:grid;place-items:center;cursor:grab;flex:none}.drag svg{width:17px}.edit-sites{padding:10px 12px}.edit-site{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line2)}.edit-site:last-child{border-bottom:0}.site-fields{display:grid;grid-template-columns:1fr 1.45fr 1.2fr;gap:8px;flex:1}.site-fields input{margin:0;padding:9px 10px;font-size:13px}.edit-site .icon-btn,.edit-cat-head .icon-btn{flex:none}.edit-category>.add-site{margin:0 12px 12px}.toast{position:fixed;top:22px;left:50%;transform:translate(-50%,-15px);padding:10px 14px;border:1px solid var(--line);background:var(--surface2);border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:50;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.ok{border-color:#9eb79d}.toast.bad{border-color:#c89a9a}@media(max-width:900px){.site-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{flex-direction:column;align-items:flex-start}.site-fields{grid-template-columns:1fr}.hero{padding-top:64px}}@media(max-width:560px){.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 15px}.container{padding:0 15px}.hero{padding-top:50px}.hero h1{font-size:43px}.site-card{min-height:140px}.category-nav{top:68px}.login-card{margin-top:8vh;padding:24px}.admin-wrap{padding:20px 15px}.admin-header{margin-bottom:35px}.edit-cat-head{flex-wrap:wrap}.edit-cat-head .cat-name{order:2;flex:1}.cat-count{order:3}.edit-cat-head .del-cat{order:4}.site-fields{width:100%}.edit-site{align-items:flex-start}.edit-site>.drag{margin-top:12px}.edit-site>.icon-btn{margin-top:4px}}
.dark .search-engine-menu{box-shadow:0 14px 32px rgba(0,0,0,.28)}




/* Local icon sizing: match the original Lucide proportions. */
.top-actions{display:flex;gap:7px;align-items:center;flex:0 0 auto}
.top-actions > .icon-btn{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;display:grid;place-items:center;flex:0 0 38px;line-height:1}
.top-actions > .icon-btn svg{width:24px;height:24px;display:block;flex:0 0 24px}
.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;flex-shrink:0}
.toolbar-actions > .primary-btn,.toolbar-actions > .secondary-btn{height:42px;min-height:42px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;flex:0 0 auto;writing-mode:horizontal-tb;line-height:1.2;font-size:13px}
.toolbar-actions > .primary-btn svg,.toolbar-actions > .secondary-btn svg{width:24px;height:24px;display:block;flex:0 0 24px}
.login-card button svg{width:24px;height:24px;display:block}
.text-btn svg{width:24px;height:24px}
@media(max-width:900px){.toolbar-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:560px){
  .toolbar-actions > .primary-btn,.toolbar-actions > .secondary-btn{height:40px;min-height:40px;padding:0 12px}
}

/* admin drag-and-drop */
.edit-site{user-select:none;transition:opacity .15s,background .15s,box-shadow .15s}
.edit-site input{user-select:text}
.edit-site.dragging,.edit-category.dragging{opacity:.42}
.edit-site.drag-over{background:rgba(0,0,0,.025)}
.edit-sites.drag-over{background:rgba(0,0,0,.018);border-radius:8px}
.editor.drag-over{outline:1px dashed var(--line)}
.dark .edit-site.drag-over{background:rgba(255,255,255,.035)}
.dark .edit-sites.drag-over{background:rgba(255,255,255,.025)}
.drag{touch-action:none}
.site-drag,.category-drag{cursor:grab}
.site-drag:active,.category-drag:active{cursor:grabbing}
