:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{background:var(--bg);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.page{--page-bg:#f6f7fb;--topbar-bg:#fff;--panel-bg:#d1d5db80;--logo-bg:#d1d5db;--brand-color:#1f2937;--button-color:#374151;--button-hover:#e5e7eb;--notice-info-bg:#dbeafe;--notice-info-color:#1d4ed8;--notice-warning-bg:#fef3c7;--notice-warning-color:#92400e;--notice-error-bg:#fee2e2;--notice-error-color:#b91c1c;--content-bg-image:none;background:var(--page-bg);min-height:100vh}.notice{padding:10px 18px;font-size:14px}.notice-info{background:var(--notice-info-bg);color:var(--notice-info-color)}.notice-warning{background:var(--notice-warning-bg);color:var(--notice-warning-color)}.notice-error{background:var(--notice-error-bg);color:var(--notice-error-color)}.topbar{background:var(--topbar-bg);grid-template-columns:98px 1fr;height:84px;padding:0 24px;display:grid}.logoSlot{justify-content:flex-start;align-items:center;display:flex}.logoPlaceholder{aspect-ratio:1;background:var(--logo-bg);border-radius:14px;width:68px}.topbarMain{grid-template-rows:4fr 3fr;margin-left:-8px;display:grid}.brand{color:var(--brand-color);align-items:center;padding-left:4px;font-size:34px;font-weight:700;line-height:1;display:flex}.nav{align-items:flex-end;gap:0;display:flex}.nav button{height:100%;color:var(--button-color);cursor:pointer;background:0 0;border:0;padding:0 8px;transition:background-color .15s}.nav button:hover{background:var(--button-hover)}.fileInput{display:none}.content{background:linear-gradient(#f6f7fbe6, #f6f7fbf0), var(--content-bg-image);background-position:50%;background-repeat:no-repeat;background-size:auto,contain;justify-content:center;align-items:center;min-height:calc(100vh - 84px);padding:24px;display:flex}.centerPanel{aspect-ratio:3/4;background:var(--panel-bg);border-radius:20px;grid-template-rows:auto 1fr;width:min(42vw,620px);display:grid;overflow:hidden;box-shadow:0 18px 36px #0f172a1f}.innerSquare{aspect-ratio:1;background-color:#ffffff73;background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;position:relative}.coverPlaceholder{color:#1f29376b;justify-content:center;align-items:center;width:100%;height:100%;font-size:clamp(72px,9vw,120px);font-weight:700;display:flex}.difficultyBadge{color:#f9fafb;background:#1f2937db;padding:4px 10px;font-size:13px;font-weight:700;position:absolute;bottom:12px;right:12px}.chartCountMarks{flex-wrap:wrap;justify-content:flex-start;gap:6px;width:min(40%,120px);display:flex;position:absolute;bottom:12px;left:12px}.chartCountMark{aspect-ratio:1;background:#1f2937d1;width:12px}.cardInfo{grid-template-rows:3fr 2fr;min-height:0;display:grid}.mainInfo{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px 16px 12px;display:flex}.songTitle{color:#1f2937;margin:0;font-size:clamp(24px,2vw,32px)}.songArtist{color:#4b5563;margin:6px 0 0;font-size:16px}.subInfo{border-top:1px solid #1f293714;grid-template-columns:1fr 1fr;display:grid}.infoBlock{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.infoBlock:first-child{border-right:1px solid #1f293714}.infoLabel{color:#6b7280;font-size:13px}.infoValue{color:#1f2937;font-size:18px;font-weight:600}.bottomBar{justify-content:center;align-items:flex-end;gap:18px;padding:0 24px 24px;display:flex}.offsetField{color:#374151;flex-direction:column;gap:6px;font-size:14px;display:flex}.offsetField input{color:#111827;background:#fff;border:1px solid #cbd5e1;width:180px;padding:8px 10px}.downloadButton{color:#f9fafb;cursor:pointer;background:#1f2937;border:0;height:42px;padding:0 16px}@media (width<=720px){.topbar{grid-template-columns:84px 1fr;height:96px;padding:0 16px}.logoPlaceholder{width:56px}.brand{font-size:22px}.nav{width:100%}.nav button{flex:none}.content{min-height:calc(100vh - 96px);padding:16px}.centerPanel{width:min(64vw,360px)}.bottomBar{flex-direction:column;align-items:stretch;padding:0 16px 16px}.offsetField input{width:100%}.songArtist{font-size:14px}.infoValue{font-size:16px}}@media (prefers-color-scheme:dark){.page{--page-bg:#0f1115;--topbar-bg:#171b22;--panel-bg:#3b4554b3;--logo-bg:#3b4554;--brand-color:#f3f4f6;--button-color:#d1d5db;--button-hover:#2a313c;--notice-info-bg:#172554;--notice-info-color:#bfdbfe;--notice-warning-bg:#451a03;--notice-warning-color:#fcd34d;--notice-error-bg:#450a0a;--notice-error-color:#fecaca}.content{background:linear-gradient(#0f1115d6, #0f1115e6), var(--content-bg-image);background-repeat:no-repeat;background-size:auto,contain}.innerSquare{background-color:#0f111552}.coverPlaceholder{color:#f3f4f657}.difficultyBadge,.downloadButton,.chartCountMark{color:#111827;background:#f3f4f6db}.songTitle,.infoValue{color:#f3f4f6}.songArtist,.infoLabel{color:#d1d5db}.subInfo{border-top-color:#f3f4f61a}.infoBlock:first-child{border-right-color:#f3f4f61a}.offsetField{color:#d1d5db}.offsetField input{color:#f9fafb;background:#111827;border-color:#374151}}
