:root{--paper:#edf3f4;--surface:#fefefc;--surface-muted:#e4edf0;--ink:#173342;--muted:#5c717c;--faint:#7d929b;--line:#bfd0d5;--line-strong:#8daab4;--blue:#215e7a;--blue-deep:#173f54;--blue-soft:#dcecf1;--signal:#a94a2c;--signal-dark:#83381f;--signal-soft:#f7e7e0;--green:#17664d;--green-soft:#e0f0e9;--error:#9d392d;--error-soft:#f9e7e4;--focus:#a94a2c;--shadow:0 12px 28px #1d414f14;--radius:3px;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Aptos,Segoe UI Variable,Helvetica Neue,ui-sans-serif,sans-serif}*{box-sizing:border-box}html{background:var(--paper);scrollbar-color:var(--line-strong) var(--paper)}body{background:var(--paper);min-height:100dvh;color:var(--ink);text-wrap:pretty;margin:0;line-height:1.5}button,input,select{font:inherit}button,label,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::selection{background:var(--blue);color:#fff}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 78%, #fff);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--paper);border-radius:0}.skip-link{z-index:5;background:var(--ink);color:#fff;font-family:var(--mono);padding:8px 12px;font-size:12px;transition:transform .15s ease-out;position:absolute;top:8px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header,.shell,.site-footer{width:min(1240px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;min-height:66px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--ink);background:var(--surface);width:31px;height:31px;color:var(--blue);font-family:var(--mono);letter-spacing:-.08em;place-items:center;font-size:10px;font-weight:800;display:inline-grid;position:relative}.brand-mark i{width:6px;height:6px;display:block;position:absolute}.brand-mark i:first-child{border-top:2px solid var(--signal);border-inline-start:2px solid var(--signal);top:-1px;left:-1px}.brand-mark i:nth-child(2){border-right:2px solid var(--signal);border-bottom:2px solid var(--signal);bottom:-1px;right:-1px}.brand-mark b{z-index:1;font-weight:800;position:relative}.brand-name{letter-spacing:-.04em;font-size:17px;font-weight:800}.brand-version,.header-meta{color:var(--faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.brand-version{padding-top:3px}.site-header nav{align-items:center;gap:18px;display:flex}.site-header nav a,.site-footer a{color:var(--blue-deep);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700;text-decoration:none}.site-header nav a:after,.site-footer a:after{content:" ↗";color:var(--signal)}.shell{padding:clamp(44px,7vw,86px) 0 72px}.hero{max-width:920px;margin-bottom:46px}.hero-kicker,.section-kicker{color:var(--blue);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;margin:0;font-size:11px;font-weight:700;display:flex}.hero-kicker span,.section-kicker span{border:1px solid var(--blue);width:29px;height:25px;color:var(--blue-deep);place-items:center;font-size:10px;display:grid}.hero h1{letter-spacing:-.065em;text-wrap:balance;max-width:12ch;margin:18px 0;font-size:clamp(42px,6vw,74px);font-weight:780;line-height:.98}.hero>p:not(.hero-kicker){max-width:690px;color:var(--muted);margin:0;font-size:clamp(16px,1.8vw,19px);line-height:1.65}.hero-specs{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin:31px 0 0;display:grid}.hero-specs div{min-width:0;padding:13px 14px 14px 0}.hero-specs div+div{border-inline-start:1px solid var(--line);padding-left:14px}.hero-specs dt{color:var(--faint);font-family:var(--mono);letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:700}.hero-specs dd{color:var(--ink);font-family:var(--mono);letter-spacing:.015em;margin:0;font-size:12px;font-weight:800}.toolbox{border-top:2px solid var(--blue);grid-template-columns:minmax(350px,415px) minmax(0,1fr);align-items:start;gap:25px;padding-top:14px;display:grid}.panel{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.controls{padding:0 24px 24px;position:sticky;top:16px}.panel-titlebar{border-bottom:1px solid var(--line);background:var(--blue-soft);justify-content:space-between;align-items:flex-start;gap:14px;margin:0 -24px 21px;padding:18px 24px 15px;display:flex}.panel-titlebar .eyebrow{margin:0 0 5px}.panel-titlebar p{max-width:26ch;color:var(--blue-deep);margin:0;font-size:13px;font-weight:700;line-height:1.35}.panel-code{color:var(--blue);font-family:var(--mono);letter-spacing:.05em;flex:none;font-size:11px;font-weight:800}.step{border-top:1px solid var(--line);align-items:center;gap:10px;margin:0 0 9px;padding-top:21px;display:flex}.panel-titlebar+.step{border-top:0;padding-top:0}.step span{border:1px solid var(--blue);background:var(--surface);width:27px;height:27px;color:var(--blue-deep);font-family:var(--mono);flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.step h2,.preview h2{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:780}.step-help{color:var(--muted);margin:0 0 13px;font-size:12px;line-height:1.52}.upload-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.upload{border:1px dashed var(--blue);background:var(--blue-soft);min-height:51px;color:var(--blue-deep);letter-spacing:-.01em;border-radius:0;font-size:14px;font-weight:800;transition:border-color .15s ease-out,background-color .15s ease-out,color .15s ease-out}.clear-image{border:1px solid var(--line-strong);background:var(--surface);min-height:51px;color:var(--muted);font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;border-radius:0;padding:10px 12px;font-size:11px;font-weight:700}.fileline{color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:11px;overflow:hidden}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}label{min-width:0;color:var(--muted);font-family:var(--mono);letter-spacing:.015em;flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}input,select{border:1px solid var(--line-strong);width:100%;min-height:43px;color:var(--ink);background:#fff;border-radius:0;outline:0;padding:9px 10px;font-size:14px}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #215e7a29}.segmented{border:1px solid var(--line-strong);background:var(--surface-muted);border-radius:0;margin-bottom:10px;padding:2px;display:inline-flex;overflow:hidden}.segmented button{min-height:30px;color:var(--muted);font-family:var(--mono);letter-spacing:.02em;background:0 0;border:0;border-radius:0;padding:5px 12px;font-size:11px;font-weight:800}.segmented button.active{background:var(--surface);color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--line-strong)}.check{color:var(--muted);letter-spacing:0;flex-direction:row;align-items:center;gap:8px;margin-top:10px;font-family:Aptos,Segoe UI Variable,Helvetica Neue,ui-sans-serif,sans-serif;font-size:13px;font-weight:600}.check input{width:17px;min-height:17px;accent-color:var(--blue)}.planline{border:1px solid var(--blue);background:var(--blue-soft);border-radius:0;gap:3px;margin-top:19px;padding:12px;display:grid}.planline strong{color:var(--blue-deep);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px}.planline span{color:var(--muted);font-size:12px}.planline.is-invalid{border-color:var(--error);background:var(--error-soft)}.planline.is-invalid strong{color:var(--error)}.error{border:1px solid var(--error);background:var(--error-soft);color:var(--error);border-radius:0;margin-top:10px;padding:10px 12px;font-size:12px;font-weight:650;line-height:1.45}.primary{border:1px solid var(--blue-deep);background:var(--blue-deep);color:#fff;letter-spacing:.01em;white-space:nowrap;border-radius:0;width:100%;min-height:49px;margin-top:16px;padding:12px 16px;font-size:14px;font-weight:800;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}.primary:disabled{color:#71818a;background:#ccd6d9;border-color:#b7c4c8}.button-help{color:var(--faint);text-align:center;margin:8px 3px 0;font-size:11px;line-height:1.45}.notice{border:1px solid var(--green);background:var(--green-soft);color:var(--green);border-radius:0;margin:10px 0 0;padding:10px 12px;font-size:12px;font-weight:650;line-height:1.45}.privacy{color:var(--faint);text-align:center;margin:12px 3px 0;font-size:11px;line-height:1.45}.preview{border-top:4px solid var(--blue);min-height:690px;padding:25px}.previewtop{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px;display:flex}.previewtop strong{border:1px solid var(--blue);background:var(--surface);min-width:79px;color:var(--blue-deep);font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;gap:2px;padding:8px 9px;font-size:12px;line-height:1.2;display:grid}.previewtop strong span{color:var(--faint);letter-spacing:.08em;font-size:9px;font-weight:700}.eyebrow{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;margin:0 0 4px;font-size:10px;font-weight:800}.previewtop h2{letter-spacing:-.045em;font-size:clamp(26px,3vw,33px)}.actual-size-callout{border:1px solid var(--signal);background:var(--signal-soft);border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:12px;margin-bottom:16px;padding:0;display:grid}.actual-size-callout>span{border-right:1px solid var(--signal);width:49px;min-height:49px;color:var(--signal-dark);font-family:var(--mono);place-items:center;font-size:13px;font-weight:800;display:grid}.actual-size-callout p{color:#6e3b2b;align-self:center;margin:0;padding:9px 10px 9px 0;font-size:12px;line-height:1.45}.actual-size-callout b{color:var(--signal-dark)}.mockwrap{border:1px solid var(--line-strong);background:var(--surface-muted);border-radius:0;place-items:center;min-height:430px;padding:34px;display:grid;position:relative;overflow:hidden}.mockwrap:before,.mockwrap:after{content:"";pointer-events:none;width:23px;height:23px;position:absolute}.mockwrap:before{border-top:1px solid var(--blue);border-inline-start:1px solid var(--blue);top:11px;left:11px}.mockwrap:after{border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);bottom:11px;right:11px}.poster{border:1px solid var(--blue-deep);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;width:min(100%,510px);max-height:430px;position:relative;overflow:hidden;box-shadow:8px 8px #215e7a33,0 13px 20px #173f5424}.gridlines{position:absolute;inset:0}.gridlines span{color:#fff;font-family:var(--mono);text-shadow:0 1px 2px #000c;background:#173f5421;border:1px dashed #ffffffeb;place-items:center;font-size:11px;font-weight:800;display:grid;position:absolute}.empty{max-width:290px;color:var(--faint);font-family:var(--mono);text-align:center}.empty div{border:1px solid var(--blue);width:54px;height:54px;color:var(--blue);margin:0 auto 15px;font-size:34px;line-height:50px}.empty strong{font-size:12px;line-height:1.55}.stats{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px;display:grid}.stats div{min-width:0;padding:12px 11px 12px 0}.stats div+div{border-inline-start:1px solid var(--line);padding-left:11px}.stats span,.stats strong{display:block}.stats span{color:var(--faint);font-family:var(--mono);letter-spacing:.055em;margin-bottom:5px;font-size:9px;font-weight:700}.stats strong{overflow-wrap:anywhere;color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.45}.assembly-copy{max-width:60ch;color:var(--muted);margin:18px 0 0;font-size:12px;line-height:1.6}.assembly-copy span{color:var(--blue);font-family:var(--mono);letter-spacing:.08em;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.how{border-top:1px solid var(--line-strong);margin-top:74px;padding-top:26px}.how h2{letter-spacing:-.055em;max-width:14ch;margin:16px 0 26px;font-size:clamp(29px,3.8vw,46px);line-height:1.02}.use-cases{grid-template-columns:1.2fr 1fr 1fr;gap:12px;display:grid}.use-cases article{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);align-content:start;min-height:178px;padding:20px;display:grid}.use-cases article:first-child{background:var(--blue-soft);border-color:var(--blue)}.case-index{color:var(--blue);font-family:var(--mono);margin-bottom:auto;font-size:11px;font-weight:800}.use-cases strong{letter-spacing:-.02em;margin-top:32px;font-size:17px;display:block}.use-cases article>span:last-child{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.55;display:block}.site-footer{border-top:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);justify-content:space-between;gap:18px;padding:23px 0 34px;font-size:11px;line-height:1.5;display:flex}.legal-shell{width:min(800px,100% - 48px);margin:0 auto;padding:42px 0 84px}.back-link{color:var(--blue-deep);font-family:var(--mono);letter-spacing:.04em;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:4px;text-transform:uppercase;margin-bottom:36px;font-size:11px;font-weight:700;display:inline-block}.legal-card{border:1px solid var(--line-strong);border-top:4px solid var(--blue);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:clamp(26px,5vw,52px)}.legal-card h1{letter-spacing:-.06em;text-wrap:balance;max-width:13ch;margin:0;font-size:clamp(36px,5vw,58px);line-height:1}.legal-lead{max-width:40em;color:var(--muted);margin:20px 0 0;font-size:17px;line-height:1.7}.legal-card section{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.legal-card h2{letter-spacing:-.025em;margin:0;font-size:19px}.legal-card section p,.legal-site{color:var(--muted);margin:9px 0 0;font-size:15px;line-height:1.7}.legal-site{color:var(--faint);font-family:var(--mono);font-size:11px}@media (hover:hover) and (pointer:fine){.site-header nav a:hover,.site-footer a:hover,.back-link:hover{color:var(--signal-dark)}.upload:hover{border-color:var(--blue-deep);color:var(--blue-deep);background:#cfe4eb}.clear-image:hover{border-color:var(--blue);color:var(--blue-deep)}.primary:not(:disabled):hover{border-color:var(--signal-dark);background:var(--signal)}}@media (max-width:900px){.toolbox{grid-template-columns:1fr}.controls{position:static}.preview{min-height:auto}.mockwrap{min-height:390px}.use-cases{grid-template-columns:1fr 1fr}.use-cases article:first-child{grid-column:span 2}}@media (max-width:640px){.site-header,.shell,.site-footer{width:min(100% - 28px,1240px)}.site-header{min-height:58px}.header-meta,.brand-version{display:none}.shell{padding-top:34px;padding-bottom:52px}.hero{margin-bottom:34px}.hero h1{font-size:clamp(38px,11.4vw,54px)}.hero-specs{grid-template-columns:1fr;max-width:100%}.hero-specs div,.hero-specs div+div{border-inline-start:0;padding:10px 0}.hero-specs div+div{border-top:1px solid var(--line)}.toolbox{gap:17px;padding-top:10px}.controls{padding:0 17px 18px}.panel-titlebar{margin:0 -17px 18px;padding:16px 17px 13px}.preview{padding:18px}.previewtop h2{font-size:26px}.previewtop strong{min-width:70px}.upload-row{grid-template-columns:1fr}.clear-image{min-height:42px}.mockwrap{min-height:300px;padding:24px}.stats{grid-template-columns:1fr}.stats div{padding:10px 0}.stats div+div{border-top:1px solid var(--line);border-inline-start:0;padding-left:0}.use-cases{grid-template-columns:1fr}.use-cases article:first-child{grid-column:auto}.use-cases article{min-height:145px}.use-cases strong{margin-top:24px}.site-footer{padding-bottom:calc(28px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start}.legal-shell{width:min(100% - 28px,800px);padding-top:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
