/* Public notice pages inherit the maker's site colours and shared layout. */
.project-notice-view {
  width: 100%;
  max-width: none;
  min-height: 45vh;
  margin-inline: 0;
  padding: clamp(30px, 4vw, 50px) 0 0;
}

.project-notice-view .back {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 28px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 650;
}
.project-notice-view .back:last-child { margin: 26px 0 6px; }
.project-notice-view .back:hover { color: var(--accent2); text-decoration: underline; text-underline-offset: 4px; }

.project-notice-view .post-head {
  margin: 0 0 28px;
  padding: 0 0 25px;
  border-bottom: 1px solid var(--border);
}
.project-notice-view .post-head h1 {
  margin: 16px 0 12px;
  color: var(--ink);
  font-size: clamp(27px, 4vw, 40px);
  line-height: 1.35;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
.project-notice-view .meta { color: var(--muted); font-size: 12px; }
.project-notice-view .badge {
  display: inline-flex;
  align-items: center;
  margin-right: 8px;
  padding: 5px 9px;
  border: 1px solid var(--accent2);
  border-radius: 5px;
  background: var(--accent2);
  color: var(--buttonInk);
  font: 700 11px/1.3 ui-monospace, "SFMono-Regular", Consolas, monospace;
  vertical-align: middle;
  white-space: nowrap;
}
.project-notice-view .badge.category {
  border-color: var(--border);
  background: var(--card);
  color: var(--ink);
}
.project-notice-view .badge.pin {
  border-color: var(--border);
  background: transparent;
  color: var(--accent);
}
.project-notice-view .post-article {
  min-height: 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--ink);
  --notice-ink: var(--ink);
  --notice-link: var(--accent2);
  --notice-link-hover: var(--accent);
  --notice-accent: var(--accent2);
  --notice-border: var(--border);
  --notice-soft: var(--chrome);
  --notice-muted: var(--muted);
}
.project-notice-view .post-article a { color: var(--notice-link); text-decoration: underline; }
.project-notice-view .post-article a:hover { color: var(--notice-link-hover); }

/* Category routes share the same viewer as article pages. */
.project-notice-view .board-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 4px 0 18px; color: var(--muted); font-size: 12px; }
.project-notice-view .category-tabs { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.project-notice-view .category-tab { display: inline-flex; padding: 7px 13px; border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--ink); }
.project-notice-view .category-tab:hover { border-color: var(--accent); }
.project-notice-view .category-tab[aria-current="true"] { border-color: var(--accent); background: var(--accent); color: var(--buttonInk); font-weight: 700; }
.project-notice-view input[type="search"] { min-width: 220px; max-width: 100%; padding: 9px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--ink); }
.project-notice-view .notice-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.project-notice-view .notice-list li { border-bottom: 1px solid var(--border); }
.project-notice-view .notice-link { display: flex; align-items: center; gap: 15px; padding: 18px 12px; }
.project-notice-view .notice-link:hover { background: var(--card); }
.project-notice-view .notice-copy { flex: 1; min-width: 0; }
.project-notice-view .notice-title { color: var(--ink); font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.project-notice-view .notice-copy p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.project-notice-view time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.project-notice-view .arrow { color: var(--accent); }
.project-notice-view .state { padding: 32px 12px; color: var(--muted); text-align: center; }
.project-notice-view .load-more { display: block; margin: 24px auto; padding: 10px 20px; border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--ink); font: inherit; cursor: pointer; }
.project-notice-view .load-more[hidden] { display: none; }
.project-notice-view .load-more:disabled { opacity: .5; cursor: wait; }

.embed .site-header, .embed .site-footer, .embed .board-intro { display: none; }
@media (max-width: 600px) {
  .project-notice-view { padding-top: 24px; }
  .project-notice-view .notice-link { flex-wrap: wrap; }
  .project-notice-view .notice-copy { flex-basis: 100%; }
}

.board-intro{padding:36px 0 8px}.board-intro h1{font-size:clamp(28px,5vw,42px);line-height:1.35;margin:8px 0 14px}.board-description{color:var(--muted);font-size:14px;line-height:1.7}.board-intro[hidden]{display:none}
/* Responsive site navigation, shared by Pages and the notice viewer. */
.site-header .site-menu-toggle{display:none;position:relative;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:10px;border:1px solid var(--border);border-radius:10px;color:var(--ink);background:var(--card);cursor:pointer}
.site-header .site-menu-toggle:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.menu-bars{display:grid;gap:5px;width:20px}.menu-bars i{display:block;height:2px;width:20px;background:currentColor;border-radius:2px}
.menu-open .menu-bars i:first-child{transform:translateY(7px) rotate(45deg)}.menu-open .menu-bars i:nth-child(2){opacity:0}.menu-open .menu-bars i:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-menu-toggle .notice-unread-dot{position:absolute;top:5px;right:5px;margin:0}
@media(max-width:900px){
 .site-header .top{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:12px!important;padding:14px 0!important;min-height:76px;position:relative}
 .site-header .top>.brand{display:flex!important;align-items:center;width:auto!important;min-width:0!important;max-width:100%!important;gap:10px!important;grid-column:1;grid-row:1;margin:0!important;transform:none!important}
 .site-header .top>.brand>.logo,.site-header .top>.brand>.brandmark{width:52px!important;height:52px!important;max-width:52px!important;flex:0 0 52px;object-fit:contain;margin:0!important}
 .site-header .brand-text{flex:1;min-width:0;width:auto!important;max-width:none!important;gap:5px}
 .site-header .brand-text strong{display:block;max-width:none!important;width:auto!important;font-size:clamp(16px,4.5vw,22px)!important;line-height:1.35!important;letter-spacing:0!important;word-break:keep-all;overflow-wrap:anywhere;white-space:normal}
 .site-header .brand-text small{font-size:11px!important;line-height:1.4!important;letter-spacing:.01em!important;width:auto!important;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
 .site-header .brand-text strong *,.site-header .brand-text small *{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;white-space:normal!important}
 .site-header .has-responsive-menu>.site-menu-toggle{display:flex;grid-column:2;grid-row:1}
 .site-header .top>nav{grid-column:1 / -1;width:100%!important;max-width:100%!important;flex-wrap:wrap;justify-content:flex-start;margin:0!important;transform:none!important}
 .site-header .has-responsive-menu>nav{display:none!important}
 .site-header .has-responsive-menu.menu-open>nav{display:flex!important;flex-direction:column;align-items:stretch;gap:2px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
 .site-header .has-responsive-menu>nav a{display:flex;align-items:center;gap:8px;min-height:44px;padding:11px 12px!important;width:100%!important;font-size:14px;white-space:normal;border-bottom:0;border-radius:6px}
 .site-header .has-responsive-menu>nav a:hover,.site-header .has-responsive-menu>nav a[aria-current=page]{background:var(--chrome);color:var(--accent2)}
}
