:root{--bone: #FAF7F1;--bone2: #F1EBE0;--navy: #0E2B4F;--navy2: #42566E;--navy3: #7E8B9B;--red: #C8262E;--redtint: #F7E4E4;--gold: #E8B53C;--goldtint: #FBF1D8;--line: rgba(14, 43, 79, .12);--line2: rgba(14, 43, 79, .2);--sans: "Figtree", system-ui, -apple-system, sans-serif;--disp: "Bricolage Grotesque", "Figtree", sans-serif;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--bone);color:var(--navy);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.disp{font-family:var(--disp);font-weight:500}h1,h2,h3{font-family:var(--disp);font-weight:500;margin:0;color:var(--navy)}input,select,textarea{font-family:var(--sans);width:100%;border:.5px solid var(--line);background:#fff;color:var(--navy);border-radius:var(--r-md);padding:9px 11px;font-size:13px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red)}button{font-family:var(--sans);cursor:pointer}.bp{background:var(--red);color:#fff;border:none;border-radius:var(--r-md);padding:9px 15px;font-size:13px;font-weight:500}.bp:hover{filter:brightness(1.06)}.bp:active{transform:scale(.99)}.bs{background:#fff;color:var(--navy);border:.5px solid var(--line);border-radius:var(--r-md);padding:9px 15px;font-size:13px}.bs:hover{background:var(--bone2)}.bp.full,.bs.full{width:100%}.card{background:#fff;border:.5px solid var(--line);border-radius:var(--r-lg);padding:14px}.chip{border:.5px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:12px;color:var(--navy2);white-space:nowrap}.chip:hover{border-color:var(--red);color:var(--red)}.chip.on{background:var(--navy);color:var(--bone);border-color:var(--navy)}.pill{border:.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:13px;color:var(--navy2)}.pill.on{background:var(--navy);color:var(--bone);border-color:var(--navy)}.tag{background:#0e2b4f12;color:var(--navy);font-size:10px;padding:2px 7px;border-radius:999px;white-space:nowrap}.lang{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500}.play{width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.muted{color:var(--navy2)}.hint{color:var(--navy3);font-size:11px}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--bone);border-right:.5px solid var(--line);display:flex;flex-direction:column;padding:14px 11px}.brand{display:flex;align-items:center;gap:9px;padding:4px 8px 14px}.seal{width:34px;height:34px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.seal>span{width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--bone);display:flex;align-items:center;justify-content:center;font-size:8px}.navlabel{font-size:10px;color:var(--navy3);margin:14px 0 6px;padding-left:10px;display:flex;align-items:center;gap:5px}.navi{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-md);font-size:13px;color:var(--navy2);border:none;background:transparent;width:100%;text-align:left;cursor:pointer}.navi:hover{background:var(--bone2)}.navi.on{background:var(--redtint);color:var(--red);font-weight:500}.navi i{font-size:17px;width:17px}.navi .soon{margin-left:auto;font-size:9px;background:var(--goldtint);color:#6b4e0c;padding:1px 6px;border-radius:999px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;border-bottom:.5px solid var(--line);flex-shrink:0}.content{flex:1;overflow-y:auto;padding:20px 22px}.content-narrow{max-width:760px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}.h-title{font-size:19px}.h-sub{font-size:13px;color:var(--navy2);margin:3px 0 14px}.section-label{font-size:11px;color:var(--navy3);margin:16px 0 8px}.song{background:#fff;border:.5px solid var(--line);border-radius:var(--r-lg);padding:10px 12px;display:flex;align-items:center;gap:10px}.song .t{font-size:13px;font-weight:500;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song .a{font-size:11px;color:var(--navy2)}.rank{width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}.flow-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:.5px solid var(--line);border-radius:var(--r-md);background:#fff}.flow-slot{width:64px;font-size:10px;color:var(--red);font-weight:500;flex-shrink:0}.seedchips,.chiprow{display:flex;gap:7px;flex-wrap:wrap}.row{display:flex;gap:8px}.col{display:flex;flex-direction:column}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}.coming{max-width:540px;margin:24px auto;text-align:center}.coming .badge{display:inline-flex;align-items:center;gap:6px;background:var(--goldtint);color:#6b4e0c;padding:4px 12px;border-radius:999px;font-size:12px}.coming .ring{width:64px;height:64px;border-radius:50%;background:var(--goldtint);display:flex;align-items:center;justify-content:center;margin:14px auto;font-size:28px;color:var(--gold)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-head{text-align:center;font-size:10px;color:var(--navy3);padding-bottom:4px}.cell{aspect-ratio:1;border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:var(--navy);background:#fff;border:.5px solid transparent;cursor:pointer}.cell:hover{border-color:var(--line2)}.cell.svc{background:var(--bone2)}.cell.blank{background:transparent;cursor:default}.cell.sel{border-color:var(--red);background:var(--redtint);color:var(--red);font-weight:500}.dot{width:5px;height:5px;border-radius:50%;margin-top:3px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bone)}.login-card{width:340px;max-width:100%;text-align:center}.thread{border:.5px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:14px}.msg{display:flex;gap:10px;margin-bottom:12px}.msg .av{width:30px;height:30px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.scroll-x{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.az-bar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.az{min-width:26px;text-align:center;border:.5px solid var(--line);background:#fff;color:var(--navy2);border-radius:var(--r-sm);padding:4px 6px;font-size:12px;cursor:pointer}.az:hover{border-color:var(--red);color:var(--red)}.az.on{background:var(--navy);color:var(--bone);border-color:var(--navy)}.az:disabled{opacity:.3;cursor:default}.letter-head{font-family:var(--disp);font-size:14px;color:var(--red);margin:16px 0 7px;padding-bottom:3px;border-bottom:.5px solid var(--line)}.song-line{display:flex;align-items:center;gap:10px;padding:9px 11px;background:#fff;border:.5px solid var(--line);border-radius:var(--r-md)}.song-line:hover{background:var(--bone2)}.song-line .t{font-size:13.5px;color:var(--navy);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-line .a{font-size:11px;color:var(--navy3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-line .k{font-size:12px;color:var(--navy2);flex-shrink:0}@media (max-width: 720px){.sidebar{width:56px;padding:12px 5px}.brand{justify-content:center;padding:4px 0 12px}.brand>div,.navi span,.navlabel span,.navi .soon{display:none}.navi{justify-content:center;padding:9px 0}.navi i{width:auto}.navlabel{justify-content:center;padding-left:0;margin:10px 0 4px}.profile-btn{padding:7px;justify-content:center}.profile-btn .meta,.profile-btn>i{display:none}.pop{left:0;right:auto;width:210px}.topbar{padding:10px 14px}.topbar-ctx{display:none}.content{padding:14px}.tbl-wrap{overflow-x:auto}.page-head{gap:8px}}.ob-field{display:block}.ob-field>span{display:block;font-size:12px;color:var(--navy2);margin-bottom:4px}.ob-lbl{font-size:12px;color:var(--navy2);margin-bottom:6px;font-weight:500}:root{--ok: #3b6d11}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{background:var(--bone2);border-radius:var(--r-md);padding:14px}.stat .label{font-size:12px;color:var(--navy2);display:flex;align-items:center;gap:6px}.stat .value{font-size:26px;font-weight:500;color:var(--navy);margin-top:4px;font-family:var(--disp)}.stat .delta{font-size:11px;margin-top:2px}.delta-up{color:#3b6d11}.delta-down{color:var(--red)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:11px;color:var(--navy3);font-weight:500;padding:8px 10px;border-bottom:.5px solid var(--line)}.tbl td{font-size:12.5px;color:var(--navy);padding:10px;border-bottom:.5px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--bone2)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl-wrap{background:#fff;border:.5px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.tbl-wrap .tbl th:first-child,.tbl-wrap .tbl td:first-child{padding-left:14px}.tbl-wrap .tbl th:last-child,.tbl-wrap .tbl td:last-child{padding-right:14px}.pill-s{font-size:11px;padding:2px 9px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.s-green{background:#eaf3de;color:#3b6d11}.s-amber{background:var(--goldtint);color:#6b4e0c}.s-red{background:var(--redtint);color:var(--red)}.s-gray{background:var(--bone2);color:var(--navy2)}.s-blue{background:#e6f1fb;color:#0c447c}.av-sm{width:26px;height:26px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;flex-shrink:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;flex-wrap:wrap}.bars{display:flex;align-items:flex-end;gap:8px;height:110px}.bars .bar{flex:1;background:var(--navy);border-radius:4px 4px 0 0;min-height:4px;position:relative}.bars .bar.accent{background:var(--red)}.bars .bar .cap{position:absolute;top:-16px;left:0;right:0;text-align:center;font-size:10px;color:var(--navy2)}.bars-x{display:flex;gap:8px;margin-top:6px}.bars-x span{flex:1;text-align:center;font-size:10px;color:var(--navy3)}.profile-wrap{margin-top:auto;padding-top:10px;border-top:.5px solid var(--line);position:relative}.profile-btn{display:flex;align-items:center;gap:9px;width:100%;border:.5px solid var(--line);background:#fff;border-radius:var(--r-md);padding:8px 9px;text-align:left;cursor:pointer}.profile-btn:hover{background:var(--bone2)}.profile-btn .meta{flex:1;min-width:0;line-height:1.15}.profile-btn .meta .n{font-size:12px;color:var(--navy);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-btn .meta .r{font-size:10px;color:var(--navy3)}.pop{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:#fff;border:.5px solid var(--line2);border-radius:var(--r-lg);padding:8px;box-shadow:0 6px 20px #0e2b4f1f;z-index:30}.pop .pop-label{font-size:10px;color:var(--navy3);padding:4px 8px}.pop .pop-item{display:flex;align-items:center;gap:9px;width:100%;border:none;background:transparent;border-radius:var(--r-sm);padding:8px;font-size:12.5px;color:var(--navy);text-align:left;cursor:pointer}.pop .pop-item:hover{background:var(--bone2)}.pop .pop-item.on,.pop .pop-item.on i{color:var(--red)}.pop .pop-item i{font-size:16px;width:16px;color:var(--navy3)}.pop .pop-sep{height:.5px;background:var(--line);margin:6px 0}.ctx-chip{font-size:9px;padding:1px 7px;border-radius:999px;background:var(--navy);color:var(--bone)}.ctx-chip.super{background:var(--red)}.backlink{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--navy2);background:none;border:none;cursor:pointer;padding:0;margin-bottom:10px}.backlink:hover{color:var(--red)}.set-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:.5px solid var(--line)}.set-row:last-child{border-bottom:none}.set-row .k{font-size:13px;color:var(--navy)}.set-row .d{font-size:11px;color:var(--navy3);margin-top:1px}.switch{width:38px;height:22px;border-radius:999px;background:var(--line2);position:relative;cursor:pointer;border:none;flex-shrink:0;transition:background .15s}.switch.on{background:var(--red)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}.switch.on:after{left:18px}
