:root{--porcelain:#fff;--card:#fff;--linen:#edebe7;--surface:#f6f5f2;--ink:#1a1918;--ink-soft:#6e6a62;--flax:#e7e5e0;--pine:#4a5d45;--pine-dark:#3e5138;--accent:var(--pine);--radius:12px;--serif:"Instrument Serif", Georgia, serif;--sans:"Instrument Sans", -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--porcelain);height:100dvh;color:var(--ink);font-family:var(--sans);flex-direction:column;font-size:15px;line-height:1.5;display:flex;overflow:hidden}button{font-family:var(--sans);cursor:pointer;color:var(--ink)}input,textarea{font-family:var(--sans);color:var(--ink);font-size:14px}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}header{background:var(--card);border-bottom:1px solid var(--flax);z-index:30;flex:none;align-items:center;gap:12px;padding:12px 20px;display:flex;position:relative}.menu-btn{background:0 0;border:0;padding:4px 2px;font-size:18px;line-height:1}.wordmark{align-items:baseline;gap:7px;line-height:1;display:inline-flex}.wordmark .wm-script{color:var(--pine);letter-spacing:.01em;font-family:Dancing Script,cursive;font-size:26px;font-weight:700}.wordmark .wm-caps{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);font-size:12.5px;transform:translateY(-2px)}.checkout{background:var(--ink);color:#f5f3ee;white-space:nowrap;border:0;border-radius:9px;margin-left:auto;padding:9px 15px;font-size:14px;font-weight:500;transition:background-color .12s}.checkout:hover{background:var(--pine-dark)}.menu{z-index:50;background:var(--card);border:1px solid var(--flax);border-radius:var(--radius);min-width:200px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);left:10px;box-shadow:0 12px 32px #1a19181f}.menu.open{display:block}.menu button{text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:9px 12px;font-size:14px;display:block}.menu button[aria-current=true]{background:var(--linen);font-weight:600}.menu .soon{color:var(--ink-soft);padding:7px 12px 5px;font-size:12px}.dock{background:var(--card);border-bottom:1px solid var(--flax);z-index:20;flex:none;position:relative}.dock-body{max-height:58dvh;padding:16px 20px 20px;overflow-y:auto}.dock.collapsed .dock-body,.dock-summary{display:none}.dock.collapsed .dock-summary{text-align:left;width:100%;color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;display:flex}.dock-summary .sum{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dock-summary .sum b{color:var(--ink);font-weight:600}.dock-summary .edit{color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:1px;font-weight:600}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.label[hidden]{display:none}.label-row{align-items:center;gap:6px;margin-bottom:7px;display:flex}.label-row .label{margin-bottom:0}.info-pop{position:relative}.info-pop summary{cursor:pointer;border:1px solid var(--ink-soft);width:15px;height:15px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;font-size:10.5px;list-style:none;transition:background-color .12s,color .12s;display:inline-flex}.info-pop summary:hover{background:var(--ink-soft);color:#fff}.info-pop summary::-webkit-details-marker{display:none}.info-pop[open] summary{background:var(--ink-soft);color:#fff}.info-pop p{z-index:5;border:1px solid var(--flax);letter-spacing:normal;text-transform:none;width:min(260px,80vw);color:var(--ink-soft);background:#fff;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.4;position:absolute;top:20px;left:0;box-shadow:0 8px 20px #1a191824}.batches-row{scrollbar-width:none;gap:7px;margin-bottom:12px;padding-bottom:2px;display:flex;overflow-x:auto}.batches-row::-webkit-scrollbar{display:none}.bchip{border:1px solid var(--flax);color:var(--ink-soft);background:#fff;border-radius:99px;flex:none;align-items:center;gap:7px;padding:6px 13px;font-size:13px;display:flex}.bchip[aria-pressed=true]{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.bchip .bn{font-weight:600}.bchip input{border:0;border-bottom:1px solid var(--flax);background:0 0;width:90px;padding:0;font-size:13px;font-weight:600}.bchip.new{background:0 0;border-style:dashed}.bchip.new:before{content:"+";font-weight:600}.bchip:hover{border-color:var(--ink)}.dock-grid{gap:20px;display:grid}@media (width>=861px){.dock-grid{grid-template-columns:minmax(240px,1.2fr) minmax(240px,1fr);align-items:start;gap:32px}.dock-body{max-height:none;overflow:visible}}textarea.names{resize:vertical;border:1px solid var(--flax);border-radius:var(--radius);background:#fff;width:100%;min-height:84px;padding:9px 11px;line-height:1.65}textarea.names::placeholder{color:#a79f90}.names-foot{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:12px;display:flex}.csv-btn{border:1px solid var(--flax);background:#fff;border-radius:8px;padding:5px 10px;font-size:12.5px;transition:border-color .12s}.csv-btn:hover{border-color:var(--ink-soft)}.invalid-note{color:#8a4b2a;margin-top:4px;font-size:11.5px;display:none}.invalid-note.show{display:block}.acrylic-block{margin-bottom:16px}.thick-row{gap:7px;margin-bottom:8px;display:flex}.thick-row[hidden]{display:none}.thick-opt{border:1px solid var(--flax);color:var(--ink-soft);background:#fff;border-radius:99px;padding:5px 13px;font-size:12.5px;transition:border-color .12s}.thick-opt:hover{border-color:var(--ink-soft)}.thick-opt[aria-pressed=true]{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}.mat-row{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.mat-row::-webkit-scrollbar{display:none}.mat-opt{scroll-snap-align:start;background:var(--surface);border:1px solid var(--flax);text-align:center;border-radius:10px;flex:none;width:96px;padding:9px 6px 7px;transition:border-color .12s}.mat-opt:hover{border-color:var(--ink-soft)}.mat-opt[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.mat-opt.oos:hover{border-color:var(--flax)}.mat-opt .mword{white-space:nowrap;text-shadow:0 2px 4px #1a19181f;font-size:21px;line-height:1.25;display:block;overflow:hidden}.mat-opt .mcap{color:var(--ink-soft);margin-top:3px;font-size:11.5px}.mat-opt.preorder{border-style:dashed;border-color:var(--pine)}.mat-opt.preorder[aria-pressed=true]{border-color:var(--pine-dark);box-shadow:inset 0 0 0 1px var(--pine-dark)}.mat-opt.preorder .mcap{color:var(--pine);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.style-col{align-content:start;gap:14px;display:grid}.height-row{align-items:center;gap:10px;display:flex}.height-row input[type=range]{accent-color:var(--accent);flex:1}.height-val{text-align:right;min-width:52px;font-size:14px;font-weight:600}.ask-line{color:var(--ink-soft);font-size:12.5px}.ask-line button{color:var(--ink);border:0;border-bottom:1px solid var(--accent);background:0 0;padding:0 0 1px;font-size:12.5px}.font-wrap{position:relative}.font-btn{border:1px solid var(--flax);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:16px;transition:border-color .12s;display:flex}.font-btn:hover{border-color:var(--ink-soft)}.font-btn:after{content:"▾";color:var(--ink-soft);font-size:11px}.font-menu{z-index:40;background:var(--card);border:1px solid var(--flax);border-radius:var(--radius);max-height:44dvh;padding:5px;display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #1a19181f}.font-menu.open{display:block}.font-menu button{text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:baseline;gap:14px;width:100%;padding:8px 11px;display:flex}.font-menu button:hover,.font-menu button[aria-selected=true]{background:var(--linen)}.font-menu .fname{color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.font-menu .fsample{white-space:nowrap;font-size:23px;line-height:1.2}.dock-toggle{z-index:25;border:1px solid var(--flax);background:var(--card);width:34px;height:22px;color:var(--ink-soft);border-radius:99px;font-size:10px;line-height:1;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.canvas{background:var(--linen);flex:1;min-height:0;padding:32px 24px 36px;overflow-y:auto}.tiles{flex-wrap:wrap;align-content:flex-start;align-items:stretch;gap:12px;display:flex}.tile{border:1px solid var(--flax);cursor:pointer;text-align:center;background:#fff;border-radius:10px;flex-direction:column;align-items:center;padding:14px 18px 9px;display:flex;box-shadow:0 1px 2px #1a19180d}.tile[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tile .word{white-space:nowrap;text-shadow:0 4px 8px #1a19181f;margin-top:auto;margin-bottom:auto;line-height:1.15;display:block}.tile .word.word-cut{text-shadow:none;margin:auto;transition:opacity .18s;display:block}.tile .cap{color:var(--ink-soft);margin-top:7px;font-size:11.5px}.tile .cap.pricing{animation:1.6s ease-in-out infinite pricing-pulse}@keyframes pricing-pulse{0%,to{opacity:1}50%{opacity:.45}}.tile .cap.too-long{color:#8a4b2a;white-space:normal;max-width:230px}.tile .cap.has-gaps{color:#8a4b2a}.tile.gap-flag{box-shadow:inset 0 0 0 1px #b4552d;border-color:#b4552d!important}.spell.gaps-consent{color:#8a4b2a}.tile.shimmer .word{animation:.5s shimmer}@keyframes shimmer{0%{opacity:.15;filter:blur(3px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.tile.shimmer .word{animation:none}.tile .word.word-cut{transition:none}.tile .cap.pricing{animation:none}}.canvas-empty{text-align:center;max-width:430px;color:var(--ink-soft);margin:7dvh auto 0}.canvas-empty .word{color:#1a191d;text-shadow:0 6px 12px #1a191824;margin-bottom:12px;font-family:Great Vibes,cursive;font-size:min(18vw,96px);line-height:1.1;display:block}.canvas-empty p{font-size:14px}.scrim{z-index:60;opacity:0;pointer-events:none;background:#1a19184d;transition:opacity .2s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.sheet{z-index:70;background:var(--card);border:1px solid var(--flax);border-radius:16px;width:min(410px,100vw - 28px);max-height:calc(100dvh - 88px);padding:20px;display:none;position:fixed;top:60px;right:14px;overflow-y:auto;box-shadow:0 16px 40px #1a191824}.sheet.open{display:block}.sheet h3{font-family:var(--serif);margin-bottom:12px;font-size:21px;font-weight:400}.cart-line{border-bottom:1px solid var(--flax);justify-content:space-between;gap:12px;padding:10px 0;font-size:14px;display:flex}.cart-line small{color:var(--ink-soft);font-size:12.5px;display:block}.cart-total{font-family:var(--serif);justify-content:space-between;padding:14px 0 4px;font-size:19px;display:flex}.price-note{color:var(--ink-soft);margin:2px 0 0;font-size:12.5px}.min-note{color:#8a4b2a;margin-top:6px;font-size:12.5px}.preorder-note{border:1px dashed var(--pine);background:#4a5d450f;border-radius:10px;margin-top:12px;padding:11px 13px}.preorder-note p{color:var(--ink);font-size:12.5px;line-height:1.5}#poFields{margin-top:12px}.spell{align-items:flex-start;gap:9px;margin:14px 0;font-size:13.5px;display:flex}.spell[hidden]{display:none}.spell input{accent-color:var(--ink);margin-top:3px}.pay-btn{background:var(--ink);color:#f5f3ee;border:0;border-radius:10px;width:100%;padding:13px;font-size:15px;font-weight:500;transition:background-color .12s}.pay-btn:not(:disabled):hover{background:var(--pine-dark)}.pay-btn:disabled{opacity:.35;cursor:not-allowed}.help-note{color:var(--ink-soft);margin:0 0 12px;font-size:12px}.field{margin-bottom:12px}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:12.5px;display:block}.field input,.field textarea{border:1px solid var(--flax);background:#fff;border-radius:10px;width:100%;padding:9px 11px}.foot{background:var(--card);border-top:1px solid var(--flax);color:var(--ink-soft);flex:none;justify-content:space-between;align-items:center;padding:8px 20px;font-size:12px;display:flex}.foot-links{align-items:center;gap:14px;display:flex}.foot a{color:var(--ink-soft);border-bottom:1px solid #0000;text-decoration:none;display:inline-flex}.foot a[hidden]{display:none}.foot a:hover{color:var(--ink)}.toast{z-index:90;background:var(--ink);color:#f5f3ee;text-align:center;opacity:0;pointer-events:none;border-radius:10px;max-width:88vw;padding:11px 17px;font-size:13.5px;transition:opacity .2s,transform .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(8px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}
