:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1017;--panel:#151a24;--panel-2:#1c2230;--border:#2a3242;--text:#dfe4ee;--muted:#8f9ab3;--accent:#4fb3ff;--accent-2:#ffcf33;--danger:#ff6b6b;--radius:10px;--d1:#5fd3ff;--d2:#6ad26a;--d3:#f2c94c;--d4:#ff6b7d;--d5:#b57cff;--d6:#e9d5ff;--d7:#ff8fd1;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#06121f;font-weight:600}input[type=text],input[type=password],input[type=search],select,textarea{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:7px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.container{max-width:1200px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.error{color:var(--danger)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.site-header{border-bottom:1px solid var(--border);background:var(--panel)}.site-header .container{align-items:center;gap:16px;height:56px;display:flex}.brand{color:var(--text);font-size:18px;font-weight:700}.site-header nav{align-items:center;gap:12px;margin-left:auto;display:flex}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:48px;padding:20px 0 32px;font-size:13px}.site-footer p{margin:4px 0}main.container{padding-top:20px}.diff{text-align:center;color:#0d1017;border-radius:6px;min-width:2.6em;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.diff-1{background:var(--d1)}.diff-2{background:var(--d2)}.diff-3{background:var(--d3)}.diff-4{background:var(--d4)}.diff-5{background:var(--d5)}.diff-6{background:var(--d6)}.diff-7{background:var(--d7)}.search-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.search-bar input{flex:1;min-width:200px}.chart-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.chart-card{color:var(--text);padding:12px 14px;display:block}.chart-card:hover{border-color:var(--accent);text-decoration:none}.chart-card .title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chart-card .artist{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chart-card .levels{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.pager{justify-content:center;align-items:center;gap:8px;margin-top:20px;display:flex}.song-head h1{margin:0;font-size:22px}.diff-tabs{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.diff-tabs button.active{border-color:var(--accent);background:#1d3448}.song-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}@media (max-width:900px){.song-layout{grid-template-columns:minmax(0,1fr)}}.player-box{padding:12px}.player-box canvas{aspect-ratio:1;touch-action:none;width:100%;display:block}.controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.controls .time{font-variant-numeric:tabular-nums;text-align:right;min-width:7.5em}.timeline{height:28px;margin-top:6px;position:relative}.timeline input[type=range]{width:100%;margin:0;position:absolute;inset:0}.timeline .marker{background:var(--accent-2);pointer-events:none;border-radius:2px;width:3px;height:8px;position:absolute;top:0;transform:translate(-1px)}.settings{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.settings input[type=number]{width:4.5em}.notice{color:var(--muted);margin-top:8px;font-size:13px}.notes-panel{flex-direction:column;gap:10px;max-height:calc(100vh - 120px);padding:12px;display:flex;position:sticky;top:16px}.notes-panel h2{margin:0;font-size:16px}.note-list{flex-direction:column;gap:8px;min-height:80px;display:flex;overflow-y:auto}.note{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;padding:8px 10px}.note.active{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2) inset}.note .meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.note .meta .time{color:var(--accent-2);font-variant-numeric:tabular-nums;background:0 0;border:none;padding:0}.note .body{white-space:pre-wrap;word-break:break-word;margin:4px 0}.note .actions{gap:6px;font-size:12px;display:flex}.note .actions button{padding:2px 8px}.note .actions .liked{border-color:var(--danger);color:var(--danger)}.compose textarea{resize:vertical;width:100%;min-height:70px}.compose .row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.form-card{flex-direction:column;gap:12px;max-width:380px;margin:40px auto;padding:24px;display:flex}.form-card h1{margin:0 0 4px;font-size:20px}.form-card label{flex-direction:column;gap:4px;font-size:14px;display:flex}.stage{position:relative}.caption{border:1px solid var(--border);text-align:center;white-space:pre-wrap;pointer-events:none;background:#080a10d1;border-radius:8px;padding:6px 12px;font-size:15px;position:absolute;bottom:4%;left:8%;right:8%}.timeline .bands{background:var(--panel-2);pointer-events:none;border-radius:3px;height:6px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.timeline .band{opacity:.85;position:absolute;top:0;bottom:0}.guide-list{flex-direction:column;gap:6px;display:flex}.guide-card{text-align:left;flex-direction:column;gap:4px;width:100%;display:flex}.guide-card.selected{border-color:var(--accent);background:#16283a}.guide-card .row{color:var(--muted);gap:8px;font-size:12px;display:flex}.strip{background:var(--bg);border-radius:3px;height:5px;position:relative;overflow:hidden}.strip span{position:absolute;top:0;bottom:0}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tabs button{background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:6px 10px}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.section-item{background:var(--panel-2);cursor:pointer;border-left:4px solid;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.section-item.active{outline:1px solid var(--accent-2)}.intro{white-space:pre-wrap;color:var(--text);margin:0;font-size:14px}.tutorial{flex-direction:column;gap:10px;display:flex}.tutorial .progress{color:var(--muted);font-size:13px}.tutorial h3{margin:0;font-size:18px}.tutorial .text{white-space:pre-wrap;line-height:1.7}.tutorial .buttons{flex-wrap:wrap;gap:6px;display:flex}.step-dots{flex-wrap:wrap;gap:4px;display:flex}.step-dots button{width:22px;height:22px;padding:0;font-size:11px}.step-dots button.current{background:var(--accent);color:#06121f}.editor-item{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.editor-item .row{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.editor-item textarea,.editor-field textarea{resize:vertical;width:100%;min-height:60px}.editor-field{flex-direction:column;gap:4px;font-size:14px;display:flex}.time-input{align-items:center;gap:4px;display:inline-flex}.time-input input{font-variant-numeric:tabular-nums;width:7em}.save-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button.liked{border-color:var(--danger);color:var(--danger)}.editor-item .time{color:var(--accent-2);font-variant-numeric:tabular-nums;background:0 0;border:none;padding:0}
