@charset "UTF-8";
:root{--ink:#172b36;--muted:#63737c;--paper:#f6f7f3;--line:#dce3df;--blue:#1856bb;--green:#264f46;--orange:#d85a32;--white:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Avenir Next",-apple-system,BlinkMacSystemFont,"Noto Sans", "Apple SD Gothic Neo","Yu Gothic",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:#dbe7cc}svg{display:block}img{max-width:100%}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:8px;left:8px;z-index:100;background:white;padding:10px 15px;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}
.topbar{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:23px;font-weight:750;letter-spacing:-1px}.brand svg{width:31px;height:34px}.nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.nav>a{transition:color .2s}.nav>a:hover{color:var(--blue)}.lang{position:relative;z-index:30}.lang summary{list-style:none;cursor:pointer;display:flex;gap:7px;align-items:center;padding:8px 0}.lang summary::-webkit-details-marker{display:none}.lang svg{width:15px;height:15px}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:white;border:1px solid var(--line);box-shadow:0 12px 30px #172b3614;padding:7px;min-width:145px;border-radius:10px}.lang-menu a{display:block;padding:8px 12px;border-radius:5px}.lang-menu a:hover,.lang-menu a[aria-current]{background:var(--paper)}
.hero{padding:79px 0 82px;display:grid;grid-template-columns:1.5fr 1fr;gap:54px;position:relative;align-items:center}.eyebrow{margin:0 0 22px;font-size:12px;font-weight:650;letter-spacing:1.6px;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}h1{font-size:clamp(45px,4.9vw,67px);line-height:1.14;letter-spacing:-3.3px;font-weight:650;margin:0 0 24px;text-wrap:balance}h1 span:last-child{color:var(--green)}h1 span{display:block}.hero p.lead{max-width:540px;font-size:17px;line-height:1.9;color:var(--muted);margin:0 0 29px;word-break:keep-all}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:21px;background:var(--ink);color:white;padding:13px 21px;border-radius:7px;font-size:13px;font-weight:650;min-height:47px;transition:background .2s,transform .2s}.btn:hover{background:var(--green);transform:translateY(-2px)}.btn svg,.text-link svg{width:17px;height:17px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:650;border-bottom:1px solid currentColor;padding-bottom:2px}.text-link:hover{color:var(--blue)}
.hero-art{height:294px;position:relative;display:grid;place-items:center}.orb{position:absolute;inset:10px 20px;border:1px solid #d7e0d8;border-radius:50%;transform:rotate(-22deg)}.orb:nth-child(2){inset:37px -7px;transform:rotate(28deg)}.orb:nth-child(3){inset:71px 16px;transform:rotate(69deg)}.art-grain{position:absolute;inset:30px;background-image:radial-gradient(#bac8be 1px,transparent 1px);background-size:13px 13px;opacity:.4;mask-image:radial-gradient(ellipse,#000,transparent 68%)}.art-tile{position:absolute;width:119px;height:128px;border-radius:23px;display:grid;place-items:center;box-shadow:0 17px 26px #243c3b14,0 1px 1px #243c3b12}.art-tile svg{width:57px;height:57px}.tile-metro{left:45px;top:48px;transform:rotate(-12deg);background:#1a54b4;color:white}.tile-math{right:34px;bottom:28px;transform:rotate(11deg);background:#eaca8e;color:#564320}.art-label{position:absolute;font-size:10px;letter-spacing:2px;font-weight:650;text-transform:uppercase;color:var(--muted)}.art-label.top{right:26px;top:17px}.art-label.bottom{left:0;bottom:28px}.art-point{width:12px;height:12px;background:var(--orange);border-radius:50%;position:absolute;right:42px;top:118px;box-shadow:0 0 0 6px #f2e4d7}
.section{padding:0 0 86px;scroll-margin-top:40px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:28px;margin-bottom:29px}.section-head h2{font-size:24px;line-height:1.4;letter-spacing:-.8px;margin:0;font-weight:650}.section-head p{color:var(--muted);font-size:13px;margin:0;max-width:385px}.section-label{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.8px;margin:0 0 7px}.products{display:grid;grid-template-columns:1fr 1fr;gap:24px}.product{overflow:hidden;border-radius:var(--radius);background:white;border:1px solid var(--line)}.product-visual{height:280px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.metro-visual{background:#e5edf6}.math-visual{background:#eeeadf}.visual-caption{position:absolute;bottom:10px;left:16px;font-size:9px;letter-spacing:.3px;color:#5e6e7e;z-index:2}.product-copy{padding:30px 32px 31px}.category{color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}.product-name{font-size:22px;letter-spacing:-.65px;font-weight:750;margin:0 0 11px}.product h3{font-size:24px;line-height:1.45;letter-spacing:-.7px;margin:0 0 14px;font-weight:600;white-space:pre-line}.product .description{color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 22px;min-height:73px;word-break:keep-all}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 25px}.tags li{font-size:10px;color:#53635f;border:1px solid var(--line);border-radius:5px;padding:4px 8px}.product-actions{display:flex;gap:22px;align-items:center;font-size:12px;font-weight:650}.product-actions a{display:flex;align-items:center;gap:8px}.product-actions svg{width:15px;height:15px}.product-actions a:hover{color:var(--blue)}.primary-link{color:var(--blue)}
.route-art{position:absolute;inset:-25px -20px;opacity:.42;width:calc(100% + 40px);height:calc(100% + 50px)}.transit-card{background:#fff;border-radius:14px;box-shadow:0 18px 38px #33557420;border:1px solid #ced8e7;width:324px;padding:20px 23px;z-index:1;transform:rotate(-3deg)}.transit-top{display:flex;align-items:center;gap:10px;font-size:10px;color:#596d85;margin-bottom:13px}.metro-icon{height:28px;width:28px;border-radius:7px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:17px;font-weight:750}.transit-card h4{font-size:19px;letter-spacing:-.5px;margin:0 0 2px}.transit-direction{font-size:9px;color:var(--muted);margin:0;max-width:240px}.train-times{border-top:1px solid #e3e9ef;margin-top:18px;padding-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.train-times small{font-size:9px;color:var(--muted);display:block;margin-bottom:3px}.train-times strong{font-size:27px;letter-spacing:-1px;line-height:1.3;font-variant-numeric:tabular-nums}.train-times>div:last-child{border-left:1px solid #e3e9ef;padding-left:24px}.service-dot{width:5px;height:5px;border-radius:50%;background:#2d8063;display:inline-block;margin-right:5px}
.principles{display:grid;grid-template-columns:1.1fr 1.4fr;gap:70px;border-top:1px solid var(--line);padding-top:35px}.principles h2{font-size:32px;white-space:pre-line;font-weight:600;letter-spacing:-1px;line-height:1.5;margin:0 0 16px}.principles-intro{color:var(--muted);font-size:13px;max-width:350px}.principle{display:grid;grid-template-columns:30px 1fr;gap:21px;padding:18px 0;border-bottom:1px solid var(--line)}.principle:first-child{padding-top:0}.principle .number{font-family:ui-monospace,monospace;font-size:11px;color:#849087;padding-top:4px}.principle h3{font-size:16px;margin:0 0 8px;font-weight:650;letter-spacing:-.4px}.principle p{font-size:13px;line-height:1.9;color:var(--muted);margin:0;word-break:keep-all}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.guide{padding:8px 0 28px;border-bottom:1px solid var(--line);display:block}.guide:hover h3{color:var(--blue)}.guide h3{font-size:24px;font-weight:550;line-height:1.5;white-space:pre-line;letter-spacing:-.65px;margin:12px 0}.guide p{color:var(--muted);font-size:13px;margin:0 0 20px}.guide-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-family:ui-monospace,monospace;font-size:10px}.guide-bottom svg{width:19px;height:19px;color:var(--ink)}
.footer{border-top:1px solid var(--line);padding:42px 0 27px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin-bottom:40px}.footer-tagline{font-size:15px;font-weight:550;letter-spacing:-.3px;margin:14px 0 0}.footer-nav{display:flex;flex-wrap:wrap;gap:27px;font-size:11px;color:var(--muted);padding-top:8px}.footer-nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;font-size:10px;color:#738078;gap:20px}.footer-bottom p{margin:0}
.breadcrumb{padding-top:38px;font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.breadcrumb a:hover{color:var(--blue)}.breadcrumb svg{width:13px;height:13px}.detail-hero{padding:45px 0 60px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.detail-hero h1{font-size:48px;line-height:1.25;letter-spacing:-2px;white-space:pre-line}.detail-hero .lead{font-size:15px;color:var(--muted);margin:0 0 25px;line-height:1.9;word-break:keep-all}.detail-hero .product-visual{border-radius:var(--radius);height:340px}.article-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:70px;padding:35px 0 85px;border-top:1px solid var(--line)}.article-aside{font-size:12px;color:var(--muted)}.article-aside .section-label{margin-bottom:16px}.article-aside a{display:block;margin-bottom:12px;line-height:1.6}.article-aside a:hover{color:var(--blue)}.article{max-width:720px}.article section{margin-bottom:36px;scroll-margin-top:30px}.article h2{font-size:23px;letter-spacing:-.65px;font-weight:650;line-height:1.5;margin:0 0 13px}.article p{font-size:15px;line-height:1.95;color:#5b6e76;margin:0;word-break:keep-all}.article a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.page-head{padding:50px 0 53px;max-width:780px}.page-head h1{font-size:46px;line-height:1.35;letter-spacing:-1.8px;white-space:pre-line;margin-bottom:20px}.page-head .lead{font-size:16px;line-height:1.9;color:var(--muted);margin:0}.page-head .updated{font-size:11px;color:var(--muted);margin-top:20px}.resource-links{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;margin-top:18px}.faq{border-top:1px solid var(--line);padding:18px 0}.faq:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq summary::after{content:"+";font-size:22px;font-weight:400;line-height:1}.faq[open] summary::after{content:"−"}.faq p{padding-top:15px;font-size:14px}.not-found{min-height:52vh;padding:90px 0}.not-found h1{font-size:37px}.not-found .section-label{font-size:15px}
@media(min-width:1450px){.hero{padding-top:94px;padding-bottom:98px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:20px}.hero-art{height:265px}.art-tile{width:101px;height:109px}.tile-metro{left:18px}.tile-math{right:8px}.art-label{font-size:8px}.hero h1{font-size:48px;letter-spacing:-2px}.hero .lead{font-size:15px}.nav{gap:20px}.product-copy{padding:26px}.transit-card{width:282px}.section-head{align-items:start}.section-head p{max-width:300px}.principles{gap:40px}.principles h2{font-size:28px}.article-layout{grid-template-columns:210px minmax(0,1fr);gap:40px}.detail-hero{gap:35px}.detail-hero h1{font-size:39px}.detail-hero .product-visual{height:310px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.topbar{height:77px;gap:10px}.brand{font-size:21px}.brand svg{width:28px}.nav{gap:15px;font-size:11px}.nav>a:nth-child(2),.nav>a:nth-child(3){display:none}.hero{display:block;padding:47px 0 42px}.hero h1{font-size:43px;letter-spacing:-1.8px;line-height:1.2}.hero .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:19px}.hero .lead{font-size:14px;margin-bottom:23px;max-width:440px}.actions{gap:20px}.btn{padding:12px 17px;font-size:12px;gap:16px}.text-link{font-size:12px}.hero-art{height:190px;max-width:350px;margin:26px auto 0}.orb{inset:0 40px}.orb:nth-child(2){inset:14px 25px}.orb:nth-child(3){inset:40px 39px}.art-tile{width:88px;height:94px;border-radius:17px}.art-tile svg{width:43px;height:43px}.tile-metro{left:44px;top:17px}.tile-math{right:46px;bottom:13px}.art-label.top{right:35px;top:0}.art-label.bottom{bottom:9px;left:19px}.art-point{right:43px;top:69px;width:8px;height:8px;box-shadow:0 0 0 4px #f2e4d7}.section{padding-bottom:51px}.section-head{display:block;margin-bottom:23px;padding-top:22px}.section-head h2{font-size:21px;letter-spacing:-.6px}.section-head p{font-size:12px;max-width:none;margin-top:9px}.products{grid-template-columns:1fr;gap:21px}.product-visual{height:266px}.product-copy{padding:26px}.product-name{font-size:22px}.product h3{font-size:24px}.product .description{min-height:0;font-size:13px}.transit-card{width:292px}.principles{display:block;padding-top:26px}.principles h2{font-size:27px;margin-bottom:12px}.principles-intro{max-width:none;margin-bottom:26px}.principle{gap:15px}.principle p{font-size:12px}.guide-grid{grid-template-columns:1fr;gap:22px}.guide h3{font-size:23px}.footer{padding-top:31px}.footer-top{display:block;margin-bottom:28px}.footer-nav{gap:20px;margin-top:25px}.footer-bottom{display:block;font-size:9px}.footer-bottom p+p{margin-top:8px}.footer-tagline{font-size:13px}.breadcrumb{padding-top:24px}.detail-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:33px 0 39px}.detail-hero h1{font-size:39px;letter-spacing:-1.4px}.detail-hero .lead{font-size:14px}.detail-hero .product-visual{height:285px}.article-layout{display:block;padding-top:28px;padding-bottom:40px}.article-aside{display:none}.article section{margin-bottom:31px}.article h2{font-size:22px}.article p{font-size:14px}.page-head{padding:35px 0 33px}.page-head h1{font-size:35px;letter-spacing:-1.3px}.page-head .lead{font-size:14px}.faq summary{font-size:15px}.resource-links{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original released app assets, displayed without cropping or reconstruction. */
.tile-math{width:128px;height:128px;background:transparent;overflow:hidden}.tile-math img{display:block;width:100%;height:100%;object-fit:contain}
.math-visual{margin:0;padding:20px 18px 36px;background:#f0ecf4;flex-direction:column;gap:12px;height:auto;min-height:280px}.math-screen{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 12px 28px #24103a20}.math-visual .visual-caption{color:#645570}.detail-hero .math-visual{height:auto;min-height:300px}
@media(max-width:1000px){.tile-math{width:109px;height:109px}}
@media(max-width:720px){.tile-math{width:94px;height:94px}.math-visual{min-height:0;padding:18px 14px 35px}.detail-hero .math-visual{height:auto;min-height:0}}
