:root{--page:var(--n2-bg);--canvas:var(--n2-surface);--surface:var(--n2-raised);--border:var(--n2-line);--line:var(--n2-line-strong);--text:var(--n2-ink);--strong:var(--n2-strong);--muted:var(--n2-muted);--accent:var(--n2-accent-ink);--accent-hover:var(--n2-accent-hover);--accent-ink:var(--n2-on-accent);--offline:var(--n2-amber);--display:var(--n2-font-display);--writing:var(--n2-font-display);--hand:var(--n2-font-hand);--sans:var(--n2-font-ui);--mono:var(--n2-font-mono);--dots:radial-gradient(circle at 1px 1px, var(--n2-grain) 1.1px, transparent 1.4px);--gutter:clamp(16px, 4vw, 32px);--width:1160px}@layer n2-reset{*{box-sizing:border-box}html:not([data-surface=app]){scroll-behavior:smooth}html:not([data-surface=app]) body{background:var(--page);min-height:100vh;color:var(--text);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-variation-settings:"SOFT" 60;margin:0}h1,h2,h3{color:var(--strong);margin:0}h1,h2{font-family:var(--display);font-variation-settings:"SOFT" 100;letter-spacing:-.028em;text-wrap:balance;font-weight:560}h1 em,h2 em{color:var(--accent);font-style:italic;font-weight:480}p{text-wrap:pretty;margin:0}a:where(:not([class])){color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--n2-focus);outline-offset:3px;border-radius:6px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}}section[id]{scroll-margin-top:24px}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:650}.hand-eyebrow{color:var(--accent);font:600 25px/1.1 var(--hand);transform-origin:0 100%;margin-bottom:10px;display:inline-block;transform:rotate(-2deg)}.top,.bottom{max-width:var(--width);padding:20px var(--gutter);align-items:center;gap:24px;margin:0 auto;display:flex}.brand{color:var(--strong);align-items:center;margin-right:auto;text-decoration:none;display:inline-flex}.top nav{gap:26px;display:flex}.top nav a{color:var(--muted);font-size:15px;font-weight:520;text-decoration:none}.top nav a:hover{color:var(--strong)}.bottom{background:radial-gradient(circle, var(--line) 1.3px, transparent 1.7px) top left / 12px 4px repeat-x;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:clamp(64px,9vw,104px);padding-block:32px 40px;font-size:14px}.bottom nav{flex-wrap:wrap;gap:8px 24px;display:flex}.bottom nav a{color:var(--muted);text-decoration:none}.bottom nav a:hover,.bottom nav a[aria-current=page]{color:var(--strong)}.hero{max-width:1240px;padding:clamp(40px, 7vw, 88px) var(--gutter) 0;text-align:center;margin:0 auto}.hero-copy{max-width:760px;margin:0 auto}.hero .hand-eyebrow{transform-origin:50%}.hero h1{font-size:clamp(44px,5vw,70px);line-height:1.02}.lede{max-width:31em;color:var(--muted);margin:24px auto 0;font-size:clamp(17px,1.7vw,19px)}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.fine{color:var(--n2-faint);margin-top:18px;font-size:14px}.annotation{z-index:1;color:var(--accent);font:600 23px/1 var(--hand);white-space:nowrap;pointer-events:none;position:absolute}.annotation-arrow{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:54px;height:46px;position:absolute;top:6px;left:calc(100% + 4px)}.live{text-align:start;margin-top:clamp(40px,6vw,72px);position:relative}.annotation-live{top:-36px;right:180px;transform:rotate(-3deg)}.live-stage{background:var(--n2-bg);box-shadow:var(--n2-shadow-lg), 0 0 0 1px var(--n2-line-strong);border-radius:14px;position:relative;overflow:hidden}.live-frame{transform-origin:0 0;opacity:0;border:0;transition:opacity .5s;position:absolute;top:0;left:0}.live-poster{transition:opacity .5s;display:flex;position:absolute;inset:0}.live-stage[data-ready] .live-frame{opacity:1}.live-stage[data-ready] .live-poster{opacity:0}.live-poster span{background:var(--n2-line);border-radius:99px;height:9px;display:block}.live-poster-sidebar{border-right:1px solid var(--n2-line);background:var(--n2-bg-subtle);flex-direction:column;gap:14px;width:21%;padding:22px 16px;display:flex}.live-poster-sidebar span:first-child{border-radius:8px;height:26px}.live-poster-sidebar span:nth-child(3){width:70%}.live-poster-pane{flex-direction:column;flex:1;gap:16px;padding:0 28px;display:flex}.live-poster-pane+.live-poster-pane{border-left:1px solid var(--n2-line)}.live-poster-pane .live-poster-tabs{margin-inline:-28px;background:var(--n2-bg-subtle);border-radius:0;height:38px;margin-bottom:18px}.live-poster-pane span:nth-child(2){width:46%;height:16px}.live-poster-pane span:nth-child(3){width:82%}.live-poster-pane span:nth-child(4){width:64%}.live-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:18px;display:flex}.live-caption{color:var(--accent);font:600 22px/1.2 var(--hand);margin:0}.live-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.spread-wrap{max-width:var(--width);padding:clamp(96px, 12vw, 152px) var(--gutter) 0;margin:0 auto}.spread{background:var(--surface);box-shadow:var(--n2-shadow-lg), 0 0 0 1px var(--border);border-radius:16px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid;position:relative}.spread:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#5a321e12 45%,#5a321e1f 50%,#5a321e12 55%,#0000);width:60px;position:absolute;top:0;bottom:0;left:calc(42.5% - 30px)}.page{background-image:var(--dots);background-position:11px 11px;background-size:22px 22px;margin:0;padding:clamp(28px,5vw,60px)}.page-left{border-radius:16px 0 0 16px}.page-left h2{font-size:clamp(32px,4vw,46px);line-height:1.06}.spread-intro{color:var(--muted);margin-top:18px;font-size:16px}.legend{border:1.5px dashed var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;max-width:300px;margin:36px 0 0;padding:18px 20px 16px;display:grid}.legend div{align-items:baseline;gap:12px;display:flex}.legend dt{width:14px;color:var(--accent);text-align:center;font-weight:700}.legend dd{color:var(--muted);font:600 20px/1.25 var(--hand);margin:0}.entries{border-radius:0 16px 16px 0;list-style:none}.entries li{background:radial-gradient(circle, var(--line) 1.2px, transparent 1.6px) bottom left / 10px 4px repeat-x;grid-template-columns:30px minmax(0,1fr);gap:10px;padding-block:20px;display:grid}.entries li:first-child{padding-top:0}.entries li:last-child{background:0 0;padding-bottom:0}.glyph{color:var(--accent);text-align:center;font-size:22px;font-weight:700;line-height:1.15}.entries h3{font-family:var(--display);font-variation-settings:"SOFT" 100;letter-spacing:-.012em;font-size:21px;font-weight:600}.entries p{color:var(--muted);margin-top:5px;font-size:15.5px}.demo{max-width:var(--width);padding:clamp(96px, 12vw, 152px) var(--gutter) 0;margin:0 auto}.demo-intro{text-align:center;max-width:560px;margin:0 auto 32px}.demo-intro h2{font-size:clamp(32px,4.2vw,48px);line-height:1.08}.demo-intro p:last-child{color:var(--muted);margin-top:12px;font-size:16px}.lab{margin:0}.lab-stage{grid-template-columns:minmax(0,1.55fr) minmax(24px,64px) auto minmax(24px,64px) minmax(0,1fr);align-items:center;display:grid}.device{border:1px solid var(--line);background:var(--surface);background-image:var(--dots);min-width:0;box-shadow:var(--n2-shadow-md);background-size:22px 22px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.device-laptop{border-radius:14px;transform:rotate(-.6deg)}.device-phone{border-width:7px;border-color:#3a2c25;border-radius:34px;justify-self:center;width:100%;max-width:320px;transform:rotate(.8deg)}.device:focus-within{box-shadow:0 0 0 3px var(--n2-focus-ring), var(--n2-shadow-md)}.device[data-online=false]{border-color:color-mix(in srgb, var(--offline) 45%, var(--line))}.device-phone[data-online=false]{border-color:#5a4630}.device-bar{border-bottom:1px solid var(--border);background:var(--canvas);align-items:center;gap:10px;min-height:44px;padding:8px 10px 8px 14px;font-size:13px;display:flex}.lights{gap:6px;display:flex}.lights i{background:var(--n2-accent);border-radius:50%;width:10px;height:10px}.lights i:nth-child(2){background:#e6a84a}.lights i:nth-child(3){background:#23706f}.clock{color:var(--strong);font-variant-numeric:tabular-nums;font-weight:650}.device-name{min-width:0;color:var(--muted);font:600 18px/1 var(--hand);flex:1}.connection{background:var(--n2-teal-soft);color:var(--n2-teal);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:650;display:inline-flex}.connection[aria-checked=false]{background:var(--n2-amber-soft);color:var(--offline)}.note{resize:none;width:100%;height:250px;color:var(--text);font:16.5px/1.65 var(--writing);background:0 0;border:0;outline:0;padding:16px 18px;display:block}.device-phone .note{height:290px;padding-inline:16px;font-size:15.5px}.wire{background:radial-gradient(circle, var(--accent) 1.4px, transparent 1.8px) 0 0 / 10px 3px repeat-x;height:3px;animation:.9s linear infinite flow-x;display:block}.wire[data-online=false]{background:radial-gradient(circle, var(--line) 1.4px, transparent 1.8px) 0 0 / 10px 3px repeat-x;animation:none;-webkit-mask:linear-gradient(90deg,#000 30%,#0000 30% 70%,#000 70%);mask:linear-gradient(90deg,#000 30%,#0000 30% 70%,#000 70%)}@keyframes flow-x{to{background-position:10px 0}}@keyframes flow-y{to{background-position:0 10px}}.server-node{border:1.5px dashed var(--line);background:var(--surface);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:14px 16px;font-size:13px;display:flex}.server-node svg{color:var(--accent);margin-bottom:4px}.server-node strong{color:var(--strong);font-weight:650}.server-node small{color:var(--muted);font:600 15px/1.2 var(--hand);white-space:nowrap}.lab-caption{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:12px 12px 12px 18px;display:flex}.lab-caption p{font-size:14px}.lab-reset{color:var(--muted);border-radius:8px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.lab-reset:hover{background:var(--n2-hover);color:var(--strong)}.section{max-width:var(--width);padding:clamp(96px, 12vw, 152px) var(--gutter) 0;margin:0 auto}.section>h2{max-width:17em;font-size:clamp(32px,4.4vw,50px);line-height:1.08}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:52px 0 0;padding:0;list-style:none;display:grid}.steps li{background:var(--surface);background-image:repeating-linear-gradient(transparent 0 31px, color-mix(in srgb, var(--n2-teal) 14%, transparent) 31px 32px);box-shadow:var(--n2-shadow-md), 0 0 0 1px var(--border);background-position:0 66px;border-radius:6px;padding:30px 26px 26px;position:relative;transform:rotate(-1.2deg)}.steps li:nth-child(2){transform:rotate(.9deg)translateY(10px)}.steps li:nth-child(3){transform:rotate(-.4deg)}.steps li:before{content:"";background:var(--n2-tape);width:84px;height:22px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-3deg)}.step-number{border:2px solid var(--accent);width:40px;height:40px;color:var(--accent);font:650 24px/1 var(--hand);border-radius:52% 48% 55% 45%/50% 55% 45% 50%;place-items:center;margin-bottom:14px;display:grid}.steps h3{font-family:var(--display);font-variation-settings:"SOFT" 100;margin-bottom:8px;font-size:22px;font-weight:600}.steps p{color:var(--muted);font-size:15.5px;line-height:32px}.platforms{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px;display:grid}.platforms article{background:var(--n2-kraft-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--n2-kraft) 35%, transparent);border-radius:14px;flex-direction:column;align-items:flex-start;padding:28px 26px;display:flex}.platforms svg{color:var(--accent)}.platforms h3{font-family:var(--display);font-variation-settings:"SOFT" 100;margin:16px 0 8px;font-size:22px;font-weight:600}.platforms p{color:color-mix(in srgb, var(--text) 78%, var(--n2-kraft));margin-bottom:20px;font-size:15.5px}.platforms a{align-items:center;gap:6px;margin-top:auto;font-size:15px;font-weight:650;text-decoration:none;display:inline-flex}.platforms a:hover{text-decoration:underline}.tag{background:var(--n2-tape);color:var(--text);font:600 17px/1.4 var(--hand);margin-top:auto;padding:1px 10px;transform:rotate(-2deg)}.questions{max-width:800px;margin-top:36px}.questions details{background:radial-gradient(circle, var(--line) 1.2px, transparent 1.6px) bottom left / 10px 4px repeat-x}.questions summary{color:var(--strong);font-family:var(--display);font-variation-settings:"SOFT" 100;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:20px;font-weight:560;list-style:none;display:flex}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:"+";color:var(--accent);font:400 30px/1 var(--hand);flex:none;transition:transform .2s}.questions details[open] summary:after{transform:rotate(45deg)}.questions details p{max-width:44em;color:var(--muted);padding-bottom:24px}.questions strong{color:var(--text)}.cover{max-width:var(--width);padding:clamp(64px, 9vw, 112px) var(--gutter);box-shadow:var(--n2-shadow-lg);color:#f6e9dc;text-align:center;background:radial-gradient(circle at 1px 1px,#fff0e112 1.1px,#0000 1.4px) 0 0/22px 22px,radial-gradient(120% 140% at 15% 0,#9a2e42,#7e1f30 55%,#5e1424);border-radius:clamp(16px,2.4vw,28px);margin:clamp(96px,12vw,152px) auto 0;position:relative;overflow:hidden}@media (width>=1200px){.cover{max-width:calc(var(--width) - 2 * var(--gutter));margin-inline:auto}}.ribbon{clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);background:#e6a84a;width:46px;height:clamp(110px,16vw,168px);position:absolute;top:0;right:clamp(32px,9%,120px);box-shadow:inset 0 10px #0000001f}.cover h2{color:#fff6ec;font-size:clamp(38px,5.6vw,66px);line-height:1.05}.cover h2 em{color:#f2c27a}.cover p{color:#e8cfc4;max-width:30em;margin:18px auto 34px}.cover-cta{color:#6a1828;background:#fff6ec;border-radius:12px;align-items:center;gap:8px;height:48px;padding:0 22px;font-size:16px;font-weight:650;text-decoration:none;transition:transform .15s;display:inline-flex;box-shadow:inset 0 -2px #3c0a142e,0 6px 18px -6px #1e000880}.cover-cta:hover{transform:translateY(-1px)}.cover-cta:active{transform:translateY(1px)}.cover-cta:focus-visible{outline-offset:3px;outline:2px solid #f2c27a}.not-found{min-height:100vh;padding:var(--gutter);background-image:var(--dots);text-align:center;background-size:22px 22px;align-content:center;place-items:center;gap:24px;display:grid}.not-found .hand-eyebrow{margin:0}.not-found h1{font-size:clamp(34px,6vw,56px)}.legal{max-width:720px;padding:clamp(48px, 8vw, 96px) var(--gutter) clamp(96px, 12vw, 144px);margin:0 auto}.legal-head h1{font-size:clamp(42px,6.4vw,68px);line-height:1.02}.legal-date{color:var(--muted);margin-top:14px;font-size:15px}.legal-intro{margin-top:28px;font-size:clamp(17px,2vw,19px)}.legal-summary,.legal-contents{border:1px solid var(--border);border-radius:16px;margin-top:40px;padding:24px 26px}.legal-summary{background:var(--surface);background-image:var(--dots);background-size:22px 22px}.legal-contents{margin-top:16px}.legal-summary h2,.legal-contents h2{color:var(--accent);font:650 12px var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}.legal-summary ul{margin:0;padding-left:1.1em}.legal-summary li+li{margin-top:8px}.legal-contents ol{columns:2;color:var(--muted);column-gap:32px;margin:0;padding-left:1.4em;font-size:15.5px}.legal-contents li{break-inside:avoid;padding-block:2px}.legal-contents a{color:var(--text);text-decoration:none}.legal-contents a:hover{color:var(--accent);text-decoration:underline}.legal section{margin-top:56px}.legal section h2{margin-bottom:16px;font-size:clamp(26px,3.4vw,32px);line-height:1.15}.legal section h3{margin:24px 0 6px;font-size:17px;font-weight:600}.legal section h2+h3{margin-top:0}.legal section p+p,.legal section p+ul,.legal section ul+p{margin-top:14px}.legal section ul{margin:0;padding-left:1.2em}.legal section li+li{margin-top:6px}.legal li::marker{color:var(--accent)}.legal strong{color:var(--strong)}@media (width<=900px){.spread{grid-template-columns:minmax(0,1fr)}.spread:after{display:none}.page-left{background-color:var(--canvas);border-radius:16px 16px 0 0}.entries{border-radius:0 0 16px 16px}.platforms{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-stage{grid-template-columns:minmax(0,1fr);justify-items:center}.device-laptop{width:100%}.wire{background:radial-gradient(circle, var(--accent) 1.4px, transparent 1.8px) 0 0 / 3px 10px repeat-y;width:3px;height:28px;animation-name:flow-y}.wire[data-online=false]{background:radial-gradient(circle, var(--line) 1.4px, transparent 1.8px) 0 0 / 3px 10px repeat-y;-webkit-mask:linear-gradient(#000 30%,#0000 30% 70%,#000 70%);mask:linear-gradient(#000 30%,#0000 30% 70%,#000 70%)}.steps{grid-template-columns:minmax(0,1fr);gap:34px;max-width:520px}.steps li:nth-child(2){transform:rotate(.9deg)}}@media (width<=640px){.top nav{display:none}.live-caption{font-size:19px}.annotation{display:none}.platforms{grid-template-columns:minmax(0,1fr)}.actions a{justify-content:center;width:100%}.legend{max-width:none}.note{height:220px}.device-phone .note{height:240px}.lab-caption{flex-direction:column;align-items:flex-start;gap:8px}.lab-reset{margin-left:-12px}.ribbon{width:34px;right:20px}.legal-contents ol{columns:1}}@media (prefers-reduced-motion:reduce){html:not([data-surface=app]){scroll-behavior:auto}.wire{animation:none}}
