@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{color:#211b18;background:#f4eadf;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--ink: #211b18;--muted: #776a62;--paper: #fffdf8;--peach: #ef775f;--peach-dark: #cc543f;--line: rgba(52, 38, 31, .18)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 8% 7%,rgba(255,255,255,.75),transparent 24rem),linear-gradient(135deg,rgba(122,79,53,.025) 25%,transparent 25%) 0 0 / 9px 9px,#f4eadf}button,textarea,input{font:inherit}button{color:inherit}.shell{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:52px 0 80px}.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}.eyebrow,.step-number,.true-size,.emoji-row>span,.budget-copy>span{margin:0;color:var(--peach-dark);font-size:.69rem;font-weight:700;letter-spacing:.15em}h1{margin:7px 0 0;font:400 clamp(3rem,7vw,5.2rem)/.87 "DM Serif Display",Georgia,serif;letter-spacing:-.045em}h1 em{color:var(--peach-dark);font-weight:400}.printer-state{display:flex;align-items:center;gap:9px;min-height:35px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fffdf880;font-size:.77rem;font-weight:600}.state-dot{width:8px;height:8px;border-radius:50%;background:#b5a9a1}.printer-state[data-online=true] .state-dot{background:#4f9b68;box-shadow:0 0 0 3px #4f9b6826}.printer-state[data-online=false] .state-dot{background:#df8b41}.configuration-warning{margin-top:20px;padding:13px 16px;border:1px solid #d68572;border-radius:10px;background:#fff4ee;color:#7d3325;font-size:.88rem}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,432px);gap:clamp(36px,7vw,92px);align-items:start;padding-top:42px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading>div:first-child{display:flex;align-items:baseline;gap:12px}h2{margin:0;font:400 1.55rem/1.2 "DM Serif Display",Georgia,serif}.recipient{color:var(--muted);font-size:.78rem;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}textarea{display:block;width:100%;min-height:190px;resize:vertical;padding:22px;border:1px solid var(--line);border-radius:12px;outline:none;color:var(--ink);background:#fffdf8b8;font:700 1.35rem/1.5 Arial Rounded MT Bold,Trebuchet MS,system-ui,-apple-system,"Apple Color Emoji","Segoe UI Emoji",sans-serif;box-shadow:0 10px 35px #432b1f0a}textarea:focus{border-color:var(--peach);box-shadow:0 0 0 3px #ef775f1f}textarea::placeholder{color:#a99d95;font-weight:400}.emoji-row{display:flex;align-items:center;gap:7px;margin-top:12px}.emoji-row>span{margin-right:5px;color:var(--muted)}.emoji{width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fffdf89e;cursor:pointer;font-size:1.08rem}.emoji:hover,.emoji:focus-visible{border-color:var(--peach);transform:translateY(-1px)}.drawing-heading{margin-top:38px}.drawing-actions{display:flex;gap:12px}.text-button{padding:3px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);cursor:pointer;font-size:.73rem}.text-button:disabled{opacity:.35;cursor:default}.drawing-wrap{position:relative;overflow:hidden;border:1px dashed #b7a69c;border-radius:12px;background:#fffdf8bf}#drawing{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}#drawing:focus-visible{outline:3px solid var(--peach-dark);outline-offset:-3px}.drawing-hint{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(-2deg);color:#b2a69e;font:italic 1rem "DM Serif Display",Georgia,serif;pointer-events:none}.drawing-instructions{margin:8px 2px 0;color:var(--muted);font-size:.72rem;line-height:1.45}.preview-panel{position:sticky;top:24px}.preview-heading{margin-bottom:10px}.true-size{color:var(--muted)}.dither-control{display:flex;gap:6px;margin:0 0 13px;padding:0;border:0}.dither-control legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dither-control label{padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fffdf88c;cursor:pointer;font-size:.74rem;font-weight:700}.dither-control label:has(input:checked){border-color:var(--ink);color:var(--ink);background:var(--paper)}.dither-control label:has(input:focus-visible){outline:3px solid rgba(204,84,63,.35);outline-offset:2px}.dither-control input{position:absolute;opacity:0}.paper-frame{position:relative;max-height:min(48vh,560px);overflow-y:auto;overflow-x:hidden;padding:7px 12px 14px;filter:drop-shadow(0 18px 23px rgba(63,42,30,.12))}.paper-edge{height:8px;margin:0 -3px;background:linear-gradient(135deg,transparent 6px,var(--paper) 0) 0 0 / 12px 8px repeat-x}#preview{display:block;width:384px;max-width:100%;height:auto;margin:0 auto;background:#fff;image-rendering:pixelated}.paper-tail{height:13px;margin:0 -3px;background:linear-gradient(45deg,transparent 7px,var(--paper) 0) 0 0 / 14px 13px repeat-x}.empty-preview{position:absolute;top:48px;right:28px;left:28px;margin:0;color:#aaa19c;text-align:center;font:italic 1rem "DM Serif Display",Georgia,serif}.budget{margin-top:18px}.budget-copy{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.budget-copy>span{color:var(--muted)}.budget-copy strong{font-size:.78rem}progress{display:block;width:100%;height:7px;overflow:hidden;border:0;border-radius:99px;background:#211b181f}progress::-webkit-progress-bar{background:#211b181f}progress::-webkit-progress-value{background:var(--peach);border-radius:99px}progress::-moz-progress-bar{background:var(--peach)}.budget[data-over=true] progress::-webkit-progress-value{background:#b82f2f}.budget[data-over=true] progress::-moz-progress-bar{background:#b82f2f}.budget small{display:block;margin-top:6px;color:var(--muted);font-size:.68rem}.send-button{display:flex;justify-content:space-between;width:100%;margin-top:22px;padding:17px 20px;border:0;border-radius:8px;color:#fff;background:var(--peach-dark);cursor:pointer;font-weight:700;box-shadow:0 9px #a74331;transition:transform .12s ease,box-shadow .12s ease}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px #a74331}.send-button:active:not(:disabled){transform:translateY(5px);box-shadow:0 4px #a74331}.send-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.discard-button{display:block;margin:15px auto 0;padding:5px 2px;border:0;border-bottom:1px solid currentColor;color:#8a382c;background:transparent;cursor:pointer;font-size:.75rem;font-weight:700}.discard-button[hidden]{display:none}.discard-button:focus-visible{outline:3px solid rgba(204,84,63,.35);outline-offset:4px}.delivery{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.delivery ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}.delivery li{position:relative;display:flex;align-items:center;gap:7px;color:#a3958c;font-size:.68rem;font-weight:700}.delivery li:not(:last-child):after{content:"";position:absolute;z-index:-1;top:5px;right:3px;width:calc(100% - 18px);height:1px;background:var(--line)}.delivery li>span{width:11px;height:11px;border:2px solid #b8aaa1;border-radius:50%;background:#f4eadf}.delivery li[data-state=complete],.delivery li[data-state=current]{color:var(--ink)}.delivery li[data-state=complete]>span{border-color:var(--peach-dark);background:var(--peach-dark)}.delivery li[data-state=current]>span{border-color:var(--peach-dark);box-shadow:0 0 0 4px #cc543f21}#delivery-message{margin:12px 0 0;color:var(--muted);font-size:.78rem}.delivery[data-stage=error] #delivery-message{color:#9e2c2c}.sr-only,.sr-only:focus:not(:focus-visible){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:780px){.shell{width:min(100% - 28px,560px);padding-top:30px}.masthead{align-items:flex-start;flex-direction:column;gap:22px}.workspace{grid-template-columns:1fr;gap:48px;padding-top:30px}.preview-panel{position:static}.paper-frame{max-height:none}}@media(max-width:430px){.shell{width:min(100% - 20px,400px)}h1{font-size:3.25rem}.recipient{display:none}.emoji-row{flex-wrap:wrap}.emoji-row>span{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
