@font-face{font-family:"Sonafolio Figtree";font-style:normal;font-weight:500;font-display:swap;src:url("/static/assets/fonts/figtree/figtree-latin-500-v1.woff2") format("woff2")}
:root{color-scheme:dark;--bg:#22242a;--text:#e8eaf2;--muted:#a7a9b2;--field:#363840;--border:#4d5156;--hover:#42444d;--accent:#f5ad99;--button:#303134}
html[data-theme=light]{color-scheme:light;--bg:#fff;--text:#202124;--muted:#70757a;--field:#fff;--border:#dfe1e5;--hover:#f1f3f4;--accent:#a54832;--button:#f8f9fa}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:14px Arial,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 24px}.hero{width:min(100%,688px);margin:0 auto;text-align:center}.identity{height:92px;display:flex;align-items:center;justify-content:center;gap:24px}.logo{width:92px;height:92px;object-fit:contain}.wordmark{text-align:center}h1{font-family:"Sonafolio Figtree","Avenir Next",Arial,sans-serif;font-size:76px;line-height:1;letter-spacing:-.03513em;font-weight:500;font-kerning:normal;font-synthesis:none;-webkit-font-smoothing:auto;margin:0;color:#292a2d}html[data-theme=light] h1{color:#292a2d}
.search-form{margin-top:16px}.search{height:52px;display:flex;align-items:center;gap:14px;padding:0 8px 0 16px;border:1px solid var(--border);border-radius:26px;background:var(--field);transition:background .15s,box-shadow .15s,border-color .15s}.search:hover,.search:focus-within{background:var(--field);border-color:var(--border);box-shadow:0 2px 8px #17171766}html[data-theme=light] .search:hover,html[data-theme=light] .search:focus-within{border-color:transparent;box-shadow:0 1px 6px #20212447}.search>svg{flex:none;color:var(--muted)}input{flex:1;width:100%;min-width:0;height:46px;padding:0;background:transparent;border:0;outline:none;color:var(--text);font-size:16px;line-height:24px}input::placeholder{color:var(--muted);font-size:16px}input::-webkit-search-cancel-button{-webkit-appearance:none}.clear{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:50%;background:transparent;color:var(--muted);margin-right:-6px}.clear:hover{background:var(--hover);color:var(--text)}
@media(max-width:600px){main{padding:24px 22px}.identity{height:84px;gap:18px}.logo{width:70px;height:70px}h1{font-size:58px;letter-spacing:-.03513em}.search-form{margin-top:16px}.search{height:50px;gap:12px;padding:0 5px 0 17px}input{font-size:16px}}
.submit{position:relative;isolation:isolate;height:36px;min-width:96px;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:1px solid transparent;border-radius:23px;background:#4e5059;color:var(--text);font-size:14px;transition:background .18s,box-shadow .18s,border-color .18s}.submit svg{width:18px;height:18px}.submit:hover{background:#53565f;border-color:transparent;box-shadow:none}.submit:active{background:#454a51;box-shadow:inset 0 1px 3px #0003}html[data-theme=light] .submit{background:#f1f3f4}html[data-theme=light] .submit:hover{background:#e3e6ea;border-color:#d2d6dc;box-shadow:0 1px 4px #20212426}html[data-theme=light] .submit:active{background:#dadddf}
/* Pointer-driven spectral rim; the opaque face keeps the label readable. */
.submit::before{content:"";position:absolute;z-index:-2;pointer-events:none;left:-1px;top:-1px;width:calc(100% + 2px);height:calc(100% + 2px);border-radius:inherit;background:conic-gradient(from var(--glow-angle,280deg) at 50% 50%,transparent 0deg,rgba(254,199,0,.45) 10deg,#0ebc5f 30deg,#2eaab2 52deg,#3186ff 76deg,rgba(147,120,255,.3) 94deg,transparent 110deg,transparent 360deg);filter:blur(3px);opacity:0;transition:opacity .22s ease}
.submit::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#4e5059;transition:background .18s}
.submit:hover::before,.submit:focus-visible::before{opacity:.9}
.submit:hover::after,.submit:focus-visible::after{background:#53565f}
.submit:active::after{background:#454851}
html[data-theme=light] .submit::after{background:#f1f3f4}
html[data-theme=light] .submit:hover::after,html[data-theme=light] .submit:focus-visible::after{background:#e8eaed}
html[data-theme=light] .submit:hover{border-color:transparent;box-shadow:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.search-logo{display:block;width:30px;height:30px;flex:none;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-caption{margin:0;color:#70757a;font-size:12px;line-height:20px;font-weight:400;letter-spacing:1px}.identity{height:auto;min-height:0}@media(max-width:600px){.brand-caption{font-size:11px;letter-spacing:.5px}.identity{min-height:0}}
/* Mobile layout and touch targets. */
@media(max-width:600px){
 body{min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column}
 main{padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}
 h1{font-size:clamp(48px,12vw,58px);letter-spacing:-.03513em}
 .brand-caption{font-size:11px;line-height:20px;letter-spacing:.2px;margin-top:2px;white-space:nowrap}
 .search-form{margin-top:18px}
 .search{height:56px;border-radius:28px;padding:0 5px 0 12px;gap:8px}
 .search-logo{width:26px;height:26px}
 input{height:48px;font-size:16px}input::placeholder{font-size:16px;letter-spacing:0}
 .submit{min-width:68px;height:44px;padding:0 10px;gap:4px;font-size:14px}
 .submit svg{width:16px;height:16px}
 .clear{width:44px;height:44px;margin-right:-4px}
}
@media(max-height:500px) and (max-width:950px) and (pointer:coarse){main{padding-top:20px;padding-bottom:20px}}
@media(hover:none) and (pointer:coarse){.submit:hover::before{opacity:0}.submit:focus-visible::before{opacity:.9}}
