:root{--forest:#183f33;--gold:#a48250;--ink:#263d33;--paper:#f6f3ec;--line:#dddcd1;--muted:#657469}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 system-ui,-apple-system,sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:2px}.brand b{display:block;font-size:9px;letter-spacing:5px}.seal{font-size:28px;color:var(--gold)}.edition,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650}.edition{color:var(--muted)}main{max-width:1250px;margin:auto;padding:0 36px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:35px 0 28px}h1{font:48px/1.08 Georgia,serif;letter-spacing:-1px;margin:15px 0}h2{font:26px/1.2 Georgia,serif;margin:6px 0 22px}.hero p:not(.eyebrow){color:var(--muted);font-size:15px}.eyebrow{color:var(--gold);margin:0}.hero-art{display:flex;justify-content:center;gap:20px;align-items:center;background:#e9e8de;border-radius:80px 10px 80px 10px;padding:26px;height:250px;overflow:hidden}.hero-art canvas{width:125px;height:auto;box-shadow:0 8px 20px #173f3220;transform:rotate(-8deg)}.hero-art canvas:nth-child(2){transform:rotate(8deg);margin-top:10px}nav{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:26px}.tab{flex:1;border:0;border-radius:0;background:none;padding:18px;font-size:11px;letter-spacing:1px;color:var(--muted);border-bottom:2px solid transparent}.tab span{margin-left:10px;font-size:14px;letter-spacing:0}.tab.active{color:var(--forest);border-bottom-color:var(--forest);background:#ecefe7}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:25px;align-items:start}.editor,.preview-panel{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:28px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme{padding:12px;text-align:left;border:1px solid var(--line);border-radius:10px}.theme.active{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.swatches{display:flex;gap:5px;margin-bottom:8px}.swatches i{width:17px;height:17px;border-radius:50%;border:1px solid #0001}.theme b{display:block;font-size:12px}.theme small{font-size:10px;color:var(--muted)}label{display:block;font-size:12px;font-weight:650;margin:16px 0 6px}input,textarea,select{width:100%;border:1px solid #cbcfc5;background:#fff;border-radius:8px;padding:11px 12px;font:14px system-ui;color:var(--ink)}textarea{resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--forest)}button{background:#fffefa;border:1px solid #cbd0c4;border-radius:8px;padding:11px 14px;color:var(--forest);font:600 12px system-ui;cursor:pointer}button:hover{background:#eef1e8}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--forest);color:#fffefa;border-color:var(--forest)}.primary:hover{background:#285444}.next{width:100%;margin-top:22px;display:flex;justify-content:space-between}.hint{font-size:11px;color:var(--muted);line-height:1.65}.toolbar,.toggle-row{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.toggle-row label{margin:0}.preview-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.preview-head h2{margin:6px 0 4px}.pill{font-size:8px;letter-spacing:1px;background:#edf1e8;color:var(--forest);padding:6px 8px;border-radius:20px;white-space:nowrap}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stage{display:grid;place-items:center;min-height:335px;margin-top:18px;background:#e8e8df;border-radius:12px;padding:26px;overflow:hidden}.stage canvas{max-width:100%;width:230px;height:auto;max-height:410px;object-fit:contain;box-shadow:0 12px 25px #0002}.center{text-align:center}.benefits{display:grid;gap:7px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:17px}.recipient-row{padding:12px 0;border-bottom:1px solid var(--line)}.recipient-row label{margin-top:8px}.row-top{display:grid;grid-template-columns:1fr 60px 32px;gap:7px;align-items:end}.row-top button{padding:10px 4px}.row-top label{font-size:10px}.recipient-row textarea{font-size:12px}.estimate{background:#edf1e8;padding:13px;border-radius:9px;font-size:12px}fieldset{border:1px solid var(--line);border-radius:9px;margin:0;padding:14px}legend{font-size:12px;padding:0 5px}fieldset label{margin:7px 0}details{font-size:12px;line-height:1.7;margin-top:22px}summary{cursor:pointer;font-weight:650}#status{font-size:12px;margin:18px 0 0;color:var(--forest)}#status.error{color:#963c45}footer{padding:30px 0;font-size:10px;color:var(--muted)}a{color:inherit}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}[hidden]{display:none!important}#printArea{display:none}@media(max-width:800px){main{padding:0 16px}.hero{gap:12px;padding:24px 0;grid-template-columns:1fr 150px}h1{font-size:31px}.hero-art{height:175px;padding:15px;gap:0;border-radius:45px 8px}.hero-art canvas{width:95px}.hero-art canvas:nth-child(2){display:none}.hero p:not(.eyebrow){font-size:12px}.workspace{grid-template-columns:1fr}.editor,.preview-panel{padding:20px}.edition{display:none}header{padding:16px}.tab{padding:14px 6px}.tab span{margin-left:5px}.preview-head h2{font-size:23px}}@media print{body>*{display:none!important}#printArea{display:block!important}.sheet{page-break-after:always;break-after:page;display:grid;grid-template-columns:repeat(var(--cols),max-content);gap:9pt;justify-content:center;align-content:start}.sheet:last-child{break-after:auto}.sheet-head{grid-column:1/-1;font:8pt Arial;height:12pt;margin-bottom:0}.sheet img{display:block;break-inside:avoid;page-break-inside:avoid}}

nav{position:sticky;top:0;z-index:5;background:var(--paper)}.mobile-shortcuts{display:none}@media(max-width:800px){.mobile-shortcuts{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:6;background:#fffefa;border-top:1px solid var(--line);padding:10px 16px;gap:8px}.mobile-shortcuts button{flex:1}footer{padding-bottom:85px}}

.recipient-options{background:#f4f3ec;border-radius:8px;padding:10px 12px;margin-top:10px}.recipient-options label{font-size:11px;margin:7px 0}.recipient-types{display:grid;grid-template-columns:1fr 1fr;gap:4px}#fixText{border-color:#963c45;color:#963c45;margin-top:8px}
