@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Work+Sans:wght@400;500;600&display=swap");

:root{
  /* Library palette (neutral paper + ink) */
  --mn-bg:#f5f1e8;
  --mn-surface:#fff9f0;
  --mn-surface-2:#f8f0e5;
  --mn-text:#1e1a16;
  --mn-muted:rgba(30,26,22,.66);
  --mn-border:rgba(30,26,22,.14);
  --mn-accent:#2f5d50;
  --mn-accent-2:#b45309;
  --mn-shadow:0 18px 36px rgba(30,26,22,.14);
  --mn-shadow-soft:0 8px 18px rgba(30,26,22,.10);
  --mn-radius:20px;
  --mn-radius-sm:12px;
  --mn-font-body:"Work Sans","Segoe UI",Arial,sans-serif;
  --mn-font-display:"Fraunces","Times New Roman",serif;
}

html{color-scheme:light}
body{
  margin:0;
  font-family:var(--mn-font-body);
  background:
    radial-gradient(900px 520px at 12% -5%, rgba(47,93,80,.16), transparent 60%),
    radial-gradient(820px 520px at 90% 4%, rgba(180,83,9,.13), transparent 62%),
    linear-gradient(180deg, rgba(255,250,241,.92), rgba(245,241,232,.92)),
    repeating-linear-gradient(135deg, rgba(30,26,22,.04), rgba(30,26,22,.04) 1px, transparent 1px, transparent 18px),
    var(--mn-bg);
  color:var(--mn-text);
}

.mn-wrap{max-width:980px;margin:0 auto;padding:20px}

.mn-top{
  position:sticky;
  top:0;
  z-index:10;
  background:linear-gradient(to bottom, rgba(245,241,232,.94), rgba(245,241,232,.78));
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(30,26,22,.10);
}
.mn-top-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mn-brand-row{display:flex;align-items:center;gap:10px}
.mn-logo{width:34px;height:34px;border-radius:10px;object-fit:cover;border:1px solid var(--mn-border);background:rgba(31,27,22,.03)}
.mn-brand{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}
.mn-brand-title{font-family:var(--mn-font-display);font-weight:700;letter-spacing:.3px}
.mn-brand-sub{font-size:13px;color:var(--mn-muted)}
.mn-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mn-dropdown{position:relative;display:flex;align-items:center;gap:6px}
.mn-dropbtn{cursor:pointer;user-select:none}
.mn-caret{opacity:.85;font-size:12px;line-height:1;transform:translateY(-1px)}
.mn-dropdown.is-open .mn-dropbtn{background:rgba(30,26,22,.08)}
.mn-dropdown-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  z-index:20;
  width:min(340px, calc(100vw - 32px));
  max-height:min(60vh, 520px);
  overflow:auto;
  padding:8px;
  border-radius:14px;
  border:1px solid var(--mn-border);
  background:rgba(255,249,240,.98);
  box-shadow:var(--mn-shadow);
}
.mn-dropdown-item{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  color:var(--mn-text);
  border:1px solid transparent;
}
.mn-dropdown-item:hover{background:rgba(31,27,22,.04);border-color:rgba(31,27,22,.08)}

.mn-main{padding:22px 0 48px}

.mn-card{
  background:linear-gradient(180deg, rgba(255,251,244,.96), rgba(248,240,229,.96));
  border:1px solid var(--mn-border);
  border-radius:var(--mn-radius);
  box-shadow:var(--mn-shadow);
  overflow:hidden;
  animation:mn-fade-up .6s ease both;
}
.mn-card-inner{padding:18px}

.mn-h1{margin:0 0 10px;font-size:28px;line-height:1.12;font-family:var(--mn-font-display)}
.mn-lead{margin:0 0 14px;color:var(--mn-muted);line-height:1.55}

.mn-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.mn-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:var(--mn-radius-sm);
  border:1px solid var(--mn-border);
  color:var(--mn-text);
  text-decoration:none;
  background:rgba(30,26,22,.03);
  box-shadow:var(--mn-shadow-soft);
  font-weight:600;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.mn-btn.primary{
  border-color:transparent;
  color:#fff;
  background:linear-gradient(90deg, rgba(47,93,80,.95), rgba(180,83,9,.92));
}
.mn-btn:hover{background:rgba(30,26,22,.06);transform:translateY(-1px)}
.mn-btn.primary:hover{filter:saturate(1.05) brightness(.98);box-shadow:0 12px 24px rgba(30,26,22,.18)}
.mn-btn:focus-visible{outline:2px solid rgba(47,93,80,.5);outline-offset:2px}

/* Content / typography */
.mn-content{
  line-height:1.75;
  color:rgba(31,27,22,.92);
}
.mn-content :where(p, ul, ol, blockquote, table, pre){
  margin:0;
}
.mn-content > :where(p, ul, ol, blockquote, table, pre){
  margin-top:12px;
}
.mn-content > :where(h1, h2, h3, h4){
  margin:18px 0 8px;
  line-height:1.25;
  letter-spacing:.2px;
  font-family:var(--mn-font-display);
}
.mn-content > h1{font-size:22px}
.mn-content > h2{font-size:18px}
.mn-content > h3{font-size:16px}
.mn-content > h4{font-size:14px}
.mn-content hr{
  border:0;
  border-top:1px solid var(--mn-border);
  margin:16px 0;
}
.mn-content a{color:var(--mn-accent);text-decoration:underline;text-underline-offset:3px}
.mn-content a:hover{text-decoration-thickness:2px}
.mn-content strong{color:var(--mn-text)}
.mn-content code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.95em;
  padding:.15em .35em;
  border-radius:8px;
  border:1px solid var(--mn-border);
  background:rgba(30,26,22,.03);
}
.mn-content pre{
  padding:12px;
  border-radius:14px;
  border:1px solid var(--mn-border);
  background:rgba(30,26,22,.03);
  overflow:auto;
}
.mn-content pre code{padding:0;border:0;background:transparent}

/* Lists: compact, aligned, readable */
.mn-content :where(ul, ol){
  padding-left:5.2em;
  margin-left:.2em;
}
.mn-content :where(li){
  margin:6px 0;
}
.mn-content :where(ul > li)::marker{color:rgba(31,27,22,.55)}
.mn-content :where(ol > li)::marker{color:rgba(31,27,22,.55);font-variant-numeric:tabular-nums}

/* Tables: keep inside viewport on mobile */
.mn-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  display:block;
  overflow:auto;
  border:1px solid var(--mn-border);
  border-radius:14px;
  background:rgba(30,26,22,.02);
}
.mn-content th,
.mn-content td{
  padding:10px 12px;
  border-bottom:1px solid var(--mn-border);
  border-right:1px solid var(--mn-border);
  white-space:nowrap;
}
.mn-content tr:last-child td{border-bottom:0}
.mn-content th:last-child,
.mn-content td:last-child{border-right:0}
.mn-content th{
  text-align:left;
  background:rgba(30,26,22,.04);
  font-weight:650;
}

/* Calm content blocks without heavy boxing */
.mn-content > :where( ul, ol){
  padding:0;
  border:0;
  margin-left: 2em;
  background:transparent;
}
.mn-content > :where(p){
  padding:0;
  border:0;

  background:transparent;
}
.mn-content > :where(blockquote, table, pre){
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(30,26,22,.10);
  background:rgba(255,249,240,.86);
}
.mn-content > :where(blockquote){
  border-left:4px solid rgba(47,93,80,.35);
  padding-left:12px;
  color:rgba(31,27,22,.78);
}
.mn-content img{
  width:100%;
  height:auto;
  max-width:520px;
  border-radius:14px;
  border:1px solid rgba(30,26,22,.10);
}

.mn-footer{margin-top:16px;font-size:13px;color:var(--mn-muted)}

@keyframes mn-fade-up{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@media (min-width: 720px){
  .mn-wrap{padding:26px}
  .mn-card-inner{padding:26px}
  .mn-h1{font-size:36px}
  .mn-main{padding:30px 0 70px}
  .mn-logo{width:38px;height:38px}
  .mn-dropdown-menu{width:360px}
}
