:root{
  --notes-pink:#ff3b78;
  --notes-pink-dark:#e82f68;
  --notes-green:#1db954;
  --notes-green-dark:#168d43;
  --notes-text:#171a21;
  --notes-muted:#6f7780;
  --notes-line:#e8ecea;
}

.notes-public-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,59,120,.11),transparent 26%),
    radial-gradient(circle at 92% 18%,rgba(29,185,84,.09),transparent 28%),
    #fffdfd;
}

.notes-public-header{
  min-height:78px;
  margin-top:16px;
  padding:10px 24px;
  display:flex;
  align-items:center;
  gap:24px;
  position:sticky;
  top:12px;
  z-index:40;
  border:1px solid rgba(255,255,255,.96);
  border-radius:28px;
  background:rgba(255,255,255,.9);
  box-shadow:0 14px 40px rgba(31,38,34,.07);
  backdrop-filter:blur(18px);
}
.notes-public-brand{display:flex;flex:0 0 auto;align-items:center}
.notes-public-brand img{display:block;width:174px;max-height:54px;object-fit:contain}
.notes-public-nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,1.7vw,28px);margin-inline:auto;white-space:nowrap}
.notes-public-nav a{padding:9px 0;color:#22272c;font-size:12px;font-weight:700}
.notes-public-nav a:hover,.notes-public-nav a.active{color:var(--notes-pink)}
.notes-public-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.notes-action{min-width:112px;padding:13px 17px;border-radius:18px;color:#fff;text-align:center;font-size:12px;font-weight:800;box-shadow:0 11px 25px rgba(35,40,45,.09)}
.notes-action.green{background:var(--notes-green)}
.notes-action.green:hover{background:var(--notes-green-dark)}
.notes-action.pink{background:var(--notes-pink)}
.notes-action.pink:hover{background:var(--notes-pink-dark)}
.notes-menu-button{display:none;border:1px solid var(--notes-line);border-radius:12px;background:#fff;padding:10px 13px;color:#282e33;font:700 11px Poppins,sans-serif;cursor:pointer}

.notes-public-main{padding:86px 0 80px}
.notes-intro{max-width:780px;margin:0 auto 34px;text-align:center}
.notes-kicker{color:var(--notes-green-dark);font-size:11px;font-weight:800;letter-spacing:.12em}
.notes-intro h1{margin:8px 0 12px;color:var(--notes-text);font-size:clamp(42px,6vw,66px);line-height:1.03;letter-spacing:-.055em}
.notes-intro p{max-width:690px;margin:0 auto;color:var(--notes-muted);font-size:15px;line-height:1.75}

.notes-library{max-width:1080px;margin:0 auto;padding:26px;border:1px solid rgba(232,236,234,.9);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 22px 60px rgba(35,40,45,.08)}
.notes-filter-panel{padding:16px;border:1px solid var(--notes-line);border-radius:18px;background:#fff}
.search-box{display:flex;width:100%;height:48px;padding:0 16px;border:0;border-radius:12px;background:#f5f7f6}
.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--notes-text);font:500 12px Poppins,sans-serif}
.category-row{display:flex;align-items:center;gap:10px;min-width:0;margin-top:13px}
.category-pills{display:flex;min-width:0;flex:1;gap:8px;overflow-x:auto;scrollbar-width:none}
.category-pills::-webkit-scrollbar{display:none}
.category-pill{flex:0 0 auto;padding:9px 15px;border:1px solid transparent;border-radius:10px;background:#f4f6f5;color:#6a7279;font:700 10px Poppins,sans-serif;cursor:pointer}
.category-pill:hover{border-color:#e2e7e4}
.category-pill.active{background:#fff0f5;color:var(--notes-pink)}
#showAllCategories{flex:0 0 auto;min-height:36px;padding:0 15px;border:1px solid #dce2df;border-radius:10px;background:#fff;color:#343b40;font:700 10px Poppins,sans-serif;cursor:pointer}

.notes-results-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:25px 2px 14px}
.notes-results-heading .title-line{display:flex;align-items:center;gap:12px}
.notes-results-heading h2{margin:0;color:var(--notes-text);font-size:24px;letter-spacing:-.035em}
.notes-results-heading p{margin:5px 0 0;color:#899098;font-size:10px}
.category-count{padding:6px 11px;border-radius:999px;background:#eaf9ef;color:var(--notes-green-dark);font-size:9px;font-weight:800}

.notes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.note-item{min-height:210px;padding:21px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--notes-line);border-radius:18px;background:#fff}
.note-copy{display:flex;flex:1;flex-direction:column;min-width:0}
.note-meta{display:flex;align-items:center;justify-content:space-between;gap:15px}
.note-meta span{color:var(--notes-pink);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.note-item:nth-child(even) .note-meta span{color:var(--notes-green-dark)}
.note-meta small{color:#9aa1a6;font-size:9px;white-space:nowrap}
.note-text{flex:1;margin:14px 0 0;color:#30363c;font-size:14px;font-weight:500;line-height:1.75}
.note-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.note-actions button{min-height:39px;padding:8px 9px;border:1px solid #e4e9e6;border-radius:10px;background:#f6f8f7;color:#3b4348;font:700 9px Poppins,sans-serif;cursor:pointer}
.note-actions button:hover{background:#eef2f0}
.note-actions .copy-note{border-color:#2d7ddb;background:#2d7ddb;color:#fff}
.note-actions .copy-note:hover{background:#226cc1}
.notes-empty-inline{grid-column:1/-1;min-height:220px;padding:35px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #dce2df;border-radius:18px;background:#fff;text-align:center}
.notes-empty-inline h3{margin:0;color:var(--notes-text);font-size:16px}
.notes-empty-inline p{max-width:520px;margin:8px 0 18px;color:var(--notes-muted);font-size:11px;line-height:1.6}
.notes-empty-inline button{min-height:40px;padding:0 16px;border:1px solid var(--notes-green);border-radius:10px;background:#fff;color:var(--notes-green-dark);font:700 10px Poppins,sans-serif;cursor:pointer}

.notes-public-footer{padding:32px 0 44px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;border-top:1px solid var(--notes-line)}
.notes-public-footer img{display:block;width:142px}
.notes-public-footer p{margin:0;color:var(--notes-muted);font-size:11px}
.notes-public-footer div{display:flex;gap:16px}
.notes-public-footer div a{color:#646d74;font-size:11px;font-weight:600}

.category-dialog{width:min(720px,calc(100% - 28px));max-width:none;padding:0;border:0;border-radius:22px;background:transparent;overflow:visible}
.category-dialog::backdrop{background:rgba(24,29,27,.45);backdrop-filter:blur(3px)}
.category-dialog-card{padding:28px;border:1px solid #edf0ee;border-radius:22px;background:#fff;box-shadow:0 30px 85px rgba(20,27,24,.25);font-family:Poppins,sans-serif}
.category-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.category-dialog-head h2{margin:0;color:var(--notes-text);font-size:24px;letter-spacing:-.03em}
.category-dialog-head p{margin:5px 0 0;color:#7f878c;font-size:11px}
.category-dialog-head>button{width:38px;height:38px;border:0;border-radius:11px;background:#f4f6f5;color:#41494e;font:400 25px Poppins,sans-serif;cursor:pointer}
.category-dialog-search{box-sizing:border-box;width:100%;height:48px;margin:22px 0 15px;padding:0 15px;border:1px solid #dfe5e2;border-radius:12px;background:#f7f9f8;outline:0;font:500 11px Poppins,sans-serif}
.category-dialog-search:focus{border-color:#f3a5be;box-shadow:0 0 0 4px rgba(255,59,120,.08)}
.category-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:260px;overflow-y:auto;padding-right:4px}
.category-dialog-grid button{min-height:47px;padding:8px 12px;border:1px solid transparent;border-radius:12px;background:#f4f6f5;color:#3f474c;font:700 10px Poppins,sans-serif;cursor:pointer}
.category-dialog-grid button.active{border-color:#ffd3e0;background:#fff0f5;color:var(--notes-pink-dark)}
.category-dialog-empty{grid-column:1/-1;margin:20px 0;color:#81898e;text-align:center;font-size:11px}
.category-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:22px}
.category-dialog-actions button{min-height:42px;padding:0 17px;border:0;border-radius:11px;background:transparent;color:#555e63;font:700 10px Poppins,sans-serif;cursor:pointer}
.category-dialog-actions .apply-category{background:var(--notes-green);color:#fff}
.toast{position:fixed;right:25px;bottom:25px;z-index:60;padding:13px 17px;border-radius:12px;background:#292d30;color:#fff;font-size:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.22s}
.toast.show{opacity:1;transform:none}

@media(max-width:1120px){
  .notes-public-header{gap:14px;padding-inline:18px}
  .notes-public-nav{gap:13px}
  .notes-public-nav a{font-size:11px}
  .notes-action{min-width:94px;padding-inline:13px}
}
@media(max-width:920px){
  .notes-public-header{min-height:68px}
  .notes-menu-button{display:block;margin-left:auto}
  .notes-public-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 9px);padding:12px;border:1px solid var(--notes-line);border-radius:18px;background:#fff;box-shadow:0 20px 45px rgba(31,38,34,.13)}
  .notes-public-nav.open{display:grid;gap:2px}
  .notes-public-nav a{padding:12px 13px;border-radius:10px;font-size:12px}
  .notes-public-nav a:hover{background:#fff2f6}
  .notes-public-actions .green{display:none}
  .notes-public-main{padding-top:64px}
}
@media(max-width:760px){
  .notes-public-brand img{width:145px}
  .notes-list{grid-template-columns:1fr}
  .notes-library{padding:16px;border-radius:22px}
  .notes-results-heading .title-line{align-items:flex-start;flex-direction:column;gap:7px}
  .category-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notes-public-footer{grid-template-columns:1fr;text-align:center}
  .notes-public-footer>a,.notes-public-footer div{justify-self:center}
  .notes-public-footer p{text-align:center}
}
@media(max-width:520px){
  .notes-public-header{width:calc(100% - 18px);margin-top:8px;padding-inline:13px;border-radius:20px}
  .notes-public-brand img{width:124px}
  .notes-action{min-width:78px;padding:11px 12px;font-size:10px}
  .notes-public-main{width:calc(100% - 20px);padding-top:48px}
  .notes-intro{margin-bottom:24px;text-align:left}
  .notes-intro h1{font-size:42px}
  .notes-intro p{font-size:13px}
  .category-row{align-items:stretch}
  #showAllCategories{padding-inline:11px}
  .notes-results-heading h2{font-size:20px}
  .category-count{display:none}
  .note-actions{grid-template-columns:1fr 1fr}
  .note-actions .copy-note{grid-column:1/-1}
  .category-dialog-card{padding:21px}
  .category-dialog-grid{grid-template-columns:1fr}
  .category-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
}
