body{cursor:auto!important;display:flex;flex-direction:column;min-height:100vh;}
main{flex:1 0 auto;}
footer{flex-shrink:0;}
body.dark{--bg:#141210;--surface:#1e1b18;--text:#f0e8df;--muted:#8a7a6a;--border:#2e2820;}
body.dark nav{background:rgba(20,18,16,.92);}
nav{position:fixed;top:0;width:100%;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 4rem;backdrop-filter:blur(12px);background:rgba(253,246,238,.88);border-bottom:1px solid var(--border);}
.nav-logo{font-family:var(--fd);font-size:1.3rem;font-style:italic;color:var(--coral);text-decoration:none;}
.nav-right{display:flex;align-items:center;gap:1rem;}
.nav-links{display:flex;gap:1.5rem;list-style:none;}
.nav-links a{font-size:.82rem;font-weight:500;color:var(--muted);text-decoration:none;}
.nav-links a:hover,.nav-links a.active{color:var(--coral);}
.dark-toggle{width:36px;height:36px;border-radius:50%;background:none;border:1.5px solid var(--border);cursor:pointer;color:var(--muted);}
main{padding:7rem 1.5rem 4rem;max-width:920px;margin:0 auto;}
h1{font-family:var(--fd);font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1.1;margin-bottom:.5rem;}
h1 em{font-style:italic;color:var(--coral);}
.subtitle{color:var(--muted);margin-bottom:2rem;font-size:.95rem;}
.hero-tag{display:inline-block;background:rgba(255,107,74,.1);border:1px solid rgba(255,107,74,.25);border-radius:100px;padding:.35rem 1rem;font-size:.75rem;font-weight:500;color:var(--coral);margin-bottom:1rem;}
.composer{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1.5rem;box-shadow:0 8px 28px rgba(0,0,0,.06);}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:.8rem;font-weight:500;color:var(--muted);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em;}
.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.7rem .9rem;font-family:inherit;font-size:.95rem;color:var(--text);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--coral);}
.field textarea{min-height:90px;resize:vertical;font-family:Georgia,serif;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.row{grid-template-columns:1fr;}}
.btn{background:var(--coral);color:#fff;border:none;border-radius:100px;padding:.85rem 1.6rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s;font-family:inherit;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,107,74,.4);}
.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;}
.share-box{margin-top:1.2rem;padding:1rem;background:var(--bg);border:1px dashed var(--border);border-radius:10px;display:none;}
.share-box.show{display:block;}
.share-url{width:100%;font-family:monospace;font-size:.78rem;padding:.5rem;background:transparent;border:none;color:var(--text);word-break:break-all;}
.image-preview{margin-top:.5rem;max-width:200px;border-radius:8px;display:none;}
.image-preview.show{display:block;}
.postcard-wrap{display:flex;align-items:center;justify-content:center;padding:2rem 0;}
.postcard{display:grid;grid-template-columns:1.4fr 1fr;background:#f4ead5;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.5),transparent 70%),repeating-linear-gradient(0deg,rgba(101,67,33,.025) 0,rgba(101,67,33,.025) 1px,transparent 1px,transparent 3px);border:1px solid #c9b787;border-radius:6px;box-shadow:0 24px 64px rgba(0,0,0,.3),inset 0 0 60px rgba(101,67,33,.08);max-width:920px;width:100%;aspect-ratio:5/3;transform:rotate(-1.2deg);position:relative;overflow:hidden;}
.postcard::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.4  0 0 0 0 0.25  0 0 0 0 0.1  0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.4;pointer-events:none;mix-blend-mode:multiply;}
.pc-photo{padding:.9rem;display:flex;align-items:center;justify-content:center;border-right:2px dashed #b89968;}
.pc-photo img{width:100%;height:100%;object-fit:cover;border-radius:3px;box-shadow:0 4px 18px rgba(0,0,0,.25);filter:sepia(.18) contrast(.95) brightness(.97);}
.pc-side{position:relative;padding:1.2rem 1.4rem;display:flex;flex-direction:column;color:#3a2818;font-family:Georgia,serif;}
.pc-stamp{position:absolute;top:1rem;right:1rem;width:74px;height:88px;background:linear-gradient(135deg,#ff6b4a,#b57bee);border:6px solid #f4ead5;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.pc-stamp-flag{font-size:1.9rem;line-height:1;}
.pc-stamp-text{font-size:.5rem;letter-spacing:.06em;font-family:var(--fb),sans-serif;font-weight:600;margin-top:.15rem;}
.pc-postmark{position:absolute;top:3.6rem;right:5.2rem;width:88px;height:88px;border:2.5px solid #5a4030;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#5a4030;opacity:.55;transform:rotate(-15deg);mix-blend-mode:multiply;}
.pc-pm-top,.pc-pm-bot{font-size:.62rem;letter-spacing:.12em;font-weight:700;}
.pc-pm-mid{font-size:.85rem;margin:.15rem 0;}
.pc-from{font-style:italic;font-size:1rem;margin-top:auto;margin-bottom:.2rem;color:#5a4030;}
.pc-country{font-family:'Brush Script MT','Lucida Handwriting',cursive;font-size:2.4rem;color:#a04420;line-height:1.05;margin-bottom:.7rem;transform:rotate(-2deg);}
.pc-msg{font-family:Georgia,serif;font-size:.95rem;line-height:1.4;color:#3a2818;margin-bottom:.6rem;white-space:pre-wrap;flex:1;overflow:hidden;}
.pc-sig{font-style:italic;font-size:.95rem;color:#5a4030;text-align:right;margin-top:auto;}
@media(max-width:680px){
  .postcard{grid-template-columns:1fr;aspect-ratio:auto;transform:rotate(0);}
  .pc-photo{border-right:none;border-bottom:2px dashed #b89968;aspect-ratio:4/3;}
}
footer{border-top:1px solid var(--border);padding:1.5rem 2rem;text-align:center;font-size:.78rem;color:var(--muted);background:var(--surface);margin-top:3rem;}
@media(max-width:900px){nav{padding:1.2rem 1.5rem;}.nav-links{display:none;}}
@media(max-width:680px){.hamburger{display:flex!important;}.lang-switcher{display:none;}}
