*{box-sizing:border-box} :root{color-scheme:light;--ink:#25262b;--muted:#747680;--line:#e5e5eb;--blue:#3e4ce9;--blue-hover:#2e3bcb;--surface:#f3f3f6;--font:Arial,Helvetica,sans-serif} body{margin:0;font-family:var(--font);font-size:16px;color:var(--ink);background:var(--surface)} button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6373ff;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 30px;background:#25262b;color:#fff;border-bottom:1px solid #111217}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:inherit;font-weight:750;font-size:21px;letter-spacing:-.5px}.brand-icon{position:relative;width:41px;height:41px;border-radius:9px;background:#6874ff;color:white;display:grid;place-items:center;font-family:Georgia,serif;font-size:32px;line-height:1;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff22}.brand-icon>span{position:absolute;right:6px;bottom:5px;font-style:italic;font-size:25px;color:#ffad8d}.brand-small{display:block;font-family:var(--font);font-size:12px;letter-spacing:2px;font-weight:400;color:#c2c3cd;margin-top:5px}.top-actions{display:flex;align-items:center;gap:25px}.prototype{color:#c5c6ce;font-size:13px;font-family:ui-monospace,monospace}.button{border:1px solid transparent;border-radius:7px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:600;line-height:1.4;transition:background .15s}.primary{color:white;background:var(--blue)}.primary:hover:not(:disabled){background:var(--blue-hover)}.button svg{width:17px;height:17px;flex-shrink:0}.topbar .primary{background:#6874ff}.topbar .primary:hover:not(:disabled){background:#7c86ff}
.studio{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:calc(100dvh - var(--header-height,84px))}.controls{background:#fff;border-right:1px solid #d9dae2;padding:28px 25px;max-height:calc(100dvh - var(--header-height,84px));overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d3d4df transparent}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}h1{font-size:18px;letter-spacing:-.4px;margin:0}h2{font-size:14px;font-weight:700;margin:0 0 18px}.text-button{color:#727581;background:none;border:0;font-size:13px;padding:7px 0 7px 8px}.text-button:hover{color:var(--blue)}.control-section{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.control-section.first{border:0;padding:0;margin:0}label{font-size:14px;font-weight:500;display:block}input[type=text],select{width:100%;background:#fff;border:1px solid #d9dae3;border-radius:6px;min-height:42px;padding:10px 11px;color:var(--ink);font-size:14px;margin-top:9px}input[type=text]{font-size:16px;font-weight:600;margin-bottom:21px}select{cursor:pointer}.hint{float:right;font-weight:400;font-size:12px;color:var(--muted);padding-top:1px}.range-label{display:flex;justify-content:space-between;align-items:center;margin-top:19px;gap:10px}.range-label output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#777b88;white-space:nowrap}.range-label label{line-height:1.5}input[type=range]{display:block;width:100%;height:22px;margin:7px 0 0;cursor:pointer;accent-color:var(--blue);appearance:none;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:9px;background:linear-gradient(to right,var(--blue) var(--range-progress,50%),#e8e9ef var(--range-progress,50%))}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:white;border:3px solid var(--blue);border-radius:50%;margin-top:-5px;box-shadow:0 1px 4px #0002}input[type=range]::-moz-range-track{height:4px;background:#e8e9ef;border-radius:6px}input[type=range]::-moz-range-progress{height:4px;background:var(--blue)}input[type=range]::-moz-range-thumb{width:10px;height:10px;background:white;border:3px solid var(--blue);border-radius:50%}input[type=range]:disabled{opacity:.3;cursor:not-allowed}
.shape-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border:0;margin:0;padding:0}.shape-choice{cursor:pointer;text-align:center;position:relative;min-width:0}.shape-choice input{position:absolute;opacity:0;width:1px;height:1px}.shape-choice span{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #dedfe6;border-radius:6px;padding:8px 2px 10px;font-size:12px;color:#6f7280;background:#fff}.shape-choice svg{width:48px;height:23px;fill:none;stroke:currentColor;stroke-width:2}.shape-choice input:checked+span{color:var(--blue);background:#f0f1ff;border-color:#8c94ee}.shape-choice input:focus-visible+span{outline:3px solid #6373ff;outline-offset:3px}.color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.swatch{display:flex;align-items:center;gap:8px}.swatch output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:#777b88}input[type=color]{width:30px;height:30px;padding:3px;cursor:pointer;border:1px solid #d9dae3;border-radius:6px;background:white}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}input[type=color]::-moz-color-swatch{border:none;border-radius:3px}.check-label{display:flex;align-items:center;gap:9px;cursor:pointer;margin-top:18px;font-size:13px;color:#616574;line-height:1.4}.check-label input{width:16px;height:16px;accent-color:var(--blue);margin:0;flex-shrink:0}.export-section select{margin-top:0}.export-button{width:100%;margin-top:18px;justify-content:space-between}
.workspace{min-width:0;position:relative;display:flex;flex-direction:column;max-height:calc(100dvh - var(--header-height,84px));min-height:600px;background-color:#eeeef3;background-image:radial-gradient(#cfd1dc .65px,transparent .65px);background-size:12px 12px}.workspace-top{min-height:76px;padding:23px 36px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:#555864}.workspace-top>div{display:flex;align-items:center;gap:11px}.document-icon{background:white;border:1px solid #d5d6de;border-radius:4px;padding:3px 5px;font-family:Georgia,serif;font-size:14px;line-height:1.2;color:#696d7e}.preview-label{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:1.7px;color:#818391}.stage{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 52px 20px;min-height:0}.artboard-wrap{width:100%;max-width:1100px}.ruler{height:25px;background:repeating-linear-gradient(90deg,#aeb1bf 0,#aeb1bf 1px,transparent 1px,transparent 2.5%) left bottom / 100% 5px no-repeat;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #c5c8d3;color:#898c9b;font-family:ui-monospace,monospace;font-size:12px;margin-bottom:9px}.artboard{background-color:#fff;background-image:conic-gradient(#f7f7fa 25%,transparent 0 50%,#f7f7fa 0 75%,transparent 0);background-size:20px 20px;aspect-ratio:3/2;position:relative;box-shadow:0 1px 3px #22243816,0 18px 50px -15px #31375228;border:1px solid #dddfe7}.artboard.opaque{background:#fff}.artboard svg{display:block;width:100%;height:auto}.artboard-caption{display:flex;justify-content:space-between;gap:15px;font-family:ui-monospace,monospace;font-size:12px;color:#7a7e8d;margin-top:16px;line-height:1.5}.empty-message{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#7a7d8d;margin:0;padding:25px}.workspace-bottom{padding:15px 36px 25px;display:flex;justify-content:space-between;gap:15px;color:#7b7e8d;font-size:12px}.workspace-bottom p{margin:0;line-height:1.5}.workspace-bottom p:last-child{text-align:right}.toast{position:fixed;bottom:30px;left:calc(50% + 152px);transform:translateX(-50%);background:#25262b;color:white;box-shadow:0 8px 30px #0002;border-radius:7px;padding:14px 20px;font-size:14px;z-index:10;max-width:min(90vw,500px)}.noscript{background:#fff3bf;padding:20px;text-align:center}
@media(min-width:1500px){.studio{grid-template-columns:330px minmax(0,1fr)}.controls{padding-left:32px;padding-right:32px}.stage{padding:20px 80px 30px}}
@media(max-width:1000px){.studio{grid-template-columns:270px minmax(0,1fr)}.controls{padding:24px 20px}.stage{padding:10px 26px 20px}.workspace-top{padding:23px 25px}.workspace-bottom{padding:15px 25px 23px;flex-direction:column;gap:6px}.workspace-bottom p:last-child{text-align:left}.swatch output{display:none}.toast{left:calc(50% + 135px)}}
@media(max-width:720px){.topbar{padding:14px 18px;min-height:76px;gap:14px}.brand{font-size:18px;gap:9px}.brand-icon{width:35px;height:35px}.brand-small{font-size:12px;letter-spacing:1.3px}.prototype{display:none}.topbar .button{padding:10px 12px;font-size:12px}.topbar .button svg{display:none}.studio{display:flex;flex-direction:column}.workspace{order:-1;min-height:0;max-height:none;border-bottom:1px solid #d9dae3}.workspace-top{min-height:55px;padding:16px 20px;font-size:12px}.preview-label{font-size:12px}.stage{padding:4px 20px 17px}.artboard-wrap{max-width:560px}.artboard-caption{font-size:12px;margin-top:10px}.workspace-bottom{padding:0 20px 18px;font-size:12px;display:block}.workspace-bottom p:last-child{display:none}.controls{max-height:none;border-right:0;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.panel-heading{grid-column:1/-1;margin-bottom:22px}.control-section.first{grid-column:1/-1}.control-section{margin-top:25px;padding-top:22px;min-width:0}.export-section{grid-column:1/-1}.swatch output{display:none}.toast{left:50%;bottom:20px}.shape-choice span{font-size:12px}.shape-choice svg{width:35px}.shape-choices{gap:4px}}
@media(max-width:420px){.controls{display:block;padding:24px 22px}.control-section.first{margin-top:0}.swatch output{display:block}.shape-choice span{font-size:13px}.topbar .brand-small{display:none}.brand{font-size:16px}.topbar .button{font-size:12px;padding:10px}.artboard-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.image-import{width:100%;border:1px dashed #bbc0d6;color:var(--blue);background:#f7f8ff;font-size:14px}.image-import:hover{background:#eef0ff;border-color:var(--blue)}.image-import>span:first-child{font-size:22px;font-weight:400;line-height:1}.control-help{font-size:12px;line-height:1.5;color:#747887;margin:10px 0 0}.background-file-row{display:flex;align-items:center;gap:10px;margin:10px 0 15px}.background-file-row>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#676b7a}.background-file-row .text-button{flex-shrink:0}.shape-choice span{font-size:14px}.background-section{min-width:0}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h2{margin:0}.position-section .control-help{margin-top:12px}.upload-toolbar{padding:8px 13px;background:#fff;color:var(--blue);border:1px solid #c9cde1;font-size:14px}.upload-toolbar:hover{background:#f4f5ff}.workspace-top{flex-wrap:wrap}.image-drop-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;background:#f0f2ffec;border:3px dashed var(--blue);color:var(--blue);font-size:18px;font-weight:600;pointer-events:none;z-index:2}#background-image{pointer-events:none}.text-item{cursor:grab;touch-action:none;user-select:none}.text-item.is-dragging{cursor:grabbing}.text-item:hover .text-hit-area,.text-item:focus-visible .text-hit-area,.text-item.is-dragging .text-hit-area{stroke:#6874ff;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.text-item:focus-visible{outline:none}.text-hit-area{rx:5}.artboard svg{overflow:hidden}.empty-message{pointer-events:none}
@media(max-width:720px){.upload-toolbar{font-size:12px;padding:7px 10px}.workspace-top{gap:10px}}

.photo-toggle{width:100%;justify-content:space-between;background:#fff;border:1px solid #c9cde1;color:#555864;font-size:13px;margin-bottom:16px}.photo-toggle span{background:#eceef3;border-radius:12px;padding:3px 10px;min-width:42px;font-size:12px}.photo-toggle[aria-pressed=true]{color:var(--blue);border-color:#8c94ee;background:#f0f1ff}.photo-toggle[aria-pressed=true] span{background:var(--blue);color:#fff}.artboard-wrap.portrait{max-width:min(100%,max(230px,calc((100dvh - var(--header-height,84px) - 280px)*.666667)))}.portrait .artboard-caption{flex-wrap:wrap;gap:3px 12px}.artboard-section select{font-size:13px}
@media(max-width:720px){.artboard-wrap.portrait{max-width:min(100%,360px)}}

.add-text{background:var(--blue);color:#fff;padding:8px 10px;font-size:13px;white-space:nowrap}.add-text:hover{background:var(--blue-hover)}.text-items-panel{margin-bottom:23px}.text-items-panel .range-label{margin-top:0}.text-items-panel select{width:100%;padding:5px;background:#fafaff;min-height:73px;border:1px solid #dedfe6;border-radius:6px}.text-items-panel option{padding:9px 8px;border-radius:4px;font-size:13px}.item-actions{display:flex;justify-content:flex-end;gap:18px;margin-top:10px}.selected-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.selected-heading h2{font-size:14px;margin:0}.text-settings{display:contents}.text-item.is-selected .text-hit-area{stroke:#6874ff;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.text-item:not(.is-selected) .text-hit-area{pointer-events:none}input:disabled,select:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:720px){.text-items-panel,.selected-heading{grid-column:1/-1}.panel-heading{margin-bottom:16px}.text-items-panel{margin-bottom:20px}.selected-heading{margin-bottom:0}}

/* Worn ink, paper stamps, and a scuffed charcoal masthead. */
.topbar{position:relative;isolation:isolate;background-color:#25231f;background-image:linear-gradient(116deg,#eee6d409,transparent 32%,#0004 72%),repeating-linear-gradient(173deg,transparent 0 21px,#eee6d405 22px,transparent 23px 43px);color:#eee6d4;border-bottom:3px solid #a05b36;padding-top:15px;padding-bottom:15px}
.topbar::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22360%22%20height%3D%22120%22%20viewBox%3D%220%200%20360%20120%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.84%22%20numOctaves%3D%223%22%20seed%3D%2212%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23grain%29%22%20opacity%3D%22.46%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23eee6d4%22%20stroke-width%3D%22.6%22%20opacity%3D%22.5%22%3E%3Cpath%20d%3D%22m3%2022%2098-4m23%2083%2063-4M215%2045l118-5M49%2076l46-1M298%20114l61-4M165%209l57-2%22%2F%3E%3Cpath%20d%3D%22m54%205-7%2051m205%2013-3%2040M130%2023l-2%2019%22%20opacity%3D%22.6%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:360px 120px;opacity:.3;mix-blend-mode:screen}
.topbar::after{content:"";position:absolute;inset:auto 0 -3px;height:5px;pointer-events:none;background:#e88750;clip-path:polygon(0 45%,4% 80%,9% 30%,16% 65%,23% 20%,31% 70%,40% 35%,48% 80%,57% 15%,67% 70%,75% 30%,84% 75%,92% 25%,100% 55%,100% 100%,0 100%)}
.topbar>.brand,.topbar>.top-actions{position:relative;z-index:1}
.topbar .brand{gap:14px;min-width:0;color:#eee6d4}
.topbar .brand-icon{width:42px;height:42px;flex-shrink:0;border-radius:1px;background:#eee6d4;color:#25231f;border:1px solid #a29a89;box-shadow:2px 3px 0 #0008;transform:rotate(-7deg);font:900 25px/1 Impact,'Arial Black',sans-serif;letter-spacing:-2px}
.topbar .brand-icon::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(164deg,transparent 0 9px,#25231f60 9px 9.7px,transparent 9.7px 16px);opacity:.6}
.brand-lockup{display:block;min-width:0}
.brand-wordmark{display:block;white-space:nowrap;font-family:Impact,'Arial Narrow','Arial Black',sans-serif;font-size:32px;font-weight:900;font-style:italic;line-height:1;letter-spacing:.2px;text-shadow:1px 2px 0 #000,2px 2px 0 #eee6d438;transform:rotate(-.7deg)}
.brand-year{display:inline-block;margin-left:5px;padding:3px 5px 2px;color:#25231f;background:#e88750;font-family:'Courier New',monospace;font-style:normal;font-size:22px;letter-spacing:-1.5px;vertical-align:2px;transform:rotate(3deg);box-shadow:1px 2px 0 #0008}
.topbar .brand-small{margin-top:6px;font-family:'Courier New',monospace;font-size:10px;line-height:1;letter-spacing:3px;font-weight:700;color:#c2b9a7}
.topbar .prototype{font-size:10px;letter-spacing:1.5px;color:#b9ad98;border:1px dashed #776c58;padding:7px 9px;transform:rotate(-2deg)}
.topbar .primary{color:#25231f;background:#eee6d4;border:1px solid #b2a38c;border-radius:2px;box-shadow:3px 3px 0 #0008;font-family:'Courier New',monospace;font-weight:700}
.topbar .primary:hover:not(:disabled){background:#f7c295}
.topbar :focus-visible{outline-color:#ffc991}
@media(max-width:900px){.topbar .prototype{display:none}}
@media(max-width:720px){.topbar{padding:13px 16px;gap:12px}.topbar .brand{gap:10px}.brand-wordmark{font-size:27px}.brand-year{font-size:19px;padding:2px 4px;vertical-align:1px}.topbar .brand-icon{width:34px;height:34px;font-size:21px}.topbar .primary{font-size:12px;padding:9px 10px}.topbar .brand-small{font-size:9px;letter-spacing:2px}}
@media(max-width:480px){.topbar{padding:13px 12px}.topbar .brand-icon{display:none}.brand-wordmark{font-size:24px;letter-spacing:-.3px}.brand-year{font-size:17px;margin-left:3px}.topbar .primary{font-size:11px;padding:9px 8px}.topbar .brand-small{display:block;font-size:8px;letter-spacing:1.7px}.top-actions{gap:0}}

.workspace-tribute{margin:16px 36px 0;color:#666472;font-size:12px;line-height:1.5}
.workspace-top{min-height:68px;padding-top:12px;padding-bottom:20px}
@media(max-width:1000px){.workspace-tribute{margin-left:25px;margin-right:25px}}
@media(max-width:720px){.workspace-tribute{margin:14px 20px 0}.workspace-top{min-height:55px;padding-top:10px;padding-bottom:16px}}
