*{box-sizing:border-box} :root{--ink:#121212;--chalk:#f5f3ef;--red:#e3322b;--gray:#92928c}body{margin:0;font:14px Arial,sans-serif;color:var(--ink);background:#e7e5e0}button,input,select,textarea,.button{font:inherit}button,.button{border:1px solid #cdcac4;background:transparent;padding:11px 14px;color:inherit;border-radius:4px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block;text-align:center}button:hover,.button:hover{background:#e6e3dd}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e3322b;outline-offset:3px}button:disabled{opacity:.4;cursor:default}input,select,textarea{width:100%;padding:11px;border:1px solid #ccc9c2;border-radius:4px;background:#fffefa;color:#121212}input[type=range]{padding:5px 0;accent-color:var(--red)}textarea{resize:vertical;min-height:110px;line-height:1.5}label{display:block;font-size:12px;font-weight:600;margin-bottom:13px}label>input,label>select,label>textarea{margin-top:7px}.appbar{background:var(--ink);color:var(--chalk);padding:17px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;font-weight:800;letter-spacing:1.5px}.brand small{display:block;font:9px 'Courier New',monospace;letter-spacing:2px;margin-top:5px;color:#bbb}.brandmark{font-size:27px;font-style:italic;letter-spacing:-3px;position:relative}.brandmark span{display:block;line-height:2px;color:var(--red);letter-spacing:0}.topactions{display:flex;gap:10px;align-items:center}.topactions .button{margin:0}.topactions button,.topactions .button{border-color:#444;font-size:12px}.topactions button:hover,.topactions .button:hover{background:#333}#saveStatus{font:11px 'Courier New',monospace;color:#c9c6bf;margin-right:14px}main{display:grid;grid-template-columns:385px minmax(0,1fr);max-width:1800px;margin:0 auto}.editor{background:var(--chalk);border-right:1px solid #ccc9c2;padding:32px 25px}.eyebrow{font:10px 'Courier New',monospace;letter-spacing:1.7px;font-weight:bold}.intro h1{font-size:48px;line-height:1.01;letter-spacing:-2px;margin:18px 0}.intro h1 span{color:var(--red)}.intro p{color:#66635d;font-size:13px;line-height:1.6;margin-bottom:30px}.panel{padding:23px 0;border-top:1px solid #ccc9c2}.panel h2{font-size:16px;margin:0 0 22px;letter-spacing:-.3px}.panel h2>span{font:11px 'Courier New';color:var(--red);margin-right:11px}.hint{font-size:11px;line-height:1.5;color:#67645e;margin:0 0 15px}.dategrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dategrid>*{min-width:0}.inline{display:flex;align-items:end;gap:10px}.inline label{flex:1;margin:0}.inline button{font-size:11px;margin-bottom:0}.rowtabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:20px}.rowtabs button{padding:10px 4px;font:12px 'Courier New'}.rowtabs button.active{background:var(--ink);color:var(--chalk);border-color:var(--ink)}.rowtabs button.filled:after{content:'•';color:var(--red);margin-left:4px}.rowheading{display:flex;justify-content:space-between;margin-bottom:15px}.rowheading span{font:11px 'Courier New';color:#67645e}.entrytop{display:flex;gap:16px;align-items:start}.photoUpload{height:125px;width:125px;flex:none;position:relative;overflow:hidden;border:1px dashed #aaa59d;background:#e8e5df;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}.photoUpload img{width:100%;height:100%;object-fit:cover}.photoUpload b{display:block;font-size:25px;color:var(--red);margin-bottom:5px}.photoUpload small{display:block;font-size:9px;color:#777;margin-top:7px}.photoTools{flex:1}.quiet{font-size:11px;padding:8px;width:100%}.rowactions{display:flex;gap:10px;justify-content:space-between}.rowactions>*{flex:1;font-size:12px}.workspace{padding:33px 36px 60px;min-width:0}.previewbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.previewbar h2{font-size:23px;letter-spacing:-.7px;margin:7px 0 0}.fixedbadge{font:9px 'Courier New';border:1px solid #bcb8af;padding:8px;white-space:nowrap}.canvaswrap{max-width:900px;margin:auto;box-shadow:0 10px 35px #12121218;line-height:0;background:var(--chalk)}canvas{width:100%;height:auto;display:block}.exportbar{display:flex;justify-content:space-between;gap:18px;align-items:center;max-width:900px;margin:25px auto}.exportbar strong{font-size:16px}.exportbar p{font-size:11px;color:#67645e;margin:7px 0}.exportcontrols{display:flex;gap:7px;align-items:center}.exportcontrols select{width:auto;font-size:12px}.primary{background:var(--red);border-color:var(--red);color:white;white-space:nowrap}.primary:hover{background:#be2923;border-color:#be2923}.privacy{max-width:900px;margin:25px auto;color:#67645e;font-size:11px;line-height:1.6}#issues{background:#fff1ce;border:1px solid #b99e51;padding:12px;line-height:1.5;font-size:12px;margin-bottom:16px}#exportResult{max-width:900px;margin:auto}#exportResult p{font-size:12px;line-height:1.6}#resultImage{display:block;width:100%;max-width:380px;margin:20px auto}dialog{border:1px solid #aaa;padding:28px;max-width:440px;background:var(--chalk);border-radius:6px}dialog::backdrop{background:#0009}dialog p{line-height:1.7;color:#555}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:white;border-radius:5px;z-index:50;display:none;max-width:90vw;text-align:center;line-height:1.5}.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}[hidden]{display:none!important}@media(min-width:1500px){main{grid-template-columns:410px minmax(0,1fr)}.workspace{padding-left:65px;padding-right:65px}}@media(max-width:1050px){main{grid-template-columns:335px minmax(0,1fr)}.editor{padding:26px 20px}.workspace{padding:28px 20px}.exportbar{display:block}.exportcontrols{margin-top:15px}.fixedbadge{display:none}.topactions{flex-wrap:wrap;justify-content:end}#saveStatus{width:100%;text-align:right}}@media(max-width:700px){.appbar{padding:15px 18px}.brand{font-size:12px}.topactions{gap:6px}.topactions button,.topactions .button{font-size:10px;padding:8px}#saveStatus{font-size:9px;margin:0}.brandmark{font-size:24px}main{display:flex;flex-direction:column}.editor{border:0;padding:27px 20px}.intro h1{font-size:43px}.intro p{margin-bottom:23px}.workspace{padding:28px 15px 45px;border-top:1px solid #bbb}.previewbar{margin-bottom:20px}.previewbar h2{font-size:22px}.exportcontrols{display:grid;grid-template-columns:1fr 1fr}.exportcontrols button{grid-column:1/-1}.rowtabs{grid-template-columns:repeat(10,1fr);gap:4px}.rowtabs button{font-size:10px}.photoUpload{width:125px}.resetpanel{padding-bottom:0}.exportbar strong{font-size:18px}}

.previewlink{margin-bottom:24px;font-size:12px}@media(max-width:700px){.appbar{flex-wrap:wrap}.brand{flex-shrink:0}.topactions{width:100%;justify-content:space-between;align-items:center}#saveStatus{width:auto;flex:1;text-align:left}.rowtabs{grid-template-columns:repeat(5,1fr);gap:6px}.rowtabs button{min-height:44px;font-size:12px}input,select,textarea{font-size:16px}}
.photoUpload{width:160px;height:160px}#resultImage{max-width:900px}
.monthdays{display:grid;gap:12px;margin-bottom:17px}.datepart{padding:0;border:0;margin:0;min-width:0}.datepart legend{font-size:12px;font-weight:600;margin-bottom:7px}.datepart>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px}.datepart select{min-width:0}.previewbar h2{margin-top:0}
