:root{--bg:#fff8f4;--card:#fff;--ink:#3b2a33;--muted:#7a6670;--rose:#e88a9e;--plum:#8e5a7a;--peach:#ffd9c7;--lav:#e9e0ff}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:var(--plum)}header{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:#fff;border-bottom:1px solid #f1e3dd}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--ink)}.logo span{color:var(--rose)}
nav a{margin-left:.9rem;text-decoration:none;font-weight:500}main{max-width:1080px;margin:auto;padding:1.2rem}
.hero{text-align:center;padding:3rem 1rem;background:radial-gradient(circle at 20% 20%,var(--peach),transparent 60%),radial-gradient(circle at 80% 60%,var(--lav),transparent 60%);border-radius:24px}
.hero h1{font-size:clamp(1.9rem,6vw,3rem);margin:.2rem 0}.btn{display:inline-block;background:var(--plum);color:#fff;padding:.7rem 1.3rem;border-radius:999px;text-decoration:none;border:0;font-weight:600;cursor:pointer}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--card);border-radius:18px;padding:1.1rem;box-shadow:0 4px 18px rgba(142,90,122,.08);position:relative}
.card h3{margin:.3rem 0}.tag{display:inline-block;font-size:.75rem;background:var(--lav);padding:.1rem .55rem;border-radius:999px;margin:.1rem}
.sponsored{border:2px solid var(--rose)}.badge{position:absolute;top:.7rem;right:.7rem;background:var(--rose);color:#fff;font-size:.7rem;padding:.15rem .55rem;border-radius:999px;font-weight:700}
.dot{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--peach),var(--rose));display:grid;place-items:center;font-size:1.3rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.filters input,.filters select,form input{padding:.6rem .8rem;border-radius:12px;border:1px solid #e7d6d0;font:inherit;flex:1;min-width:150px}
.news{background:var(--peach);border-radius:24px;padding:2rem;text-align:center;margin:2rem 0}form{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;max-width:460px;margin:auto}
footer{background:#3b2a33;color:#f3e6ea;padding:1.5rem;font-size:.85rem;text-align:center}footer a{color:#ffd9c7}.muted{color:var(--muted)}
.sponsor-slot{display:block;margin:1rem 0;padding:1rem 1.2rem;border:2px dashed var(--rose);border-radius:14px;text-align:center;color:inherit;text-decoration:none;aspect-ratio:auto;min-height:70px}
.sponsor-slot:hover{border-style:solid}.sponsor-label{display:inline-block;background:var(--rose);color:#fff;font-size:.7rem;padding:.1rem .5rem;border-radius:999px;font-weight:700;margin-right:.6rem;text-transform:uppercase}
.btn-big{font-size:1.2rem;padding:1rem 2rem}.sponsor-price{font-size:1.1rem}.small{font-size:.9rem;opacity:.8}
.examples-note{background:var(--lav);border-radius:14px;padding:.8rem 1rem;margin:1.2rem 0;font-size:.95rem}
.story-wall{columns:300px;column-gap:1rem}.story{break-inside:avoid;margin:0 0 1rem;border-radius:22px;padding:1.3rem;position:relative;box-shadow:0 4px 18px rgba(142,90,122,.1);transition:box-shadow .3s}
.story.c0{background:#fff}.story.c1{background:#ffeee6}.story.c2{background:#f4efff}.story.c3{background:#ffe9ef}.story.hl{box-shadow:0 0 0 3px var(--rose)}
.story blockquote{font-family:Georgia,serif;font-size:1.2rem;margin:.8rem 0;line-height:1.45}.story-tag{font-size:.75rem;background:#fff8;padding:.1rem .55rem;border-radius:999px;font-weight:600;color:var(--plum)}
.ex-badge{float:right;font-size:.7rem;color:var(--muted);font-style:italic}.story-actions,.share-menu{display:flex;flex-wrap:wrap;gap:.4rem}.share-menu{margin-top:.5rem}
.pill{background:#fff;border:1px solid #ecd9de;border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:.85rem;cursor:pointer;color:var(--ink);text-decoration:none}.pill:hover{border-color:var(--rose)}.pill.on{background:var(--rose);color:#fff;border-color:var(--rose)}
.story-form{flex-direction:column;align-items:stretch;max-width:520px}.story-form textarea,.story-form select{padding:.6rem .8rem;border-radius:12px;border:1px solid #e7d6d0;font:inherit;min-height:110px}.story-form select{min-height:0}
.check{display:flex;gap:.5rem;align-items:center;text-align:left;font-size:.9rem}.check input{flex:0;min-width:0}.hp{position:absolute;left:-9999px}
.teaser{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card-story{font-size:.85rem;display:inline-block;margin-top:.5rem}
.sponsor-banner{display:flex;align-items:center;justify-content:center;gap:.6rem;aspect-ratio:6/1;max-width:1200px;width:100%;margin:1rem auto;box-sizing:border-box}
.today{margin:1rem 0 1.5rem}.today .story{border:2px solid #e88a9e}.today-label{font-weight:800;color:#8e5a7a;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin:0 0 .5rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}.chip{border:1px solid #e3c9d6;background:#fff;border-radius:999px;padding:.4rem .9rem;cursor:pointer;font:inherit}.chip.on{background:#8e5a7a;color:#fff;border-color:#8e5a7a}
.story-cat{font-size:.75rem;font-weight:700;color:#8e5a7a;margin-left:.4rem}
.story[data-open]{cursor:pointer}.story[data-open]:focus-visible{outline:3px solid #8e5a7a;outline-offset:2px}
.modal{position:fixed;inset:0;background:rgba(40,20,30,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[hidden]{display:none}
.modal-box{max-width:620px;width:100%;max-height:90vh;overflow:auto;position:relative;margin:0}.modal-x{position:absolute;top:.5rem;right:.7rem;border:0;background:none;font-size:2rem;cursor:pointer;line-height:1}
