@font-face{font-family:Source Han Sans CN;src:url(/SourceHanSansCN-Bold.otf) format("opentype");font-weight:700 900;font-display:swap}:root{color-scheme:light dark;--surface: #f3f5f8;--surface-elevated: #fbfcfe;--surface-muted: #e7ebf1;--ink: #172033;--muted: #59657a;--line: rgb(33 48 75 / 14%);--accent: #e86b32;--accent-ink: #8f3211;--navy: #162c5a;--shadow: rgb(31 52 89 / 15%);--radius: 18px;font-family:Source Han Sans CN,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--surface)}body{min-width:320px;min-height:100dvh;margin:0;background:radial-gradient(circle at 82% 18%,rgb(232 107 50 / 11%),transparent 30rem),var(--surface);color:var(--ink)}a{color:inherit}.site-shell{width:min(100%,1440px);min-height:100dvh;margin:0 auto;padding:0 clamp(24px,5vw,76px)}.site-header{min-height:72px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-name{color:var(--accent);font-size:17px;letter-spacing:-.02em}.tools-main{min-height:calc(100dvh - 72px);display:flex;align-items:flex-start;padding:clamp(32px,5vh,54px) 0 72px}.tool-grid{width:min(100%,1120px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(16px,2vw,24px)}.tool-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-elevated);text-decoration:none;display:flex;flex-direction:column;box-shadow:0 14px 36px var(--shadow);opacity:0;transform:translateY(24px);animation:card-in .72s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--delay);transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s ease,box-shadow .22s ease}.tool-card:hover,.tool-card:focus-visible{transform:translateY(-7px);border-color:#e86b327a;box-shadow:0 22px 50px #1f345938}.tool-card:focus-visible{outline:3px solid rgb(232 107 50 / 36%);outline-offset:4px}.tool-card:active{transform:translateY(-2px) scale(.99)}.tool-visual{position:relative;aspect-ratio:16 / 9;margin:0;overflow:hidden;background:#10141c}.tool-visual:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -1px #ffffff14;pointer-events:none}.tool-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .52s cubic-bezier(.16,1,.3,1)}.tool-card:hover .tool-visual img{transform:scale(1.025)}.tool-copy{min-height:148px;flex:1;padding:16px 18px 18px}.tool-meta{display:flex;align-items:center;gap:6px;color:var(--accent-ink);font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:10px}.tool-copy h2{margin:12px 0 7px;font-size:clamp(19px,1.65vw,23px);line-height:1.15;letter-spacing:-.035em}.tool-copy p{max-width:27em;margin:0;padding-right:38px;color:var(--muted);font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;line-height:1.55}.open-button{position:absolute;right:16px;bottom:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--navy);color:#f7f9fc;transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s ease}.tool-card:hover .open-button{transform:translate(2px,-2px);background:var(--accent)}@keyframes card-in{to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){:root{--surface: #10141c;--surface-elevated: #181e29;--surface-muted: #242b38;--ink: #edf1f7;--muted: #a6afbf;--line: rgb(223 231 243 / 13%);--accent: #ed7842;--accent-ink: #ffad86;--navy: #315184;--shadow: rgb(2 5 11 / 35%)}body{background:radial-gradient(circle at 82% 18%,rgb(237 120 66 / 12%),transparent 30rem),var(--surface)}}@media(max-width:980px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.site-shell{padding:0 16px}.site-header{min-height:72px}.brand-name{font-size:15px}.tools-main{min-height:calc(100dvh - 72px);padding:28px 0 42px}.tool-grid{grid-template-columns:1fr;gap:16px}.tool-copy{min-height:145px;padding:16px 18px 18px}.tool-copy h2{font-size:21px}.open-button{right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}
