*, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body {
      margin: 0;
      font-family: "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
      background: linear-gradient(180deg, var(--paper) 0%, var(--paper) 24%, var(--paper-strong) 100%);
      color: var(--ink);
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; height: auto; }
    a { color: inherit; text-decoration: none; }
    button, input, select { font: inherit; }
    :root {
      --paper: #FFF9F4;
      --paper-strong: #FFFFFF;
      --paper-muted: #F7EDE5;
      --ink: #28221E;
      --ink-soft: #665850;
      --muted: #8E7B70;
      --line: #E8D9CE;
      --accent: #F36A21;
      --accent-dark: #B94716;
      --accent-soft: #FFE4D4;
      --accent-pale: #FFF2E9;
      --shadow: 0 22px 60px rgba(90, 42, 16, 0.12);
      --max: 1040px;
      --radius-card: 10px;
      --radius-field: 7px;
      --radius-pill: 999px;
    }
    .wrap { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
    body::before,
    body::after {
      content: "";
      position: fixed;
      z-index: 0;
      width: 430px;
      height: 430px;
      pointer-events: none;
      opacity: 0.055;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
    body::before {
      right: -125px;
      top: 210px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23F36A21' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E");
      transform: rotate(-13deg);
    }
    body::after {
      left: -145px;
      bottom: 70px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23F36A21' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V5a2 2 0 0 1 2-2h5a3 3 0 0 1 3 3v15a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M21 18a1 1 0 0 0 1-1V5a2 2 0 0 0-2-2h-5a3 3 0 0 0-3 3v15a3 3 0 0 1 3-3Z'/%3E%3C/svg%3E");
      transform: rotate(9deg);
    }
    main,
    /* DAILY_COMMENTARY_CSS_START */
    .daily-section {
      padding: 48px 0 78px;
      border-top: 1px solid var(--line);
      background: transparent;
    }
    .daily-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      align-items: start;
    }
    .daily-panel {
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      background: var(--paper-strong);
      box-shadow: var(--shadow);
    }
    .daily-panel-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      padding: 18px 22px;
      border-bottom: 1px solid var(--line);
      background: var(--paper-muted);
    }
    .daily-panel-head h3 { margin: 0; font-size: 23px; line-height: 1.25; }
    .daily-panel-head span {
      flex: 0 0 auto;
      color: var(--accent-dark);
      font-size: 12px;
      font-weight: 900;
    }
    .daily-list { display: grid; }
    .daily-item { border-bottom: 1px solid var(--line); }
    .daily-item:last-child { border-bottom: 0; }
    .daily-list > .daily-link:not(:last-child) { border-bottom: 1px solid var(--line); }
    .daily-row {
      display: grid;
      grid-template-columns: 62px minmax(0, 1fr) 34px;
      align-items: center;
      gap: 12px;
      width: 100%;
      min-height: 58px;
      padding: 13px 18px;
      border: 0;
      background: transparent;
      color: var(--ink);
      text-align: left;
      text-decoration: none;
      cursor: pointer;
    }
    .daily-row:hover,
    .daily-row:focus-visible {
      background: var(--accent-pale);
      outline: 0;
    }
    .daily-date {
      color: var(--accent-dark);
      font-size: 13px;
      font-weight: 900;
      font-variant-numeric: tabular-nums;
    }
    .daily-title {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 15px;
      font-weight: 900;
    }
    .daily-chevron {
      color: var(--accent-dark);
      text-align: right;
      font-size: 22px;
      line-height: 1;
      transition: transform 180ms ease;
    }
    .daily-item.open .daily-chevron { transform: rotate(90deg); }
    .daily-point {
      padding: 0 18px 17px 92px;
      color: var(--ink-soft);
      font-size: 14px;
      line-height: 1.75;
    }
    .daily-point p { margin: 0; }
    .daily-badge {
      justify-self: end;
      min-width: 34px;
      padding: 4px 7px;
      border-radius: 4px;
      background: var(--accent);
      color: var(--paper-strong);
      text-align: center;
      font-size: 11px;
      font-weight: 900;
      line-height: 1;
    }
    .daily-pager {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin: 18px 0 0;
      color: var(--ink-soft);
      font-size: 13px;
      font-weight: 800;
    }
    .daily-pager[hidden] { display: none; }
    .daily-pager button {
      min-height: 34px;
      padding: 7px 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius-pill);
      background: var(--paper-strong);
      color: var(--ink);
      cursor: pointer;
      font-weight: 800;
    }
    .daily-pager button:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    .daily-pager span { color: var(--accent-dark); }
    @media (max-width: 1040px) {
      .daily-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 780px) {
      .daily-row {
        grid-template-columns: 54px minmax(0, 1fr) 30px;
        padding: 12px 14px;
      }
      .daily-title { font-size: 14px; white-space: normal; }
      .daily-point { padding: 0 14px 16px 80px; }
    }
    /* DAILY_COMMENTARY_CSS_END */
    .site-footer { position: relative; z-index: 1; }
    @media (max-width: 780px) {
      body::before,
      body::after { width: 270px; height: 270px; opacity: 0.035; }
    }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    .skip-link {
      position: absolute;
      left: 16px;
      top: -80px;
      z-index: 30;
      padding: 10px 14px;
      border-radius: var(--radius-field);
      background: var(--ink);
      color: var(--paper-strong);
    }
    .skip-link:focus { top: 16px; }
    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      border-bottom: 1px solid var(--line);
      background: rgba(255, 249, 244, 0.9);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .nav {
      min-height: 70px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      font-weight: 900;
      white-space: nowrap;
    }
    .brand-copy {
      font-size: 14px;
      line-height: 1.25;
    }
    .brand-mark {
      width: 38px;
      height: 38px;
      flex: 0 0 auto;
      display: grid;
      place-items: center;
      border-radius: 10px;
      background: var(--accent);
      color: var(--paper-strong);
      font-size: 14px;
      letter-spacing: 0;
      white-space: nowrap;
      box-shadow: inset 0 -5px 0 rgba(119, 33, 0, 0.14);
    }
    .brand-copy small {
      display: block;
      margin-top: 1px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 700;
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 4px;
      color: var(--ink-soft);
      font-size: 14px;
      font-weight: 700;
    }
    .nav-links a {
      padding: 9px 12px;
      border-radius: var(--radius-pill);
      transition: background 160ms ease, color 160ms ease;
    }
    .nav-links a:hover,
    .nav-links a:focus-visible {
      outline: 0;
      background: var(--accent-soft);
      color: var(--ink);
    }
    .nav-cta,
    .menu-btn { cursor: pointer; }
    .nav-cta {
      min-height: 42px;
      padding: 9px 16px;
      border: 1px solid var(--accent);
      border-radius: var(--radius-pill);
      background: var(--accent);
      color: var(--paper-strong);
      font-weight: 800;
      transition: background 160ms ease, transform 160ms ease;
    }
    .nav-cta:hover,
    .nav-cta:focus-visible { background: var(--accent-dark); outline: 0; }
    .nav-cta:active,
    .btn:active { transform: translateY(1px) scale(0.99); }
    .menu-btn {
      display: none;
      width: 42px;
      height: 42px;
      border: 1px solid var(--line);
      border-radius: var(--radius-pill);
      background: var(--paper-strong);
      color: var(--ink);
    }
    .menu-btn span,
    .menu-btn::before,
    .menu-btn::after {
      content: "";
      display: block;
      width: 18px;
      height: 2px;
      margin: 4px auto;
      background: currentColor;
      border-radius: 4px;
    }
    .hero {
      padding: clamp(20px, 3vw, 32px) 0 30px;
      background: transparent;
      border-bottom: 0;
    }
    .hero-carousel {
      position: relative;
      margin: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: var(--paper-strong);
      box-shadow: var(--shadow);
      aspect-ratio: 1920 / 620;
    }
    .hero-banner {
      position: absolute;
      inset: 0;
      margin: 0;
      opacity: 0;
      transition: opacity 700ms ease;
      z-index: 0;
    }
    .hero-banner.is-active {
      opacity: 1;
      z-index: 1;
    }
    .hero-banner img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero-banner--feature img {
      object-position: center top;
    }
    .hero-carousel-dots {
      position: absolute;
      left: 50%;
      bottom: 14px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 8px;
      transform: translateX(-50%);
    }
    .hero-carousel-dots button {
      width: 8px;
      height: 8px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, 0.9);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 2px 8px rgba(168, 71, 13, 0.18);
      cursor: pointer;
    }
    .hero-carousel-dots button.is-active {
      width: 22px;
      background: var(--accent);
      border-color: var(--accent);
    }
    @media (prefers-reduced-motion: reduce) {
      .hero-banner { transition: none; }
    }
    @media (max-width: 780px) {
      .hero-carousel-dots { bottom: 9px; gap: 6px; }
      .hero-carousel-dots button { width: 7px; height: 7px; }
      .hero-carousel-dots button.is-active { width: 18px; }
    }
    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(460px, 1.08fr);
      gap: clamp(36px, 6vw, 84px);
      align-items: center;
    }
    .hero h1 {
      margin: 0;
      max-width: 8.2em;
      font-size: clamp(45px, 6.8vw, 82px);
      line-height: 1.05;
      letter-spacing: -0.035em;
    }
    .hero h1 strong { color: var(--accent); font-weight: 900; }
    .lede {
      max-width: 590px;
      margin: 22px 0 0;
      color: var(--ink-soft);
      font-size: clamp(17px, 2vw, 20px);
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 11px;
      margin-top: 30px;
    }
    .btn {
      min-height: 45px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 11px 18px;
      border: 1px solid transparent;
      border-radius: var(--radius-pill);
      cursor: pointer;
      font-weight: 800;
      white-space: nowrap;
      transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
    }
    .btn-primary {
      background: var(--accent);
      color: var(--paper-strong);
      box-shadow: 0 12px 24px rgba(243, 106, 33, 0.2);
    }
    .btn-primary:hover,
    .btn-primary:focus-visible { background: var(--accent-dark); outline: 0; }
    .btn-secondary {
      border-color: var(--line);
      background: rgba(255, 255, 255, 0.64);
      color: var(--ink);
    }
    .btn-secondary:hover,
    .btn-secondary:focus-visible { background: var(--paper-strong); border-color: var(--accent); outline: 0; }
    .hero-note {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 18px;
      margin-top: 28px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
    }
    .hero-note span::before {
      content: "";
      display: inline-block;
      width: 7px;
      height: 7px;
      margin: 0 7px 1px 0;
      border-radius: 50%;
      background: var(--accent);
    }
    .board-wrap { position: relative; }
    .board-wrap::before {
      content: "";
      position: absolute;
      inset: 22px -22px -22px 22px;
      border: 1px solid rgba(243, 106, 33, 0.28);
      border-radius: var(--radius-card);
      transform: rotate(2.5deg);
    }
    .board {
      position: relative;
      z-index: 1;
      overflow: hidden;
      border: 1px solid #D9B6A0;
      border-radius: var(--radius-card);
      background: #2A211D;
      color: #FFF9F4;
      box-shadow: var(--shadow);
    }
    .board-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 18px;
      border-bottom: 1px solid rgba(255, 249, 244, 0.16);
      background: #332721;
    }
    .board-title {
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 900;
    }
    .board-title b {
      padding: 4px 7px;
      border-radius: 4px;
      background: var(--accent);
      color: var(--paper-strong);
      font-size: 11px;
      letter-spacing: 0.08em;
    }
    .board-date { color: #DCCBC1; font-size: 12px; white-space: nowrap; }
    .board-head,
    .board-row {
      display: grid;
      grid-template-columns: 90px minmax(0, 1fr) 84px;
      gap: 14px;
      align-items: center;
    }
    .board-head {
      padding: 13px 18px;
      color: #CBAE9D;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.06em;
    }
    .board-row {
      min-height: 74px;
      padding: 13px 18px;
      border-top: 1px solid rgba(255, 249, 244, 0.12);
      transition: background 160ms ease;
    }
    .board-row:hover { background: rgba(243, 106, 33, 0.15); }
    .board-row .time { color: #FFB27B; font-size: 12px; font-weight: 800; }
    .board-row strong {
      display: block;
      overflow: hidden;
      color: #FFF9F4;
      font-size: 15px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .board-row small {
      display: block;
      margin-top: 3px;
      overflow: hidden;
      color: #CBAE9D;
      font-size: 11px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .board-row .state {
      justify-self: end;
      padding: 5px 8px;
      border: 1px solid rgba(255, 178, 123, 0.45);
      border-radius: 4px;
      color: #FFB27B;
      font-size: 11px;
      font-weight: 800;
      white-space: nowrap;
    }
    .board-bottom {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      padding: 13px 18px;
      border-top: 1px solid rgba(255, 249, 244, 0.12);
      color: #CBAE9D;
      font-size: 11px;
    }
    .notice-section { padding: 48px 0 72px; }
    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 30px;
      margin-bottom: 28px;
    }
    .section-head h2 {
      margin: 0;
      max-width: 690px;
      font-size: clamp(30px, 4vw, 42px);
      line-height: 1.08;
      letter-spacing: -0.03em;
    }
    .section-head p {
      max-width: 360px;
      margin: 0;
      color: var(--ink-soft);
      font-size: 15px;
    }
    .toolbar {
      display: grid;
      grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(140px, 0.72fr));
      gap: 10px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      background: var(--paper-strong);
      box-shadow: 0 10px 30px rgba(90, 42, 16, 0.06);
    }
    .search-field { display: flex; align-items: center; }
    .search-field input,
    .toolbar select {
      width: 100%;
      min-height: 44px;
      border: 1px solid var(--line);
      border-radius: var(--radius-field);
      background: var(--paper);
      color: var(--ink);
      outline: 0;
    }
    .search-field input { padding: 10px 13px; }
    .toolbar select { padding: 10px 34px 10px 12px; }
    .search-field input:focus,
    .toolbar select:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(243, 106, 33, 0.16);
    }
    .search-field input::placeholder { color: #A18E83; }
    .result-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin: 24px 0 10px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
    }
    .result-line strong { color: var(--ink); }
    .source-note { color: var(--accent-dark); }
    .pager {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 18px 0 0;
      color: var(--ink-soft);
      font-size: 13px;
      font-weight: 800;
    }
    .pager[hidden] { display: none; }
    .pager button {
      min-height: 34px;
      padding: 7px 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius-pill);
      background: var(--paper-strong);
      color: var(--ink);
      cursor: pointer;
      font-weight: 800;
    }
    .pager button:disabled { opacity: 0.45; cursor: not-allowed; }
    .pager span { color: var(--accent-dark); }
    .notice-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
      gap: 18px;
      align-items: start;
    }
    .notice-main {
      min-width: 0;
    }
    .notice-list {
      min-height: 420px;
      border-top: 1px solid var(--line);
    }
    .notice-item {
      display: grid;
      grid-template-columns: 100px minmax(0, 1fr) auto;
      gap: 18px;
      align-items: center;
      padding: 20px 0;
      border-bottom: 1px solid var(--line);
      cursor: pointer;
      transition: transform 160ms ease, background 160ms ease;
    }
    .notice-item:hover { transform: translateX(6px); background: var(--accent-pale); }
    .notice-date {
      color: var(--accent-dark);
      font-size: 13px;
      font-weight: 800;
      line-height: 1.4;
    }
    .notice-date span {
      display: block;
      margin-top: 5px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 700;
    }
    .notice-title { margin: 0; font-size: 18px; line-height: 1.4; }
    .notice-summary {
      margin: 6px 0 0;
      overflow: hidden;
      color: var(--ink-soft);
      font-size: 14px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .notice-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
    .tag {
      display: inline-flex;
      align-items: center;
      min-height: 24px;
      padding: 3px 8px;
      border: 1px solid var(--line);
      border-radius: 4px;
      color: var(--ink-soft);
      font-size: 11px;
      font-weight: 800;
    }
    .tag.status {
      border-color: rgba(243, 106, 33, 0.35);
      background: var(--accent-soft);
      color: var(--accent-dark);
    }
    .notice-arrow {
      color: var(--accent);
      font-size: 22px;
      transition: transform 160ms ease;
    }
    .notice-item:hover .notice-arrow { transform: translateX(4px); }
    .side-panel {
      position: sticky;
      top: 94px;
      padding: 22px;
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      background: var(--paper-muted);
    }
    .side-panel h3 { margin: 0; font-size: 21px; }
    .side-panel p { margin: 10px 0 0; color: var(--ink-soft); font-size: 14px; }
    .category-list {
      display: grid;
      gap: 0;
      margin-top: 22px;
      border-top: 1px solid var(--line);
    }
    .category-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      padding: 13px 0;
      border: 0;
      border-bottom: 1px solid var(--line);
      background: transparent;
      color: var(--ink-soft);
      text-align: left;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
    }
    .category-link:hover,
    .category-link:focus-visible { color: var(--accent-dark); outline: 0; }
    .category-link span { color: var(--muted); font-size: 12px; }
    .integration-band {
      padding: 24px 0;
      border-block: 1px solid var(--line);
      background: var(--paper-strong);
    }
    .integration {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .integration strong { font-size: 18px; }
    .integration p { margin: 4px 0 0; color: var(--ink-soft); font-size: 14px; }
    .integration-label {
      flex: 0 0 auto;
      padding: 7px 10px;
      border-radius: 4px;
      background: var(--accent);
      color: var(--paper-strong);
      font-size: 11px;
      font-weight: 900;
    }
    .site-footer { padding: 38px 0 42px; color: var(--ink-soft); }
    .footer-top {
      display: flex;
      align-items: start;
      justify-content: space-between;
      gap: 32px;
    }
    .footer-brand { font-size: 18px; font-weight: 900; }
    .footer-top p { max-width: 520px; margin: 7px 0 0; font-size: 13px; }
    .footer-links {
      display: flex;
      flex-wrap: wrap;
      justify-content: end;
      gap: 14px 20px;
      color: var(--ink);
      font-size: 13px;
      font-weight: 800;
    }
    .footer-links a:hover,
    .footer-links a:focus-visible { color: var(--accent-dark); outline: 0; }
    .footer-bottom {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 22px;
      margin-top: 26px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 12px;
    }
    .empty-state,
    .error-state {
      padding: 64px 24px;
      border-bottom: 1px solid var(--line);
      text-align: center;
    }
    .empty-state h3,
    .error-state h3 { margin: 0; font-size: 21px; }
    .empty-state p,
    .error-state p { max-width: 430px; margin: 9px auto 0; color: var(--ink-soft); font-size: 14px; }
    .skeleton-list { display: grid; gap: 0; }
    .skeleton {
      min-height: 110px;
      border-bottom: 1px solid var(--line);
      background: linear-gradient(90deg, transparent, rgba(243, 106, 33, 0.1), transparent) 0 0 / 240px 100% no-repeat;
      animation: shimmer 1.1s linear infinite;
    }
    @keyframes shimmer { to { background-position: 100% 0; } }
    dialog {
      width: min(680px, calc(100% - 28px));
      max-height: min(780px, calc(100dvh - 32px));
      padding: 0;
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      background: var(--paper-strong);
      color: var(--ink);
      box-shadow: 0 30px 90px rgba(52, 24, 9, 0.24);
    }
    dialog::backdrop { background: rgba(44, 27, 18, 0.42); }
    .dialog-head {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding: 22px 24px;
      border-bottom: 1px solid var(--line);
      background: var(--accent-pale);
    }
    .dialog-head h2 { margin: 0; font-size: 23px; line-height: 1.35; }
    .dialog-close {
      width: 36px;
      height: 36px;
      flex: 0 0 auto;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: var(--paper-strong);
      color: var(--ink);
      cursor: pointer;
      font-size: 20px;
      line-height: 1;
    }
    .dialog-close:hover,
    .dialog-close:focus-visible { border-color: var(--accent); color: var(--accent-dark); outline: 0; }
    .dialog-body { padding: 24px; }
    .dialog-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
    .dialog-body p { margin: 0; color: var(--ink-soft); }
    .dialog-body p + p { margin-top: 14px; }
    .dialog-source {
      margin-top: 24px;
      padding-top: 16px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 12px;
    }
    .reveal { opacity: 1; transform: none; }
    @media (prefers-reduced-motion: no-preference) {
      .reveal {
        opacity: 0;
        transform: translateY(16px);
        transition: opacity 520ms cubic-bezier(0.16, 1, 0.3, 1), transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
      }
      .reveal.in-view { opacity: 1; transform: translateY(0); }
    }
    @media (max-width: 1040px) {
      .nav-links { display: none; }
      .menu-btn { display: block; }
      .nav-links.open {
        display: grid;
        position: absolute;
        left: 20px;
        right: 20px;
        top: 76px;
        padding: 9px;
        border: 1px solid var(--line);
        border-radius: var(--radius-card);
        background: var(--paper-strong);
        box-shadow: var(--shadow);
      }
      .hero-grid,
      .notice-layout { grid-template-columns: 1fr; }
      .board-wrap { max-width: 720px; }
      .side-panel { position: static; }
    }
    @media (max-width: 780px) {
      .wrap { width: min(100% - 28px, var(--max)); }
      .nav { min-height: 62px; }
      .nav-cta { display: none; }
      .brand { min-width: 0; flex: 1; }
      .brand-mark { width: 34px; height: 34px; }
      .brand-copy { min-width: 0; font-size: 12px; white-space: normal; }
      .brand-copy small { display: none; }
      .hero { padding: 24px 0 28px; }
      .hero h1 { font-size: clamp(42px, 13vw, 60px); }
      .hero-actions .btn { width: 100%; }
      .board-wrap::before { inset: 13px -9px -13px 9px; }
      .board-head,
      .board-row { grid-template-columns: 68px minmax(0, 1fr); }
      .board-head span:last-child,
      .board-row .state { display: none; }
      .section-head,
      .integration,
      .footer-top { display: block; }
      .section-head p { margin-top: 14px; }
      .toolbar { grid-template-columns: 1fr; }
      .result-line { align-items: start; flex-direction: column; gap: 4px; }
      .notice-item { grid-template-columns: 72px minmax(0, 1fr) 18px; gap: 11px; }
      .notice-item:hover { transform: translateX(3px); }
      .notice-summary {
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
      }
      .notice-arrow { font-size: 18px; }
      .footer-links { justify-content: start; margin-top: 22px; }
      .integration-label { display: inline-flex; margin-top: 18px; }
    }
