:root{--mg-bg:#fff;--mg-paper:#f5f6fa;--mg-card:#eef0f6;--mg-card-2:#e2e6f0;--mg-ink:#1e2433;--mg-ink-2:#4f566b;--mg-ink-3:#8389a0;--mg-line:#1e24331a;--mg-line-2:#1e24332e;--mg-navy:#253d8f;--mg-navy-ink:#fff;--mg-sky:#169bd7;--mg-y:#e6c53e;--mg-green:#16a34a;--mg-red:#e5484d;--mg-navy-soft:#253d8f14;--mg-y-soft:#e6c53e2e;--mg-green-soft:#16a34a1a;--mg-red-soft:#e5484d1a;--mg-accent-text:#253d8f;--mg-shadow:0 1px 2px #1e24330f,0 24px 48px -24px #1e24334d;--mg-tx:"Inter",system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--mg-bg:#0e1220;--mg-paper:#121729;--mg-card:#181e33;--mg-card-2:#222a44;--mg-ink:#eef1f8;--mg-ink-2:#aeb5c9;--mg-ink-3:#7d849b;--mg-line:#eef1f81a;--mg-line-2:#eef1f82e;--mg-navy:#4a66d1;--mg-navy-soft:#4a66d129;--mg-y-soft:#e6c53e24;--mg-accent-text:#8fa6ff;--mg-shadow:0 1px 2px #0006,0 28px 56px -28px #000000e6}}:root[data-theme=dark]{--mg-bg:#0e1220;--mg-paper:#121729;--mg-card:#181e33;--mg-card-2:#222a44;--mg-ink:#eef1f8;--mg-ink-2:#aeb5c9;--mg-ink-3:#7d849b;--mg-line:#eef1f81a;--mg-line-2:#eef1f82e;--mg-navy:#4a66d1;--mg-navy-soft:#4a66d129;--mg-y-soft:#e6c53e24;--mg-accent-text:#8fa6ff;--mg-shadow:0 1px 2px #0006,0 28px 56px -28px #000000e6}body.mg{background:var(--mg-bg);color:var(--mg-ink);font-family:var(--mg-tx);font-size:17px;line-height:1.6}.mg .nav:before{background:color-mix(in srgb,var(--mg-bg) 84%,transparent)}.mg .w{max-width:1200px;padding-inline:var(--gutter);margin:0 auto}.mg .nar{max-width:720px}.mg .ch{padding-block:clamp(90px,12vw,170px);position:relative}.mg .ch+.ch{border-top:1px solid var(--mg-line)}.mg h1,.mg h2,.mg h3,.mg h4{font-family:var(--mg-tx);letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:700}.mg h2{font-size:clamp(36px,5vw,68px);line-height:1.02}.mg h3{letter-spacing:-.025em;font-size:clamp(22px,2.2vw,30px);line-height:1.15}.mg h2 em,.mg h1 em,.mg em{color:var(--mg-accent-text);font-family:inherit;font-style:normal}.mg .why em,.mg p em{color:inherit;font-weight:600}.mg .rv{opacity:0;transition:opacity 1s var(--ease) var(--d,0s),translate 1s var(--ease) var(--d,0s);translate:0 28px}.mg .rv.in{opacity:1;translate:none}.chap{color:var(--mg-ink-3);letter-spacing:.01em;align-items:center;gap:12px;margin-bottom:22px;font-size:13px;font-weight:600;display:flex}.chap b{background:var(--mg-navy);color:#fff;border-radius:8px;place-items:center;min-width:34px;height:28px;padding:0 10px;font-size:12.5px;font-weight:700;display:inline-grid}.lead{color:var(--mg-ink-2);margin:24px 0 0;font-size:clamp(19px,1.6vw,22px);line-height:1.55}.lead strong{color:var(--mg-ink);font-weight:600}.story p{color:var(--mg-ink-2);margin:0 0 18px}.story p strong{color:var(--mg-ink);font-weight:600}.kick{letter-spacing:.08em;text-transform:uppercase;color:var(--mg-accent-text);font-size:12px;font-weight:700}.mg-hero{background:var(--mg-paper);align-items:center;min-height:100svh;padding:130px 0 90px;display:grid;position:relative;overflow:hidden}.mg-hero:before{content:"";background:radial-gradient(55% 60% at 60% 100%,color-mix(in srgb,var(--mg-navy) 20%,transparent),transparent 72%);pointer-events:none;height:80%;position:absolute;bottom:-20%;left:-10%;right:-10%}.hero-grid{z-index:1;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(30px,5vw,80px);display:grid;position:relative}.mg-logo{letter-spacing:-.03em;align-items:center;gap:10px;margin-bottom:28px;font-size:20px;font-weight:800;display:inline-flex}.mg-logo i{color:var(--mg-navy);font-size:22px;font-style:normal}.mg-hero h1{font-size:clamp(44px,5.6vw,84px);line-height:1}.meta{border-top:1px solid var(--mg-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;margin-top:38px;padding-top:24px;display:grid}.meta div{gap:3px;display:grid}.meta span{letter-spacing:.07em;text-transform:uppercase;color:var(--mg-ink-3);font-size:11.5px;font-weight:700}.meta strong{font-size:15px;font-weight:500;line-height:1.45}.desk{aspect-ratio:16/11;position:relative}.tabwin{background:var(--mg-bg);box-shadow:var(--mg-shadow);border:1px solid var(--mg-line);border-radius:16px;grid-template-rows:auto 1fr;display:grid;position:absolute;inset:0;overflow:hidden}.tabbar{background:var(--mg-card);gap:4px;padding:10px 10px 0;display:flex;overflow:hidden}.tab{background:var(--mg-card-2);white-space:nowrap;color:var(--mg-ink-2);opacity:0;min-width:0;transition:opacity .4s,translate .4s var(--ease),background .3s;border-radius:9px 9px 0 0;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:600;display:flex;translate:0 8px}.tab i{border-radius:3px;flex:none;width:12px;height:12px}.tab.on{opacity:1;translate:none}.tab.cur{background:var(--mg-bg);color:var(--mg-ink)}.tabbody{background:var(--mg-bg);position:relative}.tabbody img{object-fit:cover;object-position:top left;opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.tabbody img.on{opacity:1}.sorry{z-index:2;background:var(--mg-ink);color:var(--mg-bg);box-shadow:var(--mg-shadow);opacity:0;transition:.5s var(--ease);border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:500;position:absolute;bottom:16px;left:16px;translate:0 10px}.sorry.on{opacity:1;translate:none}.desk.merged .tabbar .tab:not(.mergetab){opacity:0;width:0;transition:opacity .3s,width .6s var(--ease),padding .6s;margin:0;padding:0}.mergetab{background:var(--mg-navy)!important;color:#fff!important}.caption-row{color:var(--mg-ink-3);justify-content:space-between;gap:12px;margin-top:16px;font-size:13px;display:flex}.caption-row b{color:var(--mg-ink);font-weight:600}.dec{background:var(--mg-paper);border:1px solid var(--mg-line);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(20px,4vw,56px);margin-top:28px;padding:clamp(22px,3vw,36px);display:grid}.dec h3{margin-top:8px}.dec .why{color:var(--mg-ink-2);margin:14px 0 0;font-size:16px}.opts{align-content:start;gap:10px;display:grid}.opt{border:1.5px solid var(--mg-line-2);background:var(--mg-bg);border-radius:16px;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.opt i{background:var(--mg-card-2);width:28px;height:28px;color:var(--mg-ink-3);border-radius:50%;place-items:center;font-size:13px;font-style:normal;font-weight:700;display:grid}.opt strong{font-size:15.5px;font-weight:600;display:block}.opt span{color:var(--mg-ink-2);font-size:14px}.opt.no{opacity:.72}.opt.no strong{background:linear-gradient(var(--mg-red),var(--mg-red)) 0 55%/0% 2px no-repeat;transition:background-size .8s var(--ease) .5s}.dec.in .opt.no strong{background-size:100% 2px}.opt.yes{border-color:var(--mg-navy);background:var(--mg-navy-soft);transition:transform .6s var(--ease) .9s}.dec.in .opt.yes{transform:scale(1.015)}.opt.yes i{background:var(--mg-navy);color:#fff}.trade{grid-template-columns:1fr 1fr;gap:10px;display:grid}.trade div{border-radius:14px;padding:12px 14px;font-size:13.5px}.trade .gain{background:var(--mg-green-soft)}.trade .cost{background:var(--mg-red-soft)}.trade b{letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:11px;display:block}.trade .gain b{color:var(--mg-green)}.trade .cost b{color:var(--mg-red)}.cons{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:44px;display:grid}.con{background:var(--mg-card);border-radius:20px;align-content:start;gap:8px;padding:20px;display:grid}.con b{letter-spacing:-.04em;color:var(--mg-accent-text);font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1}.con span{color:var(--mg-ink-2);font-size:14.5px}.roles{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:clamp(20px,4vw,56px);margin-top:48px;display:grid}.role-cols{gap:14px;display:grid}.role-grp{border:1px solid var(--mg-line);background:var(--mg-paper);border-radius:20px;padding:16px}.role-grp h4{letter-spacing:.08em;text-transform:uppercase;color:var(--mg-ink-3);margin-bottom:10px;font-size:12px;font-weight:700}.role-grp div{flex-wrap:wrap;gap:8px;display:flex}.role{border:1.5px solid var(--mg-line-2);background:var(--mg-bg);color:var(--mg-ink);font:inherit;cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600}.role:hover{transform:translateY(-2px)}.role[aria-pressed=true]{background:var(--mg-navy);border-color:var(--mg-navy);color:#fff}.role-card{background:var(--mg-card);border-radius:24px;min-height:360px;padding:clamp(20px,3vw,32px);position:sticky;top:110px}.role-card .who{align-items:center;gap:14px;display:flex}.role-card .av{background:var(--mg-y);color:#1e2433;border-radius:50%;place-items:center;width:52px;height:52px;font-size:17px;font-weight:800;display:grid}.role-card h3{font-size:26px}.role-card .sub{color:var(--mg-ink-3);margin-top:2px;font-size:13.5px}.role-card p{color:var(--mg-ink-2);margin:18px 0 0;font-size:15.5px}.role-card .needs{background:var(--mg-bg);border-left:3px solid var(--mg-y);border-radius:14px;margin-top:16px;padding:14px 16px;font-size:14.5px}.role-card .needs b{letter-spacing:.07em;text-transform:uppercase;color:var(--mg-ink-3);margin-bottom:3px;font-size:11px;display:block}.flows{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.flows span{background:var(--mg-green-soft);color:var(--mg-green);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600}.role-card .swap{animation:swap .5s var(--ease)}@keyframes swap{0%{opacity:0;transform:translateY(8px)}}.comp{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px;display:grid}.cc{background:var(--mg-paper);border:1px solid var(--mg-line);border-radius:22px;align-content:start;gap:12px;padding:22px;display:grid}.cc h4{letter-spacing:-.03em;font-size:22px}.cc .tag{color:var(--mg-ink-3);font-size:12px;font-weight:600}.cc p{color:var(--mg-ink-2);margin:0;font-size:14.5px}.cc .take,.cc .skip{border-radius:12px;padding:10px 12px;font-size:13.5px}.cc .take{background:var(--mg-green-soft)}.cc .skip{background:var(--mg-red-soft)}.cc .take b,.cc .skip b{letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;font-size:10.5px;display:block}.cc .take b{color:var(--mg-green)}.cc .skip b{color:var(--mg-red)}.gap-card{background:var(--mg-navy);color:#fff;border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:14px;padding:clamp(24px,3.4vw,44px);display:grid}.gap-card h3{color:#fff;font-size:clamp(24px,2.8vw,38px)}.gap-card p{opacity:.8;max-width:60ch;margin:10px 0 0}.gap-card .pill{letter-spacing:.08em;text-transform:uppercase;background:#ffffff24;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.life{grid-template-columns:200px minmax(0,1fr);gap:clamp(24px,4vw,64px);margin-top:56px;display:grid}.rail{align-self:start;gap:6px;display:grid;position:sticky;top:120px}.rail a{color:var(--mg-ink-3);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14.5px;font-weight:600;transition:background .3s,color .3s;display:flex}.rail a i{border:2px solid;border-radius:50%;flex:none;width:10px;height:10px;transition:background .3s}.rail a.on{background:var(--mg-navy-soft);color:var(--mg-accent-text)}.rail a.on i{background:currentColor}.rail .bar{background:var(--mg-line);border-radius:2px;height:3px;margin:8px 12px 0;overflow:hidden}.rail .bar i{height:100%;width:var(--lp,0%);background:var(--mg-navy);transition:width .2s linear;display:block}.phase{padding-bottom:clamp(60px,8vw,110px)}.phase+.phase{border-top:1px dashed var(--mg-line-2);padding-top:clamp(40px,6vw,80px)}.phase .kick{margin-bottom:10px;display:block}.moment{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:center;gap:clamp(20px,3vw,44px);margin-top:36px;display:grid}.moment.flip{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr)}.moment.flip>:first-child{order:2}.moment h4{letter-spacing:-.025em;font-size:21px}.moment p{color:var(--mg-ink-2);margin:10px 0 0;font-size:15.5px}.moment ul{color:var(--mg-ink-2);gap:6px;margin:12px 0 0;padding-left:18px;font-size:15px;display:grid}.why-box{background:var(--mg-y-soft);border-radius:14px;margin-top:14px;padding:12px 14px;font-size:14.5px}.why-box b{font-weight:700}.screen{border:1px solid var(--mg-line-2);background:var(--mg-bg);box-shadow:var(--mg-shadow);border-radius:14px;transition:transform .2s linear;overflow:hidden}.screen .bar{background:var(--mg-card);border-bottom:1px solid var(--mg-line);align-items:center;gap:6px;height:28px;padding:0 12px;display:flex}.screen .bar i{background:var(--mg-line-2);border-radius:50%;width:8px;height:8px}.screen .bar span{color:var(--mg-ink-3);margin-left:10px;font-size:11.5px}.screen img{width:100%;height:auto;display:block}.screen.zoom{position:relative}.screen.zoom .ring{border:2.5px solid var(--mg-y);transition:box-shadow .8s var(--ease) .4s;border-radius:12px;position:absolute;box-shadow:0 0 0 9999px #0e122000}.in .screen.zoom .ring,.screen.zoom.in .ring{box-shadow:0 0 0 9999px #0e122059}.proto{background:var(--mg-navy);color:#fff;height:46px;transition:transform .25s var(--ease),background .25s;border-radius:12px;align-items:center;gap:10px;margin-top:22px;padding:0 8px 0 18px;font-size:14.5px;font-weight:600;display:inline-flex}.proto:hover{transform:translateY(-2px)}.proto i{background:#ffffff2e;border-radius:8px;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.states{margin-top:44px}.st-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.st-tabs button{font:inherit;border:1.5px solid var(--mg-line-2);background:var(--mg-bg);color:var(--mg-ink-2);cursor:pointer;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;transition:all .25s}.st-tabs button[aria-selected=true]{background:var(--mg-ink);color:var(--mg-bg);border-color:var(--mg-ink)}.st-stage{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.st-stage .screen{position:relative}.st-stage .screen img{transition:opacity .45s}.st-note{background:var(--mg-card);border-radius:20px;padding:20px 22px}.st-note h4{font-size:19px}.st-note p{color:var(--mg-ink-2);margin:8px 0 0;font-size:15px}.st-note .src{color:var(--mg-ink-3);margin-top:14px;font-size:12.5px}.principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.principles div{border:1px solid var(--mg-line);background:var(--mg-paper);border-radius:18px;padding:16px}.principles b{margin-bottom:4px;font-size:15.5px;display:block}.principles span{color:var(--mg-ink-2);font-size:14px}.sys{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(20px,4vw,56px);margin-top:48px;display:grid}.usage{gap:12px;display:grid}.use-row{grid-template-columns:150px minmax(0,1fr) 52px;align-items:center;gap:12px;font-size:14.5px;display:grid}.use-row .track{background:var(--mg-card);border-radius:7px;height:14px;overflow:hidden}.use-row .track i{height:100%;width:var(--w);background:var(--mg-navy);transform-origin:0;transition:transform 1.2s var(--ease) var(--d,0s);border-radius:7px;display:block;transform:scaleX(0)}.in .use-row .track i,.usage.in .track i{transform:none}.use-row b{text-align:right;font-variant-numeric:tabular-nums}.tokens{gap:16px;display:grid}.swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.sw{border:1px solid var(--mg-line);border-radius:16px;overflow:hidden}.sw i{height:64px;display:block}.sw span{padding:8px 10px;font-size:12px;font-weight:600;display:block}.sw small{color:var(--mg-ink-3);font-weight:500;display:block}.typescale{border:1px solid var(--mg-line);background:var(--mg-paper);border-radius:18px;gap:8px;padding:16px 18px;display:grid}.typescale div{border-bottom:1px dashed var(--mg-line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:6px;display:flex}.typescale div:last-child{border:0;padding:0}.typescale small{color:var(--mg-ink-3);font-size:12px}.avatars{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.avatars i{color:#1e2433;border-radius:50%;place-items:center;font-style:normal;font-weight:700;display:grid}.edge{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.edge div{background:var(--mg-card);border-radius:16px;padding:14px 16px;font-size:14.5px}.edge b{font-size:15px;display:block}.epi{background:var(--mg-paper)}.cols3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px;display:grid}.cols3>div{background:var(--mg-bg);border:1px solid var(--mg-line);border-radius:22px;padding:22px}.cols3 h4{margin-bottom:10px;font-size:19px}.cols3 ul{color:var(--mg-ink-2);gap:8px;margin:0;padding-left:18px;font-size:15px;display:grid}.quote{background:var(--mg-navy);color:#fff;border-radius:28px;gap:20px;margin:56px 0 0;padding:clamp(26px,4vw,52px);display:grid}.quote p{letter-spacing:-.02em;margin:0;font-size:clamp(20px,2.1vw,28px);font-weight:500;line-height:1.4}.quote footer{opacity:.85;align-items:center;gap:12px;font-size:14px;display:flex}.quote footer i{background:var(--mg-y);color:#1e2433;border-radius:50%;place-items:center;width:40px;height:40px;font-style:normal;font-weight:800;display:grid}.credits{border-top:1px solid var(--mg-line);color:var(--mg-ink-3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;font-size:14px;display:flex}.credits strong{color:var(--mg-ink);font-weight:600}.next-cs{border:1px solid var(--mg-line);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding:22px 26px;transition:background .3s;display:flex}.next-cs:hover{background:var(--mg-card)}.next-cs span{letter-spacing:.08em;text-transform:uppercase;color:var(--mg-ink-3);font-size:12px;font-weight:700}.next-cs strong{letter-spacing:-.03em;font-size:22px;display:block}.prog{z-index:200;background:var(--mg-navy);transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}@media (max-width:1000px){.hero-grid,.dec,.roles,.moment,.moment.flip,.st-stage,.sys,.gap-card{grid-template-columns:1fr}.moment.flip>:first-child{order:0}.cons{grid-template-columns:repeat(2,minmax(0,1fr))}.comp,.cols3,.principles,.life{grid-template-columns:1fr}.rail{display:none}.role-card{position:static}}@media (max-width:560px){.meta,.trade,.cons,.edge,.swatches{grid-template-columns:1fr 1fr}.use-row{grid-template-columns:110px minmax(0,1fr) 44px}}@media (prefers-reduced-motion:reduce){.mg .rv{opacity:1;translate:none}}
