.public-notice-badge{position:absolute;right:2px;top:-3px;border-radius:12px;background:#e84d64;color:white;font:10px Arial;padding:2px 5px;min-width:16px}.public-notice-center,.public-notice-detail{color-scheme:light;background:#fff;color:#263b52;border:1px solid #dce4ee;border-radius:12px;padding:0;width:min(600px,94vw);max-width:600px;max-height:88dvh;box-shadow:0 20px 80px #0004;overflow:auto;font-family:Arial,system-ui}.public-notice-center::backdrop,.public-notice-detail::backdrop{background:#09132188;backdrop-filter:blur(4px)}.public-notice-center header,.public-notice-detail header{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid #edf0f5}.public-notice-center h2,.public-notice-detail h2{margin:0;flex:1;font-size:19px;line-height:1.5}.notice-close{color:#7c8da2;background:#f1f5fa;border-radius:50%;width:30px;height:30px;border:0;cursor:pointer;font-size:14px;flex-shrink:0}.public-notice-center select{padding:7px;border:1px solid #dbe4ef;color:#556d89;background:white;border-radius:5px;font-size:11px}.notice-center-actions{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;background:#f8faff;gap:12px}.notice-center-actions button{color:#397bc5;font-size:11px;border:0;background:none;cursor:pointer}.notice-center-actions span{font-size:10px;color:#99a8bb}.public-notice-row{display:flex;align-items:center;border-bottom:1px solid #eef2f7;padding:0 18px;gap:14px}.public-notice-row.unread{background:#eff6ff}.public-notice-row>button:first-child{text-align:left;flex:1;padding:20px 2px;border:0;background:none;color:#4c6381;cursor:pointer}.public-notice-row b{font-size:13px;line-height:1.7;display:block;font-weight:500}.public-notice-row small{font-size:10px;color:#9baabe;margin-top:8px;display:block}.notice-remove{border:0;background:none;color:#bd7f8d;font-size:11px;cursor:pointer}.public-notice-empty{padding:40px 20px;text-align:center;color:#9baabe;font-size:13px}.public-notice-document{padding:22px;line-height:1.8;font-size:15px;color:#344a64;overflow-wrap:anywhere}.public-notice-document p{margin:0 0 12px;color:inherit}.public-notice-document img,.public-notice-image{max-width:100%;height:auto;display:block;margin:auto}.public-notice-document a{color:#2679c7;text-decoration:underline}.public-notice-detail footer{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px;margin:0;border:0}.public-notice-detail footer button,.public-notice-detail footer a{background:#1677ff;color:white;border:0;border-radius:6px;padding:11px 20px;cursor:pointer;font-size:12px;text-decoration:none}.notice-banner-slider{margin:12px 12px 0;border-radius:10px;overflow:hidden;border:1px solid #756134;background:#201b11}.notice-banner-main{display:block;width:100%;border:0;background:linear-gradient(130deg,#241c0f,#5c4321);color:#f5dfa0;padding:0;text-align:left;cursor:pointer}.notice-banner-main img{display:block;width:100%;max-height:290px;object-fit:cover}.notice-banner-main strong{display:block;font:bold 27px Arial;padding:28px 22px 12px}.notice-banner-main p{font-size:12px;line-height:1.8;padding:0 22px 20px;color:#dfd2ad}.notice-banner-dots{display:flex;justify-content:center;gap:6px;background:#161410;padding:7px}.notice-banner-dots button{padding:2px 4px;color:#76684d;font-size:10px;background:none;border:0}.notice-banner-dots button.active{color:#e3c67a}.ticker{overflow:hidden}.ticker .notice-marquee{display:block;cursor:pointer;white-space:nowrap;overflow:visible;animation:notice-marquee 24s linear infinite}.notice-loading-art{text-align:center;max-width:560px;margin:auto;padding:10px}.notice-loading-art img{max-width:100%;max-height:60vh;object-fit:contain}@keyframes notice-marquee{from{transform:translateX(10%)}to{transform:translateX(-80%)}}@media(prefers-reduced-motion:reduce){.ticker .notice-marquee{animation:none;overflow:hidden;text-overflow:ellipsis}}@media(max-width:500px){.public-notice-center header,.public-notice-detail header{padding:17px}.public-notice-detail h2{font-size:17px}.public-notice-document{padding:18px}.notice-center-actions{padding:12px}.notice-center-actions span{display:none}}

/* Keep the moving text inside its own viewport; bell and inbox stay still. */
.ticker>.ticker-viewport{display:block;position:relative;min-width:0;flex:1;overflow:hidden!important;text-overflow:clip;white-space:nowrap}
.ticker .ticker-track{display:block;width:max-content;max-width:none;white-space:nowrap;overflow:visible;text-overflow:clip;animation:ticker-scroll var(--ticker-duration,24s) linear infinite;will-change:transform}
@keyframes ticker-scroll{from{transform:translateX(var(--ticker-start,400px))}to{transform:translateX(-100%)}}
@media(hover:hover){.ticker-viewport:hover .ticker-track{animation-play-state:paused}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none;transform:none}.ticker>.ticker-viewport{overflow-x:auto!important}}
.ticker .ticker-track p{display:inline;margin:0;padding:0;color:inherit;line-height:inherit}.ticker .ticker-track p+p:before{content:'　·　';color:#c5ac6a}.ticker .ticker-track p span,.ticker .ticker-track p a{display:inline;white-space:pre!important;font-size:inherit!important;overflow:visible}.ticker .ticker-track a{color:inherit;text-decoration:underline}

/* Flatten pasted paragraphs/newlines into one fixed-height running line. */
body .ticker>.ticker-viewport{height:22px;line-height:22px;min-height:22px;max-height:22px;align-self:center;white-space:nowrap!important}
body .ticker .ticker-track{display:flex!important;align-items:center;height:22px;line-height:22px;white-space:nowrap!important}
body .ticker .ticker-track *{display:inline!important;white-space:nowrap!important;line-height:22px!important;font-size:inherit!important;flex-shrink:0}

/* The news control stays in its own slot while the headline scrolls. */
body.reference-lobby:not(.admin-mode) .ticker:has(> #portalNoticeButton.reference-mail) {
  min-block-size:34px;
}
body.reference-lobby:not(.admin-mode) .ticker > #portalNoticeButton.reference-mail {
  --news-ink:#b7f4fb;
  --news-chip:linear-gradient(155deg,#194957,#133742);
  --news-edge:#4a859281;
  --news-icon:#176d80;
  box-sizing:border-box;
  position:relative;
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:auto!important;
  height:clamp(27px,calc(var(--ref-px,1px)*32),34px)!important;
  margin:0;
  padding:0 clamp(5px,calc(var(--ref-px,1px)*7),8px)!important;
  border:1px solid var(--news-edge)!important;
  border-radius:10px;
  background:var(--news-chip)!important;
  box-shadow:inset 0 1px #ffffff24!important;
  cursor:pointer;
}
html.public-light body.reference-lobby:not(.admin-mode) .ticker > #portalNoticeButton.reference-mail {
  --news-ink:#075770;
  --news-chip:linear-gradient(155deg,#f1fcfe,#c9edf5);
  --news-edge:#65aab78c;
  --news-icon:#0a7390;
}
.reference-mail .reference-mail__label {
  overflow:visible;
  color:var(--news-ink);
  font-size:clamp(10px,calc(var(--ref-px,1px)*12),12px);
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.reference-mail .reference-mail__icon {
  display:grid;
  flex:none;
  place-items:center;
  width:clamp(19px,calc(var(--ref-px,1px)*23),24px);
  aspect-ratio:1;
  overflow:visible;
  border-radius:5px;
  background:var(--news-icon);
  color:#f5fdff;
}
body.reference-lobby .ticker > #portalNoticeButton .reference-mail__icon svg {
  display:block;
  width:84%!important;
  height:84%!important;
  color:#fff!important;
  stroke-width:2.15;
}
@media (forced-colors:active) {
  body.reference-lobby .ticker > #portalNoticeButton .reference-mail__icon svg {
    color:ButtonText!important;
  }
}
body.reference-lobby .ticker > #portalNoticeButton .public-notice-badge {
  box-sizing:border-box;
  display:grid;
  place-items:center;
  inset-block-start:-3px;
  inset-inline-end:-4px;
  min-inline-size:16px;
  height:16px;
  padding:0 3px;
  border:1px solid #fff9;
  border-radius:999px;
  background:#c53c3c!important;
  color:#fff!important;
  box-shadow:0 1px 3px #5e2c3e3d;
  font:800 9px/1 system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
  pointer-events:none;
}
body.reference-lobby .ticker > #portalNoticeButton .public-notice-badge[hidden] {display:none!important}
body.reference-lobby .ticker > #portalNoticeButton:focus-visible {
  outline:2px solid var(--news-ink);
  outline-offset:1px;
}
@media (hover:hover) {
  body.reference-lobby .ticker > #portalNoticeButton.reference-mail:hover {border-color:var(--news-ink)!important}
}

/* The lobby envelope opens the notice inbox inside the existing message center. */
.message-center .message-notice-inbox{padding:0;overflow:hidden}
.message-center .message-notice-inbox .notice-center-actions{padding:10px 12px;gap:8px;flex-wrap:wrap;border-radius:11px 11px 0 0}
.message-center .message-notice-inbox .notice-center-list{padding:4px 10px 10px;max-height:none}
.message-center .message-notice-inbox .public-notice-row{min-width:0}
.message-center .message-notice-inbox .public-notice-row>button:first-child{min-width:0;overflow-wrap:anywhere}
.message-center .message-notice-inbox .public-notice-empty{margin:0;padding:34px 12px}

.notice-banner-slider[data-swipeable="true"] .notice-banner-main{touch-action:pan-y}
