:root{color:#332c31;font-synthesis:none;background:#fff9fb;font-family:Inter,Noto Sans TC,PingFang TC,system-ui,sans-serif}*{box-sizing:border-box}body{background:#fff9fb;min-width:320px;margin:0}button,input,textarea,select{font:inherit}.page{min-height:100vh}.public-page{max-width:1180px;margin:auto;padding:64px 28px 28px}.hero{text-align:center;padding:44px 20px 34px}.eyebrow{letter-spacing:.18em;color:#b76f86;font-size:12px;font-weight:800}.hero h1,.admin-page h1,.login-card h1{letter-spacing:-.04em;margin:14px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,6vw,72px);line-height:.95}.hero p{color:#746b70;margin:14px auto 28px}.searchbox{background:#ffffffe6;border:1px solid #eadde2;border-radius:999px;align-items:center;max-width:650px;margin:auto;padding:0 18px;display:flex;box-shadow:0 14px 38px #57313d14}.searchbox span{color:#b76f86;font-size:26px}.searchbox input{background:0 0;border:0;outline:0;width:100%;padding:16px 12px;font-size:16px}.filters{background:#ffffffb8;border:1px solid #f0e3e7;border-radius:24px;margin-bottom:28px;padding:20px 22px}.filter-row{align-items:flex-start;gap:18px;padding:8px 0;display:flex}.filter-row b{color:#72676c;min-width:42px;padding-top:8px;font-size:13px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;color:#655a60;background:#fff;border:1px solid #eadde2;border-radius:999px;padding:8px 13px}.chip.active{color:#fff;background:#442f38;border-color:#442f38}.section-title{justify-content:space-between;align-items:end;margin:12px 2px;display:flex}.section-title h2{margin:0;font-family:Georgia,serif;font-size:30px}.section-title span{color:#9a8c92}.song-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.song-card{background:#ffffffe6;border:1px solid #eee2e6;border-radius:22px;flex-direction:column;min-height:210px;padding:20px;display:flex;box-shadow:0 10px 30px #4a2a350f}.song-card-top{align-items:flex-start;gap:13px;display:flex}.note{color:#a45770;background:#fbe8ee;border-radius:13px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.song-card h3{margin:2px 0 6px;font-size:18px}.song-card p{color:#8c7f84;margin:0;font-size:13px}.tag-line{flex-wrap:wrap;gap:6px;margin:18px 0;display:flex}.tag-line span{color:#7b6e73;background:#f5f0f2;border-radius:7px;padding:5px 8px;font-size:11px}.song-actions{justify-content:space-between;gap:10px;margin-top:auto;display:flex}.btn{cursor:pointer;text-align:center;border:0;border-radius:12px;padding:11px 15px;font-weight:700;text-decoration:none}.btn.primary{color:#fff;background:#442f38}.btn.ghost{color:#5d4c53;background:#f7f1f3}.btn:disabled{opacity:.5;cursor:not-allowed}.wide{width:100%}.empty{text-align:center;color:#978a90;padding:70px}footer{text-align:center;color:#a4979c;padding:55px 0 20px;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#23191d73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(520px,100%);max-height:92vh;padding:30px;position:relative;overflow:auto;box-shadow:0 30px 80px #28141d38}.modal h2{margin:8px 0;font-family:Georgia,serif;font-size:32px}.modal-x{cursor:pointer;color:#8f8186;background:0 0;border:0;font-size:28px;position:absolute;top:16px;right:18px}.muted{color:#8f8186}.modal label,.login-card label{gap:7px;margin:16px 0;font-size:13px;font-weight:700;display:grid}.modal input,.modal textarea,.modal select,.login-card input{background:#fff;border:1px solid #e8dce0;border-radius:12px;outline:none;padding:12px}.modal textarea{resize:vertical;min-height:80px}.notice{color:#7b6430;background:#fff4d8;border:1px solid #f3dfaa;border-radius:12px;margin:18px 0;padding:12px;font-size:13px}.admin-login{place-items:center;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #eedfe4;border-radius:26px;width:min(460px,100%);padding:34px;box-shadow:0 24px 70px #4929341a}.login-card h1{font-size:42px}.login-card p{color:#786c71}.error{color:#aa334d;background:#fff0f3;border-radius:10px;margin-bottom:12px;padding:10px}.back-link{text-align:center;color:#8a777f;margin-top:18px;font-size:13px;text-decoration:none;display:block}.admin-page{max-width:1000px;margin:auto;padding:50px 24px}.admin-header{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.admin-page h1{margin-bottom:0;font-size:50px}.admin-actions{gap:10px;display:flex}.admin-list{gap:10px;display:grid}.admin-row{background:#fff;border:1px solid #ecdee3;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.admin-row h3{margin:0 0 5px}.admin-row p{color:#8b7f84;margin:0;font-size:13px}.row-actions{gap:8px;display:flex}.mini{cursor:pointer;background:#fff;border:1px solid #e5d7dc;border-radius:9px;padding:8px 10px}.mini.danger{color:#b8445c}.editor-chips{margin-top:0}.custom-tag{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;margin-top:14px;margin-bottom:8px;display:grid}.custom-tag input{width:100%;min-width:0}.custom-tag .mini{min-height:46px;padding:0 16px}@media (width<=850px){.song-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.public-page{padding:28px 14px}.hero{padding:28px 4px 22px}.song-grid{grid-template-columns:1fr}.filter-row{display:block}.filter-row b{margin-bottom:8px;display:block}.admin-header{flex-direction:column;align-items:flex-start;gap:18px}.admin-actions{width:100%}.admin-actions .btn{flex:1}.admin-row{flex-direction:column;align-items:flex-start}.row-actions{width:100%}.row-actions button{flex:1}}.editor-chips{flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:0;margin-bottom:18px;padding:7px 8px 2px 0;display:flex}.tag-editor-chip{flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.tag-editor-chip>.chip{box-sizing:border-box;text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:58px;height:42px;margin:0;padding:0 16px;line-height:1;display:inline-flex}.tag-editor-chip>.chip.active{padding-left:16px;padding-right:16px}.tag-delete{color:#9d6678;box-sizing:border-box;cursor:pointer;z-index:2;background:#fff;border:1px solid #dfc8d0;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;margin:0;padding:0;font-size:14px;font-weight:500;line-height:1;transition:background .15s,color .15s,border-color .15s,transform .15s;display:flex;position:absolute;top:-7px;right:-7px;box-shadow:0 2px 7px #442f381f}.tag-delete:hover{color:#a93455;background:#fcecf1;border-color:#dca9b9;transform:scale(1.08)}.tag-editor-chip:has(.chip.active) .tag-delete{color:#8c4259;background:#fff5f8;border-color:#d8aebb}.custom-tag{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;width:100%;margin-top:4px;margin-bottom:8px;display:grid}.custom-tag input{box-sizing:border-box;width:100%;min-width:0;height:48px}.custom-tag .mini{white-space:nowrap;justify-content:center;align-items:center;height:48px;min-height:48px;padding:0 18px;display:inline-flex}@media (width<=620px){.editor-chips{gap:11px 12px;margin-bottom:16px;padding-right:7px}.tag-editor-chip>.chip{min-width:54px;height:40px;padding:0 14px}.tag-delete{width:18px;height:18px;font-size:13px;top:-6px;right:-6px}.custom-tag{grid-template-columns:minmax(0,1fr) auto;gap:8px}.custom-tag input,.custom-tag .mini{height:46px;min-height:46px}}.request-status,.admin-request-switch{background:#ffffffd1;border:1px solid #eadde2;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 22px;padding:16px 18px;display:flex;box-shadow:0 8px 28px #4a2a350d}.request-status{justify-content:flex-start}.request-status>div,.admin-request-switch>div{min-width:0}.request-status strong,.admin-request-switch strong{font-size:14px}.request-status p,.admin-request-switch p{color:#81747a;margin:3px 0 0;font-size:12px;line-height:1.6}.status-dot{background:#a89ca1;border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 5px #a89ca11f}.request-status.open .status-dot,.admin-request-switch.open .status-dot{background:#5aa978;box-shadow:0 0 0 5px #5aa9781f}.request-status.closed,.admin-request-switch.closed{background:#faf7f8eb}.switch-title{align-items:center;gap:10px;display:flex}.toggle{cursor:pointer;background:#d9d0d3;border:0;border-radius:999px;flex:none;width:56px;height:32px;transition:all .18s;position:relative}.toggle span{background:#fff;border-radius:50%;width:24px;height:24px;transition:all .18s;position:absolute;top:4px;left:4px;box-shadow:0 2px 8px #321e2626}.toggle.on{background:#5aa978}.toggle.on span{transform:translate(24px)}.toggle:disabled{opacity:.6;cursor:wait}.admin-request-switch{margin-bottom:22px}.request-price{color:#442f38;margin:8px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:700}.request-modal textarea{min-height:105px}.result-page{place-items:center;padding:28px;display:grid}.result-card{text-align:center;background:#fff;border:1px solid #eadde2;border-radius:28px;width:min(560px,100%);padding:38px;box-shadow:0 28px 80px #4929341c}.result-card h1{margin:12px 0;font-family:Georgia,Times New Roman,serif;font-size:42px}.result-card>p{color:#786c71;line-height:1.7}.result-icon{border-radius:50%;place-items:center;width:66px;height:66px;margin:20px auto 6px;font-size:30px;font-weight:800;display:grid}.result-icon.success{color:#3f8e5e;background:#e7f6ed}.result-icon.fail{color:#aa334d;background:#fff0f3}.result-icon.waiting{color:#7b6e73;background:#f5f0f2}.result-order{text-align:left;background:#faf6f8;border-radius:16px;gap:6px;margin:22px 0;padding:18px;display:grid}.result-order b{font-size:18px}.result-order span{color:#665960}.result-order small{color:#8c7f84;white-space:pre-wrap;line-height:1.6}.result-back{margin-top:22px;display:block}.song-actions .btn.primary:disabled{color:#fff;opacity:1;background:#cfc5c9}.admin-row p{line-height:1.55}@media (width<=620px){.request-status,.admin-request-switch{align-items:flex-start}.admin-request-switch{gap:12px}.result-card{padding:28px 22px}.result-card h1{font-size:34px}.request-price{font-size:26px}}.queue-panel,.admin-song-section{margin-top:26px}.queue-panel{background:#ffffffb8;border:1px solid #eadde2;border-radius:24px;padding:22px;box-shadow:0 12px 36px #4a2a350d}.admin-section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:0 0 16px;display:flex}.admin-section-heading h2{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:30px}.admin-section-heading>span{color:#9a8c92;font-size:13px}.queue-heading{align-items:center}.queue-heading p{color:#81747a;margin:5px 0 0;font-size:12px;line-height:1.6}.queue-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 22px;display:grid}.queue-summary>div{background:#faf6f8;border:1px solid #efe2e7;border-radius:16px;gap:3px;padding:15px 16px;display:grid}.queue-summary strong{color:#442f38;font-family:Georgia,Times New Roman,serif;font-size:24px}.queue-summary span{color:#8b7f84;font-size:11px}.queue-block{margin-top:20px}.queue-block-title{justify-content:space-between;align-items:center;margin:0 2px 10px;display:flex}.queue-block-title h3{margin:0;font-size:14px}.queue-block-title span{color:#9a8c92;font-size:12px}.queue-list{gap:10px;display:grid}.queue-card{background:#fff;border:1px solid #ecdee3;border-radius:18px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.queue-number{color:#a45770;background:#fbe8ee;border-radius:13px;place-items:center;width:42px;height:42px;font-family:Georgia,Times New Roman,serif;font-weight:700;display:grid}.queue-main{min-width:0}.queue-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.queue-title-row h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:17px}.queue-title-row strong{white-space:nowrap;color:#6d5860;font-size:13px}.queue-meta{color:#8b7f84;margin:5px 0 0;font-size:12px}.queue-message{color:#655a60;white-space:pre-wrap;overflow-wrap:anywhere;background:#faf6f8;border-radius:10px;margin-top:9px;padding:9px 11px;font-size:13px;line-height:1.55}.queue-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.mini.complete{color:#397b54;background:#f5fbf7;border-color:#cce2d4}.mini.defer{color:#8b6a31;background:#fffaf1;border-color:#ead9bd}.mini.restore{color:#655b8c;background:#f9f8fd;border-color:#d9d4e9}.queue-empty{text-align:center;color:#96898e;background:#ffffff80;border:1px dashed #e6d8dd;border-radius:16px;padding:28px 18px;font-size:13px}.queue-empty.compact{padding:18px}.deferred-block{border-top:1px solid #f0e5e8;padding-top:4px}.queue-card.deferred{background:#fdfaf3}.queue-card.deferred .queue-number{color:#756b91;background:#f0edf6}.admin-song-section{padding-top:8px}.admin-song-section>.admin-list{margin-bottom:10px}@media (width<=720px){.queue-summary{grid-template-columns:1fr 1fr}.queue-summary>div:last-child{grid-column:1/-1}.queue-card{grid-template-columns:42px minmax(0,1fr)}.queue-actions{grid-column:1/-1;justify-content:stretch}.queue-actions .mini{flex:1}.queue-title-row,.queue-heading{align-items:flex-start}.queue-heading .mini{flex:none}}@media (width<=480px){.queue-panel{padding:16px}.queue-summary{grid-template-columns:1fr 1fr}.queue-card{gap:10px;padding:14px 12px}.queue-number{width:38px;height:38px}.queue-title-row{gap:4px;display:grid}.queue-title-row strong{font-size:12px}.admin-section-heading{align-items:flex-start}}.queue-summary{grid-template-columns:repeat(4,1fr)}.queue-card{grid-template-columns:48px minmax(0,1fr) 132px;align-items:stretch}.queue-actions{grid-template-columns:1fr;grid-auto-rows:1fr;justify-content:stretch;align-self:stretch;gap:8px;min-width:132px;display:grid}.queue-actions .mini{white-space:nowrap;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:8px 12px;display:flex}.mini.start{color:#6d587b;background:#fbf8fd;border-color:#d8cfe2}.queue-card.current{background:#fffafb;border-color:#d9bcc7;box-shadow:inset 3px 0 #b76f86}.current-block{margin-top:18px}.current-block .queue-block-title span{letter-spacing:.12em;color:#b76f86;font-weight:800}.obs-admin-links{border-top:1px solid #f0e5e8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin-top:22px;padding-top:18px;display:grid}.obs-admin-links>div{gap:4px;display:grid}.obs-admin-links b{font-size:13px}.obs-admin-links code{color:#8a777f;overflow-wrap:anywhere;background:#faf6f8;border-radius:8px;padding:7px 9px;font-size:12px}html.obs-mode,html.obs-mode body,html.obs-mode body #root{background:0 0!important;margin:0!important}html.obs-mode,html.obs-mode body{width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}html.obs-mode body #root{width:100%!important;height:100%!important;min-height:0!important}.obs-page,.obs-list-page,.obs-card-page{color:#442f38;width:100vw;height:100vh;font-family:Inter,Noto Sans TC,PingFang TC,system-ui,sans-serif;overflow:hidden;background:0 0!important;min-height:0!important}.obs-list-page{justify-content:center;align-items:flex-start;padding:4vh 2vw;display:flex}.obs-board{background:#fff;border:1px solid #eadde2f2;border-radius:26px;flex-direction:column;gap:18px;width:min(40vw,720px);height:min(620px,92vh);padding:20px 26px;display:flex;overflow:hidden;box-shadow:0 18px 48px #4a2a351a}.obs-label{letter-spacing:.08em;color:#6e5861;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:clamp(14px,1.05vw,20px);font-weight:700}.obs-rule{background:#b76f8647;flex:none;height:1px;margin-top:7px}.obs-now{box-sizing:border-box;background:#fff9fb33;border:1px solid #efe2e7c7;border-radius:18px;grid-template-rows:auto auto minmax(0,1fr);height:102px;min-height:102px;padding:11px 16px 10px;display:grid;overflow:hidden}.obs-now-title{color:#3f3036;white-space:nowrap;align-items:center;height:100%;min-height:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,1.75vw,32px);font-weight:700;line-height:1.2;display:flex;overflow:hidden}.obs-now-title.empty{opacity:.45}.obs-now-title-viewport{text-overflow:clip;min-width:0;position:relative}.obs-now-title-track{white-space:nowrap;gap:48px;width:max-content;max-width:none;display:flex;transform:translate(0)}.obs-now-title-track>span{flex:none;display:block}.obs-now-title-track.is-scrolling{animation:12s linear infinite obs-now-marquee}@keyframes obs-now-marquee{0%,12%{transform:translate(0)}88%,to{transform:translate(calc(-50% - 24px))}}.obs-columns{flex:1;grid-template-columns:1fr 1fr;gap:22px;min-height:0;display:grid;overflow:hidden}.obs-columns>section{flex-direction:column;min-width:0;min-height:0;padding:2px 2px 6px;display:flex;overflow:hidden}.obs-song-lines{flex:1;align-content:start;min-height:0;margin-top:12px;overflow:hidden}.obs-song-scroll-viewport{position:relative}.obs-song-scroll-track{will-change:transform;flex-direction:column;gap:14px;display:flex;transform:translateY(0)}.obs-song-scroll-group{flex:none;align-content:start;gap:10px;display:grid}.obs-song-scroll-track.is-scrolling{animation:obs-list-scroll var(--obs-scroll-duration,16s) linear infinite}@keyframes obs-list-scroll{0%,10%{transform:translateY(0)}90%,to{transform:translateY(calc(-1 * var(--obs-scroll-distance,0px)))}}.obs-song-line{color:#54434a;grid-template-columns:2em minmax(0,1fr);align-items:baseline;gap:6px;min-width:0;font-size:clamp(13px,.92vw,18px);line-height:1.35;display:grid}.obs-song-line span{color:#b76f86;font-family:Georgia,Times New Roman,serif;font-size:.74em;font-weight:700}.obs-song-line b{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.obs-song-line.completed b{color:#8a7a80;font-weight:550}.obs-placeholder{color:#b9aeb2;font-size:16px}.obs-card-page{justify-content:center;align-items:center;padding:5vh 3vw;display:flex}.obs-request-card{box-sizing:border-box;color:#442f38;background:#fff;border:1px solid #eadde2fa;border-radius:26px;width:min(50vw,600px);height:336px;padding:24px 26px;overflow:hidden;box-shadow:0 18px 48px #4a2a351c}.obs-card-kicker{letter-spacing:.18em;color:#b76f86;margin-bottom:18px;font-size:11px;font-weight:800}.obs-card-field{gap:5px;display:grid}.obs-card-field>span{letter-spacing:.08em;color:#a07484;font-size:11px;font-weight:800}.obs-card-song{border-bottom:1px solid #b76f8633;padding-bottom:15px}.obs-card-song-title{color:#3c2e34;white-space:nowrap;width:100%;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,2.3vw,38px);font-weight:700;line-height:1.12;overflow:hidden}.obs-card-song-title-track{white-space:nowrap;gap:64px;width:max-content;max-width:none;display:flex;transform:translate(0)}.obs-card-song-title-track>span{flex:none;display:block}.obs-card-song-title-track.is-scrolling{animation:14s linear infinite obs-card-song-marquee}@keyframes obs-card-song-marquee{0%,12%{transform:translate(0)}88%,to{transform:translate(calc(-50% - 32px))}}.obs-card-requester{border:0;border-bottom:1px solid #b76f862e;gap:4px;margin:0;padding:14px 0;display:grid}.obs-card-requester b{color:#554047;font-size:clamp(17px,1.4vw,23px)}.obs-card-message-wrap{padding-top:14px}.obs-card-message{color:#66555c;white-space:nowrap;background:#fff9fb9e;border-radius:14px;padding:11px 13px;font-size:clamp(15px,1.2vw,20px);line-height:1.55;position:relative;overflow:hidden}.obs-card-message-track{white-space:nowrap;width:max-content;max-width:none;display:block;transform:translate(0)}.obs-card-message-track>span{flex:none;display:block}.obs-card-message-track.is-scrolling{gap:56px;animation:14s linear infinite obs-message-marquee;display:flex}@keyframes obs-message-marquee{0%,12%{transform:translate(0)}88%,to{transform:translate(calc(-50% - 28px))}}.obs-request-card.empty{box-sizing:border-box;text-align:center;opacity:.88;flex-direction:column;justify-content:center;width:min(50vw,600px);height:336px;padding:28px 30px;display:flex}.obs-card-waiting-icon{color:#b76f86;background:#fbe8ee;border-radius:14px;place-items:center;width:42px;height:42px;margin:0 auto 12px;font-size:20px;display:grid}.obs-request-card .obs-card-waiting-title{color:#3c2e34;white-space:normal;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,2vw,32px);line-height:1.12}.obs-card-message.waiting{color:#8c7f84;background:0 0;padding:0;overflow:visible}@media (width<=720px){.queue-summary{grid-template-columns:1fr 1fr}.queue-card{grid-template-columns:42px minmax(0,1fr)}.queue-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;min-width:0}.queue-actions .mini{min-height:42px}.obs-admin-links{grid-template-columns:1fr auto}}html.obs-mode:before,html.obs-mode:after,html.obs-mode body:before,html.obs-mode body:after,html.obs-mode #root:before,html.obs-mode #root:after{content:none!important;background:0 0!important;display:none!important}html.obs-mode .obs-list-page,html.obs-mode .obs-list-page:before,html.obs-mode .obs-list-page:after{-webkit-backdrop-filter:none!important;background:0 0!important}html.obs-mode .obs-board{background:var(--obs-list-bg,#ffffff80)!important;background-color:var(--obs-list-bg,#ffffff80)!important;-webkit-backdrop-filter:none!important}.queue-card.completed{opacity:.9}.queue-card.completed .queue-number{font-weight:800}.completed-block .queue-card{grid-template-columns:52px minmax(0,1fr)}.mini.add{color:#3f8158;background:#f3fbf6;border-color:#cfe4d6;font-weight:800}.mini.add:hover{background:#e8f6ed}.mini.add:disabled{opacity:.55;cursor:wait}.admin-song-section .row-actions{align-items:stretch}.admin-song-section .row-actions .mini{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;min-width:64px;height:42px;padding:0 14px;font-size:14px;font-weight:400;line-height:1;display:inline-flex}.admin-song-section .row-actions .mini.add{color:#397b54;background:#f5fbf7;border-color:#cce2d4;font-weight:400}.completed-title-actions{align-items:center;gap:9px;display:flex}.clear-history-btn{color:#9a6b7a;height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #eadde2;border-radius:9px;padding:0 10px;font-size:11px;font-weight:400;line-height:1;transition:all .15s}.clear-history-btn:hover{color:#a4516c;background:#fff7f9;border-color:#dcbec8}.clear-history-btn:disabled{opacity:.5;cursor:not-allowed}.admin-song-heading{align-items:center}.admin-song-tools{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.admin-song-search{color:#b76f86;background:#fff;border:1px solid #eadde2;border-radius:12px;align-items:center;gap:7px;width:min(340px,42vw);height:40px;padding:0 12px;display:flex;box-shadow:0 5px 18px #4a2a3509}.admin-song-search:focus-within{border-color:#cf9daf;box-shadow:0 0 0 3px #b76f8614}.admin-song-search>span{font-size:19px;line-height:1;transform:translateY(-1px)}.admin-song-search input{color:#442f38;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:13px}.admin-song-search input::placeholder{color:#aa9ba1}.admin-song-search input::-webkit-search-cancel-button{cursor:pointer}.admin-song-count{color:#9a8c92;white-space:nowrap;font-size:13px}@media (width<=700px){.admin-song-heading{flex-direction:column;align-items:flex-start}.admin-song-tools{justify-content:space-between;width:100%}.admin-song-search{flex:1;width:min(100%,420px)}}.queue-heading-actions{flex:none;align-items:center;gap:8px;display:flex}.queue-collapse-btn{color:#655a60;cursor:pointer;background:#fff;border:1px solid #eadde2;border-radius:10px;align-items:center;gap:6px;padding:8px 11px;font-size:13px;font-weight:400;line-height:1;text-decoration:none;display:inline-flex}.queue-collapse-btn span{color:#b76f86;font-size:14px}.queue-panel.is-collapsed{padding-bottom:20px}.queue-panel.is-collapsed .admin-section-heading{margin-bottom:0}.queue-panel-body{animation:.16s ease-out queueReveal}@keyframes queueReveal{0%{opacity:.45;transform:translateY(-3px)}to{opacity:1;transform:none}}.obs-preview-btn{color:#655a60;cursor:pointer;background:#fff;border:1px solid #e5d7dc;border-radius:10px;justify-content:center;align-items:center;min-width:56px;height:38px;padding:0 13px;font-size:13px;font-weight:400;line-height:1;transition:border-color .15s,background .15s,color .15s;display:inline-flex;text-decoration:none!important}.obs-preview-btn:link,.obs-preview-btn:visited{color:#655a60;text-decoration:none!important}.obs-preview-btn:hover{color:#a45770;background:#fff7fa;border-color:#dcbfca;text-decoration:none!important}.obs-sound-settings{background:#faf7f8;border:1px solid #eee2e6;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;margin-top:16px;padding:15px 16px;display:grid}.obs-sound-copy{gap:4px;display:grid}.obs-sound-copy b{font-size:13px}.obs-sound-copy span{color:#8a777f;overflow-wrap:anywhere;font-size:12px}.obs-sound-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.sound-action-btn{color:#397b54;height:36px;font:inherit;cursor:pointer;white-space:nowrap;background:#f5fbf7;border:1px solid #d7e7dd;border-radius:9px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:400;text-decoration:none;display:inline-flex}.sound-action-btn:hover{background:#eef8f1}.sound-action-btn.subtle{color:#75676c;background:#fff;border-color:#e5d7dc}.sound-action-btn.disabled,.sound-action-btn:disabled{opacity:.55;cursor:not-allowed}.sound-action-btn.upload{position:relative;overflow:hidden}.sound-action-btn.upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.obs-sound-settings small{color:#9a8c92;grid-column:1/-1;font-size:11px;line-height:1.55}@media (width<=720px){.queue-heading-actions{justify-content:flex-end;width:100%}.obs-sound-settings{grid-template-columns:1fr}.obs-sound-actions{justify-content:flex-start}}.admin-page .btn,.admin-page .mini,.admin-page .queue-collapse-btn,.admin-page .obs-preview-btn,.admin-page .sound-action-btn,.admin-page .clear-history-btn{transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .12s}.admin-page .btn:not(:disabled):hover,.admin-page .mini:not(:disabled):hover,.admin-page .queue-collapse-btn:not(:disabled):hover,.admin-page .obs-preview-btn:hover,.admin-page .sound-action-btn:not(:disabled):not(.disabled):hover,.admin-page .clear-history-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 12px #442f381a}.admin-page .btn:not(:disabled):active,.admin-page .mini:not(:disabled):active,.admin-page .queue-collapse-btn:not(:disabled):active,.admin-page .obs-preview-btn:active,.admin-page .sound-action-btn:not(:disabled):not(.disabled):active,.admin-page .clear-history-btn:not(:disabled):active{transform:translateY(0)scale(.98);box-shadow:0 2px 5px #442f3814}.admin-page .btn.primary:not(:disabled):hover{background:#35242b}.admin-page .btn.ghost:not(:disabled):hover{color:#4f4047;background:#eee4e8}.admin-page .mini:not(:disabled):hover{color:#5b4850;background:#f7eff2;border-color:#d8c1ca}.admin-page .mini.add:not(:disabled):hover,.admin-page .mini.complete:not(:disabled):hover{color:#2f7048;background:#e4f4e9;border-color:#acd1b8}.admin-page .mini.danger:not(:disabled):hover{color:#a83450;background:#fff0f3;border-color:#e5bcc6}.admin-page .mini.defer:not(:disabled):hover{color:#78571e;background:#fff3df;border-color:#e2c996}.admin-page .mini.restore:not(:disabled):hover{color:#574c7c;background:#f0edf9;border-color:#c9c0e1}.admin-page .queue-collapse-btn:not(:disabled):hover,.admin-page .obs-preview-btn:hover{color:#984f67;background:#f5e9ed;border-color:#d6b8c3;text-decoration:none!important}.admin-page .sound-action-btn:not(:disabled):not(.disabled):hover{color:#2f7048;background:#e4f4e9;border-color:#b6d8c1}.admin-page .sound-action-btn.subtle:not(:disabled):not(.disabled):hover{color:#76505e;background:#f5e9ed;border-color:#d6b8c3}.admin-page .clear-history-btn:not(:disabled):hover{color:#994e67;background:#f7e7ec;border-color:#d9b8c4}.queue-header-btn{color:#655a60;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #eadde2;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:76px;height:38px;padding:0 13px;font-size:13px;font-weight:400;line-height:1;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .12s;display:inline-flex}.queue-header-btn:disabled{opacity:.55;cursor:not-allowed}.queue-collapse-btn{gap:8px;padding:0 12px}.queue-collapse-btn .collapse-arrow{transform-origin:50%;border-bottom:1.5px solid #b76f86;border-right:1.5px solid #b76f86;flex:0 0 7px;width:7px;height:7px;display:block}.queue-collapse-btn .collapse-arrow.down{transform:rotate(45deg)translate(-1px,-1px)}.queue-collapse-btn .collapse-arrow.up{transform:rotate(225deg)translate(-1px,-1px)}.admin-page .queue-header-btn:not(:disabled):hover{color:#984f67;background:#f5e9ed;border-color:#d6b8c3;transform:translateY(-1px);box-shadow:0 5px 12px #442f381a}.admin-page .queue-header-btn:not(:disabled):active{transform:translateY(0)scale(.98);box-shadow:0 2px 5px #442f3814}.public-page .btn,.public-page .chip{transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .12s}.public-page .btn:not(:disabled):hover,.public-page .chip:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 12px #442f381a}.public-page .btn:not(:disabled):active,.public-page .chip:not(:disabled):active{transform:translateY(0)scale(.98);box-shadow:0 2px 5px #442f3814}.public-page .btn.primary:not(:disabled):hover{background:#35242b}.public-page .btn.ghost:not(:disabled):hover{color:#4f4047;background:#eee4e8}.public-page .chip:not(.active):not(:disabled):hover{color:#984f67;background:#f5e9ed;border-color:#d6b8c3}.public-page .chip.active:not(:disabled):hover{background:#35242b;border-color:#35242b}.obs-settings-panel{border-top:1px solid #eee2e6;margin-top:22px;padding-top:18px}.obs-settings-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.obs-settings-heading>div{gap:4px;min-width:0;display:grid}.obs-settings-heading b{color:#442f38;font-size:14px}.obs-settings-heading span{color:#9a8c92;font-size:11px}.obs-settings-body{margin-top:14px}.obs-settings-panel.is-collapsed{padding-bottom:0}@media (width<=620px){.obs-settings-heading{align-items:flex-start}.obs-settings-heading>div{padding-top:3px}}.payment-progress-modal{text-align:center}.payment-progress-modal .result-icon{margin:10px auto 14px}.payment-progress-copy{margin-bottom:18px;line-height:1.75}.payment-progress-modal .result-order{text-align:left;margin:18px 0}.payment-progress-modal .notice{text-align:left;margin-top:16px}.revenue-panel{background:#ffffffb8;border:1px solid #eadde2;border-radius:24px;margin-top:26px;padding:22px;box-shadow:0 12px 36px #4a2a350d}.revenue-panel.is-collapsed{padding-bottom:20px}.revenue-panel.is-collapsed .admin-section-heading{margin-bottom:0}.revenue-heading{align-items:center}.revenue-heading p{color:#81747a;margin:5px 0 0;font-size:12px;line-height:1.6}.revenue-panel-body{animation:.16s ease-out queueReveal}.revenue-filter-row{background:#faf6f8;border:1px solid #efe2e7;border-radius:16px;flex-wrap:wrap;align-items:end;gap:10px;padding:16px;display:flex}.revenue-filter-row label{gap:6px;min-width:170px;display:grid}.revenue-filter-row label span{color:#81747a;font-size:11px;font-weight:700}.revenue-filter-row input[type=date]{color:#4f4147;background:#fff;border:1px solid #e5d7dc;border-radius:10px;outline:none;height:40px;padding:0 11px}.revenue-filter-row input[type=date]:focus{border-color:#cfa9b7;box-shadow:0 0 0 3px #b76f861a}.revenue-date-separator{color:#a99ba0;place-items:center;height:40px;display:grid}.revenue-query-btn{color:#fff;background:#442f38;border-color:#442f38;height:40px;margin-left:auto}.admin-page .revenue-query-btn:not(:disabled):hover{color:#fff;background:#35242b;border-color:#35242b}.revenue-range{color:#8b7f84;margin:15px 2px 10px;font-size:12px}.revenue-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.revenue-summary>div{background:#fff;border:1px solid #ecdee3;border-radius:18px;gap:7px;padding:18px;display:grid}.revenue-summary span{color:#8b7f84;font-size:11px}.revenue-summary strong{color:#442f38;font-family:Georgia,Times New Roman,serif;font-size:25px;line-height:1.1}.revenue-summary strong.fee{color:#936576;font-size:21px}.revenue-summary .net{background:#f8f2f4;border-color:#e3cfd6}.revenue-summary .net strong{color:#6d4050;font-size:29px}.revenue-note{color:#9a8c92;margin:12px 2px 0;font-size:11px;line-height:1.7}.revenue-error{color:#aa334d;background:#fff0f3;border-radius:12px;margin-top:12px;padding:12px 14px;font-size:12px}@media (width<=700px){.revenue-summary{grid-template-columns:1fr}.revenue-filter-row{align-items:stretch}.revenue-filter-row label{flex:140px;min-width:0}.revenue-date-separator{display:none}.revenue-query-btn{width:100%;margin-left:0}.revenue-heading{align-items:flex-start}}.obs-list-style-settings{background:#fff;border:1px solid #eadde2;border-radius:16px;margin-bottom:14px;padding:16px 18px}.obs-list-style-heading>div{gap:4px;display:grid}.obs-list-style-heading b{font-size:14px}.obs-list-style-heading span{color:#8b7f84;font-size:12px}.obs-list-style-controls{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr);align-items:end;gap:18px;margin-top:14px;display:grid}.obs-list-style-controls label{margin:0}.obs-color-control input[type=color]{cursor:pointer;background:#fff;border:1px solid #e5d7dc;border-radius:10px;width:48px;height:38px;padding:2px}.obs-color-control code{color:#786c71;font-size:12px}.obs-opacity-control{gap:7px;display:grid}.obs-opacity-control>div{justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.obs-opacity-control input[type=range]{accent-color:#b76f86;width:100%}.obs-opacity-control small{color:#9a8c92;font-size:11px}@media (width<=720px){.obs-list-style-controls{grid-template-columns:1fr}}.obs-settings-body{gap:18px;margin-top:18px;display:grid}.obs-settings-body .obs-admin-links{margin-top:0}.obs-list-style-settings{margin:0;padding:18px 18px 19px}.obs-color-control{grid-template-columns:1fr;align-items:start;gap:9px;font-size:12px;font-weight:700;display:grid}.obs-control-label{color:#332c31;font-size:12px;font-weight:700;display:block}.obs-color-palette{flex-wrap:wrap;gap:8px;display:flex}.obs-color-swatch{cursor:pointer;border:1px solid #dfd2d7;border-radius:8px;width:30px;height:30px;padding:0;box-shadow:inset 0 0 0 1px #ffffff59}.obs-color-swatch.active{outline-offset:2px;outline:2px solid #b76f86}.obs-hex-row{grid-template-columns:34px minmax(0,150px);align-items:center;gap:8px;display:grid}.obs-hex-preview{border:1px solid #dfd2d7;border-radius:8px;width:34px;height:34px;display:block}.obs-hex-row input{color:#5e5056;text-transform:lowercase;background:#fff;border:1px solid #e5d7dc;border-radius:9px;outline:none;width:100%;height:36px;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.obs-hex-row input:focus{border-color:#cfa9b7;box-shadow:0 0 0 3px #b76f861a}.obs-opacity-control{min-height:86px;padding-top:1px}.obs-sound-settings{margin-top:0}@media (width<=720px){.obs-settings-body{gap:14px}.obs-list-style-controls{gap:16px}.obs-hex-row{grid-template-columns:34px minmax(0,1fr)}}.obs-list-style-save-row{border-top:1px solid #f0e4e8;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:14px;display:flex}.obs-list-style-save-row>span{color:#96898e;font-size:11px;line-height:1.5}.obs-list-style-save-btn{min-width:116px;padding:10px 16px}@media (width<=720px){.obs-list-style-save-row{flex-direction:column;align-items:stretch}.obs-list-style-save-btn{width:100%}}.obs-list-style-save-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.obs-list-style-saved{color:#4f8b65;white-space:nowrap;font-size:12px;font-weight:800}.obs-list-style-controls{grid-template-columns:minmax(360px,1fr) minmax(320px,1fr);gap:34px;margin-top:18px}.obs-color-control{gap:10px}.obs-color-picker-row{align-items:flex-start;gap:12px;min-width:0;display:flex}.obs-color-palette{flex:none;grid-template-columns:repeat(8,30px);gap:8px;display:grid}.obs-color-swatch{border-radius:8px;width:30px;height:30px;transition:transform .12s,border-color .12s,box-shadow .12s}.obs-color-swatch:hover{transform:translateY(-1px)}.obs-color-swatch.active{border-color:#b76f86;outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #b76f86}.obs-custom-picker-wrap{flex:none;position:relative}.obs-custom-color-btn{color:#695d62;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dfd2d7;border-radius:9px;align-items:center;gap:7px;height:30px;padding:3px 9px 3px 4px;font-size:11px;font-weight:800;display:flex}.obs-custom-color-btn:hover{border-color:#cdaab7}.obs-custom-color-btn.active{border-color:#b76f86;box-shadow:0 0 0 2px #b76f861f}.obs-custom-color-preview{border:1px solid #3c283024;border-radius:6px;width:22px;height:22px;display:block}.obs-custom-picker-popover{z-index:40;background:#fff;border:1px solid #e6dce0;border-radius:14px;gap:12px;width:260px;padding:12px;display:grid;position:absolute;top:40px;left:0;box-shadow:0 18px 46px #462a3433}.obs-custom-sv{cursor:crosshair;background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#0000);border-radius:10px;height:150px;position:relative;overflow:hidden}.obs-custom-sv:before{content:"";pointer-events:none;background:linear-gradient(90deg,#fff,#fff0);position:absolute;inset:0}.obs-custom-sv:after{content:"";pointer-events:none;background:linear-gradient(#0000,#000);position:absolute;inset:0}.obs-custom-sv-cursor{z-index:2;pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #332c31}.obs-custom-hue-row{grid-template-columns:32px 1fr;align-items:center;gap:10px;display:grid}.obs-custom-current{border:1px solid #dfd2d7;border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 2px #fff}.obs-custom-hue{appearance:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:999px;outline:none;width:100%;height:14px;margin:0}.obs-custom-hue::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border:2px solid #b76f86;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0000002e}.obs-custom-hue::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #b76f86;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0000002e}.obs-custom-hex-field{color:#9a8c92!important;grid-template-columns:42px 1fr!important;align-items:center!important;gap:10px!important;margin:0!important;font-size:11px!important;font-weight:800!important;display:grid!important}.obs-custom-hex-field input{text-transform:uppercase;background:#fff!important;border:1px solid #e5d7dc!important;border-radius:9px!important;height:36px!important;padding:0 10px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}.obs-custom-picker-done{color:#fff;cursor:pointer;background:#442f38;border:0;border-radius:9px;height:34px;font-weight:800}.obs-opacity-control{align-self:start;min-height:0;padding:0}.obs-opacity-control input[type=range],.obs-opacity-control small{margin-top:2px}.obs-list-style-save-row{margin-top:18px;padding-top:16px}@media (width<=920px){.obs-list-style-controls{grid-template-columns:1fr;gap:20px}.obs-color-palette{grid-template-columns:repeat(8,30px)}}@media (width<=620px){.obs-color-picker-row{flex-wrap:wrap}.obs-color-palette{grid-template-columns:repeat(4,30px)}.obs-custom-picker-popover{width:min(260px,100vw - 64px);left:auto;right:0}}.obs-list-style-settings{padding:16px 18px 14px}.obs-list-style-heading{padding-bottom:0}.obs-list-style-controls{align-items:start;gap:28px;margin-top:12px}.obs-color-picker-row{align-items:center}.obs-color-swatch{box-sizing:border-box;width:30px;height:30px}.obs-custom-color-btn{box-sizing:border-box;height:30px;min-height:30px;padding:3px 8px 3px 4px}.obs-custom-color-preview{box-sizing:border-box;width:22px;height:22px}.obs-opacity-control>div{min-height:24px}.obs-opacity-control input[type=range]{margin-top:0}.obs-list-style-save-row{min-height:32px;margin-top:12px;padding-top:10px}.obs-list-style-save-btn{border-radius:10px;min-width:92px;height:34px;min-height:34px;padding:6px 13px;font-size:13px}.obs-list-style-save-actions{gap:9px}@media (width<=920px){.obs-list-style-settings{padding:15px 16px 13px}.obs-list-style-controls{gap:16px}.obs-list-style-save-row{margin-top:10px;padding-top:10px}}.obs-custom-color-btn{border-radius:9px;height:36px;min-height:36px;padding:4px 10px 4px 5px}.obs-custom-color-preview{width:26px;height:26px}.obs-list-style-save-btn{color:#397b54;width:auto;min-width:0;height:36px;min-height:36px;box-shadow:none;background:#f5fbf7;border:1px solid #d7e7dd;border-radius:9px;padding:0 12px;font-size:12px;font-weight:400}.obs-list-style-save-btn:hover{color:#397b54;background:#eef8f1;border-color:#d7e7dd}.obs-list-style-save-btn:active{transform:none}.obs-list-style-save-btn{vertical-align:middle;width:auto;min-width:0;line-height:1}.obs-list-style-save-actions .obs-list-style-save-btn{transform:none;color:#397b54!important;box-shadow:none!important;background:#f5fbf7!important;border:1px solid #d7e7dd!important}.obs-list-style-save-actions .obs-list-style-save-btn:hover{color:#2f7048!important;background:#e4f4e9!important;border-color:#b6d8c1!important}.obs-board{color:var(--obs-list-text,#4f3d45)}.obs-board .obs-label{color:var(--obs-list-accent,#6e5861)}.obs-board .obs-rule{background:var(--obs-list-rule,#b76f8647)}.obs-board .obs-now{background:var(--obs-list-now-bg,#fff9fb33);border-color:var(--obs-list-now-border,#efe2e7c7)}.obs-board .obs-now-title{color:var(--obs-list-text,#3f3036)}.obs-board .obs-song-line{color:var(--obs-list-text,#54434a)}.obs-board .obs-song-line.completed b{color:var(--obs-list-muted,#8a7a80)}.obs-board .obs-placeholder{color:var(--obs-list-muted,#b9aeb2)}.obs-board.is-dark-bg .obs-song-line span{color:#ffffffc2}.obs-board.is-dark-bg,.obs-board.is-dark-bg .obs-now-title,.obs-board.is-dark-bg .obs-song-line,.obs-board.is-dark-bg .obs-song-line b,.obs-board.is-dark-bg .obs-label,.obs-board.is-dark-bg .obs-placeholder{color:#fff!important}.obs-board.is-dark-bg .obs-song-line span,.obs-board.is-dark-bg .obs-song-line.completed b{color:#ffffffc2!important}.obs-board.is-dark-bg .obs-rule{background:#ffffff57!important}.obs-board.is-dark-bg .obs-now{background:#ffffff0f!important;border-color:#ffffff3d!important}.obs-custom-picker-popover{top:auto;bottom:calc(100% + 10px)}@media (width<=620px){.obs-custom-picker-popover{top:auto;bottom:calc(100% + 10px)}}html:not(.obs-mode) body{color:#3f372d;background:radial-gradient(circle at 14% 6%,#b8914921,#0000 30%),radial-gradient(circle at 88% 16%,#775b2e14,#0000 28%),linear-gradient(#fffdf7 0%,#f8f1df 48%,#fffdf8 100%)}html:not(.obs-mode) .searchbox,html:not(.obs-mode) .filters,html:not(.obs-mode) .request-status,html:not(.obs-mode) .admin-request-switch,html:not(.obs-mode) .queue-panel{border-color:#e8dcc0;box-shadow:0 12px 34px #684e2512}html:not(.obs-mode) .chip.active,html:not(.obs-mode) .btn.primary{color:#fff;background:#6f5834;border-color:#6f5834}.batch-import-panel{background:linear-gradient(#fffdf8 0%,#fff 100%);border:1px solid #e4d4b3;border-radius:18px;margin:22px 0 18px;padding:20px;box-shadow:0 8px 28px #702d460b}@media (width<=720px){.batch-import-heading{flex-direction:column}.batch-import-footer{flex-direction:column;align-items:stretch}.batch-import-footer .btn{width:100%}.batch-file-name{max-width:100%}}:root{--shizuru-purple:#7352a3;--shizuru-purple-deep:#574078;--shizuru-purple-mid:#9272bd;--shizuru-purple-soft:#eee6f8;--shizuru-purple-pale:#f8f4fd;--shizuru-purple-border:#ddd0ee;--shizuru-purple-text:#493c58;--shizuru-purple-muted:#81748e}html:not(.obs-mode){background:#fbf8ff}html:not(.obs-mode) body{color:var(--shizuru-purple-text);background-color:#fbf8ff;background-image:radial-gradient(circle at 8% 0,#eadcff 0,#0000 30%),radial-gradient(circle at 95% 12%,#e8e8ff 0,#0000 27%),radial-gradient(circle at 52% 48%,#f4ecffb8 0,#0000 38%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}html:not(.obs-mode) .eyebrow{color:#8865b6}html:not(.obs-mode) .hero p,html:not(.obs-mode) .muted,html:not(.obs-mode) .admin-row p,html:not(.obs-mode) .queue-heading p,html:not(.obs-mode) .batch-import-heading p,html:not(.obs-mode) .batch-file-name{color:var(--shizuru-purple-muted)}html:not(.obs-mode) .searchbox,html:not(.obs-mode) .filters,html:not(.obs-mode) .request-status,html:not(.obs-mode) .admin-request-switch,html:not(.obs-mode) .queue-panel,html:not(.obs-mode) .obs-list-style-settings,html:not(.obs-mode) .obs-sound-settings{border-color:var(--shizuru-purple-border);box-shadow:0 12px 34px #5c3e8013}html:not(.obs-mode) .song-card,html:not(.obs-mode) .admin-row,html:not(.obs-mode) .login-card,html:not(.obs-mode) .modal,html:not(.obs-mode) .result-card{border-color:#ded3eb;box-shadow:0 14px 34px #5c3e8012}html:not(.obs-mode) .searchbox span{color:#8b68b8}html:not(.obs-mode) .chip.active,html:not(.obs-mode) .btn.primary{background:var(--shizuru-purple-deep);border-color:var(--shizuru-purple-deep);color:#fff}html:not(.obs-mode) .btn.primary:hover{background:#493465}html:not(.obs-mode) .btn.ghost{color:#614b7a;background:#f0e8f9}html:not(.obs-mode) .chip{color:#685a75;border-color:#dfd3eb}html:not(.obs-mode) .chip:hover{background:#faf6ff;border-color:#cdb9e2}html:not(.obs-mode) .note,html:not(.obs-mode) .queue-number{color:#74529f;background:#eadff7}html:not(.obs-mode) .tag-line span,html:not(.obs-mode) .queue-summary>div,html:not(.obs-mode) .queue-message,html:not(.obs-mode) .result-order{background:#f4eefb}html:not(.obs-mode) .queue-card.current{background:#fcf9ff;border-color:#c9b3df;box-shadow:inset 3px 0 #8561ae}html:not(.obs-mode) .admin-song-search{background:#fefcff;border-color:#d9cae8}html:not(.obs-mode) .obs-admin-links{border-top-color:#ded2ea}html:not(.obs-mode) .obs-admin-links code{color:#6d5a7b;background:#f5effb}html:not(.obs-mode) .obs-preview-btn:hover{color:#76539f;background:#f8f2fd;border-color:#c9b4dd}html:not(.obs-mode) .obs-settings-heading b{color:#49385d}html:not(.obs-mode) .obs-color-swatch.active{border-color:#8865b6;box-shadow:0 0 0 2px #fff,0 0 0 4px #8865b6}html:not(.obs-mode) .obs-opacity-control input[type=range]{accent-color:#8865b6}html:not(.obs-mode) input:focus,html:not(.obs-mode) textarea:focus,html:not(.obs-mode) select:focus{border-color:#a487c6;box-shadow:0 0 0 3px #8461ae21}html:not(.obs-mode) .batch-import-panel{background:linear-gradient(#fbf7fff5 0%,#fffffff5 100%);border-color:#d9cae8;box-shadow:0 8px 28px #5c3e800e}html:not(.obs-mode) .batch-file-btn,html:not(.obs-mode) .batch-template-link{color:#654b82;background:#f1e9f9;border-color:#cdbbe0}html:not(.obs-mode) .batch-file-btn:hover,html:not(.obs-mode) .batch-template-link:hover{background:#e8dcf5;border-color:#b99ed4}html:not(.obs-mode) .batch-import-help{color:#685978;background:#f5effb}html:not(.obs-mode) .batch-preview-wrap{border-color:#ddd0e9}html:not(.obs-mode) .batch-preview th{color:#5d4775;background:#ece2f6;border-bottom-color:#d4c2e5}html:not(.obs-mode) .batch-preview td{color:#55495f;border-bottom-color:#eee7f5}html:not(.obs-mode) .batch-preview tr.is-duplicate td{color:#755f87;background:#fbf7ff}html:not(.obs-mode) .batch-preview-note{color:#786b84;background:#faf7fd}.obs-card-page .obs-request-card{color:#49385b;border-color:#cdbbe0f5;box-shadow:0 18px 48px #54387621}.obs-card-page .obs-card-kicker{color:#8561ae}.obs-card-page .obs-card-field>span{color:#9475b7}.obs-card-page .obs-card-song{border-bottom-color:#8561ae38}.obs-card-page .obs-card-song-title,.obs-card-page .obs-card-waiting-title{color:#443253}.obs-card-page .obs-card-requester{border-bottom-color:#8561ae2e}.obs-card-page .obs-card-requester b{color:#584365}.obs-card-page .obs-card-message{color:#675772;background:#f7f2fcc2}.obs-card-page .obs-card-waiting-icon{color:#7955a4;background:#eadff7}.obs-card-page .obs-card-message.waiting{color:#83748e;background:0 0}.batch-import-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.batch-import-heading h2{margin:2px 0 4px}.batch-import-heading p{color:#746956;margin:0;font-size:13px}.batch-import-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.batch-file-btn,.batch-template-link{color:#7b5b2d;height:36px;font:inherit;cursor:pointer;white-space:nowrap;background:#f8eed8;border:1px solid #d8c294;border-radius:9px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;text-decoration:none;display:inline-flex}.batch-file-btn:hover,.batch-template-link:hover{background:#f1e2c3;border-color:#cbae72}.batch-file-btn{position:relative;overflow:hidden}.batch-file-btn input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.batch-file-name{color:#756a57;text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:12px;overflow:hidden}.batch-import-help{color:#6d5f49;background:#f8f1e2;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.6}.batch-error{margin-top:12px}.batch-summary{color:#746956;flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0 9px;font-size:12px;display:flex}.batch-summary .ok{color:#397b54}.batch-summary .dup{color:#9a6b25}.batch-summary .bad{color:#a44b56}.batch-preview-wrap{background:#fff;border:1px solid #e3d7bd;border-radius:12px;max-height:360px;overflow:auto}.batch-preview{border-collapse:collapse;width:100%;font-size:12px}.batch-preview th{z-index:1;text-align:left;color:#6c5230;white-space:nowrap;background:#f1e6cf;border-bottom:1px solid #ddcaa3;padding:10px 11px;position:sticky;top:0}.batch-preview td{color:#544a3b;vertical-align:top;border-bottom:1px solid #eee5d3;padding:9px 11px}.batch-preview tr:last-child td{border-bottom:0}.batch-preview tr.is-duplicate td{color:#806b47;background:#fffaf0}.batch-preview tr.is-error td{color:#8e5359;background:#fff5f5}.batch-preview tr.is-imported td{color:#4d705a;background:#f5fbf7}.batch-preview-note{color:#756a57;text-align:center;background:#fdfaf3;padding:9px 11px;font-size:11px}.batch-import-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.batch-import-footer>span{color:#756a57;font-size:12px}.batch-result{color:#397b54;background:#f5fbf7;border:1px solid #cce2d4;border-radius:11px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding:12px 14px;font-size:12px;display:flex}.batch-result strong{font-size:13px}@media (width<=720px){.batch-import-heading{flex-direction:column}.batch-import-footer{flex-direction:column;align-items:stretch}.batch-import-footer .btn{width:100%}.batch-file-name{max-width:100%}}.random-box,.random-admin{background:linear-gradient(135deg,#f7f1fff5,#eee1ffe0 52%,#fffafff5);border:1px solid #68439733;border-radius:24px;margin:22px 0;padding:22px;box-shadow:0 18px 50px #4f317014}.random-box-main{justify-content:space-between;align-items:center;gap:20px;display:flex}.random-box h2,.random-admin h2{margin:4px 0 6px}.random-box p,.random-admin p{color:var(--muted);margin:0}.random-box-action{align-items:center;gap:14px;display:flex}.random-box-action>strong{font-size:22px}.random-pool-toggle{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:12px 0 0;font-weight:700}.random-pool{border-top:1px solid #68439726;margin-top:12px;padding-top:8px}.random-pool>div{justify-content:space-between;gap:12px;padding:8px 2px;display:flex}.supporter-notice{font-size:12px;line-height:1.65}.random-admin-body{margin-top:18px}.random-settings-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.random-settings-row label{align-items:center;gap:8px;display:flex}.random-song-list{border:1px solid #68439724;border-radius:16px;max-height:420px;margin:16px 0;overflow:auto}.random-song-row{border-bottom:1px solid #6843971a;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.random-song-row:last-child{border-bottom:0}.random-song-row label{align-items:center;gap:10px;display:flex}.random-song-row label span{flex-direction:column;display:flex}.random-song-row small{color:var(--muted)}.probability-input{align-items:center;gap:5px;display:flex}.probability-input input{width:90px}.random-total{margin:10px 0;font-weight:800}.random-total.ok{color:#3e7b58}.random-total.bad{color:#b63c5a}.random-badge{color:#633c91;vertical-align:middle;background:#efe1ff;border-radius:999px;margin-right:7px;padding:3px 7px;font-size:11px;display:inline-block}.queue-supporter{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px;font-size:12px;display:flex}@media (width<=700px){.random-box-main{flex-direction:column;align-items:flex-start}.random-box-action{justify-content:space-between;width:100%}.random-settings-row{flex-direction:column;align-items:flex-start}.random-song-row{gap:10px}.probability-input input{width:74px}}.points-summary{background:linear-gradient(135deg,#f8f4fdf5,#ffffffd1);border:1px solid #ded0ee;border-radius:20px;margin-top:18px;padding:18px;box-shadow:0 10px 28px #5c417e0f}.points-summary-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.points-summary-heading h3{color:#493c58;margin:5px 0 4px;font-size:20px}.points-summary-heading p{color:#81748e;max-width:610px;margin:0;font-size:12px;line-height:1.65}.points-total-badge{text-align:right;background:#fff;border:1px solid #d9c8ea;border-radius:14px;flex:none;gap:3px;min-width:150px;padding:12px 14px;display:grid}.points-total-badge span{color:#81748e;font-size:11px}.points-total-badge strong{color:#684d86;font-size:20px}.points-table-head,.points-account-row{grid-template-columns:minmax(220px,1fr) 130px 100px;align-items:center;gap:14px;display:grid}.points-table-head{color:#766488;background:#eee6f8;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:800}.points-table-head span:nth-child(n+2){text-align:right}.points-table-body{margin-top:4px}.points-account-row{border-bottom:1px solid #6843971a;padding:12px;font-size:13px}.points-account-row:last-child{border-bottom:0}.points-account-row>span:nth-child(2),.points-account-row>strong{text-align:right}.points-account-row strong{color:#684d86}.points-email{overflow-wrap:anywhere;color:#493c58;min-width:0;font-weight:700}.points-empty{text-align:center;color:#81748e;background:#ffffff8c;border:1px dashed #d9c8ea;border-radius:12px;margin-top:10px;padding:20px 12px;font-size:13px}@media (width<=700px){.points-summary-heading{flex-direction:column}.points-total-badge{text-align:left;width:100%}.points-table-head{display:none}.points-account-row{grid-template-columns:1fr auto}.points-account-row .points-email{grid-column:1/-1}.points-account-row>span:nth-child(2),.points-account-row>strong{text-align:left}}.style-filter-control{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.style-filter-chips{flex:1;min-width:0}.style-filter-chips.is-collapsed{max-height:42px;padding-bottom:4px;overflow:hidden}.style-filter-toggle{color:#684d86;cursor:pointer;background:#f5effb;border:1px solid #ddd0ee;border-radius:999px;flex:none;height:36px;padding:0 12px;font-size:12px;font-weight:800;transition:all .18s}.style-filter-toggle:hover{background:#ece2f6;border-color:#c8b3df}.style-filter-toggle:active{transform:translateY(1px)}.random-settings-row{gap:12px}.random-settings-row label{margin:0}.random-price-label{color:#574a61;font-size:14px;font-weight:700;align-items:center!important;gap:8px!important;display:flex!important}.random-price-label>span{white-space:nowrap}.random-admin input[type=number],.random-song-searchbox input{color:#4e3e5d;background:#ffffffeb;border:1px solid #d8cae8;border-radius:12px;outline:none;height:42px;padding:0 12px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:inset 0 1px #ffffffa6}.random-admin input[type=number]:focus,.random-song-searchbox:focus-within{border-color:#a989ca;box-shadow:0 0 0 3px #7d53ab1f}.random-settings-row input[type=number]{width:120px}.probability-input input{text-align:right;width:96px!important}.random-equalize-btn{color:#654c80;background:#fff;border-color:#d8cae8;border-radius:12px;height:42px;padding:0 14px;font-weight:700}.random-equalize-btn:hover{background:#f2eaf9;border-color:#bda6d5}.random-checkbox-label{cursor:pointer;min-width:0;align-items:center!important;gap:10px!important;display:flex!important}.random-checkbox-label input[type=checkbox]{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #bca8d2;border-radius:6px;place-items:center;width:20px;min-width:20px;height:20px;margin:0;transition:all .16s;display:grid}.random-checkbox-label input[type=checkbox]:after{content:"✓";color:#fff;font-size:13px;font-weight:900;line-height:1;transition:transform .12s;transform:scale(0)}.random-checkbox-label input[type=checkbox]:checked{background:#7451a0;border-color:#7451a0;box-shadow:0 0 0 3px #7451a01a}.random-checkbox-label input[type=checkbox]:checked:after{transform:scale(1)}.random-checkbox-label input[type=checkbox]:focus-visible{outline-offset:2px;outline:3px solid #7451a029}.random-checkbox-label>span{min-width:0}.random-checkbox-label b{overflow-wrap:anywhere}.random-selected-head{justify-content:space-between;align-items:end;gap:12px;margin:20px 2px 8px;display:flex}.random-selected-head>div{align-items:baseline;gap:8px;display:flex}.random-selected-head strong{color:#4c3d5a;font-size:14px}.random-selected-head span,.random-selected-head small{color:#897794;font-size:12px}.random-selected-empty,.random-search-hint{color:#81728c;background:#ffffff6b;border:1px dashed #68439738;border-radius:14px;padding:16px;font-size:13px}.random-selected-list{max-height:360px;margin:0 0 18px}.random-selected-list .random-song-row{background:#ffffff61}.random-song-search-section{border-top:1px solid #68439721;margin-top:18px;padding-top:18px}.random-song-searchbox{background:#ffffffe6;border:1px solid #d8cae8;border-radius:14px;align-items:center;gap:7px;height:46px;padding:0 10px 0 14px;transition:border-color .18s,box-shadow .18s;display:flex}.random-song-searchbox>span{color:#8263a4;font-size:22px}.random-song-searchbox input{border-radius:0;flex:1;min-width:0;height:42px;box-shadow:none!important;background:0 0!important;border:0!important;padding:0 4px!important}.random-song-searchbox button{color:#70518e;cursor:pointer;background:#efe7f7;border:0;border-radius:9px;width:30px;height:30px;font-size:20px;line-height:1}.random-song-searchbox button:hover{background:#e5d9f1}.random-search-hint{margin-top:10px}.random-search-results{max-height:320px;margin:10px 0 0}.random-search-results .random-song-row:hover{background:#ffffff8c}.random-added-badge{color:#664985;background:#ece1f7;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:800}.random-song-row{min-height:58px}.random-song-row.is-selected{gap:16px}.probability-input{flex:none}@media (width<=700px){.style-filter-control{align-items:stretch;gap:7px}.style-filter-toggle{height:34px}.style-filter-chips.is-collapsed{max-height:40px;padding-bottom:4px}.random-price-label{justify-content:space-between;width:100%}.random-settings-row input[type=number]{width:130px}.random-equalize-btn{width:100%}.random-selected-head{flex-direction:column;align-items:flex-start;gap:4px}.random-song-row.is-selected{flex-direction:column;align-items:flex-start}.probability-input{align-self:flex-end}}.platform-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px;display:grid}.platform-summary>div{background:#ffffff94;border:1px solid #a07dbe38;border-radius:18px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.platform-summary span{opacity:.68;font-size:12px}.platform-summary strong{font-size:28px}.platform-edit-modal{width:min(680px,100vw - 32px);max-height:88vh;overflow:auto}.platform-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.platform-edit-modal>label{flex-direction:column;gap:7px;margin:12px 0;display:flex}@media (width<=700px){.platform-summary{grid-template-columns:repeat(2,1fr)}.platform-feature-grid{grid-template-columns:1fr}}.ecpay-integration-card{background:#ffffffe0;border:1px solid #5d40832e;border-radius:22px;margin:18px 0;padding:22px;box-shadow:0 12px 36px #3f2a5b12}.ecpay-integration-card.connected{border-color:#3b875e3d}.ecpay-integration-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.ecpay-integration-head h2{margin:5px 0 6px}.ecpay-integration-head p{color:#77697f;max-width:720px;margin:0;line-height:1.7}.integration-status{color:#79628c;background:#f4edf8;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.integration-status span{background:currentColor;border-radius:50%;width:8px;height:8px}.integration-status.ok{color:#39865b;background:#eef8f1}.integration-status.off{color:#bd4258;background:#fff0f2}.integration-connected-row{background:#f8f5fa;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:15px 16px;display:flex}.integration-connected-row>div:first-child{flex-direction:column;gap:4px;display:flex}.integration-connected-row span{color:#8b7d92;font-size:12px}.integration-connected-row strong{letter-spacing:.05em;font-size:17px}.integration-actions{flex-wrap:wrap;gap:8px;display:flex}.ecpay-integration-form{border-top:1px solid #5d40831f;margin-top:18px;padding-top:18px}.integration-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.integration-fields label{flex-direction:column;gap:7px;font-size:13px;font-weight:800;display:flex}.integration-fields input{box-sizing:border-box;width:100%}.integration-form-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.integration-form-actions small{color:#8a7b91;line-height:1.5}@media (width<=760px){.ecpay-integration-head,.integration-connected-row,.integration-form-actions{flex-direction:column;align-items:stretch}.integration-fields{grid-template-columns:1fr}.integration-form-actions .btn{width:100%}}html:not(.obs-mode) .chip.active:hover,html:not(.obs-mode) .editor-chips .chip.active:hover{background:var(--shizuru-purple-deep);border-color:var(--shizuru-purple-deep);color:#fff}.integration-fields input{color:#4e3e5d;background:#fffffff0;border:1px solid #d8cae8;border-radius:14px;outline:none;min-height:46px;padding:11px 14px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:inset 0 1px #ffffffb3}.integration-fields input::placeholder{color:#988ba3}.integration-fields input:hover{background:#fff;border-color:#c4b0db}.integration-fields input:focus{background:#fff;border-color:#a989ca!important;box-shadow:0 0 0 3px #7d53ab1f!important}.batch-template-link{font-family:inherit}.platform-custom-css-label{flex-direction:column;gap:7px;display:flex;margin:14px 0!important}.platform-custom-css-label>span{color:#554561;font-weight:800}.platform-custom-css-editor{box-sizing:border-box;resize:vertical;color:#f1e9f7;tab-size:2;background:#211a29;border:1px solid #d8cae8;border-radius:14px;outline:none;width:100%;min-height:280px;padding:14px 16px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;transition:border-color .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff14}.platform-custom-css-editor::placeholder{color:#9688a0}.platform-custom-css-editor:focus{border-color:#a989ca;box-shadow:0 0 0 3px #7d53ab24}.platform-custom-css-label small{color:#85778e;font-size:12px;line-height:1.65}html{scroll-behavior:smooth}.landing-page{--ink:#17141d;--muted:#706a79;--line:#e5e0ea;--paper:#fbfafc;--lav:#ece8ff;--violet:#6f5bd3;--violet-dark:#5140ad;--soft:#f4f1f8;background:var(--paper);min-height:100vh;color:var(--ink);font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;overflow:hidden}.landing-page *{box-sizing:border-box}.landing-page a{color:inherit;text-decoration:none}.landing-nav{z-index:5;border-bottom:1px solid #17141d14;justify-content:space-between;align-items:center;gap:28px;width:min(1360px,100% - 56px);height:88px;margin:0 auto;display:flex;position:relative}.landing-brand{align-items:center;gap:11px;min-width:max-content;display:inline-flex}.landing-brand-mark{border:1px solid var(--ink);width:38px;height:38px;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:12px;place-items:center;font-size:21px;line-height:1;display:grid}.landing-brand span:last-child{flex-direction:column;gap:1px;display:flex}.landing-brand b{letter-spacing:.18em;font-size:14px}.landing-brand small{letter-spacing:.12em;color:var(--muted);font-size:9px}.landing-nav-links{color:#514d59;align-items:center;gap:28px;font-size:13px;font-weight:700;display:flex}.landing-nav-links>a:not(.landing-nav-cta):hover{color:var(--violet)}.landing-nav-cta{border:1px solid var(--ink);background:var(--ink);border-radius:999px;padding:11px 17px;transition:all .18s;color:#fff!important}.landing-nav-cta:hover{transform:translateY(-2px);box-shadow:0 7px 18px #17141d29}.landing-hero{grid-template-columns:.92fr 1.08fr;align-items:center;gap:68px;width:min(1360px,100% - 56px);min-height:680px;margin:0 auto;padding:72px 0 82px;display:grid;position:relative}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#9785ea38 0%,#9785ea14 42%,#9785ea00 70%);border-radius:50%;width:580px;height:580px;position:absolute;top:12px;right:-210px}.landing-kicker{letter-spacing:.24em;color:var(--violet);text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:900;display:inline-flex}.landing-kicker:before{content:"";background:currentColor;width:28px;height:1px}.landing-hero h1{letter-spacing:-.035em;margin:24px 0 28px;font-family:Georgia,Noto Serif TC,Times New Roman,serif;font-size:clamp(48px,5.2vw,82px);font-weight:500;line-height:1.03}.landing-hero h1 em{color:var(--violet);font-style:normal}.landing-hero-copy>p{max-width:650px;color:var(--muted);margin:0 0 30px;font-size:16px;line-height:1.9}.landing-hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:27px;display:flex}.landing-btn{border:1px solid var(--ink);letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:0 20px;font-size:13px;font-weight:800;transition:all .18s;display:inline-flex}.landing-btn:hover{transform:translateY(-2px)}.landing-btn.primary{background:var(--ink);color:#fff;box-shadow:0 8px 24px #17141d21}.landing-btn.primary:hover{background:var(--violet-dark);border-color:var(--violet-dark)}.landing-btn.ghost{background:#fff}.landing-btn.ghost:hover{border-color:var(--violet);color:var(--violet)}.landing-btn.wide{width:100%;margin-top:auto}.landing-hero-points{flex-wrap:wrap;gap:9px;display:flex}.landing-hero-points span{border:1px solid var(--line);color:#77717f;letter-spacing:.05em;background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.landing-hero-visual{min-width:0;padding:18px 0 42px;position:relative}.landing-browser{z-index:1;background:#fff;border:1px solid #dcd6e6;border-radius:22px;position:relative;overflow:hidden;transform:rotate(1.1deg);box-shadow:0 36px 80px #30255129}.landing-browser-bar{background:#faf9fc;border-bottom:1px solid #eeeaf2;align-items:center;gap:7px;height:42px;padding:0 15px;display:flex}.landing-browser-bar i{background:#c8c1d2;border-radius:50%;width:7px;height:7px}.landing-browser-bar span{color:#9d96a6;letter-spacing:.12em;margin-left:9px;font-size:9px}.landing-browser img{aspect-ratio:1.93;object-fit:cover;object-position:top;width:100%;display:block}.landing-float-card{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #ded7e7;border-radius:16px;flex-direction:column;gap:4px;width:260px;padding:17px 18px;display:flex;position:absolute;bottom:4px;left:-26px;box-shadow:0 18px 40px #28203d26}.landing-float-card span{letter-spacing:.2em;color:var(--violet);font-size:9px;font-weight:900}.landing-float-card strong{font-size:13px}.landing-float-card small{color:var(--muted);font-size:11px}.landing-trust-strip{background:var(--ink);color:#fff;letter-spacing:.19em;white-space:nowrap;justify-content:center;align-items:center;gap:25px;height:74px;font-family:Georgia,serif;font-size:14px;display:flex}.landing-trust-strip i{background:#8d7bea;border-radius:50%;width:4px;height:4px}.landing-section{width:min(1240px,100% - 56px);margin:0 auto;padding:112px 0}.landing-section-head{grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:50px;display:grid}.landing-section-head h2,.landing-showcase-copy h2,.landing-ops-copy h2{letter-spacing:-.025em;margin:18px 0 0;font-family:Georgia,Noto Serif TC,serif;font-size:clamp(36px,4vw,58px);font-weight:500;line-height:1.08}.landing-section-head>p{color:var(--muted);max-width:470px;margin:0 0 4px;font-size:14px;line-height:1.9}.landing-feature-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);display:grid}.landing-feature-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:235px;padding:28px 26px 30px;transition:all .18s;display:flex}.landing-feature-card:hover{z-index:1;background:#f8f6ff;position:relative;transform:translateY(-3px);box-shadow:0 16px 38px #372d5312}.landing-feature-no{color:#9e96aa;letter-spacing:.14em;font:700 10px/1 Inter,sans-serif}.landing-feature-card h3{margin:42px 0 10px;font-size:17px}.landing-feature-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.landing-showcase{color:#fff;background:#17141d;grid-template-columns:.72fr 1.28fr;align-items:center;gap:72px;padding:112px max(28px,50vw - 620px);display:grid}.landing-showcase-copy h2{font-size:clamp(38px,4vw,60px)}.landing-showcase-copy>p,.landing-ops-copy>p{color:#b8b1c0;margin:25px 0;font-size:14px;line-height:1.9}.landing-mini-list{border-top:1px solid #36313e;flex-direction:column;gap:0;margin-top:30px;display:flex}.landing-mini-list span{color:#d7d1dc;border-bottom:1px solid #36313e;padding:14px 0;font-size:12px}.landing-mini-list span:before{content:"↳";color:#a99af2;margin-right:10px}.landing-showcase-images{grid-template-columns:1fr .42fr;align-items:end;gap:18px;display:grid}.landing-shot{background:#fff;border:1px solid #ded8e5;border-radius:18px;margin:0;padding:8px;overflow:hidden;box-shadow:0 22px 55px #1f182e21}.landing-shot img{border-radius:11px;width:100%;height:auto;display:block}.landing-shot figcaption{color:#736d79;letter-spacing:.05em;padding:10px 7px 5px;font-size:10px}.landing-shot-small{transform:translateY(25px)}.landing-random-section{padding-bottom:125px}.landing-random-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:22px;display:grid}.landing-random-layout .landing-shot:first-child{margin-top:54px}.landing-flow{grid-template-columns:1fr 38px 1fr 38px 1fr 38px 1fr;align-items:stretch;display:grid}.landing-flow article{border:1px solid var(--line);background:#fff;border-radius:18px;min-height:205px;padding:24px}.landing-flow article>span{background:var(--lav);width:36px;height:36px;color:var(--violet-dark);border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.landing-flow h3{margin:35px 0 9px;font-size:16px}.landing-flow p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.landing-flow>b{color:#aaa3b2;place-items:center;font-weight:400;display:grid}.landing-ops-section{background:linear-gradient(135deg,#f0ecff 0%,#f9f7fb 54%,#ede8f8 100%);border:1px solid #e1dbea;border-radius:34px;grid-template-columns:1.1fr .9fr;align-items:center;gap:76px;width:min(1360px,100% - 56px);margin:10px auto 0;padding:84px 80px;display:grid}.landing-ops-gallery{grid-template-columns:1.18fr .82fr;gap:15px;display:grid}.landing-ops-gallery .landing-shot:first-child{grid-row:span 2}.landing-ops-gallery .landing-shot{box-shadow:0 18px 45px #4536691a}.landing-ops-copy h2{font-size:clamp(36px,3.8vw,56px)}.landing-ops-copy>p{color:#6f6878}.landing-plan-grid{grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto;display:grid}.landing-plan-card{border:1px solid var(--line);background:#fff;border-radius:25px;flex-direction:column;min-height:520px;padding:38px;display:flex}.landing-plan-label{letter-spacing:.2em;color:var(--violet);font-size:10px;font-weight:900}.landing-plan-card h3{margin:17px 0 9px;font-family:Georgia,Noto Serif TC,serif;font-size:36px;font-weight:500}.landing-plan-card>p{color:var(--muted);margin:0 0 28px;font-size:13px;line-height:1.7}.landing-plan-card ul{border-top:1px solid var(--line);margin:0 0 32px;padding:0;list-style:none}.landing-plan-card li{border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.landing-plan-card li:before{content:"✓";color:var(--violet);margin-right:10px;font-weight:900}.landing-cta-section{background:var(--violet-dark);color:#fff;border-radius:34px;justify-content:space-between;align-items:center;gap:50px;width:min(1360px,100% - 56px);margin:0 auto 80px;padding:68px 74px;display:flex;position:relative;overflow:hidden}.landing-cta-section:after{content:"♪";color:#ffffff0b;font:300 340px/1 Georgia,serif;position:absolute;top:-90px;right:23%;transform:rotate(-12deg)}.landing-cta-section>div,.landing-cta-section>a{z-index:1;position:relative}.landing-cta-section .landing-kicker{color:#d8d0ff}.landing-cta-section h2{margin:16px 0 13px;font-family:Georgia,Noto Serif TC,serif;font-size:clamp(34px,4vw,56px);font-weight:500}.landing-cta-section p{color:#d8d1e7;max-width:650px;margin:0;font-size:13px;line-height:1.8}.landing-footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;width:min(1360px,100% - 56px);min-height:150px;margin:0 auto;display:grid}.landing-footer>p{text-align:center;color:#908997;letter-spacing:.06em;font-size:10px}.landing-footer>div:last-child{color:#6f6878;justify-content:flex-end;gap:22px;font-size:11px;font-weight:700;display:flex}.landing-footer>div:last-child a:hover{color:var(--violet)}@media (width<=1050px){.landing-nav{width:min(100% - 34px,1360px)}.landing-nav-links>a:not(.landing-nav-cta){display:none}.landing-hero{grid-template-columns:1fr;gap:25px;width:min(100% - 34px,1360px);padding:62px 0 72px}.landing-hero-copy{max-width:800px}.landing-hero-visual{width:100%;max-width:880px;margin:0 auto}.landing-section{width:min(100% - 34px,1240px);padding:88px 0}.landing-feature-grid{grid-template-columns:repeat(2,1fr)}.landing-showcase{grid-template-columns:1fr;padding:88px max(17px,50vw - 450px)}.landing-showcase-copy{max-width:720px}.landing-showcase-images{max-width:900px}.landing-ops-section{grid-template-columns:1fr;width:min(100% - 34px,1360px);padding:62px 48px}.landing-ops-gallery{order:2}.landing-ops-copy{max-width:720px}.landing-cta-section{width:min(100% - 34px,1360px);padding:55px 48px}.landing-footer{width:min(100% - 34px,1360px)}}@media (width<=720px){.landing-nav{height:72px}.landing-brand-mark{width:34px;height:34px}.landing-brand small{display:none}.landing-nav-cta{padding:9px 13px;font-size:11px}.landing-hero{padding:48px 0 58px}.landing-hero h1{font-size:45px}.landing-hero-copy>p{font-size:14px}.landing-hero-actions{flex-direction:column}.landing-btn{width:100%}.landing-float-card{width:auto;margin:-18px 14px 0;position:relative;bottom:auto;left:auto}.landing-browser{border-radius:15px}.landing-browser img{aspect-ratio:1.55}.landing-trust-strip{justify-content:flex-start;gap:17px;height:60px;padding-left:20px;font-size:11px;overflow:hidden}.landing-section{padding:72px 0}.landing-section-head{grid-template-columns:1fr;gap:20px;margin-bottom:34px}.landing-section-head h2,.landing-showcase-copy h2,.landing-ops-copy h2{font-size:38px}.landing-section-head>p{font-size:13px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card{min-height:190px}.landing-feature-card h3{margin-top:30px}.landing-showcase{gap:42px;padding-top:72px;padding-bottom:72px}.landing-showcase-images{grid-template-columns:1fr}.landing-shot-small{max-width:65%;margin-left:auto;transform:none}.landing-random-layout{grid-template-columns:1fr}.landing-random-layout .landing-shot:first-child{margin-top:0}.landing-flow{grid-template-columns:1fr}.landing-flow>b{height:35px;transform:rotate(90deg)}.landing-ops-section{border-radius:24px;padding:42px 18px}.landing-ops-gallery{grid-template-columns:1fr}.landing-ops-gallery .landing-shot:first-child{grid-row:auto}.landing-plan-grid{grid-template-columns:1fr}.landing-plan-card{min-height:auto;padding:30px 25px}.landing-cta-section{border-radius:24px;flex-direction:column;align-items:flex-start;margin-bottom:50px;padding:43px 25px}.landing-cta-section .landing-btn{width:auto}.landing-footer{grid-template-columns:1fr;gap:20px;padding:35px 0 42px}.landing-footer>p{text-align:left}.landing-footer>div:last-child{justify-content:flex-start}}.landing-page{--ink:#3f3954;--muted:#827b98;--line:#ddd7f1;--paper:#fcfbff;--lav:#eeeaff;--violet:#8170d8;--violet-dark:#6755c0;--soft:#f6f3ff;background:radial-gradient(circle at 84% 9%,#b9acf440 0%,#b9acf400 28%),radial-gradient(circle at 8% 37%,#ded7ff45 0%,#ded7ff00 24%),linear-gradient(#fff 0%,#fbfaff 36%,#f7f4ff 100%)}.landing-brand-mark{color:#6755c0;border-color:#b8aceb;box-shadow:3px 3px #ddd6fb}.landing-brand b,.landing-brand small,.landing-trust-strip,.landing-hero h1,.landing-hero h1 em,.landing-section-head h2,.landing-showcase-copy h2,.landing-ops-copy h2,.landing-plan-card h3,.landing-cta-section h2{font-style:normal;font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif!important}.landing-brand b{font-weight:900}.landing-nav-cta,.landing-btn.primary{box-shadow:0 8px 20px #6f5dca2e;color:#fff!important;background:linear-gradient(135deg,#8774dc,#6f5dca)!important;border-color:#7866cf!important}.landing-nav-cta:hover,.landing-btn.primary:hover{box-shadow:0 11px 26px #6f5dca42}.landing-hero h1{letter-spacing:-.055em;color:#403951;font-weight:850}.landing-hero h1 em{color:#7967d1;font-weight:850}.landing-hero-copy>p{color:#78718b}.landing-browser{border-color:#ded8f4!important;box-shadow:0 30px 70px #5e4e9d29!important}.landing-float-card{border:1px solid #dfd8f5;box-shadow:0 18px 40px #5b4a9721}.landing-trust-strip{color:#655b84;letter-spacing:.16em;background:linear-gradient(110deg,#f0ecfff5,#fdfcfffa 48%,#eae4ffeb);border:1px solid #ddd6f4;border-radius:22px;width:min(1240px,100% - 56px);height:auto;min-height:66px;margin:0 auto 18px;padding:20px 30px;font-size:12px;font-weight:850;box-shadow:0 14px 34px #5b4a9712}.landing-trust-strip i{background:#a393e9}.landing-section-head h2,.landing-showcase-copy h2,.landing-ops-copy h2,.landing-cta-section h2{letter-spacing:-.045em;color:#433c59;font-weight:820}.landing-feature-grid{background:0 0;border:0;gap:14px}.landing-feature-card{background:#ffffffc7;border-radius:20px;box-shadow:0 12px 34px #604e9f0d;border:1px solid #e2dcf3!important}.landing-feature-card:hover{background:#fff;box-shadow:0 18px 40px #604e9f1a}.landing-showcase{color:#433c59;background:linear-gradient(135deg,#efebff 0%,#fbfaff 54%,#e9e3ff 100%);border:1px solid #ded7f2;border-radius:34px;width:min(1360px,100% - 56px);margin:10px auto 0;padding:84px 80px;box-shadow:0 22px 55px #5d4b9a14}.landing-showcase-copy .landing-kicker{color:#7462ca}.landing-showcase-copy>p{color:#756e88}.landing-mini-list{border-top-color:#d9d1ed}.landing-mini-list span{color:#5d566f;border-bottom-color:#d9d1ed}.landing-mini-list span:before{color:#8170d8}.landing-showcase .landing-shot{background:#fff;border-color:#ddd6f0;box-shadow:0 22px 50px #53438a1f}.landing-showcase .landing-shot figcaption{color:#756e88}.landing-ops-section{background:linear-gradient(135deg,#f1edff 0%,#fff 54%,#eee9ff 100%);box-shadow:0 22px 55px #5d4b9a12}.landing-plan-card{border-color:#e1dbf2;box-shadow:0 13px 34px #5d4b9a0d}.landing-plan-card.featured{color:#433c59;background:linear-gradient(145deg,#eee9ff 0%,#ddd4ff 100%);border-color:#cfc4f2;box-shadow:0 24px 55px #5b499921}.landing-plan-card.featured .landing-plan-label{color:#6655bc}.landing-plan-card.featured>p{color:#716982}.landing-plan-card.featured ul{border-color:#cbc1e9}.landing-plan-card.featured li{color:#554e67;border-color:#cbc1e9}.landing-plan-card.featured li:before{color:#6f5dca}.landing-plan-card.featured .landing-btn.primary{color:#fff!important;background:linear-gradient(135deg,#806fd6,#6755c0)!important;border-color:#7563cd!important}.landing-cta-section{background:linear-gradient(125deg,#8c7ae0 0%,#7663cf 45%,#aa9ced 100%);box-shadow:0 22px 60px #5d4b9a29}.landing-cta-section .landing-kicker,.landing-cta-section h2{color:#fff}.landing-cta-section p{color:#f0edff}.landing-btn.light{color:#6655bc!important;background:#fffffff0!important;border-color:#fff!important}@media (width<=1050px){.landing-showcase{width:min(100% - 34px,1360px);padding:62px 48px}.landing-trust-strip{width:min(100% - 34px,1240px)}}@media (width<=720px){.landing-trust-strip{border-radius:17px;width:min(100% - 34px,1240px);min-height:58px;margin-bottom:0;padding:16px 18px}.landing-showcase{border-radius:24px;padding:42px 18px}}.landing-obs-demo{grid-template-columns:1.05fr .95fr;align-items:center}.landing-obs-demo .landing-shot-obs{align-self:center;transform:none}.landing-obs-demo .landing-shot-obs img{aspect-ratio:16/9;object-fit:cover;object-position:center}.landing-theme-gallery{grid-template-rows:1fr 1fr;grid-template-columns:1.05fr .95fr;gap:15px;min-width:0;display:grid}.landing-theme-card{background:#fff;border:1px solid #63529724;border-radius:20px;padding:10px;overflow:hidden;box-shadow:0 18px 45px #4536691a}.landing-theme-card:first-child{grid-row:span 2}.landing-theme-card small{letter-spacing:.04em;color:#736d79;padding:9px 7px 4px;font-size:10px;display:block}.landing-theme-browser{border-radius:13px;flex-direction:column;justify-content:flex-start;align-items:center;height:100%;min-height:150px;padding:20px;display:flex;overflow:hidden}.landing-theme-card:first-child .landing-theme-browser{min-height:320px;padding-top:45px}.landing-theme-browser>span{letter-spacing:.22em;margin-bottom:7px;font-size:7px;font-weight:800}.landing-theme-browser>strong{letter-spacing:.01em;text-align:center;font-family:Arial,Noto Sans TC,sans-serif;font-size:clamp(13px,1.25vw,21px);font-weight:900}.landing-theme-browser>i{opacity:.35;border:1px solid;border-radius:999px;width:62%;height:17px;margin:16px auto 12px;display:block}.landing-theme-tags{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.landing-theme-tags b{border:1px solid;border-radius:999px;padding:4px 8px;font-size:7px;font-weight:700}.landing-theme-songs{grid-template-columns:repeat(3,1fr);gap:6px;width:82%;margin-top:14px;display:grid}.landing-theme-songs em{opacity:.08;background:currentColor;border:1px solid;border-radius:8px;height:45px;display:block}.landing-theme-card.shizuru .landing-theme-browser{color:#655a86;background:radial-gradient(circle at 75% 12%,#ddd6f7 0,#0000 35%),linear-gradient(145deg,#fff 15%,#f1effa 100%)}.landing-theme-card.nyaru .landing-theme-browser{color:#5785a9;background:radial-gradient(circle at 80% 10%,#d7effb 0,#0000 38%),linear-gradient(145deg,#fffdf7 10%,#eef8fc 100%)}.landing-theme-card.morlina{background:#17121e;border-color:#6e5a83}.landing-theme-card.morlina small{color:#cbbfce}.landing-theme-card.morlina .landing-theme-browser{color:#d5b765;background:radial-gradient(circle at 78% 12%,#432d57 0,#0000 40%),linear-gradient(145deg,#100b18 10%,#21142c 100%)}@media (width<=900px){.landing-obs-demo,.landing-theme-gallery{grid-template-columns:1fr}.landing-theme-card:first-child{grid-row:auto}.landing-theme-card:first-child .landing-theme-browser,.landing-theme-browser{min-height:220px;padding-top:28px}}@media (width>=1051px){.landing-showcase{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:92px}.landing-showcase-copy{min-width:0}.landing-showcase-copy h2{white-space:nowrap;font-size:clamp(44px,3.55vw,58px)}.landing-workflow-demo{width:100%;max-width:560px;margin-left:auto;display:block;transform:translate(18px)}.landing-workflow-demo .landing-shot-main{width:100%}}@media (width<=1050px){.landing-workflow-demo{max-width:760px;margin-left:auto;display:block}}@media (width<=720px){.landing-showcase-copy h2{white-space:normal}.landing-workflow-demo{margin:0}}
