@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#282333;--muted:#777180;--pink:#d65d91;--lav:#eee4f1;--paper:#fffafd;--line:#eadfe9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;padding:env(safe-area-inset-top) 16px calc(24px + env(safe-area-inset-bottom));max-width:900px;margin-inline:auto}.top{display:flex;justify-content:space-between;align-items:center;padding:25px 2px 16px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}h1{font:700 34px 'Playfair Display',serif;margin:4px 0}h1 span,.intro h2 span{color:var(--pink)}button,input,select{font:inherit}button{cursor:pointer;border:0}.primary{background:var(--pink);color:white;padding:12px 17px;border-radius:14px;font-weight:700}.tabs{display:flex;gap:7px;overflow:auto;padding:8px 0 15px;border-bottom:1px solid var(--line)}.tab{background:transparent;color:var(--muted);padding:10px 12px;border-radius:12px;white-space:nowrap}.tab.active{background:var(--lav);color:var(--ink);font-weight:700}.view{display:none;padding:18px 0}.view.active{display:block}.intro h2{font:700 26px 'Playfair Display',serif;margin:0 0 5px}.intro p,.small{color:var(--muted);font-size:13px}.filters{display:flex;gap:8px;margin:18px 0}.filters input{flex:1;min-width:0}.filters input,.filters select,input,select{background:white;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);width:100%}.filters select{max-width:46%}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.item{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.item img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--lav)}.item .meta{padding:10px}.item strong{display:block}.item small{color:var(--muted)}.item button{margin-top:8px;background:#f7edf3;color:#8f3f68;border-radius:9px;padding:7px 9px}.empty{text-align:center;color:var(--muted);padding:35px 12px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;margin:18px 0}.panel label,form label{display:block;font-weight:600;font-size:13px;margin:12px 0}.panel input,.panel select,form label input,form label select{display:block;margin-top:7px}.wide{width:100%;margin-top:14px}.result{white-space:pre-wrap;line-height:1.55}.compact .item img{aspect-ratio:4/3}.dialogHead{display:flex;justify-content:space-between;align-items:center}.dialogHead h2{font:700 24px 'Playfair Display',serif}.close{font-size:26px;background:none;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;width:min(92vw,480px);max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#21182b88}dialog form{padding:18px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.small{line-height:1.45}.stat{font-size:30px;font-weight:700;color:var(--pink)}@media(min-width:650px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}