@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff) format("woff")}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202020;background:#fff;font-synthesis:none;--font-logo: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--ink: #202020;--green: #202020;--lime: #fff;--paper: #fff}*{box-sizing:border-box}html{min-width:320px;background:#fff}body{margin:0;min-width:320px;min-height:100vh;background:#fff}button,input{font:inherit;font-family:var(--font-mono)}button{border-radius:0!important;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #82a82d;outline-offset:3px}.brand-logo{position:fixed;top:12px;left:16px;z-index:30;margin:0;color:#202020;font-family:var(--font-logo);font-size:clamp(27px,2.4vw,36px);font-weight:800;line-height:.9;letter-spacing:-.075em;pointer-events:none}.brand-logo.is-hero{position:static;font-size:clamp(44px,7vw,80px);line-height:.82;letter-spacing:-.085em}.stage-ticker,.status-row,.connection-status,.photo-library-label,.library-purpose,.tool-section-label,.brush-control,.creative-options,.background-zoom,.inline-error,.pairing-copy p,.pairing-copy a,.pairing-refresh,.mobile-upload p,.mobile-upload small{font-family:var(--font-mono)}.test-shell{width:min(1220px,100%);min-height:100vh;margin:auto;padding:32px;display:flex;flex-direction:column;justify-content:center}.test-shell.collage-shell{width:100%;max-width:none;height:100vh;padding:0;overflow:hidden;justify-content:flex-start}.test-shell.library-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:center;gap:clamp(36px,6vw,76px)}main{max-width:1220px;margin:0 auto}.begin-screen{width:100%}.home-hero{width:min(1160px,100%);min-height:min(760px,calc(100svh - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(42px,7vw,104px);padding:48px 0 56px}.home-copy{min-width:0}.home-demo{width:100%;height:clamp(370px,34vw,500px);min-width:0;padding:12px 16px 12px 0;perspective:900px}.demo-canvas{position:relative;width:100%;height:100%;overflow:hidden;border:2px solid #202020;background:#f7f5ed;box-shadow:10px 10px #e9e5d8;transform:rotate(-1.5deg)}.demo-canvas:before{content:"";position:absolute;inset:0;opacity:.4;background-image:radial-gradient(#c9c3b3 .7px,transparent .7px);background-size:12px 12px}.demo-tape{position:absolute;z-index:5;width:74px;height:22px;background:#f0c83fb3}.demo-tape-one{top:15px;left:24px;transform:rotate(-12deg)}.demo-tape-two{right:30px;bottom:22px;transform:rotate(8deg);background:#78cbd1b8}.demo-shape{position:absolute;z-index:1;left:9%;top:12%;width:40%;height:65%;background:#ef5b2a;border:2px solid #202020;border-radius:50%;transform:rotate(8deg) scale(.2);opacity:0;animation:demo-shape 12s infinite}.demo-photo{position:absolute;z-index:2;display:grid;place-items:end start;width:32%;height:50%;padding:10px;border:2px solid #202020;color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:700;background:linear-gradient(145deg,#78cbd1 0 45%,#f0c83f 45% 68%,#ef5b2a 68%);box-shadow:5px 5px #20202029}.demo-photo span{padding:3px 5px;color:#202020;background:#fff}.demo-photo-one{left:34%;top:25%;transform:translate(-130%,12%) rotate(-14deg) scale(.75);opacity:0;animation:demo-photo-one 12s infinite}.demo-photo-two{left:48%;top:29%;transform:translate(75%,20%) rotate(14deg) scale(.65);opacity:0;animation:demo-photo-two 12s infinite}.demo-cutout{position:absolute;z-index:4;opacity:0;filter:drop-shadow(4px 5px 0 rgba(32,32,32,.2));pointer-events:none}.demo-cutout-person{left:56%;top:10%;width:22%;height:68%;background:#78cbd1;clip-path:polygon(36% 18%,64% 18%,74% 34%,100% 48%,82% 58%,70% 46%,74% 100%,26% 100%,30% 46%,18% 58%,0 48%,26% 34%);transform:translate(55%,12%) rotate(9deg) scale(.72);animation:demo-cutout-person 12s infinite}.demo-cutout-person:before{content:"";position:absolute;top:0;left:36%;width:28%;aspect-ratio:1;border-radius:50%;background:#f0c83f}.demo-cutout-person span{position:absolute;right:-22px;top:30%;padding:4px 6px;color:#fff;background:#202020;font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;transform:rotate(-9deg)}.demo-cutout-star{left:73%;top:62%;width:18%;aspect-ratio:1;background:#f0c83f;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);transform:translate(55%,20%) rotate(-12deg) scale(.45);animation:demo-cutout-star 12s infinite}.demo-caption{position:absolute;z-index:5;left:34%;top:43%;color:#202020;font-family:var(--font-logo);font-size:clamp(24px,4.5vw,46px);font-weight:800;line-height:.85;letter-spacing:-.07em;transform:rotate(-7deg) scale(.5);opacity:0;animation:demo-caption 12s infinite}.demo-cursor{position:absolute;z-index:8;left:13%;top:25%;width:20px;height:27px;opacity:0;animation:demo-cursor 12s infinite}.demo-cursor:before{content:"";position:absolute;width:13px;height:19px;border:2px solid #fff;background:#202020;clip-path:polygon(0 0,100% 65%,62% 67%,81% 100%,65% 100%,44% 70%,0 100%);transform:rotate(-20deg)}.demo-cursor i{position:absolute;top:21px;left:-4px;width:9px;height:9px;border:2px solid #202020;border-radius:50%;background:#f0c83f;animation:demo-click 12s infinite}@keyframes demo-shape{0%,17%{opacity:0;transform:rotate(8deg) scale(.2)}23%,88%{opacity:1;transform:rotate(8deg) scale(1)}96%,to{opacity:0;transform:rotate(8deg) scale(.2)}}@keyframes demo-photo-one{0%,6%{opacity:0;transform:translate(-130%,12%) rotate(-14deg) scale(.75)}12%,27%{opacity:1;transform:translate(-18%,12%) rotate(-14deg) scale(1)}34%,to{opacity:0;transform:translate(-18%,12%) rotate(-14deg) scale(.92)}}@keyframes demo-photo-two{0%,36%{opacity:0;transform:translate(75%,20%) rotate(14deg) scale(.65)}42%,56%{opacity:1;transform:translate(24%,20%) rotate(14deg) scale(1)}64%,to{opacity:0;transform:translate(24%,20%) rotate(14deg) scale(.92)}}@keyframes demo-caption{0%,62%{opacity:0;transform:rotate(-7deg) scale(.5)}69%,90%{opacity:1;transform:rotate(-7deg) scale(1)}97%,to{opacity:0;transform:rotate(-7deg) scale(.8)}}@keyframes demo-cutout-person{0%,20%{opacity:0;transform:translate(55%,12%) rotate(9deg) scale(.72)}29%,78%{opacity:1;transform:translate(0) rotate(9deg) scale(1)}89%,to{opacity:0;transform:translate(0) rotate(9deg) scale(.9)}}@keyframes demo-cutout-star{0%,42%{opacity:0;transform:translate(55%,20%) rotate(-12deg) scale(.45)}51%,78%{opacity:1;transform:translate(0) rotate(-12deg) scale(1)}89%,to{opacity:0;transform:translate(0) rotate(-12deg) scale(.85)}}@keyframes demo-cursor{0%,8%{opacity:0;transform:translate(0)}12%,26%{opacity:1;transform:translate(100px,20px)}29%,35%{opacity:1;transform:translate(180px,92px)}37%,56%{opacity:0;transform:translate(180px,92px)}60%,72%{opacity:1;transform:translate(290px,112px)}76%,90%{opacity:0;transform:translate(290px,112px)}to{opacity:0;transform:translate(0)}}@keyframes demo-click{0%,24%,to{transform:scale(1);opacity:.7}26%,62%{transform:scale(1.8);opacity:1}}.demo-ui{width:100%;height:100%;overflow:hidden;border:2px solid #202020;background:#fff;box-shadow:10px 10px #e9e5d8;transform:rotate(-1.5deg)}.demo-ui-topbar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:7px 9px;border-bottom:2px solid #202020;font-family:var(--font-mono);font-size:9px;font-weight:700}.demo-ui-button{display:inline-flex;min-height:25px;align-items:center;padding:4px 8px;border:1px solid #202020;color:#202020;background:#fff;font-family:var(--font-mono);font-size:9px;font-weight:700;white-space:nowrap}.demo-ui-export{color:#fff;background:#202020}.demo-canvas{height:calc(100% - 136px);border:0;box-shadow:none;transform:none}.demo-canvas:before{display:none}.demo-paper-grid{position:absolute;inset:0;background:#f7f5ed}.demo-selection{position:absolute;z-index:6;left:32%;top:24%;width:31%;height:49%;border:2px solid #202020;opacity:0;animation:demo-selection 12s infinite}.demo-handle{position:absolute;width:14px;height:14px;border:2px solid #fff;background:#252822}.demo-handle-top{top:-8px;left:calc(50% - 7px)}.demo-handle-bottom{right:-8px;bottom:-8px}.demo-handle-bottom:after{content:"";position:absolute;inset:3px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}.demo-ui-controls{position:relative;z-index:10;height:42px;display:flex;align-items:center;gap:5px;padding:6px 8px;border-top:2px solid #202020;font-family:var(--font-mono)}.demo-ui-tools{color:#fff;background:#202020}.demo-ui-spacer{flex:1}.demo-ui-tray{height:56px;display:flex;align-items:center;gap:6px;padding:6px 8px;border-top:2px solid #202020;background:#fff;font-family:var(--font-mono)}.demo-tray-add{width:46px;height:42px;border:0;color:#202020;background:#f1f1ef;font-size:26px;font-weight:300;line-height:1}.demo-thumb{width:50px;height:42px;border:1px solid #202020;background:linear-gradient(145deg,#78cbd1 0 45%,#f0c83f 45% 68%,#ef5b2a 68%)}.demo-thumb-two{background:linear-gradient(145deg,#e7a6bc 0 42%,#ef5b2a 42% 67%,#78cbd1 67%)}.demo-tray-status{margin-left:auto;color:#666;font-size:9px}@keyframes demo-selection{0%,62%{opacity:0;transform:rotate(-14deg) scale(.8)}69%,90%{opacity:1;transform:rotate(-14deg) scale(1)}97%,to{opacity:0;transform:rotate(-14deg) scale(.9)}}.home-intro{width:min(470px,100%);margin:clamp(22px,4vw,42px) 0 0;text-align:left}.home-intro h1{margin:0 0 16px;font-family:var(--font-logo);font-size:clamp(52px,6.2vw,88px);line-height:.84;letter-spacing:-.07em}.home-intro p{max-width:430px;margin:0 0 20px;color:#41453f;font-size:clamp(16px,1.55vw,20px);line-height:1.4}.home-seo{width:min(980px,100%);margin:20px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-seo article{padding:18px;border:2px solid #202020;text-align:left}.home-seo h2{margin:0 0 8px;font-size:17px}.home-seo p{margin:0;color:#5d635b;font-size:13px;line-height:1.45}.home-links{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 20px;padding:56px 0 28px;font-family:var(--font-mono);font-size:11px}.home-links a{color:#202020;text-underline-offset:3px}.begin-button{min-width:184px;min-height:58px;font-size:16px;transition:transform .15s,box-shadow .15s,background-color .15s}.trust-line{margin:11px 0 0!important;color:#666!important;font-family:var(--font-mono);font-size:11px!important;line-height:1.4!important}.begin-button:hover:not(:disabled){transform:translate(2px,2px);box-shadow:4px 4px #f0c83f}.begin-button:active:not(:disabled){transform:translate(1px,1px);box-shadow:2px 2px #f0c83f}.dev-reset-button{position:fixed;right:10px;bottom:10px;z-index:100;min-height:30px;padding:5px 8px;border:1px solid #c8c8c8;color:#686868;background:#ffffffeb;cursor:pointer;font-size:10px;font-weight:700}.dev-reset-button:disabled{cursor:wait;opacity:.55}.library-view{grid-column:1;grid-row:1;min-width:0}.photo-library{position:relative;width:100%;min-height:360px;padding:25px 20px 20px;border:2px solid #202020}.photo-library-label{position:absolute;top:-10px;left:14px;padding:0 7px;background:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.library-topbar{min-height:58px;display:flex;justify-content:flex-end;gap:8px}.library-purpose{align-self:center;margin-right:auto;font-size:14px;font-weight:700}.pairing-panel{grid-column:1 / -1;min-height:300px;display:flex;align-items:center;justify-content:center;gap:30px;padding:24px 0}.pairing-panel img{width:min(230px,42vw);height:auto;image-rendering:pixelated}.pairing-expanded{position:relative;width:100%}.pairing-panel.is-collapsed{min-height:0;justify-content:flex-end;padding:8px 0}.pairing-close{display:block;margin:0 auto;padding:0;border:0;color:#555;background:transparent;cursor:pointer;font-size:11px;text-decoration:underline}.pairing-copy{max-width:320px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.pairing-copy strong{font-size:19px}.pairing-copy p{margin:0;color:#666;font-size:13px;line-height:1.5}.pairing-copy a{color:#202020;font-size:11px}.pairing-refresh{padding:0;border:0;color:#202020;background:transparent;cursor:pointer;font-size:11px;text-decoration:underline}.connection-status{color:#666;font-size:12px}.connection-status.status-connected{color:#287239}.connection-status.status-error{color:#9a3028}.pairing-copy progress,.mobile-upload progress{width:100%;accent-color:#202020}.persistent-pairing{width:100%}.persistent-pairing.is-library{grid-column:2;grid-row:1;min-width:0}.persistent-pairing.is-library .pairing-panel{min-height:0;flex-direction:column;gap:14px;padding:0}.persistent-pairing.is-library .pairing-panel img{width:min(200px,100%)}.persistent-pairing.is-library .pairing-copy{align-items:center;gap:7px;text-align:center}.persistent-pairing.is-library .pairing-copy strong{max-width:230px;font-size:16px}.persistent-pairing.is-library .pairing-copy p,.persistent-pairing.is-library .pairing-copy a{display:none}.persistent-pairing.is-canvas{position:fixed;top:76px;right:12px;z-index:12;width:auto}.persistent-pairing.is-canvas .pairing-panel{min-height:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;padding:0}.persistent-pairing.is-canvas .pairing-expanded{width:auto}.persistent-pairing.is-canvas .pairing-panel img{width:92px}.persistent-pairing.is-canvas .pairing-copy{max-width:150px;align-items:center;gap:3px;text-align:center}.persistent-pairing.is-canvas .pairing-copy strong{font-size:12px}.persistent-pairing.is-canvas .pairing-copy p,.persistent-pairing.is-canvas .pairing-copy a{display:none}.persistent-pairing.is-canvas .connection-status{max-width:150px;font-size:10px}.photo-folder{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));align-content:start;gap:10px;padding-top:12px}.photo-folder.is-empty{grid-template-columns:minmax(130px,190px);justify-content:center}.photo-add{width:100%;min-width:0;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px;border:0;border-radius:0;color:#202020;background:#fff;cursor:pointer}.photo-add:hover{outline:2px solid #202020;outline-offset:-2px}.photo-add>span{font-size:42px;font-weight:300;line-height:.8}.photo-add strong{font-size:13px}.photo-add small{color:#666;font-size:10px;font-weight:500}.photo-entry{position:relative;min-width:0;aspect-ratio:1}.photo-thumbnail{width:100%;height:100%;padding:0;border:0;background:#f5f5f5;cursor:pointer;overflow:hidden}.photo-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.photo-delete{position:absolute;top:0;right:0;width:28px;height:28px;padding:0;border:0;color:#fff;background:#202020;cursor:pointer;font-size:19px}.mobile-upload{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.mobile-upload h1,.mobile-upload p{margin:0}.mobile-upload small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-button,.secondary-button{min-height:44px;padding:11px 19px;border:0;border-radius:0;cursor:pointer;font-weight:700;transition:transform .15s,opacity .15s,box-shadow .15s}.primary-button{color:#fff;background:var(--green);box-shadow:none}.primary-button:hover:not(:disabled),.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.4}.secondary-button{border:0;background:#f1f1ef;color:#4b5048}.secondary-button:disabled{cursor:not-allowed;opacity:.35;transform:none}.selection-screen{width:min(900px,100%);margin:auto}.selection-progress{min-height:64px;display:grid;place-items:center}.upload-screen{width:100%}.upload-screen>.toolbar{margin-top:12px}.cutout-editor{width:min(900px,100%);margin:auto}.editor-topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-topbar.is-refining{justify-content:center}.stage-ticker{color:#62675e;font-size:12px;font-weight:600}.editor-topbar .primary-button span{margin-left:12px}.back-button span{margin-right:7px}.cutout-editor .preview-panel{width:100%}.cutout-editor .checkerboard{height:min(72vh,720px)}.cutout-editor .preview-panel canvas{transition:filter .6s ease,opacity .6s ease,transform .6s ease}.cutout-editor .preview-panel.is-refining canvas{filter:blur(22px);opacity:.86;transform:scale(.94)}.cutout-editor .preview-panel.is-refining .checkerboard:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,#fff 0,rgba(255,255,255,.82) 3%,transparent 12%),linear-gradient(to top,#fff 0,rgba(255,255,255,.65) 3%,transparent 11%),linear-gradient(to right,#fff 0,transparent 9%),linear-gradient(to left,#fff 0,transparent 9%);pointer-events:none}.editor-tools{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}.editor-tool-section{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tool-section-label{margin-right:2px;color:#6b6b6b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.collage-workspace{position:relative;width:100%;height:100vh;display:grid;place-items:center;overflow:hidden}.collage-shell .brand-logo{inset:auto 16px 12px auto}.collage-shell .dev-reset-button{right:auto;left:10px}.collage-shell .brand-logo,.collage-shell .dev-reset-button,.collage-shell .persistent-pairing.is-canvas,.collage-shell .collage-topbar,.collage-shell .collage-controls,.collage-shell .cutout-tray,.collage-shell .transform-handle,.collage-shell .inline-error,.collage-shell .error-message{opacity:1;transition:opacity .35s ease}.collage-shell.is-canvas-idle .brand-logo,.collage-shell.is-canvas-idle .dev-reset-button,.collage-shell.is-canvas-idle .persistent-pairing.is-canvas,.collage-shell.is-canvas-idle .collage-topbar,.collage-shell.is-canvas-idle .collage-controls,.collage-shell.is-canvas-idle .cutout-tray,.collage-shell.is-canvas-idle .transform-handle,.collage-shell.is-canvas-idle .inline-error,.collage-shell.is-canvas-idle .error-message{opacity:0;pointer-events:none}.collage-shell.is-canvas-idle:has(.creative-menu,.background-menu) .collage-controls{opacity:1;pointer-events:none}.collage-shell.is-canvas-idle:has(.creative-menu,.background-menu) .collage-controls>*{pointer-events:auto}.collage-topbar,.collage-controls{position:absolute;left:0;right:0;z-index:10;width:100vw;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:transparent;pointer-events:none}.collage-topbar{top:0}.collage-topbar{z-index:20;justify-content:flex-end}.export-menu-wrap{position:relative;pointer-events:auto}.export-format-menu{position:absolute;top:calc(100% + 6px);right:0;width:100%;min-width:150px;display:grid;border:2px solid #202020;background:#fff}.export-format-menu button{min-height:42px;padding:9px 12px;border:0;background:#fff;color:#202020;cursor:pointer;text-align:left}.export-format-menu button+button{border-top:1px solid #202020}.export-format-menu button:hover{color:#fff;background:#202020}.square-export-actions{display:flex;gap:8px;pointer-events:auto}main:has(.collage-workspace.is-square-cropping) .brand-logo,main:has(.collage-workspace.is-square-cropping) .dev-reset-button,main:has(.collage-workspace.is-square-cropping) .persistent-pairing,.collage-workspace.is-square-cropping .collage-controls,.collage-workspace.is-square-cropping .cutout-tray{opacity:0!important;pointer-events:none!important}.collage-controls{bottom:82px}.collage-topbar>*,.collage-controls>*{pointer-events:auto}.toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.touch-control-label{display:none}.collage-controls .toolbar-group .secondary-button{border:2px solid #202020;background:#fff;color:#202020}.canvas-tool-triggers{display:flex;align-items:center;gap:8px;pointer-events:auto}.creative-tools{position:relative;display:flex;align-items:center;pointer-events:auto}.tools-trigger{min-width:92px;border:2px solid #202020;background:#fff;color:#202020}.tools-trigger.is-active{color:#fff;background:#202020}.creative-menu{position:absolute;left:0;bottom:calc(100% + 8px);min-width:max-content;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px;border:2px solid #202020;background:#fff}.creative-tool-buttons{display:flex;align-items:center;gap:8px}.creative-options{display:flex;align-items:center;gap:6px;white-space:nowrap}.creative-options>span{color:#666;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.creative-options>button,.custom-color{min-width:38px;height:38px;display:grid;place-items:center;padding:8px;border:1px solid #d7d7d4;background:#fffffff0;color:#202020;cursor:pointer;font-size:11px;font-weight:700;text-transform:capitalize}.creative-options>button.is-chosen{outline:2px solid #202020;outline-offset:1px}.text-options input{width:190px;height:38px;padding:8px 10px;border:1px solid #202020;border-radius:0;background:#fff;color:#202020;font-family:var(--font-mono);font-size:12px}.text-options .font-option.is-display{font-family:var(--font-logo);font-weight:800}.text-options .font-option.is-mono{font-family:var(--font-mono);font-weight:700}.text-options .font-option.is-serif{font-family:Georgia,serif;font-weight:700}.text-options .add-text-button{min-width:76px;background:#202020;color:#fff}.text-options .add-text-button:disabled{cursor:not-allowed;opacity:.38}.text-options .text-color-option{width:30px;min-width:30px;padding:0}.creative-options[aria-label="Fill options"]{gap:7px}.creative-options[aria-label="Fill options"]>.fill-swatch,.creative-options[aria-label="Fill options"]>.custom-color{flex:0 0 38px;width:38px;min-width:38px;height:38px;padding:0}.creative-options[aria-label="Fill options"]>.fill-original-option{min-width:82px;padding:8px 11px}.creative-options[aria-label="Fill options"]>.fill-photo-option{min-width:86px;display:flex;grid-template:none;align-items:center;justify-content:center;gap:7px;padding:7px 10px}.fill-photo-option svg{flex:0 0 17px;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}.background-tool{position:relative}.background-trigger{min-width:118px;border:2px solid #202020;background:#fff;color:#202020}.background-trigger.is-active{color:#fff;background:#202020}.background-menu{position:absolute;left:0;bottom:calc(100% + 8px);min-width:270px;display:flex;flex-direction:column;gap:8px;padding:8px;border:2px solid #202020;background:#fff}.background-option-row{display:flex;gap:6px}.background-option-row button{min-height:38px;padding:7px 10px;border:1px solid #d7d7d4;background:#fff;color:#202020;cursor:pointer;font-size:11px;font-weight:700}.background-option-row button.is-chosen{color:#fff;background:#202020}.background-zoom{display:flex;align-items:center;gap:9px;color:#555;font-size:11px;font-weight:700}.background-zoom input{flex:1;accent-color:#202020}.custom-color{position:relative;width:38px;padding:0;overflow:hidden}.custom-color:after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 2px #000;pointer-events:none}.custom-color input{width:52px;height:52px;padding:0;border:0;cursor:pointer;transform:translate(-7px,-7px)}.collage-stage{position:relative;isolation:isolate;width:100vw;height:100vh;overflow:hidden;background:#fff;-webkit-user-select:none;user-select:none}.collage-stage.is-positioning-background{cursor:grab;touch-action:none}.collage-stage.is-positioning-background:active{cursor:grabbing}.collage-stage.is-square-cropping .collage-layer{pointer-events:none}.square-crop-selection{position:absolute;z-index:10000;border:2px solid #fff;outline:2px solid #202020;box-shadow:0 0 0 100vmax #ffffffb8;cursor:move;touch-action:none}.square-crop-selection>span{position:absolute;top:8px;left:8px;padding:5px 7px;color:#fff;background:#202020;font-family:var(--font-mono);font-size:10px;font-weight:700;pointer-events:none}.square-crop-resize{position:absolute;right:-10px;bottom:-10px;width:22px;height:22px;padding:0;border:2px solid #fff;outline:2px solid #202020;background:#202020;cursor:nwse-resize;touch-action:none}.collage-background{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none}.collage-layer{position:absolute;z-index:1;touch-action:none;cursor:move;transform-origin:center}.collage-layer canvas{display:block;width:100%;height:100%;pointer-events:none}.collage-layer.is-selected{outline:0}.transform-handle{position:absolute;z-index:2;width:28px;height:28px;display:grid;place-items:center;padding:4px;border:2px solid #fff;background:#252822;color:#fff;box-shadow:none;touch-action:none}.transform-handle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none}.resize-handle{right:-14px;bottom:-14px;cursor:nwse-resize}.rotate-handle{top:-40px;left:calc(50% - 14px);cursor:grab}.cutout-tray{position:absolute;left:0;right:0;bottom:0;z-index:10;width:100vw;min-height:82px;display:flex;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto;border:2px solid #202020;background:#fff;pointer-events:none}.tray-item{flex:0 0 auto;width:88px;height:68px;padding:0;border:0;background:transparent;cursor:copy;pointer-events:auto}.tray-entry.is-selected .tray-item{outline:3px solid #202020;outline-offset:-3px}.tray-item canvas{display:block;width:100%;height:100%}.background-thumbnail{position:relative;flex:0 0 auto;width:104px;height:68px;padding:0 14px 0 0;border:0;border-right:2px solid #202020;background:#fff;cursor:pointer;pointer-events:auto;overflow:hidden}.background-thumbnail canvas{display:block;width:88px;height:68px}.background-thumbnail span{position:absolute;left:0;bottom:0;width:88px;padding:3px 4px;color:#fff;background:#202020d1;font-size:9px;font-weight:700;text-align:center}.tray-entry{position:relative;flex:0 0 auto;width:88px;height:68px;pointer-events:auto}.tray-add{flex:0 0 auto;width:112px;height:68px;display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 8px;border:0;color:#202020;background:#ffffffe6;cursor:pointer;pointer-events:auto}.tray-add:hover{background:#f1f1ef}.tray-add-icon{font-family:sans-serif;font-size:28px;font-weight:300;line-height:1}.tray-add-label{font-family:var(--font-mono);font-size:11px;font-weight:700}.tray-add.is-inviting{animation:invite-add 2.2s ease-in-out infinite;will-change:transform}@keyframes invite-add{0%,55%,to{transform:translateY(0) scale(1)}66%{transform:translateY(-9px) scale(1.05)}76%{transform:translateY(0) scale(1)}84%{transform:translateY(-4px) scale(1.02)}91%{transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.tray-add.is-inviting{animation:none}}.tray-delete{position:absolute;top:-6px;right:-6px;z-index:2;width:22px;height:22px;padding:0;border:0;color:#fff;background:#202020;cursor:pointer;font-size:17px;line-height:1}.tray-select{position:absolute;right:-6px;bottom:-6px;z-index:2;width:22px;height:22px;display:grid;place-items:center;padding:3px;border:0;color:#fff;background:#202020;cursor:pointer}.tray-select svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}.tray-select[aria-pressed=true]{color:#202020;background:#fff;outline:2px solid #202020;outline-offset:-2px}.inline-error{position:absolute;z-index:11;left:14px;bottom:158px;margin:0;color:#8f332b;font-size:12px}.preview-panel{min-width:0;padding:0;background:#fff}.editor-wrap{position:relative}.editor-wrap canvas{transition:filter .6s ease,opacity .6s ease,transform .6s ease}.editor-wrap.is-processing canvas{filter:blur(22px);opacity:.86;transform:scale(.94)}.editor-wrap.is-processing:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,#fff 0,rgba(255,255,255,.78) 3%,transparent 12%),linear-gradient(to top,#fff 0,rgba(255,255,255,.62) 3%,transparent 11%),linear-gradient(to right,#fff 0,transparent 9%),linear-gradient(to left,#fff 0,transparent 9%);pointer-events:none}.editor-canvas-shell{position:relative;width:100%;height:clamp(350px,45vw,570px);overflow:hidden;border-radius:0;background:#fff;touch-action:manipulation}.editor-canvas-shell canvas{width:100%;height:100%;cursor:crosshair}.selection-marker{position:absolute;z-index:2;width:30px;height:30px;margin:-15px 0 0 -15px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#d8f56d99;box-shadow:0 2px 8px #0000004d;pointer-events:none}.selection-marker i{width:7px;height:7px;border-radius:50%;background:var(--green)}.checkerboard{position:relative;height:clamp(350px,45vw,570px);overflow:hidden;border-radius:0;background:#fff}.checkerboard canvas{width:100%;height:100%}.checkerboard.eraser-active canvas{cursor:none;touch-action:none}.eraser-cursor{position:absolute;z-index:3;border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #000000b3;transform:translate(-50%,-50%);pointer-events:none}.eraser-cursor.is-square,.eraser-cursor.is-line{border-radius:0}.eraser-cursor.is-star{border:0;border-radius:0;background:#ffffff47;box-shadow:none;filter:drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #fff);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%)}.preview-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#777b72;text-align:center}.preview-empty span{font-size:27px;color:#999e91}.preview-empty p{font-size:12px}.status-row{display:flex;justify-content:center;align-items:center;gap:8px;min-height:38px;color:#62675e;font-size:11px}.status-dot{width:7px;height:7px;border-radius:50%;background:#85907d}.status-complete,.status-ready{background:#608c48}.status-processing,.status-loading{background:#d29d3e}.status-error{background:#aa493d}.toolbar{display:flex;justify-content:center;gap:10px}.secondary-button.is-active{color:#fff;background:var(--green)}.brush-control{display:flex;align-items:center;gap:9px;color:#62675e;font-size:11px;font-weight:600}.brush-control input{width:130px;accent-color:var(--green);cursor:pointer}.eraser-shapes{display:flex;gap:8px;flex-wrap:wrap}.error-message{display:flex;align-items:center;gap:12px;width:min(760px,100%);margin:0 auto 16px;padding:13px 16px;color:#782d28;border:0;border-radius:0;background:#fff1ef}.error-message span{display:grid;place-items:center;flex:none;width:22px;height:22px;color:#fff;background:#a6473e;border-radius:50%;font-weight:800}.error-message p{margin:0;font-size:13px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:880px){.home-hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:34px 0 48px}.home-copy{width:min(620px,100%);margin:0 auto}.brand-logo.is-hero{font-size:clamp(48px,11vw,76px)}.home-intro{margin-top:28px}.home-demo{width:min(680px,100%);height:clamp(360px,58vw,480px);margin:44px auto 0;padding-right:12px}.home-seo{margin-top:0}}@media(max-width:760px){.test-shell{padding:14px}.test-shell.collage-shell{padding:0}.test-shell.library-shell{display:flex;flex-direction:column;justify-content:center;gap:24px}.home-hero{min-height:82svh;gap:0;padding:24px 0 42px}.home-intro h1{font-size:clamp(48px,15vw,70px)}.home-intro p{font-size:16px}.home-demo{height:300px;margin-top:36px;padding:8px 8px 8px 0;overflow:hidden}.demo-ui-controls{overflow:hidden}.demo-ui-controls .demo-ui-button:nth-last-of-type(-n+2){display:none}.demo-cursor{transform-origin:top left}.home-seo{grid-template-columns:1fr}.library-view{order:1;width:100%}.persistent-pairing.is-library{order:2;width:100%}.photo-library{min-height:280px;padding:22px 12px 12px}.editor-canvas-shell,.checkerboard{height:min(110vw,480px)}.toolbar{flex-wrap:wrap}.editor-tools{align-items:flex-start;flex-direction:column}.collage-topbar,.collage-controls{min-height:auto;align-items:stretch;flex-direction:column;padding:8px}.collage-topbar>.primary-button{width:100%}.collage-controls{bottom:82px}.toolbar-group{justify-content:center}.creative-tools{width:100%;justify-content:flex-start}.canvas-tool-triggers{width:100%}.creative-menu{left:0;max-width:calc(100vw - 16px);min-width:0;overflow-x:auto}.creative-tool-buttons{width:max-content;overflow-x:visible}.creative-tool-buttons .secondary-button{flex:1 0 auto}.creative-options{width:max-content;max-width:none;overflow-x:visible}.background-menu{left:auto;right:0;max-width:calc(100vw - 16px)}.pairing-panel{flex-direction:column;gap:16px}.pairing-copy{align-items:center;text-align:center}.library-topbar{flex-wrap:wrap}}@media(max-width:760px),(pointer:coarse){html,body,#root{height:100%;overflow:hidden}.test-shell.collage-shell,.collage-workspace,.collage-stage{height:100dvh;min-height:100svh}.collage-shell .persistent-pairing.is-canvas,.collage-shell .brand-logo{display:none}.collage-topbar{top:env(safe-area-inset-top,0px);right:0;left:auto;width:auto;min-height:0;padding:8px max(8px,env(safe-area-inset-right,0px));align-items:center;flex-direction:row}.collage-topbar>.primary-button,.collage-topbar .primary-button{width:auto;min-height:42px;padding:9px 13px;font-size:12px}.export-format-menu{min-width:138px}.collage-controls{right:0;bottom:calc(66px + env(safe-area-inset-bottom,0px));width:100%;min-height:54px;padding:5px max(8px,env(safe-area-inset-right,0px)) 5px max(8px,env(safe-area-inset-left,0px));align-items:center;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));justify-content:stretch;flex-direction:row;gap:5px;overflow-x:hidden;overflow-y:visible;border-top:2px solid #202020;background:#fffffff5;scrollbar-width:none;-webkit-overflow-scrolling:touch}.collage-controls::-webkit-scrollbar,.cutout-tray::-webkit-scrollbar{display:none}.collage-controls:has(.creative-menu,.background-menu){overflow:visible}.canvas-tool-triggers,.creative-tools,.toolbar-group{display:contents}.background-tool{min-width:0}.tools-trigger,.background-trigger,.collage-controls .toolbar-group .secondary-button{width:100%;min-width:0;min-height:42px;padding:8px 5px;font-size:11px;white-space:nowrap}.desktop-control-label{display:none}.touch-control-label{display:inline}.collage-controls .toolbar-group .secondary-button:last-child .touch-control-label{font-size:20px;line-height:1}.creative-menu{position:fixed;right:8px;bottom:calc(124px + env(safe-area-inset-bottom,0px));left:8px;width:auto;max-width:none;max-height:min(44dvh,330px);min-width:0;padding:8px;overflow:auto;overscroll-behavior:contain;box-shadow:0 -5px #20202014}.creative-tool-buttons,.creative-options{width:max-content;min-width:100%}.creative-tool-buttons{gap:6px}.creative-tool-buttons .secondary-button{min-height:40px;padding:8px 11px;font-size:11px}.text-options input{width:min(190px,55vw)}.background-menu{position:fixed;right:8px;bottom:calc(124px + env(safe-area-inset-bottom,0px));left:8px;width:auto;max-width:none;min-width:0;box-shadow:0 -5px #20202014}.cutout-tray{min-height:66px;height:calc(66px + env(safe-area-inset-bottom,0px));gap:7px;padding:6px max(10px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));border-width:2px 0 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tray-add{width:88px;height:52px;gap:5px}.tray-add-icon{font-size:24px}.tray-add-label{font-size:10px}.tray-entry,.tray-item{width:68px;height:52px}.background-thumbnail{width:82px;height:52px;padding-right:12px}.background-thumbnail canvas,.background-thumbnail span{width:68px;height:52px}.background-thumbnail span{height:auto}.tray-delete,.tray-select{width:28px;height:28px}.tray-delete{top:-4px;right:-4px}.tray-select{right:-4px;bottom:-4px}.transform-handle{width:38px;height:38px;padding:7px}.resize-handle{right:-19px;bottom:-19px}.rotate-handle{top:-50px;left:calc(50% - 19px)}.inline-error{bottom:calc(132px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.home-demo.is-page-hidden *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.home-demo .demo-shape{animation:none;opacity:1;transform:rotate(8deg) scale(1)}.home-demo .demo-photo{animation:none;opacity:0}.home-demo .demo-cutout-person{animation:none;opacity:1;transform:translate(0) rotate(9deg) scale(1)}.home-demo .demo-cutout-star{animation:none;opacity:1;transform:translate(0) rotate(-12deg) scale(1)}.home-demo .demo-caption{animation:none;opacity:1;transform:rotate(-7deg) scale(1)}.home-demo .demo-selection{animation:none;opacity:1;transform:rotate(-14deg) scale(1)}.home-demo .demo-cursor{animation:none;opacity:0}}
