/* First generated by build/world/tools/gen-modules-page.mjs; since the 30+ copy and the
   polish pass it is maintained by hand (the generator is out of date: it expects 36). */
/* /modules (v2): every module as its lit window from the city, on a night facade. Pixel
   art at whole cells (--c), Geist for words. No glows, no rounded cards, no hairlines. The windows sit straight on
   the black page, each category under its name and count. */
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/v2/hero/assets/geist-latin-9b6f5ff45b.woff2) format("woff2")}
:root{--night:#0d1534;--deep:#1f3480;--blue:#345cd6;--ice:#d6e0ff;--tx:#f4f5f6;--tx2:#9aa0a8;--c:3px;--pad:max(24px,calc(50% - 560px))}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#000;color:var(--tx);font-family:"Geist",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:17px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}
a{color:inherit}
.skip{position:absolute;left:16px;top:-60px;z-index:10;background:var(--tx);color:#000;padding:8px 14px;font-weight:600;text-decoration:none}
.skip:focus{top:16px}
:focus-visible{outline:2px solid #7d9aff;outline-offset:2px}
.nav{display:flex;align-items:center;gap:6px;height:72px;padding:0 var(--pad)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-weight:650;font-size:18px;letter-spacing:-.02em;color:var(--tx);text-decoration:none}
.brand img{width:36px;height:36px;image-rendering:pixelated}
.nav-links{display:flex;gap:2px}
.nav-links a{color:var(--tx2);font-size:15px;font-weight:500;padding:8px 12px;border-radius:10px;text-decoration:none;transition:color .15s steps(2),background-color .15s steps(2)}
.nav-links a:hover{color:#fff;background:var(--deep)}
.btn-get{display:inline-flex;align-items:center;height:42px;margin-left:10px;padding:0 16px;border-radius:12px;background:var(--blue);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;transition:background-color .15s steps(2)}
.btn-get:hover{background:#4a72ea}
main{padding:0 var(--pad)}
.mp-head{padding:72px 0 80px}
.mp-head h1{margin:0;font-size:clamp(48px,7vw,96px);line-height:1;font-weight:700;letter-spacing:-.045em}
.mp-head p{margin:20px 0 0;font-size:19px;color:var(--tx2)}
/* Jump links to the categories. */
.mp-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.mp-jump a{padding:8px 14px;border-radius:10px;background:var(--night);color:var(--tx);font-size:15px;font-weight:550;text-decoration:none;transition:background-color .15s steps(2)}
.mp-jump a:hover{background:var(--deep)}
html{scroll-padding-top:24px}
.mp-cat{margin:0 0 88px}
.mp-cat h2{margin:0 0 32px;font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.03em}
.mp-n{margin-left:6px;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--tx2);vertical-align:2px}
/* The windows on a cell grid, straight on the black page. */
.mp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:calc(var(--c) * 12) calc(var(--c) * 10)}
.mp-grid li{display:flex;align-items:center;gap:calc(var(--c) * 6);min-width:0}
.mp-grid p{margin:0;min-width:0}
.mp-grid strong{display:block;font-size:17px;line-height:1.3;font-weight:650;letter-spacing:-.015em;color:var(--tx)}
.mp-grid span{display:block;margin-top:4px;font-size:15px;line-height:1.4;color:#b4bac4}
.mp-w{flex:none;display:block;width:calc(var(--c) * 44);height:calc(var(--c) * 42);background-image:url(/assets/v2/world/assets/city/lit-ac02d774e8.webp);background-repeat:no-repeat;background-size:calc(var(--c) * 308) calc(var(--c) * 252);image-rendering:pixelated}
.mp-agentScreen{background-position:calc(var(--c) * -132) calc(var(--c) * 0)}
.mp-agentStatus{background-position:calc(var(--c) * 0) calc(var(--c) * 0)}
.mp-finishWork{background-position:calc(var(--c) * -88) calc(var(--c) * 0)}
.mp-agentNotifications{background-position:calc(var(--c) * -44) calc(var(--c) * 0)}
.mp-capsLock{background-position:calc(var(--c) * -264) calc(var(--c) * 0)}
.mp-lidCloseSound{background-position:calc(var(--c) * 0) calc(var(--c) * -42)}
.mp-quietClose{background-position:calc(var(--c) * -44) calc(var(--c) * -42)}
.mp-chargerOnly{background-position:calc(var(--c) * -132) calc(var(--c) * -42)}
.mp-alwaysOnAtHome{background-position:calc(var(--c) * -176) calc(var(--c) * -42)}
.mp-lowPowerWhileClosed{background-position:calc(var(--c) * -220) calc(var(--c) * -42)}
.mp-timeLimit{background-position:calc(var(--c) * -176) calc(var(--c) * -84)}
.mp-keepAwake{background-position:calc(var(--c) * -220) calc(var(--c) * -84)}
.mp-bagCheck{background-position:calc(var(--c) * -132) calc(var(--c) * -126)}
.mp-agentLight{background-position:calc(var(--c) * -264) calc(var(--c) * -126)}
.mp-sleepUntilReset{background-position:calc(var(--c) * -176) calc(var(--c) * 0)}
.mp-pauseForLater{background-position:calc(var(--c) * -220) calc(var(--c) * 0)}
.mp-finishJobs{background-position:calc(var(--c) * 0) calc(var(--c) * -126)}
.mp-awakeWhileConnected{background-position:calc(var(--c) * -88) calc(var(--c) * -168)}
.mp-stayActiveStatus{background-position:calc(var(--c) * -44) calc(var(--c) * -126)}
.mp-virtualScreen{background-position:calc(var(--c) * 0) calc(var(--c) * -168)}
.mp-batteryBudget{background-position:calc(var(--c) * -264) calc(var(--c) * -42)}
.mp-sleepMeansSleep{background-position:calc(var(--c) * 0) calc(var(--c) * -84)}
.mp-stayOffWhenOpened{background-position:calc(var(--c) * -44) calc(var(--c) * -84)}
.mp-fanBoost{background-position:calc(var(--c) * -88) calc(var(--c) * -84)}
.mp-bluetoothOffWhileClosed{background-position:calc(var(--c) * -132) calc(var(--c) * -84)}
.mp-lidShortcuts{background-position:calc(var(--c) * -132) calc(var(--c) * -168)}
.mp-ejectOnSleep{background-position:calc(var(--c) * -44) calc(var(--c) * -168)}
.mp-cleaningLock{background-position:calc(var(--c) * -88) calc(var(--c) * -42)}
.mp-sleepTimer{background-position:calc(var(--c) * -88) calc(var(--c) * -126)}
.mp-passwordAfterClose{background-position:calc(var(--c) * -220) calc(var(--c) * -126)}
.mp-armWhileAppRuns{background-position:calc(var(--c) * -176) calc(var(--c) * -168)}
.mp-armOnWifi{background-position:calc(var(--c) * -220) calc(var(--c) * -168)}
.mp-armOnSchedule{background-position:calc(var(--c) * -264) calc(var(--c) * -168)}
.mp-armWhenDriveConnects{background-position:calc(var(--c) * 0) calc(var(--c) * -210)}
/* Make your own: one line pointing at the homepage's section. */
.mp-own{margin:0 0 56px;padding:28px 32px;background:var(--night)}
.mp-own h2{margin:0;font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.03em}
.mp-own p{margin:8px 0 0;font-size:17px;color:var(--tx2)}
.mp-own a{margin-left:6px;color:var(--tx);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:4px}
.mp-own a:hover{text-decoration-color:#7d9aff}
.mp-end{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;padding:24px 0 96px}
.mp-end p{margin:0;font-size:16px;color:var(--tx2)}
.mp-end p span{white-space:nowrap}
.mp-end strong{font-size:19px;font-weight:650;letter-spacing:-.02em;color:var(--tx)}
.btn-mac{display:inline-flex;align-items:center;gap:12px;height:60px;padding:0 28px 0 24px;border-radius:16px;background:#fff;color:#000;font-size:17.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;text-decoration:none}
.btn-mac:hover{outline:2px solid var(--ice);outline-offset:2px}
.apple{width:22.5px;height:27px;margin-top:-4px;flex:none}
.apple .ap-hi{fill:#000}.apple .ap-lo{fill:#6b6f76}
.mp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:32px var(--pad) 40px;background:var(--night);font-size:14.5px;color:var(--tx2)}
.mp-foot .brand{margin-right:8px;font-size:15px}
.mp-foot .brand img{width:20px;height:20px}
.mp-foot nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-right:auto}
.mp-foot nav a{color:var(--tx2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .15s steps(2)}
.mp-foot nav a:hover{color:var(--tx)}
.mp-foot p{margin:0}
@media (max-width:759px){
  :root{--c:2px;--pad:20px}
  .nav{height:60px;gap:4px}
  .nav .brand span{display:none}
  .nav .brand img{width:32px;height:32px}
  .nav-links a{font-size:14px;padding:7px 7px}
  .nav-links a:not(:first-child){display:none}
  .btn-get{height:38px;padding:0 12px;font-size:14px;border-radius:11px}
  .mp-head{padding:40px 0 40px}
  .mp-head p{font-size:17px}
  .mp-cat{margin-bottom:64px}
  .mp-jump a{font-size:14px;padding:7px 11px}
  .mp-own{padding:22px 20px}
  .mp-own h2{font-size:24px}
  .mp-cat h2{font-size:24px}
  .mp-grid{grid-template-columns:1fr}
  .mp-grid strong{font-size:16px}
  .mp-grid span{font-size:14.5px}
  .btn-mac{height:54px;padding:0 18px 0 16px;gap:10px;font-size:16px;border-radius:14px}
  .apple{width:20px;height:24px}
}
/* Phones and touch screens: 44px touch targets (the nav's drawn shapes unchanged, the hit
   areas grown). */
@media (max-width:759px),(pointer:coarse){
  .nav .brand{padding:6px;margin:-6px auto -6px -6px}
  .nav-links a{padding-block:12px}
  .btn-get{position:relative}
  .btn-get::after{content:"";position:absolute;inset:-4px -2px}
  .mp-jump a{display:inline-flex;align-items:center;min-height:44px}
  .mp-foot nav{gap:0 12px}
  .mp-foot nav a{padding:11px 3px}
  .mp-foot .brand{padding-block:10px;margin-block:-10px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
