@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-B40WzpMT.woff2) format("woff2"),url(/assets/geist-latin-400-normal-cWY99Cna.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-CTWBw9NS.woff2) format("woff2"),url(/assets/geist-latin-500-normal-CHEM4JuE.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2) format("woff2"),url(/assets/geist-latin-600-normal-BeQEdSAO.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-latin-700-normal-CFi8mLqe.woff2) format("woff2"),url(/assets/geist-latin-700-normal-RGxhsL9r.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DKaoCDn5.woff2) format("woff2"),url(/assets/geist-mono-latin-400-normal-BXAprPdR.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-mono-latin-500-normal-C3sF8Y1B.woff2) format("woff2"),url(/assets/geist-mono-latin-500-normal-YfPbDI_o.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-600-normal-BHzjB6_C.woff2) format("woff2"),url(/assets/geist-mono-latin-600-normal-C5fp8g0r.woff) format("woff")}:root{--paper: #f1ece1;--paper-2: #e7e1d3;--paper-3: #d8d1bf;--ink: #1a1814;--ink-2: #4a463d;--ink-3: #807a6c;--line: #c8c2b1;--line-2: #ddd6c4;--accent: #c2392a;--accent-ink: #ffffff;--warn: #b88200;--ok: #4a7a3a;--f-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--f-mono: "Geist Mono", ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--pad: 24px;--row-h: 36px;--radius: 4px;--radius-lg: 10px;--cm: 18px}[data-density=compact]{--pad: 16px;--row-h: 32px}[data-density=comfy]{--pad: 32px;--row-h: 42px}[data-palette=slate]{--paper: #ebeef2;--paper-2: #dee2e8;--paper-3: #c8cdd5;--ink: #0e1620;--ink-2: #3b4452;--ink-3: #6f7888;--line: #b7bdc7;--line-2: #d2d6dd;--accent: #1f5fd6}[data-palette=bone]{--paper: #efe9dc;--paper-2: #e3dcc8;--paper-3: #cfc6ab;--ink: #1b1c10;--ink-2: #494a36;--ink-3: #7c7e62;--line: #c4bfa3;--line-2: #dad3b6;--accent: #5a6b1c}[data-palette=carbon]{--paper: #15140f;--paper-2: #1f1d17;--paper-3: #2b281f;--ink: #efe9d9;--ink-2: #b8b1a0;--ink-3: #837d6f;--line: #3a362c;--line-2: #2b281f;--accent: #cfd54a;--accent-ink: #15140f}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}button{font:inherit;color:inherit}.mono{font-family:var(--f-mono);font-feature-settings:"zero","ss01";letter-spacing:-.01em}.tnum{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid var(--paper);background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--ink-3);background-clip:content-box}.app{display:grid;grid-template-columns:188px 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;gap:24px}.brand{display:flex;align-items:center;gap:10px;padding:6px 6px 14px;border-bottom:1px dashed var(--line)}.brand-mark{width:28px;height:28px;border-radius:6px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--f-mono);font-weight:600;font-size:14px;position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--accent);border-radius:2px;opacity:.7}.brand-name{font-family:var(--f-mono);font-size:13px;letter-spacing:.02em;font-weight:600}.brand-sub{font-family:var(--f-mono);font-size:10px;color:var(--ink-3);letter-spacing:.05em}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--radius);border:1px solid transparent;background:transparent;cursor:default;color:var(--ink-2);text-align:left;font-size:13px;transition:background .12s}.nav-item:hover{background:var(--paper-2);color:var(--ink)}.nav-item[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.nav-item[aria-current=page] .nav-num{color:var(--paper-3)}.nav-num{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.nav-badge{font-family:var(--f-mono);font-size:10px;padding:1px 6px;border-radius:999px;background:var(--paper-2);color:var(--ink-2)}.nav-item[aria-current=page] .nav-badge{background:#ffffff1f;color:var(--paper)}.sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-family:var(--f-mono);font-size:10px;color:var(--ink-3);line-height:1.5;display:flex;flex-direction:column;gap:2px}.main{overflow:auto;display:flex;flex-direction:column;min-width:0;background:var(--paper)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 12px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5;gap:12px}.topbar-r{flex-wrap:wrap;justify-content:flex-end}.topbar-l{display:flex;align-items:baseline;gap:14px}.topbar-l h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.topbar-l .crumb{font-family:var(--f-mono);color:var(--ink-3);font-size:11px;letter-spacing:.04em}.topbar-r{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px;cursor:default;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--paper-2)}.btn .key{font-family:var(--f-mono);font-size:10px;padding:1px 4px;border-radius:3px;background:var(--paper-2);color:var(--ink-3);border:1px solid var(--line)}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:var(--ink-2)}.btn-accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-accent:hover{filter:brightness(.95)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--paper-2)}.btn-sm{height:26px;padding:0 8px;font-size:12px}.btn-lg{height:40px;padding:0 18px;font-size:14px;font-weight:500}.btn-icon{width:32px;padding:0;justify-content:center}.btn[disabled]{opacity:.45;pointer-events:none}.input{height:32px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:13px;outline:none;min-width:0}.input:focus{border-color:var(--ink)}.input.mono{font-family:var(--f-mono);font-size:12px}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.03em;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);text-transform:uppercase;white-space:nowrap}.chip-dot{width:6px;height:6px;border-radius:999px;background:var(--ink-3)}.chip-draft{background:var(--paper-2);color:var(--ink-2)}.chip-draft .chip-dot{background:var(--ink-3)}.chip-ready{background:color-mix(in oklab,var(--accent) 14%,var(--paper));color:var(--accent);border-color:color-mix(in oklab,var(--accent) 35%,var(--line))}.chip-ready .chip-dot{background:var(--accent)}.chip-queued{background:color-mix(in oklab,var(--warn) 14%,var(--paper));color:var(--warn);border-color:color-mix(in oklab,var(--warn) 35%,var(--line))}.chip-queued .chip-dot{background:var(--warn)}.chip-printed{background:color-mix(in oklab,var(--ok) 14%,var(--paper));color:var(--ok);border-color:color-mix(in oklab,var(--ok) 35%,var(--line))}.chip-printed .chip-dot{background:var(--ok)}.chip-cancel{background:var(--paper-2);color:var(--ink-3);text-decoration:line-through}.chip-cancel .chip-dot{background:var(--ink-3)}.size-badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:3px;font-family:var(--f-mono);font-size:10px;color:var(--ink);background:var(--paper);border:1px solid var(--ink);letter-spacing:.02em}.size-badge svg{display:block}.lib{display:grid;grid-template-columns:1fr 240px;gap:0;flex:1;min-height:0}.lib-grid-wrap{padding:22px 28px 80px;overflow:auto}.lib-toolbar{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px dashed var(--line);margin-bottom:20px}.lib-search{flex:1;max-width:320px;position:relative}.lib-search .input{width:100%;padding-left:30px}.lib-search:before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:12px;height:12px;border:1.5px solid var(--ink-3);border-radius:999px;pointer-events:none}.lib-search:after{content:"";position:absolute;left:19px;top:18px;width:7px;height:1.5px;background:var(--ink-3);transform:rotate(45deg);pointer-events:none}.lib-summary{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);margin-left:auto}.lib-sort{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-family:var(--f-mono);font-size:11px}.lib-sort select{padding:4px 8px;font-family:var(--f-mono);font-size:11px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;cursor:pointer}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:16px}.mag-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;cursor:default;transition:border-color .12s,transform .12s;position:relative}.mag-card:hover{border-color:var(--ink-2)}.mag-card[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.mag-thumb{position:relative;background:var(--paper-2);overflow:hidden}.mag-thumb-inner{width:100%;display:block;background:var(--paper-3)}.mag-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mag-thumb .ratio-pad{width:100%}.mag-thumb .overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:space-between;padding:8px;pointer-events:none}.mag-thumb .overlay>*{pointer-events:auto}.mag-meta{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.mag-name{font-size:13px;font-weight:500;letter-spacing:-.005em;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.mag-name .idx{font-family:var(--f-mono);color:var(--ink-3);font-size:10px;font-weight:400}.mag-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.mag-actions{display:flex;gap:4px}.check{width:18px;height:18px;border:1.5px solid var(--ink);background:var(--paper);border-radius:3px;display:grid;place-items:center;cursor:default}.check[data-on=true]{background:var(--accent);border-color:var(--accent)}.check[data-on=true]:after{content:"";width:10px;height:5px;border-left:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:rotate(-45deg) translate(1px,-1px)}.lib-aside{border-left:1px solid var(--line);padding:22px 22px 80px;overflow:auto;background:var(--paper)}.aside-section{padding:14px 0;border-bottom:1px dashed var(--line)}.aside-section:first-child{padding-top:0}.aside-section h3{margin:0 0 10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.aside-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;cursor:default;font-size:13px}.aside-row:hover{color:var(--accent)}.aside-row .count{font-family:var(--f-mono);color:var(--ink-3);font-size:11px}.aside-row[data-on=true]{color:var(--ink);font-weight:500}.aside-row .tick{display:inline-grid;place-items:center;width:14px;height:14px;border:1.5px solid var(--line);border-radius:3px;margin-right:8px}.aside-row[data-on=true] .tick{background:var(--ink);border-color:var(--ink)}.aside-row[data-on=true] .tick:after{content:"";width:7px;height:4px;border-left:1.5px solid var(--paper);border-bottom:1.5px solid var(--paper);transform:rotate(-45deg) translate(.5px,-1px)}.bulkbar{position:sticky;bottom:16px;margin:18px 28px 0;background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);padding:10px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 32px #0000002e;font-size:13px;z-index:4;width:fit-content}.bulkbar .btn{background:transparent;border-color:#ffffff2e;color:var(--paper)}.bulkbar .btn:hover{background:#ffffff14}.bulkbar .btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.editor-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:#14120e66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;display:grid;place-items:stretch;padding:24px}.editor{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-rows:56px 1fr 60px;grid-template-columns:80px 1fr 320px;grid-template-areas:"head head head" "tools canvas panel" "foot foot foot";height:100%;width:100%}.ed-head{grid-area:head;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.ed-head-l{display:flex;align-items:center;gap:16px}.ed-tools{grid-area:tools;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 0;gap:4px;align-items:center}.ed-tool{width:56px;height:56px;border-radius:6px;border:1px solid transparent;background:transparent;display:grid;place-items:center;cursor:default;color:var(--ink-2);gap:4px}.ed-tool:hover{background:var(--paper-2);color:var(--ink)}.ed-tool[aria-current=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ed-tool-label{font-family:var(--f-mono);font-size:9px;letter-spacing:.04em}.ed-canvas{grid-area:canvas;background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 8px,var(--paper) 8px,var(--paper) 16px);display:grid;place-items:center;position:relative;overflow:hidden}.ed-stage{position:relative;background:var(--paper);box-shadow:0 8px 40px #0000002e;overflow:hidden}.ed-stage img{width:100%;height:100%;display:block;object-fit:cover}.ed-stage .frame,.ed-stage .crop-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ed-stage .crop-handles:before,.ed-stage .crop-handles:after{content:"";position:absolute;background:#ffffff40}.ed-stage .crop-handles:before{top:33.33%;right:0;bottom:33.33%;left:0;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);background:transparent}.ed-stage .crop-handles:after{top:0;right:33.33%;bottom:0;left:33.33%;border-left:1px solid rgba(255,255,255,.5);border-right:1px solid rgba(255,255,255,.5);background:transparent}.crop-corner{position:absolute;width:14px;height:14px;border:2px solid #fff}.crop-corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none}.crop-corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none}.crop-corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none}.crop-corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none}.ed-info{position:absolute;bottom:14px;left:14px;font-family:var(--f-mono);font-size:11px;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);padding:6px 10px;border-radius:4px;display:flex;gap:12px;align-items:center}.ed-info .dpi-warn{color:var(--warn)}.ed-info .dpi-ok{color:var(--ok)}.ed-zoom{position:absolute;bottom:14px;right:14px;display:flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:4px}.ed-panel{grid-area:panel;border-left:1px solid var(--line);overflow:auto;padding:18px;display:flex;flex-direction:column;gap:18px}.ed-foot{grid-area:foot;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--paper-2)}.slider-row{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;gap:10px;padding:4px 0}.slider-row label{font-size:12px;color:var(--ink-2)}.slider-row .val{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);text-align:right}.slider-row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2px;background:var(--line);border-radius:999px;outline:none}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:999px;background:var(--ink);cursor:pointer;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}.slider-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:999px;background:var(--ink);cursor:pointer;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--paper);cursor:default;display:flex;flex-direction:column}.preset[data-on=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.preset-pic{aspect-ratio:1/1;background:var(--paper-2);background-size:cover;background-position:center}.preset-name{text-align:center;font-family:var(--f-mono);font-size:10px;padding:5px 0;color:var(--ink-2);border-top:1px solid var(--line)}.frame-row{display:flex;gap:8px;flex-wrap:wrap}.frame-opt{flex:1 1 calc(50% - 4px);border:1px solid var(--line);background:var(--paper);padding:10px 12px;border-radius:4px;text-align:left;font-size:12px;display:flex;align-items:center;gap:8px;cursor:default}.frame-opt[data-on=true]{border-color:var(--ink);background:var(--paper-2)}.frame-swatch{width:20px;height:20px;border:1px solid var(--ink);background:var(--paper-2);flex-shrink:0}.ai-input{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:10px 12px;font:inherit;font-size:13px;resize:none;min-height:64px;outline:none}.ai-input:focus{border-color:var(--ink)}.ai-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ai-chip{font-size:11px;padding:4px 8px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;cursor:default;color:var(--ink-2)}.ai-chip:hover{color:var(--ink);border-color:var(--ink-3)}.ai-diff{margin-top:12px;border:1px solid var(--line);border-radius:4px;overflow:hidden}.ai-diff-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.ai-diff-pair>div{background:var(--paper-2);aspect-ratio:3/4;background-size:cover;background-position:center;position:relative}.ai-diff-pair>div:before{position:absolute;top:6px;left:6px;font-family:var(--f-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:#0000008c;color:#fff;padding:2px 5px;border-radius:2px}.ai-diff-pair>div:first-child:before{content:"before"}.ai-diff-pair>div:last-child:before{content:"after"}.ai-diff-caption{padding:8px 12px;font-size:12px;color:var(--ink-2);background:var(--paper);border-top:1px solid var(--line)}.ai-diff-actions{display:flex;gap:6px;padding:8px;background:var(--paper);border-top:1px solid var(--line)}.ai-history{margin-top:12px;display:flex;flex-direction:column;gap:4px}.ai-history-item{font-family:var(--f-mono);font-size:11px;padding:6px 8px;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;display:flex;justify-content:space-between;align-items:center;color:var(--ink-2)}.planner{display:grid;grid-template-columns:230px 1fr 248px;flex:1;min-height:0}.plan-pool{border-right:1px solid var(--line);overflow:auto;padding:18px;background:var(--paper)}.plan-stage{overflow:auto;background:var(--paper-2);background-image:linear-gradient(to right,rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.025) 1px,transparent 1px);background-size:18px 18px;padding:28px;position:relative}.plan-stage.drop-active{background-color:color-mix(in oklab,var(--accent) 5%,var(--paper-2))}.plan-aside{border-left:1px solid var(--line);overflow:auto;padding:18px;background:var(--paper)}.plan-section-title{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline}.pool-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:4px;border:1px solid transparent;margin-bottom:4px}.pool-row:hover{background:var(--paper-2)}.pool-row[data-on=true]{background:var(--paper-2);border-color:var(--line)}.pool-thumb{width:40px;height:40px;background:var(--paper-3);background-size:cover;background-position:center;border-radius:3px;flex-shrink:0}.pool-meta{flex:1;min-width:0}.pool-meta .nm{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-meta .sz{font-size:10px;color:var(--ink-3);letter-spacing:.02em;margin-top:2px}.pool-steppers{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.stp{display:grid;grid-template-columns:14px 18px 16px 18px;align-items:center;gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:1px 4px 1px 5px;font-size:11px}.stp.on{background:var(--paper-2);border-color:var(--ink-2)}.stp.on.accent{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,var(--paper))}.stp.on .stp-lbl{color:var(--ink);font-weight:600}.stp.on.accent .stp-lbl{color:var(--accent)}.stp-lbl{color:var(--ink-3);font-size:10px;text-align:left}.stp-count{text-align:center;font-variant-numeric:tabular-nums;color:var(--ink);font-size:11px}.stp-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-size:13px;line-height:1;padding:0;height:18px;border-radius:2px;color:var(--ink-2);cursor:default}.stp-btn:hover:not(:disabled){background:var(--ink);color:var(--paper)}.stp-btn:disabled{opacity:.25;cursor:not-allowed}.pool-tally{display:flex;gap:14px;padding:8px 10px;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;font-size:12px;color:var(--ink-2);margin-bottom:14px}.pool-tally>div{display:flex;align-items:center;gap:6px}.pool-tally b{color:var(--ink);font-weight:600}.pool-tally .accent{color:var(--accent);font-weight:600}.sheets{display:flex;flex-wrap:wrap;gap:32px 28px;align-items:flex-start}.sheet-card{display:flex;flex-direction:column;gap:10px;animation:drop-in .38s cubic-bezier(.2,.7,.2,1) both}.sheet-card.drop-target .sheet{outline:2px dashed var(--accent);outline-offset:6px}.slot.dragging{opacity:.4}.slot:hover{box-shadow:0 0 0 2px var(--accent);z-index:2}@keyframes drop-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}.sheet-head .sh-n{color:var(--ink)}.sheet-head .sh-waste{color:var(--ink-3)}.sheet-head .sh-waste b{color:var(--ink-2);font-weight:500}.sheet{background:var(--paper);border:1px solid var(--ink);position:relative}.sheet[data-marks=true]:before,.sheet[data-marks=true]:after{content:"";position:absolute;background:var(--ink)}.sheet[data-marks=true] .crop-mark{position:absolute;width:12px;height:12px;background:transparent}.sheet[data-marks=true] .crop-mark:before,.sheet[data-marks=true] .crop-mark:after{content:"";position:absolute;background:var(--ink)}.sheet[data-marks=true] .crop-mark:before{width:1px;height:100%;left:50%}.sheet[data-marks=true] .crop-mark:after{width:100%;height:1px;top:50%}.cm-tl{top:-16px;left:-16px}.cm-tr{top:-16px;right:-16px}.cm-bl{bottom:-16px;left:-16px}.cm-br{bottom:-16px;right:-16px}.slot{position:absolute;background:var(--paper-2);background-size:cover;background-position:center;border:1px solid var(--ink);cursor:grab;transition:outline .1s;animation:slot-pop .26s cubic-bezier(.2,.7,.2,1) both}@keyframes slot-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.slot[data-bleed=true]{outline:1px dashed rgba(0,0,0,.35);outline-offset:-4px}.slot .slot-label{position:absolute;bottom:4px;left:4px;right:4px;font-family:var(--f-mono);font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);letter-spacing:.04em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.slot .slot-size{position:absolute;top:4px;left:4px;font-family:var(--f-mono);font-size:9px;background:#0000008c;color:#fff;padding:2px 4px;border-radius:2px}.slot-empty{background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 6px,var(--paper-3) 6px,var(--paper-3) 12px);display:grid;place-items:center;color:var(--ink-3);font-family:var(--f-mono);font-size:10px;text-align:center;padding:8px}.summary-stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13px}.summary-stat .v{font-family:var(--f-mono)}.summary-stat:last-child{border-bottom:0}.decision-log{display:flex;flex-direction:column;gap:6px}.decision{font-family:var(--f-mono);font-size:11px;color:var(--ink-2);padding:8px 10px;background:var(--paper-2);border-left:2px solid var(--ink);border-radius:0 3px 3px 0;line-height:1.4}.decision.combo{border-left-color:var(--accent);color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--paper))}.print-cta{margin-top:28px;background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 32px #0000001f;animation:fade-in .22s ease-out both;position:sticky;bottom:12px;z-index:3}.print-cta-l{display:flex;align-items:center;gap:14px}.print-cta-num{width:44px;height:44px;display:grid;place-items:center;font-family:var(--f-mono);font-size:18px;font-weight:600;background:var(--accent);color:var(--accent-ink);border-radius:8px}.print-cta-h{font-size:15px;font-weight:500;letter-spacing:-.005em}.print-cta-sub{font-size:11px;letter-spacing:.04em;color:#fff9;margin-top:2px}.print-cta .btn{background:transparent;border-color:#ffffff2e;color:var(--paper)}.print-cta .btn:hover{background:#ffffff14}.print-cta .btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.print-cta .btn-accent:hover{filter:brightness(.95)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:6px 12px;font:inherit;font-size:12px;color:var(--ink-2);cursor:default}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.dl-wrap{padding:28px 36px 80px;max-width:1180px;width:100%;margin:0 auto}.dl-hero{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start;padding-bottom:28px;border-bottom:1px dashed var(--line)}.dl-hero h2{margin:0 0 8px;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.dl-hero p{margin:0 0 22px;color:var(--ink-2);font-size:14px;max-width:48ch}.spec-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--paper);display:flex;flex-direction:column;gap:4px;position:sticky;top:80px}.spec-card .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--line);font-size:12.5px;gap:10px}.spec-card .row:last-child{border-bottom:0}.spec-card .row .v{font-family:var(--f-mono);font-size:11.5px;color:var(--ink-2)}.dl-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 14px}.dl-option{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--paper);cursor:default}.dl-option[data-on=true]{border-color:var(--ink)}.dl-option .nm{font-size:13px;font-weight:500;margin-bottom:2px;display:flex;align-items:center;gap:8px}.dl-option .desc{font-size:11.5px;color:var(--ink-3)}.dl-progress{margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:var(--paper)}.dl-prog-bar{height:4px;background:var(--paper-2);border-radius:999px;overflow:hidden;margin:12px 0 6px}.dl-prog-fill{height:100%;background:var(--accent);transition:width .2s}.dl-step-list{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}.dl-step{display:flex;gap:8px}.dl-step.done{color:var(--ok)}.dl-step.run{color:var(--ink)}.dl-step .step-dot{width:10px;height:10px;border:1.5px solid currentColor;border-radius:999px;margin-top:2px;flex-shrink:0}.dl-step.done .step-dot{background:currentColor}.empty-block{border:1.5px dashed var(--line);border-radius:6px;padding:50px 24px;display:grid;place-items:center;color:var(--ink-3);font-family:var(--f-mono);font-size:12px;text-align:center}.seg-lg button{padding:6px 14px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.album-layout-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.album-layout{border:1px solid var(--line);border-radius:var(--radius);padding:12px 12px 10px;background:var(--paper);cursor:default;display:flex;flex-direction:column;gap:6px;transition:border-color .12s}.album-layout:hover{border-color:var(--ink-2)}.album-layout[data-on=true]{border-color:var(--ink);background:var(--paper-2)}.album-layout .nm{font-size:12.5px;font-weight:500}.album-layout .desc{font-size:11px;color:var(--ink-3);line-height:1.35}.album-layout-glyph{height:38px;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;display:grid;gap:2px;padding:3px;margin-bottom:4px}.album-layout-glyph span{background:var(--ink-3);border-radius:1px}.glyph-mosaic{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.glyph-mosaic span:nth-child(1){grid-row:span 2}.glyph-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.glyph-carousel{grid-template-columns:1fr 3fr 1fr}.glyph-carousel span.big{background:var(--ink)}.glyph-timeline{grid-template-rows:repeat(4,1fr)}.glyph-timeline span{height:100%}.album-cover-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.album-cover-pick{width:50px;height:50px;background-size:cover;background-position:center;border-radius:4px;border:1.5px solid transparent;flex-shrink:0;cursor:default;transition:transform .12s,border-color .12s}.album-cover-pick:hover{transform:translateY(-2px)}.album-cover-pick[data-on=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.album-url{display:flex;align-items:center;gap:8px;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:6px 6px 6px 10px;font-size:11.5px}.album-url .mono{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.album-preview{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 12px 32px #0000000f}.album-cover{position:relative;height:360px;overflow:hidden}.album-cover-img{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:brightness(.85)}.album-cover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:32px 36px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 50%,transparent 80%)}.album-cover-overlay h3{margin:6px 0 4px;font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.album-cover-sub{font-size:15px;opacity:.85;max-width:50ch}.album-cover-meta{margin-top:14px;font-size:10.5px;letter-spacing:.08em;opacity:.6}.album-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:140px;gap:4px;padding:20px;background:var(--paper-2)}.album-tile{position:relative;background-size:cover;background-position:center;border-radius:2px;overflow:hidden;background-color:var(--paper-3)}.album-tile .album-cap{position:absolute;bottom:6px;left:8px;right:8px;font-family:var(--f-mono);font-size:10px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .2s}.album-tile:hover .album-cap{opacity:1}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:20px;background:var(--paper-2)}.album-grid .album-tile{aspect-ratio:1}.album-carousel{display:flex;gap:6px;overflow-x:auto;padding:20px;background:var(--paper-2);scroll-snap-type:x mandatory}.album-slide{flex:0 0 78%;height:320px;background-size:cover;background-position:center;position:relative;border-radius:4px;scroll-snap-align:start}.album-slide-meta{position:absolute;bottom:14px;left:16px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.album-timeline{padding:24px 28px;display:flex;flex-direction:column}.album-tl-row{display:grid;grid-template-columns:84px 20px 1fr;gap:16px;align-items:center;padding:10px 0}.album-tl-date{font-size:11px;letter-spacing:.06em;color:var(--ink-3);text-align:right}.album-tl-line{position:relative;height:100%;width:20px;display:grid;place-items:center}.album-tl-line:before{content:"";position:absolute;left:50%;top:-10px;bottom:-10px;width:1px;background:var(--line)}.album-tl-dot{width:8px;height:8px;background:var(--ink);border-radius:999px;border:2px solid var(--paper);z-index:1}.album-tl-card{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:8px}.album-tl-thumb{width:64px;height:64px;background-size:cover;background-position:center;border-radius:3px;flex-shrink:0}.album-tl-meta .nm{font-size:13px;font-weight:500}.album-tl-meta .sz{font-size:11px;color:var(--ink-3);margin-top:2px}.toast-stack{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px}.toast{background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:6px;font-size:13px;box-shadow:0 10px 32px #0000002e;animation:toast-in .2s ease-out both}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.banner{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;background:color-mix(in oklab,var(--warn) 14%,var(--paper));border:1px solid color-mix(in oklab,var(--warn) 35%,var(--line));color:var(--warn);font-size:12.5px}.row-flex{display:flex;align-items:center;gap:8px}.spacer{flex:1}.hide{display:none!important}.fade-in{animation:fade-in .24s ease-out both}@keyframes fade-in{0%{opacity:0}}.ico{width:14px;height:14px;display:inline-block;flex-shrink:0}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important;margin:0!important;padding:0!important;height:auto!important;overflow:visible!important}body{color:#000!important}.sidebar,.topbar,.plan-pool,.plan-aside,.print-cta,.twk-panel,.toast-stack,.editor-shell,.ai-diff-actions,.bulkbar{display:none!important}.app{display:block!important;height:auto!important;overflow:visible!important;grid-template-columns:1fr!important}.main{overflow:visible!important}.planner{display:block!important;grid-template-columns:1fr!important}.plan-stage{overflow:visible!important;padding:0!important;background:#fff!important;background-image:none!important}.sheets{display:block!important;gap:0!important;margin:0!important;padding:0!important}.sheet-card{page-break-after:always;break-after:page;margin:0!important;padding:0!important;animation:none!important;gap:0!important;display:block!important}.sheet-card:last-child{page-break-after:auto;break-after:auto}.sheet-head{display:none!important}.sheet{margin:0!important;background:#fff!important;border:0!important;box-shadow:none!important;position:relative!important;page-break-inside:avoid;break-inside:avoid}.sheet[data-kind=small]{width:150mm!important;height:100mm!important}.sheet[data-kind=large]{width:150mm!important;height:200mm!important}.crop-mark{width:4mm!important;height:4mm!important}.cm-tl{top:-5mm!important;left:-5mm!important}.cm-tr{top:-5mm!important;right:-5mm!important}.cm-bl{bottom:-5mm!important;left:-5mm!important}.cm-br{bottom:-5mm!important;right:-5mm!important}.crop-mark:before{width:.25mm!important;background:#000!important}.crop-mark:after{height:.25mm!important;background:#000!important}.slot{border:0!important;outline:0!important;cursor:default!important;animation:none!important;background-color:#fff!important}.slot-label,.slot-size{display:none!important}.slot[data-bleed=true]{outline:.5mm dashed rgba(0,0,0,.15)!important;outline-offset:-1mm!important}}.bulk-adjust-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14120e52;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:60;cursor:pointer}.bulk-adjust-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--paper);border-left:1px solid var(--line);box-shadow:-18px 0 48px #0000002e;z-index:61;display:grid;grid-template-rows:auto 1fr auto;animation:bulk-drawer-slide .24s cubic-bezier(.2,.8,.2,1)}@keyframes bulk-drawer-slide{0%{transform:translate(100%);opacity:.4}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.bulk-adjust-drawer{animation:none}}.bad-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.bad-title{margin:4px 0 0;font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.bad-title b{color:var(--accent);font-weight:700}.bad-body{padding:18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:22px}.bad-body section{display:flex;flex-direction:column;gap:10px}.bad-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px}.bad-thumb{aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}.bad-thumb-more{display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);background:var(--paper-2)}.bad-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.bad-preset{padding:8px 6px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.bad-preset:hover{background:var(--paper-2)}.bad-preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bad-preset[data-on]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.bad-foot{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--line);background:var(--paper)}.bad-foot-spacer{flex:1}body{background:var(--paper)!important;color:var(--ink)!important}#root{min-height:100vh;display:block}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.login-card{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:18px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field-label{font-size:11px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.login-password-wrap{position:relative}.login-password-wrap .input{width:100%;padding-right:36px}.login-password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink-3);cursor:pointer;border-radius:3px}.login-password-toggle:hover{color:var(--ink);background:var(--paper-2)}.sidebar-event-picker{display:flex;flex-direction:column;gap:6px;padding:6px 6px 14px;border-bottom:1px dashed var(--line)}.palette-row{display:flex;gap:6px;padding:12px 6px 6px;border-top:1px dashed var(--line)}.palette-swatch{flex:1;height:22px;border-radius:4px;border:1px solid var(--line);cursor:pointer;padding:0;position:relative}.palette-swatch[data-on=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.palette-swatch[data-value=paper]{background:linear-gradient(135deg,#f1ece1 50%,#c2392a 50%)}.palette-swatch[data-value=slate]{background:linear-gradient(135deg,#ebeef2 50%,#1f5fd6 50%)}.palette-swatch[data-value=bone]{background:linear-gradient(135deg,#efe9dc 50%,#5a6b1c 50%)}.palette-swatch[data-value=carbon]{background:linear-gradient(135deg,#15140f 50%,#cfd54a 50%)}.aside-row[data-status=all] .tick{background:transparent}@media print{body[data-printing=true] .app,body[data-printing=true] .sidebar,body[data-printing=true] .topbar,body[data-printing=true] .editor-shell,body[data-printing=true] .toast-stack{display:none!important}}.spinner{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-shell{min-height:100vh;display:grid;place-items:center;background:var(--paper)}
