/* Hallmark · macrostructure: Workbench · tone: editorial · theme: Studio · anchor hue: green · nav: N9 · footer: Ft2
 * Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4 */
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.65}
button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{min-height:44px;padding:8px 16px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;white-space:nowrap}button.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}button.quiet{border-color:transparent;background:transparent;padding:8px;color:var(--color-accent)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button[aria-busy="true"]{opacity:.65}button.secondary{background:var(--color-paper)}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
input:not([type=checkbox]),textarea,select{width:100%;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink)}input[aria-invalid=true]{border-color:var(--color-error)}input:disabled{opacity:.5}input::placeholder,textarea::placeholder{color:var(--color-muted)}input[type=checkbox]{accent-color:var(--color-accent);width:17px;height:17px;flex-shrink:0}label{display:block;font-size:var(--text-xs);font-weight:500}label input,label select{margin-top:6px}textarea{resize:vertical;margin-top:8px}h1,h2,h3,p{margin:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-style:normal}h1{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);line-height:1.4}h2{font-size:var(--text-base);font-weight:600}h3{font-size:var(--text-sm);font-weight:600}.small{font-size:var(--text-xs)}.muted{color:var(--color-muted)}
.masthead{display:flex;align-items:center;gap:24px;margin:0 40px;padding:20px 0;border-bottom:1px solid var(--color-rule)}.wordmark{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;text-decoration:none;color:var(--color-ink);white-space:nowrap}.wordmark span{font-size:26px;color:var(--color-accent);margin-right:8px}.tagline{color:var(--color-muted);font-size:var(--text-xs)}.masthead button{margin-left:auto}main{max-width:1440px;margin:auto;padding:32px 40px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{color:var(--color-muted);margin-top:6px}.local-note{font-size:var(--text-xs);color:var(--color-accent);white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.65fr);gap:32px;align-items:start}.guest-panel{padding-right:28px;border-right:1px solid var(--color-rule)}.section-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.section-head h2 span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-muted);padding-left:6px}.input-row{display:flex;gap:8px;margin-top:6px}.input-row input{margin-top:0}.search-label{margin-top:20px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-bottom:8px;border-bottom:1px solid var(--color-rule);font-size:var(--text-xs);color:var(--color-muted)}.check-label{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:400}.check-label input{margin:0}.guest-list{max-height:460px;overflow:auto;margin-bottom:8px}.guest-row{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--color-rule);padding:4px;border-left:3px solid transparent}.guest-row.active{background:var(--color-accent-soft);color:var(--color-ink);border-left-color:var(--color-accent)}.guest-check{padding:0 8px;min-height:44px;display:flex;align-items:center}.guest-name{white-space:normal;text-align:left;flex:1;min-width:0;overflow-wrap:anywhere;border:0;background:transparent;padding:8px;font-weight:500}.guest-remove{min-width:44px;padding:4px!important;font-size:20px;color:var(--color-muted)!important}.empty{padding:32px 8px;text-align:center;color:var(--color-muted)}.empty span{display:block;font-size:32px;margin-bottom:8px}.empty p{margin-bottom:8px}.list-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px}.guest-panel>p{margin-top:8px}
.preview-board{background:var(--color-board);color:var(--color-ink);padding:20px 36px 12px;border-radius:var(--radius-md)}.width-measure{border-bottom:1px solid var(--color-rule);position:relative;margin:0 0 20px;text-align:center;height:25px;color:var(--color-muted);font-size:var(--text-xs)}.width-measure:before,.width-measure:after{content:'';position:absolute;height:10px;bottom:-5px;border-left:1px solid var(--color-rule)}.width-measure:before{left:0}.width-measure:after{right:0}.width-measure span{background:var(--color-board);padding:0 12px;position:relative;top:11px}.envelope{position:relative;background:var(--color-surface);color:var(--color-ink);width:100%;box-shadow:0 10px 20px var(--color-shadow);overflow:hidden;isolation:isolate}.guide{position:absolute;border-color:var(--color-rule);pointer-events:none}.guide.horizontal{left:0;right:0;top:50%;border-top:1px dashed var(--color-rule)}.guide.vertical{top:0;bottom:0;left:50%;border-left:1px dashed var(--color-rule)}.envelope.no-guides .guide{display:none}.envelope-text{position:absolute;transform:translate(-50%,-50%);text-align:center;line-height:1.65;font-weight:400;overflow-wrap:anywhere;cursor:grab;touch-action:none;user-select:none}.envelope-text:active{cursor:grabbing}.salutation{font-size:.7em;min-height:0}.recipient{white-space:pre-wrap}.paper-caption{position:absolute;bottom:12px;right:16px;font-size:var(--text-xs);color:var(--color-muted);pointer-events:none}.preview-hint{text-align:center;color:var(--color-muted);font-size:var(--text-xs);margin-top:14px}.active-edit{margin:20px 0}.settings{border-top:1px solid var(--color-rule);padding-top:20px}.fields{display:grid;gap:12px}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.fields.font-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;margin-top:16px}.font-row button{margin-bottom:0}.field-help{display:block;font-size:11px;color:var(--color-muted);padding-top:4px}.guide-toggle{white-space:nowrap}details{margin-top:24px;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}summary{min-height:52px;cursor:pointer;padding:14px 0;font-weight:500}summary span{font-size:var(--text-xs);color:var(--color-muted);margin-left:8px}details>p{margin-bottom:16px}details .fields{margin-bottom:16px}.feed-label{margin-bottom:16px}details>button{margin-bottom:20px}.error{color:var(--color-error);font-size:var(--text-xs);min-height:20px;margin-top:12px}.print-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0}.print-bar strong{display:block;font-size:var(--text-sm)}.print-bar span{display:block;margin-top:2px}.print-buttons{display:flex;gap:8px}.studio-panel{min-width:0}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--color-rule);padding:20px 0;margin:20px 40px 0;color:var(--color-muted);font-size:var(--text-xs)}dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:28px;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink)}dialog::backdrop{background:var(--color-shadow)}.help-list{padding-left:24px}.help-list li{margin-bottom:12px}.help-note{padding:16px 0;margin-bottom:12px;border-top:1px solid var(--color-rule)}#printRoot{display:none}
.envelope,.width-measure{max-width:460px;margin-left:auto;margin-right:auto}.print-bar{flex-wrap:wrap}.print-buttons{flex-wrap:wrap}
.salutation{position:relative}.prefix-position{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:16px}.prefix-position label{flex:1;min-width:180px}#previewPrefix{cursor:grab;z-index:1}#previewPrefix:active{cursor:grabbing}#previewPrefix:empty{display:none}
@media(hover:hover){#previewPrefix:hover{outline:1px dashed var(--color-accent);outline-offset:2px}}
#extraTextLayer{position:absolute;inset:0;pointer-events:none}.extra-text{pointer-events:auto;z-index:2}.extra-content{white-space:pre-wrap}.extra-section{border-top:1px solid var(--color-rule);margin-top:24px;padding-top:20px}.extra-section>p{margin-top:8px}.extra-editor{border-bottom:1px solid var(--color-rule);padding:16px 0}.extra-editor .fields{margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.extra-editor .input-row{align-items:end}
@media(hover:hover){.extra-text:hover{outline:1px dashed var(--color-accent);outline-offset:2px}}
@media(hover:hover){button:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-ink)}button.primary:hover:not(:disabled){background:var(--color-ink);color:var(--color-accent-ink)}input:hover,select:hover,textarea:hover{background:var(--color-paper)}}
@media(max-width:1050px){.workspace{gap:24px;grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr)}main{padding:28px 24px}.masthead{margin:0 24px}.guest-panel{padding-right:20px}.print-bar{align-items:start;flex-direction:column}.fields.font-row{grid-template-columns:minmax(0,1fr) auto}.guide-toggle{grid-column:1/-1}.section-head{flex-wrap:wrap}}
@media(max-width:780px){.workspace{grid-template-columns:minmax(0,1fr)}.guest-panel{padding-right:0;border-right:0;border-bottom:1px solid var(--color-rule);padding-bottom:24px}.guest-list{max-height:230px}.page-heading{align-items:start;flex-direction:column;gap:8px}.tagline{display:none}.masthead{gap:8px}.masthead button{font-size:var(--text-xs)}.fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-board{padding:16px 20px 12px}.local-note{white-space:normal}footer{margin:12px 24px 0;flex-direction:column;gap:4px}}
@media(max-width:400px){main{padding:24px 16px}.masthead{margin:0 16px}.wordmark{font-size:24px}.wordmark span{margin-right:2px}.print-buttons{width:100%;flex-wrap:wrap}.print-buttons button{flex:1;padding:8px 10px}.fields.font-row{grid-template-columns:minmax(0,1fr)}.guide-toggle{grid-column:auto}.section-head{gap:4px}h1{font-size:24px}.preview-board{padding:12px}.paper-caption{display:none}footer{margin-left:16px;margin-right:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{
  html,body{margin:0!important;padding:0!important;overflow:visible!important;background:var(--color-print-paper)!important}
  #app,dialog{display:none!important}#printRoot{display:block!important}
  .print-sheet{position:relative;overflow:hidden;break-after:page;page-break-after:always}
  .print-sheet:last-child{break-after:auto;page-break-after:auto}
  .print-envelope{position:absolute;left:0;top:0;transform-origin:0 0;color:var(--color-print-ink);background:var(--color-print-paper)}
  .print-envelope .envelope-text{cursor:default;user-select:auto}
  .test-cross{position:absolute;width:20mm;height:20mm;transform:translate(-50%,-50%)}
  .test-cross:before{content:'';position:absolute;left:0;top:10mm;width:20mm;border-top:.2mm solid var(--color-print-ink)}
  .test-cross:after{content:'';position:absolute;top:0;left:10mm;height:20mm;border-left:.2mm solid var(--color-print-ink)}
  .test-caption{position:absolute;left:10mm;top:10mm;font-family:var(--font-body);font-size:10pt}
}
