:root{color-scheme:light;--header-height: 0px;--footer-height: 0px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:linear-gradient(180deg,#eef8fc,#e4f2fa 42%,#f2f9fd)}.app-shell{height:100%}.top-bar{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:10px;padding:12px 14px 10px;overflow:visible;color:#fff;background:linear-gradient(135deg,#f06b28,#dc4a3a 56%,#c7384f);border-bottom:1px solid rgba(255,255,255,.28);box-shadow:0 6px 16px #7d221c33}.top-bar:before{content:"";position:absolute;inset:-8px -18px -10px;pointer-events:none;opacity:.68;animation:festivalGlowDrift 11s ease-in-out infinite alternate;background:radial-gradient(ellipse at 14% 18%,#ffe6a45c 0 18%,#ffe6a400 52%),radial-gradient(ellipse at 38% 70%,#fff1c947 0 16%,#fff1c900 48%),radial-gradient(ellipse at 62% 24%,#ffe19557 0 20%,#ffe19500 56%),radial-gradient(ellipse at 88% 66%,#ffefc142 0 15%,#ffefc100 46%),linear-gradient(112deg,#fffae629 8%,#fffae600 36%),linear-gradient(286deg,#ffd68124 12%,#ffd68100 44%)}@keyframes festivalGlowDrift{0%{transform:translate(0) scale(1);opacity:.56}50%{transform:translate(-6px,3px) scale(1.015);opacity:.74}to{transform:translate(7px,-4px) scale(.99);opacity:.62}}@media (prefers-reduced-motion: reduce){.top-bar:before{animation:none}}.top-bar-primary{position:relative;z-index:1;width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;container-type:inline-size}.top-bar-left{display:flex;align-items:center;gap:10px}.top-bar-title{margin:0;font-size:15px;line-height:1;font-weight:700;letter-spacing:.6px;text-shadow:0 2px 6px rgba(106,22,18,.32)}.actions-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:flex-end;flex:0 1 auto;width:fit-content;max-width:min(100%,350px)}.top-bar.top-bar-compact .actions-row{flex:1 1 auto;min-width:0;width:100%;max-width:none;justify-content:flex-end}.search-input{flex:0 1 340px;width:min(340px,44vw);min-width:160px;max-width:340px}.top-bar.top-bar-compact .search-input{flex:1 1 auto;min-width:0;width:100%;max-width:none}.search-filter-addon{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;width:32px;min-width:32px}.search-filter-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;padding:0;border-radius:8px;color:#667085;cursor:pointer}.search-filter-trigger:hover{color:#344054;background:#f8f9fb}.search-filter-trigger:focus-visible{outline:2px solid #0f6cbd;outline-offset:1px}.filter-options{display:grid;gap:8px;padding-right:12px}.filter-option-btn{justify-content:flex-start;min-width:196px;min-height:34px;padding-inline:12px;font-size:13px}.filter-option-btn.is-selected{color:#fff;border:1px solid transparent;background:var(--colorBrandBackground);box-shadow:none}.filter-option-btn.is-selected:hover{color:#fff;border-color:transparent;background:var(--colorBrandBackgroundHover)}.filter-option-btn.is-selected:active{color:#fff;border-color:transparent;background:var(--colorBrandBackgroundPressed)}.filter-dropdown{position:absolute;top:calc(100% + 10px);right:-7px;z-index:45;width:max-content;min-width:220px;padding:12px 18px 12px 12px;border-radius:12px;border:1px solid #f3c9ab;background:#fff8f2;box-shadow:0 14px 28px #6d241433}.filter-dropdown:before,.filter-dropdown:after{content:"";position:absolute;right:13px;width:0;height:0}.filter-dropdown:before{top:-8px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:8px solid #f3c9ab}.filter-dropdown:after{top:-7px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:7px solid #fff8f2}.filter-label{display:block;margin-bottom:8px;color:#8a3d20;font-size:13px;font-weight:700;letter-spacing:.2px}.topbar-hamburger{width:34px;min-width:34px;height:34px;padding:0;color:#fff;border:1px solid rgba(255,255,255,.38);background:#ffffff29;box-shadow:none}.top-bar .topbar-hamburger.fui-Button,.app-nav-drawer-header .fui-Button{width:34px;min-width:34px;height:34px;padding:0}.topbar-hamburger:hover{background:#ffffff47}.top-bar .topbar-hamburger,.top-bar .topbar-hamburger:hover,.top-bar .topbar-hamburger:active{color:#fff}.top-bar .topbar-hamburger :where(svg){color:#fff;fill:currentColor}.app-nav-drawer{--fui-Drawer--size: 280px}.app-nav-drawer-header{min-height:55px;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important}.app-nav-drawer-header>*{margin-inline-start:0!important;margin-inline-end:0!important}.drawer-hamburger{margin-inline-start:0}.app-nav-drawer [aria-disabled=true]{opacity:.45;color:#98a2b3!important;filter:saturate(.4);cursor:not-allowed}.app-nav-drawer [aria-disabled=true]:hover{background:transparent!important}.app-nav-drawer .fui-NavItem__icon{width:24px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.app-nav-drawer .fui-NavItem__icon :where(svg){width:22px;height:22px}.nav-tools-divider{height:1px;margin:10px 8px 8px;background:linear-gradient(90deg,#c97b5600,#c97b5673 24% 76%,#c97b5600)}.nav-tools-title{margin:0 12px 6px;color:#9a694f;font-size:12px;font-weight:700;letter-spacing:.2px}.top-bar :where(h1,h2,h3,h4,h5,h6){color:#fff}.status-strip{display:flex;gap:8px;align-items:center;width:100%;overflow-x:auto;padding-bottom:2px}.list-info-bar{flex:0 0 auto;display:flex;gap:12px;align-items:center;padding:2px 0 0;border:none;background:transparent}.list-caption{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:8px 12px;border-bottom:1px solid #f1dfcd;background:linear-gradient(180deg,#fffaf4,#fff1e4)}.list-breadcrumb{display:flex;align-items:center;gap:2px;color:#87503a;min-width:0}.list-breadcrumb .fui-BreadcrumbButton{color:#87503a;font-size:12px;line-height:1.2;min-height:24px;padding:0 8px;border-radius:6px;border:none!important;box-shadow:none!important;background:transparent}.list-breadcrumb .fui-BreadcrumbButton:hover{color:#7a2a1f;background:#ffe8d3}.list-breadcrumb .fui-BreadcrumbButton:focus-visible{outline:2px solid #c85f34;outline-offset:1px}.list-breadcrumb .fui-BreadcrumbButton[aria-current=page]{color:#7a2a1f;font-weight:700;border:none!important;background:#ffe7d0;cursor:default}.list-breadcrumb .fui-BreadcrumbDivider{color:#b87857;opacity:.85}.list-breadcrumb .fui-BreadcrumbItem{min-width:0}.chart-breadcrumb-song{max-width:min(52vw,420px);min-width:0}.chart-breadcrumb-song-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constants-breadcrumb-song{max-width:min(52vw,420px);min-width:0}.constants-breadcrumb-song-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;width:100%;padding:4px 8px;border:none;border-radius:0;border-bottom:1px solid #f1dfcd;background:transparent;box-shadow:none}.list-toolbar .fui-Button,.list-toolbar .fui-ToolbarButton,.list-toolbar .fui-ToolbarRadioButton{font-weight:400}.list-toolbar-button{flex:0 0 auto;min-height:24px;padding-inline:6px;white-space:nowrap;border-radius:6px;font-size:12px}.list-toolbar-button .fui-Button__icon{font-size:14px}.list-toolbar-stats{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0;white-space:nowrap}.list-stat-label{color:#9a694f;font-size:11px;font-weight:600;letter-spacing:.2px}.list-stat-value{color:#7a2a1f;font-size:13px;font-weight:700;line-height:1}.list-toolbar-actions{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex:0 0 auto;flex-wrap:nowrap;min-width:max-content}.list-info-bar .fui-Badge{background:transparent!important;color:#9a4b2d;border:none!important;border-radius:0;box-shadow:none;min-height:auto;padding:0;font-weight:600}.list-stat{margin:0;color:#87503a;font-weight:600;display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.content-area{position:fixed;top:var(--header-height);right:0;bottom:var(--footer-height);left:0;overflow:hidden;background:linear-gradient(180deg,#eff8fc,#f4f9fc)}.app-footer{position:fixed;left:0;right:0;bottom:0;z-index:14;padding:4px 12px 6px;border-top:1px solid rgba(18,66,102,.12);background:linear-gradient(180deg,#f8fcffe6,#f0f8fdf0)}.results-panel{height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff}.constants-route-panel,.constants-panel{height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.constants-table-wrapper{flex:1 1 auto;background:#fff;position:relative}.constants-table-wrapper.table-wrapper{display:flex;flex-direction:column;overflow-x:auto;overflow-y:auto}.constants-loading-wrap{height:100%;display:flex;align-items:center;justify-content:center;color:#87503a}.constants-list-busy-overlay{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:#fff7f09e;backdrop-filter:blur(1px);pointer-events:auto}.constants-grid{min-width:1220px;--song-col-width: 220px}.constants-virtual-grid{min-width:1220px;--song-col-width: 220px;display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0}.constants-virtual-header{position:sticky;top:0;z-index:8}.constants-virtual-header-row,.constants-virtual-row{display:flex;width:max-content;min-width:100%}.constants-virtual-header-cell{background:linear-gradient(180deg,#fff4e8,#ffe9d7);border-bottom:1px solid #efc19d;font-weight:700;white-space:normal;min-height:44px;font-size:14px;line-height:1.2}.constants-virtual-cell{flex:1 1 120px;min-width:120px;padding:0 8px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.constants-virtual-header-cell.constants-virtual-cell{min-height:44px;height:44px;padding-top:0;padding-bottom:0}.constants-virtual-header-cell .header-cell-text{width:100%;align-items:center;white-space:normal}.constants-virtual-header-cell .header-title-text{min-width:0;white-space:normal;overflow-wrap:anywhere}.constants-virtual-header-cell.sticky-first-col-header,.constants-virtual-row .constants-virtual-cell.sticky-first-col-cell{flex:0 0 var(--song-col-width);min-width:var(--song-col-width);max-width:var(--song-col-width)}.constants-virtual-header-cell.sticky-first-col-header{position:sticky;left:0;z-index:11;background:linear-gradient(180deg,#fff0e1,#ffe1c6);box-shadow:1px 0 #efc19d}.constants-virtual-row .constants-virtual-cell.sticky-first-col-cell{position:sticky;left:0;z-index:6;background:#fff8ef;box-shadow:1px 0 #efc19d}.constants-virtual-row .constants-virtual-cell{border-bottom:1px solid #f2e3d6;align-items:center;white-space:normal;line-height:1.25}.constants-cell-text{overflow-wrap:anywhere;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.constants-category-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;min-height:24px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.constants-branch-text{font-weight:600}.constants-difficulty-text{font-weight:700}.constants-difficulty-text.constants-difficulty-easy{color:#cf202f}.constants-difficulty-text.constants-difficulty-normal{color:#4d7f2f}.constants-difficulty-text.constants-difficulty-hard{color:#005a9c}.constants-difficulty-text.constants-difficulty-oni{color:#8f1d4f}.constants-difficulty-text.constants-difficulty-edit{color:#5c2d91}.constants-branch-text.constants-branch-normal{color:#667085}.constants-branch-text.constants-branch-expert{color:#0078d4}.constants-branch-text.constants-branch-master{color:#b42318}.constants-category-badge.badge-pop{color:#0f5877;background:#d9f2ff;border-color:#8bcfeb}.constants-category-badge.badge-anime{color:#8d3c59;background:#ffe6ef;border-color:#f2bbcf}.constants-category-badge.badge-vocaloid{color:#4f5864;background:#eef1f4;border-color:#d4dbe2}.constants-category-badge.badge-children-folk{color:#844b12;background:#ffe1b3;border-color:#ebb771}.constants-category-badge.badge-variety{color:#356e40;background:#e6f6e8;border-color:#b7deb8}.constants-category-badge.badge-classical{color:#7d680f;background:#fff4c7;border-color:#e6d07a}.constants-category-badge.badge-game-music{color:#5c3d9a;background:#efe6ff;border-color:#cab7ee}.constants-category-badge.badge-namco-original{color:#6a2608;background:#ffc5a0;border-color:#d47643}.constants-virtual-scroll-root{flex:1 1 auto;min-height:0;min-width:100%}.constants-virtual-scroll-container{height:auto;overflow:visible!important}.constants-virtual-grid [role=columnheader][aria-colindex="1"]{position:sticky!important;left:0!important;z-index:12!important;background:linear-gradient(180deg,#fff0e1,#ffe1c6)!important;box-shadow:1px 0 #efc19d}.constants-virtual-grid [role=gridcell][aria-colindex="1"]{position:sticky!important;left:0!important;z-index:7!important;background:#fff8ef!important;box-shadow:1px 0 #efc19d}.constants-row:hover{background-color:#e8f3f9}.constants-row{cursor:pointer}.constants-detail-panel{height:100%;width:100%;display:flex;flex-direction:column;overflow:auto;background:radial-gradient(circle at 88% 14%,#ffbd8b3d,#ffbd8b00 40%),radial-gradient(circle at 12% 92%,#7acbe933,#7acbe900 46%),linear-gradient(180deg,#f5fbff,#eef7fd)}.constants-detail-body{padding:14px;display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:14px;align-items:start}.constants-detail-left-column{display:flex;flex-direction:column;gap:14px;min-width:0}.constants-detail-info-card,.constants-detail-radar-card,.constants-detail-score-list,.constants-detail-empty{border-radius:14px;border:1px solid #d9e9f5;background:linear-gradient(180deg,#fffffffa,#fbfdfff5);box-shadow:0 10px 28px #4277921f,inset 0 1px #ffffffb8}.constants-detail-info-card{padding:14px;display:flex;flex-direction:column;gap:6px}.constants-detail-title{margin:0 0 2px;color:#8a3d20}.constants-detail-meta{margin:0;color:#4d6172}.constants-detail-meta-inline{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}.constants-detail-meta-item{display:inline-flex;align-items:center}.constants-detail-radar-card{padding:14px;min-width:0}.constants-detail-card-title{margin:0 0 10px;color:#8a3d20;font-size:15px}.constants-radar-svg{width:100%;max-width:560px;display:block;margin:0 auto}@media (min-width: 1280px){.constants-detail-body{grid-template-columns:minmax(240px,320px) minmax(420px,760px);justify-content:center}.constants-detail-radar-card{max-width:760px;justify-self:center;width:100%}}.constants-radar-grid{fill:#ffa7700d;stroke:#d5e5f4;stroke-width:1}.constants-radar-axis{stroke:#c9dcee;stroke-width:1}.constants-radar-value{fill:#e4563747;stroke:#d55337;stroke-width:2}.constants-radar-value-point{fill:#d55337;stroke:#fff;stroke-width:1.2}.constants-radar-label{fill:#4d6172;font-size:12px;font-weight:600}.constants-radar-label-value{fill:#8a2f1f;font-size:11px;font-weight:700}.constants-radar-max-text{fill:#8a3d20;font-size:12px;font-weight:700}.constants-detail-score-list{padding:12px;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px}.constants-detail-score-list .constants-detail-card-title{grid-column:1 / -1;margin-bottom:0}.constants-score-item{border-radius:10px;border:1px solid #ebf1f7;background:linear-gradient(180deg,#fff,#f8fcff);padding:8px 10px;display:flex;flex-direction:column;gap:3px}.constants-score-name{color:#698297;font-size:12px;font-weight:600}.constants-score-value{color:#1f4f71;font-size:16px;font-weight:700}.constants-detail-empty{margin:14px;padding:16px;display:flex;flex-direction:column;gap:10px;max-width:520px}@media (max-width: 960px){.constants-detail-body{grid-template-columns:minmax(0,1fr)}.constants-detail-left-column{display:contents}.constants-detail-info-card{order:1}.constants-detail-radar-card{order:2}.constants-detail-score-list{order:3}.constants-detail-score-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.chart-detail-panel{overflow:auto;background:radial-gradient(circle at 92% 8%,#ffb8823d,#ffb88200 42%),radial-gradient(circle at 10% 100%,#75c4e333,#75c4e300 46%),linear-gradient(180deg,#f5fbff,#eef7fd)}.chart-detail-header{position:sticky;top:0;z-index:6;flex:0 0 auto;padding:8px 12px;border-bottom:1px solid #dce9f4;background:linear-gradient(180deg,#fff9f3,#fff4e9 62%,#fff2e5)}.chart-detail-header-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0}.chart-detail-body{flex:0 0 auto;display:flex;flex-direction:column;overflow:visible;padding:16px}.chart-detail-grid{flex:0 0 auto;display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:16px;align-items:start}.chart-detail-left-column{display:flex;flex-direction:column;gap:16px;min-width:0}.chart-detail-main-column{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%;align-items:flex-start}.chart-detail-card{border-radius:14px;border:1px solid #d9e9f5;background:linear-gradient(180deg,#fffffffa,#fbfdfff5);box-shadow:0 10px 28px #4277921f,inset 0 1px #ffffffb8;padding:16px}.chart-detail-card-title{margin:0 0 12px;display:flex;align-items:center;min-height:28px;line-height:1;color:#8a3d20;font-size:15px;font-weight:700;letter-spacing:.2px}.chart-detail-card-title-row{display:flex;align-items:center;justify-content:space-between;min-height:28px;gap:8px;margin-bottom:12px}.chart-detail-card-title-row .chart-detail-card-title{margin:0}.chart-detail-favorite-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 4px;align-self:center;color:#f5b301}.chart-detail-stats-card{display:flex;flex-direction:column;padding:12px}.chart-detail-ratings-card{padding:12px}.chart-detail-preview-card{padding:14px;width:100%;max-width:1100px}.chart-detail-preview-shell{display:flex;flex-direction:column;gap:8px}.chart-detail-preview-trigger{width:100%;border:none;padding:0;margin:0;background:transparent;border-radius:10px;cursor:zoom-in;text-align:left}.chart-detail-preview-trigger:focus-visible{outline:2px solid #0f6cbd;outline-offset:2px}.chart-detail-preview-canvas{width:100%;min-height:420px;border:1px solid #e1edf6;background:linear-gradient(180deg,#fff,#f6fbff)}.chart-preview-route-overlay{position:fixed;top:var(--header-height, 0px);left:0;right:0;bottom:0;z-index:12;display:flex;flex-direction:column;gap:0;padding:0;background:#ffecdda3;backdrop-filter:blur(2px)}.chart-preview-route-viewport{flex:1;min-height:0;overflow:hidden;border-radius:0;border:none;background:#ffe3cde6;cursor:grab;touch-action:none;overscroll-behavior:contain;user-select:none}.chart-preview-route-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:4px 12px calc(4px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,214,186,.34);background:#e45637bd;box-shadow:0 -4px 10px #7d221c29}.chart-preview-route-toolbar-button{border-radius:999px;border:1px solid rgba(255,241,225,.58);background:#ffffff38;color:#fffaf6!important}.chart-preview-route-toolbar-button .fui-Button__content,.chart-preview-route-toolbar-button .fui-Button__text,.chart-preview-route-toolbar-button .fui-Button__icon,.chart-preview-route-toolbar-button .fui-Button__icon svg{color:#fffaf6!important;fill:#fffaf6!important}.chart-preview-route-toolbar-button:hover{background:#ffffff4d}.chart-preview-route-viewport:active{cursor:grabbing}.chart-preview-route-stage{width:fit-content;height:fit-content}.chart-preview-route-stage.is-hidden{opacity:0}.chart-preview-route-zoom-layer{transform-origin:top left;transition:transform .18s cubic-bezier(.2,.75,.2,1);will-change:transform}.chart-preview-route-zoom-layer.is-direct-manipulating{transition:none}.chart-preview-route-canvas{width:1600px;min-height:900px;display:block;background:linear-gradient(180deg,#fff,#f6fbff)}.chart-preview-route-empty{padding:18px;color:#d6e8f7;font-size:14px}.chart-preview-route-error{position:absolute;left:16px;bottom:64px;margin:0;color:#ffd3d0}.chart-detail-stats-grid,.chart-detail-ratings-grid{display:grid;grid-template-columns:1fr;gap:8px}.chart-detail-rating-block{min-width:0}.chart-detail-stat-block{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:10px;border:1px solid #ebf1f7;background:linear-gradient(180deg,#fff,#f8fcff)}.chart-detail-stat-block-wide{grid-column:auto}.chart-detail-basic-info{gap:4px;grid-column:1 / -1;flex-direction:row;align-items:center;gap:16px;padding:12px 16px!important}.chart-detail-stat-label{color:#698297;font-size:12px;font-weight:600}.chart-detail-stat-value{color:#1f4f71;font-size:16px;font-weight:700;line-height:1.2}.chart-detail-gaps-card{display:flex;flex-direction:column;padding:14px;width:100%;max-width:1100px}@media (min-width: 2048px){.chart-detail-main-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.chart-detail-preview-card,.chart-detail-gaps-card{max-width:none}.chart-detail-gaps-card{align-self:stretch}}.chart-detail-gaps-card .chart-detail-card-title{margin-bottom:8px}.chart-gap-list{flex:0 0 auto;margin-top:0;max-height:none;gap:8px;overflow:visible}.chart-gap-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}.chart-gap-legend .gap-value{font-size:12px;line-height:1.2;padding:4px 9px}.chart-gap-list .gap-bar{display:grid;grid-template-columns:minmax(4ch,max-content) minmax(0,1fr);align-items:start;column-gap:8px;row-gap:4px;padding:8px 10px;border-radius:10px;border:1px solid #edf3f8;background:linear-gradient(180deg,#fff,#f7fbfe)}.chart-gap-list .gap-bar-label{display:inline-flex;align-items:center;width:auto;min-width:4ch;color:#5e768a;font-size:12px;font-weight:700;line-height:20px;min-height:26px;padding:3px 8px;font-variant-numeric:tabular-nums;text-align:right;align-self:start!important}.chart-gap-list .gap-bar-values{min-width:0;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:6px}.chart-gap-list .gap-value{border-radius:6px;font-size:12px;line-height:20px;min-height:26px;padding:3px 8px}.chart-detail-empty{max-width:560px}.route-panel-hidden{display:none}.results-panel.drag-over{box-shadow:inset 0 0 0 3px #259fcf54}.table-wrapper{flex:1;overflow:auto;background:#fff}.analysis-table-wrapper.table-wrapper{display:flex;flex-direction:column;overflow-x:auto;overflow-y:auto}.analysis-virtual-grid{min-width:1220px;--song-col-width: 220px;display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0}.analysis-virtual-header{position:sticky;top:0;z-index:8}.analysis-virtual-header-row,.analysis-virtual-row{display:flex;width:max-content;min-width:100%}.analysis-virtual-cell{flex:1 1 120px;min-width:120px;min-height:44px;height:44px;padding:0 8px;display:flex;align-items:center;white-space:normal}.analysis-virtual-header-cell{background:linear-gradient(180deg,#fff4e8,#ffe9d7);border-bottom:1px solid #efc19d;font-weight:700}.analysis-virtual-header-cell .header-cell-text{width:100%;align-items:center}.analysis-cell-text{overflow-wrap:anywhere;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.analysis-virtual-header-cell.sticky-first-col-header,.analysis-virtual-row .analysis-virtual-cell.sticky-first-col-cell{flex:0 0 var(--song-col-width);min-width:var(--song-col-width);max-width:var(--song-col-width)}.analysis-virtual-header-cell.sticky-first-col-header{position:sticky;left:0;z-index:11;background:linear-gradient(180deg,#fff0e1,#ffe1c6);box-shadow:1px 0 #efc19d}.analysis-virtual-row .analysis-virtual-cell.sticky-first-col-cell{position:sticky;left:0;z-index:6;background:#fff8ef;box-shadow:1px 0 #efc19d}.analysis-virtual-row .analysis-virtual-cell{border-bottom:1px solid #f2e3d6}.analysis-virtual-scroll-root{flex:1 1 auto;min-height:0;min-width:100%}.analysis-virtual-scroll-container{height:auto;overflow:visible!important}.analysis-virtual-grid [role=columnheader][aria-colindex="1"]{position:sticky!important;left:0!important;z-index:12!important;background:linear-gradient(180deg,#fff0e1,#ffe1c6)!important;box-shadow:1px 0 #efc19d}.analysis-virtual-grid [role=gridcell][aria-colindex="1"]{position:sticky!important;left:0!important;z-index:7!important;background:#fff8ef!important;box-shadow:1px 0 #efc19d}.table-grid{min-width:1220px;--song-col-width: 220px}.table-grid .fui-DataGridRow{align-items:stretch}.table-grid .fui-DataGridHeader{position:sticky;top:0;z-index:8}.table-grid .fui-DataGridHeader .fui-DataGridRow{position:sticky;top:0;z-index:4}.table-grid .fui-DataGridHeaderCell{background:linear-gradient(180deg,#fff4e8,#ffe9d7);padding:0 8px;border-bottom:1px solid #efc19d;font-weight:700;white-space:nowrap}.table-grid .sticky-first-col-cell{position:sticky;left:0;flex:0 0 var(--song-col-width);width:var(--song-col-width);min-width:var(--song-col-width);max-width:var(--song-col-width);z-index:3;align-self:stretch;background:#fff8ef;box-shadow:1px 0 #efc19d}.table-grid .sticky-first-col-header{position:sticky;left:0;flex:0 0 var(--song-col-width);width:var(--song-col-width);min-width:var(--song-col-width);max-width:var(--song-col-width);top:0!important;inset-block-start:0!important;z-index:5;background:linear-gradient(180deg,#fff0e1,#ffe1c6);box-shadow:1px 0 #efc19d}.table-grid .fui-DataGridHeader .fui-DataGridRow>.fui-DataGridHeaderCell:first-child{position:sticky;left:0;flex:0 0 var(--song-col-width);width:var(--song-col-width);min-width:var(--song-col-width);max-width:var(--song-col-width);top:0!important;inset-block-start:0!important;z-index:9}.table-grid .fui-DataGridHeader [role=columnheader][aria-colindex="1"]{position:sticky!important;left:0!important;flex:0 0 var(--song-col-width)!important;width:var(--song-col-width)!important;min-width:var(--song-col-width)!important;max-width:var(--song-col-width)!important;top:0!important;inset-block-start:0!important;z-index:10!important;background:linear-gradient(180deg,#fff0e1,#ffe1c6)!important;box-shadow:1px 0 #efc19d}.table-grid [role=gridcell][aria-colindex="1"]{position:sticky!important;left:0!important;flex:0 0 var(--song-col-width)!important;width:var(--song-col-width)!important;min-width:var(--song-col-width)!important;max-width:var(--song-col-width)!important;z-index:4!important;align-self:stretch;background:#fff8ef!important;box-shadow:1px 0 #efc19d}.table-grid .sortable:hover{background:#ffe5cf}.table-grid caption{color:#8a2d21}.sortable{cursor:pointer;user-select:none}.header-cell-text{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.header-title-text{min-width:max-content;white-space:nowrap;overflow:visible;text-overflow:clip}.sort-indicator{color:#b6502f;font-size:12px;flex:0 0 auto}.result-row{cursor:pointer}.result-row:hover{background-color:#e8f3f9}.drop-placeholder{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:#42526d;text-align:center;cursor:pointer;padding:20px}.drop-icon{display:block;font-size:52px;line-height:1}.hint{color:#4f7f94}.network-status{font-weight:600}.network-status.is-online{color:#1f7a35}.network-status.is-offline{color:#8a2d21}.about-meta-line,.about-meta{display:block}.about-meta .about-meta-line+.about-meta-line{margin-top:6px}.hidden-input{display:none}.loading-overlay{position:fixed;inset:0;background:#0000003d;display:grid;place-items:center;z-index:1000}.loading-panel{min-width:260px;padding:24px;background:#fff;border-radius:12px;border:1px solid #c5e0ec;box-shadow:0 16px 32px #1c6f912e}.dialog-pre{margin:0;white-space:pre-wrap;font-family:inherit}.gap-dialog-surface{width:min(920px,92vw);max-height:82vh}.gap-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.gap-list{max-height:56vh;overflow:auto;display:flex;flex-direction:column;gap:6px}.chart-detail-gaps-card .gap-list{max-height:none;overflow:visible}.gap-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:4px 0}.gap-bar-label{display:inline-block;width:40px;color:#667085;text-align:right}.gap-value{display:inline-block;padding:2px 7px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:12px}.gap-fast{background:#ffebee;color:#b42318}.gap-medium{background:#fff4e5;color:#a15c00}.gap-normal{background:#eaf2ff;color:#005a9c}.gap-slow{background:#f2f4f7;color:#475467}.gap-null{background:#f8f9fb;color:#98a2b3}.single-price-panel{overflow:auto;background:radial-gradient(circle at 92% 8%,#ffcb9833,#ffcb9800 42%),radial-gradient(circle at 5% 96%,#87d8ea2b,#87d8ea00 46%),linear-gradient(180deg,#f6fbff,#eef8fd)}.single-price-wrapper{padding:16px;display:flex;flex-direction:column;align-items:center}.single-price-hint{color:#486a80;width:min(100%,620px)}.single-price-form-grid{margin-top:12px;display:grid;grid-template-columns:1fr;gap:12px;width:min(100%,620px)}.single-price-group{display:flex;flex-direction:column;gap:6px}.single-price-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.single-price-inline-field{display:flex;align-items:center;gap:6px}.single-price-inline-field .fui-Input{flex:1}.single-price-inline-unit{color:#6b7f91;font-size:13px;font-weight:700;white-space:nowrap}.single-price-label{color:#8a3d20;font-size:13px;font-weight:700}.single-price-result{margin-top:16px;padding:14px;border-radius:12px;border:1px solid #d9e9f5;background:linear-gradient(180deg,#fff,#f7fbff);width:min(100%,620px)}.single-price-result-main{color:#1f4f71;font-size:22px;font-weight:800;line-height:1.2}.single-price-result-sub{margin-top:6px;color:#4f6f84;font-size:13px;font-weight:600}.single-price-result-message{color:#5f7487;font-size:14px;font-weight:600}.practice-panel{overflow:auto;background:radial-gradient(circle at 92% 7%,#ffc2823d,#ffc28200 44%),radial-gradient(circle at 6% 96%,#8ddbf133,#8ddbf100 47%),linear-gradient(180deg,#f7fcff,#eef8fd)}.practice-wrapper{padding:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0;overflow:auto}.practice-hint{color:#456981}.practice-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.practice-toolbar .fui-Button,.practice-toolbar .fui-ToolbarButton,.practice-toolbar .fui-ToolbarRadioButton{font-weight:400}.practice-toolbar-main,.practice-toolbar-branch{border-radius:0;border:none;background:transparent;box-shadow:none;padding:0}.practice-toolbar-main{border-bottom:1px solid #f1dfcd}.practice-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.practice-branch-button{border:none!important;box-shadow:none!important;border-radius:999px;background:transparent!important}.practice-branch-button:hover{background:#3668961f!important}.practice-branch-button.is-selected{color:#fff!important;font-weight:400;background:var(--colorBrandBackground)!important}.practice-branch-button.is-selected:hover{background:var(--colorBrandBackgroundHover)!important}.practice-branch-button.is-selected:active{background:var(--colorBrandBackgroundPressed)!important}.practice-info-bar{display:flex;flex-wrap:wrap;gap:12px;color:#5b7285;font-size:13px}.practice-info-bar .fui-Body1{margin:0}.practice-status{margin:0;color:#5f7387;font-size:13px;font-weight:700}.practice-settings-form{display:grid;gap:14px}.practice-settings-dialog-body{position:relative;padding-top:8px}.practice-result-dialog-surface{width:min(1080px,94vw)}.practice-result-title-row{display:flex;align-items:center;gap:8px}.practice-result-help-button{min-width:0;width:28px;height:28px;padding:0}.practice-result-help-content{display:grid;gap:8px;max-width:min(320px,72vw)}.practice-result-help-line{margin:0;color:#4f6c82;font-size:13px;line-height:1.45}.practice-result-summary{display:grid;gap:6px;margin-bottom:10px}.practice-result-summary-line{margin:0;color:#4f6c82;font-size:13px;line-height:1.45}.practice-result-viewport{min-height:420px;max-height:min(72vh,820px);overflow:hidden;border-radius:10px;border:1px solid rgba(196,146,96,.48);background:#fff3e4;box-shadow:inset 0 0 0 1px #fff9f08c;cursor:grab;touch-action:none;overscroll-behavior:contain;user-select:none}.practice-result-viewport:active{cursor:grabbing}.practice-result-stage{width:fit-content;height:fit-content}.practice-result-zoom-layer{transform-origin:top left;transition:transform .18s cubic-bezier(.2,.75,.2,1);will-change:transform}.practice-result-zoom-layer.is-direct-manipulating{transition:none}.practice-result-canvas-stack{display:grid;gap:18px}.practice-result-canvas{width:100%;height:auto;display:block;background:#fff3e4}.practice-settings-close-button{position:absolute;top:6px;right:8px;min-width:0;width:28px;height:28px;padding:0;border-radius:999px}.practice-setting-item{display:grid;gap:6px}.practice-setting-label{font-size:13px;font-weight:700;color:#1f2633}.practice-setting-help{margin:0;font-size:12px;line-height:1.45;color:#5f7387}.practice-setting-row{display:flex;gap:12px}.practice-setting-col{flex:1 1 0;display:flex;flex-direction:column;gap:4px;min-width:0}.practice-setting-col-label{font-size:11px;font-weight:600;color:#5f7387}.practice-frame-wrap{position:relative;flex:1 1 auto;min-height:340px;display:flex;flex-direction:column;align-items:stretch;border-radius:0;border:none;background:#fff8ed;overflow:hidden;padding:0}.practice-lane{position:relative;width:100%;min-height:220px;border-radius:10px;border:1px solid #cfe1ef;background:linear-gradient(180deg,#fffef8,#fff5e8,#ffe8cd)}.practice-lane-canvas{width:100%;height:310px;flex:0 0 auto;display:block;border-radius:0;border:none;background:#fff8ed}.practice-touch-zone{flex:1 1 auto;min-height:96px;margin-top:calc(-1 * var(--practice-lane-shrink-gap, 0px));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none}.practice-touch-guide-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.practice-judge-line{position:absolute;left:120px;top:0;bottom:0;width:4px;border-radius:999px;background:linear-gradient(180deg,#ffb55b,#f4682c);box-shadow:0 0 0 2px #ff8b4833}.practice-note{position:absolute;top:50%;width:22px;height:22px;border-radius:999px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.86);box-shadow:0 4px 10px #0000002e}.practice-note-don{background:radial-gradient(circle at 34% 34%,#ffcfb8,#f05f2c 55%,#d94c1b)}.practice-note-ka{background:radial-gradient(circle at 34% 34%,#d7ecff,#4f9bff 55%,#2d6cd0)}.practice-key-hint{margin-top:10px;display:flex;align-items:center;color:#597083;font-size:13px;font-weight:600}.target-score-panel{overflow:auto;background:radial-gradient(circle at 94% 5%,#97d6ff38,#97d6ff00 40%),radial-gradient(circle at 4% 96%,#ffdcab38,#ffdcab00 46%),linear-gradient(180deg,#f7fcff,#eef7fd)}.target-score-wrapper{padding:16px;display:flex;flex-direction:column;align-items:center}.target-score-hint{color:#476b82;width:min(100%,720px)}.target-score-form-grid{margin-top:12px;display:grid;grid-template-columns:1fr;gap:12px;width:min(100%,720px)}.target-score-group{display:flex;flex-direction:column;gap:6px}.target-score-label{color:#8a3d20;font-size:13px;font-weight:700}.target-score-inline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.target-score-inline-fields-one{grid-template-columns:1fr}.target-score-inline-field{display:flex;align-items:center;gap:6px}.target-score-inline-field .fui-Input{flex:1}.target-score-inline-unit{color:#6b7f91;font-size:13px;font-weight:700;white-space:nowrap}.target-score-result{margin-top:16px;padding:14px;border-radius:12px;border:1px solid #d9e9f5;background:linear-gradient(180deg,#fff,#f8fcff);width:min(100%,720px)}.target-score-result-main{color:#124f78;font-size:22px;font-weight:800;line-height:1.2}.target-score-result-emphasis{display:inline-block;margin:0 8px;padding:1px 10px;border-radius:999px;background:linear-gradient(180deg,#fff0dc,#ffd7a6);color:#8a3d20;font-size:30px;font-weight:900;line-height:1.1;box-shadow:0 2px 10px #da802d38}.target-score-result-sub{margin-top:6px;color:#4f6f84;font-size:13px;font-weight:600}.target-score-result-tip{margin-top:8px;color:#8a541f;font-size:13px;font-weight:700}.target-score-result-message{color:#5f7487;font-size:14px;font-weight:600}@media (max-width: 980px){.table-grid{--song-col-width: 148px}.app-nav-drawer-header{min-height:53px;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;padding:10px 12px!important}.actions-row{width:100%}.search-input{max-width:none;min-width:0}.filter-dropdown{right:-7px;width:max-content;min-width:220px}.list-toolbar{flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:4px 6px}.list-info-bar{width:100%;white-space:normal}.list-toolbar-actions{width:auto;justify-content:flex-start;flex-wrap:nowrap;overflow:visible;padding-bottom:0}.app-footer{padding:4px 10px 6px}.chart-detail-body{padding:9px}.chart-detail-grid{grid-template-columns:1fr;gap:8px}.chart-detail-left-column{gap:8px}.chart-detail-main-column{gap:8px;align-items:stretch}.chart-detail-card{padding:10px}.chart-detail-stats-card,.chart-detail-ratings-card{padding:8px}.chart-detail-preview-card{padding:10px}.chart-detail-preview-canvas{min-height:300px}.chart-preview-route-canvas{width:1300px;min-height:760px}.chart-detail-stats-card .chart-detail-card-title{margin-bottom:6px}.chart-detail-stats-card .chart-detail-card-title-row .chart-detail-card-title{margin-bottom:0}.chart-detail-card-title-row{margin-bottom:6px}.chart-detail-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.chart-detail-ratings-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.chart-detail-stat-block-wide{grid-column:span 2}.chart-detail-stat-block{padding:7px 8px;gap:2px}.chart-detail-stat-label{font-size:11px}.chart-detail-stat-value{font-size:14px}.chart-detail-gaps-card{padding:10px}.chart-detail-gaps-card .chart-detail-card-title{margin-bottom:8px}.chart-gap-list{gap:6px}.chart-gap-list .gap-bar{grid-template-columns:minmax(4ch,max-content) minmax(0,1fr);column-gap:7px;padding:6px 8px}.single-price-wrapper{padding:12px}.single-price-form-grid{gap:10px}.single-price-inline-fields{grid-template-columns:1fr;gap:8px}.target-score-wrapper{padding:12px}.target-score-inline-fields{grid-template-columns:1fr;gap:8px}}@media (max-width: 980px){.chart-preview-route-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;position:relative;min-height:40px;padding:0 0 env(safe-area-inset-bottom);gap:0}.chart-preview-route-toolbar:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:18px;transform:translate(-50%,-50%);background:#fff1e185;pointer-events:none}.chart-preview-route-toolbar-button{width:100%;height:40px;min-width:0;border:none;border-radius:0;background:#ffffff24}}@media (max-width: 640px){.table-grid{--song-col-width: 120px}.chart-detail-body{padding:7px}.chart-detail-grid,.chart-detail-left-column{gap:6px}.chart-detail-main-column{gap:6px;align-items:stretch}.chart-detail-card{padding:8px;border-radius:12px}.chart-detail-card-title{margin-bottom:5px}.chart-detail-card-title-row .chart-detail-card-title{margin-bottom:0}.chart-detail-card-title-row{margin-bottom:5px}.chart-detail-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.chart-detail-ratings-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.chart-detail-stat-block{padding:5px 6px}.chart-detail-stat-value{font-size:13px}.chart-gap-list{gap:5px}.chart-detail-preview-canvas{min-height:220px}.chart-preview-route-overlay{padding:0}.chart-preview-route-canvas{width:1024px;min-height:640px}.chart-gap-list .gap-bar{grid-template-columns:minmax(4ch,max-content) minmax(0,1fr);column-gap:6px;padding:5px 7px}.chart-gap-list .gap-bar-values{gap:5px}.single-price-wrapper{padding:9px}.single-price-result{padding:12px}.single-price-result-main{font-size:19px}.practice-wrapper{padding:0;gap:0}.practice-toolbar{gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.practice-toolbar::-webkit-scrollbar{display:none}.practice-toolbar-main{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;padding:0 6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.practice-toolbar-main::-webkit-scrollbar{display:none}.practice-toolbar-main .fui-ToolbarDivider{display:none}.practice-toolbar-main,.practice-toolbar-branch{padding:0;border-radius:0}.practice-info-bar{gap:8px}.practice-result-canvas{height:auto}.practice-frame-wrap{min-height:300px;padding:0}.practice-lane{min-height:180px}.practice-lane-canvas{height:270px}.practice-touch-zone{min-height:84px}.practice-note{width:18px;height:18px}.target-score-wrapper{padding:9px}.target-score-result{padding:12px}.target-score-result-main{font-size:19px}.target-score-result-emphasis{font-size:25px}}:fullscreen .top-bar{display:none}:fullscreen .app-footer{display:none}:fullscreen .content-area{top:0;bottom:0}.practice-fullscreen{background:#000}.practice-fullscreen .practice-wrapper{height:100%}.practice-fullscreen .practice-frame-wrap{min-height:0;height:100%}.practice-fullscreen .practice-lane-canvas{height:auto;max-height:50vh}.practice-fullscreen .practice-touch-zone{min-height:0}
