:root{--ink:#172132;--muted:#6a7a89;--cyan:#00bce5;--line:#dce4e9;--paper:#f5f8fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.site-header{height:96px;padding:0 max(24px,calc((100vw - 1220px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.site-brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:32px;letter-spacing:-1.5px;text-decoration:none}.site-brand span{color:var(--cyan);margin-left:-12px}.site-brand img{object-fit:contain}.local-badge{border:1px solid #cbe7ee;border-radius:30px;padding:10px 15px;background:#eefaff;color:#316779;font-size:13px;display:flex;align-items:center;gap:8px}.local-badge i{width:6px;height:6px;background:#00a2c8;border-radius:50%}.hub{max-width:1220px;margin:auto;padding:72px 24px 48px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2.5px;color:var(--muted)}.hub-intro{max-width:850px}.hub h1{font-size:clamp(38px,5.7vw,70px);line-height:1.08;letter-spacing:-3px;margin:22px 0}.hub h1 em{font-style:normal;color:#009dc2}.hub-intro>p{max-width:635px;line-height:1.8;font-size:17px;color:var(--muted)}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 40px}.hero-tags span{font-size:12px;border:1px solid var(--line);border-radius:25px;background:white;padding:8px 13px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tool-card{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}.tool-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #18334010}.tool-art{height:300px;position:relative;overflow:hidden}.tool-art svg{width:100%;height:100%}.magnet-art{background:#e5f6f9}.sky-art{background:#dde7f1}.art-label{position:absolute;bottom:16px;left:24px;font-size:9px;letter-spacing:1.8px;font-weight:750;color:#547281}.tool-copy{padding:28px 30px 30px}.tool-kicker{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700}.tool-copy h2{font-size:26px;letter-spacing:-.9px;margin:12px 0}.tool-copy p{font-size:14px;line-height:1.85;color:var(--muted);min-height:80px}.tool-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px;margin-top:25px;font-size:15px;font-weight:750}.tool-cta b{border-radius:50%;background:#e1f6fa;color:#009bbd;width:36px;height:36px;text-align:center;line-height:36px;font-size:23px}.hub-note{display:flex;align-items:center;gap:24px;background:#edf3f6;border:1px solid var(--line);border-radius:18px;margin-top:34px;padding:24px}.hub-note>span{color:#00a1c6;font-size:38px}.hub-note h2{font-size:17px;margin:0 0 7px}.hub-note p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.site-footer{border-top:1px solid var(--line);padding:27px 24px;display:flex;justify-content:space-between;max-width:1220px;margin:auto;font-size:12px;color:var(--muted)}.site-footer a{text-decoration:none;font-weight:800;color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}[hidden]{display:none!important}@media(max-width:700px){.site-header{height:80px;padding:0 20px}.site-brand{font-size:29px}.site-brand img{width:43px;height:43px}.local-badge{font-size:10px;padding:8px 10px}.hub{padding:44px 20px}.hub h1{letter-spacing:-1.8px}.hub-intro>p{font-size:15px}.tool-grid{grid-template-columns:1fr;gap:22px}.tool-art{height:260px}.tool-copy{padding:24px}.tool-copy h2{font-size:24px}.tool-copy p{min-height:0}.hub-note{gap:15px;padding:20px}.site-footer{font-size:10px}}

.puzzle-art{background:linear-gradient(140deg,#ddf4f8,#e8eff8)}

/* Full uploaded covers: consistent card sizing, original image proportions. */
.hub .tool-art{height:auto;aspect-ratio:4/3;background:#baf4f6}.hub .tool-art img{display:block;width:100%;height:100%;object-fit:contain}.hub .magnet-art{background:linear-gradient(135deg,#c9f7f8,#a8eff3)}.hub .art-label{background:#ffffffbd;padding:6px 9px;border-radius:7px;left:16px;bottom:12px}
