:root{color-scheme:light;--paper:#f2f2f0;--card:#fafaf8;--ink:#292929;--line:#d5d5cf;--page-width:1320px;--cover-icon:clamp(136px,12vw,260px);font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.skip-link{position:fixed;top:-80px;left:20px;z-index:20;padding:14px 20px;background:var(--ink);color:white}.skip-link:focus{top:16px}.page{width:min(calc(100% - 64px),var(--page-width));margin:0 auto;min-height:100svh}main{padding:calc(var(--ui) * 40) 0 calc(var(--ui) * 56)}
.tools{display:grid;grid-template-columns:repeat(2,minmax(0,calc(var(--cover-icon) + var(--ui) * 180)));justify-content:center;gap:calc(var(--ui) * 24)}
.tool-card{display:block;min-width:0;padding:calc(var(--ui) * 16) calc(var(--ui) * 16) 0;border:1px solid var(--line);background:var(--card);border-radius:2px;transition:border-color .2s,transform .2s}
.tool-preview{height:calc(var(--cover-icon) + var(--ui) * 56);display:flex;align-items:center;justify-content:center;background:#eeeee9;overflow:hidden}.tool-preview img{width:var(--cover-icon);height:var(--cover-icon);object-fit:contain;display:block;filter:grayscale(1);mix-blend-mode:multiply;transition:transform .3s}.projector-preview{background:#f0f1ed}
.card-copy{min-height:calc(var(--ui) * 76);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--ui) * 18);padding:calc(var(--ui) * 18) calc(var(--ui) * 5)}h2{margin:0;font-size:calc(var(--ui) * 22);font-weight:550;line-height:1.45;letter-spacing:-.025em}.card-arrow{width:calc(var(--ui) * 20);height:calc(var(--ui) * 20);flex:none;color:#77776f;transition:transform .2s,color .2s}.tool-card:hover{border-color:#92928a;transform:translateY(-3px)}.tool-card:hover .card-arrow{transform:translate(2px,-2px);color:var(--ink)}.tool-card:hover img{transform:scale(1.02)}
@media(max-width:760px){:root{--cover-icon:104px}.page{width:calc(100% - 40px)}main{padding:28px 0 36px}.tools{grid-template-columns:minmax(0,320px);gap:20px}.tool-card{padding:14px 14px 0}.tool-preview{height:152px}.card-copy{padding:18px 4px;min-height:70px;gap:16px}h2{font-size:20px}.card-arrow{width:19px;height:19px}}
.page{display:flex;flex-direction:column}main{flex:1}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:28px 0 30px;font-size:11px;letter-spacing:.05em;color:#909088}.site-footer span:first-child{font-family:"Consolas",monospace;letter-spacing:1.6px}
@media(min-width:2800px){.site-footer{font-size:16px;padding:40px 0}}
@media(max-width:760px){.site-footer{font-size:10px;gap:12px;padding:23px 0;letter-spacing:0}.site-footer span:first-child{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.tool-card,.tool-card *{transition:none!important}.tool-card:hover,.tool-card:hover img{transform:none}}

/* Match the header geometry of both tool pages. */
:root{--ui:clamp(1px,calc(100dvh / 1080),1.6px);--site-gutter:calc(var(--ui) * 26)}
body{display:flex;flex-direction:column;min-height:100svh}.page{min-height:0;flex:1}
.site-header{position:relative;width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--ui) * 16);padding:calc(var(--ui) * 20) var(--site-gutter);font-family:"Segoe UI","Microsoft YaHei",sans-serif}
.site-header::after{content:"";position:absolute;left:var(--site-gutter);right:var(--site-gutter);bottom:0;height:1px;background:var(--line)}
.site-footer{width:calc(100% - var(--site-gutter) * 2);margin-inline:var(--site-gutter)}
.site-header .brand{display:flex;align-items:center;gap:calc(var(--ui) * 12);min-width:0}
.site-header .brand-mark{width:calc(var(--ui) * 40);height:calc(var(--ui) * 40);flex:none}
.site-header h1{margin:0;font-size:calc(var(--ui) * 22);font-weight:600;letter-spacing:.02em;line-height:1.3}
@media screen and (max-width:999px){:root{--ui:1px;--site-gutter:20px}.site-header{padding:18px var(--site-gutter)}.site-header h1{font-size:20px}.site-header .brand-mark{width:36px;height:36px}}
@media screen and (max-width:600px){.site-header h1{font-size:16px}.site-header .brand{gap:8px}}
@media screen and (max-width:480px){:root{--site-gutter:16px}.site-header{padding:16px var(--site-gutter);min-height:64.5px}.site-header .brand-mark{width:32px;height:32px}}
