:root{--bg-canvas: #fcfbf7;--bg-card: #faf7f0;--bg-card-elevated: #ffffff;--border-stone: #e6e1d6;--border-stone-strong: #d4cdbf;--text-ink: #25231f;--text-muted: #656056;--text-whisper: #8c8578;--accent-sunshine: #c87d28;--accent-hug: #4a6b5d;--accent-pebble: #5c6670;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-paper: 0 18px 42px -16px rgba(37, 35, 31, .1), 0 4px 12px -2px rgba(37, 35, 31, .05);--shadow-subtle: 0 2px 8px rgba(37, 35, 31, .05)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--bg-canvas);color:var(--text-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.25;background-image:radial-gradient(rgba(37,35,31,.06) 1px,transparent 0);background-size:20px 20px}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}::view-transition-old(postcard-hero),::view-transition-new(postcard-hero){height:100%}.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}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1220px;margin:0 auto;padding:2.25rem 1.5rem 3.5rem}.site-masthead{text-align:center;max-width:680px;margin:0 auto 2.75rem}.masthead-kicker,.recipient-kicker{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-whisper);margin-bottom:.65rem}.masthead-title{font-family:var(--font-serif);font-size:clamp(2.1rem,4vw,3rem);font-weight:500;line-height:1.14;margin:0 0 .75rem;color:var(--text-ink);outline:none}.masthead-subtitle{font-size:.98rem;color:var(--text-muted);margin:0;line-height:1.6}.composer-workspace{display:grid;grid-template-columns:1.05fr .95fr;gap:2.75rem;align-items:start}@media(max-width:960px){.composer-workspace{grid-template-columns:1fr;gap:2.25rem}}.composer-controls-panel{display:flex;flex-direction:column;gap:1.75rem}.composer-section{background:var(--bg-card);border:1px solid var(--border-stone);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow-subtle)}.step-header{display:flex;align-items:baseline;gap:.85rem;margin-bottom:1.15rem}.step-number{font-family:var(--font-serif);font-size:1.35rem;font-style:italic;font-weight:600;color:var(--text-whisper)}.step-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;margin:0 0 .2rem;color:var(--text-ink)}.step-description{font-size:.86rem;color:var(--text-muted);margin:0}.archetype-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:600px){.archetype-tabs{grid-template-columns:1fr}}.archetype-tab{appearance:none;background:var(--bg-card-elevated);border:1px solid var(--border-stone);border-radius:11px;padding:.95rem .85rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:border-color .18s ease,background-color .18s ease,transform .15s ease}.archetype-tab:hover{border-color:var(--border-stone-strong);transform:translateY(-1px)}.archetype-tab--active{background:var(--tab-soft-bg, #fbf5ea);border-color:var(--tab-accent, #c87d28);box-shadow:0 0 0 1px var(--tab-accent, #c87d28)}.archetype-tab-icon{font-size:1.15rem;color:var(--tab-accent, #c87d28);margin-bottom:.15rem}.archetype-tab-title{font-family:var(--font-serif);font-size:1.18rem;font-weight:600;color:var(--text-ink)}.archetype-tab-sub{font-size:.76rem;color:var(--text-muted);line-height:1.35}.visual-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}@media(max-width:500px){.visual-picker-grid{grid-template-columns:1fr}}.visual-thumb-card{appearance:none;background:var(--bg-card-elevated);border:1px solid var(--border-stone);border-radius:10px;padding:.45rem;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .15s ease}.visual-thumb-card:hover{border-color:var(--border-stone-strong);transform:translateY(-1px)}.visual-thumb-card--selected{border-color:var(--text-ink);box-shadow:0 0 0 1.5px var(--text-ink)}.visual-thumb-img-wrap{aspect-ratio:3 / 2;width:100%;border-radius:6px;overflow:hidden;background:#ebe6dc;margin-bottom:.45rem}.visual-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.visual-thumb-meta{display:flex;flex-direction:column;padding:0 .2rem .15rem}.visual-thumb-title{font-size:.84rem;font-weight:600;color:var(--text-ink)}.visual-thumb-author{font-size:.73rem;color:var(--text-whisper)}.recipient-sender-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1.1rem}@media(max-width:520px){.recipient-sender-row{grid-template-columns:1fr}}.field-group{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.82rem;font-weight:600;color:var(--text-ink)}.field-optional{font-weight:400;color:var(--text-whisper)}.paper-input,.paper-textarea{width:100%;font-family:var(--font-sans);font-size:.92rem;color:var(--text-ink);background:var(--bg-card-elevated);border:1px solid var(--border-stone-strong);border-radius:8px;padding:.65rem .8rem;transition:border-color .15s ease,box-shadow .15s ease}.paper-textarea{font-family:var(--font-serif);font-size:1.15rem;line-height:1.45;resize:vertical}.paper-input:focus,.paper-textarea:focus{outline:none;border-color:var(--text-ink);box-shadow:0 0 0 2px #25231f14}.prompt-chips-wrapper{margin-bottom:1.1rem}.prompt-chips-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.prompt-chips-list{display:flex;flex-direction:column;gap:.45rem}.prompt-chip{appearance:none;background:var(--bg-card-elevated);border:1px solid var(--border-stone);border-radius:8px;padding:.55rem .75rem;text-align:left;font-family:var(--font-serif);font-size:1.02rem;font-style:italic;color:var(--text-ink);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.prompt-chip:hover{background:#f4efe4;border-color:var(--border-stone-strong)}.prompt-chip--active{background:#f2ece0;border-color:var(--text-ink);font-weight:500}.textarea-label-row{display:flex;justify-content:space-between;align-items:center}.char-counter{font-size:.75rem;color:var(--text-whisper)}.char-counter--limit{color:#b3402a;font-weight:600}.seal-cta-bar{margin-top:1.35rem;display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.btn-primary-seal{appearance:none;background:var(--text-ink);color:#fcfbf7;border:none;border-radius:10px;padding:.95rem 1.4rem;font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;transition:background-color .18s ease,transform .12s ease}.btn-primary-seal:hover:not(:disabled){background:#3a3630;transform:translateY(-1px)}.btn-primary-seal:disabled{opacity:.65;cursor:wait}.seal-wax-dot{width:10px;height:10px;border-radius:50%;background:#d97736;box-shadow:0 0 0 3px #d9773640}.seal-helper-caption{font-size:.77rem;color:var(--text-whisper);text-align:center;margin:0}.composer-preview-column{position:relative}.preview-sticky-box{position:sticky;top:1.75rem}.preview-column-header{display:flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;color:var(--text-whisper);margin-bottom:.75rem}.preview-indicator-dot{width:7px;height:7px;border-radius:50%;background:#6a8d73}.preview-Inspect-bar{margin-top:.85rem;text-align:center}.btn-link-subtle{appearance:none;background:none;border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:.82rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.btn-link-subtle:hover{color:var(--text-ink)}.postcard-frame{background:#fffdf9;border:1px solid var(--border-stone-strong);border-radius:16px;padding:1.65rem;box-shadow:var(--shadow-paper);position:relative;overflow:hidden}.postcard-frame:after{content:"";position:absolute;inset:9px;border:1px solid rgba(212,205,191,.55);border-radius:10px;pointer-events:none}.postcard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem}.postcard-badge-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.postcard-archetype-pill{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px;background:var(--archetype-soft-bg, #fbf5ea);color:var(--archetype-accent, #c87d28);border:1px solid rgba(0,0,0,.06)}.postcard-zero-pressure-tag{font-size:.74rem;color:var(--text-whisper);border:1px dashed var(--border-stone-strong);padding:.25rem .55rem;border-radius:999px}.postcard-postmark{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.postmark-circle{display:flex;flex-direction:column;align-items:flex-end;font-family:monospace;font-size:.65rem;letter-spacing:.08em;color:var(--text-whisper);line-height:1.2}.postage-stamp-box{width:38px;height:44px;background:var(--archetype-soft-bg, #fbf5ea);border:2px dotted var(--border-stone-strong);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--archetype-accent, #c87d28);font-size:1.1rem}.postcard-visual-wrapper{margin:0 0 1.35rem}.postcard-image-matte{background:#f2ede2;padding:.55rem;border:1px solid var(--border-stone);border-radius:8px}.postcard-hero-image{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block;border-radius:4px}.postcard-caption-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:0 .2rem;font-size:.74rem;color:var(--text-whisper)}.postcard-aspect-caption{font-style:italic;font-family:var(--font-serif);font-size:.88rem;color:var(--text-muted)}.credit-link{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.postcard-letter-body{padding:.35rem .25rem .15rem}.postcard-salutation{font-family:var(--font-serif);font-size:1.3rem;font-style:italic;color:var(--text-muted);margin:0 0 .5rem}.salutation-name{color:var(--text-ink);font-weight:600}.postcard-message{font-family:var(--font-serif);font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:500;line-height:1.38;color:var(--text-ink);margin:0 0 1.35rem;padding:0;border:none}.postcard-signoff-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:.75rem;padding-top:.95rem;border-top:1px solid var(--border-stone)}.postcard-reassurance{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;color:var(--text-muted)}.reassurance-dot{width:6px;height:6px;border-radius:50%;background:var(--archetype-accent, #c87d28)}.postcard-signature{font-family:var(--font-serif);font-size:1.2rem;font-style:italic;color:var(--text-ink);margin:0}.postcard-signature span{font-weight:600;font-style:normal}.postcard-signature--anonymous{color:var(--text-muted);font-size:1.05rem}.recipient-stage{max-width:660px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.recipient-ambient-header{text-align:center;margin-bottom:1.25rem}.recipient-card-showcase{width:100%;margin-bottom:2.25rem}.recipient-pass-forward-footer{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem}.pass-forward-whisper{font-family:var(--font-serif);font-size:1.15rem;font-style:italic;color:var(--text-muted);margin:0}.btn-pass-sunshine{appearance:none;background:#fffdf9;color:var(--text-ink);border:1px solid var(--border-stone-strong);border-radius:999px;padding:.85rem 1.55rem;font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;box-shadow:var(--shadow-subtle);transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.btn-pass-sunshine:hover{background:var(--bg-card);border-color:var(--text-ink);transform:translateY(-1px)}.pass-sunshine-icon{color:var(--accent-sunshine);font-size:1.05rem}.stamp-jar-dialog{max-width:500px;width:calc(100% - 2rem);border:1px solid var(--border-stone-strong);border-radius:16px;background:#fffdf9;color:var(--text-ink);padding:1.65rem;box-shadow:0 24px 48px #25231f2e}.stamp-jar-dialog::backdrop{background-color:#25231f73;backdrop-filter:blur(3px)}.stamp-jar-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.stamp-sealed-badge{display:inline-block;font-size:.76rem;font-weight:600;color:#2f5e41;background:#e9f3ec;padding:.3rem .65rem;border-radius:999px}.dialog-close-btn{appearance:none;background:transparent;border:1px solid var(--border-stone);border-radius:50%;width:30px;height:30px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center}.dialog-close-btn:hover{border-color:var(--text-ink);color:var(--text-ink)}.stamp-jar-heading{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;margin:0 0 .4rem}.stamp-jar-subtext{font-size:.88rem;color:var(--text-muted);margin:0 0 1rem}.sealed-url-box{display:flex;gap:.5rem;margin-bottom:.75rem}.sealed-url-input{flex:1;font-family:monospace;font-size:.8rem;padding:.6rem .75rem;border:1px solid var(--border-stone-strong);border-radius:8px;background:var(--bg-card);color:var(--text-ink)}.btn-secondary-compact{appearance:none;background:var(--text-ink);color:#fffdf9;border:none;border-radius:8px;padding:0 1rem;font-size:.82rem;font-weight:600;cursor:pointer}.sealed-actions-row{margin-bottom:1.1rem}.btn-preview-recipient{appearance:none;background:none;border:none;padding:0;color:var(--accent-sunshine);font-size:.84rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.stamp-jar-divider{border:none;border-top:1px solid var(--border-stone);margin:1.15rem 0}.stamp-jar-card{display:flex;gap:.9rem;background:var(--bg-card);border:1px solid var(--border-stone);border-radius:12px;padding:1.1rem}.stamp-jar-icon{font-size:1.65rem;line-height:1}.stamp-jar-copy h3{font-family:var(--font-serif);font-size:1.2rem;margin:0 0 .25rem}.stamp-jar-copy p{font-size:.82rem;color:var(--text-muted);margin:0 0 .85rem;line-height:1.45}.stamp-jar-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.btn-stamp-jar{display:inline-block;background:#c87d28;color:#fffdf9;text-decoration:none;font-size:.82rem;font-weight:600;padding:.55rem .95rem;border-radius:8px;transition:background-color .15s ease}.btn-stamp-jar:hover{background:#b16b1d}.btn-text-quiet{appearance:none;background:none;border:none;color:var(--text-whisper);font-size:.8rem;cursor:pointer}.stamp-placeholder-note{margin-top:.65rem!important;padding:.5rem .65rem;background:#fbf5ea;border:1px solid #ebd7b2;border-radius:6px;color:#7c521b!important;font-size:.76rem!important}.site-footer{text-align:center;padding:1.5rem;border-top:1px solid var(--border-stone);font-size:.8rem;color:var(--text-whisper)}
