:root[data-color-theme="light"] {
  color-scheme: light;
}

:root[data-color-theme="dark"] {
  color-scheme: dark;
}

.footer-theme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.45rem 0 0;
  vertical-align: middle;
}

.footer-theme-button {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #555555;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.footer-theme-button:hover,
.footer-theme-button:focus-visible {
  background: rgba(0, 0, 101, 0.08);
  color: #000065;
}

.footer-theme-button:focus-visible {
  outline: 2px solid rgba(0, 0, 101, 0.32);
  outline-offset: 2px;
}

.footer-theme-svg {
  display: none;
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.footer-theme-button[data-color-theme-current="system"] [data-color-theme-icon="system"],
.footer-theme-button[data-color-theme-current="dark"] [data-color-theme-icon="dark"],
.footer-theme-button[data-color-theme-current="light"] [data-color-theme-icon="light"] {
  display: block;
}

.footer-search-theme-row {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 0.55rem;
}

.footer-search-theme-row .search-cse {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 0;
  font-size: 1em;
}

.footer-search-theme-row .label {
  font-size: 1em;
  line-height: 1.2;
}

.footer-search-theme-row .input {
  width: 200px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-color-theme]) .footer-theme-button {
    color: #f0f0f0;
  }

  :root:not([data-color-theme]) .footer-theme-button:hover,
  :root:not([data-color-theme]) .footer-theme-button:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
  }

  :root:not([data-color-theme]) .topictitle.link a::after {
    filter: invert(1) brightness(1.35);
    opacity: 0.86;
  }
}

@media only screen and (max-width: 812px) {
  .footer-search-theme-row {
    gap: 0.3rem;
    margin-top: 0.65rem;
  }

  .footer-theme-button {
    width: 32px;
    height: 32px;
  }

  .footer-search-theme-row .input {
    max-width: min(200px, calc(100vw - 130px));
  }
}

:root[data-color-theme="dark"] body {
  background: #1F2023;
  color: #E5E5E5;
}

:root[data-color-theme="dark"] body > header,
:root[data-color-theme="dark"] body > footer {
  background: #383B40;
  color: #b1b1b1;
}

:root[data-color-theme="dark"] a {
  color: #E5E5E5;
}

:root[data-color-theme="dark"] body > footer a {
  color: #f0f0f0;
  border-bottom-color: transparent;
}

:root[data-color-theme="dark"] body > footer a:hover,
:root[data-color-theme="dark"] body > footer a:focus-visible {
  color: #ffffff;
  border-bottom-color: #ffffff;
}

:root[data-color-theme="dark"] .footer-theme-button {
  color: #f0f0f0;
}

:root[data-color-theme="dark"] .footer-theme-button:hover,
:root[data-color-theme="dark"] .footer-theme-button:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

:root[data-color-theme="dark"] .site-footer-notice {
  background: #1f2a24;
  border-color: #31483b;
  color: #cde1d4;
}

:root[data-color-theme="dark"] .site-footer-notice__copy a {
  color: #9fceff;
  border-bottom-color: rgba(159, 206, 255, 0.36);
}

:root[data-color-theme="dark"] .site-footer-notice__dismiss {
  color: #b9cbc1;
}

:root[data-color-theme="dark"] .site-footer-notice__dismiss:hover,
:root[data-color-theme="dark"] .site-footer-notice__dismiss:focus-visible,
:root[data-color-theme="dark"] .site-footer-notice__copy a:hover,
:root[data-color-theme="dark"] .site-footer-notice__copy a:focus-visible {
  color: #d9ecff;
}

:root[data-color-theme="dark"] textarea,
:root[data-color-theme="dark"] input {
  border: 1px solid #b1b1b1;
  background-color: #383B40;
  color: #b1b1b1;
}

:root[data-color-theme="dark"] input[type=search] {
  border: 0;
  background-color: transparent;
}

:root[data-color-theme="dark"] .referrer {
  background-color: #2f464a;
  color: #afac8e;
}

:root[data-color-theme="dark"] .referrer-subscribe-banner {
  background-color: #26342b;
  border-bottom-color: #3c5644;
  border-top-color: #3c5644;
  color: #dce9d5;
}

:root[data-color-theme="dark"] .referrer-subscribe-reminder {
  background: #303337;
  border-top-color: #45494f;
  color: #bfc5bc;
}

:root[data-color-theme="dark"] .referrer-subscribe-reminder a {
  color: #e2e6df;
  border-bottom-color: #777e84;
}

:root[data-color-theme="dark"] .referrer-subscribe-banner__button {
  background: #2b3b32;
  border-color: #8ea2ff;
  color: #eef1ff;
}

:root[data-color-theme="dark"] .referrer-subscribe-banner__dismiss,
:root[data-color-theme="dark"] .topicurl,
:root[data-color-theme="dark"] .topicinfo,
:root[data-color-theme="dark"] .commentinfo,
:root[data-color-theme="dark"] .commentreply,
:root[data-color-theme="dark"] .smalltext,
:root[data-color-theme="dark"] .watch,
:root[data-color-theme="dark"] .topicdesc,
:root[data-color-theme="dark"] .topicinfo a,
:root[data-color-theme="dark"] a.upvote,
:root[data-color-theme="dark"] .commentinfo a,
:root[data-color-theme="dark"] .commentreply a,
:root[data-color-theme="dark"] .topic_contents,
:root[data-color-theme="dark"] .topic .topic_contents,
:root[data-color-theme="dark"] td.vote,
:root[data-color-theme="dark"] .commentTD,
:root[data-color-theme="dark"] .button,
:root[data-color-theme="dark"] .comment_button {
  color: #b1b1b1;
}

:root[data-color-theme="dark"] .topictitle a:visited {
  color: #515151;
}

:root[data-color-theme="dark"] .topictitle.link a::after {
  filter: invert(1) brightness(1.35);
  opacity: 0.86;
}

:root[data-color-theme="dark"] .border {
  border-color: #515151;
}

:root[data-color-theme="dark"] .u,
:root[data-color-theme="dark"] .blog .desc a {
  border-bottom-color: #515151;
}

:root[data-color-theme="dark"] .ud {
  border-bottom-color: #515151;
}

:root[data-color-theme="dark"] .selected {
  color: #6666FF;
  border-bottom-color: #6666FF;
}

:root[data-color-theme="dark"] .mine {
  color: #6666FF;
}

:root[data-color-theme="dark"] .headline {
  border-bottom-color: #6666FF;
}

:root[data-color-theme="dark"] .bookmarklet {
  background-color: #515151;
  border-color: #6666FF;
}

:root[data-color-theme="dark"] .c99 {
  color: #A2A3A4;
}

:root[data-color-theme="dark"] #msg,
:root[data-color-theme="dark"] #msg a {
  color: #FF8787;
}

:root[data-color-theme="dark"] .sponsor {
  border-color: #525252;
  box-shadow: 2px 2px 10px #313131;
}

:root[data-color-theme="dark"] .comment_row,
:root[data-color-theme="dark"] .comments .comment_row {
  border-bottom-color: #313131;
}

:root[data-color-theme="dark"] #preview {
  border-color: #777777;
  color: #b1b1b1;
}

:root[data-color-theme="dark"] .table-responsive table {
  color: #dddddd;
}

:root[data-color-theme="dark"] .table-responsive table th {
  background: #222222;
  color: #eeeeee;
}

:root[data-color-theme="dark"] .table-responsive table td {
  background: #111111;
  color: #dddddd;
}

:root[data-color-theme="dark"] .table-responsive table tr:nth-child(even) td {
  background: #1a1a1a;
}

:root[data-color-theme="dark"] .table-responsive table,
:root[data-color-theme="dark"] .table-responsive table th,
:root[data-color-theme="dark"] .table-responsive table td {
  border-color: #444444;
}

:root[data-color-theme="dark"] #topic_contents a[href*="/news.hada.io/"]::before,
:root[data-color-theme="dark"] .comment_contents a[href*="/news.hada.io/"]::before {
  background-image: url('/favicon-16-dark.ico');
}

:root[data-color-theme="dark"] #topic_contents pre,
:root[data-color-theme="dark"] .comment_contents pre {
  border-color: #3a4a61;
  background: linear-gradient(180deg, #242b35 0%, #1d232c 100%);
  color: #dbe5f2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

:root[data-color-theme="dark"] #topic_contents :not(pre) > code,
:root[data-color-theme="dark"] .comment_contents :not(pre) > code {
  border-color: #40536d;
  background: #2b3442;
  color: #d7e4ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

:root[data-color-theme="dark"] #topic_contents pre code,
:root[data-color-theme="dark"] .comment_contents pre code,
:root[data-color-theme="dark"] #topic_contents pre .hljs,
:root[data-color-theme="dark"] .comment_contents pre .hljs {
  background: transparent !important;
  color: inherit;
}

:root[data-color-theme="dark"] .list-page {
  --list-ink: #e3e3e3;
  --list-muted: #a3a3a3;
  --list-border: #4a4a4a;
}

:root[data-color-theme="dark"] .lists-page {
  --lists-ink: #e3e3e3;
  --lists-border: #4a4a4a;
  --lists-muted: #a3a3a3;
  --lists-card: #2a2a2a;
}

:root[data-color-theme="dark"] .list-card-preview {
  border-top-color: #454545;
}

:root[data-color-theme="dark"] .list-card-preview li + li {
  border-top-color: #3f3f3f;
}

:root[data-color-theme="dark"] .profile-page article {
  --profile-ink: #e5e5e5;
  --profile-about: #d7d7d7;
  --profile-muted: #b1b1b1;
  --profile-dotted-border: #50545b;
  --profile-divider: #5b5f67;
  --profile-series-border: #494d55;
  --profile-tool-border: #7b84ff;
  --profile-tool-bg: #303540;
  --profile-tool-bg-hover: #3a4050;
  --profile-tool-ink: #dce0ff;
  --profile-field-border: #59606d;
  --profile-field-bg: #262a31;
  --profile-static-border: #4f5561;
  --profile-static-bg: #20242a;
  --profile-static-ink: #ced2da;
  --profile-slot-border: #5c6270;
  --profile-slot-bg: #242831;
  --profile-slot-over-border: #8a90ff;
  --profile-slot-over-bg: rgba(102, 102, 255, 0.18);
  --profile-slot-empty: #9ca3af;
  --profile-panel-bg: transparent;
  --profile-panel-border: rgba(148, 163, 184, 0.14);
  --profile-panel-shadow: none;
  --profile-text-main: #f8fafc;
  --profile-text-subtle: rgba(226, 232, 240, 0.88);
  --profile-border-soft: rgba(148, 163, 184, 0.14);
  --profile-badge-bg: transparent;
  --profile-supporter-border: rgba(250, 204, 21, 0.10);
  --profile-supporter-bg: linear-gradient(180deg, rgba(250, 204, 21, 0.06), rgba(250, 204, 21, 0.015)), transparent;
  --profile-icon-panel-bg: transparent;
  --profile-meta-bg: transparent;
  --profile-meta-dot: rgba(125, 211, 252, 0.9);
}

:root[data-color-theme="dark"] .profile-save-flash {
  border-color: rgba(74, 222, 128, 0.26);
  background: rgba(22, 163, 74, 0.2);
  color: #dcfce7;
}

:root[data-color-theme="dark"] .profile-fairy-nudge a {
  border-color: #4f5561;
  background: #20242a;
  color: #d7d7d7;
}

:root[data-color-theme="dark"] .profile-fairy-nudge a:hover,
:root[data-color-theme="dark"] .profile-fairy-nudge a:focus-visible {
  border-color: #777f8d;
  background: #262a31;
  color: #f8fafc;
}

:root[data-color-theme="dark"] .profile-fairy-help-button {
  border-color: #4f5561;
  background: #20242a;
  color: #d7d7d7;
}

:root[data-color-theme="dark"] .profile-fairy-help-button:hover,
:root[data-color-theme="dark"] .profile-fairy-help-button:focus-visible {
  border-color: #777f8d;
  color: #f8fafc;
}

:root[data-color-theme="dark"] .detail-meta {
  color: #d5dbe4;
}

:root[data-color-theme="dark"] .small-note,
:root[data-color-theme="dark"] .purchase-meta,
:root[data-color-theme="dark"] .step-row .step-threshold,
:root[data-color-theme="dark"] .detail-context-note,
:root[data-color-theme="dark"] .detail-supporter-note {
  color: #b9c0cb;
}

:root[data-color-theme="dark"] .step-row {
  border-bottom-color: #4f5661;
}

:root[data-color-theme="dark"] .detail-context-note {
  border-top-color: #4f5661;
  border-bottom-color: #4f5661;
}

:root[data-color-theme="dark"] .detail-context-note strong,
:root[data-color-theme="dark"] .step-row.is-current .step-name {
  color: #f5f7fb;
}

:root[data-color-theme="dark"] .step-row.is-current {
  background: rgba(96, 165, 250, 0.12);
}

:root[data-color-theme="dark"] .step-row.is-current::before {
  background: #93c5fd;
}

:root[data-color-theme="dark"] .step-row.is-current .step-threshold {
  color: #d5dbe4;
}

:root[data-color-theme="dark"] .purchase-state.available {
  color: #8ee6b0;
}

:root[data-color-theme="dark"] .purchase-state.insufficient_balance,
:root[data-color-theme="dark"] .purchase-state.login_required,
:root[data-color-theme="dark"] .purchase-state.unavailable,
:root[data-color-theme="dark"] .purchase-state.not_for_sale {
  color: #f2c879;
}

:root[data-color-theme="dark"] .purchase-action,
:root[data-color-theme="dark"] .purchase-action.primary {
  background: #d9dee7;
  color: #1f2937;
  border-color: #aeb8c7;
}

:root[data-color-theme="dark"] .purchase-action:hover,
:root[data-color-theme="dark"] .purchase-action:focus-visible,
:root[data-color-theme="dark"] .purchase-action.primary:hover,
:root[data-color-theme="dark"] .purchase-action.primary:focus-visible {
  background: #edf2f8;
  color: #111827;
}

:root[data-color-theme="dark"] .detail-flash {
  border-color: #697180;
}

:root[data-color-theme="dark"] .detail-flash.success {
  color: #9fe3ba;
}

:root[data-color-theme="dark"] .detail-flash.error {
  color: #ffb4a8;
}

:root[data-color-theme="dark"] .weekly-container,
:root[data-color-theme="dark"] .weekly-container .weekly-intro,
:root[data-color-theme="dark"] .weekly-container .desc,
:root[data-color-theme="dark"] .weekly-container .topics,
:root[data-color-theme="dark"] .weekly-container .content,
:root[data-color-theme="dark"] .weekly-container .comments,
:root[data-color-theme="dark"] .weekly-container .date,
:root[data-color-theme="dark"] .weekly-container .footer,
:root[data-color-theme="dark"] .weekly-container p,
:root[data-color-theme="dark"] .weekly-container li {
  color: #d7dbe2;
}

:root[data-color-theme="dark"] .weekly-container .weekly-intro strong,
:root[data-color-theme="dark"] .weekly-container h2,
:root[data-color-theme="dark"] .weekly-container h3 {
  color: #f5f7fb;
}

:root[data-color-theme="dark"] .weekly-container a {
  color: #aaaaff;
  border-bottom-color: rgba(170, 170, 255, 0.55);
}

:root[data-color-theme="dark"] .weekly-container a:hover,
:root[data-color-theme="dark"] .weekly-container a:focus-visible {
  color: #c9ceff;
  border-bottom-color: #c9ceff;
}

:root[data-color-theme="dark"] .weekly-container hr.inset {
  border-top-color: rgba(170, 170, 255, 0.34);
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

:root[data-color-theme="dark"] .weekly-container .topicdesc,
:root[data-color-theme="dark"] .weekly-container .topicinfo,
:root[data-color-theme="dark"] .weekly-container .commentinfo,
:root[data-color-theme="dark"] .weekly-container .commentreply {
  color: #b9c0cb;
}

:root[data-color-theme="dark"] .geekbots-page {
  color: #e5e7eb;
}

:root[data-color-theme="dark"] .geekbots-hero,
:root[data-color-theme="dark"] .geekbots-reason,
:root[data-color-theme="dark"] .geekbots-contact {
  border-color: #7b84ff;
}

:root[data-color-theme="dark"] .geekbots-eyebrow,
:root[data-color-theme="dark"] .geekbots-stat-number {
  color: #aab6ff;
}

:root[data-color-theme="dark"] .geekbots-lead,
:root[data-color-theme="dark"] .geekbots-stat-label,
:root[data-color-theme="dark"] .geekbots-stat-note,
:root[data-color-theme="dark"] .geekbots-section-intro,
:root[data-color-theme="dark"] .geekbots-reason p,
:root[data-color-theme="dark"] .geekbots-bot-count,
:root[data-color-theme="dark"] .geekbots-trust span,
:root[data-color-theme="dark"] .geekbots-subscribe-handle,
:root[data-color-theme="dark"] .geekbots-contact p {
  color: #c9ced8;
}

:root[data-color-theme="dark"] .geekbots-stat-panel,
:root[data-color-theme="dark"] .geekbots-bot-card,
:root[data-color-theme="dark"] .geekbots-subscribe-card,
:root[data-color-theme="dark"] .geekbots-trust {
  background: #24272c;
  border-color: #4a4f58;
  color: #e5e7eb;
}

:root[data-color-theme="dark"] .geekbots-bot-logo,
:root[data-color-theme="dark"] .geekbots-subscribe-logo {
  background: #1f2227;
  border-color: #4a4f58;
}

:root[data-color-theme="dark"] .geekbots-button-secondary,
:root[data-color-theme="dark"] .geekbots-bot-action,
:root[data-color-theme="dark"] .geekbots-email-copy {
  background: #2f3440;
  border-color: #7b84ff;
  color: #dbe0ff;
}

:root[data-color-theme="dark"] .geekbots-button-primary,
:root[data-color-theme="dark"] .geekbots-button-secondary:hover,
:root[data-color-theme="dark"] .geekbots-button-secondary:focus-visible,
:root[data-color-theme="dark"] .geekbots-bot-action:hover,
:root[data-color-theme="dark"] .geekbots-bot-action:focus-visible,
:root[data-color-theme="dark"] .geekbots-email-copy:hover,
:root[data-color-theme="dark"] .geekbots-email-copy:focus-visible {
  background: #7b84ff;
  border-color: #9da5ff;
  color: #111827;
}

:root[data-color-theme="dark"] .geekbadge-guide {
  --geekbadge-ink: #dbdde1;
  --geekbadge-muted: #b4bac6;
  --geekbadge-card-bg: #24272c;
  --geekbadge-card-border: #4a4f58;
  --geekbadge-button-bg: #2f3440;
  --geekbadge-button-border: #7b84ff;
  --geekbadge-button-ink: #dbe0ff;
  --geekbadge-button-bg-primary: rgba(102, 102, 255, 0.18);
  --geekbadge-note: #aeb4bf;
}

:root[data-color-theme="dark"] .geekbadge-guide .guide-button:hover,
:root[data-color-theme="dark"] .geekbadge-guide .guide-button:focus-visible {
  background: #3a4050;
  color: #f5f7fb;
}

:root[data-color-theme="dark"] .badge-catalog-page {
  color: #e5e7eb;
}

:root[data-color-theme="dark"] .catalog-section-note,
:root[data-color-theme="dark"] .catalog-line-label,
:root[data-color-theme="dark"] .catalog-badge-card-subtitle,
:root[data-color-theme="dark"] .catalog-badge-state,
:root[data-color-theme="dark"] .badge-catalog-search-empty {
  color: #b9c0cb;
}

:root[data-color-theme="dark"] .catalog-group {
  border-top-color: #515761;
}

:root[data-color-theme="dark"] .badge-catalog-search input[type="search"] {
  border-color: #59606d;
  background-color: #262a31;
  color: #e5e7eb;
}

:root[data-color-theme="dark"] .badge-catalog-search input[type="search"]::placeholder {
  color: #9ca3af;
}

:root[data-color-theme="dark"] .support-page {
  --support-ink: #dbdde1;
  --support-muted: #b4bac6;
  --support-panel-bg: #24272c;
  --support-panel-border: #4a4f58;
  --support-accent: #dbe0ff;
  --support-accent-soft: #303548;
  --support-primary-bg: #7b84ff;
  --support-primary-border: #9da5ff;
  --support-primary-ink: #111827;
  --support-note-bg: #2b2a20;
  --support-note-border: #706145;
}

:root[data-color-theme="dark"] .support-page a {
  color: var(--support-accent);
}

:root[data-color-theme="dark"] .support-page .support-button {
  border-color: var(--support-accent);
  background: var(--support-accent-soft);
  color: var(--support-accent);
}

:root[data-color-theme="dark"] .support-page .support-button-primary {
  border-color: var(--support-primary-border);
  background: var(--support-primary-bg);
  color: var(--support-primary-ink);
}

:root[data-color-theme="dark"] .write-page {
  --write-muted: #b5b5b5;
  --write-note: #a3a3a3;
  --write-guide-bg: #2b2a20;
  --write-guide-border: #706145;
  --write-guide-text: #ece3c9;
  --write-guide-warning: #ffb07a;
}

:root[data-color-theme="dark"] .write-page .type-guide-box a,
:root[data-color-theme="dark"] .write-page .news-guide-inline a {
  color: #dbe0ff;
  border-bottom-color: rgba(219, 224, 255, 0.45);
}

:root[data-color-theme="dark"] .write-page .type-guide-box a:hover,
:root[data-color-theme="dark"] .write-page .type-guide-box a:focus-visible,
:root[data-color-theme="dark"] .write-page .news-guide-inline a:hover,
:root[data-color-theme="dark"] .write-page .news-guide-inline a:focus-visible {
  color: #f2f4ff;
  border-bottom-color: #f2f4ff;
}

:root[data-color-theme="dark"] .write-page .fairy-help-button,
:root[data-color-theme="dark"] .write-page .fairy-project-preview a {
  border-color: #4f5561;
  background: #20242a;
  color: #d7d7d7;
}

:root[data-color-theme="dark"] .write-page .fairy-help-button:hover,
:root[data-color-theme="dark"] .write-page .fairy-help-button:focus-visible,
:root[data-color-theme="dark"] .write-page .fairy-project-preview a:hover,
:root[data-color-theme="dark"] .write-page .fairy-project-preview a:focus-visible {
  border-color: #777f8d;
  background: #262a31;
  color: #f8fafc;
}

:root[data-color-theme="dark"] .write-page .write-topic-section-separator {
  border-top-color: #45494f;
}

:root[data-color-theme="light"] body {
  background-color: #FBFBFB;
  color: #232323;
}

:root[data-color-theme="light"] body > header,
:root[data-color-theme="light"] body > footer {
  background-color: #E5E5E5;
  color: #2f2f2f;
}

:root[data-color-theme="light"] a {
  color: #232323;
}

:root[data-color-theme="light"] body > footer a {
  color: #2f2f2f;
}

:root[data-color-theme="light"] body > footer a:hover,
:root[data-color-theme="light"] body > footer a:focus-visible {
  color: #000000;
  border-bottom-color: #000000;
}

:root[data-color-theme="light"] textarea,
:root[data-color-theme="light"] input {
  border: 1px solid #DEDEDE;
  background-color: #ffffff;
  color: #232323;
}

:root[data-color-theme="light"] input[type=search] {
  border: 0;
  background-color: transparent;
}

:root[data-color-theme="light"] .footer-theme-button {
  color: #555555;
}

:root[data-color-theme="light"] .footer-theme-button:hover,
:root[data-color-theme="light"] .footer-theme-button:focus-visible {
  background: rgba(0, 0, 101, 0.08);
  color: #000065;
}

:root[data-color-theme="light"] .site-footer-notice {
  background: #f4faf6;
  border-color: #d7e8dc;
  color: #355443;
}

:root[data-color-theme="light"] .site-footer-notice__copy a {
  color: #255885;
  border-bottom-color: rgba(37, 88, 133, 0.28);
}

:root[data-color-theme="light"] .site-footer-notice__dismiss {
  color: #5f6f66;
}

:root[data-color-theme="light"] .referrer {
  background-color: #e5ffe0;
  color: inherit;
}

:root[data-color-theme="light"] .referrer-subscribe-banner {
  background-color: #edf8e8;
  border-top-color: #c8dfc0;
  border-bottom-color: #c8dfc0;
  color: #263522;
}

:root[data-color-theme="light"] .referrer-subscribe-reminder {
  background: #eeeeee;
  border-top-color: #dedede;
  color: #555555;
}

:root[data-color-theme="light"] .topicurl,
:root[data-color-theme="light"] .topicinfo,
:root[data-color-theme="light"] .commentinfo,
:root[data-color-theme="light"] .commentreply,
:root[data-color-theme="light"] .smalltext,
:root[data-color-theme="light"] .watch,
:root[data-color-theme="light"] .topicdesc,
:root[data-color-theme="light"] .topicinfo a,
:root[data-color-theme="light"] a.upvote,
:root[data-color-theme="light"] .commentinfo a,
:root[data-color-theme="light"] .commentreply a,
:root[data-color-theme="light"] .topic_contents,
:root[data-color-theme="light"] .topic .topic_contents,
:root[data-color-theme="light"] td.vote,
:root[data-color-theme="light"] .commentTD,
:root[data-color-theme="light"] .button,
:root[data-color-theme="light"] .comment_button {
  color: #666666;
}

:root[data-color-theme="light"] .topictitle a:visited {
  color: #888888;
}

:root[data-color-theme="light"] .border {
  border-color: #dddddd;
}

:root[data-color-theme="light"] .u,
:root[data-color-theme="light"] .blog .desc a {
  border-bottom-color: #777777;
}

:root[data-color-theme="light"] .selected {
  color: #000065;
  border-bottom-color: #000065;
}

:root[data-color-theme="light"] .mine {
  color: #000065;
}

:root[data-color-theme="light"] .headline {
  border-bottom-color: #000065;
}

:root[data-color-theme="light"] .bookmarklet {
  background-color: #515151;
  border-color: #000065;
}

:root[data-color-theme="light"] .c99 {
  color: #999999;
}

:root[data-color-theme="light"] #msg,
:root[data-color-theme="light"] #msg a {
  color: #cc0033;
}

:root[data-color-theme="light"] .sponsor {
  border-color: #dddddd;
  box-shadow: none;
}

:root[data-color-theme="light"] .comment_row,
:root[data-color-theme="light"] .comments .comment_row {
  border-bottom-color: #dddddd;
}

:root[data-color-theme="light"] #preview {
  border-color: #777777;
  color: #666666;
}

:root[data-color-theme="light"] .table-responsive table {
  color: inherit;
}

:root[data-color-theme="light"] .table-responsive table th {
  background: #f9f9f9;
  color: inherit;
}

:root[data-color-theme="light"] .table-responsive table td {
  background: #ffffff;
  color: inherit;
}

:root[data-color-theme="light"] .table-responsive table tr:nth-child(even) td {
  background: #fafafa;
}

:root[data-color-theme="light"] .table-responsive table,
:root[data-color-theme="light"] .table-responsive table th,
:root[data-color-theme="light"] .table-responsive table td {
  border-color: #cccccc;
}

:root[data-color-theme="light"] #topic_contents a[href*="/news.hada.io/"]::before,
:root[data-color-theme="light"] .comment_contents a[href*="/news.hada.io/"]::before {
  background-image: url('/favicon-16.ico');
}

:root[data-color-theme="light"] #topic_contents pre,
:root[data-color-theme="light"] .comment_contents pre {
  border-color: #d7dfec;
  background: linear-gradient(180deg, #f8fbff 0%, #eef3fa 100%);
  color: #1f2937;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

:root[data-color-theme="light"] #topic_contents :not(pre) > code,
:root[data-color-theme="light"] .comment_contents :not(pre) > code {
  border-color: #d7dfec;
  background: #eef3fa;
  color: #22324a;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

:root[data-color-theme="light"] .list-page {
  --list-ink: #232323;
  --list-muted: #666666;
  --list-border: #dddddd;
}

:root[data-color-theme="light"] .lists-page {
  --lists-ink: #232323;
  --lists-border: #dddddd;
  --lists-muted: #666666;
  --lists-card: #ffffff;
}

:root[data-color-theme="light"] .list-card-preview {
  border-top-color: #eeeeee;
}

:root[data-color-theme="light"] .list-card-preview li + li {
  border-top-color: #f1f1f1;
}

:root[data-color-theme="light"] .profile-save-flash {
  border-color: rgba(22, 163, 74, 0.24);
  background: rgba(240, 253, 244, 0.96);
  color: #166534;
}

:root[data-color-theme="light"] .profile-page article {
  --profile-ink: #111111;
  --profile-about: #333333;
  --profile-muted: #666666;
  --profile-dotted-border: #d6d6d6;
  --profile-divider: #777777;
  --profile-series-border: #dddddd;
  --profile-tool-border: #000065;
  --profile-tool-bg: #f1f2f9;
  --profile-tool-bg-hover: #e8ebfb;
  --profile-tool-ink: #000065;
  --profile-field-border: #bdbdbd;
  --profile-field-bg: #ffffff;
  --profile-static-border: #d7d7d7;
  --profile-static-bg: #f7f7f7;
  --profile-static-ink: #555555;
  --profile-slot-border: #a9a9a9;
  --profile-slot-bg: #fbfbfb;
  --profile-slot-over-border: #000065;
  --profile-slot-over-bg: #eef0ff;
  --profile-slot-empty: #999999;
  --profile-panel-bg: transparent;
  --profile-panel-border: rgba(102, 121, 155, 0.18);
  --profile-panel-shadow: none;
  --profile-text-main: #0f172a;
  --profile-text-subtle: rgba(51, 65, 85, 0.84);
  --profile-border-soft: rgba(100, 116, 139, 0.16);
  --profile-badge-bg: transparent;
  --profile-supporter-border: rgba(245, 158, 11, 0.12);
  --profile-supporter-bg: linear-gradient(180deg, rgba(255, 237, 179, 0.16), rgba(255, 255, 255, 0.72));
  --profile-icon-panel-bg: transparent;
  --profile-meta-bg: transparent;
  --profile-meta-dot: rgba(14, 165, 233, 0.92);
}

:root[data-color-theme="light"] .profile-fairy-help-button {
  border-color: #cccccc;
  background: #f7f7f7;
  color: #555555;
}

:root[data-color-theme="light"] .profile-fairy-help-button:hover,
:root[data-color-theme="light"] .profile-fairy-help-button:focus-visible {
  border-color: #999999;
  color: #111111;
}

:root[data-color-theme="light"] .purchase-state.available {
  color: #23663f;
}

:root[data-color-theme="light"] .purchase-state.insufficient_balance,
:root[data-color-theme="light"] .purchase-state.login_required,
:root[data-color-theme="light"] .purchase-state.unavailable,
:root[data-color-theme="light"] .purchase-state.not_for_sale {
  color: #7a4e00;
}

:root[data-color-theme="light"] .purchase-action,
:root[data-color-theme="light"] .purchase-action.primary {
  background: #f7f7f7;
  color: inherit;
  border-color: #bdbdbd;
}

:root[data-color-theme="light"] .purchase-action.secondary {
  background: transparent;
}

:root[data-color-theme="light"] .detail-flash {
  border-color: #777777;
}

:root[data-color-theme="light"] .detail-flash.success {
  color: #0f5d31;
}

:root[data-color-theme="light"] .detail-flash.error {
  color: #8a1f11;
}

:root[data-color-theme="light"] .support-page a {
  color: var(--support-accent);
}

:root[data-color-theme="light"] .support-page .support-button {
  border-color: var(--support-accent);
  background: var(--support-accent-soft);
  color: var(--support-accent);
}

:root[data-color-theme="light"] .support-page .support-button-primary {
  border-color: var(--support-primary-border);
  background: var(--support-primary-bg);
  color: var(--support-primary-ink);
}
