:root{--paper: #f7f1e3;--paper-deep: #eee4cf;--ink: #3a2a1e;--ink-soft: #6f6150;--red: #a8462f;--red-dark: #8b3825;--gold: #c8a24a;--line: rgba(168, 70, 47, .22);--serif: "Songti SC", "STSong", "STKaiti", "KaiTi", "SimSun", "Noto Serif CJK SC", serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{background:#dbe9dd;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.app{position:relative;width:100vw;height:100dvh;overflow:hidden}.app canvas{display:block;touch-action:none;cursor:crosshair}.hud{position:absolute;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}.hud>*{position:absolute}.topbar{top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:linear-gradient(to bottom,#f7f1e3db,#f7f1e300)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:44px;height:44px;border-radius:3px;background:var(--red);color:#fff6e8;display:grid;place-items:center;font-family:var(--serif);font-size:17px;letter-spacing:1px;box-shadow:0 2px 8px #78322038}.brand-name{font-family:var(--serif);font-size:19px;letter-spacing:3px;line-height:1.3}.brand-sub{font-size:11px;color:var(--ink-soft);letter-spacing:1px;margin-top:2px}.identity-chip{display:flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;background:#f7f1e3e6;border:1px solid var(--line);border-radius:4px;backdrop-filter:blur(8px)}.chip-dot{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.chip-name{font-family:var(--serif);font-size:15px;letter-spacing:2px}.chip-role{font-size:10px;color:var(--ink-soft);letter-spacing:1px}.status-pill{bottom:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 18px;background:#f7f1e3e0;border:1px solid var(--line);border-radius:999px;font-size:12.5px;letter-spacing:1px;color:var(--ink);white-space:nowrap;backdrop-filter:blur(8px)}.status-dot{width:7px;height:7px;border-radius:50%;background:#b9ae98}.status-dot.active{background:var(--red)}.control-help{left:22px;bottom:22px;padding:13px 16px;background:#f7f1e3e0;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:3px;font-size:12px;color:var(--ink-soft);line-height:1.9;backdrop-filter:blur(8px)}.touch-controls{left:22px;bottom:34px;display:none}.joystick{position:relative;width:118px;height:118px;border-radius:50%;background:#f7f1e38c;border:2px solid rgba(168,70,47,.35);pointer-events:auto;touch-action:none;backdrop-filter:blur(4px)}.joystick-knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--red);box-shadow:0 3px 10px #7832204d;pointer-events:none}.joystick-hint{position:absolute;bottom:-22px;width:100%;text-align:center;font-size:11px;color:var(--ink-soft)}.action-panel{right:22px;bottom:22px;width:292px;padding:14px;background:#f7f1e3eb;border:1px solid var(--line);border-radius:4px;pointer-events:auto;backdrop-filter:blur(10px);box-shadow:0 8px 26px #3c2d1e1f}.communion{padding-bottom:9px;margin-bottom:9px;border-bottom:1px dashed var(--line)}.communion-head{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--ink-soft);font-size:11.5px;letter-spacing:.4px;text-align:left}.communion-title{flex:1}.communion-toggle{color:var(--gold);font-size:10.5px;white-space:nowrap}.communion-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--gold);box-shadow:0 0 0 3px #c8a24a2e}.communion-dot.ok{background:#6f8f56;box-shadow:0 0 0 3px #6f8f562e}.communion-dot.error{background:var(--red);box-shadow:0 0 0 3px #a8462f2e}.communion-dot.connecting{animation:communion-pulse 1.4s ease-in-out infinite}@keyframes communion-pulse{0%,to{opacity:1}50%{opacity:.35}}.communion-body{margin-top:8px}.communion-error{font-size:10px;line-height:1.5;color:var(--red);margin-bottom:6px}.communion-list{list-style:none;margin:0;padding:0}.communion-list li{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:10.5px;color:var(--ink-soft)}.communion-list li.self{color:var(--ink);font-weight:600}.communion-list .rank{width:14px;text-align:center;color:var(--gold)}.communion-list .swatch{width:8px;height:8px;border-radius:50%;flex:none}.communion-list .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.communion-list .score{font-size:10px;color:var(--ink-soft);white-space:nowrap}.communion-empty,.communion-foot{font-size:10px;color:var(--ink-soft);line-height:1.6}.communion-foot{margin-top:6px;opacity:.78}.stat-row{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px dashed var(--line);font-size:11.5px;color:var(--ink-soft);letter-spacing:.5px}.stat-row b{color:var(--ink);font-size:14px;font-weight:600;margin-left:2px}.action-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.act-btn{padding:10px 4px 8px;border:none;border-radius:3px;background:var(--red);color:#fff8ec;font-family:var(--serif);font-size:15px;letter-spacing:2px;transition:background .18s ease}.act-btn span{display:block;margin-top:3px;font:10px var(--sans);letter-spacing:0;opacity:.72}.act-btn:hover:not(:disabled){background:var(--red-dark)}.act-btn.subtle{background:#6f6150}.act-btn.subtle:hover:not(:disabled){background:#574b3d}.act-btn:disabled{background:#cbc0ad;color:#f6f0e3;cursor:not-allowed}.master-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:18px;background:#261d14a8;backdrop-filter:blur(4px);pointer-events:auto}.master-panel{width:min(1080px,94vw);height:min(760px,88vh);display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--gold);border-radius:5px;box-shadow:0 22px 60px #18120c6b;animation:card-in .26s ease}.master-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#efe5d0;border-bottom:1px solid var(--line)}.master-seal{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--red);border-radius:3px;color:var(--red);font-family:var(--serif);font-size:19px}.master-titles{flex:1 1 auto;min-width:0}.master-title{font-family:var(--serif);font-size:15px;letter-spacing:2px;color:var(--ink)}.master-sub{margin-top:2px;font-size:10.5px;color:var(--ink-soft);letter-spacing:.5px}.master-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.master-open{font-size:11px;color:var(--red);text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}.master-open:hover{color:var(--gold)}.master-close{position:static;font-size:24px}.master-stage{position:relative;flex:1 1 auto;min-height:0;background:#fff}.master-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}.master-loading{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:var(--paper);color:var(--ink-soft);font-size:12px;letter-spacing:2px;pointer-events:none}.master-fallback{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--paper);color:var(--ink-soft)}.master-fallback-title{font-family:var(--serif);font-size:17px;color:var(--ink);letter-spacing:1px}.master-fallback p{margin:0;font-size:11.5px;line-height:1.8;max-width:420px}.master-fallback-btn{display:inline-block;padding:9px 22px;border-radius:3px;background:var(--red);color:#fff6e8;text-decoration:none;font-size:12.5px;letter-spacing:1px}.master-fallback-btn:hover{background:var(--red-dark)}button.master-fallback-btn{border:0;font-family:inherit;cursor:pointer}.master-fallback-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.master-fallback-tip{opacity:.78}.master-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 14px;border-top:1px solid var(--line);font-size:10.5px;color:var(--ink-soft)}.master-foot-key{flex:0 0 auto;color:var(--gold);white-space:nowrap}.welcome-backdrop{inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#2a211857;backdrop-filter:blur(3px);pointer-events:auto}.welcome-card{position:relative;width:min(430px,100%);padding:34px 32px 26px;background:var(--paper);border:1px solid var(--line);outline:1px solid rgba(200,162,74,.4);outline-offset:6px;border-radius:3px;text-align:center;box-shadow:0 20px 56px #281e1438}.welcome-seal{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:3px;background:var(--red);color:#fff6e8;display:grid;place-items:center;font-family:var(--serif);font-size:21px}.welcome-eyebrow{margin:0 0 14px;font-size:11.5px;letter-spacing:4px;color:var(--ink-soft)}.welcome-card h1{margin:0 0 16px;font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:3px}.dharma-name{font-family:var(--serif);font-size:52px;letter-spacing:12px;text-indent:12px;line-height:1.25}.dharma-title{margin-top:4px;font-size:12.5px;letter-spacing:2px;color:var(--ink-soft)}.identity-row{display:flex;align-items:center;justify-content:center;gap:7px;margin:20px 0 6px;font-size:11.5px;color:var(--ink-soft)}.robe-swatch{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.robe-swatch.small{width:14px;height:14px}.verse{margin:14px 0 22px;font-family:var(--serif);font-size:14px;letter-spacing:1px;color:var(--red)}.primary-btn{width:100%;padding:12px;border:none;border-radius:3px;background:var(--red);color:#fff8ec;font-family:var(--serif);font-size:17px;letter-spacing:8px;text-indent:8px}.primary-btn:hover{background:var(--red-dark)}.ghost-btn{margin-top:11px;padding:2px 4px;background:transparent;border:none;color:var(--ink-soft);font-size:12px;text-decoration:underline;text-underline-offset:3px}.ghost-btn:hover{color:var(--red)}.welcome-foot{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-soft);line-height:1.7}.ritual-hint{bottom:74px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid rgba(200,162,74,.5);border-radius:999px;background:#3a2a1ee0;color:#f7ecd6;font-size:12px;letter-spacing:1px;white-space:nowrap;box-shadow:0 4px 18px #281e1433;animation:toast-in .22s ease}.ritual-hint b{color:#f0d08a;font-weight:600}.hint-mark{color:#e8bd63}.ritual-hint kbd{background:#ffffff24;border-color:#ffffff4d;color:#fff4dd;border-bottom-width:1px}.hint-alt{margin-left:4px;font-size:10.5px;opacity:.6}.ritual-toast{inset:auto 22px 68px auto;transform:none;max-width:min(300px,calc(100vw - 44px));padding:8px 14px;border-radius:999px;background:var(--red);color:#fff6e8;font-size:11.5px;line-height:1.5;letter-spacing:.6px;white-space:normal;text-align:center;box-shadow:0 6px 20px #78322047;animation:toast-in .22s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ritual-stats{margin-top:8px;font-size:10.5px;color:var(--ink-soft);letter-spacing:1px}.ritual-stats b{color:var(--red);font-size:12px;margin:0 2px}.ritual-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.modal-backdrop{inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:#2a211880;backdrop-filter:blur(4px);pointer-events:auto}.ritual-card{position:relative;width:min(420px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:30px 30px 24px;background:var(--paper);border:1px solid var(--line);outline:1px solid rgba(200,162,74,.45);outline-offset:6px;border-radius:3px;text-align:center;box-shadow:0 20px 56px #281e1447;pointer-events:auto;animation:card-in .26s ease}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal-close{position:absolute;top:8px;right:12px;background:none;border:none;font-size:25px;line-height:1;color:var(--ink-soft)}.modal-close:hover{color:var(--red)}.card-eyebrow{font-size:11px;letter-spacing:4px;color:var(--ink-soft)}.oracle-seal{width:78px;height:78px;margin:16px auto 10px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:16px;letter-spacing:1px;color:var(--red)}.oracle-mood{font-family:var(--serif);font-size:15px;letter-spacing:3px}.oracle-verse{margin:18px 0 16px;font-family:var(--serif);font-size:18px;line-height:2.05;letter-spacing:3px}.oracle-verse p{margin:0}.oracle-note{padding:10px 12px;text-align:left;background:#c8a24a1f;border-left:2px solid var(--gold);font-size:12.5px;line-height:1.7;color:var(--ink-soft)}.oracle-sign{margin-top:12px;font-size:11px;letter-spacing:1px;color:var(--ink-soft)}.modal-buttons{margin-top:18px}.modal-buttons .act-btn{padding:9px 2px 8px;font-size:13px;letter-spacing:1px}.wish-card h2{margin:8px 0 4px;font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:4px}.wish-lead{margin:0 0 18px;font-size:12px;color:var(--ink-soft)}.wish-input-wrap{position:relative}.wish-input{width:100%;padding:12px 54px 12px 12px;border:1px solid var(--line);border-radius:3px;background:#fffaf0;color:var(--ink);outline:none;font-family:var(--serif);font-size:15px;letter-spacing:1px}.wish-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #c8a24a2e}.wish-count{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10.5px;color:#9a8b76}.wish-count.over{color:var(--red)}.wish-error{margin-top:8px;font-size:11.5px;color:var(--red)}.wish-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.wish-quick button{padding:5px 9px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:11px}.wish-quick button:hover{border-color:var(--gold);color:var(--ink)}.wish-submit{margin-top:18px;font-size:15px;letter-spacing:6px}.wish-list-title{margin:20px 0 8px;padding-top:14px;border-top:1px dashed var(--line);text-align:left;font-family:var(--serif);font-size:12px;letter-spacing:2px}.wish-list{text-align:left}.wish-item{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed rgba(168,70,47,.12);font-size:11.5px}.wish-item-text{font-family:var(--serif);color:var(--ink)}.wish-item-meta{flex:0 0 auto;font-size:10px;color:#9a8b76}.ritual-disclaimer{margin:16px 0 0;padding-top:12px;border-top:1px dashed var(--line);text-align:left;font-size:10.5px;line-height:1.7;color:#8a7c68}@media(pointer:coarse){.control-help{display:none}.touch-controls{display:block}}@media(max-width:720px){.topbar{padding:12px 14px}.brand-mark{width:38px;height:38px;font-size:15px}.brand-name{font-size:16px;letter-spacing:2px}.brand-sub{font-size:10px}.identity-chip{padding:6px 10px}.chip-name{font-size:13px}.status-pill{top:58px;bottom:auto;width:max-content;max-width:calc(100% - 28px);padding:6px 12px;font-size:11.5px;white-space:normal;text-align:center}.action-panel{right:12px;bottom:12px;width:calc(100% - 150px);min-width:176px;padding:10px}.stat-row{font-size:10px}.stat-row b{font-size:12px}.action-buttons{gap:5px;margin-top:9px}.act-btn{padding:9px 2px 7px;font-size:13px;letter-spacing:1px}.master-backdrop{padding:0}.master-panel{width:100vw;height:100dvh;border:0;border-radius:0}.master-head{padding:8px 10px;gap:8px}.master-title{font-size:13px;letter-spacing:1px}.master-sub{display:none}.master-open{font-size:10px}.master-foot{font-size:9.5px;padding:6px 10px}.master-foot-key{display:none}.touch-controls{left:12px;bottom:22px}.joystick{width:106px;height:106px}.welcome-card{padding:28px 22px 22px}.dharma-name{font-size:42px}.welcome-card h1{font-size:18px}}@media(max-height:520px){.welcome-card{padding:20px 24px 16px}.welcome-eyebrow{margin-bottom:8px}.dharma-name{font-size:38px}.identity-row{margin-top:12px}.verse{margin:8px 0 14px}.welcome-foot{margin-top:10px;padding-top:8px}.ritual-card{padding:18px 20px 16px}.oracle-seal{width:58px;height:58px;margin:8px auto 6px;font-size:13px}.oracle-verse{margin:10px 0;font-size:15px;line-height:1.8}.wish-list,.wish-list-title{display:none}}@media(max-width:720px){.ritual-hint{display:block;width:max-content;line-height:1.7;top:94px;bottom:auto;max-width:calc(100% - 20px);padding:6px 12px;font-size:11px;white-space:normal;text-align:center}.hint-alt{display:none}.ritual-toast{top:58px;bottom:auto;width:max-content;max-width:calc(100% - 32px);padding:7px 14px;font-size:11.5px;white-space:normal;text-align:center}.hud:has(.ritual-toast) .status-pill{visibility:hidden}.ritual-buttons{gap:5px;margin-top:8px}.ritual-stats{font-size:9.5px}.ritual-card{padding:24px 20px 20px}.oracle-verse{font-size:16px}.modal-buttons{gap:5px}.modal-buttons .act-btn{font-size:11.5px;letter-spacing:0}.communion-body{margin-top:6px}.communion-list li:nth-child(n+4){display:none}}.hud-dot{right:22px;bottom:22px;width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid rgba(200,162,74,.75);border-radius:50%;background:var(--red);color:#fff6e8;font-family:var(--serif);font-size:17px;letter-spacing:0;box-shadow:0 4px 14px #502a1c47;pointer-events:auto;touch-action:manipulation;transition:transform .16s ease,background .16s ease;z-index:12}.hud-dot:hover{transform:scale(1.06)}.hud-dot.is-open{background:#4a3828;border-color:#c8a24ae6}.hud-dot-glyph{line-height:1}.hud-dot-badge{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid var(--paper);box-shadow:0 0 0 2px #c8a24a47}.hud-drawer{right:22px;bottom:70px;width:292px;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;padding:0 0 6px;background:#f7f1e3f5;border:1px solid var(--line);border-radius:5px;box-shadow:0 12px 34px #32241833;backdrop-filter:blur(10px);pointer-events:auto;z-index:11;animation:drawer-in .2s ease}@keyframes drawer-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hud-drawer::-webkit-scrollbar{width:5px}.hud-drawer::-webkit-scrollbar-thumb{background:#a8462f47;border-radius:3px}.drawer-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 11px;background:#efe5d0;border-bottom:1px solid var(--line)}.drawer-brand{display:flex;align-items:center;gap:9px}.drawer-seal{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:3px;background:var(--red);color:#fff6e8;font-family:var(--serif);font-size:17px}.drawer-name{font-family:var(--serif);font-size:15px;letter-spacing:2px}.drawer-close{flex:0 0 auto;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink-soft);font-size:19px;line-height:1}.drawer-close:hover{background:var(--red);color:#fff6e8;border-color:var(--red)}.drawer-audio{flex:0 0 auto;width:26px;height:26px;padding:0;margin-left:auto;border:1px solid var(--line);border-radius:50%;background:transparent;color:#b3a691;font-size:13px;line-height:1}.drawer-audio.on{color:var(--red);border-color:#a8462f6b;background:#a8462f12}.drawer-audio:not(.on){text-decoration:line-through;text-decoration-thickness:1px}.drawer-audio:hover{border-color:var(--gold)}.drawer-identity{display:flex;align-items:center;gap:7px;padding:9px 12px 0;font-size:11px;color:var(--ink-soft)}.drawer-identity .chip-dot{width:16px;height:16px}.drawer-identity-name{font-family:var(--serif);font-size:13px;letter-spacing:1.5px;color:var(--ink)}.drawer-identity-role{margin-left:auto;font-size:10px}.drawer-status{display:flex;align-items:center;gap:7px;margin:8px 12px 0;padding:7px 10px;border:1px solid var(--line);border-radius:3px;background:#fffaf0b3;font-size:11px;line-height:1.5;color:var(--ink);letter-spacing:.4px}.drawer-hint:empty{display:none}.hud-drawer .ritual-hint{position:static;inset:auto;transform:none;display:block;width:auto;max-width:none;margin:8px 12px 0;padding:7px 10px;border:1px dashed rgba(200,162,74,.6);border-radius:3px;background:#c8a24a1a;color:var(--ink-soft);font-size:10.5px;line-height:1.6;white-space:normal;text-align:left;box-shadow:none}.hud-drawer .ritual-hint b{color:var(--red)}.hud-drawer .ritual-hint .hint-mark{color:var(--gold)}.hud-drawer .ritual-hint .hint-alt{display:none}.drawer-section{margin:10px 12px 0}.drawer-body{margin:0 12px}.drawer-body .stat-row{padding-bottom:8px}.hud:has(.hud-drawer) .ritual-toast{top:14px;right:22px;bottom:auto}@media(max-width:720px){.hud-dot{right:12px;bottom:12px;width:42px;height:42px;font-size:18px}.hud-drawer{left:12px;right:12px;bottom:150px;width:auto;max-height:calc(100dvh - 168px)}.ritual-toast{inset:auto 12px 62px auto;transform:none;width:max-content;max-width:calc(100% - 24px);padding:7px 12px;font-size:11px;white-space:normal;text-align:center}.hud:has(.hud-drawer) .ritual-toast{top:10px;right:12px;bottom:auto}.hud-drawer .ritual-hint{top:auto;bottom:auto;display:block}.communion-list li:nth-child(n+4){display:none}}.song-float{position:absolute;left:0;top:0;z-index:9;transition:opacity .16s ease;will-change:transform}.song-float[data-visible="0"]{opacity:0;pointer-events:none}.song-panel{width:236px;max-height:min(52vh,300px);display:flex;flex-direction:column;background:#fbf6eaf7;border:1px solid rgba(200,162,74,.55);border-radius:11px;box-shadow:0 12px 34px #3c281442;overflow:hidden;pointer-events:auto}.song-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 5px 4px 10px;border-bottom:1px solid rgba(168,70,47,.1);background:linear-gradient(180deg,#fffcf4fa,#f7f1e3eb)}.song-title{font-family:var(--serif);font-size:11.5px;letter-spacing:1.5px;color:var(--ink)}.song-close{flex:0 0 auto;width:19px;height:19px;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);font-size:15px;line-height:1}.song-close:hover{background:#a8462f1a;color:var(--red)}.song-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px}.song-row{display:flex;align-items:center;gap:6px;width:100%;margin-bottom:2px;padding:5px 7px;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left}.song-row:hover{background:#ffffffb8}.song-row.active{border-color:#a8462f52;background:#fff4e0}.song-row-icon{flex:0 0 auto;width:10px;text-align:center;font-size:9px;font-style:normal;color:var(--gold)}.song-row.active .song-row-icon{color:var(--red)}.song-row-title{flex:1 1 auto;min-width:0;font-size:11.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-tail{position:absolute;left:50%;bottom:-5px;width:10px;height:10px;transform:translate(-50%) rotate(45deg);background:#fbf6eaf7;border-right:1px solid rgba(200,162,74,.55);border-bottom:1px solid rgba(200,162,74,.55);pointer-events:none}.song-note{padding:8px 6px;font-size:10.5px;color:var(--ink-soft);line-height:1.6}.song-retry{margin-left:5px;padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--red);font-size:10.5px}.song-foot{display:flex;align-items:center;gap:8px;padding:5px 9px 6px;border-top:1px solid rgba(168,70,47,.1)}.song-vol{flex:1 1 auto;min-width:0;height:12px;margin:0;background:transparent;appearance:none;-webkit-appearance:none}.song-vol::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:#6f615042}.song-vol::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:9px;height:9px;margin-top:-3px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:var(--red);box-shadow:0 1px 2px #3c28144d}.song-vol::-moz-range-track{height:3px;border-radius:2px;background:#6f615042}.song-vol::-moz-range-thumb{width:9px;height:9px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:var(--red)}.song-stop{flex:0 0 auto;padding:0;border:0;background:none;font-size:10px;color:var(--ink-soft)}.song-stop:hover{color:var(--red)}.song-pill{display:flex;align-items:center;gap:5px;max-width:196px;padding:4px 10px 4px 8px;border:1px solid rgba(200,162,74,.6);border-radius:999px;background:#3a2a1ee6;color:#f7ecd6;box-shadow:0 4px 16px #281e143d;pointer-events:auto}.song-pill:hover{background:#483424f0}.song-pill-icon{flex:0 0 auto;color:#f0d08a;font-size:11px;line-height:1}.song-pill-title{min-width:0;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:520px){.song-panel{width:214px;max-height:44vh}}
