:root{color-scheme:light dark;font-family:Segoe UI,Noto Sans JP,sans-serif;--bg: #f7f8fa;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #e9edf3;--header-bg: #ffffff;--surface-muted: #e2e8f0;--surface-hover: #eef2ff;--surface-overlay: rgba(244, 246, 251, .96);--text: #111827;--text-muted: #475569;--text-subtle: #64748b;--text-faint: #94a3b8;--border: #d0d8e8;--border-strong: #c7d1e4;--shadow: 0 1px 4px rgba(15, 23, 42, .08);--shadow-hover: 0 2px 8px rgba(15, 23, 42, .12);--shadow-divider: 0 1px 0 rgba(148, 163, 184, .18);--backdrop: rgba(15, 23, 42, .18);--focus: #2563eb;--focus-soft: #93c5fd;--accent: #1d4ed8;--accent-strong: #2563eb;--accent-soft: #eff6ff;--accent-tint: rgba(37, 99, 235, .08);--on-accent: #ffffff;--disabled-bg: #94a3b8;--disabled-text: #e2e8f0;--danger: #b91c1c;--danger-bg: #fff1f1;--danger-border: #f8b4b4;--warn: #92400e;--warn-bg: #fef3c7;--warn-strong-bg: #fde68a;--warn-border: #fbbf24;--success: #166534;--success-bg: #dcfce7;--success-border: #9fd4ac;--status-upcoming-bg: #dbeafe;--status-upcoming-text: #1d4ed8;--status-ended-bg: #e5e7eb;--status-ended-text: #6b7280;--status-unregistered-bg: #f8fafc;--status-unregistered-border: #d5dde8;--status-unregistered-text: #475569;--status-unshared-bg: #fff7ed;--status-unshared-border: #f2d3a2;--status-unshared-text: #9a3412;--status-shared-bg: #dcfce7;--status-shared-text: #166534;--status-warning-bg: #fef3c7;--status-warning-text: #92400e;--status-danger-bg: #fde68a;--status-danger-text: #78350f;--status-today-bg: #facc15;--status-today-text: #78350f;--home-filter-sheet-bg: var(--surface);--home-filter-sheet-text: var(--text);--home-filter-sheet-muted: var(--text-subtle);--home-filter-sheet-divider: var(--border);--home-filter-sheet-segment-border: rgba(15, 23, 42, .15);--home-filter-sheet-segment-text: var(--text-subtle);--home-filter-sheet-segment-selected-bg: var(--surface-3);--home-filter-sheet-segment-selected-border: var(--border);--home-filter-sheet-segment-selected-text: var(--text);--home-filter-sheet-hover: rgba(15, 23, 42, .06);--home-filter-backdrop: rgba(15, 23, 42, .18);--home-filter-checkbox-unchecked: var(--text-subtle);--home-chip-tonal-bg: var(--surface-3);--home-chip-tonal-text: var(--text-muted);--home-chip-outline-bg: var(--surface);--home-chip-outline-border: var(--border-strong);--home-chip-outline-text: var(--text-muted);--home-chip-delete: var(--text-subtle);--home-chip-hover: rgba(15, 23, 42, .06);--home-search-placeholder: var(--text-faint);--create-song-popup-icon: var(--text-subtle);--create-song-dropdown-bg: var(--surface);--create-song-dropdown-border: var(--border);--create-song-dropdown-hover: var(--surface-3);--create-song-dropdown-selected: var(--surface-3);--create-song-dropdown-subtext: var(--text-subtle);--difficulty-pill-inactive-bg: var(--surface);--difficulty-pill-active-text: #ffffff;--difficulty-pill-disabled-bg: var(--surface-2);--difficulty-pill-disabled-text: var(--text-faint);--progress-track: #e2e8f0;--progress-unregistered: #cfd8e3;--progress-unshared: #f2d3a2;--progress-shared: #9fd4ac;--progress-gradient-start: #2563eb;--progress-gradient-end: #3b82f6;--toast-bg: #111827;--toast-text: #f9fafb;--difficulty-beginner: #2f6f00;--difficulty-normal: #005ea8;--difficulty-hyper: #b45309;--difficulty-another: #b91c1c;--difficulty-leggendaria: #7e22ce;--difficulty-unknown: #475569;--difficulty-beginner-dark: #9ee067;--difficulty-normal-dark: #7cc4ff;--difficulty-hyper-dark: #ffbd7a;--difficulty-another-dark: #ff9a9a;--difficulty-leggendaria-dark: #d8a4ff;--difficulty-unknown-dark: #cbd5e1;--difficulty-beginner-active: var(--difficulty-beginner);--difficulty-normal-active: var(--difficulty-normal);--difficulty-hyper-active: var(--difficulty-hyper);--difficulty-another-active: var(--difficulty-another);--difficulty-leggendaria-active: var(--difficulty-leggendaria);--difficulty-unknown-active: var(--difficulty-unknown);background-color:var(--bg);color:var(--text)}*{box-sizing:border-box}@media (prefers-color-scheme: dark){:root{--bg: #1f242d;--surface: #2a313c;--surface-2: #313947;--surface-3: #3b4657;--header-bg: #1f2937;--surface-muted: #455266;--surface-hover: #445165;--surface-overlay: rgba(31, 36, 45, .94);--text: #e5ebf3;--text-muted: #c2ccda;--text-subtle: #adb8c9;--text-faint: #96a3b7;--border: #9fb0c7;--border-strong: #b5c4d8;--shadow: 0 1px 3px rgba(0, 0, 0, .22);--shadow-hover: 0 2px 6px rgba(0, 0, 0, .28);--shadow-divider: 0 1px 0 rgba(193, 206, 226, .24);--backdrop: rgba(10, 15, 24, .56);--focus: #7cc4ff;--focus-soft: #7cc4ff;--accent: #7caeff;--accent-strong: #8bc3ff;--accent-soft: #3d4a5d;--accent-tint: rgba(124, 174, 255, .16);--on-accent: #101826;--disabled-bg: #72839b;--disabled-text: #2a3445;--danger: #ff9a9a;--danger-bg: #4c3338;--danger-border: #d68f99;--warn: #ffbd7a;--warn-bg: #52402b;--warn-strong-bg: #6a502f;--warn-border: #cda26e;--success: #a4ddb4;--success-bg: #345140;--success-border: #70ab88;--status-upcoming-bg: #415777;--status-upcoming-text: #aad0ff;--status-ended-bg: #556173;--status-ended-text: #d0d9e6;--status-unregistered-bg: #3f4b5d;--status-unregistered-border: #9eb0c8;--status-unregistered-text: #d8e4f4;--status-unshared-bg: #594931;--status-unshared-border: #cda06a;--status-unshared-text: #ffd8ac;--status-shared-bg: #365442;--status-shared-text: #bde8cb;--status-warning-bg: #52402b;--status-warning-text: #ffd4a4;--status-danger-bg: #6a502f;--status-danger-text: #ffd4a0;--status-today-bg: #7a5f2f;--status-today-text: #ffdeaa;--home-filter-sheet-bg: #1f2937;--home-filter-sheet-text: #e5e7eb;--home-filter-sheet-muted: #9ca3af;--home-filter-sheet-divider: rgba(255, 255, 255, .08);--home-filter-sheet-segment-border: rgba(255, 255, 255, .15);--home-filter-sheet-segment-text: #9ca3af;--home-filter-sheet-segment-selected-bg: #334155;--home-filter-sheet-segment-selected-border: rgba(255, 255, 255, .08);--home-filter-sheet-segment-selected-text: #ffffff;--home-filter-sheet-hover: rgba(255, 255, 255, .08);--home-filter-backdrop: rgba(0, 0, 0, .4);--home-filter-checkbox-unchecked: #cbd5e1;--home-chip-tonal-bg: #334155;--home-chip-tonal-text: #e5e7eb;--home-chip-outline-bg: transparent;--home-chip-outline-border: rgba(255, 255, 255, .2);--home-chip-outline-text: #cbd5e1;--home-chip-delete: #cbd5e1;--home-chip-hover: rgba(255, 255, 255, .06);--home-search-placeholder: #9ca3af;--create-song-popup-icon: #cbd5e1;--create-song-dropdown-bg: #1f2937;--create-song-dropdown-border: rgba(255, 255, 255, .12);--create-song-dropdown-hover: rgba(255, 255, 255, .08);--create-song-dropdown-selected: #334155;--create-song-dropdown-subtext: #9ca3af;--difficulty-pill-inactive-bg: #2a313c;--difficulty-pill-active-text: #0f172a;--difficulty-pill-disabled-bg: #364052;--difficulty-pill-disabled-text: #94a3b8;--progress-track: #455266;--progress-unregistered: #7788a2;--progress-unshared: #b8915f;--progress-shared: #6ea786;--progress-gradient-start: #6ea8ff;--progress-gradient-end: #8bc1ff;--toast-bg: #dae2ef;--toast-text: #172233;--difficulty-beginner-active: var(--difficulty-beginner-dark);--difficulty-normal-active: var(--difficulty-normal-dark);--difficulty-hyper-active: var(--difficulty-hyper-dark);--difficulty-another-active: var(--difficulty-another-dark);--difficulty-leggendaria-active: var(--difficulty-leggendaria-dark);--difficulty-unknown-active: var(--difficulty-unknown-dark)}}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}:where(button){border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);padding:8px 12px;cursor:pointer}:where(button:hover:not(:disabled)){background:var(--surface-hover)}:where(button:disabled){opacity:.5;cursor:not-allowed}:where(button:focus-visible){outline:2px solid var(--focus);outline-offset:2px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--surface);color:var(--text)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-soft);outline-offset:2px}label{display:grid;gap:6px}.appRoot{max-width:980px;margin:0 auto;padding:16px 16px 24px}.page{display:grid;gap:16px}.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.pageHeader h1{margin:0;font-size:28px}.actions,.rowActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.warningBox,.importBox,.detailCard,.chartRowCard,.settingsGrid,.unsupported{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.warningBox{border-color:var(--danger-border);background:var(--danger-bg)}.startupShell{min-height:100dvh;padding:20px 16px;align-content:center}.startupCard{width:min(720px,100%);margin:0 auto;display:grid;gap:12px}.startupCard h1{margin:0;font-size:30px}.startupCard h2{margin:4px 0 0;font-size:20px}.startupCard p{margin:0;line-height:1.5}.startupCard ul,.startupGuide{margin:0;padding-left:20px;display:grid;gap:6px}.startupConsentCheck{display:flex;align-items:center;gap:8px;font-weight:600}.startupConsentCheck input{width:auto}.startupActionRow{display:flex;gap:8px;flex-wrap:wrap}.startupGuide{border:1px solid var(--border);border-radius:12px;padding:10px 12px 10px 30px;background:var(--surface-2)}.startupLoading{min-height:180px;display:flex;align-items:center;justify-content:center}.startupLoadingSpinner{width:58px;height:58px;border-radius:999px;border:5px solid var(--border);border-top-color:var(--accent-strong);animation:startupLoadingSpin .8s linear infinite}@keyframes startupLoadingSpin{to{transform:rotate(360deg)}}.tabRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px;border-radius:12px;background:var(--surface-3)}.tabRow button{border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:14px;font-weight:700;padding:8px}.tabRow button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.homeAppliedChipsRow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:38px;margin-bottom:12px}.homeAppliedChipsSearchButton{flex-shrink:0}.homeAppliedChipsViewport{min-width:0;overflow:hidden}.homeAppliedChipsScroll{display:flex;align-items:center;gap:10px;overflow-x:auto;white-space:nowrap;padding:2px 0;-ms-overflow-style:none;scrollbar-width:none}.homeAppliedChipsScroll::-webkit-scrollbar{display:none}.homeAppliedChip{max-width:100%}.homeSubheaderRow{position:sticky;top:56px;z-index:20;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 12px;padding:0 18px;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-divider)}.homeSubheaderCount{color:var(--text-muted);flex-shrink:0;white-space:nowrap}.homeSubheaderSortButton{flex:1 1 auto;min-width:0;min-height:48px;border:0;background:transparent;color:var(--text);font-size:14px;font-weight:700;line-height:1.2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:0 10px;border-radius:8px;cursor:pointer;text-align:right}.homeSubheaderSortButtonLabel{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homeSubheaderSortButton:hover{background:var(--surface-3);color:var(--accent)}.homeSubheaderSortButton:active{background:var(--surface-muted)}.homeSubheaderSortButton:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.homeSubheaderSortButtonArrow{font-size:12px;flex-shrink:0}@media (min-width: 600px){.homeSubheaderRow{top:64px}}.homeFilterSheet{display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:70dvh;background:var(--home-filter-sheet-bg);color:var(--home-filter-sheet-text)}.homeFilterSheetHandle{width:44px;height:4px;border-radius:999px;background:var(--border-strong);margin:10px auto 8px}.homeFilterSheetBody{overflow-y:auto;display:grid;gap:12px;padding:0 16px 12px}.homeFilterSheetFixed{display:grid;gap:12px;padding:0 16px 12px}.homeFilterSheetTopRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.homeFilterSection{display:grid;gap:8px}.homeFilterResultCount{margin:0;font-weight:600;color:var(--home-filter-sheet-muted);display:inline-flex;align-items:baseline}.homeFilterResultCountValue{display:inline-block;min-width:2ch;text-align:right}.homeFilterResultCountValue-animated{animation:homeFilterResultCountFade .15s ease 50ms both}@keyframes homeFilterResultCountFade{0%{opacity:0}to{opacity:1}}.homeFilterResetLink{border:0;padding:2px 6px;margin:0;background:transparent;color:var(--home-filter-sheet-text);font-size:14px;font-weight:600;cursor:pointer;border-radius:6px}.homeFilterResetLink:hover:not(:disabled),.homeFilterResetLink:focus-visible{background:var(--home-filter-sheet-hover)}.homeFilterResetLink:disabled{color:var(--home-filter-sheet-muted);cursor:default}.homeFilterResetLink:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.emptyState{display:grid;gap:8px}.emptyText{color:var(--text-faint);margin:8px 2px}.emptyResetButton{width:fit-content}.cardList{list-style:none;margin:0;padding:0;display:grid;gap:16px}.homeCardListItem{list-style:none;will-change:transform}.homeCardPresence{opacity:1;transition:opacity .2s ease}.homeCardPresenceContent{overflow:hidden}.homeCardPresence-entering{opacity:0}.homeCardPresence-exiting{opacity:0;pointer-events:none}.tournamentCard{width:100%;text-align:left;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:grid;gap:10px;box-shadow:var(--shadow);cursor:pointer;transform:scale(1);transform-origin:center;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}.tournamentCard:hover{background:var(--surface-2);box-shadow:var(--shadow)}.tournamentCard:active{transform:scale(.98);transition-duration:.12s}.tournamentCard:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tournamentSummaryCard{text-align:left}.tournamentCardStatusRow{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.tournamentSummaryCardLayout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.tournamentSummaryCardMain{min-width:0;display:grid;gap:8px}.tournamentSummaryCard-list .tournamentSummaryCardLayout,.tournamentSummaryCard-preview .tournamentSummaryCardLayout{grid-template-columns:minmax(0,1fr)}.tournamentStateLabel{color:var(--text-subtle);font-size:12px;font-weight:600;white-space:nowrap}.tournamentSummaryTitle{margin:0;font-weight:700;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.tournamentSummaryCard-list .tournamentSummaryTitle{font-size:20px}.tournamentSummaryCard-detail .tournamentSummaryTitle,.tournamentSummaryCard-preview .tournamentSummaryTitle{font-size:24px}.tournamentSummaryPeriod{margin:0}.tournamentStatusLabelRow{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}.tournamentStatusLabel{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.25;white-space:nowrap}.tournamentStatusLabel-unregistered{background:var(--status-unregistered-bg);border-color:var(--status-unregistered-border);color:var(--status-unregistered-text)}.tournamentStatusLabel-unshared{background:var(--status-unshared-bg);border-color:var(--status-unshared-border);color:var(--status-unshared-text)}.tournamentSummaryProgress{margin-top:2px}.tournamentSummaryCardSide{min-width:180px}.statusBadge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.statusBadge-upcoming{background:var(--status-upcoming-bg);color:var(--status-upcoming-text)}.statusBadge-active,.statusBadge-active-normal{background:var(--status-shared-bg);color:var(--status-shared-text)}.statusBadge-active-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.statusBadge-active-danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.statusBadge-active-today{background:var(--status-today-bg);color:var(--status-today-text)}.statusBadge-ended{background:var(--status-ended-bg);color:var(--status-ended-text)}.remainingDays{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.remainingDays-normal{background:var(--surface-muted);color:var(--text-muted)}.remainingDays-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.remainingDays-urgent{background:var(--status-danger-bg);color:var(--status-danger-text)}.periodLine{color:var(--text-faint);font-size:14px}.progressLine{color:var(--text-muted);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.progressLine-muted{color:var(--text-faint)}.progressSummaryRow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.progressPercent{color:var(--text-subtle);font-size:13px;font-weight:700}.pendingBadge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--status-unregistered-bg);color:var(--status-unregistered-text)}.sendWaitingBadge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--status-warning-bg);color:var(--status-warning-text)}.completedBadge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--status-shared-bg);color:var(--status-shared-text)}.progressSummaryRow>.pendingBadge,.progressSummaryRow>.sendWaitingBadge,.progressSummaryRow>.completedBadge{margin-left:auto}.progressBar{width:100%;height:8px;border-radius:999px;background:var(--progress-track);overflow:hidden}.stateDistributionBar{display:flex}.stateDistributionBar>.progressBarSegment-shared,.stateDistributionBar>.progressBarSegment-sendWaiting,.stateDistributionBar>.progressBarSegment-unregistered{height:100%;width:0;transition:width .28s ease-out}.stateDistributionBar>.progressBarSegment-shared{background:var(--progress-shared)}.stateDistributionBar>.progressBarSegment-sendWaiting{background:var(--progress-unshared)}.stateDistributionBar>.progressBarSegment-unregistered{background:var(--progress-unregistered)}.progressBar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-strong),var(--progress-gradient-end))}.tournamentSummaryProgressWrap{display:grid;gap:4px}.tournamentProgressValue{justify-self:end;color:var(--text-faint);font-size:11px;font-weight:600;opacity:0;transition:opacity .15s ease 50ms}.tournamentProgressValue-visible{opacity:1}.cardNavigationHint{display:inline-flex;justify-self:end;align-items:center;gap:6px;color:var(--accent);font-size:13px;font-weight:700}.cardNavigationHintLabel{text-decoration:none;text-underline-offset:2px;text-decoration-thickness:1px}.cardArrow{color:var(--accent);font-size:17px;line-height:1;transform:translate(0);transition:transform .13s ease}.tournamentCard:hover .cardNavigationHintLabel,.tournamentCard:focus-visible .cardNavigationHintLabel{text-decoration:underline}.tournamentCard:hover .cardArrow,.tournamentCard:focus-visible .cardArrow{transform:translate(4px)}.formGrid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.createTournamentPage{gap:0;padding-bottom:120px}.createTournamentPage input{min-height:44px}.createTournamentPage input[type=radio]{width:auto;min-height:auto}.createSection{display:grid;gap:12px;margin-top:8px;margin-bottom:8px}.createWizardSteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);margin-top:8px;margin-bottom:8px}.createWizardStep{border-radius:8px;border:0;background:transparent;color:var(--text-muted);font-weight:700;font-size:14px;padding:7px 6px;text-align:center}.createWizardStep.isCurrent{border:1px solid var(--accent-strong);background:var(--accent-soft);color:var(--accent)}.createWizardStep.isComplete{background:var(--surface-hover);color:var(--text-muted)}.createWizardStep:disabled{color:var(--text-faint)}.createStepStatusLine{margin:8px 0;color:var(--text-muted);font-size:13px;font-weight:600;line-height:1.35;padding:0}.createConfirmInfoCard{padding:16px}.createConfirmCardHeader{display:flex;justify-content:flex-end}.createConfirmInfoList{margin:0;display:grid;gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.createConfirmInfoItem{display:grid;gap:6px}.createConfirmInfoItem dt{color:var(--text-subtle);font-size:13px;font-weight:700}.createConfirmInfoItem dd{margin:0;color:var(--text);font-weight:600;overflow-wrap:anywhere}.createSectionTitle{margin:0;font-size:20px}.createFieldStack{display:grid;gap:12px}.createField{display:grid;gap:8px}.hashtagInputGroup{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.hashtagInputGroup:focus-within{outline:2px solid var(--focus-soft);outline-offset:1px}.hashtagInputPrefix{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:100%;padding:0 10px;border-right:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:700}.hashtagInputGroup input{border:0;border-radius:0}.hashtagInputGroup input:focus{outline:none}.createFieldLabel{font-size:14px;font-weight:700;color:var(--text)}.periodRangeAndShortcut{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.periodRangeInputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:start;flex:1 1 420px;min-width:0}.periodRangeInputs>span{color:var(--text-muted);font-weight:700;align-self:center}.periodDateField{display:grid;gap:6px}.periodSummaryText{color:var(--text-muted)}.periodPresetShortcutLink{margin-left:auto;min-height:32px;padding:4px 9px;border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--accent-strong);font-size:13px;font-weight:500;line-height:1.35;text-decoration:none}.periodPresetShortcutLink:hover,.periodPresetShortcutLink:active{text-decoration:underline;background:var(--accent-tint)}.periodPresetShortcutLink:focus-visible{outline:2px solid var(--focus-soft);outline-offset:2px;text-decoration:underline}.createProgressCard{display:grid;gap:8px}.createSectionHeading{display:flex;justify-content:space-between;align-items:center;gap:12px}.createSectionAction{display:grid;justify-items:end;gap:4px}.createButtonReason{font-size:12px}.addRowButton{border-radius:999px;padding:8px 14px;font-weight:700}.chartRows{display:grid;gap:12px}.createConfirmChartRows{gap:12px}.createChartCard{padding:16px;border-left:6px solid var(--accent-strong);display:grid;gap:12px}.chartRowHeader{display:flex;justify-content:space-between;align-items:center}.iconOnlyButton{width:36px;height:36px;border-radius:999px;padding:0;display:inline-flex;justify-content:center;align-items:center}.styleRadioGroup{display:flex;gap:8px;flex-wrap:wrap}.styleOption{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer}.styleOption.selected{border-color:var(--accent-strong);background:var(--accent-soft);color:var(--accent)}.styleOption.disabled{opacity:.65;cursor:not-allowed}.radioGroup{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.radioGroup label{display:flex;gap:4px;align-items:center}.createSongAutocompleteOptionVersion{color:var(--create-song-dropdown-subtext)}.difficultyButtons{display:flex;flex-wrap:wrap;row-gap:8px;column-gap:12px}.difficultySelectButton{border-width:1px;border-style:solid;border-radius:999px;font-size:13px;font-weight:700;min-height:44px;min-width:48px;padding:4px 10px}.difficultySelectButton:disabled{border-color:var(--border)!important;background:var(--difficulty-pill-disabled-bg)!important;color:var(--difficulty-pill-disabled-text)!important}.hintText{color:var(--text-faint);margin:0}.createConfirmValue{margin:0;color:var(--text);font-weight:600;overflow-wrap:anywhere}.createConfirmChartCard{padding:12px 16px;gap:6px}.createConfirmChartSong{margin:0;font-size:18px;font-weight:700;color:var(--text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;word-break:break-word}.createConfirmChartMeta{margin:0;font-weight:700;color:var(--text-muted)}.createConfirmNoteCard{display:grid;gap:8px}.createFinalizeWarning{margin:0;color:var(--text-subtle);font-size:13px}.createInlineIconCopyButton{width:28px;height:28px;min-height:28px;border:1px solid var(--border-strong);border-radius:999px;padding:0;background:var(--surface);color:var(--accent);font-size:14px;display:inline-flex;align-items:center;justify-content:center}.createInlineError{margin:0;font-size:13px}.createInlineErrorCompact{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1.35}.createInlineErrorCompact:before{content:"!";width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid currentColor;font-size:10px;font-weight:700;flex:0 0 auto}.createConfirmHashtagValue{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}.createConfirmTournamentIdRow{display:inline-flex;align-items:center;gap:6px;min-width:0}.createConfirmTournamentIdText{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}.createStickyFooter{position:sticky;bottom:0;z-index:20;margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;gap:8px}.createConfirmActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.primaryActionButton{width:100%;border-radius:12px;border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:700;padding:10px 16px}.primaryActionButton:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong)}.primaryActionButton:active:not(:disabled){border-color:var(--accent);background:var(--accent)}.primaryActionButton:disabled{border-color:var(--disabled-bg);background:var(--disabled-bg);color:var(--disabled-text)}.detailCard h2,.detailCard h3,.detailCard p{margin:0}.tournamentDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tournamentDetailMeta{display:grid;gap:8px}.tournamentDetailSummaryCard{gap:10px}.detailStateProgressBar{width:100%;height:10px;border-radius:999px;background:var(--progress-track);overflow:hidden;display:flex}.detailStateProgressSegment{height:100%;min-width:0}.detailStateProgressSegment-shared{background:var(--progress-shared)}.detailStateProgressSegment-unshared{background:var(--progress-unshared)}.detailStateProgressSegment-unregistered{background:var(--progress-unregistered)}.detailStateProgressSummary{margin:0;color:var(--text-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detailRemainingBadge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.detailRemainingBadge-normal{color:var(--text-muted);background:var(--surface-muted)}.detailRemainingBadge-warning{color:var(--status-warning-text);background:var(--status-warning-bg)}.detailRemainingBadge-strong{color:var(--status-danger-text);background:var(--status-danger-bg)}.detailRemainingBadge-neutral{color:var(--text-muted);background:var(--surface-muted)}.detailShareArea{display:grid;justify-items:end;gap:6px;min-width:180px}.detailShareButton{min-width:168px;border-color:var(--border-strong);background:var(--surface);color:var(--text-muted);font-weight:700}.detailShareHint{margin:0;color:var(--text-subtle);font-size:12px}.detailLastUpdated{font-size:13px;color:var(--text-muted)}.detailPageWithSubmitBar{padding-bottom:132px}.qrPreview,.evidencePreview{max-width:100%;border-radius:10px;border:1px solid var(--border)}.chartList{list-style:none;margin:0;padding:0;display:grid;gap:8px}.detailChartListRow{position:relative}.detailChartListRow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:var(--detail-return-highlight, rgba(25, 118, 210, .18));opacity:0;pointer-events:none;z-index:2}.detailChartListRow-highlighted:after{animation:detailCardReturnHighlight .6s ease-out}@keyframes detailCardReturnHighlight{0%{opacity:0}16.666%{opacity:1}to{opacity:0}}.chartListItem{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px;text-align:left;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--surface)}.chartListItem-noRight{grid-template-columns:minmax(0,1fr)}.chartListItem-detail{grid-template-columns:1fr auto;column-gap:16px}.chartListItem-detail.chartListItem-noRight{grid-template-columns:minmax(0,1fr)}.chartListItemError{border-color:var(--danger-border);background:var(--danger-bg)}.chartText{display:grid;min-width:0;gap:4px}.chartListItem-detail .chartText{display:flex;flex-direction:column;gap:4px}.chartTitle{margin:0;font-size:24px;font-weight:700;line-height:1.28;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.chartMetaLine{display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap;overflow:hidden;font-size:16px;line-height:1.3}.chartMetaLine-submit{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;column-gap:8px}.chartPlayStyleText{color:var(--text-muted);font-weight:700;flex:0 0 auto;white-space:nowrap}.chartDifficultyLevelText{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chartMetaStatusBadge{justify-self:end;align-self:start;white-space:nowrap}.chart-diff--beginner{color:var(--difficulty-beginner-active)}.chart-diff--normal{color:var(--difficulty-normal-active)}.chart-diff--hyper{color:var(--difficulty-hyper-active)}.chart-diff--another{color:var(--difficulty-another-active)}.chart-diff--leggendaria{color:var(--difficulty-leggendaria-active)}.chart-diff--unknown{color:var(--difficulty-unknown-active)}.chartStateBadge{min-width:64px;text-align:center;border-radius:999px;font-size:12px;font-weight:700;padding:4px 8px}.chartStateBadge-unregistered{color:var(--status-unregistered-text);background:var(--status-unregistered-bg)}.chartStateBadge-unshared{color:var(--status-unshared-text);background:var(--status-unshared-bg)}.chartStateBadge-shared{color:var(--status-shared-text);background:var(--status-shared-bg)}.chartStateBadge-detail{min-width:86px}.chartStateBadge-fade{animation:chartStateBadgeFadeIn .2s ease-out}@keyframes chartStateBadgeFadeIn{0%{opacity:0}to{opacity:1}}.chartStatusLine{display:inline-flex;align-items:center;gap:6px;min-height:24px}.chartLeftStatusRow{min-height:24px;display:flex;align-items:center}.chartLeftStatusRow-mobile{justify-content:space-between;gap:12px}.chartInlineActionSlot{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}.chartInlineActionSlot .chartSubmitButton{white-space:nowrap}.chartActions{display:grid;gap:6px;justify-items:end;align-content:start}.chartActions-withActions{min-width:112px}.chartActions-detail{min-width:112px;display:flex;flex-direction:column;align-self:stretch;justify-content:flex-start}.chartActionSpacer{min-height:24px;visibility:hidden}.chartActionSlot{min-height:24px;display:flex;align-items:center;justify-content:flex-end}.chartSubmitButton{min-width:84px;min-height:40px;border-radius:10px;padding:7px 12px;font-weight:700;transform:scale(1);transition:transform .12s ease-out}.chartSubmitButton:active:not(:disabled){transform:scale(.98)}.chartSubmitButton-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.chartSubmitButton-primary:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong)}.chartSubmitButton-primary:active:not(:disabled){border-color:var(--accent);background:var(--accent)}.chartSubmitButton-secondary{border-color:var(--border-strong);background:transparent;color:var(--text-muted)}.chartSubmitButton-secondary:hover{background:var(--surface-2)}.chartSubmitButton-secondary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.chartResolveIssue{margin:0;font-size:12px;color:var(--danger)}.detailSubmitBar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detailSubmitBarInner{max-width:980px;margin:0 auto;display:grid;gap:6px}.detailSubmitPrimaryButton{width:100%;border-radius:12px;border-color:var(--border-strong);background:var(--surface);color:var(--text-muted);font-weight:700;padding:10px 16px;transform:scale(1);transition:transform .12s ease-out}.detailSubmitPrimaryButton:active:not(:disabled){transform:scale(.98)}.detailSubmitPrimaryButton.emphasis{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.detailSubmitPrimaryButton.emphasis:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong)}.detailSubmitPrimaryButton.emphasis:active:not(:disabled){border-color:var(--accent);background:var(--accent)}.detailSubmitSubInfo{margin:0;font-size:12px;color:var(--text-muted);text-align:center}.successText{color:var(--success)}.errorText{color:var(--danger)}.fileButton{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:10px;padding:8px 12px;background:var(--surface);cursor:pointer}.fileButton.disabled{opacity:.5;cursor:not-allowed}.fileButton input{display:none}.submitEvidencePage{gap:12px;padding-bottom:18px}.submitOverviewCard{position:relative}.submitPickerCard,.submitPreviewCard{display:grid;gap:10px}.submitPickerButtonStack{display:grid;gap:8px}.submitPickerActionButton{width:100%;min-height:46px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:16px;font-weight:700;padding:10px 16px}.submitPickerActionButton-capture{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.submitPickerActionButton-capture:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-soft)}.submitPickerActionLabel{display:inline-flex;align-items:center;justify-content:center;gap:6px}.submitPickerCameraIcon{font-size:16px;line-height:1}.submitHiddenInput{display:none}.submitPreviewFrame{width:100%;aspect-ratio:4 / 3;border-radius:12px;border:1px solid var(--border);overflow:hidden;background:var(--surface-2)}.submitPreviewImage{width:100%;height:100%;display:block;object-fit:contain}.submitUpdatedAt{margin:0;font-size:13px;color:var(--text-muted)}.submitLocalStorageNote{margin:0;color:var(--text-subtle);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submitActionError{margin:0;color:var(--danger);font-size:13px;display:grid;justify-items:center;gap:2px}.submitActionError span{font-weight:700}.submitActionErrorStandalone{justify-self:center}.submitScreenLock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;display:flex;align-items:center;justify-content:center;background:var(--backdrop);color:var(--text);font-size:18px;font-weight:700;pointer-events:all}.importSection{display:grid;gap:12px}.importQrScannerViewport{width:min(420px,100%);margin:0 auto;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--text);aspect-ratio:1 / 1}.importQrScannerVideo{width:100%;height:100%;display:block;object-fit:cover}.importQrScannerCanvas{display:none}.importQrScannerFallback{display:grid;gap:10px}.importQrScannerFallbackForm{display:grid;gap:8px}.importQrScannerFallbackForm input{width:100%}.importQrScannerFallbackHelpLink{justify-self:start;min-width:0;padding-left:0;text-transform:none;font-size:12px}.importQrScannerFallbackHelpPanel{display:grid;gap:2px}.importQrScannerErrorBlock{display:grid;gap:6px}.importQrScannerErrorActions{display:flex;justify-content:flex-end}.importConfirmPage{gap:16px;padding-bottom:120px}.importConfirmErrorCard{display:grid;gap:10px}.importConfirmErrorCode{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;font-weight:700;color:var(--danger)}.importConfirmSummaryCard,.importConfirmChartsCard{display:grid;gap:10px}.importConfirmDiffSummary{margin-top:-6px}.importChartTitle{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.importConfirmFooter{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:980px;margin:0 auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.updateBanner{position:sticky;top:8px;z-index:20;margin-bottom:10px;border-radius:10px;border:1px solid var(--warn-border);background:var(--status-warning-bg);padding:8px 10px;display:flex;align-items:center;justify-content:space-between}.homeSongDataUpdateBannerActions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.homeSongDataUpdateBanner>span{min-width:0;line-height:1.35}.homeSongDataUpdateBannerActions .MuiButton-root{min-inline-size:72px;white-space:nowrap}.toast{position:fixed;right:16px;bottom:16px;background:var(--toast-bg);color:var(--toast-text);border-radius:8px;padding:10px 12px;max-width:360px}.settingsGrid{display:grid;grid-template-columns:180px 1fr;gap:6px 10px}.settingsGrid dt{color:var(--text-faint)}.settingsGrid dd{margin:0;overflow-wrap:anywhere}.homeFabPlusIcon-open{transform:rotate(45deg)}@media (prefers-reduced-motion: reduce){.homeCardPresence,.homeCardListItem,.tournamentCard,.stateDistributionBar>.progressBarSegment-shared,.stateDistributionBar>.progressBarSegment-sendWaiting,.stateDistributionBar>.progressBarSegment-unregistered,.tournamentProgressValue,.cardArrow,.homeFilterResultCountValue-animated,.homeFabPlusIcon,.chartSubmitButton,.detailSubmitPrimaryButton,.chartStateBadge-fade,.detailChartListRow-highlighted:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}.homeCardPresence-entering,.homeCardPresence-exiting{opacity:1}.tournamentCard:active{transform:scale(1)}.chartSubmitButton:active:not(:disabled),.detailSubmitPrimaryButton:active:not(:disabled){transform:scale(1)}}@media (max-width: 720px){.formGrid,.createConfirmInfoList{grid-template-columns:1fr}.createSectionTitle{font-size:18px}.periodPresetShortcutLink{margin-left:0;margin-top:4px}.chartListItem{grid-template-columns:1fr}.chartListItem-detail{grid-template-columns:minmax(0,1fr) auto}.chartActions{width:100%;display:flex;justify-content:flex-end;align-items:center}.chartActions-detail{width:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end}.tournamentSummaryCard-detail .tournamentSummaryCardLayout{grid-template-columns:minmax(0,1fr)}.detailShareArea{justify-items:stretch;min-width:0}.detailShareButton{width:100%}.submitPreviewFrame{aspect-ratio:3 / 2}}
