/* 首页布局、资料、工作台、导分和机厅卡片。 */
.home-intro { display: grid; align-items: center; }
.home-lead { max-width: 500px; margin-bottom: 32px; color: var(--muted); }
.home-intro h1 { max-width: 590px; }
.home-lead { font-size: 16px; line-height: 1.75; }
.home-actions { display: flex; align-items: center; gap: 24px; }
.home-section .section-heading h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.2; letter-spacing: -.01em; }
.home-workspace-section { padding-bottom: 78px; }
.home-maimai-panels { display: grid; }
#home-maimai-tabs[hidden] + .home-maimai-panels { display: none; }
.home-maimai-panels > [role="tabpanel"] { grid-area: 1 / 1; align-self: start; }
.home-maimai-panels > [role="tabpanel"][hidden] { display: grid !important; visibility: hidden; pointer-events: none; }
@media (max-width: 820px) and (orientation: portrait) {
  .home-maimai-panels > [role="tabpanel"][hidden] { display: none !important; }
  .page-home .home-widget-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .home-widget.home-widget-maimai { min-height: 0; }
}
.home-widget-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.home-widget { position: relative; display: flex; min-height: 286px; flex-direction: column; overflow: hidden; padding: 24px; color: var(--ink); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.home-widget-maimai { --maimai-accent: #397e88; --maimai-accent-strong: #397e88; --maimai-soft: #edf5f6; --maimai-line: #b9d8e1; --maimai-muted: #78909d; overflow: visible; min-height: 430px; }
.home-widget-arcade { --arcade-accent: #397e88; --arcade-soft: #edf5f6; --arcade-line: #c7dfe5; }
.home-widget-arcade { min-height: 430px; }
.home-widget-arcade .home-widget-message { max-width: none; }
.home-widget-arcade .home-widget-footer { padding-top: 22px; }
.home-widget-arcade [hidden] { display: none !important; }
.home-arcade-overview { border-top: 1px solid #b9d8e1; padding-top: 16px; }
.home-arcade-shop-label { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; height: 18px; color: #78909d; font-size: 11px; line-height: 18px; letter-spacing: .02em; }
.home-arcade-switch { --ui-button-gap: 5px; --ui-button-height: 0px; --ui-button-padding: 5px 8px; --ui-button-radius: 4px; --ui-button-font-size: 11px; --ui-button-bg: #f2f4fb; --ui-button-text: #7d88a6; --ui-button-border: #dee3f0; --ui-button-hover-text: #667ba7; --ui-button-hover-bg: #eaf0fc; white-space: nowrap; }
.home-arcade-switch { margin-top: -6px; letter-spacing: 0; }
.home-arcade-switch-icon { width: 13px; height: 13px; flex: 0 0 13px; overflow: visible; }
.home-arcade-switch-icon path { transition: transform .22s ease; }
.home-arcade-switch:hover .icon-switch-forward, .home-arcade-switch:focus-visible .icon-switch-forward { transform: translateX(2px); }
.home-arcade-switch:hover .icon-switch-backward, .home-arcade-switch:focus-visible .icon-switch-backward { transform: translateX(-2px); }
.home-arcade-shop-name { display: block; margin-top: 7px; font-size: 21px; line-height: 1.4; font-weight: 750; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .home-arcade-shop-label { height: auto; align-items: center; }
  .home-arcade-switch { margin-top: 0; }
  .home-arcade-shop-name { margin-top: 12px; }
}
.home-arcade-address { display: flex; align-items: flex-start; gap: 7px; margin: 7px 0 17px; color: #78909d; font-size: 11px; line-height: 1.65; }
.home-arcade-address .ui-icon { width: 14px; height: 14px; flex: 0 0 14px; margin-top: 2px; opacity: .7; }
.home-arcade-attendance { padding: 12px 16px; border: 1px solid var(--arcade-line); border-radius: 6px; background: #f1f8f8; }
.home-arcade-attendance-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #69888e; font-size: 11px; }
.home-arcade-refresh { width: 28px; height: 28px; --ui-button-height: 28px; --ui-button-radius: 4px; }
.home-arcade-attendance-body { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 16px; padding: 7px 0 12px; }
.home-arcade-counter { display: flex; align-items: center; gap: 10px; min-width: 0; }
.home-arcade-step { display: inline-grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; padding: 0; color: #397e88; background: #ffffffc9; border: 1px solid #c7dfe5; border-radius: 6px; cursor: pointer; transition: background .18s, border-color .18s, transform .18s; }
.home-arcade-step .arcade-icon { width: 16px; height: 16px; }
.home-arcade-step:hover:not(:disabled), .home-arcade-step:focus-visible { background: #fff; border-color: #397e88; }
.home-arcade-step:active:not(:disabled) { transform: scale(.94); }
.home-arcade-step:disabled { opacity: .35; cursor: not-allowed; }
.home-arcade-people { display: flex; align-items: baseline; gap: 7px; color: #78909d; font-size: 12px; }
.home-arcade-count-input { width: 3ch; min-width: 62px; max-width: 100%; padding: 0 2px; color: #397e88; caret-color: #397e88; background: transparent; border: 0; border-bottom: 0; border-radius: 0; font: inherit; font-size: 46px; font-weight: 650; line-height: 1.2; font-variant-numeric: tabular-nums; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.home-arcade-count-input::-webkit-inner-spin-button, .home-arcade-count-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.home-arcade-count-input::placeholder { color: #397e88; opacity: 1; }
.home-arcade-count-input:hover:not(:disabled) { border-bottom-color: #b9d8e1; }
.home-arcade-count-input:focus { outline: 0; border-bottom-color: #397e88; background: transparent; box-shadow: none; }
.home-arcade-count-input:focus::placeholder { color: transparent; }
.home-arcade-count-input::selection { background: #c7e2e6; color: #2d6972; }
.home-arcade-count-input:disabled { opacity: 1; -webkit-text-fill-color: #397e88; }
.home-arcade-count-input[aria-invalid="true"] { border-color: #c98282; }
.home-arcade-wait { display: grid; flex: 1; min-width: 125px; gap: 5px; text-align: right; font-size: 11px; color: #78909d; }
.home-arcade-wait strong { color: #397e88; font-size: 13px; font-weight: 600; }
.home-arcade-attendance-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 12px; padding-top: 10px; border-top: 1px solid #d5e5e7; }
.home-arcade-report-time, .home-arcade-edit-hint { margin: 0; color: #78909d; font-size: 10px; line-height: 1.6; }
.home-arcade-edit-hint { margin-top: 3px; }
.home-arcade-report-time[hidden] + .home-arcade-edit-hint { margin-top: 0; }
.home-arcade-report-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-left: auto; }
.home-arcade-reset { padding: 5px 0; color: #69888e; background: none; border: 0; font: inherit; font-size: 11px; cursor: pointer; }
.home-arcade-reset:hover, .home-arcade-reset:focus-visible { color: #2d6972; text-decoration: underline; }
.home-arcade-report-feedback { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid #d5e5e7; color: #397e88; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.home-arcade-report-feedback[data-state="error"] { color: #a75c49; }
.home-widget-arcade .home-arcade-map { display: flex; flex: 1 0 180px; min-height: 180px; margin-top: 16px; border-color: var(--arcade-line); border-radius: 6px; }
.home-widget-arcade .home-arcade-map .arcade-map-stage { width: 100%; min-width: 0; }
.home-widget-arcade .home-arcade-map .arcade-map-canvas { height: 100%; min-height: 180px; }
.home-arcade-empty { display: flex; flex: 1; min-height: 230px; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding: 30px 18px; margin-top: 5px; border: 1px solid #dce9ec; border-radius: 6px; background-color: #f5f9fa; background-image: linear-gradient(30deg, transparent 47%, #dce9ec66 48%, #dce9ec66 51%, transparent 52%), linear-gradient(110deg, transparent 47%, #dce9ec66 48%, #dce9ec66 51%, transparent 52%); background-size: 90px 100px, 130px 110px; text-align: center; }
.home-arcade-empty strong { font-size: 17px; }
.home-arcade-empty span { max-width: 240px; color: #78909d; font-size: 12px; line-height: 1.7; }
.home-widget-arcade .home-arcade-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: auto; }
.home-arcade-report-button { display: inline-flex; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid #397e88; border-radius: 4px; background: #397e88; color: #fff; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; transition: background .18s, box-shadow .18s; }
.home-arcade-report-button:hover:not(:disabled), .home-arcade-report-button:focus-visible:not(:disabled) { color: #fff; background: #2d6972; text-decoration: none; box-shadow: 0 3px 9px #397e8829; }
.home-arcade-report-button:disabled { color: #8da7ad; background: #e5eff1; border-color: #d5e5e7; cursor: not-allowed; box-shadow: none; }
@media (max-width: 460px) {
.home-arcade-counter { justify-content: center; width: 100%; }
.home-arcade-step { width: 40px; height: 40px; flex-basis: 40px; }
.home-arcade-wait { text-align: center; }
.home-arcade-report-meta { width: 100%; }
.home-arcade-report-controls { width: 100%; }
.home-arcade-report-button { flex: 1; min-height: 44px; font-size: 13px; border-radius: 6px; }
.home-arcade-reset { min-height: 44px; padding: 8px 14px; }
}
@media (prefers-reduced-motion: reduce) {
.home-arcade-report-button, .home-arcade-switch-icon path, .home-arcade-step { transition: none; }
.home-arcade-switch:hover .home-arcade-switch-icon path, .home-arcade-switch:focus-visible .home-arcade-switch-icon path { transform: none; }
}
.home-widget[aria-busy="true"] { border-color: #d7e5eb; }
.home-widget[aria-busy="true"]::after { position: absolute; top: 0; left: 8px; width: calc(34% - 5.44px); height: 2px; border-radius: 2px; background: var(--orange); content: ""; animation: home-widget-loading 1.35s ease-in-out infinite; }
.home-widget-toplink { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #698aa2; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.home-widget-toplink:hover, .home-widget-toplink:focus-visible { color: var(--ink); text-decoration: none; }
.home-widget-arrow, .home-widget-footer-arrow { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; color: var(--orange); background: currentColor; transition: transform .22s ease, filter .22s ease; }
.home-widget-toplink:hover .home-widget-arrow, .home-widget-toplink:focus-visible .home-widget-arrow { transform: translate(3px, -3px); filter: drop-shadow(0 2px 2px rgba(91, 107, 121, .25)); }
.home-widget-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-top: 24px; }
.home-widget-heading > div { min-width: 0; }
.home-widget h3 { margin: 0; font-size: 23px; line-height: 1.25; }
.home-widget-state { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; margin-top: 4px; padding: 4px 9px; color: #668f7b; background: #edf6f0; border: 1px solid #d8eade; border-radius: 999px; font-size: 10px; font-weight: 700; line-height: 1.35; white-space: nowrap; }
.home-widget-state i { width: 6px; height: 6px; border-radius: 50%; background: #83b598; }
.home-widget-state[data-state="loading"] { color: #8b9ba4; background: #f0f3f5; border-color: #dfe7eb; }
.home-widget-state[data-state="loading"] i { background: #bac4cd; }
.home-widget-state[data-state="anonymous"], .home-widget-state[data-state="unbound"] { color: #aa8a4d; background: #fbf3df; border-color: #eedfb7; }
.home-widget-state[data-state="anonymous"] i, .home-widget-state[data-state="unbound"] i { background: #d2aa58; }
.home-widget-state[data-state="error"] { color: #c8794e; background: #fbe9dc; border-color: #efd1bd; }
.home-widget-state[data-state="error"] i { background: #d77b4c; }
.home-widget-message { min-height: 0; margin: 7px 0 15px; color: #6b7f8c; font-size: 12px; line-height: 1.55; }
.home-widget-maimai .home-widget-message { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-widget-data { display: grid; grid-template-columns: minmax(110px, 1.15fr) minmax(82px, .75fr) minmax(128px, .95fr); column-gap: 18px; margin-top: 0; padding-top: 16px; border-top: 1px solid var(--maimai-line, rgba(117, 157, 169, .22)); }
.home-widget-data > div { min-width: 0; }
.home-widget-data strong, .home-widget-data span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-widget-data strong { color: var(--ink); font-size: 17px; }
.home-widget-maimai .home-widget-data > div { display: grid; grid-template-rows: 18px auto; align-content: start; min-width: 0; }
.home-widget-maimai .home-widget-data strong, .home-widget-maimai .home-widget-data span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-widget-maimai .home-widget-data strong { display: flex; align-items: center; min-height: 34px; height: auto; color: var(--ink); font-size: 19px; font-weight: 750; line-height: 24px; letter-spacing: .01em; }
.home-widget-maimai .home-widget-player-stat strong { align-items: flex-start; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
.home-widget-maimai .home-widget-data .home-widget-rating-stat strong { color: var(--maimai-accent-strong, #397e88); font-size: 21px; line-height: 24px; font-variant-numeric: tabular-nums; letter-spacing: 0; }
.home-widget-maimai .home-widget-data .home-widget-label { align-self: start; margin: 0; color: var(--maimai-muted, #78909d); font-size: 11px; line-height: 18px; letter-spacing: .02em; }
.home-widget-data span:not(.home-widget-label) { margin-top: 3px; color: #78909d; font-size: 11px; }
.home-widget-provider > .home-widget-select-wrap { display: contents; }
.home-widget-provider-name { display: flex; align-items: center; gap: 7px; }
.home-widget-provider-name img { width: 22px; height: 22px; border-radius: 6px; object-fit: cover; }
.home-widget-provider-name strong { font-size: 18px; }
.home-widget [hidden] { display: none !important; }
.home-widget-select-wrap { display: grid; gap: 3px; color: var(--maimai-muted, #78909d); font-size: 11px; }
.home-widget-maimai .home-widget-data .home-widget-data-source { position: relative; z-index: 5; display: block; width: fit-content; min-width: 112px; height: 34px; margin-top: 0; overflow: visible; white-space: normal; color: inherit; font-size: inherit; }
.home-widget-source-trigger { display: flex; align-items: center; gap: 14px; width: 100%; height: 34px; min-height: 34px; padding: 0 3px; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font: inherit; font-size: 18px; font-weight: 750; line-height: 24px; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease; }
.home-widget-source-trigger:hover, .home-widget-source-trigger:focus-visible, .home-widget-data-source.is-open .home-widget-source-trigger { color: var(--ink); background: transparent; border-color: transparent; outline: 0; }
.home-widget-source-trigger img, .home-widget-source-option img { display: block; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 0; object-fit: contain; background: transparent; }
.home-widget-source-trigger img { transform: translateY(-1px); transition: transform .22s cubic-bezier(.2, .8, .2, 1), filter .22s ease; }
.home-widget-source-trigger:hover img, .home-widget-source-trigger:focus-visible img, .home-widget-data-source.is-open .home-widget-source-trigger img { transform: translateY(-2px) scale(1.1) rotate(-2deg); filter: drop-shadow(0 3px 3px rgba(53, 65, 84, .18)); }
.home-widget-source-trigger:hover > span, .home-widget-source-trigger:focus-visible > span, .home-widget-data-source.is-open .home-widget-source-trigger > span { transform: scale(1.04); text-shadow: 0 3px 8px rgba(53, 65, 84, .18); }
.home-widget-data-source.is-saving .home-widget-source-trigger { opacity: .68; cursor: wait; }
.home-widget-source-trigger > span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-widget-maimai .home-widget-source-trigger > span { flex: 0 0 auto; margin-top: 0; color: inherit; font-size: 18px; line-height: 24px; transition: transform .22s cubic-bezier(.2, .8, .2, 1), text-shadow .22s ease; }
.home-widget-source-trigger > i { display: block; width: 8px; height: 8px; margin: -3px 0 0 auto; flex: 0 0 8px; border-right: 1.5px solid #506678; border-bottom: 1.5px solid #506678; transform: rotate(45deg); transition: border-color .2s ease, transform .22s cubic-bezier(.2, .8, .2, 1), filter .22s ease; }
.home-widget-source-trigger:hover > i, .home-widget-source-trigger:focus-visible > i { border-color: var(--maimai-accent-strong, #397e88); transform: translateY(1px) scale(1.08) rotate(45deg); filter: drop-shadow(0 2px 3px rgba(53, 65, 84, .18)); }
.home-widget-data-source.is-open .home-widget-source-trigger > i { border-color: var(--maimai-accent-strong, #397e88); transform: translateY(2px) scale(1.08) rotate(225deg); filter: drop-shadow(0 2px 3px rgba(53, 65, 84, .18)); }
.home-widget-source-menu { position: absolute; z-index: 4; top: calc(100% + 6px); left: 0; display: grid; gap: 3px; min-width: 132px; padding: 5px; background: rgba(255, 255, 255, .98); border: 1px solid rgba(80, 102, 120, .16); border-radius: 10px; box-shadow: 0 12px 28px rgba(53, 65, 84, .14); transform-origin: top center; animation: home-source-menu-in .18s ease-out; }
.home-widget-source-option { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 34px; padding: 4px 8px; color: #617282; background: transparent; border: 0; border-radius: 7px; cursor: pointer; font: inherit; font-size: 13px; text-align: left; transition: background-color .18s ease, color .18s ease, transform .18s ease; }
.home-widget-source-option:hover, .home-widget-source-option:focus-visible, .home-widget-source-option[aria-selected="true"] { color: var(--ink); background: rgba(53, 65, 84, .06); outline: 0; }
.home-widget-source-option:hover { transform: none; }
.home-widget-source-option img { width: 22px; height: 22px; flex-basis: 22px; }
.home-widget-source-option > span { margin-top: 0; color: inherit; font-size: 13px; line-height: 20px; }
.home-theme-picker { margin-top: 17px; padding-top: 13px; border-top: 1px dashed rgba(117, 157, 169, .3); }
.home-theme-picker-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: #78909d; font-size: 11px; }
.home-theme-picker-head span:last-child { color: var(--ink); font-size: 11px; font-weight: 700; }
.home-theme-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.home-theme-option { display: grid; min-width: 0; padding: 5px; color: #78909d; background: #f5f8fa; border: 1px solid transparent; border-radius: 6px; cursor: pointer; font: inherit; transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.home-theme-option img { width: 100%; height: 34px; border-radius: 4px; object-fit: contain; object-position: center; }
.home-theme-option:hover, .home-theme-option:focus-visible { color: var(--ink); transform: translateY(-1px); box-shadow: 0 3px 8px rgba(53, 65, 84, .12); }
.home-widget-maimai .home-theme-option.is-selected { color: var(--ink); border-color: #a8c9d7; background: #edf5f6; }
.home-widget-tabs { display: flex; gap: 18px; margin-top: 18px; border-bottom: 1px solid rgba(117, 157, 169, .22); }
.home-widget-tabs button { position: relative; padding: 0 0 7px; color: #8b9ba4; background: transparent; border: 0; cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; }
.home-maimai-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 14px; }
.home-score-column { min-width: 0; }
.home-score-column + .home-score-column { padding-left: 18px; border-left: 1px solid rgba(117, 157, 169, .2); }
.home-score-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 8px; color: var(--ink); }
.home-score-heading span { color: var(--maimai-accent-strong, #397e88); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.home-score-heading small { color: #91a0aa; font-size: 10px; }
.home-score-list { display: grid; grid-auto-rows: 40px; align-content: start; gap: 7px; max-height: 228px; overflow-x: hidden; overflow-y: auto; padding-right: 5px; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: transparent transparent; -webkit-overflow-scrolling: touch; }
.home-score-list.is-scrolling { scrollbar-color: #b9d8e1 transparent; }
.home-score-list::-webkit-scrollbar { width: 4px; }
.home-score-list::-webkit-scrollbar-track, .home-score-list::-webkit-scrollbar-button { background: transparent; }
.home-score-list::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
.home-score-list::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; }
.home-score-list.is-scrolling::-webkit-scrollbar-thumb { background: #b9d8e1; }
.home-score-list:focus-visible { outline: 2px solid #b9d8e1; outline-offset: 3px; border-radius: 4px; }
.home-score-scroll-hint { margin: 8px 0 0; color: #91a0aa; font-size: 10px; line-height: 1.5; }
.home-score-item { display: grid; grid-template-columns: 19px 32px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; padding: 4px 0; color: var(--ink); border-radius: 5px; transition: background .18s ease, transform .18s ease; }
.home-score-item:hover, .home-score-item:focus-visible { text-decoration: none; }
.home-score-item:hover, .home-score-item:focus-visible { background: #f5f9fa; transform: translateX(2px); }
.home-score-item > b { color: #9aaab3; font-size: 10px; font-variant-numeric: tabular-nums; }
.home-score-item img { width: 32px; height: 32px; border-radius: 6px; object-fit: cover; background: #edf3f5; }
.home-score-meta { min-width: 0; }
.home-score-meta strong, .home-score-meta small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-score-meta strong { color: var(--ink); font-size: 11px; font-weight: 650; }
.home-score-meta small { margin-top: 2px; color: #7f929d; font-size: 10px; font-variant-numeric: tabular-nums; }
.home-score-rank-1 > b { color: #d77b4c; }
.home-score-rank-2 > b { color: #c39a55; }
.home-score-rank-3 > b { color: #6f9eaa; }
.home-maimai-import { display: grid; gap: 7px; min-height: 0; margin-top: 12px; padding: 8px 0 0; }
#home-maimai-import-form { display: grid; gap: 8px; }
.home-import-segment { display: inline-flex; width: fit-content; padding: 3px; gap: 3px; background: #f1f6f7; border: 1px solid #dce7eb; border-radius: 6px; }
.home-import-segment button { padding: 5px 9px; color: #78909d; background: transparent; border: 0; border-radius: 4px; cursor: pointer; font: inherit; font-size: 10px; font-weight: 700; line-height: 1.35; }
.home-import-segment button:hover, .home-import-segment button:focus-visible, .home-import-segment button.is-selected { color: var(--ink); background: #fff; box-shadow: 0 2px 6px rgba(53, 65, 84, .08); outline: 0; }
.home-import-segment button:disabled { color: #aab7bd; cursor: not-allowed; box-shadow: none; }
#home-maimai-import-text { width: 100%; height: 42px; min-height: 42px; resize: none; --ui-field-padding: 0 10px; --ui-field-radius: 5px; --ui-field-size: 11px; --ui-field-line-height: 40px; }
.home-import-input-wrap { display: grid; gap: 6px; }
.home-import-input-wrap small { display: block; margin: 0; color: #91a0aa; font-size: 10px; line-height: 1.4; }
.home-import-image-wrap { display: grid; gap: 6px; }
.home-import-preview { display: flex; align-items: center; gap: 9px; min-height: 46px; padding: 6px; background: #f5f9fa; border: 1px solid #dce7eb; border-radius: 4px; }
.home-import-preview img { width: 42px; height: 42px; object-fit: contain; border-radius: 3px; background: #fff; }
.home-import-mini-options { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 12px; color: #6f818b; font-size: 11px; }
.home-import-mini-options label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.home-import-options-label { color: var(--maimai-muted); }
.home-import-mini-options input { width: 13px; height: 13px; margin: 0; accent-color: var(--maimai-accent); }
.home-import-targets { padding-bottom: 10px; border-bottom: 1px solid var(--maimai-line, rgba(117, 157, 169, .22)); }
.home-import-targets label { gap: 5px; }
.home-import-targets input, .home-import-consent input { width: 15px; height: 15px; accent-color: var(--maimai-accent); }
.home-import-consent { display: flex; align-items: flex-start; gap: 6px; margin-top: 7px; color: var(--maimai-muted); font-size: 11px; line-height: 1.5; }
.home-import-consent input { flex: 0 0 auto; margin-top: 2px; }
.home-import-compliance { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 1px; }
.home-import-compliance-copy { min-width: 0; }
.home-import-submit-row { display: flex; align-items: center; justify-content: flex-end; }
.home-import-mini-options button { margin-left: auto; }
.home-import-mini-options button:hover, .home-import-mini-options button:focus-visible { background: var(--maimai-accent-strong); border-color: var(--maimai-accent-strong); }
.home-import-mini-options button:disabled { color: #9aa9b1; background: #eef3f4; border-color: #dce7eb; cursor: not-allowed; }
.home-import-agreement { margin-top: 2px; color: var(--maimai-muted); font-size: 10px; line-height: 1.75; }
.home-import-agreement summary { width: fit-content; margin-left: 6px; cursor: pointer; }
.home-import-agreement p { max-width: 600px; margin: 7px 0 0; }
.home-import-progress { margin-top: 8px; visibility: hidden; }
.home-import-progress > span { animation-play-state: paused; }
.home-import-progress.is-running { visibility: visible; }
.home-import-progress.is-running > span { animation-play-state: running; }
.home-import-status { min-height: 17px; margin: 0; color: var(--maimai-muted); font-size: 10px; line-height: 1.5; }
.home-import-status[data-state="error"] { color: #c8794e; }
.home-import-status[data-state="success"] { color: var(--maimai-accent-strong); }
.home-import-status[data-state="running"] { color: var(--maimai-accent-strong); }
.home-widget-footer { position: relative; z-index: 1; margin-top: auto; padding-top: 22px; }
.home-widget-action { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13px; font-weight: 750; transition: transform .2s ease, text-shadow .2s ease; }
.home-widget-footer .home-widget-action { padding: 10px 0; }
.home-widget-action:hover, .home-widget-action:focus-visible { transform: translateY(-2px); text-decoration: none; text-shadow: 0 2px 3px rgba(53, 65, 84, .18); }
.home-widget-footer-arrow { color: #d58a61; }
.home-widget-action:hover .home-widget-footer-arrow, .home-widget-action:focus-visible .home-widget-footer-arrow { transform: translateX(4px); }
.home-widget-links { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.home-widget-links a { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 11px; transition: color .2s ease, transform .2s ease; }
.home-widget-links a::after { display: inline-block; width: 10px; height: 10px; color: var(--orange); background: currentColor; content: ""; transition: transform .2s ease; }
.home-widget-links a:hover, .home-widget-links a:focus-visible { color: var(--ink); text-decoration: none; transform: translateY(-1px); }
.home-widget-links a:hover::after, .home-widget-links a:focus-visible::after { transform: translate(2px, -2px); }
.home-recommendation-section { padding-top: 0; }
.home-section.section-light .split-copy h2 { font-size: clamp(34px, 3.6vw, 44px); line-height: 1.12; }
@media (max-width: 820px) {
.home-intro { min-height: auto; }
.home-intro h1 { font-size: clamp(34px, 9.5vw, 48px); line-height: 1.1; }
.home-lead { font-size: 15px; line-height: 1.7; }
.home-widget-grid { grid-template-columns: 1fr; }
.home-widget { min-height: 250px; padding: 22px; }
.home-widget-maimai { min-height: 0; }
.home-widget-heading { gap: 10px; }
.home-widget-heading h3 { min-width: 0; }
.home-widget-state { max-width: 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-widget-data { gap: 14px; grid-template-columns: minmax(0, 1.2fr) minmax(74px, .8fr); }
.home-widget-maimai .home-widget-data { grid-template-columns: minmax(0, 1.2fr) minmax(74px, .8fr); }
.home-widget-data > div:nth-child(3) { grid-column: 1 / -1; }
.home-maimai-preview { gap: 12px; }
.home-score-column + .home-score-column { padding-left: 12px; }
.home-theme-options { gap: 6px; }
}
@media (max-width: 460px) {
.home-actions { align-items: start; flex-direction: column; gap: 18px; }
.home-widget { padding: 20px; }
.home-widget-heading { display: flex; flex-direction: column; gap: 0; }
.home-widget-heading > div { display: contents; }
.home-widget-heading h3 { order: 1; }
.home-widget-state { align-self: flex-start; order: 2; margin-top: 10px; }
.home-widget-message { order: 0; }
.home-widget-message { margin-bottom: 13px; }
.home-widget-data { gap: 16px; }
.home-import-compliance { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.home-import-submit-row { justify-content: flex-end; }
.home-import-submit-row button { margin-left: auto; }
.home-maimai-preview { grid-template-columns: 1fr; gap: 16px; }
.home-score-column + .home-score-column { padding-top: 15px; padding-left: 0; border-top: 1px solid rgba(117, 157, 169, .2); border-left: 0; }
.home-score-item { grid-template-columns: 20px 32px minmax(0, 1fr); }
}
.home-section { padding-top: 70px; padding-bottom: 78px; }
.home-lower { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.home-lower h2 { font-size: clamp(32px, 4vw, 52px); }
.home-notes { max-width: 470px; color: var(--muted); font-size: 14px; }
@media (prefers-reduced-motion: reduce) {
.home-widget-arrow, .home-widget-action, .home-widget-footer-arrow { transition: none; }
.home-widget-toplink:hover .home-widget-arrow, .home-widget-toplink:focus-visible .home-widget-arrow, .home-widget-action:hover .home-widget-footer-arrow, .home-widget-action:focus-visible .home-widget-footer-arrow { transform: none; }
}
.home-intro { --home-accent: #6575a5; --home-line: #dce1ef; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 72px; min-height: 0; padding-top: 48px; padding-bottom: 22px; }
.home-copy { padding: 0; }
.home-intro h1 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 18px; color: #3e465c; font-size: clamp(38px, 4.25vw, 52px); font-weight: 720; line-height: 1.18; letter-spacing: -.025em; }
.home-title-bot { color: #8998ca; background: linear-gradient(110deg, #82abd8 5%, #a58bc9 65%, #c39bbb); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.home-intro .home-lead { color: #7c8599; font-size: 14px; line-height: 1.85; margin-bottom: 26px; max-width: 450px; }
.home-intro .home-actions { flex-direction: row; flex-wrap: wrap; gap: 14px 23px; }
.home-intro .button-primary { color: #485474; background: linear-gradient(110deg, #dfebfb, #eae2f8); background-size: 160% 100%; border: 1px solid #d0d9ed; border-radius: 7px; gap: 16px; padding: 11px 16px; transition: background-position .25s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-intro .button-primary:hover, .home-intro .button-primary:focus-visible { background-position: 100% 0; border-color: #b8c4e2; box-shadow: 0 4px 12px #7c89b51c; transform: translateY(-2px); }
.home-intro .text-link { color: #66708c; font-weight: 600; }
.home-intro .text-link:hover, .home-intro .text-link:focus-visible { text-shadow: none; color: #596b9d; }
.home-intro .home-actions .home-entry-arrow { margin-left: 0; color: inherit; }
.home-all-plugins { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #8790a5; font-size: 12px; transition: color .2s ease; }
.home-all-plugins:hover, .home-all-plugins:focus-visible { color: #6575a5; }
.home-all-plugins:hover .home-entry-arrow, .home-all-plugins:focus-visible .home-entry-arrow { transform: translate(2px, -2px); }
.home-personal-board { padding: 24px 26px 19px; background: #fff; border-color: var(--home-line); border-radius: 8px; box-shadow: 0 7px 24px #7787ad0b; min-width: 0; }
.home-profile { padding-bottom: 20px; border-bottom: 1px solid var(--home-line); }
.home-profile [hidden] { display: none !important; }
.home-profile-heading { margin-bottom: 17px; color: #828ba3; font-size: 11px; }
.home-profile-main { display: flex; align-items: center; gap: 15px; min-height: 64px; }
.home-profile-avatar { position: relative; display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 64px; overflow: hidden; background: linear-gradient(140deg, #e6eefb, #eee7fa); border: 1px solid #dce1ef; border-radius: 15px; color: #7080b0; font-size: 26px; font-weight: 650; }
.home-profile-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-profile-copy { min-width: 0; }
.home-profile-copy strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #434d65; font-size: 20px; font-weight: 650; line-height: 1.4; }
.home-profile-copy p { margin: 5px 0 0; color: #828ba3; font-size: 12px; line-height: 1.65; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.home-profile-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; min-height: 38px; }
.home-profile-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 12px; border: 1px solid transparent; border-radius: 7px; color: #73809d; background: transparent; font: inherit; font-size: 11px; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-profile-actions button:hover:not(:disabled), .home-profile-actions button:focus-visible { color: #66729b; background: #eeeafa; border-color: #ded8ef; transform: translateY(-1px); }
.home-profile-actions a:focus-visible, .home-profile-actions button:focus-visible, .home-intro .button:focus-visible, .home-intro .text-link:focus-visible, .home-all-plugins:focus-visible { outline: 2px solid #bac7e8; outline-offset: 3px; }
.home-profile-actions button:disabled { opacity: .5; cursor: wait; }
.home-profile-actions a:active, .home-profile-actions button:active:not(:disabled) { transform: translateY(0); box-shadow: none; }
.home-action-icon { flex: 0 0 15px; width: 15px; height: 15px; transition: transform .2s ease; }
#home-profile-logout:hover:not(:disabled) .home-action-icon, #home-profile-logout:focus-visible .home-action-icon { transform: translateX(2px); }
#home-profile-feedback { margin: 8px 0 0; color: #a75c49; font-size: 11px; }
.home-personal-board .status-board-head { padding: 16px 0 0; border-bottom: 0; color: #7e88a1; letter-spacing: 0; font-size: 11px; }
.home-personal-board .status-board-head .status-state.status-在线 { color: #668b96; }
.home-personal-board .status-board-head .status-state.status-在线 .status-dot { background: #7fb8c2; box-shadow: 0 0 0 3px #edf5f8; }
.home-personal-board .home-framework { margin: 5px 0 12px; color: #8b93a9; font-size: 10px; }
.home-personal-board .status-stats { grid-template-columns: minmax(75px, .65fr) minmax(0, 1.35fr); align-items: center; border-top: 0; }
.home-personal-board .status-stats > div { padding-top: 0; }
.home-personal-board .status-stats > div + div { padding-left: 15px; border-left-color: var(--home-line); }
.home-personal-board .status-stats > div > b { color: #8492bb; font-size: 24px; line-height: 1.35; }
.home-personal-board .status-stats .status-bot-account { min-height: 0; }
.home-personal-board .status-stats .status-bot-meta, .home-personal-board .status-stats .status-bot-avatar { padding-top: 0; }
.home-personal-board .status-bot-avatar { width: 36px; height: 36px; flex-basis: 36px; background: #edf0fb; border-color: #dce1ef; border-radius: 9px; color: #7888b0; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-personal-board .status-bot-link:hover .status-bot-avatar, .home-personal-board .status-bot-link:focus-visible .status-bot-avatar { border-color: #bcc8e4; box-shadow: 0 3px 9px #8a95be20; }
.home-personal-board .status-bot-link:focus-visible { outline-color: #bac7e8; }
.home-personal-board .status-stats .status-bot-meta b { color: #525f7a; font-size: 13px; }
.home-personal-board .status-bot-link:hover .status-bot-meta b, .home-personal-board .status-bot-link:focus-visible .status-bot-meta b { color: #64759e; text-shadow: none; }
.home-personal-board .status-stats .status-bot-meta span { font-size: 10px; }
.home-personal-board .status-stats .status-bot-meta span.is-connected { color: #8796b9; }
.home-personal-board .status-stats .status-bot-meta span.is-connected::before { background: #7fb8c2; box-shadow: 0 0 0 3px #edf5f8; }
.home-personal-board #status-updated-at { margin-top: 15px; color: #8c96ac; font-size: 10px; line-height: 1.6; }
.home-intro + .home-workspace-section { padding-top: 38px; }
@media (max-width: 820px) {
.home-intro { display: grid; grid-template-columns: 1fr; gap: 28px; padding-top: 30px; padding-bottom: 0; }
.home-copy { padding: 0; }
.home-intro .status-board { margin-top: 0; }
.home-intro + .home-workspace-section { padding-top: 36px; }
}
@media (max-width: 460px) {
.home-intro { gap: 24px; }
.home-intro h1 { margin-bottom: 17px; }
.home-intro h1 { font-size: clamp(29px, 8.6vw, 36px); gap: 8px; }
.home-widget-grid { grid-template-columns: minmax(0, 1fr); }
.home-intro .home-lead { font-size: 13px; margin-bottom: 20px; }
.home-intro .home-actions { gap: 16px; }
.home-intro .home-actions .text-link { font-size: 12px; }
.home-personal-board { padding: 20px; }
.home-profile-actions a, .home-profile-actions button { min-height: 42px; }
.home-profile-copy strong { font-size: 18px; }
.home-profile-avatar { width: 56px; height: 56px; flex-basis: 56px; border-radius: 12px; }
}
@media (prefers-reduced-motion: reduce) {
.home-arcade-switch-icon path { transition: none; }
.home-arcade-switch:is(:hover, :focus-visible) :is(.icon-switch-forward, .icon-switch-backward) { transform: none; }
.home-intro .button, .home-intro .text-link, .home-all-plugins, .home-entry-arrow, .home-action-icon, .home-profile-actions a, .home-profile-actions button, .home-personal-board .status-bot-avatar, .home-personal-board .status-bot-link .status-bot-meta b { transition: none; }
#home-profile-logout:hover:not(:disabled) .home-action-icon, #home-profile-logout:focus-visible .home-action-icon, .home-personal-board .status-bot-link:hover .status-bot-meta b, .home-personal-board .status-bot-link:focus-visible .status-bot-meta b { transform: none; }
.home-intro .button:hover, .home-intro .button:focus-visible, .home-intro .text-link:hover, .home-intro .text-link:focus-visible, .home-profile-actions a:hover, .home-profile-actions a:focus-visible, .home-profile-actions button:hover, .home-profile-actions button:focus-visible, .home-intro a:hover .home-entry-arrow, .home-intro a:focus-visible .home-entry-arrow, .home-intro button:hover .home-action-icon, .home-intro button:focus-visible .home-action-icon, .home-personal-board .status-bot-link:hover .status-bot-avatar, .home-personal-board .status-bot-link:focus-visible .status-bot-avatar { transform: none; }
}
@media (forced-colors: active) {
.home-title-bot { background: none; -webkit-text-fill-color: CanvasText; color: CanvasText; }
}
.page-home .site-header { background: #f8fafff0; }
.page-home .nav-status.status-在线 { color: #668b96; }
.page-home .nav-status.status-在线 .status-dot { background: #7fb8c2; box-shadow: 0 0 0 4px #edf5f8; }
.page-home .home-section .eyebrow { color: #8690a8; }
.page-home .home-widget { --maimai-accent: #7284b0; --maimai-accent-strong: #6578a3; --maimai-soft: #eef1fb; --maimai-line: #d6deef; --maimai-muted: #8490a8; --arcade-accent: #7284b0; --arcade-soft: #eef1fb; --arcade-line: #d6deef; border-color: var(--line); }
.page-home .home-widget-toplink { color: #7e8daf; }
.page-home .home-widget-arrow, .page-home .home-widget-footer-arrow { color: #e994ae; }
.page-home .home-widget-message, .page-home .home-widget-label, .page-home .home-theme-picker-head, .page-home .home-arcade-shop-label, .page-home .home-arcade-address { color: #8490a8; }
.page-home .home-arcade-overview { border-top-color: var(--maimai-line); }
.page-home .home-theme-picker { border-top-color: #d6deef; }
.page-home .home-widget-maimai .home-theme-option.is-selected { background: #eef1fb; border-color: #bfcee8; }
.page-home .home-theme-option { background: #f5f6fc; }
.page-home .home-widget-tabs, .page-home .home-score-column + .home-score-column { border-color: #dfe4f1; }
.page-home .home-score-list { scrollbar-color: transparent transparent; }
.page-home .home-score-list.is-scrolling { scrollbar-color: #bcc8e6 transparent; }
.page-home .home-score-list.is-scrolling::-webkit-scrollbar-thumb { background-color: #bcc8e6; }
.page-home .home-widget-state[data-state="connected"] { color: #668b96; background: #edf5f8; border-color: #d8e9ee; }
.page-home .home-widget-state[data-state="connected"] i { background: #7fb8c2; }
.page-home .home-arcade-attendance { background: linear-gradient(125deg, #f1f5fc, #f7f4fc); }
.page-home .home-arcade-attendance-heading, .page-home .home-arcade-people, .page-home .home-arcade-wait, .page-home .home-arcade-report-time, .page-home .home-arcade-edit-hint { color: #8490a8; }
.page-home .home-arcade-count-input, .page-home .home-arcade-wait strong { color: #6578a3; }
.page-home .home-arcade-count-input { caret-color: #6578a3; }
.page-home .home-arcade-count-input:focus::placeholder { color: transparent; }
.page-home .home-arcade-count-input:hover:not(:disabled) { border-bottom-color: #bfcee8; }
.page-home .home-arcade-count-input:focus { border-bottom-color: #7284b0; }
.page-home .home-arcade-count-input[aria-invalid="true"] { border-bottom-color: #c98282; }
.page-home .home-arcade-step { color: #7284b0; border-color: #d0dbee; }
.page-home .home-arcade-step:hover:not(:disabled), .page-home .home-arcade-step:focus-visible { border-color: #9baed5; background: #f9faff; }
.page-home .home-arcade-attendance-footer, .page-home .home-arcade-report-feedback { border-color: #dce2f1; }
.page-home .home-arcade-reset { color: #8490a8; }
.page-home .home-arcade-reset:hover, .page-home .home-arcade-reset:focus-visible { color: #6578a3; }
.page-home .home-arcade-report-feedback:not([data-state="error"]) { color: #6578a3; }
.page-home .home-arcade-report-button:not(:disabled){ color: #485474; background: linear-gradient(110deg, #dfebfb, #eae2f8); border-color: #cbd6ec; }
.page-home .home-arcade-report-button:hover:not(:disabled), .page-home .home-arcade-report-button:focus-visible:not(:disabled){ color: #425275; background: linear-gradient(110deg, #d6e5fb, #e3daf5); border-color: #b8c6e4; box-shadow: 0 3px 9px #7c89b51c; }
.page-home .home-arcade-report-button:disabled{ color: #9ba7bd; background: #edf0f7; border-color: #dee4f0; }
.page-home .home-import-segment { background: #f2f4fb; border-color: #dce2f0; }
.page-home #home-maimai-import input[type="checkbox"] { accent-color: #8596bf; }
.page-home .home-import-status[data-state="success"] { color: #668b96; }
.page-home .home-arcade-empty { background-color: #f5f6fc; border-color: #dce2f0; background-image: linear-gradient(30deg, transparent 47%, #dce3f36b 48%, #dce3f36b 51%, transparent 52%), linear-gradient(110deg, transparent 47%, #e3ddf06b 48%, #e3ddf06b 51%, transparent 52%); }
.page-home .home-arcade-empty > span { color: #8490a8; }
.home-arcade-empty-pin { display: block; flex: 0 0 36px; width: 36px; height: 36px; background: linear-gradient(135deg, #84a9d4, #a28dc8); }
.page-home .home-widget .arcade-map-control, .page-home .home-widget .leaflet-control-zoom a { color: #7284b0; border-color: #d0d9eb; }
.page-home .home-widget .arcade-map-control:hover, .page-home .home-widget .arcade-map-control:focus-visible { color: #5d74a2; border-color: #a7b9dc; background: #f5f7ff; }
.page-home .home-widget .arcade-map-pin { color: #7284b0; border-color: #8b9fc7; }
.page-home .home-arcade-refresh { position: relative; }
.page-home .home-arcade-refresh:hover:not(:disabled), .page-home .home-arcade-refresh:focus-visible { border-color: #d0d9eb; }
.page-home .feature-card { position: relative; border-color: #dce1ef; border-radius: 8px; background: #fff; }
.page-home .feature-card:hover, .page-home .feature-card:focus-visible { border-color: #bfcee8; }
.page-home .feature-card:nth-child(even):hover, .page-home .feature-card:nth-child(even):focus-visible { border-color: #d2c5e8; }
.page-home .card-icon { color: #df88a6; }
.page-home .card-category { color: #8599c5; }
.page-home .card-command span { color: #df88a6; }
.page-home .section-light { background: linear-gradient(115deg, #edf3fc, #f1edfa); }
.page-home .split-copy h2 em { color: #8998ca; background: linear-gradient(110deg, #82abd8, #a58bc9, #c39bbb); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
@media (forced-colors: active) {
.page-home .split-copy h2 em { background: none; -webkit-text-fill-color: CanvasText; }
}
.page-home .home-widget { border-radius: 8px; }
.page-home #loaded-plugin-count, .page-home .home-widget-maimai .home-widget-data .home-widget-rating-stat strong { color: #879bd4; background: linear-gradient(110deg, #6faddb, #a284d0 70%, #cf8fab); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; }
.page-home .home-score-heading span { color: #8b91c9; }
.page-home .feature-card-arrow { position: absolute; top: 23px; right: 24px; width: 16px; height: 16px; color: #e994ae; transition: transform .2s ease, color .2s ease; }
.page-home .feature-card:hover .feature-card-arrow, .page-home .feature-card:focus-visible .feature-card-arrow { color: #d9789d; transform: translate(2px, -2px); }
.page-home .feature-card:focus-visible { outline: 2px solid #bac7e8; outline-offset: 3px; }
.home-personal-board .status-stats .status-bot-meta .status-bot-qq { padding-left: 0; margin-top: 2px; color: #8b93a9; }
.home-personal-board .status-stats .status-bot-meta .status-bot-qq::before { content: none; }
.home-personal-board .status-stats .status-bot-meta .status-bot-qq[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
.page-home .feature-card-arrow { transition: none; }
.page-home .feature-card:hover .feature-card-arrow, .page-home .feature-card:focus-visible .feature-card-arrow { transform: none; }
}
@media (forced-colors: active) {
.page-home #loaded-plugin-count, .page-home .home-widget-maimai .home-widget-data .home-widget-rating-stat strong { background: none; -webkit-text-fill-color: CanvasText; }
}
.page-home .home-arcade-count-input { background: linear-gradient(110deg, #6faddb, #a284d0 70%, #cf8fab); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.page-home .home-arcade-count-input::selection { color: #52658e; -webkit-text-fill-color: #52658e; background: #dde5f7; }
@media (forced-colors: active) {
.page-home .home-arcade-count-input { background: none; -webkit-text-fill-color: CanvasText; }
}
.page-home .home-arcade-count-input::placeholder { color: transparent; -webkit-text-fill-color: transparent; }
.page-home .home-arcade-count-input:disabled { -webkit-text-fill-color: transparent; }
.page-home .home-arcade-count-input:focus::placeholder { opacity: 0; }
@media (forced-colors: active) {
.page-home .home-arcade-count-input::placeholder, .page-home .home-arcade-count-input:disabled { color: CanvasText; -webkit-text-fill-color: CanvasText; }
}
.home-about { padding: 48px 0 46px; background: var(--ui-about-background, linear-gradient(115deg, #f3f6fd, #f6f3fc)); border-top: 1px solid #e7eaf4; }
.home-about-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.home-about-heading h2 { color: #525d79; font-size: clamp(25px, 2.5vw, 30px); line-height: 1.3; letter-spacing: 0; }
.home-about-heading p { margin: 10px 0 0; color: #8c96ad; font-size: 12px; letter-spacing: .025em; }
.home-about-copy { min-width: 0; max-width: 620px; }
.home-about-copy p { margin-bottom: 14px; color: #7c869e; font-size: 13px; line-height: 1.9; }
.home-about-links { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 19px; }
.home-about-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 5px 0; color: #626e90; font-size: 12px; font-weight: 600; transition: color .2s ease; }
.home-about-links svg { width: 14px; height: 14px; color: #e994ae; transition: transform .2s ease; }
.home-about-links a:hover, .home-about-links a:focus-visible { color: #536c9f; text-decoration: none; }
.home-about-links a:hover svg, .home-about-links a:focus-visible svg { transform: translate(2px, -2px); }
.home-about-links a:focus-visible { outline: 2px solid #bac7e8; outline-offset: 4px; border-radius: 3px; }
.page-home .site-footer { padding: 20px 0; color: #8b95ad; background: #f8faff; border-top: 1px solid #e1e6f2; }
@media (max-width: 820px) {
.home-about { padding: 34px 0 32px; }
.home-about-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.home-about-copy { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
.home-about-links a, .home-about-links svg { transition: none; }
.home-about-links a:hover svg, .home-about-links a:focus-visible svg { transform: none; }
}
.page-home input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: 0 0 16px; width: 16px; height: 16px; padding: 0; margin: 0; border: 1px solid #ccd5ed; border-radius: 4px; background: #fff; vertical-align: -3px; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease; }
.page-home input[type="checkbox"]:checked { border-color: #b4b6d5; background-color: #b4b6d5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: 100% 100%; background-repeat: no-repeat; }
.page-home input[type="checkbox"]:hover:not(:disabled) { border-color: #9dadd5; box-shadow: 0 0 0 3px #edf0fa; }
.page-home input[type="checkbox"]:focus-visible { outline: 2px solid #bac7e8; outline-offset: 3px; }
.page-home input[type="checkbox"]:disabled { opacity: .5; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
.page-home input[type="checkbox"] { transition: none; }
}
@media (forced-colors: active) {
.page-home input[type="checkbox"] { appearance: auto; -webkit-appearance: auto; background: none; }
}
.home-about-links .home-about-github-icon { width: 15px; height: 15px; flex: 0 0 15px; fill: currentColor; color: inherit; }
.home-about-links a:hover .home-about-github-icon, .home-about-links a:focus-visible .home-about-github-icon { transform: none; }

.page-home .home-arcade-refresh .ui-icon { color: #7284b0; }
#home-import-image { --qr-picker-height: 42px; --qr-picker-font-size: 11px; }
.home-widget-tabs { --ui-tab-weight: 700; }
#home-import-submit { --ui-button-height: 0px; --ui-button-padding: 7px 11px; --ui-button-radius: 4px; --ui-button-font-size: 11px; --ui-button-weight: 700; margin-left: auto; }
#home-import-image-clear { --ui-button-height: 0px; --ui-button-padding: 4px 7px; --ui-button-radius: 4px; --ui-button-font-size: 10px; --ui-button-text: var(--muted); --ui-button-bg: transparent; }
