:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7f8;--surface:#fff;--surface-muted:#e9eef1;--line:#c8d2d8;--text:#172026;--muted:#63717a;--accent:#4f5961;--accent-weak:#eef1f3;--danger:#b85042;--label-width:142px;--score-stage-width:2400px;--score-scroll-width:2400px;--score-stage-height:1400px;--score-viewport-height:1400px;--score-roll-background:#525252;--menu-height:112px;--menu-area-max-height:none;--edit-panel-max-height:224px;--ui-control-height:30px;--ui-small-control-height:24px;--ui-panel-radius:8px;--ui-control-radius:6px;--ui-gap:8px;--ui-compact-gap:6px;--ui-panel-padding-y:8px;--ui-panel-padding-x:10px;--ui-font-size:12px;--ui-small-font-size:11px;--ui-micro-font-size:10px;--status-height:28px;font-family:Arial,Noto Sans KR,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,select,input[type=text],input[type=number]{min-height:var(--ui-control-height);border:1px solid var(--line);border-radius:var(--ui-control-radius);background:var(--surface);color:var(--text)}button{padding:0 var(--ui-panel-padding-x);cursor:pointer}.toggle-button{min-height:var(--ui-control-height);padding:0 var(--ui-panel-padding-x);border:1px solid var(--line);border-radius:var(--ui-control-radius);background:var(--surface);color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:flex}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.48}.mode-toggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.app-shell{grid-template-rows:auto auto minmax(0, 1fr) var(--status-height);width:100%;height:100vh;display:grid;overflow:hidden}.app-shell:fullscreen{background:var(--bg);width:100vw;height:100vh}.menu-area{min-height:var(--menu-height);max-height:var(--menu-area-max-height);border-bottom:1px solid var(--line);background:var(--surface);z-index:80;grid-row:1;grid-template-columns:minmax(0,.95fr) minmax(0,1.55fr) minmax(0,.85fr);align-items:start;gap:12px;padding:10px 14px;display:grid;overflow:visible}:is(.menu-area:has(.menu-dropdown:hover),.menu-area:has(.menu-dropdown:focus-within)){z-index:300;overflow:visible}.app-shell[data-menu-theme=dark] .menu-area{color:#edf4f7;background:#182229;border-bottom-color:#2f3d46}.app-shell[data-menu-theme=dark] .menu-area .menu-trigger,.app-shell[data-menu-theme=dark] .menu-area .toggle-button,.app-shell[data-menu-theme=dark] .menu-area button,.app-shell[data-menu-theme=dark] .menu-area select,.app-shell[data-menu-theme=dark] .menu-area input{color:#edf4f7;background:#25313a;border-color:#465966}.app-shell[data-menu-theme=dark] .menu-area .menu-panel,.app-shell[data-menu-theme=dark] .menu-area .player-group,.app-shell[data-menu-theme=dark] .menu-area .youtube-player-shell{background:#202a32;border-color:#465966;box-shadow:0 10px 24px #00000057}.app-shell[data-menu-theme=dark] .menu-area .menu-dropdown:hover>.menu-trigger,.app-shell[data-menu-theme=dark] .menu-area .menu-dropdown:focus-within>.menu-trigger,.app-shell[data-menu-theme=dark] .menu-area .toggle-button:hover{background:#30414d;border-color:#7f98a8}.app-shell[data-menu-theme=dark] .menu-area .left-status-line,.app-shell[data-menu-theme=dark] .menu-area .compact-field,.app-shell[data-menu-theme=dark] .menu-area .switch-field,.app-shell[data-menu-theme=dark] .menu-area .inline-field,.app-shell[data-menu-theme=dark] .menu-area .micro-label,.app-shell[data-menu-theme=dark] .menu-area .music-meta{color:#b8c7cf}.app-shell[data-menu-theme=dark] .menu-area .music-meta .title,.app-shell[data-menu-theme=dark] .menu-area .pill-toggle.on{color:#f5fafc}.app-shell[data-menu-theme=dark] .menu-area .status-pill,.app-shell[data-menu-theme=dark] .menu-area .preview-pill,.app-shell[data-menu-theme=dark] .menu-area .pill-toggle.off{color:#b8c7cf;background:#2b3740;border-color:#465966}.app-shell[data-menu-theme=dark] .menu-area .youtube-toggle:checked+.youtube-switch{color:#111820;background:#f8fbfd;border-color:#dbe6ec;box-shadow:inset 0 0 0 1px #dbe6ec,0 1px 6px #00000052}.app-shell[data-menu-theme=dark] .menu-area .player-main{background:#1f2931;border-color:#465966}.app-shell[data-menu-theme=dark] .menu-area .practice-mode-button{color:#c9f0d8;background:#20382c;border-color:#557b68}.app-shell[data-menu-theme=dark] .menu-area .practice-mode-button.on{background:#294b39;border-color:#7fa890;box-shadow:inset 0 0 0 1px #7fa890}.app-shell[data-menu-theme=dark] .menu-area .game-panel{background:#1d2c25;border-color:#466855}.app-shell[data-menu-theme=dark] .menu-area .game-panel[data-state=error]{background:#332525;border-color:#8f5a5a}.app-shell[data-menu-theme=dark] .menu-area .game-panel[data-judge-mode=pro]{background:#321f22;border-color:#955656}.app-shell[data-menu-theme=dark] .menu-area .game-panel[data-judge-mode=easy]{background:#1c283a;border-color:#4f6f9a}.app-shell[data-menu-theme=dark] .menu-area .game-rules-button,.app-shell[data-menu-theme=dark] .menu-area .game-sync-button,.app-shell[data-menu-theme=dark] .menu-area .game-mode-control,.app-shell[data-menu-theme=dark] .menu-area .game-mode-button,.app-shell[data-menu-theme=dark] .menu-area .game-notice,.app-shell[data-menu-theme=dark] .menu-area .game-diagnostic-line span,.app-shell[data-menu-theme=dark] .menu-area .game-score-grid span{background:#25372f;border-color:#466855}.app-shell[data-menu-theme=dark] .menu-area .game-rules-button,.app-shell[data-menu-theme=dark] .menu-area .game-sync-button,.app-shell[data-menu-theme=dark] .menu-area .game-mode-button{color:#d7f3df}.app-shell[data-menu-theme=dark] .menu-area .game-mode-button[data-judge-mode=easy].on{color:#dbeafe;background:#263d62;border-color:#89b4ff;box-shadow:inset 0 0 0 1px #89b4ff}.app-shell[data-menu-theme=dark] .menu-area .game-mode-button[data-judge-mode=standard].on{color:#def7e8;background:#294b39;border-color:#7fa890;box-shadow:inset 0 0 0 1px #7fa890}.app-shell[data-menu-theme=dark] .menu-area .game-mode-button[data-judge-mode=pro].on{color:#ffdede;background:#4a2428;border-color:#ef8c8c;box-shadow:inset 0 0 0 1px #ef8c8c}.app-shell[data-menu-theme=dark] .menu-area .game-notice,.app-shell[data-menu-theme=dark] .menu-area .game-diagnostic-line,.app-shell[data-menu-theme=dark] .menu-area .game-score-grid{color:#b7c9bf}.app-shell[data-menu-theme=dark] .menu-area .game-diagnostic-line strong,.app-shell[data-menu-theme=dark] .menu-area .game-score-grid strong{color:#f1f8f4}.app-shell[data-menu-theme=dark] .menu-area .game-total-grid{border-top-color:#466855}.app-shell[data-menu-theme=dark] .menu-area .game-panel[data-judge-mode=pro] .game-total-grid{border-top-color:#8f5a5a}.app-shell[data-menu-theme=dark] .menu-area .game-panel[data-judge-mode=easy] .game-total-grid{border-top-color:#4f6f9a}.app-shell[data-menu-theme=dark] .edit-panel{color:#edf4f7;background:#162028;border-bottom-color:#2f3d46}.app-shell[data-menu-theme=dark] .edit-card{background:#202a32;border-color:#465966}.app-shell[data-menu-theme=dark] .edit-card-title,.app-shell[data-menu-theme=dark] .edit-help,.app-shell[data-menu-theme=dark] .edit-panel .micro-label,.app-shell[data-menu-theme=dark] .edit-panel .inline-field,.app-shell[data-menu-theme=dark] .edit-panel .stacked-field{color:#b8c7cf}.app-shell[data-menu-theme=dark] .edit-panel button,.app-shell[data-menu-theme=dark] .edit-panel select,.app-shell[data-menu-theme=dark] .edit-panel input{color:#edf4f7;background:#25313a;border-color:#465966}.app-shell[data-menu-theme=dark] .edit-panel input::placeholder{color:#8da0ab}.app-shell[data-menu-theme=dark] .edit-panel .preview-pill,.app-shell[data-menu-theme=dark] .edit-panel .pill-toggle.off{color:#b8c7cf;background:#2b3740;border-color:#465966}.app-shell[data-menu-theme=dark] .edit-panel .pill-toggle.on{color:#f5fafc;background:#344653;border-color:#6f8796}.left-tool-group{grid-template-rows:var(--ui-control-height) var(--ui-control-height) minmax(16px, auto);align-items:stretch;gap:var(--ui-compact-gap);min-width:0;display:grid}.left-status-line{min-width:0;min-height:16px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:11px;line-height:16px;overflow:hidden}.left-status-line[data-level=warning]{color:#8a6f24}.left-status-line[data-level=error]{color:var(--danger)}.tool-menu-row,.tool-action-row{gap:var(--ui-gap);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid}.menu-dropdown{z-index:40;min-width:0;position:relative}.menu-dropdown:hover,.menu-dropdown:focus-within{z-index:120}.menu-trigger{width:100%;height:var(--ui-control-height);border:1px solid var(--line);border-radius:var(--ui-control-radius);background:var(--surface-muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(var(--ui-small-font-size), 1.05vw, 14px);justify-content:center;align-items:center;padding:0 clamp(4px,.75vw,12px);display:flex;overflow:hidden}.tool-action-row .toggle-button,.tool-action-row>.menu-trigger{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;font-size:clamp(11px,1.05vw,14px);overflow:hidden}.menu-dropdown:hover>.menu-trigger,.menu-dropdown:focus-within>.menu-trigger{border-color:var(--accent);background:var(--accent-weak)}.menu-panel{top:var(--ui-control-height);z-index:400;gap:var(--ui-gap);min-width:190px;padding:calc(var(--ui-panel-padding-y) + 6px) var(--ui-panel-padding-x) var(--ui-panel-padding-y);border:1px solid var(--line);border-radius:var(--ui-panel-radius);background:var(--surface);display:none;position:absolute;left:0;box-shadow:0 10px 24px #17202629}.menu-dropdown:hover>.menu-panel,.menu-dropdown:focus-within>.menu-panel{display:grid}.loop-panel{width:max-content;min-width:0}.loop-panel .inline-field{grid-template-columns:36px 166px max-content;justify-content:start;align-items:center;column-gap:4px;display:grid}.loop-panel select{width:166px;max-width:none}.loop-panel .preview-pill{box-sizing:border-box;justify-self:start;min-width:0;max-width:86px}.app-shell[data-practice-range-mode=true] .loop-panel .preview-pill,.pill-toggle.range-practice{color:#155f49;background:#e8f5ef;border-color:#1880605c}.expand-panel,.track-panel{min-width:160px}.expand-panel input[type=number]{width:100%}.expand-warning{color:#8a6f24;margin:0;font-size:11px;line-height:1.35}.track-panel{grid-template-columns:1fr}.player-group{gap:var(--ui-gap);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}:is(.player-group:has(.game-panel[data-state=preparing]),.player-group:has(.game-panel[data-state=countdown]),.player-group:has(.game-panel[data-state=ready]),.player-group:has(.game-panel[data-state=playing]),.player-group:has(.game-panel[data-state=paused]),.player-group:has(.game-panel[data-state=finished]),.player-group:has(.game-panel[data-state=error])){grid-template-columns:minmax(0,1fr) minmax(250px,1fr)}.player-main{gap:calc(var(--ui-compact-gap) - 2px);min-width:0;padding:var(--ui-panel-padding-y) var(--ui-panel-padding-x) calc(var(--ui-control-height) + 4px);border:1px solid var(--line);border-radius:var(--ui-panel-radius);background:#fafafa;grid-template-rows:auto auto auto;align-content:center;display:grid;position:relative}.music-meta,.transport-row,.audio-row,.youtube-group,.layout-toolbar,.status-area{align-items:center;display:flex}.music-meta{min-width:0;color:var(--muted);justify-content:center;gap:8px}.music-meta .title{color:var(--text)}.transport-row,.audio-row{justify-content:center;gap:var(--ui-gap);flex-wrap:wrap;min-width:0}.audio-row{min-height:var(--ui-control-height)}.details-button{min-height:var(--ui-small-control-height);font-size:var(--ui-font-size);padding:0 8px;position:absolute;top:6px;right:8px}.playback-status{position:absolute;top:6px;left:8px}.transport-button{width:calc(var(--ui-control-height) + 8px);min-width:calc(var(--ui-control-height) + 8px);justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.seek-field{align-items:center;gap:var(--ui-compact-gap);width:clamp(170px,38vw,420px);color:var(--muted);font-size:var(--ui-font-size);grid-template-columns:28px minmax(96px,1fr) 36px;display:grid}.seek-field input{width:100%}.compact-field,.switch-field{align-items:center;gap:var(--ui-compact-gap);white-space:nowrap;font-size:var(--ui-font-size);color:var(--muted);display:flex}.compact-field input[type=range]{width:112px}.status-pill{min-width:72px;padding:max(2px, calc(var(--ui-panel-padding-y) - 5px)) 8px;background:var(--accent-weak);color:var(--accent);text-align:center;border-radius:999px;font-size:12px}.step-info{min-width:92px}.practice-mode-button{min-height:var(--ui-small-control-height);color:#1f5b3c;text-overflow:ellipsis;white-space:nowrap;width:146px;min-width:146px;font-size:var(--ui-small-font-size);background:#eff8f2;border-color:#3f6f59;padding:0 6px;font-weight:700;position:absolute;bottom:6px;right:8px;overflow:hidden}.practice-mode-button.on{background:#dff1e6;border-color:#2f604b;box-shadow:inset 0 0 0 1px #2f604b}.game-panel{width:100%;min-width:0;padding:calc(var(--ui-small-control-height) + 6px) var(--ui-compact-gap) var(--ui-compact-gap);border-radius:var(--ui-panel-radius);background:#f6fbf7;border:1px solid #b9d7c4;display:none;position:relative}.game-panel[data-state=preparing],.game-panel[data-state=countdown],.game-panel[data-state=ready],.game-panel[data-state=playing],.game-panel[data-state=paused],.game-panel[data-state=finished],.game-panel[data-state=error]{align-content:center;gap:calc(var(--ui-compact-gap) - 2px);display:grid}.game-panel[data-state=error]{background:#fff7f7;border-color:#efb4b4}.game-panel[data-judge-mode=pro]{background:#fff5f5;border-color:#dc7c7c}.game-panel[data-judge-mode=easy]{background:#f4f8ff;border-color:#8bb7ef}.game-panel-head,.game-score-grid{align-items:center;gap:var(--ui-gap);display:flex}.game-panel-head{justify-content:space-between;position:absolute;top:6px;left:6px;right:8px}.game-status{min-width:72px}.game-rules-button{min-height:var(--ui-small-control-height);color:#2c6044;font-size:var(--ui-font-size);background:#fff;border-color:#8ab79b;padding:0 8px}.game-sync-button{align-items:center;gap:calc(var(--ui-compact-gap) - 1px);min-height:var(--ui-small-control-height);border-radius:var(--ui-control-radius);color:#2c6044;font-size:var(--ui-font-size);background:#fff;border:1px solid #8ab79b;padding:0 7px;display:inline-flex}.game-mode-control{min-height:var(--ui-small-control-height);border-radius:var(--ui-control-radius);background:#fff;border:1px solid #8ab79b;align-items:center;display:inline-flex;overflow:hidden}.game-mode-button{min-height:var(--ui-small-control-height);color:#2c6044;min-width:36px;font-size:var(--ui-font-size);background:#fff;border:0;border-right:1px solid #d7e7dc;border-radius:0;padding:0 6px;font-weight:700}.game-mode-button:last-child{border-right:0}.game-mode-button.on{color:#1f5138}.game-mode-button[data-judge-mode=easy].on{color:#1d4ed8;background:#dbeafe;box-shadow:inset 0 0 0 1px #60a5fa}.game-mode-button[data-judge-mode=standard].on{color:#1f5138;background:#dff1e6;box-shadow:inset 0 0 0 1px #2f604b}.game-mode-button[data-judge-mode=pro].on{color:#991b1b;background:#fee2e2;border-color:#b91c1c;box-shadow:inset 0 0 0 1px #b91c1c}.game-sync-button strong{color:#2563eb;font-size:10px}.game-notice{color:#50665a;background:#fff;border:1px solid #d7e7dc;border-radius:6px;margin:0;padding:3px 6px;font-size:10px;line-height:1.25}.game-diagnostic-line{color:#50665a;flex-wrap:wrap;gap:4px;font-size:10px;display:flex}.game-diagnostic-line span{white-space:nowrap;background:#fff;border:1px solid #d7e7dc;border-radius:999px;justify-content:space-between;gap:4px;min-width:76px;padding:2px 5px;display:inline-flex}.game-diagnostic-line strong{min-width:34px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;display:inline-block}.game-diagnostic-line .game-mic-state{text-align:left;min-width:42px}.game-score-grid{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;font-size:12px}.game-score-grid span{border:1px solid var(--line);text-align:center;background:#fff;border-radius:6px;min-width:64px;padding:2px 6px}.game-total-grid{border-top:1px solid #d7e7dc;margin-top:1px;padding-top:4px}.game-panel[data-judge-mode=pro] .game-total-grid{border-top-color:#f0b5b5}.game-panel[data-judge-mode=easy] .game-total-grid{border-top-color:#b8d5fb}.game-total-grid span{min-width:76px}:is(.game-total-grid span:has(.game-accuracy),.game-total-grid span:has(.game-timing-accuracy)){min-width:104px}.game-score-grid strong{color:var(--text)}:is(.player-group:has(.game-panel[data-state=preparing]) .seek-field,.player-group:has(.game-panel[data-state=countdown]) .seek-field,.player-group:has(.game-panel[data-state=ready]) .seek-field,.player-group:has(.game-panel[data-state=playing]) .seek-field,.player-group:has(.game-panel[data-state=paused]) .seek-field,.player-group:has(.game-panel[data-state=finished]) .seek-field,.player-group:has(.game-panel[data-state=error]) .seek-field){width:clamp(150px,20vw,280px)}.youtube-group{grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr);justify-content:flex-end;align-items:start;gap:8px;min-width:0;min-height:0;padding-bottom:0;display:grid;position:relative}:is(.youtube-group:has(.youtube-player-shell[data-state=loading]),.youtube-group:has(.youtube-player-shell[data-state=ready])){padding-bottom:62px}.youtube-toggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.youtube-switch{border:1px solid var(--line);background:var(--surface-muted);min-height:30px;color:var(--muted);border-radius:6px;padding:0 10px}.youtube-toggle:checked+.youtube-switch{color:#111820;background:#fff;border-color:#526371;font-weight:700;box-shadow:inset 0 0 0 1px #526371,0 1px 4px #1720262e}.youtube-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.youtube-controls .compact-field:first-child{flex:150px;min-width:0}.youtube-controls input[type=text]{width:100%;min-width:0}.youtube-controls input[type=number]{width:92px}.youtube-player-shell{border:1px solid var(--line);background:#101820;border-radius:8px;width:100%;height:56px;min-height:56px;max-height:56px;display:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.youtube-player-shell[data-state=ready],.youtube-player-shell[data-state=loading]{display:block}.youtube-player{width:100%;height:100%;min-height:56px;max-height:56px}.youtube-player iframe{border:0;width:100%;height:56px;min-height:56px;max-height:56px;display:block}.youtube-status[data-level=error]{color:var(--danger)}.edit-panel{max-height:var(--edit-panel-max-height);border-bottom:1px solid var(--line);background:#f0f1f2;grid-row:2;display:none;overflow:hidden}#edit-mode-toggle:checked~.edit-panel{display:block}#edit-mode-toggle:checked~.menu-area .toggle-button[for=edit-mode-toggle]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent)}.edit-row{align-items:flex-start;gap:calc(var(--ui-gap) + 2px);max-height:var(--edit-panel-max-height);padding:calc(var(--ui-panel-padding-y) + 2px) 14px;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) repeat(3,minmax(118px,.68fr)) minmax(164px,.9fr) minmax(420px,2.4fr) minmax(190px,.95fr);display:grid;overflow:auto}.edit-card{gap:var(--ui-compact-gap);min-width:0;max-width:100%;padding:var(--ui-panel-padding-y);border:1px solid var(--line);border-radius:var(--ui-panel-radius);background:var(--surface);display:grid}.actions-card{padding-right:86px;position:relative}.edit-card-title,.micro-label,.edit-help{color:var(--muted);font-size:var(--ui-small-font-size)}.edit-card-title{font-weight:700}.edit-card-title-row,.edit-control-row,.pill-row,.tuplet-toolbar{align-items:center;gap:var(--ui-gap);flex-wrap:wrap;min-width:0;display:flex}.edit-card-title-row{justify-content:space-between}.edit-control-row>input,.edit-control-row>select{min-width:0}.edit-panel select,.edit-panel input[type=text],.edit-panel input[type=number]{min-height:calc(var(--ui-control-height) - 4px);font-size:var(--ui-font-size);padding:0 6px}.edit-panel input::placeholder{color:var(--muted);font-size:11px}.default-card input[type=text]{flex:0 92px;max-width:112px}.default-card select,.narrow-card select,.pitch-card select{flex:0 96px;max-width:104px}.narrow-card{min-width:118px}.narrow-card .edit-control-row{justify-content:flex-start}.narrow-card select{width:96px}.current-raw-text-preview{flex:120px;min-width:0}.compact-stack{flex:none;align-items:center;gap:4px;min-width:34px;min-height:26px;display:flex}.compact-stack span{font-size:10px}.gliss-id-select{text-align:center;flex:0 0 44px;width:44px;min-width:44px}.pitch-card input[type=number],.number-card input[type=number]{width:84px}.pitch-card .absolute-pitch-input,.pitch-card .micro-pitch-input{width:92px}.pitch-card .absolute-pitch-select{width:82px}.tempo-mark-group{gap:4px;min-width:0;display:grid}.tempo-mark-group .pill-row{gap:6px}.pill-toggle{min-height:calc(var(--ui-control-height) - 2px);font-size:var(--ui-font-size);border-radius:999px;padding:0 10px}.tempo-mark-group .pill-toggle{min-height:calc(var(--ui-small-control-height) - 2px);font-size:var(--ui-small-font-size);padding:2px 8px;line-height:1.1}.tuplet-toolbar>button:not(.pill-toggle),.actions-card button{min-height:var(--ui-small-control-height);font-size:var(--ui-font-size);padding:0 8px}.pill-toggle.on{background:var(--surface);color:var(--text)}.pill-toggle.off{background:var(--surface-muted);color:var(--muted)}.preview-pill{border:1px solid var(--line);max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#fafafa;border-radius:999px;padding:3px 7px;font-size:11px;overflow:hidden}.pending-pill{max-width:72px;position:absolute;top:8px;right:8px}.inline-field{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.inline-field select{max-width:112px}.stacked-field{min-width:0;color:var(--muted);gap:3px;font-size:10px;line-height:1.1;display:grid}.stacked-field select,.stacked-field input{width:100%}.stacked-field.compact-stack{flex:none;align-items:center;gap:4px;min-width:72px;min-height:26px;display:flex}.stacked-field.compact-stack select.gliss-id-select{flex:0 0 44px;width:44px;min-width:44px}.tuplet-toolbar button{flex:none}.tuplet-slots{grid-template-columns:repeat(7,minmax(64px,1fr));gap:6px;min-width:0;display:grid}.tuplet-slots input{width:100%;min-width:0;padding:0 6px;font-size:12px}.tuplet-slots input.active{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:1px}.edit-help{line-height:1.35}.score-viewer{grid-row:3;grid-template-columns:var(--label-width) minmax(0, 1fr);background:var(--score-roll-background);align-self:stretch;min-height:0;display:grid;position:relative;overflow:hidden}.score-viewer:fullscreen{background:var(--score-roll-background);width:100vw;height:100vh}.layout-area{border-right:2px solid var(--accent);background:var(--score-roll-background);z-index:10;min-height:0;position:relative;overflow:hidden}.layout-toolbar{z-index:40;border:1px solid var(--line);opacity:0;pointer-events:none;background:#fffffff0;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:4px;width:max(92px,100% - 12px);min-width:0;padding:6px;transition:opacity .12s,transform .12s;display:grid;position:absolute;top:6px;left:6px;right:auto;transform:translateY(-4px);box-shadow:0 8px 18px #17202624}.layout-area:hover .layout-toolbar,.layout-area:focus-within .layout-toolbar{opacity:1;pointer-events:auto;transform:translateY(0)}.layout-toolbar select{text-overflow:ellipsis;width:100%;min-width:0;padding:0 4px;font-size:clamp(10px,.85vw,12px);overflow:hidden}.layout-toolbar button{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 4px;font-size:clamp(10px,.85vw,12px);overflow:hidden}.score-area{background:var(--score-roll-background);min-width:0;min-height:0;overflow:auto}.layout-canvas-stage{width:100%;height:var(--score-stage-height);min-height:var(--score-viewport-height);background:var(--score-roll-background);position:relative}.layout-layer{width:100%;height:var(--score-stage-height);display:block}.score-canvas-stage{width:var(--score-scroll-width);height:var(--score-stage-height);min-height:var(--score-viewport-height);background:var(--score-roll-background);position:relative}.score-layer{width:var(--score-stage-width);height:var(--score-stage-height);display:block;position:absolute;inset:0}.marker-layer,.note-marker-layer{pointer-events:none}.game-pitch-overlay,.game-judge-overlay,.selection-overlay,.paste-preview-overlay{width:var(--score-stage-width);height:var(--score-stage-height);pointer-events:none;position:absolute;inset:0}.game-pitch-overlay{z-index:9}.game-judge-overlay{z-index:10}.selection-overlay{z-index:11}.paste-preview-overlay{z-index:12}.game-pitch-dot{background:#39ff79;border:2px solid #fff;border-radius:999px;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0a6f2b,0 0 10px #39ff79a6}.game-judge-text{color:#fff;text-align:center;white-space:nowrap;text-shadow:-1px -1px #000000eb,1px -1px #000000eb,-1px 1px #000000eb,1px 1px #000000eb,0 0 4px #000000bf;min-width:72px;font-weight:700;line-height:1.12;position:absolute}.game-judge-combo{color:#fff;letter-spacing:0;opacity:.92;font-size:15px}.game-judge-label{font-size:21px}.game-judge-timing{letter-spacing:0;text-transform:lowercase;margin-top:1px;font-size:12px}.game-judge-timing-early{color:#6fc7ff}.game-judge-timing-late{color:#ff6f6f}.game-judge-text-perfect{color:#62ff8b}.game-judge-text-ok{color:#6fc7ff}.game-judge-text-bad{color:#ffba5f}.game-judge-text-miss{color:#ff6f6f}.game-judge-text-effect{font-size:21px;font-weight:800}.game-judge-text-gliss{color:#ffd84a;font-size:17px}.game-judge-text-vib{color:#58bfff}.game-judge-text-trem{color:#c490ff}.selection-rect{box-sizing:border-box;background:#0076ff2e;border:1px solid #0076ffd9;position:absolute;box-shadow:inset 0 0 0 1px #ffffff73}.paste-preview-rect{box-sizing:border-box;background:#00948833;border:1px dashed #009488e6;position:absolute;box-shadow:inset 0 0 0 1px #ffffff59}.status-area{min-width:0;height:var(--status-height);min-height:var(--status-height);max-height:var(--status-height);z-index:30;border-top:1px solid var(--line);color:#dbe4e8;background:#263238;grid-row:4;align-self:end;gap:18px;padding:0 14px;font-size:12px;position:relative;overflow:hidden}@media (width<=900px){:root{--menu-height:136px;--status-height:44px}.menu-area{grid-template-columns:minmax(0,1fr)}.left-tool-group,.youtube-group{justify-content:center}:is(.player-group:has(.game-panel[data-state=preparing]),.player-group:has(.game-panel[data-state=countdown]),.player-group:has(.game-panel[data-state=ready]),.player-group:has(.game-panel[data-state=playing]),.player-group:has(.game-panel[data-state=paused]),.player-group:has(.game-panel[data-state=finished]),.player-group:has(.game-panel[data-state=error])){grid-template-columns:minmax(0,1fr)}.seek-field{width:min(100%,520px)}.status-area{flex-wrap:wrap;align-content:center;row-gap:2px}:root{--label-width:76px;--compact-menu-scale:.55;--compact-edit-scale:.55;--menu-height:112px;--menu-area-max-height:none;--edit-panel-max-height:calc(224px * var(--compact-edit-scale))}.menu-area{width:100%;min-height:var(--menu-height);zoom:var(--compact-menu-scale);grid-template-columns:minmax(0,.95fr) minmax(0,1.55fr) minmax(0,.85fr);height:auto;max-height:none;overflow:visible}:is(.menu-area:has(.menu-dropdown:hover),.menu-area:has(.menu-dropdown:focus-within)){overflow:visible}.edit-panel{height:var(--edit-panel-max-height);max-height:var(--edit-panel-max-height);overflow:hidden}.edit-row{zoom:var(--compact-edit-scale);width:100%;max-height:224px;overflow:auto}.score-viewer{grid-template-columns:minmax(72px, var(--label-width)) minmax(0, 1fr)}.layout-toolbar{width:max(58px,100% - 8px);top:4px;left:4px}}.info-dialog{border:1px solid var(--line);width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:8px}.info-dialog form{max-height:calc(100vh - 72px);overflow:auto}.info-dialog::backdrop{background:#17202685}.info-dialog h2{margin:0 0 12px}.info-dialog h3{margin:14px 0 8px;font-size:14px}.info-dialog p{margin:8px 0;line-height:1.5}.info-section{border-top:1px solid var(--line);padding-top:4px}.info-section:first-of-type{border-top:0}.info-dialog button{margin-top:12px}.examples-dialog{border:1px solid var(--line);width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:8px}.examples-dialog::backdrop{background:#17202685}.examples-form{gap:12px;max-height:calc(100vh - 72px);display:grid;overflow:auto}.examples-access-field{color:var(--muted);gap:6px;font-size:12px;display:grid}.examples-access-word-input{min-width:0}.examples-toolbar{flex-wrap:wrap;gap:8px;display:flex}.examples-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,.75fr) minmax(110px,.55fr);gap:10px;display:grid}.examples-controls label{min-width:0;color:var(--muted);gap:4px;font-size:12px;display:grid}.examples-controls input,.examples-controls select{width:100%;min-width:0}.examples-notice{min-height:18px;color:var(--muted);margin:0;font-size:12px}.examples-notice[data-level=warning]{color:#9a6500}.examples-notice[data-level=error]{color:#b42318}.examples-list{gap:10px;max-height:min(460px,100vh - 300px);padding:2px 4px 2px 0;display:grid;overflow:auto}.example-row{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:88px;color:var(--text);text-align:left;cursor:pointer;border-radius:6px;grid-template-rows:auto auto auto auto;gap:3px;padding:9px 12px;display:grid}.example-row[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.example-row strong,.example-row span{overflow-wrap:anywhere;min-width:0;line-height:1.35}.example-row strong{font-size:14px}.example-row span{color:var(--muted);font-size:12px}.example-row-title,.example-row-meta,.example-row-detail,.example-row-file-meta{display:block}@media (width<=640px){.examples-controls{grid-template-columns:minmax(0,1fr)}}.examples-empty{color:var(--muted);margin:0;font-size:12px}.details-dialog{border:1px solid var(--line);width:min(680px,100vw - 32px);color:var(--text);border-radius:8px}.details-dialog::backdrop{background:#17202685}.practice-sync-dialog{border:1px solid var(--line);width:min(640px,100vw - 32px);color:var(--text);border-radius:8px}.practice-rules-dialog{border:1px solid var(--line);width:min(1080px,100vw - 32px);color:var(--text);border-radius:8px}.practice-rules-dialog::backdrop,.practice-sync-dialog::backdrop{background:#17202685}.practice-result-dialog{border:1px solid var(--line);width:min(520px,100vw - 32px);color:var(--text);border-radius:8px}.practice-result-dialog::backdrop{background:#17202685}.practice-result-form{gap:14px;display:grid}.practice-result-form h2{margin:0}.practice-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.practice-result-meta{gap:8px;display:grid}.practice-result-meta span{border:1px solid var(--line);min-width:0;color:var(--muted);font-size:var(--ui-font-size);background:#fafafa;border-radius:6px;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:8px 10px;display:grid}.practice-result-grid span{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fafafa;border-radius:6px;justify-content:space-between;gap:10px;padding:8px 10px;font-size:12px;display:flex}.practice-result-grid strong{font-variant-numeric:tabular-nums;color:var(--text)}.practice-result-meta strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-full-combo{color:#188b3c;letter-spacing:0;text-align:center;background:#edf8f0;border:1px solid #188b3c;border-radius:6px;padding:10px 12px;font-size:18px;font-weight:800}.practice-result-grid strong{color:var(--text)}.practice-result-grid .result-judge-perfect,.practice-result-grid .result-judge-perfect strong{color:#188b3c}.practice-result-grid .result-judge-ok,.practice-result-grid .result-judge-ok strong,.practice-result-grid .result-judge-early,.practice-result-grid .result-judge-early strong{color:#1479b8}.practice-result-grid .result-judge-bad,.practice-result-grid .result-judge-bad strong,.practice-result-grid .result-judge-timing-bad,.practice-result-grid .result-judge-timing-bad strong{color:#b46913}.practice-result-grid .result-judge-miss,.practice-result-grid .result-judge-miss strong,.practice-result-grid .result-judge-late,.practice-result-grid .result-judge-late strong,.practice-result-grid .result-judge-timing-miss,.practice-result-grid .result-judge-timing-miss strong{color:#c83333}.practice-result-grid .result-effect-gliss,.practice-result-grid .result-effect-gliss strong,.game-total-grid .game-effect-gliss,.game-total-grid .game-effect-gliss strong{color:#188b3c}.practice-result-grid .result-effect-vib,.practice-result-grid .result-effect-vib strong,.game-total-grid .game-effect-vib,.game-total-grid .game-effect-vib strong{color:#1479b8}.practice-result-grid .result-effect-trem,.practice-result-grid .result-effect-trem strong,.game-total-grid .game-effect-trem,.game-total-grid .game-effect-trem strong,.practice-result-grid .result-effect-bonus,.practice-result-grid .result-effect-bonus strong{color:#7a4bb3}.practice-sync-form{gap:14px;display:grid}.practice-sync-form h2{margin:0}.practice-sync-help{color:var(--muted);margin:0;font-size:12px}.practice-sync-meter{border:1px solid var(--line);background:linear-gradient(90deg,#f8fafc,#fff);border-radius:6px;height:72px;position:relative;overflow:hidden}.practice-sync-center{background:#111827;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-1px)}.practice-sync-beat{opacity:0;background:#2563eb3d;border-radius:50%;width:22px;height:22px;transition:opacity .12s,transform .12s;position:absolute;top:14px;left:50%;transform:translate(-50%)scale(.75)}.practice-sync-beat.flash{opacity:1;transform:translate(-50%)scale(1.15)}.practice-sync-marker{opacity:0;background:#16a34a;border-radius:50%;width:12px;height:12px;transition:left 80ms,opacity .12s;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 0 0 3px #16a34a2e}.practice-sync-marker.visible{opacity:1}.practice-sync-controls{grid-template-columns:repeat(6,minmax(0,auto));align-items:center;gap:8px;display:grid}.practice-sync-value{text-align:center;color:#2563eb;min-width:64px}.practice-rules-form{gap:14px;display:grid;overflow-x:auto}.practice-rules-form h2,.practice-rules-form h3{margin:0}.practice-rules-section{gap:8px;display:grid}.practice-rules-section h3{color:var(--muted);font-size:13px}.practice-rules-table{border-collapse:collapse;width:100%;font-size:12px}.practice-rules-table th,.practice-rules-table td{border:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:7px 8px}.practice-rules-table th{background:var(--surface-muted);color:var(--text);font-weight:700}.practice-score-formula-table th[scope=row]{white-space:nowrap;width:132px;min-width:132px}.details-form{gap:14px;display:grid}.dialog-title-row,.dialog-action-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.dialog-title-row h2{margin:0}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.details-field{min-width:0;color:var(--muted);gap:4px;font-size:12px;display:grid}.details-field.wide{grid-column:1/-1}.details-difficulty-row{border:0;grid-column:1/-1;align-items:end;gap:10px;min-width:0;margin:0;padding:0;display:flex}.details-difficulty-row legend{color:var(--muted);flex:none;padding:0;font-size:12px}.details-field.compact{flex:none;align-items:center;gap:6px;display:flex}.details-field input,.details-field textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);resize:vertical;border-radius:6px;padding:6px 8px}.details-field input[readonly]{color:var(--muted);background:var(--bg)}.details-field.compact input{width:52px;padding:4px 6px}.layout-dialog{border:1px solid var(--line);width:min(1080px,100vw - 32px);max-height:min(760px,100vh - 32px);color:var(--text);border-radius:8px}.layout-dialog::backdrop{background:#17202685}.layout-form{gap:14px;min-width:0;display:grid}.layout-dialog-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;display:grid}.layout-section{border:1px solid var(--line);background:#fafafa;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:10px;display:grid}.layout-section h3{color:var(--muted);margin:0;font-size:13px}.layout-field-row,.layout-button-row,.layout-section-title-row{flex-wrap:wrap;align-items:end;gap:8px;min-width:0;display:flex}.layout-button-row button{min-height:26px;padding:0 8px;font-size:12px}.layout-new-preset-button{white-space:nowrap;flex:none;min-height:26px;padding:0 8px;font-size:12px}.layout-preset-section .layout-field-row .details-field{flex:180px}.layout-section-title-row{justify-content:space-between;align-items:start}.layout-section-title-row .inline-field{align-self:start;min-height:30px}.layout-section-title-row .inline-field select{height:30px;min-height:30px}.layout-add-row-controls{flex-wrap:nowrap;align-items:center}.layout-add-row-controls .details-field{white-space:nowrap;flex:none;align-items:center;gap:6px;display:flex}.layout-add-row-controls .details-field.compact{white-space:nowrap;flex:none}.layout-add-row-controls .layout-auto-pitch-label{min-width:150px;color:var(--muted);white-space:nowrap;flex:0 auto;font-size:12px}.layout-add-row-controls .layout-row-height-input{width:74px;min-width:74px}.layout-add-row-controls button{white-space:nowrap;flex:none;height:30px;min-height:30px;padding:0 8px;font-size:12px}.layout-open-field{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:32px;padding:0 8px}.layout-string-table,.layout-row-list{gap:4px;min-width:0;display:grid}.layout-table-head,.layout-table-row{grid-template-columns:minmax(54px,.8fr) minmax(92px,1.3fr) repeat(3,minmax(66px,.75fr));align-items:center;gap:6px;min-width:0;display:grid}.layout-table-head{color:var(--muted);font-size:11px;font-weight:700}.layout-table-row{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:28px;padding:0 6px;font-size:12px}.layout-table-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layout-row-table-head,.layout-row-table-row{grid-template-columns:28px minmax(52px,.45fr) minmax(180px,1.35fr) minmax(104px,.8fr) 72px 72px;align-items:center;gap:6px;min-width:560px;display:grid}.layout-row-table-head{color:var(--muted);font-size:11px;font-weight:700}.layout-row-table-row{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:32px;padding:0 6px;font-size:12px}.layout-row-table-row[data-row-type=gap]{color:#5f646d;background:#eee}.layout-row-table-row[data-selected=true]{border-color:var(--accent);background:#fffaf1}.layout-row-table-row[data-row-type=gap][data-selected=true]{background:#e4e4e4}.layout-row-table-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.layout-row-height-edit{width:64px;min-width:64px;height:26px;min-height:26px;padding:0 4px;font-size:12px}.layout-row-delete-button{width:64px;min-width:64px;height:26px;min-height:26px;padding:0 6px;font-size:12px}.layout-string-pitch-select{width:66px;min-width:66px;height:26px;min-height:26px;padding:0 4px;font-size:12px}.layout-row-section,.layout-add-row-section,.layout-preview-section{grid-column:1/-1}.layout-preview{border:1px solid var(--line);background:#525252;border-radius:6px;min-height:320px;max-height:calc(100vh - 120px);padding:10px;overflow:auto}.layout-preview-stack{background:#525252;border:1px solid #ffffff2e;border-radius:6px;width:142px;min-width:142px;display:grid;overflow:hidden}.layout-preview-row{color:#fffffff2;-webkit-user-select:none;user-select:none;background:#525252;border-bottom:1px solid #ffffff2e;grid-template-columns:21px 100px 21px;align-items:stretch;min-height:1px;display:grid;position:relative}.layout-preview-row:last-child{border-bottom:0}.layout-preview-row[data-row-type=gap]{color:#ffffffeb;background:#525252}.layout-preview-row[data-selected=true]{outline:2px solid var(--accent);outline-offset:-2px}.layout-preview-row-label{background:var(--layout-preview-label-bg,transparent);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;justify-content:center;align-items:center;min-width:0;height:100%;padding:0 4px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.layout-preview-padding-cell{border-right:1px solid #ffffff2e;min-width:0}.layout-preview-right-padding-cell{border-left:1px solid #ffffff2e;border-right:0;position:relative}.layout-preview-right-padding-cell:after{content:"";background:#ff505059;width:50%;position:absolute;top:0;bottom:0;right:0}.layout-preview-resize-handle{z-index:2;cursor:ns-resize;background:0 0;border:0;border-radius:0;height:7px;min-height:7px;padding:0;position:absolute;left:0;right:0}.layout-preview-resize-handle-top{top:-3px}.layout-preview-resize-handle-bottom{bottom:-3px}.layout-preview-resize-handle:before{content:"";background:#50555f73;height:1px;position:absolute;top:3px;left:8px;right:8px}.layout-preview-resize-handle:hover:before{background:var(--accent)}@media (width>=1500px){.layout-preview-section{z-index:3;width:190px;max-height:calc(100vh - 48px);position:fixed;top:50%;left:max(16px,50vw - 740px);transform:translateY(-50%);box-shadow:0 12px 26px #1720262e}.layout-preview{max-height:calc(100vh - 140px)}}.layout-row-list{border:1px solid var(--line);background:var(--surface);border-radius:6px;min-height:84px;max-height:220px;padding:8px;overflow:auto}.layout-empty-state{color:var(--muted);margin:0;font-size:12px}.layout-status-line{min-height:18px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.layout-status-line[data-level=warning]{color:#8a6f24}.layout-status-line[data-level=error]{color:var(--danger)}.dialog-action-spacer{flex:auto}@media (width<=640px){.details-grid{grid-template-columns:minmax(0,1fr)}.details-difficulty-row{flex-wrap:wrap}.layout-dialog-grid{grid-template-columns:minmax(0,1fr)}.layout-row-section,.layout-add-row-section{grid-column:auto}.layout-table-head,.layout-table-row{grid-template-columns:minmax(46px,.8fr) minmax(74px,1.2fr) repeat(3,minmax(66px,.7fr))}}
