:root{--bg:#121815;--mat:#18211e;--panel:#1a2320;--raised:#222d29;--line:#2f3c37;--fg:#e8ebe4;--muted:#98a59e;--foil:#d6b26e;--foil-ink:#1b1508;--warn:#e3b25b;--danger:#e58a72;--ok:#95c08e;--font-display:"Bodoni Moda", "Didot", Georgia, serif;--font-ui:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--r:6px;--panel-w:400px;--proof-mm:1.55px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font:14px/1.45 var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--foil);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px}.dim{color:var(--muted)}.app{grid-template-rows:auto 1fr;height:100%;display:grid}.bar{border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:16px;padding:10px 16px;display:flex}.brand{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.02em;font-size:20px}.suite-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.modes{border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex}.modes button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;display:inline-flex}.modes button.on{background:var(--fg);color:var(--bg)}.badge{font:600 10px/1 var(--font-mono);background:var(--warn);color:var(--foil-ink);border-radius:999px;padding:3px 5px}.history{gap:4px;display:flex}.history button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:34px;height:34px;font-size:16px}.history button:disabled{opacity:.35;cursor:default}.workspace{grid-template-columns:minmax(0, 1fr) var(--panel-w);min-height:0;display:grid}.stage{background:var(--mat);min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-host{position:absolute;inset:0}.panel{border-left:1px solid var(--line);background:var(--panel);min-height:0;overflow-y:auto}@media (width<=899px){.bar{flex-wrap:wrap;gap:8px 12px}.brand{flex-basis:calc(100% - 90px)}.modes{flex:1;order:3;justify-content:stretch}.modes button{flex:1;justify-content:center}.workspace{grid-template-rows:minmax(280px,50svh) 1fr;grid-template-columns:minmax(0,1fr)}.app[data-mode=proof] .workspace{grid-template-rows:1fr auto}.panel{border-left:0;border-top:1px solid var(--line)}:root{--proof-mm:1.05px}}.strip{scrollbar-width:none;background:linear-gradient(#0000,#121815d9);gap:6px;padding:10px 16px 12px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.strip button{border:1px solid var(--line);cursor:pointer;background:#1a2320e6;border-radius:999px;flex:none;align-items:center;gap:7px;padding:6px 12px 6px 8px;font-size:13px;display:inline-flex}.strip button.on{border-color:var(--foil);color:var(--foil)}.chip{border-radius:3px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #ffffff2e}.chip[data-sheen]{background-image:linear-gradient(135deg,#ffdcf080,#c8f0ff80)!important}.chip[data-clear]{opacity:.55}.panel-body{flex-direction:column;padding-block:4px 32px;display:flex}.section{border-bottom:1px solid var(--line);gap:10px;padding:16px;display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section-head h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:600}.piece-title{border-bottom:1px solid var(--line);padding:14px 16px 12px}.piece-title h2{font:500 26px/1.1 var(--font-display);text-wrap:balance;margin:6px 0 2px}.piece-title p{margin:0}.note{color:var(--muted);max-width:60ch;margin:0;font-size:12.5px}.note.ok{color:var(--ok)}.link,.danger-link{cursor:pointer;color:var(--foil);background:0 0;border:0;padding:0;font-size:13px}.danger-link{color:var(--danger);justify-self:start;margin:16px}.node-body .danger-link{margin:4px 0 0}.row-actions{flex-wrap:wrap;gap:14px;display:flex}button.primary{border-radius:var(--r);background:var(--foil);color:var(--foil-ink);cursor:pointer;border:0;justify-self:start;padding:8px 14px;font-weight:600}button.primary:disabled{opacity:.45;cursor:default}.field{gap:5px;min-width:0;display:grid}.field>label{color:var(--muted);font-size:12px}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.select,textarea,.ask input,.swatch-name{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r);background:var(--raised);width:100%;padding:7px 9px}textarea{resize:vertical;line-height:1.4}.check{align-items:center;gap:8px;font-size:13px;display:flex}.segmented{flex-wrap:wrap;gap:4px;display:flex}.segmented button{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:0 0;padding:6px 10px;font-size:13px}.segmented button.on{border-color:var(--fg);background:var(--fg);color:var(--bg)}.segmented button:disabled{opacity:.35;cursor:not-allowed}.range{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.range input{accent-color:var(--foil);width:100%;min-width:0}.range output{text-align:right;min-width:52px}.stock-list{gap:2px;display:grid}.stock{border-radius:var(--r);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:7px 8px;display:grid}.stock:hover{background:var(--raised)}.stock.on{border-color:var(--foil)}.stock .chip{width:22px;height:22px}.nodes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.node{border:1px solid var(--line);border-radius:var(--r);background:var(--raised)}.node summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;list-style:none;display:grid}.node summary::-webkit-details-marker{display:none}.node[open] summary{border-bottom:1px solid var(--line)}.node-label{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.font-garamond{font-family:Cormorant Garamond,Georgia,serif;font-weight:500}.font-garamond-italic{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500}.font-script{font-family:Pinyon Script,cursive;font-size:18px}.font-didone{font-family:Bodoni Moda,Georgia,serif}.font-sans{font-family:Jost,system-ui,sans-serif}.node-body{gap:12px;padding:12px 10px;display:grid}.finish-dot{border:1.5px solid var(--muted);border-radius:50%;width:10px;height:10px}.finish-foil{background:var(--foil);border-color:var(--foil)}.finish-letterpress{background:var(--muted)}.finish-ink{background:var(--fg);border-color:var(--fg)}.finish-blind,.finish-emboss{background:0 0}.presets{gap:6px;display:grid}.preset{text-align:left;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:0 0;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:12px;padding:10px;display:grid}.preset.on{border-color:var(--foil)}.preset-swatches{grid-row:span 2;grid-template-columns:repeat(3,9px);align-content:center;gap:2px;display:grid}.preset-swatches span{border-radius:2px;height:26px}.preset-name{font-family:var(--font-display);font-size:16px}.preset .dim{font-size:12.5px}.pieces{margin:0;padding:0;list-style:none;display:grid}.piece-row{border:0;border-bottom:1px dashed var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:8px 4px;display:grid}.piece-row:hover{color:var(--foil)}.palette{gap:8px;margin:0;padding:0;list-style:none;display:grid}.swatch-row{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"sw name proof""sw lab lab";align-items:center;gap:2px 10px;display:grid}.swatch{border-radius:var(--r);cursor:pointer;grid-area:sw;width:34px;height:34px;position:relative;box-shadow:inset 0 0 0 1px #fff3}.swatch input{opacity:0;cursor:pointer;position:absolute;inset:0}.swatch-name{background:0 0;border-color:#0000;grid-area:name;padding:3px 6px}.swatch-name:hover,.swatch-name:focus{border-color:var(--line)}.lab{grid-area:lab;padding-left:7px}.proof-chip{grid-area:proof;align-items:center;gap:6px;display:inline-flex}.proof-chip>span:first-child{border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 1px #fff3}.proof-chip.warn .mono{color:var(--warn)}.adapters{gap:6px;display:grid}.adapter{text-align:left;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:0 0;gap:2px;padding:10px;display:grid}.adapter.on{border-color:var(--foil)}.adapter-name{font-weight:600}.adapter .dim{font-size:12.5px}.subs{border-radius:var(--r);background:#e3b25b14;border:1px solid #e3b25b59;gap:8px;padding:10px;display:grid}.subs p,.subs ul{margin:0}.subs ul{color:var(--muted);padding-left:18px;font-size:13px}.ask{border-bottom:1px solid var(--line);background:var(--raised);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 16px;display:grid}.ask button:not(.primary){border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:0 0;padding:7px 12px}.ask-status{color:var(--foil);grid-column:1/-1;margin:0;font-size:12.5px}.proof{background:linear-gradient(var(--line) 1px, transparent 1px) 0 0 / 100% calc(10 * var(--proof-mm)), var(--mat);background-blend-mode:normal;padding:20px 16px 40px;position:absolute;inset:0;overflow:auto}.proof-head{max-width:64ch;margin-bottom:20px}.proof-head h2{font:500 24px/1.15 var(--font-display);margin:0 0 4px}.proof-head p{margin:0;font-size:12.5px}.flats{flex-wrap:wrap;align-items:flex-start;gap:28px 24px;display:flex}.flat-card{gap:10px;max-width:100%;margin:0;display:grid}.flat{max-width:100%}.flat canvas{filter:drop-shadow(0 1px 1px #00000059)drop-shadow(0 6px 14px #00000040);width:100%;height:auto;display:block}.flat-card figcaption{gap:4px;max-width:32ch;font-size:13px;display:grid}.passes{color:var(--muted);margin:2px 0;padding-left:18px;font-size:12.5px}.ink-row{align-items:center;gap:8px;font-size:12.5px;display:flex}.ink-row .pair{display:inline-flex}.ink-row .pair span{width:14px;height:14px;box-shadow:inset 0 0 0 1px #fff3}.ink-row.warn .mono{color:var(--warn)}.tag{font:600 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--warn)}.issue{border-left:2px solid var(--warn);color:var(--fg);padding-left:10px;font-size:12.5px}.issue.error{border-color:var(--danger)}.toasts{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none;z-index:10;gap:6px;width:min(440px,100vw - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--r);background:var(--fg);color:var(--bg);margin:0;padding:10px 14px;font-size:13px;box-shadow:0 8px 24px #00000059}.toast.error{color:#ffd9cf;border:1px solid var(--danger);background:#3a1f19}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.node.selected{border-color:var(--foil)}.type-anchor{pointer-events:none}.type-input{opacity:0;resize:none;white-space:pre;caret-color:#0000;color:#0000;background:0 0;border:0;width:2px;height:1.2em;margin:0;padding:0;font-size:16px;position:absolute;top:-.6em;left:0;overflow:hidden}.toolbar{z-index:2;pointer-events:none;justify-items:center;gap:6px;display:grid;position:absolute;top:12px;left:12px;right:12px}.toolbar>*{pointer-events:auto}.toolbar-row{border:1px solid var(--line);scrollbar-width:none;background:#1a2320f0;border-radius:10px;align-items:center;gap:2px;max-width:100%;padding:4px;display:flex;overflow-x:auto;box-shadow:0 8px 24px #00000059}.toolbar-row button{cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:none;padding:6px 10px;font-size:13px}.toolbar-row button:hover,.toolbar-row button.on{background:var(--raised)}.toolbar-row button.on{color:var(--foil)}.toolbar-target{border-right:1px solid var(--line);font:500 15px/1 var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:18ch;margin-right:2px;padding:0 10px 0 8px;overflow:hidden}.toolbar-row .fine-toggle{border-left:1px solid var(--line);color:var(--muted);border-radius:0 7px 7px 0;margin-left:4px}.toolbar-row .fine-toggle.on{color:var(--foil)}.toolbar-hint{color:var(--muted);white-space:nowrap;pointer-events:none;background:#121815bf;border-radius:999px;margin:0;padding:4px 10px;font-size:12px}.choices{border:1px solid var(--line);background:#1a2320f5;border-radius:10px;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(560px,100%);padding:8px;display:flex;box-shadow:0 12px 30px #0006}.choices button{cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;align-content:start;justify-items:center;gap:6px;min-width:76px;max-width:108px;padding:8px 8px 7px;font-size:12.5px;line-height:1.2;display:grid}.choices button:hover,.choices button:focus-visible{background:var(--raised)}.choices button.on{border-color:var(--foil)}.choices-font button{max-width:140px;padding-block:10px}.thumb-swatch{border-radius:50%;width:30px;height:30px;box-shadow:inset 0 0 0 1px #ffffff38}.thumb-edge{width:36px;height:48px}.thumb-edge path{fill:var(--fg);opacity:.9}.thumb-size{background:var(--fg);opacity:.85;border-radius:1px;display:block}.choices .finish-dot{width:14px;height:14px;margin:8px 0}.suggestions{flex-wrap:wrap;gap:6px;padding:14px 16px 2px;display:flex}.suggestion{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:12.5px}.suggestion:hover{border-color:var(--foil);color:var(--foil)}.elements{gap:4px;margin:0;padding:0;list-style:none;display:grid}.element{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 10px;display:grid}.element .node-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.element:hover{background:var(--raised)}.element.on{border-color:var(--foil)}.palette.quiet{flex-wrap:wrap;gap:12px 16px;display:flex}.palette.quiet li{align-items:center;gap:8px;font-size:13px;display:flex}.palette.quiet .swatch{border-radius:50%;width:26px;height:26px}.fine-link{color:var(--muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;margin:18px 16px 0;padding:0;font-size:12.5px}.fine-link:hover{color:var(--fg)}.cmdk-open{border:1px solid var(--line);border-radius:var(--r);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:5px 8px 5px 12px;font-size:13px;display:inline-flex}.cmdk-open kbd{background:var(--raised);border-radius:4px;padding:1px 5px}.palette-backdrop{z-index:20;background:#0a0e0c59;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.cmdk{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(560px,100%);max-height:64vh;display:grid;overflow:hidden;box-shadow:0 24px 60px #00000080}.cmdk input{border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:14px 16px;font-size:15px}.cmdk ul{margin:0;padding:6px;list-style:none;overflow-y:auto}.cmdk-group{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 10px 4px;font-size:11px;font-weight:600}.cmdk-item{cursor:pointer;border-radius:7px;justify-content:space-between;gap:16px;padding:8px 10px;display:flex}.cmdk-item .dim{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cmdk-item.on{background:var(--raised)}.cmdk-empty{padding:12px 10px}.printer-bar{gap:10px;max-width:64ch;margin-bottom:24px;display:grid}.printer-bar .adapters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (width<=899px){.cmdk-open span,.toolbar-hint{display:none}}.expect,.print-files{border-radius:var(--r);border:1px solid var(--line);background:#1a2320d9;max-width:72ch;margin-bottom:24px;padding:14px 16px}.expect h3,.print-files h3{font:500 17px/1.2 var(--font-display);margin:0 0 8px}.expect ul,.maker-notes,.profiles,.plans{gap:6px;margin:0;padding-left:18px;font-size:13px;display:grid}.expect li[data-topic=metallic]::marker{color:var(--foil)}.expect li[data-topic=water]::marker{color:var(--warn)}.expect li[data-topic=light]::marker{color:var(--warn)}.print-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:12px;display:grid}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:600}.profiles{margin-bottom:8px;padding:0;list-style:none}.profile-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.profile-row .mono{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}.file-pick{position:relative;overflow:hidden}.file-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.maker-notes{color:var(--muted);margin:4px 0 14px}.print-files .row-actions{align-items:center}.finish-picture{background:conic-gradient(from 200deg,#c98f7a,#d6b26e,#8fae8a,#7f9cc0,#c98f7a);border-color:#0000}.thumb-frame{width:30px;height:32px}.thumb-frame path{fill:var(--fg);opacity:.85}.thumb-frame[data-bleed] path{opacity:.55}.picture-quality{font-family:var(--font-mono);color:var(--muted);margin:0 0 10px;font-size:11.5px}.picture-quality.q-soft{color:var(--warn)}.picture-quality.q-blurry{color:var(--danger)}.row-actions button:disabled{opacity:.35;cursor:default}body[data-dropping] .stage:after{content:"Drop to add the picture to this card";border:1.5px dashed var(--foil);border-radius:var(--r);color:var(--fg);pointer-events:none;z-index:30;background:#1218158c;place-items:center;font-size:15px;display:grid;position:absolute;inset:12px}.story{gap:14px;display:grid}.story-input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r);background:var(--raised);width:100%;padding:7px 9px}.story-input::placeholder,.story textarea::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}.story-ask{border:1px solid color-mix(in srgb, var(--foil) 45%, var(--line));border-radius:var(--r);background:color-mix(in srgb, var(--foil) 6%, var(--raised));gap:8px;padding:12px;display:grid}.story-q{font:500 19px/1.25 var(--font-display);text-wrap:balance;margin:0}.story-group{gap:10px;display:grid}.story-group h4{color:var(--fg);margin:0;font-size:12px;font-weight:600;display:inline}details.story-group>summary{cursor:pointer;padding-block:2px;list-style:none}details.story-group>summary:before{content:"▸ ";color:var(--muted)}details.story-group[open]>summary:before{content:"▾ "}details.story-group[open]{padding-bottom:4px}.story-field>label{align-items:center;gap:8px;display:flex}.story-ok{color:var(--ok);font-size:12px}.story-check{border:1px solid var(--warn);color:var(--warn);cursor:pointer;background:0 0;border-radius:999px;padding:1px 8px;font-size:11px}.story-colours{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.story-swatch{cursor:pointer;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;display:inline-grid;box-shadow:inset 0 0 0 1px #fff3}.story-colours.small .story-swatch{cursor:default;width:16px;height:16px}.story-swatch.add{border:1px dashed var(--muted);box-shadow:none;color:var(--muted)}.story-moments{gap:8px;margin:0;padding:0;list-style:none;display:grid}.story-moments li{border-left:2px solid var(--foil);padding:2px 0 2px 10px}.story-moments p{margin:0 0 4px;font:italic 500 15px/1.35 Cormorant Garamond,Georgia,serif}.story-moment-new{gap:6px;display:grid}.story-moment-new button{justify-self:start}.story-refs{gap:10px;margin:0;padding:0;list-style:none;display:grid}.story-ref{grid-template-columns:64px 1fr;align-items:start;gap:10px;display:grid}.story-ref img,.story-ref-empty{object-fit:cover;background:var(--raised);border-radius:4px;width:64px;height:64px}.story-ref .note{margin-bottom:4px}.dim-link{color:var(--muted)}.story-guests{font-size:11.5px}button.secondary{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:0 0;padding:7px 13px}button.secondary:disabled{color:var(--muted);cursor:default}.story .link{text-align:left;justify-self:start}
