@font-face{font-family:Familjen Grotesk;src:url(/assets/familjen-grotesk-latin-700-normal-DP3KK2u2.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg: #F5F3EF;--ink: #1E1B16;--sub: #6B6459;--line: #E3DED6;--panel: #FFFFFF;--accent: #C4622D;--nail: #E5251B;--sys: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sys);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.shell{min-height:100%;display:flex;flex-direction:column}.shell:has(.retrieve){height:100vh;height:100svh;min-height:0}.bar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--bg)}.bar-side{flex:1;display:flex;min-width:0;align-items:center}.bar-side.end{justify-content:flex-end}.lang{position:relative;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:9px;font-size:13px;font-weight:700;color:var(--sub);transition:background-color .12s ease,color .12s ease}.lang:hover,.lang:focus-within{background:#f1ede6;color:var(--ink)}.lang-code{min-width:1.7em;text-align:center;letter-spacing:.02em}.lang svg{width:14px;height:14px}.lang-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent}.broke{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 24px;text-align:center}.broke h1{margin:0;font-size:20px;letter-spacing:-.01em}.broke p{margin:0;max-width:30em;color:var(--sub);font-size:15px;line-height:1.55}.broke p b{color:var(--ink)}.broke-say{font-size:14px}.say{font-size:13px;font-weight:600;color:var(--sub);text-decoration:none;padding:6px 8px;border-radius:8px}.say:hover{background:#f1ede6;color:var(--ink);text-decoration:none}.say-line{margin:18px 0 0;text-align:center}.say-line .say{display:inline-flex;align-items:center;gap:7px;color:var(--sub);font-size:14px;font-weight:600}.say-line .say:hover{color:var(--accent);background:transparent}.say-line .say svg{width:17px;height:17px}.corner-say{position:fixed;left:18px;bottom:16px;z-index:5;background:var(--panel);border:1px solid var(--line);box-shadow:0 2px 10px #1e1b161a;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--sub);text-decoration:none;padding:8px 10px;border-radius:9px}.corner-say:hover{background:#f1ede6;color:var(--ink);text-decoration:none}.corner-say svg{width:17px;height:17px}.mark{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:10px;font-family:"Familjen Grotesk",var(--sys);font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--accent)}.mark img{display:block;width:32px;height:32px;border-radius:7px}.status{font-family:var(--mono);font-size:12px;color:var(--sub)}.status .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:baseline;background:var(--sub)}.status.up .dot{background:#2e7d32}.status.down .dot{background:var(--nail)}.fault{position:sticky;top:0;z-index:60;background:#fdecea;border-bottom:1px solid #F3C6C1;color:#8a2018;padding:11px 22px;font-size:14px}.fault b{font-weight:700}.work{flex:1;display:flex;min-height:0}.canvas{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 22px;min-width:0}.canvas-empty{max-width:34em;text-align:center}.canvas-empty h1{font-size:20px;margin:0 0 8px;letter-spacing:-.01em}.canvas-empty p{margin:0;color:var(--sub)}.measure{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;max-width:900px;gap:12px}.measure-head{display:flex;align-items:flex-start;gap:10px}.measure-head-text{flex:1;min-width:0}.measure-head h1{font-size:19px;margin:0 0 3px;letter-spacing:-.01em}.measure-head p{margin:0;font-size:14px;color:var(--sub)}.measure-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:var(--sub);flex:none;width:40px;height:40px;margin:-6px -8px 0 0;border-radius:10px;display:flex;align-items:center;justify-content:center}.measure-close:hover,.measure-close:active{background:#f1ede6;color:var(--ink)}.measure-photo{position:relative;flex:1;min-height:0;border-radius:12px;background:#17140f;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.measure-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block}.measure-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#b9b1a5;font-size:14px}.handle-hit{position:absolute;width:74px;height:74px;margin-left:-37px;margin-top:-37px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.handle-hit:active{cursor:grabbing}.handle{position:absolute;left:50%;top:50%;border-width:3px;border-style:solid;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000059}.handle-core{width:6px;height:6px;border-radius:3px}.segment{position:absolute;pointer-events:none}.loupe{position:absolute;border-radius:50%;border:3px solid #fff;overflow:hidden;pointer-events:none;box-shadow:0 6px 20px #0006;background:#17140f}.loupe-x-v{position:absolute;left:50%;top:35%;width:1px;height:30%;background:#ffffffd9}.loupe-x-h{position:absolute;top:50%;left:35%;height:1px;width:30%;background:#ffffffd9}.loupe-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:#fff;background:#0000008c;padding:2px 7px;border-radius:999px;white-space:nowrap}.measure-controls{display:flex;flex-direction:column;gap:11px}.modes{display:flex;gap:7px}.mode{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:14px;font-weight:600;padding:8px 15px;border-radius:10px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--sub)}.mode.on{border-color:var(--accent);background:#fbf2ec;color:var(--accent)}.dims{display:flex;gap:10px}.dim{display:flex;align-items:baseline;gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 12px}.dim:focus-within{border-color:var(--accent)}.dim:has(input[aria-invalid=true]){border-color:var(--nail);background:#fdf1f0}.dim input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;font:inherit;font-size:16px;font-weight:700;width:5.5em;background:transparent;color:var(--ink)}.dim span{font-size:13px;color:var(--sub);white-space:nowrap}.readout{margin:0;font-size:15px;font-weight:700;color:var(--accent);min-height:1.5em}.readout.waiting{color:var(--sub);font-weight:600}.publish{max-width:620px}.published{max-width:560px}.published .measure-head{align-items:center}.published .head-side{flex:none;width:40px;align-self:stretch;display:flex;align-items:center}.published .head-side.right{justify-content:flex-end}.published .measure-close{margin:0}.published .pub-pill{align-self:center}.published .pub-note{text-align:center}.retrieve{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:460px;margin:0 auto;padding:8px 14px 0}.retrieve-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center}.retrieve h1{font-size:24px;margin:8px 0 0;letter-spacing:-.015em;line-height:1.2}.retrieve-lead{margin:0;color:var(--sub);font-size:15px;line-height:1.5}.retrieve .framed{margin:6px auto 2px;max-width:260px}.retrieve .imported{align-self:center}.retrieve-title{font-size:18px;margin:0}.retrieve .pub-note{text-align:center}.retrieve .info-table{text-align:left}.set-art{display:block;align-self:center;width:min(100%,200px);height:auto;aspect-ratio:1 / 1;border-radius:16px;margin:2px 0;object-fit:cover}.set-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.set-chip{font-size:14px;font-weight:600;color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 14px;font-variant-numeric:tabular-nums}.set-chip.lead{color:var(--accent);border-color:#c2673c59;background:#fbf2ec}.retrieve-foot{padding:16px 0 10px;display:flex;flex-direction:column;gap:10px}.retrieve-foot .btn{justify-content:center}.retrieve-count{align-self:center;display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:3px}.count-less,.count-more{width:44px;height:44px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);font:400 20px/1 var(--sys);cursor:pointer}.count-less:hover,.count-more:hover{background:var(--bg)}.count-num{min-width:34px;text-align:center;font:600 17px/1 var(--sys);color:var(--ink);font-variant-numeric:tabular-nums}.retrieve-note{margin:2px 0 0;text-align:center;font-size:13px;color:var(--sub)}.framed{position:relative;width:100%;max-width:340px;margin:4px auto 0;border-radius:6px;filter:drop-shadow(0 10px 24px rgba(30,27,22,.18))}.pub-body>.framed-slot{flex:1 1 auto;min-height:150px;display:flex;align-items:center;justify-content:center;position:relative}.framed-slot .framed{margin:0;width:100%;height:auto;max-width:min(100%,340px);max-height:100%}.framed-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block}.framed-img.blank{background:#ede9e2;border-radius:6px}.fill-target{position:absolute;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box;background:var(--bg)}.fill-say{font-size:16px;font-weight:600;color:var(--sub);text-align:center;line-height:1.3}.fill-target:hover{background-image:linear-gradient(#c4622d1a,#c4622d1a)}.fill-target:focus-within{outline:2px solid var(--accent);outline-offset:2px}.frame-fab{position:absolute;right:0;bottom:0;min-width:52px;height:52px;border-radius:26px;padding:0 20px 0 16px;gap:10px;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font:600 16px/1 var(--sys);box-shadow:0 3px 12px #1e1b1642}.frame-fab:hover{filter:brightness(1.06)}.frame-fab svg{width:24px;height:24px;flex:0 0 auto}.frame-fab-say{white-space:nowrap}.orient{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:#fff;box-shadow:0 3px 12px #1e1b1642}.orient button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;background:transparent;color:var(--sub);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center}.orient button svg{width:22px;height:22px}.orient button:hover{color:var(--ink)}.orient button.on{background:#fbf2ec;color:var(--accent)}.orient button:disabled{opacity:.5;cursor:default}.gallery-head{min-height:46px}.gallery-head h1{flex:1;min-width:0}.gallery-head .link-btn{min-height:44px;display:inline-flex;align-items:center}.imported{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:#f7e9e0;border-radius:999px;padding:6px 12px 6px 10px}.imported svg{width:16px;height:16px}.pub-pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--accent);background:#f7e9e0;border-radius:999px;padding:7px 14px 7px 11px;text-decoration:none;max-width:100%;min-width:0}.pub-pill svg{width:16px;height:16px;flex:none}.pill-host{text-decoration:underline;overflow-wrap:anywhere}a.pub-pill:hover .pill-host{text-decoration-thickness:2px}.info-table{border:0;border-radius:12px;background:var(--panel);overflow:hidden}.info-row{display:flex;align-items:baseline;gap:14px;padding:11px 14px;border-top:1px solid var(--line)}.info-row:first-child{border-top:0}.info-key{font-size:14px;color:var(--sub);width:5.5em;flex:none}.info-val{font-size:14px;font-weight:700;min-width:0;overflow-wrap:anywhere}.info-val a{color:var(--accent)}.info-val em{font-weight:500;color:var(--sub);font-style:normal}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.pub-row em{font-weight:500;font-style:normal;color:var(--sub)}.pub-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:2px 2px 4px}.pub-body>*,.retrieve-body>*{flex:none}.pub-row{display:flex;flex-direction:column;gap:7px}.pub-row>span{font-size:14px;font-weight:700;color:var(--ink)}.pub-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:11px 13px;width:100%;box-sizing:border-box;resize:vertical}.pub-input:focus{outline:0;border-color:var(--accent)}.pub-note{margin:0;font-size:13px;color:var(--sub);line-height:1.45}.pub-summary{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:10px 12px}.pub-summary .card-thumb{width:54px;height:54px;flex:none}.pub-summary-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pub-summary-text b{font-size:16px}.pub-summary-text span{font-size:13px;color:var(--sub)}.sharable{max-width:620px}.sharable-head{align-items:center;gap:6px}.sharable-head .spacer{flex:1}.link-btn.danger{color:#b4462f}.link-btn.strong{font-weight:700;color:var(--accent)}.link-btn:disabled{opacity:.4;cursor:default}.sharable .pub-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#0000000f;padding:1px 5px;border-radius:4px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font:inherit;font-size:14px;cursor:pointer;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);padding:8px 14px}.chip:hover{background:#f1ede6}.chip.on{background:#fbf2ec;border-color:var(--accent);color:var(--accent);font-weight:600}.measure-actions{display:flex;gap:9px;justify-content:flex-end}.btn.ghost:hover{background:#f1ede6}.canvas{align-items:stretch;padding:20px 22px}.canvas>.canvas-empty{margin:auto}.editor-back{padding:32px}.editor{display:flex;flex-direction:column;min-height:0;width:min(1040px,100%);height:min(880px,100%);gap:12px;padding:18px 20px 20px;background:var(--bg);border-radius:16px;box-shadow:0 24px 60px #1e1b164d;overflow:hidden;overscroll-behavior:contain}.editor .measure{max-width:none}.front-drop{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;border:2px dashed var(--line);border-radius:14px;padding:32px;transition:border-color .12s ease,background .12s ease}.front-drop.over{border-color:var(--accent);background:#fbf2ec}.drop-art{width:240px;height:240px;display:block;border-radius:16px}.empty-art{width:200px;height:200px;display:block;border-radius:16px;margin:0 auto 4px}.front-drop h2{margin:0;font-size:19px}.front-drop p{margin:0;color:var(--sub);max-width:34em}.on-wall{flex:none;width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.arrange{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;gap:12px}.wall{position:relative;flex:1;min-height:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.wall-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:15px;text-align:center;padding:24px}.hole{position:absolute;border:1px dashed #DED8CE;border-radius:2px}.drop-target{position:absolute;border:2px solid var(--accent);background:#c4622d17;border-radius:3px;pointer-events:none;z-index:4}.wall-frame{position:absolute;cursor:grab;box-shadow:0 2px 8px #1e1b1629;background:#ede9e2;overflow:visible}.wall-frame img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.wall-frame-blank{width:100%;height:100%;background:#e3ded6}.wall-frame.lifting{cursor:grabbing;z-index:5;opacity:.82;box-shadow:0 10px 26px #1e1b164d}.wall-x{position:absolute;top:-9px;right:-9px;width:20px;height:20px;border-radius:50%;border:0;cursor:pointer;padding:0;background:var(--panel);color:var(--sub);box-shadow:0 1px 4px #1e1b1647;font-size:14px;line-height:18px;opacity:0;transition:opacity .12s ease}.wall-frame:hover .wall-x{opacity:1}.wall-x:hover{color:var(--nail)}.nail{position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3.5px;margin-top:-3.5px;box-shadow:0 0 0 1.5px #ffffffe6;pointer-events:none;z-index:6}.arrange{flex-direction:row;gap:16px}.wall{flex:1;min-width:0}.rail{width:208px;flex:none;display:flex;flex-direction:column;gap:18px;padding:4px 2px;overflow-y:auto}.rail-group{display:flex;flex-direction:column;gap:8px}.rail-group.off{opacity:.4}.rail-heading{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--sub)}.rail-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rail-row.off{opacity:.4}.rail-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--sub)}.rail-label svg{color:var(--sub);flex:none}.rail-value{font-size:13px;font-variant-numeric:tabular-nums}.seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:13px;padding:8px 10px;background:var(--panel);color:var(--sub);border-left:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:7px}.seg button:first-child{border-left:0}.seg button.on{background:#fbf2ec;color:var(--accent)}.seg button:disabled{opacity:.4;cursor:default}.seg.wide button{flex:1}.seg.icons button{flex:1;padding:9px 0}.stepper{display:flex;align-items:center;gap:5px}.stepper b{min-width:1.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:13px}.stepper button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:15px;line-height:1;padding:0}.stepper button:disabled{opacity:.35;cursor:default}.rail-slider{width:100%;accent-color:var(--accent)}.rail-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--sub)}.rail-foot b{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}.btn.tight{padding:6px 12px;font-size:13px}.nail.lifting{z-index:7}.rail-tidy{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13px;font-weight:600;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--sub)}.rail-tidy:hover{border-color:var(--accent);color:var(--accent)}.gallery{flex:1;min-width:0;display:flex;flex-direction:column;padding:22px 26px 0;overflow:hidden}.gtabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 18px}.gtab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;font:inherit;font-size:16px;font-weight:700;cursor:pointer;color:var(--sub);margin-bottom:-1px;padding:12px 2px;min-height:44px;box-sizing:border-box;border:0;border-bottom:2px solid transparent;display:flex;align-items:baseline;gap:8px}.gtab:hover{color:var(--ink)}.gtab.on{color:var(--accent);border-bottom-color:var(--accent)}.gtab-count{font-weight:600;font-size:14px;opacity:.85}.gallery-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.gallery-head h1{font-size:19px;margin:0 0 2px;font-weight:600;letter-spacing:-.01em}.gallery-head h1 b{font-weight:800}.gallery-head p{margin:0;color:var(--sub);font-size:14px}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--accent);cursor:pointer;padding:4px 6px;border-radius:7px;margin-left:auto}.link-btn:hover{background:#fbf2ec}.cards{list-style:none;margin:0;padding:0 0 20px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));overflow-y:auto;flex:1;align-content:start}.card{position:relative;--card-inset: 13px}.card-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;font:inherit;text-align:center;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:12px 12px 10px;display:flex;flex-direction:column;gap:9px;transition:border-color .12s ease,box-shadow .12s ease}.card-pick:hover{border-color:var(--accent)}.card.on .card-pick{border-color:var(--accent);box-shadow:0 0 0 2px #c4622d38;background:var(--accent)}.card.on .card-thumb{background:#a9531f}.card-thumb{position:relative;display:block;aspect-ratio:1 / 1;width:100%;background:#f1ede6;border-radius:9px;overflow:hidden}.card-img{width:100%;height:100%;object-fit:contain;display:block}.card-img.blank{background:#ede9e2;position:static}.card-tick{position:absolute;top:7px;right:7px;z-index:2;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.card-dims{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums}.card.on .card-dims{color:#fff;font-weight:600}.card.on .card-tick{background:#fff;color:var(--accent)}.card-tools{position:absolute;left:var(--card-inset);right:var(--card-inset);top:var(--card-inset);aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:9px;background:#1e1b1600;opacity:0;pointer-events:none;transition:opacity .12s ease,background-color .12s ease}@media(hover:hover){.card:hover .card-tools,.card:focus-within .card-tools{opacity:1;background:#1e1b1657}}.card-tools.shown{opacity:1;background:#1e1b1657}.card-tools button{pointer-events:none}.card-tools.shown button{pointer-events:auto}@media(hover:hover){.card:hover .card-tools button,.card:focus-within .card-tools button{pointer-events:auto}}.card-tools.solo button{pointer-events:auto}.card-tools.solo{left:auto;top:auto;aspect-ratio:auto;right:calc(var(--card-inset) + 6px);bottom:calc(var(--card-inset) + 34px);background:none}.card-tools.solo button{width:44px;height:44px}.card-tools button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:56px;height:56px;padding:0;border-radius:50%;border:0;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #1e1b1638}.card-tools button svg{width:22px;height:22px}.card-tools button.danger{color:var(--nail)}.card-tools button:hover{color:var(--accent)}.card-tools button.danger:hover{color:var(--nail);background:#fff1f0}.card-from{display:inline-flex;color:var(--sub)}.card.on .card-from{color:#ffffffd1}.card-from svg{width:14px;height:14px}.head-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--sub);display:flex;align-items:center;justify-content:center;flex:none}.head-action:hover{background:#f1ede6;color:var(--ink)}.head-action svg{width:22px;height:22px}.gallery-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px}.gallery-empty h2{margin:0;font-size:21px}.gallery-empty p{margin:0;color:var(--sub);max-width:34em}.gallery-bar{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);background:var(--bg)}.gallery-bar .spacer{flex:1}.gallery-bar.verbs{flex-direction:column;align-items:stretch;gap:10px}.gallery-bar.verbs .btn{justify-content:center;width:100%}.gallery-edit,.gallery-deselect,.gallery-done{white-space:nowrap}.gallery-note{margin:0 0 12px;font-size:13px;color:var(--sub);text-align:right}.btn{display:inline-flex;align-items:center;gap:8px}.add-frame{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;padding:22px 26px 26px;max-width:980px;margin:0 auto;width:100%}.steps{list-style:none;display:flex;gap:8px;margin:0;padding:0}.steps li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--sub);padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel)}.steps li b{width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ede9e2;color:var(--sub);font-size:11px}.steps li.on{border-color:var(--accent);color:var(--accent);background:#fbf2ec}.steps li.on b{background:var(--accent);color:#fff}.steps li.done{color:var(--ink)}.steps li.done b{background:#2e7d32;color:#fff}.steps li:has(.step-back){padding:0}.step-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:inherit;font:inherit;display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px}.step-back:hover{background:#f1ede6}.add-frame .measure,.add-frame .front-drop{flex:1}.onwall{width:264px;flex:none;border-right:1px solid var(--line);background:var(--panel);padding:16px;overflow-y:auto;display:flex;flex-direction:column}.onwall-head{display:flex;align-items:baseline;gap:8px;margin:2px 2px 10px}.onwall-head h2{font-size:14px;margin:0}.onwall-list{list-style:none;margin:0;padding:0}.onwall-list li{display:flex;align-items:center;gap:10px;padding:7px 2px;border-top:1px solid var(--line)}.onwall-list li:first-child{border-top:0}.onwall-dims{flex:1;min-width:0;font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onwall-tools{display:flex;gap:1px}.onwall-tools button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.onwall-tools button:hover{background:#f1ede6;color:var(--accent)}.onwall-tools button.danger:hover{color:var(--nail)}.arrange{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;gap:10px}.wall-foot{flex:none;display:flex;align-items:center;gap:16px;padding-top:4px}.wall-foot-mid{flex:1;text-align:center;font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums}.wall-area{margin:0;font-size:14px;color:var(--sub)}.wall-area b{color:var(--ink);font-variant-numeric:tabular-nums}.blank{position:absolute;background:#efebe4;border-radius:3px}.wall-frame.target{outline:2px solid var(--accent);outline-offset:2px}.bar .link-btn{margin-left:4px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;font-weight:700;font-size:14px;padding:9px 16px;border-radius:10px;cursor:pointer;background:var(--accent);color:#fff;display:inline-flex;align-items:center;gap:8px}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--sub);border:1px solid var(--line)}.btn.ghost:hover{background:#f1ede6;color:var(--ink)}.thumb{width:44px;height:44px;flex:none;object-fit:cover;border-radius:7px;background:#ede9e2;border:1px solid var(--line);display:block}.thumb-empty{background:#ede9e2}.count{color:var(--sub);font-size:13px;font-variant-numeric:tabular-nums}.problem{margin:12px auto 0;max-width:34em;font-size:13px;color:#8a2018;background:#fdecea;border-radius:10px;padding:9px 11px}.add-card button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;font:inherit;border:1px dashed rgba(194,103,60,.42);border-radius:14px;background:#fbf6f2;padding:12px 12px 10px;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--accent);transition:border-color .12s ease,color .12s ease,background .12s ease}.add-card button:hover{border-color:var(--accent);color:var(--accent);background:#faede4}.add-card .card-thumb{display:flex;align-items:center;justify-content:center;align-self:stretch;background:transparent}.add-card svg{width:28px;height:28px}.add-card .card-dims{color:inherit;font-weight:600}.steps li em{font-style:normal;font-weight:500;opacity:.75}.onwall-row{position:relative;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px}.onwall-row:hover{background:#f6f2eb}.onwall-row.lifting{opacity:.5;cursor:grabbing}.grip{color:#bdb5a8;display:flex;flex:none}.onwall-row:hover .grip{color:var(--sub)}.drop-line{position:absolute;left:4px;right:4px;top:-1px;height:2px;background:var(--accent);border-radius:2px;pointer-events:none}.drop-line.last{top:auto;bottom:-1px}.onwall-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--sub);flex:none;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1}.onwall-x:hover{background:#f1ede6;color:var(--nail)}.rail{width:244px;padding:18px 20px;border-left:1px solid var(--line);background:var(--panel)}.onwall-add{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin-top:14px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13px;font-weight:600;padding:10px 12px;border-radius:9px;border:1px solid var(--accent);background:transparent;color:var(--accent)}.onwall-add:hover{background:#fbf2ec}.onwall-add:active{background:#f6e7dc}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1e1b1657;display:flex;align-items:center;justify-content:center;padding:40px}.sheet{background:var(--bg);border-radius:16px;width:min(860px,100%);max-height:100%;display:flex;flex-direction:column;box-shadow:0 24px 60px #1e1b164d;overflow:hidden}.sheet-head{display:flex;align-items:flex-start;gap:16px;padding:20px 24px 12px}.sheet-head h2{margin:0 0 2px;font-size:18px}.sheet-head p{margin:0;color:var(--sub);font-size:14px}.sheet-cards{padding:0 24px 8px;overflow-y:auto}.output{display:flex;flex-direction:column;gap:18px;align-items:stretch;padding:24px 28px 28px;min-height:0;overflow-y:auto;max-width:860px;margin:0 auto;width:100%}.output-head{display:flex;align-items:flex-start;gap:12px}.output-head>div{flex:1;min-width:0}.head-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:var(--sub);flex:none;width:40px;height:40px;margin:-6px -6px 0 0;border-radius:10px;display:flex;align-items:center;justify-content:center}.head-close:hover{background:#f1ede6;color:var(--ink)}.output-head h1{margin:0 0 2px;font-size:20px}.output-head p{margin:0;color:var(--sub);font-size:14px}.output-head b{color:var(--ink);font-variant-numeric:tabular-nums}.preview-wrap{position:relative;flex:1;min-height:220px;display:flex}.adjust{position:absolute;left:14px;top:14px;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:flex;align-items:center;gap:8px;font:inherit;font-size:13px;font-weight:600;padding:10px 14px;border-radius:9px;border:1px solid var(--accent);background:var(--panel);color:var(--accent);box-shadow:0 2px 8px #1e1b160f}.adjust:hover{background:#fbf2ec}.adjust:active{background:#f6e7dc}.preview{position:relative;flex:1;min-height:220px;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.preview .wall-frame{cursor:default}.output-rows{display:flex;flex-direction:column;gap:12px}.output-sect{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.output-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;width:100%;text-align:left;border:0;background:transparent;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:14px;padding:16px 18px;color:var(--ink)}.output-row:hover{background:#1e1b1609}.output-row:disabled{cursor:default;opacity:.6}.output-row.busy{opacity:.7}.output-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#fbf2ec;color:var(--accent)}.output-text{display:flex;flex-direction:column;min-width:0}.output-text b{font-size:15px;font-weight:700}.output-text em{font-style:normal;color:var(--sub);font-size:13px;line-height:1.45}.output-row svg:last-child{color:var(--sub)}.output-aside{margin:0;padding:0 18px 16px;font-size:13px;color:var(--sub);line-height:1.5}.output-aside b{color:var(--ink)}a.output-row{text-decoration:none;color:var(--ink)}.output-row svg:last-child{transition:transform .16s ease}.output-row.open svg:last-child{transform:rotate(180deg)}.ar-choices{display:flex;flex-direction:column;padding:0 0 6px}.ar-choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;width:100%;text-align:left;border:0;background:transparent;display:flex;align-items:center;gap:14px;padding:11px 18px 11px 34px;color:var(--ink)}.ar-choice:hover{background:#1e1b1609}.ar-phone{display:flex;color:var(--ink)}.ar-label{font-size:15px;font-weight:700}.ar-busy{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--sub);font-size:13px;font-weight:400}.ar-busy .spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:ar-spin .7s linear infinite}@keyframes ar-spin{to{transform:rotate(360deg)}}.ar-code{display:flex;flex-direction:column}.ar-back{align-self:flex-start;margin:2px 18px 0;font-weight:700}.ar-for{display:block;font-size:12px;color:var(--sub);margin-bottom:2px}.qr-wrap{display:flex;gap:20px;align-items:center;margin:0 18px 16px;padding-top:16px;border-top:1px solid var(--line)}.qr{flex:none;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--line)}.qr-say b{display:block;font-size:14px;margin-bottom:4px}.qr-say p{margin:0 0 6px;color:var(--sub);font-size:13px;line-height:1.5;max-width:34em}.qr-say em{font-style:normal;color:var(--accent);font-weight:600}.qr-clock{font-variant-numeric:tabular-nums}.prints{display:flex;flex-direction:column;gap:14px;align-items:stretch;justify-content:flex-start;padding:24px 28px 28px;overflow-y:auto;max-width:720px;margin:0 auto;width:100%}.papers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.paper{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 14px;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.paper:hover{border-color:#d6cfc4}.paper.on,.paper.on:hover{border-color:var(--accent);background:#fbf2ec}.radio{grid-row:1 / span 2;grid-column:1;align-self:center;width:18px;height:18px;border-radius:50%;border:1.5px solid #CFC9C0;background:var(--panel)}.paper.on .radio{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--panel),inset 0 0 0 10px var(--accent)}.paper-name{grid-column:2;font-size:15px;font-weight:700}.paper.on .paper-name{color:var(--accent)}.paper-meta{grid-column:2;font-size:13px;color:var(--sub)}.paper-count{grid-row:1 / span 2;grid-column:3;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;align-self:center}.paper.on .paper-count{color:var(--accent)}.paper-count em{font-style:normal;font-size:13px;font-weight:600;color:var(--sub)}.paper-more{align-self:flex-start}.eco{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.eco.on{border-color:#2e7d32;background:#f1f6f0}.eco-icon{color:var(--sub);display:flex}.eco.on .eco-icon{color:#2e7d32}.eco-text{flex:1;display:flex;flex-direction:column}.eco-text b{font-size:15px}.eco.on .eco-text b{color:#2e7d32}.eco-text em{font-style:normal;font-size:13px;color:var(--sub)}.eco-box{flex:none;width:22px;height:22px;border-radius:6px;border:1px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.eco.on .eco-box{background:#2e7d32;border-color:#2e7d32}.prints-say{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:16px 18px}.prints-say h2{margin:0 0 6px;font-size:15px}.prints-say p{margin:0 0 6px;font-size:13px;color:var(--sub);line-height:1.55}.prints-say p:last-child{margin-bottom:0}.prints-foot{display:flex;align-items:center;gap:10px;margin-top:4px}.prints-foot .spacer{flex:1}.confirm{background:var(--panel);border-radius:14px;width:min(420px,100%);padding:22px 24px 18px;box-shadow:0 24px 60px #1e1b164d}.confirm h2{margin:0 0 8px;font-size:17px}.confirm p{margin:0;color:var(--sub);font-size:14px;line-height:1.5}.confirm-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn.danger{background:var(--panel);color:var(--nail);border:1px solid var(--nail)}.btn.danger:hover{background:#fdf0ef}.btn.danger:active{background:#fbe3e1}.sheet-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--line);background:var(--panel)}.blank{background:#f6f3ee}.blank.target{background:#f6e3d6;box-shadow:inset 0 0 0 2px var(--accent)}.gutter{position:absolute;background:#f0ece4;pointer-events:none}.gutter.v{width:1px}.gutter.h{height:1px}.rail{width:268px;padding:20px 22px;gap:22px}.rail-heading{font-size:11.5px}.rail-label{font-size:14px}.rail-label svg{width:20px;height:20px}.rail-value{font-size:14px}.seg button{font-size:14px;padding:10px 12px}.seg.icons button{padding:11px 0}.seg.icons svg{width:20px;height:20px}.stepper{gap:6px}.stepper b{font-size:14px;min-width:1.6em}.stepper button{width:28px;height:28px;font-size:17px}.rail-slider{height:20px}.rail-tidy{font-size:14px;padding:11px 14px}.rail-foot b{font-size:16px}.rail-foot{font-size:13.5px}@media(max-width:860px){.bar{padding:11px 14px;gap:8px}.bar-side:not(.end){display:none}.lang-select{min-height:44px;min-width:44px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.bar.in-flow{display:none}.bar.in-flow~.work .flow-top,.bar.in-flow~.work .measure-head{padding-top:calc(8px + env(safe-area-inset-top))}.bar .status{display:none}.fault{padding:10px 14px;font-size:13px}.work{flex-direction:column}.canvas{padding:0;align-items:stretch}.gallery{padding:14px 14px 0}.gallery-head h1{font-size:17px}.gallery-head p{font-size:13px}.cards{grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:92px}.card-pick{padding:8px 8px 7px;border-radius:12px}.card{--card-inset: 9px}.card-dims{font-size:12px}.card-tools.shown{opacity:1}.gallery-empty{padding:24px 4px}.empty-art{width:160px;height:160px}.gallery-bar{position:fixed;left:0;right:0;bottom:0;z-index:6;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel)}.gallery-bar .spacer{display:none}.gallery-bar .btn{flex:1;justify-content:center}.gallery-note{position:fixed;bottom:74px;left:14px;right:14px}.add-frame{padding:0 0 10px;gap:10px}.steps li{padding:0;font-size:13px}.steps li:not(:has(.step-back)){padding:8px 12px}.step-back{padding:8px 12px;min-height:44px}.steps li em{display:none}.front-drop{padding:18px 12px}.front-drop .measure-actions{width:100%}.front-drop .measure-actions .btn{flex:1;justify-content:center}.drop-art{width:168px;height:168px}.front-drop h2{font-size:17px}.front-drop p{font-size:14px}.measure{padding:0 14px 14px;gap:10px}.measure-head h1{font-size:17px}.measure-head p{font-size:13px}.dims{gap:8px}.dim{flex:1;min-width:0;padding:8px 10px}.dim input{width:100%;min-width:0;font-size:16px}.dim span{font-size:12px}.readout{font-size:13px}.modes{gap:6px}.mode{padding:8px 12px;font-size:13px}.measure-actions{gap:8px}.measure-actions .btn{justify-content:center}.measure-actions .btn.ghost{flex:0 1 auto}.measure-actions .btn:not(.ghost){flex:1 1 auto;white-space:nowrap}.editor-back{padding:0}.editor{width:100%;height:100%;border-radius:0;padding:12px 0 0}.published .measure-head,.published .pub-body,.published .measure-actions{padding-left:14px;padding-right:14px}.published .pub-body{padding-bottom:10px}.published .measure-actions{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.editor>.steps{padding:0 14px;flex-wrap:wrap}.editor>.measure-head{padding-left:14px;padding-right:14px}.editor>.measure-head .measure-close{margin-right:0}.tab{padding:6px 10px;font-size:13px}.tab span{display:none}.sheet-back{padding:0;align-items:flex-end}.sheet{border-radius:16px 16px 0 0;max-height:88%}.confirm{width:100%;border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.confirm-foot .btn{flex:1;justify-content:center}}@media(max-width:860px){.onwall{width:100%;border-right:0;padding:14px 14px 90px}.onwall-head{position:sticky;top:0;background:var(--panel);z-index:2}.onwall-row{padding:10px 4px}.onwall-x{width:40px;height:40px}.grip{width:34px}.arrange{padding:10px 12px 12px;gap:8px}.wall-tools{display:flex;gap:8px}.wall-tools button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;flex:1;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:600;color:var(--sub);padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel)}.wall-tools button em{font-style:normal;font-size:11px;font-weight:700;background:#ede9e2;color:var(--sub);border-radius:999px;padding:1px 6px}.wall-foot{gap:8px;padding-bottom:env(safe-area-inset-bottom)}.wall-foot .btn{font-size:13px;padding:9px 12px}.wall-foot-mid{display:none}.rail-back{z-index:20}.rail.as-sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;width:auto;max-height:86%;overflow-y:auto;border-left:0;border-radius:16px 16px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #1e1b1638}.rail-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.rail-head .rail-heading{margin:0}.output,.prints{padding:14px 14px 20px}.output-head h1{font-size:18px}.output-row{grid-template-columns:30px 1fr 20px;gap:12px;padding:14px}.output-icon{width:30px;height:30px}.adjust{left:10px;top:10px}.qr-wrap{flex-direction:column;align-items:flex-start}.paper{grid-template-columns:auto 1fr;gap:2px 12px;padding:12px 14px}.paper-count{grid-row:1 / span 2;grid-column:3;font-size:18px}.prints-foot .btn{flex:1;justify-content:center}.prints-foot .spacer{display:none}}.flow{flex:1;display:flex;flex-direction:column;min-height:0;width:100%}.flow-top{flex:none;display:flex;align-items:center;gap:8px;padding:6px 10px 8px}.flow-side{flex:1;display:flex}.flow-side.end{justify-content:flex-end}.flow-title{flex:none;margin:0;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.flow-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:var(--accent);width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.flow-icon.quiet{color:var(--sub)}.flow-icon:active{background:#f1ede6}.flow-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:0 14px 14px}.flow.fill .flow-body{overflow:hidden}.flow-foot{flex:none;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel)}.flow-foot .btn{flex:1;justify-content:center}@media(min-width:861px){.flow-top{max-width:980px;width:100%;margin:0 auto;padding:22px 26px 0}.flow-side{flex:none}.flow-title{flex:1;max-width:none;text-align:left;font-size:20px}.flow-foot{max-width:980px;width:100%;margin:0 auto;border-top:0}}.ctrls{flex:none;display:flex;flex-direction:column;gap:10px}.ctrl-row{display:flex;align-items:center;gap:10px}.ctrl-row.gap-row{justify-content:space-between}.ctrl-row.off{opacity:.45}.ctrl-row .spacer,.ctrl-row .rail-row{flex:1}.ctrl-row.tight{align-items:flex-start;gap:10px}.wall-size{flex:none;margin:0;font-size:14px;font-weight:600;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctrl-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--sub)}.gap-value{font-size:15px;font-weight:800;color:var(--ink)}.fill-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;display:flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--accent);background:transparent;font-size:15px;font-weight:700;color:var(--accent)}.fill-pill.on{background:var(--accent);color:#fff}.fill-pill svg{width:17px;height:17px}.pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:999px;border:1.5px solid var(--accent);background:transparent;color:var(--accent)}.pill svg{width:19px;height:19px}.pill:active,.fill-pill:active{opacity:.7}.stepper-group{flex:1;min-width:0}.stepper-group.off{opacity:.4}.stepper-box{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:2px 4px}.stepper-box button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:var(--accent);flex:1;min-width:36px;max-width:56px;height:40px;padding:0;font-size:22px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}.stepper-box button:disabled{color:var(--line);cursor:default}.stepper-box b{flex:none;font-size:18px;font-weight:800;color:var(--ink);min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.icon-group{flex:none}.icon-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:#ede8e1}.icon-seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:var(--sub);width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center}.icon-seg button.on{background:var(--accent);color:#fff}.icon-seg svg{width:22px;height:22px}@media(max-width:860px){.btn{font-size:17px;padding:13px 18px;border-radius:12px;min-height:48px}.mark{min-height:44px;font-size:19px}.mark img{width:28px;height:28px}.btn.tight{font-size:15px;padding:11px 15px;min-height:44px}.link-btn{font-size:16px;padding:11px 10px;min-height:44px}.say{font-size:15px;padding:10px 8px;min-height:44px;display:inline-flex;align-items:center}.say-line{font-size:15px}.flow-icon{width:44px;height:44px}.flow-title{font-size:18px}.gallery-head h1{font-size:20px}.gallery-head p,.card-dims{font-size:15px}.steps li{font-size:14px;padding:10px 14px}.steps li:has(.step-back){padding:0}.step-back{min-height:44px;padding:10px 14px}.front-drop h2{font-size:20px}.front-drop p{font-size:16px;line-height:1.55}.measure-head h1{font-size:20px}.measure-head p{font-size:15px}.measure-close,.head-close{width:44px;height:44px}.published .head-side{width:44px}.mode{font-size:15px;padding:12px 16px;min-height:44px}.dim{padding:10px 12px;min-height:52px}.dim input{font-size:17px}.dim span{font-size:13px}.readout{font-size:15px}.tab{font-size:15px;padding:11px 14px;min-height:44px}.wall-size{font-size:15px}.ctrl-label{font-size:14px}.gap-value{font-size:17px}.fill-pill{min-height:44px;font-size:16px;padding:0 16px}.fill-pill svg{width:19px;height:19px}.pill{width:44px;height:44px}.pill svg{width:21px;height:21px}.stepper-box button{height:44px;font-size:24px}.stepper-box b{font-size:19px;min-width:24px}.rail-slider{height:44px}.ctrl-row.tight{flex-wrap:wrap}.icon-group{flex:1 0 100%}.icon-seg{justify-content:space-between}.icon-seg button{flex:1;width:auto;height:44px}.output-head h1{font-size:20px}.output-head p{font-size:15px}.output-row{padding:15px 14px}.output-icon{width:36px;height:36px}.output-text b{font-size:17px}.output-text em{font-size:15px}.paper{padding:14px}.prints-note p{font-size:15px}.onwall-head h2{font-size:18px}.onwall-dims{font-size:15px}.onwall-x{width:44px;height:44px;font-size:22px}.onwall-add{font-size:16px;min-height:48px}}.collections{list-style:none;margin:0;padding:0 0 20px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1;align-content:start}.collection{position:relative}.collection-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;font:inherit;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px 16px;display:flex;flex-direction:column;gap:3px;transition:border-color .12s ease}.collection-pick:hover{border-color:var(--accent)}.collection-name{font-size:16px;font-weight:700;color:var(--ink)}.collection-count{font-size:13px;color:var(--sub)}.collection-seller{font-size:13px;color:var(--sub);margin-top:4px;padding-top:6px;border-top:1px solid var(--line)}.collection .card-tools{top:10px;right:12px}.collection-open{display:flex;flex-direction:column;gap:14px;min-height:0}.collection-open-name{font-size:19px;font-weight:700;letter-spacing:-.01em}.collection-dest{font-size:14px;padding:8px 10px}.collection-dest::placeholder{color:var(--sub);opacity:.7}.collection-form,.from-collection-screen{display:flex;flex-direction:column;gap:18px;max-width:620px;min-height:0}.collection-form .cards,.from-collection-frames{padding-bottom:4px}.from-collection-pick{cursor:pointer;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);background-position:calc(100% - 19px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.from-collection-add{white-space:nowrap}.add-fork{display:flex;flex-direction:column;gap:18px;max-width:620px}.add-fork-choices{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.fork-choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);padding:16px 17px;display:flex;flex-direction:column;gap:6px;transition:border-color .12s ease}.fork-choice:hover{border-color:var(--accent)}.fork-choice b{font-size:16px}.fork-choice span{font-size:13.5px;color:var(--sub);line-height:1.45}.from-scratch{order:1}.from-collection{order:2}.pub-shell{flex:1;min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr)}.pub-nav{display:flex;flex-direction:column;gap:2px;padding:4px 18px 0 0;border-right:1px solid var(--line)}.pub-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;font-size:17px;font-weight:700;text-align:left;border:0;background:transparent;color:var(--sub);padding:7px 10px;border-radius:9px;display:flex;align-items:baseline;gap:8px}.pub-nav-item:hover{background:#f1ede6;color:var(--ink)}.pub-nav-item.on{color:var(--accent)}.pub-nav-count{font-size:14px;font-weight:400;color:var(--sub)}.pub-main{min-width:0;min-height:0;display:flex;flex-direction:column;padding:20px 22px 0}.pub-lead{margin:-6px 0 16px;font-size:14px;color:var(--sub);max-width:46em}@media(max-width:700px){.pub-shell{grid-template-columns:minmax(0,1fr)}.pub-nav{flex-direction:row;gap:4px;overflow-x:auto;padding:0 0 10px;border-right:0;border-bottom:1px solid var(--line)}.pub-nav-item{font-size:15px;white-space:nowrap;min-height:44px;align-items:center;padding:10px 12px}.pub-main{padding:14px 16px 0}}.products-scroll{flex:1;min-height:0;min-width:0;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.products-scroll-fit{flex:0 0 auto}.products{width:100%;border-collapse:collapse;font-size:14px;line-height:1.4}.products thead th{position:sticky;top:0;z-index:1;background:var(--panel);text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub);padding:12px 14px;white-space:nowrap;border-bottom:1px solid var(--line)}.products tbody td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.products tbody tr:last-child td{border-bottom:0}.products tbody tr:hover td{background:#fbf9f6}.products-n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.products-pick-head{width:40px}.products-pick{width:40px;padding-right:0}.products-pick input{width:18px;height:18px;display:block;cursor:pointer}.products-bulk{flex:0 0 auto;display:flex;align-items:center;gap:14px;margin-top:12px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.products-bulk-count{font-size:14px;font-weight:700;white-space:nowrap}.products-bulk-acts{display:flex;gap:8px}.products-bulk-said{font-size:13px;color:var(--sub)}.products-bulk-clear{margin-left:auto}.products td[data-col=shops],.products th[data-col=shops]{width:110px;white-space:nowrap}.products-thumb-head{width:64px}.products-thumb{width:64px;padding-left:14px}.products-open{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:3px;width:46px;height:46px;display:block}.products-open:hover{border-color:var(--accent)}.products-open .card-img{width:100%;height:100%;object-fit:contain}.products-title{display:block;font-weight:600;color:var(--ink)}.products-sku{display:block;font-family:var(--mono);font-size:11.5px;color:var(--sub)}.products-desc{display:block;max-width:26em;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.products-optional{color:var(--sub);opacity:.65}.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:700px){.products thead th{padding:10px}.products tbody td{padding:9px 10px}.products-desc{max-width:14em}}.products td[data-col=size],.products td[data-col=shares],.products td[data-col=material],.products td[data-col=colour],.products td[data-col=source],.products-title,.products-sku{white-space:nowrap}.products td[data-col=description],.products th[data-col=description]{width:100%}.products td[data-col=title]{min-width:13em}.pub-head{display:flex;align-items:center;gap:14px;margin:0 0 18px}.pub-head-text{flex:1;min-width:0}.pub-head-text h1{margin:0;font-size:25px;letter-spacing:-.02em}.pub-head-text .pub-lead{margin:4px 0 0}.pub-head-action{flex:none;white-space:nowrap}.pub-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:none;width:40px;height:40px;margin-top:2px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);display:flex;align-items:center;justify-content:center}.pub-back:hover{border-color:var(--accent);color:var(--accent)}.pub-back svg{width:18px;height:18px}.collection-facts{display:flex;flex-wrap:wrap;gap:10px 36px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px 16px;margin:0 0 14px}.collection-facts>div{display:flex;flex-direction:column;gap:2px;min-width:0}.collection-facts span{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--sub)}.collection-facts b{font-size:15px;font-weight:600;word-break:break-all}@media(max-width:700px){.pub-head-text h1{font-size:21px}.pub-head-action{min-height:44px}.pub-back{min-height:44px;min-width:44px}}.products-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:14px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:8px;padding:5px 7px;width:100%;min-width:0}.products-edit:hover{border-color:var(--line);background:var(--bg)}.products-edit:focus{outline:0;border-color:var(--accent);background:var(--panel)}.products-edit::placeholder{color:var(--sub);opacity:.6}.products-edit-title{font-weight:600}select.products-edit{cursor:pointer;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.products-edit[aria-invalid=true]{border-color:var(--nail);background:#fdf1f0}.products-row-dirty td{background:#fbf6f0}.products-n .products-edit{text-align:right;font-variant-numeric:tabular-nums}.products-bar{gap:10px}.products-count{font-size:13px;color:var(--sub)}.products-save{min-width:92px}.products-save:disabled{opacity:.45;cursor:default}.pub-doors{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}.pub-door{white-space:nowrap}.frame-card{display:flex;gap:16px;align-items:flex-start;padding:16px;margin:0 0 18px;background:var(--card, #fff);border:1px solid var(--line);border-radius:14px}.frame-card-pic{flex:0 0 auto;width:132px;display:block;position:relative}.frame-card-pic .card-img{display:block;width:100%;height:auto;max-height:180px;object-fit:contain}.frame-card-pic .card-img.blank{aspect-ratio:3 / 4;height:auto}.frame-card-text{display:flex;flex-direction:column;gap:4px;min-width:0}.frame-card-name{font-size:18px;line-height:1.25}.frame-card-desc,.frame-card-size{color:var(--sub)}.frame-card-sku{margin-top:4px;font-size:12px;color:var(--sub);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.frame-action{margin:0 0 18px}.frame-action .pub-note{margin-top:8px}.frame-cta{display:inline-flex}.frame-origin{margin:0 0 18px}.pub-note.warn{color:var(--warn, #8a5a00)}.measure-actions .spacer{flex:1}.sharable-foot{flex-wrap:wrap}@media(max-width:520px){.sharable-stop{order:3;width:100%;justify-content:center}.sharable-foot .spacer{display:none}}.products th[data-col=link],.products td[data-col=link]{min-width:150px}.products-edit-link{font-size:13px}.products-group{text-align:center;border-left:1px solid var(--line);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.products thead tr:nth-child(2) th{font-size:11px}.products th[data-col^=p-],.products td[data-col^=p-],.products th[data-col^=l-],.products td[data-col^=l-]{min-width:72px}.products th[data-col=p-hanger],.products td[data-col=p-hanger],.products th[data-col=l-hanger],.products td[data-col=l-hanger]{min-width:84px;border-left:1px solid var(--line)}.products-edit:disabled{background:transparent;color:var(--sub);opacity:1;cursor:default}.frame-card-maker{font-size:13px;color:var(--sub)}.products-list{table-layout:auto}.products-list tbody tr{cursor:pointer}.products-list tbody tr:hover{background:#faf8f4}.products-list td{vertical-align:middle;padding:10px 12px}.products-list .products-thumb{width:72px;padding-right:0}.products-list .products-thumb .card-img{width:56px;height:auto;max-height:64px}.products-list .products-thumb .card-img.blank{aspect-ratio:3 / 4;height:auto}.products-title{display:block;font-size:15px}.products-desc{display:block;margin-top:2px;color:var(--sub);font-size:13px}.products-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:#efeae1;color:var(--ink);font-size:13px;white-space:nowrap}.products-list td[data-col=size]{white-space:nowrap;color:var(--ink)}.products-list td[data-col=publisher]{color:var(--ink)}.products-go{width:40px;text-align:right}.products-open{border:0;background:none;cursor:pointer;padding:6px 8px;font-size:20px;line-height:1;color:var(--sub)}.products-list tbody tr:hover .products-open{color:var(--ink)}.products-row{transition:background 90ms ease}.products-go-head{width:40px}.pub-door-publish{white-space:nowrap}.frame-mismatch{max-width:44em}.product-page{display:flex;flex-direction:column;gap:18px}.product-head{display:flex;align-items:center;gap:12px;padding:0 0 4px}.product-head .spacer{flex:1}.product-back{border:1px solid var(--line);background:var(--panel);cursor:pointer;width:36px;height:36px;border-radius:10px;font-size:17px;line-height:1;color:var(--ink);flex:0 0 auto}.product-back:hover{background:#f1ede6}.product-head-thumb{flex:0 0 auto;display:block;width:40px}.product-head-thumb .card-img{width:40px;height:auto;max-height:48px}.product-head-thumb .card-img.blank{aspect-ratio:3 / 4;height:auto}.product-name{margin:0;font-size:21px;line-height:1.2}.product-count{color:var(--sub);font-size:13px;white-space:nowrap}.product-step{border:1px solid var(--line);background:var(--panel);cursor:pointer;width:32px;height:32px;border-radius:9px;color:var(--ink);line-height:1}.product-step:hover:not(:disabled){background:#f1ede6}.product-step:disabled{opacity:.4;cursor:default}.product-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.product-main,.product-side{display:flex;flex-direction:column;gap:18px}.product-block{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.product-block h2{margin:0 0 10px;font-size:15px}.product-block h2 em{font-style:normal;font-weight:400;color:var(--sub)}.product-card{display:flex;gap:18px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.product-pic{flex:0 0 auto;width:180px;display:block}.product-pic .card-img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain}.product-pic .card-img.blank{aspect-ratio:3 / 4;height:auto}.product-facts{display:flex;flex-direction:column;gap:10px;min-width:0}.product-desc{margin:0;color:var(--sub)}.product-readonly{margin:0;font-size:17px}.product-readonly .pub-note{margin:6px 0 0}.product-sku{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.product-maker{margin:0}.product-danger .pub-note{margin:10px 0 0}.product-stop{width:100%;justify-content:center}@media(max-width:860px){.product-body{grid-template-columns:minmax(0,1fr)}.product-card{flex-direction:column}.product-pic{width:100%;max-width:220px}}.product-save{white-space:nowrap}.field{display:block;margin:0 0 12px}.field>span{display:block;margin:0 0 5px;font-size:13px;color:var(--sub)}.field .pub-input{width:100%}.field-check{display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer}.field-check input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0}.field-check span{font-size:15px;color:var(--ink);line-height:1.35}.field-pair{display:flex;gap:12px}.field-pair .field{flex:1;min-width:0;margin-bottom:0}.product-block .field:last-child{margin-bottom:0}.product-block .dims+.dims{margin-top:12px}.product-block .pub-note{margin:10px 0 0}.product-broken{color:var(--nail);font-size:13px;white-space:nowrap}.hang-group+.hang-group{margin-top:14px}.hang-group h3{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sub)}.hang-group .dims{flex-wrap:wrap}.hang-group .dim{flex:1 1 90px;min-width:0}.hang-group .dim select{width:100%;border:0;background:none;font:inherit}.hang-group .dim input:disabled,.hang-group .dim select:disabled{color:var(--sub);opacity:1;cursor:default}.product-pic-col{flex:0 0 auto;width:180px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.product-pic-col .product-pic{width:100%}.product-edit-frame{width:100%;justify-content:center}.product-route-note{margin:0;font-size:13px;line-height:1.35;color:var(--sub);text-align:center}.product-change-image{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:600;font-size:15px;color:var(--ink)}.product-change-image:hover{color:var(--accent)}.product-change-icon{color:var(--sub);font-size:15px}.dim.flat{border-color:transparent;background:none;padding-left:0;padding-right:0}.dim-label{font-size:13px;color:var(--sub);white-space:nowrap}.dim-value{font-size:16px;font-weight:700;color:var(--ink)}.dim-unit{font-size:13px;color:var(--sub);white-space:nowrap}.pub-input.flat{border-color:transparent;background:none;padding-left:0;padding-right:0;cursor:default}.product-sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.product-dims{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.product-dims .dims{gap:18px}.hang-group .dims{align-items:center}.help{position:relative;display:inline-flex;align-items:center}.help-dot{width:20px;height:20px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#ded8cf;color:#6b6257;font:inherit;font-size:12px;font-weight:700;line-height:1}.help-dot:hover{background:#d2cac0}.help-dot[aria-expanded=true]{background:var(--accent);color:#fff}.help-text{position:absolute;top:26px;left:-8px;z-index:5;width:250px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);box-shadow:0 8px 24px #0000001a;font-size:13px;line-height:1.45;color:var(--sub)}.seg-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;cursor:pointer;font-weight:600;font-size:13px;background:var(--panel);color:var(--sub);border-left:1px solid var(--line)}.seg-opt:first-child{border-left:0}.seg-opt.on{background:#fbf2ec;color:var(--accent)}.seg-opt input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.seg-opt:focus-within{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:860px){.product-pic-col{width:100%;max-width:220px}.help-text{width:220px}}.product-facts{flex:1 1 auto;min-width:0}.hang-group .dim{flex:0 0 auto;min-width:0}.hang-group .dim input{width:4.4em;min-width:0}.hang-group .dims{gap:10px 12px}.hang-group .dim select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;cursor:pointer;font:inherit;font-size:16px;font-weight:700;color:var(--ink);background-color:transparent;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);background-position:calc(100% - 9px) calc(50% - 1px),calc(100% - 5px) calc(50% - 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;padding:0 16px 0 0;width:auto;min-width:4.4em}.hang-group .dim select:focus{outline:0}.dim-unit{flex:0 0 auto}.product-main{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px;align-content:start}.product-card{grid-column:1 / -1}.product-sizes{align-self:start}.product-block h2 .help{margin-left:7px;vertical-align:middle}.dim-rows{display:flex;flex-direction:column;gap:12px}.dim-rows+.dim-rows{margin-top:12px}.dim-row{display:flex;align-items:center;gap:12px}.dim-art{flex:0 0 auto;width:46px;height:46px;display:block}.dim-row .dim{flex:1 1 auto;min-width:0}.dim-row .dim input{width:100%;min-width:0}.dim-row .dim.flat{padding-left:2px}.hang-pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.hang-pill{display:inline-flex;align-items:center;cursor:pointer;padding:5px 15px;border-radius:999px;font-size:13px;font-weight:600;color:var(--accent);background:#f6e3d6}.hang-pill:hover{background:#f0d6c3}.hang-pill.on{background:var(--accent);color:#fff}.hang-pill input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.hang-pill:focus-within{outline:2px solid var(--accent);outline-offset:2px}.hang-fixed{margin:0 0 12px;display:flex;align-items:baseline;gap:8px}.hang-body{display:flex;align-items:center;gap:14px}.hang-art{flex:0 0 auto;width:66px;height:66px;display:block}.hang-art.blank{background:none}.hang-body .dims{flex:0 1 auto;min-width:0}@media(max-width:1100px){.product-main{grid-template-columns:minmax(0,1fr)}.product-card{grid-column:auto}}@media(min-width:701px){.shell:has(.products-list){height:100vh;height:100svh;min-height:0}.shell:has(.products-list) .pub-shell{grid-template-rows:minmax(0,1fr)}}.products-list thead th{height:48px;padding-top:0;padding-bottom:0}.products-list thead th.products-bulk-cell{padding:0;text-transform:none;letter-spacing:normal;font-size:14px;font-weight:400;color:var(--ink)}.products-bulk-row .products-bulk{height:48px;margin-top:0;padding:0 14px 0 0;border:0;border-radius:0;background:transparent}.products-bulk-act{position:relative;display:inline-flex}.products-bulk-card{position:absolute;top:calc(100% + 8px);left:0;z-index:5;width:280px;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);box-shadow:0 8px 24px #0000001a;white-space:normal}.products-bulk-card .btn{justify-content:flex-start}.products-bulk-card .pub-note{margin:2px 0 0;font-size:13px;line-height:1.45;color:var(--sub)}.products-bulk-act .btn[aria-expanded=true]{background:#f1ede6;color:var(--ink)}.products-bulk-card .field{display:flex;flex-direction:column;gap:6px}.products-bulk-card .field>span{font-size:13px;font-weight:700;color:var(--ink)}.products-bulk-card .btn[type=submit]{justify-content:center}.products-bulk-delete{margin-left:10px}.products-pick input,.field-check input{accent-color:var(--accent)}.pub-import{position:relative;display:inline-flex}.pub-import>.products-bulk-card{left:auto;right:0}.pub-import>.btn[aria-expanded=true]{background:#f1ede6;color:var(--ink)}.editor.import{max-width:640px;height:auto;max-height:100%}.import-body{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto}.import-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;min-height:140px;border:2px dashed var(--line);border-radius:12px;color:var(--sub);cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.import-drop:hover,.import-drop.over{border-color:var(--accent);background:#fbf6f0;color:var(--ink)}.import-drop p{margin:0;font-size:14px;text-align:center}.import-template{align-self:flex-start}.import-notes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.45;color:var(--sub)}.import-notes li{padding-left:18px;position:relative}.import-notes li:before{content:"·";position:absolute;left:6px;top:-2px;font-weight:700;color:var(--sub)}.import-notes b{color:var(--ink)}.import-notes code{font:inherit;font-weight:700;color:var(--ink);background:#f1ede6;padding:1px 5px;border-radius:4px}.import-result h2{margin:4px 0 0;font-size:20px;letter-spacing:-.01em}.import-skipped{margin:0;font-size:14px;color:var(--sub)}.import-rejected h3,.import-clashed h3,.import-photo-issues h3{margin:10px 0 6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub)}.import-rejected ul,.import-clashed ul,.import-photo-issues ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45}.import-rejected li b,.import-photo-issues li b{color:var(--ink);margin-right:4px}.import-error{margin:10px 0;font-size:14px}.import-foot{display:flex;justify-content:flex-end;margin-top:auto;padding-top:10px}.import-staged h3{margin:10px 0 6px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub)}.import-staged ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45}.import-staged li{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.import-staged-csv{font-weight:700}.import-staged li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-staged-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:0;background:transparent;color:var(--sub);font:inherit;font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}.import-staged-x:hover{background:#f1ede6;color:var(--ink)}.import-staged-coverage{margin:8px 0 0;font-size:13px;color:var(--sub)}.collection-dest-note{margin:4px 0 0;font-size:12px;line-height:1.3}.collection-code{font-size:12px;color:var(--sub);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.collections-list td[data-col=collection] b.products-title{display:block}.collections-list td[data-col=shop],.collections-list td[data-col=shop-page]{color:var(--ink);font-size:14px;word-break:break-all}.collections-list td[data-col=frames]{color:var(--ink);font-size:14px;white-space:nowrap}.not-set{color:var(--sub)}.new-collection{background:var(--panel);border-radius:14px;width:min(480px,100%);padding:22px 24px 18px;box-shadow:0 24px 60px #1e1b164d}.new-collection h2{margin:0 0 14px;font-size:17px}.new-collection form{display:flex;flex-direction:column;gap:12px}.new-collection .field{margin:0}.new-collection .pub-note{margin:4px 0 0;font-size:12px;line-height:1.4}.new-collection .pub-note.warn{color:var(--nail)}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.collection-empty{text-align:center;padding:36px 24px}.collection-empty h2{margin:0 0 8px;font-size:17px}.collection-empty p{margin:0 auto 16px;max-width:36em;color:var(--sub)}.collection-empty .btn.add-frames{display:inline-flex;gap:6px;align-items:center}.add-frames-dialog{background:var(--panel);border-radius:14px;width:min(560px,100%);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #1e1b164d}.add-frames-head{display:flex;align-items:center;gap:12px;padding:20px 20px 12px}.add-frames-head h2{margin:0;font-size:17px;flex:1}.add-frames-list{list-style:none;margin:0;padding:0 20px;overflow-y:auto;flex:1}.add-frames-row{border-bottom:1px solid var(--line)}.add-frames-row:last-child{border-bottom:0}.add-frames-row label{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer}.add-frames-row input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent)}.add-frames-thumb{width:48px;height:48px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#f1ede6;border-radius:6px;overflow:hidden}.add-frames-thumb img,.add-frames-thumb canvas,.add-frames-thumb svg{max-width:100%;max-height:100%}.add-frames-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.add-frames-info b{font-size:15px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-frames-info .products-sku{font-size:12px;color:var(--sub);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.add-frames-dims{font-size:12px;color:var(--sub)}.add-frames-dialog .dialog-foot{padding:12px 20px 16px;margin-top:0;border-top:1px solid var(--line)}.collection-facts .strip-edit{margin-left:auto;align-self:center}.collection-facts b.not-set{font-weight:500;color:var(--sub)}.collection-edit{display:flex;flex-direction:column;gap:16px;border:1px solid var(--accent);border-radius:14px;background:var(--panel);padding:16px;margin:0 0 14px}.collection-edit-fields{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.collection-edit .field{margin:0}.collection-edit .pub-note{margin:4px 0 0;font-size:12px;line-height:1.4}.collection-edit .pub-note.warn{color:var(--nail)}.edit-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.edit-foot .spacer{flex:1}.strip-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;font-weight:700;font-size:14px;padding:9px 12px;margin-left:-12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--nail)}.strip-delete:hover{background:#fdf0ef;border-color:var(--nail)}.strip-edit{display:inline-flex;align-items:center;gap:6px}.strip-edit svg{width:15px;height:15px}.frame-thumb{display:block;width:46px;height:46px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.frame-thumb .card-img{width:100%;height:100%;object-fit:contain}.collection-frames td[data-col=page]{min-width:18em}.collection-frames td[data-col=customer-link]{min-width:22em}.customer-link-cell{display:flex;align-items:center;gap:8px;min-width:0}.collection-link-text{flex:1;min-width:0;font-size:13px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.collection-copy{white-space:nowrap;flex:0 0 auto}.frame-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--sub);display:inline-flex;align-items:center;justify-content:center}.frame-remove:hover{color:var(--nail);border-color:var(--nail)}.frame-remove svg{width:18px;height:18px}.col-hint{position:relative;display:inline-flex;margin-left:6px;vertical-align:middle}.col-hint-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:help;width:16px;height:16px;padding:0;border:1px solid var(--sub);border-radius:50%;background:transparent;color:var(--sub);display:inline-flex;align-items:center;justify-content:center}.col-hint-btn>span{font:700 10px/1 ui-sans-serif,system-ui,sans-serif;text-transform:none;letter-spacing:0}.col-hint-btn:hover,.col-hint-btn:focus-visible{color:var(--ink);border-color:var(--ink)}.col-hint-body{position:absolute;left:0;top:calc(100% + 6px);min-width:220px;max-width:320px;padding:8px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:400;line-height:1.4;text-align:left;text-transform:none;letter-spacing:0;box-shadow:0 8px 24px #1e1b1640;visibility:hidden;opacity:0;pointer-events:none;z-index:10}.col-hint:hover .col-hint-body,.col-hint:focus-within .col-hint-body{visibility:visible;opacity:1}.add-frames-row.already-in{opacity:.55}.add-frames-row.already-in label{cursor:default}.add-frames-already{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub);margin-left:auto}.gallery-empty .btn,.pub-import .btn{white-space:nowrap}.studio-root{min-height:100vh;background:var(--bg);color:var(--ink);display:flex;flex-direction:column}.studio-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.studio-logo{color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.02em}.studio-nav{display:flex;gap:20px}.studio-nav a{color:var(--sub);text-decoration:none;font-size:15px;padding:4px 2px;border-bottom:2px solid transparent}.studio-nav a.on{color:var(--ink);border-color:var(--accent)}.studio-root main{flex:1;display:flex;justify-content:center;padding:40px 20px}.studio-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px}.studio-card h1{font-size:22px;margin:0}.studio-card h2.studio-sub{font-size:16px;margin:20px 0 6px}.studio-card p{margin:0;color:var(--sub);line-height:1.5}.studio-form{display:flex;flex-direction:column;gap:14px}.studio-form label{display:flex;flex-direction:column;gap:6px}.studio-form label span{font-size:13px;color:var(--sub)}.studio-form input,.studio-form select{font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}.studio-form input:focus,.studio-form select:focus{outline:2px solid var(--accent);outline-offset:-1px}.studio-primary{padding:12px 18px;border-radius:999px;border:0;background:var(--accent);color:#fff;font-weight:600;font-size:16px;cursor:pointer}.studio-primary:disabled{opacity:.6;cursor:default}.studio-link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.studio-hint{font-size:13px;color:var(--sub)}.studio-error{color:var(--nail);font-size:14px}.studio-success{color:var(--accent);font-size:14px}.studio-foot{font-size:14px}.studio-table{width:100%;border-collapse:collapse;font-size:14px}.studio-table th,.studio-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.studio-table th{font-size:11px;color:var(--sub);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.studio-wide{max-width:940px}.studio-topbar-right{display:flex;align-items:center;gap:14px;margin-left:auto}.studio-whoami{font-size:14px;color:var(--sub)}.studio-products{gap:18px}.studio-products-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.studio-products-head>div{flex:1;min-width:0}.studio-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 20px;text-align:center}.studio-empty h2{font-size:18px;margin:0}.studio-empty p{max-width:32em}.studio-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fbf2ec;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.studio-bar-count{font-size:14px;color:var(--sub)}.studio-bar-count b{color:var(--ink)}.studio-subcard{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.studio-products-table{width:100%;border-collapse:collapse;font-size:14px}.studio-products-table th,.studio-products-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.studio-products-table th{font-size:11px;color:var(--sub);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.studio-cell-product{max-width:320px}.studio-row-open{background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.studio-row-open b{color:var(--ink)}.studio-row-open .studio-sub,.studio-sub{font-size:12px;color:var(--sub)}.studio-product{gap:14px}.studio-product-head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}.studio-product-head h1{margin:0}.studio-fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.studio-fieldset legend{font-size:11px;color:var(--sub);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.studio-seg{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:999px;overflow:hidden}.studio-check{display:flex;flex-direction:row!important;align-items:center;gap:10px}.studio-check input{width:auto}.studio-product-photo{max-width:240px;max-height:240px;border-radius:8px;border:1px solid var(--line)}.studio-product-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line);margin-top:8px}.studio-danger{background:var(--nail)}.studio-root main .loading{min-height:200px}.pub-head-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.studio-pick-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.studio-pick-list li{margin:0}.studio-pick-list button{width:100%;text-align:left;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.pub-chip.is-live{background:#e9f6ec;border-color:#b7dcc0;color:#2b6c3b}.pub-chip.is-draft{background:#f3f3f3;border-color:var(--line);color:var(--ink-soft)}.product-head .pub-chip{margin-left:10px}.product-save-note{margin-right:10px;color:var(--ink-soft);font-size:12px;max-width:240px;line-height:1.3;text-align:right}.products-bulk-publish,.products-bulk-unpublish{margin-right:6px}.product-publish,.product-unpublish{margin-left:10px}.coll-publish-panel{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:10px}.coll-publish,.coll-unpublish{white-space:nowrap}.coll-publish-note{margin:0;font-size:12px;color:var(--ink-soft);text-align:right;max-width:260px;line-height:1.3}.coll-publish-note.is-ok{color:#2b6c3b}.studio-plain-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.studio-whoami{color:var(--sub);font-size:15px;font-weight:500;margin-right:10px}.studio-signout{color:var(--accent);font-size:14px;margin-left:10px}.studio-withdraw{color:var(--nail);font-size:14px}.studio-resend{color:var(--accent);font-size:14px}.studio-card.studio-card-wide{max-width:820px}.studio-card.studio-card-wide td,.studio-card.studio-card-wide th{white-space:nowrap}a.pub-nav-item{text-decoration:none}.collection-open .pub-head-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.collection-open .pub-head-title h1{margin:0}.bar-studio{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-right:10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:13px;line-height:1;text-decoration:none;transition:background .12s ease,color .12s ease}.bar-studio:hover{background:#f5f3ef;color:var(--accent)}.bar-studio-name{font-weight:500}.bar-studio-dot{color:var(--sub)}.bar-studio-word{font-weight:500}.bar-studio svg{width:16px;height:16px}.import-staged-missing{margin:0;font-size:13px;line-height:1.45;color:var(--sub)}.bar.bar-phone{padding:11px 14px;justify-content:space-between}.bar.bar-phone .mark{flex:0 0 auto}.bar-menu-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);border-radius:9px}.bar-menu-btn:hover{background:#f1ede6}.bar-menu-btn svg{width:20px;height:20px}.studio-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b166b;z-index:100}.studio-menu{position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);display:flex;flex-direction:column;background:var(--bg);box-shadow:-1px 0 0 var(--line);z-index:101;overflow-y:auto}.studio-menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.studio-menu-head h2{font-size:20px;font-weight:700;color:var(--ink);margin:0}.studio-menu-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:44px;height:44px;padding:0;margin:-10px -10px -10px 0;border:0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.studio-menu-close svg{width:22px;height:22px}.studio-menu-pages{display:flex;flex-direction:column;gap:2px;padding:14px 12px}.studio-menu-pages .pub-nav-item{font-size:17px;min-height:44px;padding:10px 14px;align-items:center}.studio-menu-pages .pub-nav-item.on{background:#f6efe6;color:var(--accent)}.studio-menu-langs{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:10px 12px 14px}.studio-menu-section{margin:10px 14px 2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sub)}.studio-menu-langs .pub-nav-item{font-size:17px;min-height:44px;padding:10px 14px;justify-content:space-between;color:var(--ink);font-weight:400}.studio-menu-langs .pub-nav-item.on{color:var(--accent);font-weight:400}.studio-menu-langs .pub-nav-item svg{width:18px;height:18px;color:var(--accent)}.studio-menu-foot{margin-top:auto;border-top:1px solid var(--line);padding:14px 20px}.studio-menu-signout{color:var(--accent);font-weight:700;font-size:17px}.studio-phone-banner{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:flex-start;gap:12px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);font-size:14px;line-height:1.4;color:var(--sub);z-index:50}.studio-phone-banner svg{width:20px;height:20px;color:var(--sub);flex:0 0 auto;margin-top:1px}.shell-studio.phone .pub-nav,.shell-studio.phone .pub-head-action,.shell-studio.phone .pub-lead,.shell-studio.phone .products-pick,.shell-studio.phone .products-pick-head,.shell-studio.phone .products-go,.shell-studio.phone .products-go-head{display:none}.shell-studio.phone .products-row{pointer-events:none}.shell-studio.phone .gallery-empty .btn,.shell-studio.phone .studio-form,.shell-studio.phone .studio-resend,.shell-studio.phone .studio-withdraw{display:none}.shell-studio.phone .pub-main{padding-bottom:72px}
