@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1o60yhwqd7ueg.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.0n0q_nh7u2mrm.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.0nt7ek_nfk5a4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.39q78sztp1ci5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.20f3xrkj613ah.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-ext-wght-normal.2ij5maosbedmv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-wght-normal.33c6-jfmyetfr.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-symbols2-wght-normal.0peao-xekk45v.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-vietnamese-wght-normal.3lyzf0uofk1_2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-ext-wght-normal.18_jyrw-ln1dm.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-wght-normal.1t7tphccnfzmb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-normal.3_vslfxq_--4i.woff2)format("woff2"),url(../media/instrument-serif-latin-400-normal.2maraz2ovyahx.woff)format("woff")}
@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-italic.1bk2-9tco4m7m.woff2)format("woff2"),url(../media/instrument-serif-latin-400-italic.3_-8f-v73506e.woff)format("woff")}
:root{--ink-black:#1f2024;--ink-white:#e9e8e1;--ink-red:#b5412f;--ink-yellow:#d8c04a;--ink-blue:#2f4f93;--ink-green:#3f7a50;--bg:#f4f2ec;--surface:#faf9f5;--elev:#fff;--fg:#17171a;--fg-2:#55544f;--fg-3:#8a8982;--line:#17171a17;--line-2:#17171a29;--accent:var(--ink-blue);--accent-fg:#fff;--accent-soft:#2f4f9317;--ok:#2f7a4b;--bad:#b5412f;--warn:#9a7b12;--mark-tile:#1f2024;--mark-letter:#ecebe4;--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--r-lg:18px;--r-md:12px;--r-sm:8px;--shadow-1:0 0 0 1px var(--line), 0 1px 2px #1414140a;--shadow-2:0 0 0 1px var(--line), 0 1px 2px #1414140a, 0 12px 32px -12px #14141424;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e0e10;--surface:#151517;--elev:#1b1b1e;--fg:#f1f0ea;--fg-2:#b2b1aa;--fg-3:#76756f;--line:#ffffff14;--line-2:#ffffff26;--accent:#7f9be6;--accent-fg:#0e0e10;--accent-soft:#7f9be61f;--ok:#62b583;--bad:#e0705b;--warn:#d8c04a;--mark-tile:#ecebe4;--mark-letter:#1f2024;--shadow-1:0 0 0 1px var(--line);--shadow-2:0 0 0 1px var(--line), 0 16px 40px -16px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font:15px/1.55 var(--font-sans);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";margin:0}::selection{background:var(--accent);color:var(--accent-fg)}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}h1,h2,h3{letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:600;line-height:1.15}h1{font-size:28px}h2{letter-spacing:-.016em;font-size:18px}h3{letter-spacing:-.01em;font-size:15px}p{text-wrap:pretty;margin:0 0 12px}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:400;line-height:1.02}.mono,.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);letter-spacing:0}.eyebrow{font:500 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}main{max-width:1040px;margin:0 auto;padding:28px 20px 96px}.muted{color:var(--fg-2)}.center{text-align:center}.err{color:var(--bad)}.ok{color:var(--ok)}@keyframes rise{0%{opacity:0;filter:blur(4px);transform:translateY(14px)scale(.985)}to{opacity:1;filter:blur();transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .in{justify-content:space-between;align-items:center;gap:16px;max-width:1040px;height:60px;margin:0 auto;padding:0 20px;display:flex}.site-header nav{align-items:center;gap:4px;display:flex}.site-header nav a:not(.btn){color:var(--fg-2);transition:color .14s var(--ease-out), background-color .14s var(--ease-out);border-radius:9px;padding:7px 11px;font-weight:500}.site-header nav a[aria-current=page]{color:var(--fg);background:var(--line)}.site-header nav a.btn{color:var(--bg);padding:0 15px;font-weight:500}.site-header nav a.btn.secondary{color:var(--fg)}@media (hover:hover) and (pointer:fine){.site-header nav a:not(.btn):hover{color:var(--fg);background:var(--line);text-decoration:none}}.logo{align-items:center;gap:9px;display:inline-flex;color:var(--fg)!important;text-decoration:none!important}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;padding-bottom:2px;font-size:25px;line-height:1}.who{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;max-width:170px;margin:0 6px;font-size:13px;overflow:hidden}.inkstrip{gap:3px;display:inline-flex}.inkstrip i{border-radius:2.5px;width:10px;height:14px;display:block;box-shadow:inset 0 0 0 1px #00000014}button,.btn{font:500 14px/1 var(--font-sans);letter-spacing:-.006em;cursor:pointer;white-space:nowrap;background:var(--fg);height:38px;color:var(--bg);transition:transform .14s var(--ease-out), background-color .14s var(--ease-out), box-shadow .14s var(--ease-out), opacity .14s var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 15px;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff1f}button:active,.btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled),.btn:hover{opacity:.88;text-decoration:none}}button:disabled{opacity:.4;cursor:default;box-shadow:none}button.secondary,.btn.secondary{background:var(--elev);color:var(--fg);box-shadow:var(--shadow-1)}@media (hover:hover) and (pointer:fine){button.secondary:hover:not(:disabled),.btn.secondary:hover{opacity:1;background:var(--surface);box-shadow:0 0 0 1px var(--line-2)}}.btn.lg{border-radius:12px;height:46px;padding:0 22px;font-size:15px}.btn.accent,button.accent{background:var(--accent);color:var(--accent-fg)}button.link{box-shadow:none;color:var(--fg-3);background:0 0;border-radius:6px;height:auto;padding:4px}@media (hover:hover) and (pointer:fine){button.link:hover{color:var(--fg);opacity:1}}.btn svg,button svg{flex:none}.card{background:var(--elev);border-radius:var(--r-lg);box-shadow:var(--shadow-1);margin:14px 0;padding:20px}.card.warn{box-shadow:0 0 0 1px color-mix(in srgb, var(--bad) 45%, transparent)}.card h2{margin-bottom:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}hr{border:0;border-top:1px solid var(--line);margin:16px 0}input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);width:100%;height:40px;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .14s var(--ease-out), background-color .14s var(--ease-out);border:0;border-radius:10px;padding:0 12px}input::placeholder,textarea::placeholder{color:var(--fg-3)}input:focus,select:focus,textarea:focus{background:var(--elev);box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 0 4px var(--accent-soft);outline:none}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);box-shadow:none;padding:0}select{width:auto;padding-right:30px}.code{font:500 28px/1 var(--font-mono);letter-spacing:.22em;text-align:left;height:56px}label{font-weight:500}.pill{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-2);border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 9px;font-size:12.5px;font-weight:500;display:inline-flex}.pill:before{content:"";background:var(--fg-3);border-radius:50%;width:7px;height:7px}.pill.on{color:var(--ok)}.pill.on:before{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}.pill.off{color:var(--bad)}.pill.off:before{background:var(--bad)}.badge{box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-3);border-radius:999px;padding:2px 8px;font-size:12px}.badge.bad{color:var(--bad);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bad) 40%, transparent)}.badge.good{color:var(--ok);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ok) 40%, transparent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:999px;height:34px}.chips button.sel{background:var(--fg);color:var(--bg);box-shadow:none}.seg{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--fg-2);box-shadow:none;background:0 0;border-radius:9px;height:32px;padding:0 12px}.seg button.sel{background:var(--elev);color:var(--fg);box-shadow:0 1px 2px #0000001a, 0 0 0 1px var(--line)}@media (hover:hover) and (pointer:fine){.seg button:hover:not(.sel):not(:disabled){color:var(--fg);opacity:1}}.ico{border:1.6px solid;border-radius:2.5px;display:inline-block}.ico.landscape{width:15px;height:10px}.ico.portrait{width:10px;height:15px}details.help{border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);margin:10px 0;padding:0 14px}details.help summary{cursor:pointer;color:var(--fg-2);justify-content:space-between;align-items:center;padding:11px 0;font-weight:500;list-style:none;display:flex}details.help summary::-webkit-details-marker{display:none}details.help summary:after{content:"";border-right:1.6px solid var(--fg-3);border-bottom:1.6px solid var(--fg-3);width:7px;height:7px;transition:transform .2s var(--ease-out);transform:rotate(45deg)translateY(-2px)}details.help[open] summary:after{transform:rotate(-135deg)translateY(-2px)}details.help>div{color:var(--fg-2);padding:0 0 12px}.frame{background:#1c1c1f;border-radius:18px;max-width:100%;padding:12px;line-height:0;display:inline-block;position:relative;box-shadow:0 0 0 1px #ffffff0f,0 1px 2px #0000004d,0 24px 48px -20px #00000073}.frame img{width:100%;height:auto;transition:opacity .26s var(--ease-out);background:#e9e8e1;border-radius:7px;display:block}.frame.land{width:min(100%,560px)}.frame.port{width:min(64%,300px)}.framemsg{color:#fff;letter-spacing:0;animation:fade .3s var(--ease-out) .25s both;justify-content:center;align-items:center;font-size:13px;font-weight:500;line-height:1.4;display:flex;position:absolute;inset:0}.previewwrap{text-align:center;margin:4px 0 6px}img.preview{background:#e9e8e1;border-radius:10px;max-width:100%;height:auto;margin:10px;box-shadow:0 0 0 10px #1c1c1f,0 18px 40px -12px #0006}dl.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}dl.stats div{background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);padding:11px 13px}dl.stats dt{color:var(--fg-3);margin-bottom:3px;font-size:12px;font-weight:500}dl.stats dd{letter-spacing:-.012em;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.steps{gap:5px;margin:12px 0 10px;display:flex}.steps span{background:var(--line-2);border-radius:4px;flex:1;height:4px;position:relative;overflow:hidden}.steps span:after{content:"";background:var(--accent);transform-origin:0;transition:transform .38s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.steps span.on:after{transform:scaleX(1)}.pick{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pick button{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:var(--r-md);flex-direction:column;height:auto;padding:18px 12px}.pick button.sel{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.warn-note{background:color-mix(in srgb, var(--ink-yellow) 18%, transparent);border-radius:var(--r-md);padding:10px 13px}.waitbox{box-shadow:inset 0 0 0 1.5px var(--accent), var(--shadow-1)}.checklist{margin:0;padding:0;list-style:none}.checklist li{color:var(--fg-3);align-items:center;gap:9px;padding:5px 0;display:flex}.checklist li.done{color:var(--ok)}.checklist li.active{color:var(--fg);font-weight:500}.spin{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tabs{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;gap:2px;margin:8px 0 4px;padding:3px;display:inline-flex}.tabs button{color:var(--fg-2);box-shadow:none;background:0 0;border-radius:9px;height:34px}.tabs button.sel{background:var(--elev);color:var(--fg);box-shadow:0 1px 2px #0000001a, 0 0 0 1px var(--line)}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatch{border-radius:9px;width:32px;height:32px;padding:0;box-shadow:inset 0 0 0 1px #00000024}.swatch.sel{box-shadow:inset 0 0 0 1px #00000024, 0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.swatch.icon{background:#26262a;justify-content:center;align-items:center;width:38px;height:38px;display:flex}textarea.msg{text-transform:uppercase;letter-spacing:.05em;resize:vertical;height:auto;min-height:112px;line-height:1.5;font-family:var(--font-mono);padding:12px 13px;font-size:14px}.themes{flex-wrap:wrap;gap:8px;display:flex}.theme{background:var(--surface);height:auto;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:var(--r-md);gap:10px;padding:8px 12px 8px 8px;font-size:13.5px;font-weight:500}.theme.sel{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.theme .abc{letter-spacing:.08em;border-radius:6px;justify-content:center;align-items:center;width:46px;height:32px;font-size:14px;font-weight:300;display:inline-flex;box-shadow:inset 0 0 0 1px #0003}.theme.black .abc{color:#e9e8e1;background:#1f2024}.theme.white .abc{color:#1f2024;background:#e9e8e1}.listrow{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.listrow:first-of-type{border-top:0}.listrow .t{white-space:pre-line;font-family:var(--font-mono);text-transform:uppercase;text-overflow:ellipsis;letter-spacing:.02em;font-size:13px;font-weight:500;overflow:hidden}.sugg{margin:14px 0}.board{box-sizing:border-box;margin:0 auto;border-radius:14px;width:100%;max-width:600px;margin-block:7px;box-shadow:0 0 0 6px #1c1c1f,0 0 0 7px #ffffff0f,0 24px 48px -16px #00000080;container-type:inline-size}.board.portrait{max-width:330px}.board .tiles{width:100%;height:100%;display:grid}.board .tile{isolation:isolate;justify-content:center;align-items:center;font-weight:300;line-height:1;display:flex;position:relative;overflow:hidden}.board .tile:after{content:"";background:var(--hinge);pointer-events:none;height:1px;position:absolute;top:50%;left:0;right:0}@keyframes flip{0%{opacity:.2;transform:rotateX(-88deg)}to{opacity:1;transform:none}}.board.flip .tile{animation:flip .36s var(--ease-out) both;transform-origin:50%}.authwrap{place-items:center;min-height:calc(100dvh - 60px);padding:24px 20px 64px;display:grid}.card.auth.terms{width:100%;max-width:560px}.terms-box{border:1px solid var(--line,#8080804d);background:var(--bg);border-radius:12px;height:min(52vh,380px);padding:4px 18px 14px;font-size:14px;line-height:1.6;overflow-y:auto}.terms-box h2{margin:1.6em 0 .3em;font-size:15px;font-weight:600}.terms-box p,.terms-box li{color:var(--fg-2);margin:.6em 0}.terms-box ul{padding-left:1.2em}.terms-box strong{color:var(--fg)}label.termscheck{color:var(--fg-2);cursor:pointer;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;display:flex}label.termscheck input{flex:none;width:20px;height:20px;margin:1px 0 0}form.auth{width:100%;max-width:400px;margin:0;padding:28px}form.auth label{margin:14px 0 0;font-size:13.5px;font-weight:500;display:block}form.auth label input{margin-top:6px;font-weight:400}label.check{color:var(--fg-2);align-items:center;gap:8px;font-weight:400!important;display:flex!important}label.check input{margin:0!important}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;padding:56px 0 24px;display:grid}.hero h1{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(44px,6.4vw,76px);font-weight:400;line-height:.98}.hero h1 em{color:var(--ink-red);font-style:italic}.hero .lede{color:var(--fg-2);max-width:30em;margin:20px 0 28px;font-size:18px;line-height:1.5}.heroart{padding:6px}.features{grid-template-columns:repeat(3,1fr);gap:14px;margin:56px 0 0;display:grid}.feature{background:var(--elev);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:20px}.feature .ficon{color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;margin-bottom:14px;display:grid}.feature h3{margin-bottom:6px}.feature p{color:var(--fg-2);margin:0;font-size:14px}.how{margin-top:72px}.how ol{counter-reset:s;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.how li{counter-increment:s;border-top:1px solid var(--line-2);padding-top:14px}.how li:before{content:counter(s, decimal-leading-zero);font:500 12px var(--font-mono);color:var(--fg-3);margin-bottom:8px;display:block}.how li b{letter-spacing:-.01em;margin-bottom:4px;display:block}.how li span{color:var(--fg-2);font-size:14px}footer.site{max-width:1040px;color:var(--fg-3);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 auto;padding:28px 20px 48px;font-size:13px;display:flex}@media (max-width:820px){.hero{grid-template-columns:1fr;gap:28px;padding-top:28px}.features,.how ol{grid-template-columns:1fr}}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 18px;display:flex}.pagehead p{color:var(--fg-2);margin:6px 0 0}.device{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:28px;padding:22px;display:grid}.device .stage{background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);padding:28px 16px 18px}.device .meta h2{font-size:20px}.device .actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}.device .actions .row>*{flex:1}@media (max-width:860px){.device{grid-template-columns:1fr;gap:18px;padding:16px}}.show-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:12px;display:grid}.show-card{background:var(--elev);border-radius:var(--r-md);box-shadow:var(--shadow-1);color:var(--fg);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);flex-direction:column;gap:10px;padding:14px;display:flex;text-decoration:none!important}.show-card .si{color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.show-card b{letter-spacing:-.01em}.show-card span{color:var(--fg-3);font-size:13px}.show-card.soon{opacity:.6;pointer-events:none}a.show-card:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){a.show-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}}.swatchgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.chip{border-radius:var(--r-md);background:var(--elev);box-shadow:var(--shadow-1);overflow:hidden}.chip .c{height:84px}.chip .l{padding:10px 12px;font-size:13px}.chip .l b{display:block}.chip .l span{font-family:var(--font-mono);color:var(--fg-3);font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}button:active,.btn:active{transform:none}}.places{z-index:15;background:var(--elev);border-radius:var(--r-md);box-shadow:var(--shadow-2);max-height:280px;margin:6px 0 0;padding:4px;list-style:none;position:absolute;left:0;right:0;overflow:auto}.places li{padding:8px 10px}.places li button{all:unset;cursor:pointer;width:calc(100% - 20px);transition:background-color .12s var(--ease-out);border-radius:8px;padding:8px 10px;display:block}.places li button span{color:var(--fg-3);font-size:13px}@media (hover:hover) and (pointer:fine){.places li button:hover{background:var(--accent-soft)}}.places li button:focus-visible{outline:2px solid var(--accent)}.field{margin:16px 0 0}.field>.eyebrow,.field>label{margin-bottom:7px;display:block}.range{width:100%;accent-color:var(--accent);height:28px;box-shadow:none;background:0 0;padding:0}.chosen{background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:10px 12px;display:flex}.chosen b{letter-spacing:-.01em}.chosen span{color:var(--fg-3);font-size:13px}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (max-width:900px){.two{grid-template-columns:1fr}}.two>.card{margin:0}.chosen.city{cursor:grab;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out), opacity .16s var(--ease-out)}.chosen.city .grip{color:var(--fg-3);display:flex}.chosen.city.dragging{opacity:.45;cursor:grabbing}.chosen.city.over{box-shadow:inset 0 0 0 2px var(--accent)}button.link:disabled{opacity:.25}.pgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:14px;display:grid}.pthumb{border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);aspect-ratio:1;transition:transform .18s var(--ease-out), opacity .18s;position:relative;overflow:hidden}.pthumb.drag{opacity:.4;transform:scale(.96)}.pthumb img{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.pbadge{background:var(--elev);color:var(--fg-2);position:absolute;top:6px;left:6px}.pbar{opacity:0;transition:opacity .16s var(--ease-out);background:linear-gradient(#0000,#0000008c);justify-content:space-between;padding:4px 6px;display:flex;position:absolute;inset:auto 0 0}.pbar button.link{color:#fff}.pbar button.link:disabled{opacity:.3}.pthumb:hover .pbar,.pthumb:focus-within .pbar{opacity:1}@media (hover:none){.pbar{opacity:1}}.modal{z-index:50;animation:fade .16s var(--ease-out);background:#00000080;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--elev);border-radius:var(--r-lg,18px);width:min(960px,100%);box-shadow:var(--shadow-2,0 20px 60px #00000059);padding:20px}.pedit{border-radius:10px;justify-content:center;align-items:center;margin:0 auto;display:flex;overflow:hidden}.pedit img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.backlink{color:var(--fg-3);transition:background-color .14s var(--ease-out), color .14s;border-radius:999px;align-items:center;gap:6px;margin:-6px 0 14px -6px;padding:6px 10px 6px 8px;font-size:14px;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.backlink:hover{background:var(--accent-soft);color:var(--fg)}}.backlink:focus-visible{outline:2px solid var(--accent)}.mnav{display:none}.hamburger{color:var(--fg);box-shadow:none;background:0 0;border-radius:12px;width:44px;height:44px;margin-right:-8px;padding:0}.mnav-scrim{z-index:18;animation:fade .16s var(--ease-out);background:#0006;position:fixed;inset:60px 0 0}.mnav-panel{z-index:19;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);animation:rise .2s var(--ease-out) both;flex-direction:column;gap:2px;max-height:calc(100dvh - 60px);padding:10px 16px 18px;display:flex;position:fixed;top:60px;left:0;right:0;overflow-y:auto}.mnav-panel a:not(.btn){color:var(--fg);border-radius:12px;padding:13px 12px;font-size:18px;font-weight:500;text-decoration:none}.mnav-panel a[aria-current=page]{background:var(--line)}.mnav-who{border-top:1px solid var(--line);color:var(--fg-3);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;font-size:13px;display:flex}.mnav-who span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:820px){.site-header nav.desk{display:none}.mnav{display:block}.site-header .in{padding:0 16px}}.mnav-panel a:not(.btn){text-align:left;display:block}.mnav-panel a.btn{width:100%}@media (max-width:560px){main{padding:20px 16px 72px}.pagehead h1,main h1{font-size:28px}.card{padding:16px}.row{gap:8px}.seg{flex-wrap:wrap;max-width:100%}.modal{padding:0}.sheet{border-radius:0;min-height:100dvh;padding:16px}button,.btn,input,select,textarea{min-height:42px}.listrow{flex-wrap:wrap}}.savedrow{flex-wrap:wrap;align-items:center;gap:14px}@media (max-width:560px){.savedrow{flex-direction:column;align-items:stretch;gap:10px}.savedrow>div{min-width:0;flex:none!important;width:100%!important}.savedrow>div:first-child{max-width:300px}.savedrow .row{justify-content:flex-start!important}}.dgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));align-items:stretch;gap:18px;display:grid}.dtile{background:var(--elev);border-radius:var(--r-lg,18px);box-shadow:var(--shadow-1);color:var(--fg);transition:box-shadow .18s var(--ease-out), transform .18s var(--ease-out);flex-direction:column;gap:10px;padding:16px;display:flex;position:relative;text-decoration:none!important}@media (hover:hover) and (pointer:fine){.dtile:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}}.dtile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dtile-pic{background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);justify-content:center;padding:16px 12px;display:flex}.dtile-pic .frame.land{width:min(100%,320px)}.dtile-pic .frame.port{width:min(56%,170px)}.dtile-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.dtile-head h2{margin:0;font-size:20px}.dtile-now{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;display:flex}.dtile-row{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:auto;display:flex}.dtile-row .dstats{flex:1;min-width:0;margin:0}.dtile-row .dnote{flex:100%;min-width:0;margin:0}.dtile-manage{flex:none;align-self:stretch;gap:2px;height:auto;min-height:58px;padding:0 14px}.dadd{text-align:center;border:2px dashed var(--line-2);min-height:220px;box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:6px}.dstats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:4px 0 0;display:grid}.dstats>div{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;padding:8px 10px}.dstats dt{color:var(--fg-3);align-items:center;gap:4px;margin:0;font-size:11.5px;display:flex}.dstats dd{margin:2px 0 0;font-size:15px;font-weight:600}.dstats.big dd{font-size:18px}.dnote{overflow-wrap:anywhere;align-items:flex-start;gap:6px;min-width:0;margin:6px 0 0;font-size:12.5px;line-height:1.45;display:flex}.dnote svg{flex:none;margin-top:2px}.dhead{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:center;gap:24px;display:grid}.dhead-pic{background:var(--surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);padding:16px 12px 12px}.dhead-pic .frame.land{width:min(100%,330px)}.dhead-pic .frame.port{width:min(56%,180px)}.dtabs{width:100%;max-width:360px;margin:6px 0 14px;display:flex}.dtabs button{flex:1;height:40px}.dsettings{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.dcol{align-content:start;gap:16px;min-width:0;display:grid}.dslot{gap:16px;display:grid}.dslot>.card,.dcol>.card{margin:0}.dslot:empty{display:none}@media (max-width:860px){.dsettings{flex-direction:column;display:flex}.dsettings .dcol{display:contents}}@media (max-width:760px){.dhead{grid-template-columns:1fr;gap:16px}}.screenrow{border-top:1px solid var(--line);padding:12px 0}.screenrow:first-of-type{border-top:0}.screenrow-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.screencfg{margin:10px 0 0 28px}.screencfg dl{gap:6px;margin:8px 0 10px;display:grid}.screencfg dl>div{flex-wrap:wrap;gap:12px;font-size:14px;display:flex}.screencfg dt{color:var(--fg-3);min-width:130px}.screencfg dd{overflow-wrap:anywhere;margin:0;font-weight:500}.stabs{flex-wrap:wrap;max-width:100%;margin-bottom:14px;display:flex}.stabs button{flex:auto}.theme.auto .abc{color:#1f2024;background:#c9c8c0}.sess{gap:2px;display:grid}.sess-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:12px 0;display:flex}.sess-row:first-child{border-top:0}.sess-ico{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.sess-main{flex:1;gap:2px;min-width:0;display:grid}.sess-main b{font-size:15px;font-weight:600}.sess-main span{color:var(--fg-3);font-size:13.5px}.sess-row button{flex:none}@media (max-width:520px){.sess-row{flex-wrap:wrap}.sess-main{flex-basis:calc(100% - 60px)}.sess-row button{margin-left:52px}}.sc-main{max-width:1120px}.sc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px;display:grid}@media (max-width:960px){.sc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:580px){.sc-grid{grid-template-columns:1fr}}.sc-card{background:var(--surface);box-shadow:var(--shadow-1);color:inherit;transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);border-radius:22px;flex-direction:column;padding:10px 10px 18px;text-decoration:none;display:flex}@media (hover:hover){.sc-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.sc-card:hover .sc-pic img{transform:scale(1.035)}}.sc-card:active{transform:scale(.985)}.sc-pic{aspect-ratio:16/9;background:#0b0d14;border-radius:13px;position:relative;overflow:hidden}.sc-pic img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out);display:block}.sc-state{color:#f3f2ee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c149e;border-radius:99px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex;position:absolute;top:10px;left:10px}.sc-state.ok{color:#8fe0ab}.sc-body{flex-direction:column;flex:1;padding:16px 10px 0;display:flex}.sc-body h3{font:600 18px/1.2 var(--font-sans);letter-spacing:-.015em;margin:0}.sc-body p{color:var(--fg-2);margin:6px 0 0;font-size:14.5px;line-height:1.5}.sc-foot{color:var(--fg-3);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:16px;font-size:13px;display:flex}.sc-foot b{color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.sc-foot b svg{transition:transform .2s var(--ease-out)}.sc-card:hover .sc-foot b svg{transform:translate(3px)}:root{--glass:color-mix(in srgb, var(--elev) 78%, transparent);--edge:#ffffffa6;--lift:0 1px 1px #14141e0a, 0 8px 24px -10px #1414282e, 0 22px 48px -24px #14142833}@media (prefers-color-scheme:dark){:root{--glass:color-mix(in srgb, var(--elev) 72%, transparent);--edge:#ffffff17;--lift:0 1px 1px #0000004d, 0 12px 32px -12px #0009}}body{background:radial-gradient(1100px 520px at 18% -160px, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%), radial-gradient(900px 480px at 92% -120px, color-mix(in srgb, var(--ink-red) 6%, transparent), transparent 70%), var(--bg);background-repeat:no-repeat}.site-header{-webkit-backdrop-filter:saturate(1.8)blur(24px);background:color-mix(in srgb, var(--bg) 66%, transparent);box-shadow:0 1px 0 var(--edge) inset}.card,.dtile{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.5);box-shadow:0 0 0 1px var(--line), 0 1px 0 var(--edge) inset, 0 6px 20px -12px #14142829;border-radius:22px}.dtile{transition:transform .36s var(--ease-out), box-shadow .36s var(--ease-out)}@media (hover:hover) and (pointer:fine){.dtile:hover{box-shadow:0 0 0 1px var(--line-2), 0 1px 0 var(--edge) inset, var(--lift);transform:translateY(-3px)}}.dtile:active{transform:scale(.99)}.dtile-pic{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 90%, transparent), color-mix(in srgb, var(--accent) 5%, var(--surface)));border-radius:14px}.btn:not(.secondary):not(.link),button:not(.secondary):not(.link):not(.seg button){box-shadow:0 1px 0 #ffffff2e inset, 0 4px 14px -6px color-mix(in srgb, var(--fg) 55%, transparent);transition:transform .16s var(--ease-out), opacity .16s, box-shadow .2s var(--ease-out)}.seg{background:color-mix(in srgb, var(--fg) 6%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.seg button.sel{box-shadow:0 1px 0 var(--edge) inset, 0 2px 8px -2px #14142833}.rise{animation:rise .64s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms)}@media (prefers-reduced-motion:reduce){.rise{animation:none}.dtile,.dtile:hover{transition:none;transform:none}}.eh-steps{gap:8px;margin:10px 0;padding-left:1.2em;display:grid}.eh-steps li{line-height:1.5}.bt-opt{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.bt-opt input{flex:none;width:20px;height:20px;margin-top:2px}.bt-opt small{color:var(--fg-3);margin-top:2px;font-size:13.5px;font-weight:400;display:block}.bt-chart{width:100%;height:auto;display:block}.bt-grid{stroke:var(--line);stroke-width:1px}.bt-lab{fill:var(--fg-3);font-size:14px}.bt-low{stroke:var(--bad,#c0392b);stroke-width:1px;stroke-dasharray:4 4;opacity:.6}.bt-lowlab{fill:var(--bad,#c0392b);opacity:.8;font-size:13px}.bt-line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.bt-empty{text-align:center;background:var(--surface);border-radius:12px;padding:28px 12px;font-size:14px}.cmp-bar{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:14px 16px;display:grid}.cmp-field{gap:6px;font-size:14px;display:grid}.cmp-field select{width:100%}.cmp-check{grid-column:1/-1}.pr{justify-items:center;gap:28px;display:grid}.pr-switch{justify-self:center}.pr-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;width:100%;display:grid}@media (max-width:860px){.pr-grid{grid-template-columns:1fr;max-width:440px}}.pr-card{background:var(--surface);box-shadow:var(--shadow-1);text-align:left;border-radius:22px;flex-direction:column;padding:26px 24px 24px;display:flex;position:relative}.pr-pop{box-shadow:0 0 0 2px var(--accent), var(--shadow-2)}.pr-badge{background:var(--accent);color:#fff;font:600 12px/1 var(--font-sans);border-radius:99px;padding:6px 10px;position:absolute;top:-12px;left:24px}.pr-card h3{font:600 20px/1.2 var(--font-sans);margin:0}.pr-tag{color:var(--fg-2);margin:6px 0 0;font-size:14px}.pr-price{align-items:baseline;gap:4px;margin:18px 0 0;display:flex}.pr-price b{font:600 40px/1 var(--font-sans);letter-spacing:-.03em}.pr-price span{color:var(--fg-2);font-size:15px}.pr-sub{color:var(--fg-2);min-height:1.4em;margin:6px 0 0;font-size:13.5px}.pr-card ul{flex:1;gap:10px;margin:20px 0 24px;padding:0;font-size:14.5px;list-style:none;display:grid}.pr-card li{align-items:flex-start;gap:10px;display:flex}.pr-card li svg{color:var(--ink-green);flex:none;margin-top:3px}.pr-btn{text-align:center;justify-content:center}.pr-note{color:var(--fg-2);text-align:center;max-width:46em;margin:0;font-size:13.5px}.pr-badge-free{background:var(--ink-green,#2f7d57)}
