:root {
  --rose-50: #fffafd;
  --rose-100: #fff1f7;
  --rose-200: #f9dce8;
  --rose-300: #efbfd2;
  --rose-400: #db98b3;
  --rose-500: #c87798;
  --ink: #765c68;
  --muted: #a98796;
  --line: #e9cbd7;
  --paper: rgba(255, 253, 254, 0.94);
  --shadow: 0 5px 0 rgba(187, 134, 155, 0.12), 0 12px 30px rgba(152, 103, 126, 0.1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: "Quicksand", sans-serif;
  background-color: #fff5fa;
  background-image:
    linear-gradient(90deg, rgba(235, 180, 204, 0.16) 1px, transparent 1px),
    linear-gradient(90deg, transparent 17px, rgba(255,255,255,.85) 17px, rgba(255,255,255,.85) 32px, transparent 32px);
  background-size: 34px 100%, 34px 100%;
  min-height: 100vh;
}

button, input, select { font: inherit; }
button, label[for] { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.page-shell { width: min(1420px, calc(100% - 32px)); margin: 24px auto 0; }
.paper-panel {
  background: var(--paper);
  border: 1px solid rgba(218, 164, 187, 0.65);
  box-shadow: var(--shadow);
  position: relative;
}
.paper-panel::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px dashed rgba(224, 177, 197, 0.55);
  pointer-events: none;
}

.site-header {
  min-height: 176px;
  border-radius: 28px 28px 18px 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 38px 230px 28px 64px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.93) 0 45%, rgba(255,255,255,.28) 72%),
    radial-gradient(circle at 82% 22%, #fff 0 5%, transparent 5.5%),
    radial-gradient(circle at 75% 58%, #f8ccdc 0 8%, transparent 8.5%),
    radial-gradient(circle at 88% 70%, #efd0df 0 9%, transparent 9.5%),
    linear-gradient(135deg, #f9dfeb, #f2bfd4);
}
.brand-copy { position: relative; z-index: 2; }
.eyebrow { margin: 0 0 2px; font: 500 11px/1.4 "DM Mono", monospace; text-transform: uppercase; letter-spacing: 2px; color: var(--rose-500); }
h1 { margin: 0; font: 400 clamp(34px, 5vw, 68px)/1 "Pacifico", cursive; color: #bd7794; text-shadow: 2px 2px #fff, 4px 4px rgba(211,153,178,.24); }
.tagline { margin: 11px 0 0; font: 400 12px "DM Mono", monospace; letter-spacing: .5px; color: #a17d8e; }
.header-bloom { position: absolute; right: 42px; bottom: 13px; font-size: 72px; color: rgba(255,255,255,.84); transform: rotate(14deg); }
.lace { height: 22px; background: radial-gradient(circle at 11px -2px, transparent 11px, #f7d7e4 12px, #f7d7e4 14px, transparent 15px) 0 0/22px 22px repeat-x; opacity: .8; }
.lace-top { position: absolute; left: 0; right: 0; top: 0; z-index: 2; transform: rotate(180deg); }
.ribbon { position: absolute; right: 13%; top: 35px; width: 110px; height: 90px; z-index: 3; filter: drop-shadow(0 4px 0 rgba(184,123,148,.12)); }
.ribbon-knot { position: absolute; z-index: 3; left: 39px; top: 22px; width: 36px; height: 31px; display:grid; place-items:center; border-radius: 50%; color:#fff; background:#e9a9c2; border:3px solid #fff; }
.ribbon-loop { position:absolute; top:7px; width:52px; height:45px; background:#f3c6d8; border:3px solid #fff; }
.ribbon-loop.left { left:2px; border-radius:65% 30% 50% 50%; transform:rotate(-18deg); }
.ribbon-loop.right { right:2px; border-radius:30% 65% 50% 50%; transform:rotate(18deg); }
.ribbon-tail { position:absolute; top:45px; width:26px; height:44px; background:#efb9ce; clip-path:polygon(0 0,100% 0,88% 100%,50% 75%,12% 100%); }
.ribbon-tail.left { left:31px; transform:rotate(10deg); }.ribbon-tail.right{right:28px;transform:rotate(-11deg)}

.ticker { margin: 5px 22px 24px; padding: 6px 14px; overflow:hidden; white-space:nowrap; border:1px solid #efd5e0; background:#fffafc; text-align:center; color:#ae7c92; font: 10px "DM Mono", monospace; }
.layout { display:grid; grid-template-columns: 205px minmax(0,1fr) 190px; gap:22px; align-items:start; }
.left-column, .right-column { display:grid; gap:18px; position:sticky; top:18px; }
.sidebar-card { border-radius:18px; overflow:hidden; padding:18px; }
.sidebar-card h2 { margin:3px 0 14px; text-align:center; color:#bd7895; font:400 27px "Pacifico", cursive; }
.mini-landscape { height:82px; margin:-12px -12px 10px; border:1px solid #efd3df; background:linear-gradient(#fbe5ee 0 48%,#fff 48%), repeating-linear-gradient(90deg,#fff,#fff 8px,#f8d8e5 8px,#f8d8e5 9px); position:relative; overflow:hidden; }
.mini-landscape span{position:absolute;font-size:45px;color:white;left:15px;top:3px}.mini-landscape b{position:absolute;font-size:34px;color:#e4a0bc;right:26px;bottom:1px}.mini-landscape i{position:absolute;color:#c987a2;right:16px;top:7px}
.navigation-card nav { display:grid; gap:8px; }
.navigation-card a { text-decoration:none; padding:5px 8px; color:#b07b91; font:12px "DM Mono", monospace; border-bottom:1px dotted #efd2de; transition:.2s ease; }
.navigation-card a:hover { padding-left:13px; color:#c45e8a; background:#fff5f9; }
.tiny-stamp { width:max-content; margin:18px auto 0; padding:5px 8px; border:1px solid #dfb7c7; transform:rotate(-2deg); font:9px "DM Mono",monospace; color:#be88a0; }
.portrait-placeholder { width:82px;height:82px;border-radius:50%;margin:0 auto 8px;display:grid;place-items:center;font-size:36px;color:white;background:radial-gradient(circle at 35% 35%,#fff 0 7%,transparent 8%),linear-gradient(145deg,#f7d6e4,#d997b3);border:5px solid #fff;box-shadow:0 0 0 1px #e9c6d4; }
.about-card p { font-size:12px; line-height:1.7; text-align:center; }

.main-column { min-width:0; display:grid; gap:22px; }
.welcome { min-height:160px; border-radius:18px; overflow:hidden; display:flex; align-items:center; gap:20px; padding:38px 32px 24px; background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,247,251,.8)),radial-gradient(circle,#edbed0 1px,transparent 2px); background-size:auto,16px 16px; }
.welcome .lace { position:absolute;top:5px;left:10px;right:10px}.welcome h2,.section-heading h2,.posts-heading h2 { margin:0;color:#a96883;font:400 28px "Pacifico",cursive; }.welcome p:last-child{margin:7px 0 0;font-size:13px;line-height:1.7}.flower-pot{margin-left:auto;width:92px;min-width:92px;height:100px;position:relative;text-align:center}.flower-pot span{font-size:70px;color:#e7a3be;position:relative;z-index:2}.flower-pot i{position:absolute;width:47px;height:36px;background:#ecc4d4;bottom:0;left:24px;clip-path:polygon(5% 0,95% 0,78% 100%,22% 100%)}

.composer { border-radius:20px; padding:28px; overflow:hidden; }
.section-heading,.posts-heading,.composer-footer { display:flex;justify-content:space-between;align-items:center;gap:15px; }
.soft-button,.publish-button,.upload-button { border:1px solid #dfa9bf; background:linear-gradient(#fff,#f8d9e6); color:#a96380; border-radius:999px; cursor:pointer; box-shadow:0 2px 0 #ebc5d4; }
.compact{padding:7px 12px;font-size:11px}.title-label{display:block;margin:22px 0 5px;font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:1px;color:#a87a8e}.title-input{width:100%;border:1px solid #e5c4d2;background:#fffafd;color:#765c68;border-radius:9px;padding:12px 14px;outline:none;font-weight:700;font-size:17px}.title-input:focus,.post-editor:focus{border-color:#d997b2;box-shadow:0 0 0 3px rgba(222,151,181,.16)}
.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding:8px;border:1px solid #e8c9d6;border-radius:11px 11px 4px 4px;background:linear-gradient(#fff,#fff6fa)}.tool-group{display:flex;border:1px solid #ead0db;border-radius:7px;overflow:hidden}.tool-button{min-width:34px;height:32px;padding:0 8px;border:0;border-right:1px solid #ead0db;background:#fff;color:#8f6577;cursor:pointer}.tool-button:last-child{border-right:0}.tool-button:hover,.tool-button:focus-visible{background:#f7dce7;color:#ad557a}.align-center{text-align:center}.align-right{text-align:right}.select-tool select{height:34px;border:1px solid #e7c9d6;border-radius:7px;background:#fff;color:#8f6577;padding:0 6px;outline:none}.color-tool{height:34px;display:flex;align-items:center;gap:2px;padding:0 5px 0 9px;border:1px solid #e7c9d6;border-radius:7px;background:#fff;font-weight:700}.color-tool input{width:23px;height:24px;border:0;padding:2px;background:transparent}.upload-button{padding:8px 12px;font-size:11px;margin-left:auto}.editor-note{padding:6px 10px;background:#fff1f6;border:1px solid #eed0dc;border-top:0;font-size:10px;color:#a57a8d;text-align:right}.post-editor{min-height:330px;padding:22px;border:1px solid #e3c2d0;border-top:0;border-radius:0 0 10px 10px;background-color:#fffdfd;background-image:linear-gradient(rgba(238,203,217,.18) 1px,transparent 1px);background-size:100% 29px;outline:none;line-height:1.75;overflow:auto}.post-editor:empty::before{content:attr(data-placeholder);color:#c7a4b2;pointer-events:none}.post-editor img,.post-body img{display:block;float:left;max-width:min(45%,320px);height:auto;margin:7px 18px 12px 0;padding:5px;background:#fff;border:1px solid #dfbdca;box-shadow:3px 4px 0 rgba(218,170,190,.22);cursor:grab;touch-action:none;user-select:none}.post-editor img[data-float="right"],.post-body img[data-float="right"]{float:right;margin:7px 0 12px 18px}.post-editor img.is-dragging{opacity:.75;cursor:grabbing;outline:3px solid rgba(210,116,154,.3)}.post-editor::after,.post-body::after{content:"";display:block;clear:both}.composer-footer{margin-top:15px}.composer-footer span{font:10px "DM Mono",monospace;color:#ad8797}.publish-button{padding:10px 20px;font-weight:700}.publish-button:hover{transform:translateY(-1px);box-shadow:0 4px 0 #ebc5d4}

.posts-section{padding-bottom:20px}.posts-heading{padding:4px 5px 12px}.post-count{font:10px "DM Mono",monospace;color:#a77e90}.posts-list{display:grid;gap:20px}.post-card{border-radius:19px;padding:28px;background:rgba(255,253,254,.96);border:1px solid #e4c3d1;box-shadow:var(--shadow);position:relative;overflow:hidden}.post-card::before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:repeating-linear-gradient(90deg,#f2c9d9 0 8px,#fff 8px 16px)}.post-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:12px;border-bottom:1px dotted #dfbccb}.post-header h3{margin:0;color:#ac6682;font:400 26px "Pacifico",cursive}.post-meta{margin:4px 0 0;font:10px "DM Mono",monospace;color:#a78795}.delete-post{border:0;background:transparent;color:#c6a3b1;cursor:pointer;font-size:12px}.delete-post:hover{color:#ba577c}.post-body{padding-top:17px;font-size:14px;line-height:1.75;overflow-wrap:anywhere}.post-body p:first-child{margin-top:0}.empty-state{text-align:center;padding:60px 20px;border:1px dashed #ddb8c7;background:rgba(255,255,255,.72);border-radius:17px}.empty-state span{display:block;font-size:43px;color:#d998b3}.empty-state p{font-size:12px}.currently-card dl{margin:0;display:grid;gap:10px}.currently-card dl div{padding-bottom:8px;border-bottom:1px dotted #e2becd}.currently-card dt{font:9px "DM Mono",monospace;text-transform:uppercase;color:#c07896}.currently-card dd{margin:2px 0 0;font-size:11px}.notes-card ul{padding-left:20px;margin:0;font-size:11px;line-height:2}.notes-card li::marker{content:"♡  ";color:#d787a8}.calendar-card{text-align:center}.calendar-card #today-date{font:600 15px/1.6 "DM Mono",monospace;color:#a1667f}
footer{margin:35px 0 0;padding:18px;text-align:center;border-top:1px solid #edcfdc;color:#a77d8f;font:10px "DM Mono",monospace;background:rgba(255,255,255,.5)}.toast{position:fixed;left:50%;bottom:28px;z-index:20;transform:translate(-50%,20px);padding:10px 17px;border:1px solid #dfa8be;border-radius:999px;background:#fff7fb;color:#a65d7b;box-shadow:var(--shadow);font-size:12px;opacity:0;pointer-events:none;transition:.25s ease}.toast.show{opacity:1;transform:translate(-50%,0)}.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}

@media (max-width: 1050px){.layout{grid-template-columns:180px minmax(0,1fr)}.right-column{display:none}.site-header{padding-right:180px}.ribbon{right:7%}}
@media (max-width: 760px){.page-shell{width:min(100% - 18px,680px);margin-top:10px}.site-header{min-height:150px;padding:38px 24px 24px}.site-header .ribbon,.header-bloom{display:none}h1{font-size:38px}.tagline{font-size:9px}.layout{display:block}.left-column{position:static;display:block;margin-bottom:18px}.left-column .about-card{display:none}.navigation-card{padding:12px}.mini-landscape,.navigation-card h2,.tiny-stamp{display:none}.navigation-card nav{display:flex;overflow:auto;gap:3px}.navigation-card a{white-space:nowrap;border:0;background:#fff4f8;border-radius:999px}.welcome{padding:35px 22px 20px}.flower-pot{display:none}.composer{padding:18px 12px}.section-heading h2,.posts-heading h2{font-size:25px}.toolbar{gap:5px}.upload-button{margin-left:0}.editor-note{text-align:left}.post-editor{min-height:300px;padding:16px}.post-editor img,.post-body img{max-width:48%}.post-card{padding:24px 18px}.composer-footer{align-items:flex-end}.composer-footer span{max-width:130px}}
@media (max-width: 430px){.post-editor img,.post-body img{max-width:62%}.welcome h2{font-size:24px}.tool-button{min-width:31px;padding:0 6px}}
