@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--ink:#49383d;--rose:#a85570;--line:#eadcdd;--muted:#8e797f}*{box-sizing:border-box}body{margin:0;background:#faf6f3;color:var(--ink);font-family:'DM Sans',sans-serif}header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}header>div{font-size:10px;letter-spacing:.15em;display:flex;gap:15px;align-items:center}.brand{text-decoration:none;color:var(--ink);font-weight:600;font-size:18px}.brand span{font-size:29px;color:var(--rose);margin-right:8px}main{max-width:1380px;margin:auto;padding:42px 5% 70px}h1{font:44px/1.15 'Playfair Display',Georgia,serif;margin:14px 0}h2{font:24px 'Playfair Display',Georgia,serif;margin:0 0 12px}p{color:var(--muted);line-height:1.6}.kicker{font-size:10px;letter-spacing:.2em;color:var(--rose)}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.card{background:#fffdfb;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 6px 24px #573b4304}aside{align-self:start}.muted{font-size:12px}.section-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.badge{border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:11px;color:var(--rose)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;font-weight:600;margin:14px 0}input,textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #e3d6d8;border-radius:9px;background:#fff;color:var(--ink);font:14px/1.5 'DM Sans',sans-serif}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #dcb2bf;outline-offset:1px}button,.button{font:12px 'DM Sans',sans-serif;padding:12px 16px;border:1px solid #dcc9ce;border-radius:9px;background:#fffdfb;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#f6ecef}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--rose);color:white;border-color:var(--rose)}.primary:hover{background:#90465f}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:14px;font-weight:500}.toolbar{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px}.photo-row{display:flex;gap:20px;align-items:center}.photo-row img{width:110px;height:130px;object-fit:cover;border:6px solid white;box-shadow:0 3px 12px #573b4322;transform:rotate(-3deg)}.upload input{font-size:12px}.share{background:#f7edf0;padding:20px;border-radius:12px;margin-top:22px}.share p{font-size:12px}.share-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.share a{font-size:12px;color:var(--rose)}.manage{display:flex;gap:12px;margin-top:20px}.danger{color:#a53242}.login{max-width:550px;margin:6vh auto;padding:45px}.login button{width:100%;margin-top:12px}.letter-item{display:block;text-align:left;width:100%;margin-top:10px;overflow-wrap:anywhere}.letter-item small{display:block;color:var(--muted);margin-top:6px}.letter-item.active{border-color:var(--rose);background:#f8edef}#status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:20;max-width:90%;background:#49383d;color:white;padding:12px 20px;border-radius:10px;font-size:13px;box-shadow:0 5px 30px #49383d33}#status:empty{display:none}dialog{width:min(940px,96vw);height:92vh;border:1px solid var(--line);border-radius:14px;padding:0}dialog::backdrop{background:#35242d88}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line)}iframe{width:100%;height:calc(100% - 66px);border:0}[hidden]{display:none!important}@media(max-width:800px){main{padding:24px 5% 80px}.layout{grid-template-columns:1fr}aside{max-height:245px;overflow:auto}h1{font-size:34px}.card{padding:20px}.fields{grid-template-columns:1fr;gap:0}.intro{align-items:flex-start}.intro>button{flex-shrink:0}.toolbar button{flex:1}.photo-row{flex-wrap:wrap}.login{padding:28px}header{flex-wrap:wrap}header>div{font-size:9px}}

.journey-guide{background:#f8eef1;border:1px solid #e9d4db;border-radius:12px;padding:18px;margin:8px 0 20px}.journey-guide p{font-size:13px;margin:8px 0}.journey-guide small{color:#8e797f;font-size:11px}.fields textarea{min-height:105px}
