@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";:root{color-scheme:dark;--desktop-sidebar-width: 368px;--rating-card-min-width: 125px;--rating-card-max-width: 250px;--bg: #0b0b0f;--panel: #111116;--panel-raised: #181820;--ink: #dcdce8;--ink-dim: #9898b0;--muted: #636378;--accent: #e09000;--accent-2: #c07a00;--accent-fg: #0b0b0f;--line: #1e1e28;--line-strong: #2c2c3a;--chip: #17171f;--chip-active: #e09000;--diff-basic: #4cc874;--diff-advanced: #f0b429;--diff-expert: #f47070;--diff-master: #a07ae8;--diff-remaster: #c8a0ff;--chart-std: #5cb8f0;--chart-dx: #8899aa;--grid-line: rgba(255, 255, 255, .018);--table-header-bg: #0d0d12;--history-grid-stroke: rgba(255, 255, 255, .05);--code-color: #9ec8a0}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}body{margin:0;min-height:100vh;scrollbar-gutter:stable;color:var(--ink);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:40px 40px}#root{width:100%}h1,h2,h3{margin:0;font-family:Pretendard Variable,Pretendard,sans-serif;font-weight:700;letter-spacing:-.025em}p{margin:0}button,input,select{font:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.app-shell{width:100%;margin:0;padding:14px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.app-sidebar{gap:18px;padding:16px 14px;background:var(--panel)}.app-sidebar-inline{display:grid;gap:14px}.app-main{display:grid;gap:14px;min-width:0}.brand-copy{display:grid;gap:4px;min-width:0}.app-sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.brand-copy h1{font-size:clamp(1.12rem,1.45vw,1.45rem);line-height:1.1;letter-spacing:-.03em;color:var(--ink)}.brand-copy p{color:var(--muted);font-size:12px;line-height:1.45}.app-nav{position:relative;display:grid;gap:2px}.app-nav-trigger,.app-nav-list button{width:100%;height:auto;min-height:36px;padding:7px 10px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;justify-items:start;gap:10px;border-radius:2px;background:transparent;border:1px solid transparent;color:var(--muted);transition:background .1s ease,color .1s ease,border-color .1s ease,box-shadow .1s ease}.app-nav-trigger{display:none;grid-template-columns:minmax(0,1fr) 18px;align-items:center;background:var(--chip);border-color:var(--line-strong);color:var(--ink-dim)}.app-nav-trigger-main{display:inline-flex;align-items:center;gap:10px;min-width:0}.app-nav-trigger-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .16s ease}.app-nav-trigger-chevron.is-open{transform:rotate(180deg)}.app-nav-list{display:grid;gap:2px}.app-nav-list-mobile{display:none}.app-nav-list button:hover{background:var(--chip);border-color:var(--line);color:var(--ink-dim)}.app-nav-list button.active{box-shadow:inset 2px 0 0 var(--accent);background:#e0900012;border-color:#e090002e;color:var(--accent);font-weight:700}.app-nav-trigger svg,.app-nav-list button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-player-summary{margin:0;min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;padding:4px 8px;border:1px solid rgba(224,144,0,.18);border-radius:999px;background:#e090000f;color:var(--ink-dim);font-size:12px;line-height:1.35;text-align:right;white-space:nowrap}.app-player-summary-shell{min-width:0;display:grid;justify-items:end;gap:6px}.app-player-summary-meta{min-width:0;display:inline-flex;align-items:center;gap:6px;overflow:hidden}.app-player-summary-name{color:var(--ink);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.app-player-summary-separator,.app-player-summary-count{color:var(--ink-dim);font-size:12px}.app-player-summary-separator{opacity:.65}.app-player-refresh-button{width:24px;min-width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff08}.app-player-refresh-button:hover:not(:disabled){background:#e090001f}.app-player-refresh-button:disabled{cursor:progress;opacity:.75}.app-player-refresh-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-player-refresh-icon.is-spinning{animation:app-player-refresh-spin .9s linear infinite}.app-player-summary-status{max-width:min(320px,100%);text-align:right}@keyframes app-player-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toolbar-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid var(--line-strong);border-radius:2px;background:var(--chip);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.01em}.toolbar-pill.accent{border-color:#e090004d;background:#e0900014;color:var(--accent)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-heading.compact{gap:8px}.panel-heading-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.panel-heading p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.panel-count{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:2px;border:1px solid var(--line-strong);background:var(--chip);color:var(--ink-dim);font-family:inherit;font-size:.82rem;font-weight:500;letter-spacing:0}.view-mode-switch{display:inline-flex;padding:2px;border:1px solid var(--line-strong);border-radius:2px;background:var(--chip);gap:2px}.view-mode-switch button{height:24px;padding:0 10px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;transition:background .1s ease,color .1s ease,border-color .1s ease}.view-mode-switch button:hover{border-color:transparent;background:var(--panel-raised);color:var(--ink-dim)}.view-mode-switch button.active{background:var(--panel-raised);border-color:#e090004d;color:var(--accent);font-weight:700}.explorer-layout{display:grid;grid-template-columns:var(--desktop-sidebar-width) minmax(0,1fr);gap:14px;align-items:start}.sidebar-column,.table-column{min-width:0}.table-column{display:grid;gap:14px;min-height:0}.sidebar-column{display:grid;gap:14px;align-self:start}.sidebar-column,.picker-control-column{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto}.mobile-filter-fab{display:none}.panel.search-panel,.panel.mobile-search-panel{gap:0}.panel.mobile-search-panel{display:none}.mobile-filter-modal{width:min(720px,100%)}.mobile-filter-modal .filter-panel{border:0;padding:0;background:transparent}.sidebar-column .panel{position:static;max-height:none;overflow:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:14px;display:grid;gap:14px}.panel h2{font-size:1.1rem;letter-spacing:-.02em}.server-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr)) auto;gap:10px;align-items:end}.server-grid label{display:grid;gap:6px}.server-meta{display:grid;gap:3px;color:var(--muted);font-size:13px}.server-meta.compact{color:var(--muted);font-size:11px;gap:2px}.tabs{display:inline-flex;gap:2px;background:var(--chip);border:1px solid var(--line-strong);border-radius:2px;padding:3px;width:fit-content}.tabs button{border:1px solid transparent;border-radius:2px;padding:6px 14px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;transition:background .1s ease,color .1s ease,border-color .1s ease}.tabs button:hover{border-color:transparent;background:var(--panel-raised);color:var(--ink-dim)}.tabs button.active{background:var(--accent);border-color:var(--accent-2);color:var(--accent-fg);font-weight:700}.filter-grid{display:grid;gap:14px}.filter-block{display:grid;gap:8px}.filter-label{font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--chip);border-radius:2px;height:auto;min-height:28px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--ink-dim);cursor:pointer;transition:background .1s ease,border-color .1s ease,color .1s ease}.chip:hover:not(.active){border-color:var(--line-strong);background:var(--panel-raised);color:var(--ink)}.chip.active{border-color:var(--accent-2);background:var(--accent);color:var(--accent-fg);box-shadow:inset 0 0 0 1px #00000014;font-weight:700}.difficulty-label{font-weight:700}.chart-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:4ch;min-height:20px;padding:0 6px;border-radius:2px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 20%,var(--panel));font-size:inherit;font-weight:500;line-height:1.1;vertical-align:middle}.chart-type-std{color:var(--chart-std)}.chart-type-dx{color:var(--chart-dx)}.difficulty-badge{display:inline-flex;align-items:center;justify-content:center;min-width:5ch;min-height:20px;padding:0 6px;border-radius:2px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 20%,var(--panel));font-size:inherit;font-weight:500;line-height:1.1;vertical-align:middle}.diff-basic{color:var(--diff-basic)}.diff-advanced{color:var(--diff-advanced)}.diff-expert{color:var(--diff-expert)}.diff-master{color:var(--diff-master)}.diff-remaster{color:var(--diff-remaster)}.diff-unknown{color:var(--muted)}.difficulty-chip,.chart-type-chip{background:var(--chip)}.chart-type-chip.chart-type-std,.chart-type-chip.chart-type-dx{border-color:var(--line-strong);background:var(--chip);color:var(--muted)}.chart-type-chip.active{color:inherit}.chart-type-chip.active.chart-type-std{border-color:var(--chart-std);background:color-mix(in srgb,var(--chart-std) 28%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chart-std) 40%,transparent);color:var(--chart-std)}.chart-type-chip.active.chart-type-dx{border-color:var(--chart-dx);background:color-mix(in srgb,var(--chart-dx) 28%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chart-dx) 40%,transparent);color:var(--chart-dx)}.difficulty-chip.diff-basic,.difficulty-chip.diff-advanced,.difficulty-chip.diff-expert,.difficulty-chip.diff-master,.difficulty-chip.diff-remaster{border-color:var(--line-strong);background:var(--chip);color:var(--muted)}.difficulty-chip.active{color:inherit}.difficulty-chip.active.diff-basic{border-color:var(--diff-basic);background:color-mix(in srgb,var(--diff-basic) 28%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--diff-basic) 38%,transparent);color:var(--diff-basic)}.difficulty-chip.active.diff-advanced{border-color:var(--diff-advanced);background:color-mix(in srgb,var(--diff-advanced) 30%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--diff-advanced) 38%,transparent);color:var(--diff-advanced)}.difficulty-chip.active.diff-expert{border-color:var(--diff-expert);background:color-mix(in srgb,var(--diff-expert) 28%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--diff-expert) 38%,transparent);color:var(--diff-expert)}.difficulty-chip.active.diff-master{border-color:var(--diff-master);background:color-mix(in srgb,var(--diff-master) 28%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--diff-master) 38%,transparent);color:var(--diff-master)}.difficulty-chip.active.diff-remaster{border-color:var(--diff-remaster);background:color-mix(in srgb,var(--diff-remaster) 30%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--diff-remaster) 38%,transparent);color:var(--diff-remaster)}.level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:4.6ch;min-height:20px;padding:0 6px;border-radius:2px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 18%,var(--panel));font-size:inherit;font-weight:400;line-height:1.1;vertical-align:middle}.picker-summary-inline{display:inline-flex;align-items:center;gap:4px}.difficulty-summary-list{display:inline-flex;flex-wrap:wrap;gap:0}.difficulty-summary-item{display:inline-flex;align-items:center}.difficulty-summary-separator{color:var(--muted);margin:0 1px}.difficulty-summary-all{font-weight:700}.search-box,.search-submit-group{display:grid;gap:6px}.search-submit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.search-submit-row input{min-width:0}.search-submit-group input,.search-submit-group button{height:32px;font-size:12px}.search-submit-row button{min-width:72px}.search-box span,label>span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}input,select,button{height:36px;border-radius:2px;border:1px solid var(--line-strong);padding:0 10px;background:var(--bg);color:var(--ink);transition:border-color .1s ease,background .1s ease,box-shadow .1s ease}button{background:var(--chip);border-color:var(--line-strong);font-weight:600;cursor:pointer;color:var(--ink-dim)}button:hover{border-color:#e090004d;background:var(--panel-raised);color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(224,144,0,.25);outline-offset:1px;border-color:var(--accent);box-shadow:0 0 0 3px #e0900014}.range-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.range-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.range-pair label{display:block}.range-pair input{width:100%}.range-separator{color:var(--muted);font-weight:700;text-align:center}.range-grid.compact{grid-template-columns:repeat(5,minmax(140px,1fr))}.range-grid label,.toggle-grid label{display:grid;gap:6px}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.toggle-grid label{grid-auto-flow:column;justify-content:start;align-items:center;gap:8px;font-weight:500}.toggle-grid input{width:16px;height:16px;margin:0}.filter-panel{gap:12px}.filter-panel .panel-heading.compact{align-items:center;justify-content:space-between}.filter-panel .filter-grid{gap:0}.filter-panel .filter-label{font-size:11px}.filter-panel .filter-grid>*+*{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.filter-panel .chip-row{gap:6px}.filter-panel .chip{border-radius:2px;min-height:30px;padding:4px 9px}.filter-reset-button{height:30px;padding:0 10px;border-color:var(--line-strong);background:var(--chip);color:var(--ink-dim);font-weight:600;white-space:nowrap}.search-submit-button{min-width:84px;background:var(--accent);border-color:var(--accent-2);color:var(--accent-fg);font-weight:700}.search-submit-button:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2);color:var(--accent-fg)}.filter-block-select label{display:grid}.filter-panel>.filter-grid>label{display:grid;gap:6px}.filter-panel input,.filter-panel select,.filter-panel button{height:32px;font-size:12px}.filter-panel .range-grid,.filter-panel .range-grid.compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.filter-panel .toggle-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.filter-panel .toggle-grid label{display:grid;grid-template-columns:16px minmax(0,1fr);grid-auto-flow:row;align-items:start;column-gap:6px;row-gap:0;font-size:12px;line-height:1.25}.filter-panel .toggle-grid input{margin-top:2px}.rating-stat-grid{display:grid;gap:8px}.rating-stat-card{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:2px;background:var(--chip)}.rating-stat-card span{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.rating-stat-card strong{font-family:inherit;font-size:1.45rem;font-weight:600;line-height:1.1;letter-spacing:-.03em;color:var(--ink)}.rating-stat-sub{font-size:11px;color:var(--muted);font-weight:500;font-family:inherit}.rating-table-column{display:grid;gap:14px;align-items:start}.rating-section-panel{align-self:start;min-width:0}.rating-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(var(--rating-card-min-width),calc((100% - 20px) / 3),var(--rating-card-max-width)),1fr));gap:10px}.rating-song-card{--rating-card-accent: var(--accent);display:grid;grid-template-rows:auto auto;gap:0;padding:0;border:1px solid var(--line-strong);border-top:2px solid var(--rating-card-accent);border-radius:2px;background:var(--panel);overflow:hidden;cursor:pointer;transition:border-color .12s ease,transform .12s ease;min-width:0;width:100%}.rating-song-card:hover,.rating-song-card:focus-visible{border-color:color-mix(in srgb,var(--rating-card-accent) 60%,var(--line));border-top-color:var(--rating-card-accent);transform:translateY(-1px)}.rating-song-card:focus-visible{outline:2px solid var(--rating-card-accent);outline-offset:2px}.rating-song-stage{position:relative;aspect-ratio:1;overflow:hidden;background:color-mix(in srgb,var(--rating-card-accent) 10%,#0a0a12)}.rating-song-card.diff-basic,.rating-song-stage.diff-basic{--rating-card-accent: var(--diff-basic)}.rating-song-card.diff-advanced,.rating-song-stage.diff-advanced{--rating-card-accent: var(--diff-advanced)}.rating-song-card.diff-expert,.rating-song-stage.diff-expert{--rating-card-accent: var(--diff-expert)}.rating-song-card.diff-master,.rating-song-stage.diff-master{--rating-card-accent: var(--diff-master)}.rating-song-card.diff-remaster,.rating-song-stage.diff-remaster{--rating-card-accent: var(--diff-remaster)}.rating-song-card.diff-unknown,.rating-song-stage.diff-unknown{--rating-card-accent: var(--muted)}.rating-song-jacket-wrap{position:absolute;inset:0}.rating-song-jacket-wrap>div{position:absolute;inset:0}.rating-song-jacket-wrap .jacket.rating-song-jacket{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;border-radius:0;object-fit:contain;background:#ffffff05}.rating-song-stage-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0000000a 0% 36%,#000c);pointer-events:none}.rating-song-stage-topline{position:absolute;top:8px;left:8px;right:8px;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:700;color:#f8fafcf5;text-transform:uppercase;letter-spacing:.05em;font-family:inherit}.rating-song-stage-topline span{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:2px;background:#00000094;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rating-song-stage-badges{position:absolute;left:8px;right:70px;bottom:8px;z-index:1;display:flex;flex-wrap:wrap;gap:5px}.rating-song-stage-badges .chart-type-badge,.rating-difficulty-chip{min-height:21px;padding:0 7px;border-radius:2px;border:1px solid rgba(255,255,255,.15);background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;font-weight:700;line-height:1.1;color:#111}.rating-difficulty-chip{display:inline-flex;align-items:center}.rating-song-rating-chip{position:absolute;right:8px;bottom:8px;z-index:1;display:flex;align-items:center;justify-content:center;padding:7px 8px;border-radius:2px;background:#000000ad;border:1px solid rgba(255,255,255,.12);color:#f8fafc;text-align:right}.rating-song-rating-chip strong{font-family:inherit;font-size:1rem;line-height:1;font-weight:600}.rating-song-info{display:grid;gap:6px;padding:10px 10px 12px;min-height:120px;background:var(--panel)}.rating-song-info h3{margin:0;font-size:.92rem;line-height:1.3;overflow-wrap:anywhere;color:var(--ink)}.rating-song-level-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.rating-song-stat-grid{position:relative;display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:0;margin-top:auto;margin-left:-10px;margin-right:-10px;padding-top:8px;border-top:1px solid var(--line)}.rating-song-stat-grid:before,.rating-song-stat-grid:after{content:"";position:absolute;top:calc(50% + 4px);width:1px;height:12px;background:var(--line);transform:translate(-50%,-50%)}.rating-song-stat-grid:before{left:50%}.rating-song-stat-grid:after{left:75%}.rating-song-stat{display:flex;align-items:center;justify-content:center;min-width:0;min-height:22px;padding:0 6px;text-align:center;overflow:hidden}.rating-song-stat strong{display:block;width:100%;font-family:inherit;font-size:.73rem;font-weight:500;line-height:1.05;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em;color:var(--ink-dim)}.table-wrap{border:1px solid var(--line);border-radius:2px;overflow-x:auto;overflow-y:auto;max-height:70vh;-webkit-overflow-scrolling:touch;background:var(--panel)}.explorer-table-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 28px)}.explorer-table-panel .table-wrap{min-height:0;height:100%;max-height:none}.table-loading-state{padding:8px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,var(--panel));color:var(--muted);font-size:12px;font-weight:600;font-family:inherit;letter-spacing:.02em}table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.score-table,.playlog-table{width:max-content;min-width:100%;table-layout:fixed}thead{position:sticky;top:0;z-index:2}th{background:var(--table-header-bg);color:var(--muted);border-bottom:1px solid var(--line-strong);text-align:left;padding:8px;white-space:normal;overflow-wrap:anywhere;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}th.sortable{cursor:pointer}.th-sort-button{height:auto;border:0;padding:0;margin:0;display:inline-flex;align-items:center;gap:5px;background:transparent;color:inherit;font-weight:700;font-size:inherit;letter-spacing:inherit;text-transform:inherit;line-height:1.25;border-radius:0}.th-sort-button:hover{border-color:transparent;background:transparent;color:var(--accent)}.sort-indicator{color:var(--accent);font-size:10px;opacity:.8}td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top;white-space:normal;overflow-wrap:anywhere;color:var(--ink-dim)}.compact-table{font-size:12px}.compact-table th,.compact-table td{padding:6px}tbody tr{transition:background 80ms ease}tbody tr:hover{background:#e090000a}tbody tr:last-child td{border-bottom:none}.jacket{display:block;width:50px;height:50px;border-radius:2px;object-fit:cover;border:1px solid var(--line-strong)}.jacket.fallback{display:grid;place-items:center;background:var(--panel-raised);font-weight:700;color:var(--muted)}.title-cell{display:grid;gap:3px;min-width:0}.title-cell-subtitle{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.link-button{height:auto;border:0;padding:0;background:transparent;color:var(--accent);font-weight:600;text-align:left;max-width:100%;line-height:1.35;white-space:normal;overflow-wrap:anywhere;border-radius:0}.link-button:hover{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;background:transparent;border-color:transparent}.achievement-history-button{height:auto;min-height:0;border:0;padding:0;background:transparent;color:var(--accent);font-weight:600;font-family:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:0}.achievement-history-button:hover{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;background:transparent;border-color:transparent}.achievement-value-button{height:auto;min-height:0;display:inline-flex;justify-content:center;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-family:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:0}.achievement-value-button:hover{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;background:transparent;border-color:transparent}.achievement-value-button .achievement-value{justify-content:center}.detail-content{display:grid;gap:10px}.detail-header{display:flex;gap:10px;justify-content:space-between;align-items:center}.detail-song-summary{display:flex;align-items:center;gap:12px;min-width:0}.detail-song-summary strong{line-height:1.35}.detail-aliases{margin-top:2px;overflow-wrap:anywhere}.detail-jacket{width:68px;height:68px;flex-shrink:0}.history-modal{width:min(1180px,100%)}.history-summary-copy{display:grid;gap:6px;min-width:0}.history-badges{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.history-chart-panel{position:relative;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-raised) 75%,transparent),transparent 42%),var(--panel);padding:16px;overflow:hidden}.history-chart-stage{border:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);border-radius:14px;background:radial-gradient(circle at top,color-mix(in srgb,var(--accent) 12%,transparent),transparent 54%),linear-gradient(180deg,color-mix(in srgb,var(--panel-raised) 90%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));padding:10px 8px 0;overflow:hidden}.history-chart{display:block;width:100%;min-width:0;height:auto}.history-grid line{stroke:var(--history-grid-stroke);stroke-width:1}.history-grid text{fill:var(--muted);font-size:11px}.history-axis{stroke:var(--line-strong);stroke-width:1.2}.history-axis-label{fill:var(--ink-dim);font-size:12px;font-weight:700}.history-line-stop-start{stop-color:color-mix(in srgb,var(--accent) 70%,white)}.history-line-stop-end{stop-color:var(--accent)}.history-area-stop-start{stop-color:color-mix(in srgb,var(--accent) 28%,transparent)}.history-area-stop-end{stop-color:transparent}.history-area{fill:url(#history-area-gradient)}.history-line{stroke:url(#history-line-gradient);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.history-point{fill:color-mix(in srgb,var(--panel) 58%,white 42%);stroke:var(--accent);stroke-width:2.4;cursor:pointer;vector-effect:non-scaling-stroke;transition:fill .16s ease,stroke .16s ease,r .16s ease}.history-point-hit{fill:transparent;cursor:pointer}.history-point-glow{fill:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none}.history-point-active{fill:color-mix(in srgb,white 92%,var(--accent) 8%);stroke:color-mix(in srgb,var(--accent) 84%,white)}.history-tooltip-connector{stroke:color-mix(in srgb,var(--accent) 45%,white 10%);stroke-width:1.2}.history-tooltip-card{display:grid;gap:8px;height:100%;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line-strong));border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-raised) 90%,transparent),color-mix(in srgb,var(--panel) 96%,transparent)),radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 8%,transparent),transparent 52%);box-shadow:0 14px 24px #0000004d,inset 0 1px #ffffff0a;overflow:hidden;pointer-events:none}.history-tooltip-value{color:var(--ink);font-size:.98rem;font-weight:650;line-height:1.1;letter-spacing:-.015em;font-variant-numeric:tabular-nums;white-space:nowrap}.history-tooltip-time{color:var(--ink-dim);font-size:11px;font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-active-guide{stroke:color-mix(in srgb,var(--accent) 32%,transparent);stroke-width:1.2;stroke-dasharray:4 4}.history-point:focus-visible{outline:none;stroke:var(--ink);fill:color-mix(in srgb,white 90%,var(--accent) 10%)}.score-table .title-col,.playlog-table .title-col{width:22%}.score-table .title-col{min-width:50ch;width:50ch}.playlog-table .title-col{min-width:28ch;width:28ch}.score-table .jacket-col,.playlog-table .jacket-col{width:60px}.score-table .chart-col,.playlog-table .chart-col{width:5.5ch}.score-table .level-col,.playlog-table .level-col{width:8ch}.score-table .achievement-col,.playlog-table .achievement-col{width:9ch}.score-table .rating-col,.playlog-table .rating-col{width:7ch}.score-table .rank-col,.playlog-table .rank-col{width:6.5ch}.score-table .fc-col,.playlog-table .fc-col{width:5.5ch}.score-table .sync-col,.playlog-table .sync-col{width:6ch}.score-table .dx-col,.playlog-table .dx-col{width:14ch}.score-table .last-played-col{width:15ch}.playlog-table .played-at-col{width:13ch}.playlog-table .track-col{width:4ch}.playlog-table .chart-col{width:5ch}.playlog-table .achievement-col{width:16ch;text-align:center;white-space:nowrap}.playlog-table .dx-col{width:13ch}.playlog-table .credit-col{width:7ch}.score-table .play-count-col,.playlog-table .play-count-col{width:8ch}.score-table .version-col{width:11ch}.score-table th:not(.title-col),.score-table td:not(.title-col),.score-table th:not(.title-col) .th-sort-button,.playlog-table th:not(.title-col),.playlog-table td:not(.title-col),.playlog-table th:not(.title-col) .th-sort-button{white-space:nowrap;overflow-wrap:normal;word-break:normal}.score-table th.title-col,.score-table td.title-col,.score-table .title-col .th-sort-button,.score-table .title-col .link-button,.playlog-table th.title-col,.playlog-table td.title-col,.playlog-table .title-col .th-sort-button,.playlog-table .title-col .link-button{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.score-table .chart-col,.score-table .level-col,.score-table .rating-col,.score-table .rank-col,.score-table .fc-col,.score-table .sync-col,.score-table .play-count-col,.playlog-table .credit-col,.playlog-table .track-col,.playlog-table .chart-col,.playlog-table .level-col,.playlog-table .rating-col,.playlog-table .rank-col,.playlog-table .fc-col,.playlog-table .sync-col{text-align:center;white-space:nowrap}.achievement-value{display:inline-flex;justify-content:flex-start;width:10ch;font-family:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}.achievement-value--empty{color:var(--muted)}.achievement-value--new{font-weight:600;color:var(--accent)}.modal-backdrop{position:fixed;inset:0;background:#000000b8;display:grid;place-items:center;padding:20px;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:min(1100px,100%);max-height:88vh;overflow:auto;box-shadow:0 32px 64px #00000080}.modal-close-button{font-size:.875rem;flex-shrink:0}.modal-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.modal-refresh-button{font-size:.875rem}.server-modal{width:min(860px,100%)}.error-inline{margin:0;color:var(--diff-expert);font-weight:700}.muted{color:var(--muted);font-size:12px}.estimated-level{display:inline-flex;align-items:baseline}.estimated-level-fraction{color:var(--muted)}.error-banner{padding:10px 14px;border-radius:2px;border:1px solid rgba(244,112,112,.25);background:#f470700f;color:var(--diff-expert);font-weight:600;font-size:13px}.warning-banner{padding:10px 14px;border-radius:2px;border:1px solid rgba(224,144,0,.24);background:#e0900014;color:var(--accent);font-weight:600;font-size:13px}.footer-note{color:var(--muted);font-size:13px;line-height:1.5;display:grid;gap:4px;padding:4px 2px 20px}.picker-layout{display:grid;grid-template-columns:var(--desktop-sidebar-width) minmax(0,1fr);gap:14px;align-items:start}.picker-control-column{display:grid;gap:10px;align-self:start}.picker-control-panel{gap:10px}.picker-filter-launcher{min-width:80px}.picker-summary-row{display:flex;flex-wrap:wrap;gap:6px}.picker-range-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.picker-range-card{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:2px;background:var(--chip)}.picker-range-card span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.picker-range-editor{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;align-items:center}.picker-range-editor button{height:32px;padding:0;border-radius:2px;font-size:16px}.picker-range-editor input{height:32px;padding:0 8px;text-align:center;font-family:inherit;font-size:1.05rem;border:1px solid var(--line-strong);background:var(--bg)}.picker-filter-option.active{background:var(--accent);border-color:var(--accent-2);color:var(--accent-fg)}.picker-random-button{height:48px;border-radius:2px;border:1px solid var(--accent-2);font-family:Pretendard Variable,Pretendard,sans-serif;font-size:.88rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-fg);background:var(--accent);transition:background .12s ease,border-color .12s ease}.picker-random-button:hover,.picker-random-button:focus-visible{color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 88%,white);border-color:var(--accent)}.picker-random-button:active{color:var(--accent-fg);background:var(--accent-2);border-color:var(--accent-2)}.picker-result-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:560px}.picker-result-stage{display:grid;place-items:center;min-height:0;padding:4px 0}.picker-state-card,.picker-song-card{min-height:0}.picker-state-card{display:grid;align-content:center;justify-items:start;gap:10px;padding:20px;border-radius:2px;border:1px solid var(--line);background:radial-gradient(circle at top left,rgba(160,122,232,.08),transparent 50%),var(--panel)}.picker-state-card h3{font-size:clamp(1.4rem,3vw,1.9rem)}.picker-state-card p{max-width:32rem;color:var(--muted);line-height:1.6}.picker-state-card.error{background:#f470700a}.picker-song-card{--picker-accent: var(--accent);display:grid;grid-template-rows:auto auto;gap:0;width:min(100%,520px);padding:0;border-radius:2px;border:1px solid var(--line-strong);border-top:2px solid var(--picker-accent);background:var(--panel);overflow:hidden}.picker-song-stage{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:color-mix(in srgb,var(--picker-accent) 10%,#0a0a12)}.picker-jacket{width:100%;height:100%;border-radius:0;object-fit:contain;background:#ffffff05;border:0}.picker-stage-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0000,#0000000f 62%,#000000c2);pointer-events:none}.picker-stage-badges{position:absolute;left:0;right:0;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;bottom:10px;padding:0 10px}.picker-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:2px;background:#ffffffe0;color:#111;font-size:10px;font-weight:700}.picker-badge.difficulty{background:color-mix(in srgb,var(--picker-accent) 16%,white)}.picker-badge.muted{color:#555}.picker-song-info{display:grid;gap:4px;padding:10px 12px 12px;min-height:118px;background:var(--panel)}.picker-song-info h3{font-size:clamp(1.05rem,4.5vw,1.35rem);line-height:1.2;color:var(--ink)}.picker-level-line{color:var(--accent);font-size:13px;font-weight:700}.picker-level-line.diff-basic{color:var(--diff-basic)}.picker-level-line.diff-advanced{color:var(--diff-advanced)}.picker-level-line.diff-expert{color:var(--diff-expert)}.picker-level-line.diff-master{color:var(--diff-master)}.picker-level-line.diff-remaster{color:var(--diff-remaster)}.picker-pool-line,.picker-meta-line{color:var(--muted);font-size:11px;line-height:1.4}.picker-achievement-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.picker-achievement-row strong{font-family:inherit;font-size:1.3rem;color:var(--ink)}.picker-achievement-row span{font-size:.9rem;font-weight:700}.picker-achievement-row.is-empty strong,.picker-achievement-row.is-empty span,.picker-meta-line.is-empty{color:var(--muted)}.picker-tag-row{display:flex;gap:5px;margin-left:auto}.picker-tag-row em{font-style:normal;min-height:18px;display:inline-flex;align-items:center;padding:0 6px;border-radius:2px;background:#e0900014;border:1px solid rgba(224,144,0,.2);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.02em}.picker-filter-modal{width:min(720px,100%)}.picker-song-card--placeholder .picker-song-stage{background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.04),transparent 22%),var(--stage-placeholder-bg, #0d0d14)}.picker-stage-placeholder{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:18px}.picker-stage-placeholder h3{color:#dcdce880;font-size:clamp(1.1rem,4vw,1.4rem);text-align:center}.picker-song-info--placeholder{align-content:start}.picker-song-info--placeholder p{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.picker-skeleton{border-radius:2px;background:linear-gradient(90deg,var(--skeleton-from, #1a1a24) 0%,var(--skeleton-mid, #222230) 50%,var(--skeleton-from, #1a1a24) 100%);background-size:200% 100%;animation:picker-skeleton-shimmer 1.6s linear infinite}.picker-skeleton-title{width:72%;height:22px;border-radius:2px}.picker-skeleton-subtitle{width:52%;height:14px}.picker-skeleton-pool{width:68%;height:14px}.picker-skeleton-meta{width:64%;height:14px}.picker-skeleton-stats{width:88%;height:22px;border-radius:2px}@keyframes picker-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.picker-filter-menu{width:min(420px,100%)}.picker-filter-sections{display:grid;gap:14px}.picker-filter-section{display:grid;gap:8px}.picker-filter-section .chip-row{gap:7px}.picker-version-launcher{height:auto;min-height:60px;padding:10px 12px;display:grid;justify-items:start;gap:3px;text-align:left;border-radius:2px}.picker-version-launcher strong{font-size:14px;font-weight:600;color:var(--ink)}.picker-version-launcher span{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.picker-filter-error{margin:0;font-size:12px;color:var(--diff-expert);line-height:1.45}.picker-filter-toolbar{display:flex;gap:8px;justify-content:flex-end}.picker-filter-option-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.picker-filter-option{height:auto;min-height:66px;padding:10px 12px;display:grid;justify-items:start;gap:4px;text-align:left;border-radius:2px}.picker-filter-option small{color:inherit;opacity:.7}.settings-field-group{display:grid;gap:8px}.settings-warning{font-size:.82rem;color:var(--diff-advanced);background:#f0b42912;border:1px solid rgba(240,180,41,.2);border-radius:2px;padding:6px 10px;line-height:1.5}.settings-meta{font-size:.82rem;color:var(--muted)}.settings-divider{border:none;border-top:1px solid var(--line);margin:4px 0}.settings-log-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.settings-log-header button{white-space:nowrap}.settings-log-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.settings-log-shell{min-height:240px;border:1px solid var(--line);background:#080a14e0;border-radius:2px;overflow:auto}.settings-log-output,.settings-log-empty{margin:0;padding:12px 14px;font-size:.78rem;line-height:1.65;font-family:SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;color:#d7e2f0}.settings-log-output{white-space:pre-wrap;word-break:break-word}.settings-log-empty{color:#90a4ba}.app-nav-list button:disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.home-content{display:flex;flex-direction:column;gap:14px;min-height:calc(100dvh - 28px)}.home-hero{display:grid;gap:16px;padding:4px 0}.home-hero-identity{display:flex;align-items:center;gap:9px}.home-logo{width:28px;height:28px;object-fit:contain}.home-wordmark{font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.home-tagline{font-size:1.25rem;font-weight:600;line-height:1.45;color:var(--ink)}.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-card{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:2px}.home-card-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.home-card p{color:var(--muted);font-size:.86rem;line-height:1.6;margin:0}.home-card-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border:1px solid var(--line-strong);background:var(--chip);color:var(--ink);text-decoration:none;font-size:.84rem;font-weight:600;border-radius:2px;margin-top:4px;width:fit-content}.home-card-link:hover{border-color:var(--accent);color:var(--accent);background:var(--chip)}.home-card-link-discord{border-color:#5865f259;background:#5865f214;color:#a5b4fc}.home-card-link-discord:hover{border-color:#5865f299;background:#5865f224;color:#c7d2fe}@media(max-width:600px){.home-cards{grid-template-columns:1fr}.home-card-link{width:100%;justify-content:center}}.home-footer{margin-top:auto;padding:14px 0 8px;border-top:1px solid var(--line);display:grid;gap:10px}.home-footer-credits{margin:0;padding:0 0 0 16px;display:grid;gap:3px;color:var(--muted);font-size:.75rem;line-height:1.6}.home-footer-credits a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.home-footer-credits a:hover{color:var(--ink-dim)}.home-footer-copyright{font-size:.75rem;color:var(--muted);line-height:1.65}.home-footer-copyright a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.home-footer-copyright a:hover{color:var(--ink-dim)}.home-connected-badge{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:2px;background:#4cc8740f;border:1px solid rgba(76,200,116,.2);font-size:.88rem;color:var(--diff-basic)}.home-connected-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--diff-basic);flex-shrink:0}.home-goto-btn{height:26px;padding:0 12px;border-radius:2px;background:#4cc87414;border-color:#4cc87440;color:var(--diff-basic);font-size:.82rem;font-weight:700}.home-goto-btn:hover{background:#4cc87424;border-color:#4cc87459;color:var(--diff-basic)}.home-connect-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.home-url-field{display:grid;gap:6px}.home-url-field span{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.home-url-field input{width:100%}.home-connect-btn{background:var(--accent);border-color:var(--accent-2);color:var(--accent-fg);font-weight:700;white-space:nowrap;font-size:.88rem}.home-connect-btn:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2);color:var(--accent-fg)}.home-connect-btn:disabled{opacity:.4;cursor:not-allowed}.home-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.88rem;padding:8px 12px;border-radius:2px;line-height:1.5}.home-status-error{background:#f470700f;border:1px solid rgba(244,112,112,.2);color:var(--diff-expert)}.home-status-success{background:#4cc8740f;border:1px solid rgba(76,200,116,.2);color:var(--diff-basic)}.home-status-warning{background:#e0900014;border:1px solid rgba(224,144,0,.2);color:var(--accent)}.home-steps{display:grid;gap:18px}.home-step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start}.home-step-num{width:26px;height:26px;border-radius:2px;background:#e090001a;border:1px solid rgba(224,144,0,.22);color:var(--accent);font-family:inherit;font-size:.78rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.home-step-body{display:grid;gap:8px}.home-step-body strong{font-size:.93rem;color:var(--ink)}.home-step-body p{color:var(--muted);font-size:.88rem;line-height:1.6}.home-code{margin:0;padding:12px 14px;background:var(--bg);border:1px solid var(--line-strong);border-radius:2px;font-family:SFMono-Regular,SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;line-height:1.6;overflow-x:auto;white-space:pre;color:var(--code-color)}@media(max-width:1200px){.app-sidebar-inline{display:none}.app-sidebar{position:static}.app-nav{display:grid}.explorer-layout{grid-template-columns:1fr}.table-column{order:1}.sidebar-column{display:none}.picker-layout,.rating-table-column{grid-template-columns:1fr}.explorer-table-panel{min-height:auto}.explorer-table-panel .table-wrap{height:auto}.sidebar-column .panel{position:static;max-height:none;overflow:visible}.sidebar-column,.picker-control-column{position:static;top:auto;max-height:none;overflow:visible}.mobile-filter-fab{position:fixed;right:16px;bottom:16px;z-index:35;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(224,144,0,.35);border-radius:999px;background:#111116f2;color:var(--accent);box-shadow:0 12px 24px #00000061}.mobile-filter-fab svg{width:20px;height:20px}.panel.mobile-search-panel{display:grid}.mobile-filter-backdrop{z-index:55;align-items:end;padding:0}.mobile-filter-modal{width:100%;max-width:none;max-height:86vh;border-radius:8px 8px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.mobile-filter-modal .panel{margin-top:0}.server-grid,.range-grid,.range-grid.compact,.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1201px){.app-sidebar{display:none}}@media(max-width:740px){.title-cell-subtitle{display:none}.app-shell{padding:8px}.brand-copy p{display:none}.app-player-summary-shell{justify-items:start}.app-player-summary-status{text-align:left}.app-nav{gap:5px}.app-nav-trigger{display:grid}.app-nav-list-desktop{display:none}.app-nav-list-mobile{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:20;padding:5px;border:1px solid var(--line-strong);border-radius:2px;background:var(--panel);box-shadow:0 16px 40px #0006}.app-nav-list-mobile.is-open{display:grid}.app-nav-list-mobile button{min-height:34px}.panel{padding:10px}.server-grid,.range-grid,.range-grid.compact,.toggle-grid,.search-submit-row{grid-template-columns:1fr}.home-content{min-height:calc(100dvh - 16px)}.table-wrap{max-height:none;overflow-y:visible}table{width:max-content;min-width:100%;table-layout:auto}.compact-table{font-size:11px}.compact-table th,.compact-table td{padding:6px 8px}.score-table .title-col,.playlog-table .title-col{min-width:14rem;width:14rem}.score-table .dx-col,.playlog-table .dx-col{min-width:11rem}.score-table .last-played-col,.playlog-table .played-at-col{min-width:9rem}.jacket{width:42px;height:42px}.picker-jacket{width:100%;height:100%}.picker-range-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.picker-range-card{padding:7px}.picker-range-editor{grid-template-columns:26px minmax(0,1fr) 26px;gap:3px}.picker-range-editor button,.picker-range-editor input{height:28px}.picker-range-editor input{padding:0 2px;font-size:.92rem}.picker-result-panel{min-height:0}.picker-result-stage{padding:2px 0}.picker-song-card{width:min(100%,calc(100vw - 20px))}.rating-song-info{min-height:0}.rating-song-stat-grid{margin-left:-10px;margin-right:-10px}.rating-song-stat{min-height:22px;padding:0 5px}.rating-song-stat strong{font-size:.64rem;letter-spacing:-.04em}}@media(max-width:480px){.rating-song-stat-grid{margin-left:-8px;margin-right:-8px}.rating-song-stat{min-height:20px;padding:0 3px}.rating-song-stat strong{font-size:.58rem;letter-spacing:-.05em}}.playlog-day-filter{display:grid;gap:8px}.playlog-day-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.playlog-day-toggle input{width:16px;height:16px;margin:0}.playlog-day-filter-summary{margin:0;font-size:12px;color:var(--ink-dim)}.playlog-special-filters,.score-special-filters{display:grid;gap:8px}.playlog-special-toggle,.score-special-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.playlog-special-toggle input,.score-special-toggle input{width:16px;height:16px;margin:0}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .picker-stage-placeholder h3{color:var(--muted)}}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f0f0ec;--panel: #fafaf8;--panel-raised: #ebebea;--ink: #18181e;--ink-dim: #48485a;--muted: #78789a;--accent: #a06600;--accent-2: #875500;--accent-fg: #ffffff;--line: #e2e2d8;--line-strong: #ccccc0;--chip: #eaeae6;--chip-active: #a06600;--diff-basic: #2d8a48;--diff-advanced: #a07818;--diff-expert: #cc4040;--diff-master: #6848c0;--diff-remaster: #8060cc;--chart-std: #3080b8;--chart-dx: #607098;--grid-line: rgba(0, 0, 0, .05);--table-header-bg: #e6e6e2;--history-grid-stroke: rgba(0, 0, 0, .07);--code-color: #2a7a36;--stage-placeholder-bg: #d8d8d4;--skeleton-from: #deded8;--skeleton-mid: #d0d0ca}}[data-theme=light] .picker-stage-placeholder h3{color:var(--muted)}[data-theme=light]{color-scheme:light;--bg: #f0f0ec;--panel: #fafaf8;--panel-raised: #ebebea;--ink: #18181e;--ink-dim: #48485a;--muted: #78789a;--accent: #a06600;--accent-2: #875500;--accent-fg: #ffffff;--line: #e2e2d8;--line-strong: #ccccc0;--chip: #eaeae6;--chip-active: #a06600;--diff-basic: #2d8a48;--diff-advanced: #a07818;--diff-expert: #cc4040;--diff-master: #6848c0;--diff-remaster: #8060cc;--chart-std: #3080b8;--chart-dx: #607098;--grid-line: rgba(0, 0, 0, .05);--table-header-bg: #e6e6e2;--history-grid-stroke: rgba(0, 0, 0, .07);--code-color: #2a7a36;--stage-placeholder-bg: #d8d8d4;--skeleton-from: #deded8;--skeleton-mid: #d0d0ca}.scatter-plot-layout{display:grid;grid-template-columns:var(--desktop-sidebar-width) minmax(0,1fr);gap:14px;align-items:start}.scatter-plot-sidebar{display:grid;gap:10px;align-self:start}.scatter-plot-section{padding:24px}@media(max-width:960px){.scatter-plot-layout{grid-template-columns:1fr}.scatter-plot-sidebar{position:static;top:auto;max-height:none;overflow:visible}}.scatter-plot-description{margin-bottom:16px}.scatter-plot-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.scatter-plot-label{display:flex;align-items:center;gap:6px}.scatter-plot-label-text{font-size:.85rem;color:var(--text-muted)}.scatter-plot-input{width:7ch;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.9rem;font-variant-numeric:tabular-nums}.scatter-plot-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.scatter-plot-summary{font-size:.85rem}.scatter-plot-empty{padding:48px 0;text-align:center}.scatter-plot-chart-container{border-radius:8px;overflow-x:auto;overflow-y:hidden}.scatter-plot-chart-container .modebar{opacity:.5}.scatter-plot-chart-container .modebar:hover{opacity:1}@media(max-width:640px){.scatter-plot-section{padding:16px}.scatter-plot-controls{gap:10px}}
