:root{--pink: #ffb6d5;--pink-soft: #ffd9ea;--pink-bg: #fff0f7;--lav: #c9b6ff;--lav-soft: #e4dbff;--lav-bg: #f5f0ff;--mint: #b8ecd8;--butter: #ffe9a8;--ink: #6b5876;--ink-soft: #9d8ba8;--card: #fffafd;--shadow: 0 8px 24px rgba(186, 142, 196, .18);--radius: 22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:transparent transparent}html.is-scrolling{scrollbar-color:var(--pink) transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:transparent;border-radius:999px}html.is-scrolling::-webkit-scrollbar-thumb{background-color:var(--pink)}::-webkit-scrollbar-corner{background:transparent}body{margin:0;font-family:ui-rounded,SF Pro Rounded,Hiragino Maru Gothic ProN,Quicksand,system-ui,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 15% -5%,var(--pink-soft),transparent 60%),radial-gradient(1100px 700px at 95% 0%,var(--lav-soft),transparent 55%),linear-gradient(160deg,var(--pink-bg),var(--lav-bg));background-attachment:fixed;min-height:100vh;line-height:1.5}.titlebar{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:var(--pink-soft);color:#7a5a92;font-size:13px;font-weight:700;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.update-banner{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;align-items:center;gap:10px;max-width:340px;background:var(--card);border:2px solid #fff;border-radius:16px;box-shadow:var(--shadow);padding:12px 16px;font-size:12.5px;color:var(--ink)}.update-banner button{flex:none;border:none;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;font-family:inherit;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--pink),var(--lav));box-shadow:0 3px 10px #b06a964d;transition:transform .14s ease}.update-banner button:hover:not(:disabled){transform:translateY(-1px)}.update-banner button:disabled{opacity:.65;cursor:not-allowed}.engine-badge{position:fixed;right:16px;bottom:16px;left:16px;z-index:90;max-width:340px;margin-left:auto;font-size:12px;font-weight:700;line-height:1.4;color:#7a5a92;background:var(--lav-bg);border:2px solid #fff;border-radius:16px;padding:10px 16px;box-shadow:var(--shadow)}.wrap{max-width:1040px;margin:0 auto;padding:32px 20px 80px}header.hero{text-align:center;margin-bottom:28px}header.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 6px;letter-spacing:.5px;color:#b06a96;text-shadow:0 2px 0 #fff}header.hero p{margin:0;color:var(--ink-soft);font-size:15px}.settings-btn{background:none;border:none;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;padding:.5rem;transition:background .15s ease,transform .15s ease}.settings-btn:hover{background:#fff9;transform:rotate(20deg)}.latest-banner{background:#ffffffb8;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);border:1.5px solid rgba(255,255,255,.9);border-radius:999px;padding:9px 20px;display:inline-flex;gap:8px;align-items:center;margin-top:16px;box-shadow:0 6px 18px #ba8ec438;font-size:14px}.record-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:18px auto 0;max-width:520px}.record-panel input[type=text]{flex:1 1 240px;min-width:0;padding:11px 16px;border:2px solid #fff;border-radius:999px;background:#ffffffbf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:inherit;font-size:13.5px;color:var(--ink);box-shadow:var(--shadow);transition:border-color .15s ease,background .15s ease}.record-panel input[type=text]::placeholder{color:var(--ink-soft)}.record-panel input[type=text]:focus{outline:none;border-color:var(--pink);background:#fff}.record-panel button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border:none;border-radius:999px;font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--pink),var(--lav));box-shadow:0 4px 14px #b06a9659;transition:transform .14s ease,box-shadow .14s ease}.record-panel button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #b06a9673}.record-panel button:active{transform:translateY(0) scale(.97)}.record-panel button.is-recording{background:linear-gradient(135deg,#ff8a80,#ff6f9c);animation:record-pulse 1.6s ease-in-out infinite}@keyframes record-pulse{0%,to{box-shadow:0 0 #ff6f9c73}50%{box-shadow:0 0 0 10px #ff6f9c00}}@media (prefers-reduced-motion: reduce){.record-panel button.is-recording{animation:none}}.record-panel .saving{font-size:13.5px;color:var(--ink-soft);background:var(--pink-bg);padding:10px 18px;border-radius:999px}.record-panel .rec-error{font-size:13px;color:#c84545;background:#ffe8e8;border:1.5px solid #ffcccc;padding:8px 16px;border-radius:999px}.record-panel .retry{background:transparent;color:var(--ink-soft);border:1.5px solid #f0dcea;box-shadow:none}.record-panel .retry:hover{background:#fafafa;box-shadow:none;transform:none}section{margin-top:34px}.section-title{font-size:20px;margin:0 0 14px;color:#8a6aa8;display:flex;align-items:center;gap:8px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.stat{background:var(--card);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow);border:2px solid #fff}.stat .label{font-size:13px;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:baseline}.stat .value{font-size:30px;font-weight:700;color:#b06a96;margin:2px 0 4px}.stat .value small{font-size:14px;font-weight:600;color:var(--ink-soft)}.stat .sub{font-size:12px;color:var(--ink-soft);min-height:16px}.stat.resonance{grid-column:1 / -1}.res-desc{font-size:12.5px;color:var(--ink-soft);margin:2px 0 14px}.res-desc b{color:#b06a96}.fgauge{margin:14px 0}.fgauge.is-clickable{cursor:pointer;border-radius:14px;padding:8px 10px;margin:6px -10px;transition:background .15s ease,box-shadow .15s ease}.fgauge.is-clickable:hover,.fgauge.is-clickable:focus-visible{background:var(--pink-bg);box-shadow:0 4px 14px #ba8ec429;outline:none}.fgauge-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;gap:8px}.fgauge-head .fname b{color:#7a5a92;font-size:14px}.fgauge-head .fname span{color:var(--ink-soft);font-size:11.5px}.fgauge-head .fval{font-weight:700;color:#b06a96;white-space:nowrap}.fgauge-head .fval .pill{margin-left:6px}.fends{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-soft);margin-top:3px}.res-summary{margin-top:10px;font-size:13px;background:var(--pink-bg);border-radius:12px;padding:11px 13px;color:#7a5a92}.res-f1{font-size:12px;color:var(--ink-soft);margin-top:10px;background:var(--lav-bg);border-radius:11px;padding:9px 11px}.res-f1 b{color:#7a5a92}.zonebar{position:relative;height:12px;border-radius:8px;margin:12px 0 6px;overflow:hidden}.zonebar .seg{position:absolute;top:0;bottom:0}.zone-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-soft)}.marker{position:absolute;top:-4px;width:4px;height:20px;background:#5a4566;border-radius:3px;box-shadow:0 0 0 2px #fff;transform:translate(-2px)}.pill{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;font-weight:700}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.chart-card{background:var(--card);border-radius:var(--radius);padding:16px 16px 10px;box-shadow:var(--shadow);border:2px solid #fff}.chart-card h3{margin:0 0 2px;font-size:15px;color:#8a6aa8}.chart-card .cap{font-size:11px;color:var(--ink-soft);margin:0 0 8px}.rec-grid{display:grid;grid-template-columns:1fr;gap:14px}.rec{background:var(--card);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);border:2px solid #fff;display:grid;grid-template-columns:1fr;gap:10px}.rec .top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.rec .num{background:#ffffffd9;color:#b06a96;border:2px solid var(--pink);font-weight:700;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 3px 8px #b06a9638}.rec .label-txt{font-weight:700;font-size:16px;color:#855}.rec .date{font-size:12px;color:var(--ink-soft)}.rec .metrics{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--lav-bg);border-radius:12px;padding:6px 11px;font-size:12px;display:flex;flex-direction:column;gap:1px;min-width:78px}.chip b{font-size:15px;color:#7a5a92}.chip span{color:var(--ink-soft);font-size:10px}.rec .note{font-size:13px;color:var(--ink-soft);font-style:italic}.rec-delete{background:none;border:none;cursor:pointer;font-size:15px;line-height:1;padding:5px 7px;border-radius:50%;opacity:.55;transition:opacity .15s ease,background .15s ease,transform .15s ease}.rec-delete:hover{opacity:1;background:#ffe8e8;transform:scale(1.08)}.rec-confirm,.danger-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;color:#c84545;background:#ffe8e8;border:1.5px solid #ffcccc;border-radius:12px;padding:9px 13px}.rec-confirm-yes{border:none;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;font-family:inherit;color:#fff;background:#e05d5d;cursor:pointer;transition:background .15s ease}.rec-confirm-yes:hover:not(:disabled){background:#c84545}.rec-confirm-no{border:1.5px solid #f0dcea;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;font-family:inherit;color:var(--ink-soft);background:transparent;cursor:pointer;transition:background .15s ease}.rec-confirm-no:hover:not(:disabled){background:#fafafa}.rec-confirm-yes:disabled,.rec-confirm-no:disabled{opacity:.65;cursor:not-allowed}.player{display:flex;align-items:center;gap:12px;margin-top:4px;padding:9px 13px;background:var(--lav-bg);border-radius:16px;transition:box-shadow .18s ease,background .18s ease}.player:hover{background:#f1eaff;box-shadow:0 6px 18px #ba8ec429}.player .wave{cursor:pointer}.player .play{flex:0 0 auto;width:38px;height:38px;border:none;border-radius:50%;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--pink),var(--lav));box-shadow:0 3px 8px #b06a9659;display:flex;align-items:center;justify-content:center;transition:transform .12s ease}.player .play:hover{transform:scale(1.06)}.player .play:active{transform:scale(.95)}.player .wave{flex:1 1 auto;min-width:0}.player .time{flex:0 0 auto;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.player .time span{opacity:.65}.player .vol{flex:0 0 auto;display:flex;align-items:center;gap:6px}.player .vol input[type=range]{width:62px;accent-color:var(--pink);cursor:pointer}@media (max-width: 520px){.player .vol{display:none}}.player .dl{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b06a96;background:#ffffffb3;border:1.5px solid var(--pink-soft);text-decoration:none;transition:transform .12s ease,background .12s ease,border-color .12s ease}.player .dl:hover{background:#fff;border-color:var(--pink);transform:translateY(1px)}.player .dl:active{transform:scale(.94)}details.cheat{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid #fff;padding:4px 20px;margin-top:4px}details.cheat summary{cursor:pointer;list-style:none;font-size:18px;color:#8a6aa8;padding:12px 0;font-weight:700;-webkit-user-select:none;user-select:none}details.cheat summary::-webkit-details-marker{display:none}details.cheat summary:after{content:" ▾";color:var(--ink-soft);font-size:14px}details.cheat[open] summary:after{content:" ▴"}.gloss{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;padding:6px 0 18px}.gloss-item{background:var(--lav-bg);border-radius:16px;padding:14px}.gloss-item h4{margin:0 0 4px;font-size:14px;color:#7a5a92;display:flex;gap:6px;align-items:center}.gloss-item p{margin:0 0 6px;font-size:12.5px;color:var(--ink)}.gloss-item .guide{font-size:12px;color:#7a5a92;background:#fff;border-radius:10px;padding:6px 9px;margin-bottom:6px}.gloss-item .tip{font-size:12px;color:var(--ink-soft)}.gloss-note{grid-column:1 / -1;font-size:12px;color:var(--ink-soft);font-style:italic;background:var(--pink-bg);border-radius:12px;padding:10px 12px}.empty{text-align:center;color:var(--ink-soft);padding:50px 20px}footer{text-align:center;color:var(--ink-soft);font-size:12px;margin-top:50px}a.legend-link{color:#b06a96}.picker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}.picker .picker-label{font-size:12px;color:var(--ink-soft);margin-right:2px}.picker button{font-family:inherit;cursor:pointer;border:2px solid #fff;background:var(--card);color:var(--ink-soft);border-radius:999px;padding:7px 14px;font-size:13px;box-shadow:var(--shadow);transition:color .15s,background .15s}.picker button:hover{color:#b06a96}.picker button.active{background:linear-gradient(135deg,var(--pink-soft),var(--lav-soft));color:#b06a96;font-weight:700}.contour-card{background:var(--card);border-radius:var(--radius);padding:14px 16px 8px;box-shadow:var(--shadow);border:2px solid #fff}.contour{display:block}.posbars{display:flex;gap:18px;align-items:flex-end;height:130px;padding:0 6px}.posbar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.posbar-track{width:46px;height:100%;display:flex;align-items:flex-end;background:var(--lav-bg);border-radius:10px;overflow:hidden}.posbar-fill{width:100%;border-radius:10px 10px 0 0;transition:height .4s ease}.posbar-val{font-weight:700;color:#5e7fb8;font-size:14px;margin-top:6px}.posbar-lbl{font-size:11px;color:var(--ink-soft);text-align:center}.insight{background:var(--card);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);border:2px solid #fff}.insight h3{margin:0 0 4px;font-size:18px;color:#b06a96}.insight .insight-sub{font-size:13px;color:var(--ink-soft);margin:0 0 16px}.insight p{font-size:13.5px;color:var(--ink)}.insight .drill{background:var(--lav-bg);border-radius:14px;padding:12px 14px;font-size:13px;margin-top:10px}.insight .drill b{color:#7a5a92}.insight-placeholder{background:var(--card);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow);border:2px dashed #e7ddef;color:var(--ink-soft);font-size:13.5px;text-align:center}.insight-badges{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.insight-badge{font-size:12px;padding:4px 11px;border-radius:999px;font-weight:700;background:var(--pink-bg);color:#b06a96}.insight-placeholder button{margin-top:14px;padding:11px 22px;border:none;border-radius:999px;font-family:inherit;font-size:13.5px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--pink),var(--lav));box-shadow:0 4px 14px #b06a9659;transition:transform .14s ease,box-shadow .14s ease}.insight-placeholder button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #b06a9673}.insight-placeholder button:disabled{opacity:.65;cursor:not-allowed;transform:none}.insight button{padding:7px 16px;border:1.5px solid var(--pink);border-radius:999px;background:#fff;color:#b06a96;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .15s ease}.insight button:hover:not(:disabled){background:var(--pink-bg)}.insight button:disabled{opacity:.65;cursor:not-allowed}.take-hint{margin:-6px 0 14px;font-size:12.5px;color:#b06a96;background:var(--pink-bg);border:1.5px solid #ffe3f0;border-radius:999px;padding:6px 14px;display:inline-block;font-weight:600}.stat.is-clickable{position:relative;cursor:pointer;border-color:#ffe3f1;background:linear-gradient(180deg,#fffafd,#fff4fa);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.stat.is-clickable:hover,.stat.is-clickable:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px #ba8ec447;outline:none}.stat.is-clickable:focus-visible{border-color:var(--pink)}.stat-expand{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--pink-bg);color:#d784ac;font-size:.78em;box-shadow:inset 0 0 0 1.5px #ffdcec;transition:background .16s ease,color .16s ease,transform .16s ease;pointer-events:none}.stat.is-clickable .label{padding-right:30px}.stat.is-clickable:hover .stat-expand,.stat.is-clickable:focus-visible .stat-expand{background:var(--pink);color:#fff;transform:scale(1.08)}.stat-tap{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:#cf86b0;text-transform:lowercase}.stat-tap:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pink)}.fgauge-expand{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;width:20px;height:20px;border-radius:50%;background:var(--pink-bg);color:#d784ac;font-size:.72em;box-shadow:inset 0 0 0 1.5px #ffdcec;vertical-align:-.22em;transition:background .16s ease,color .16s ease,transform .16s ease}.fgauge.is-clickable:hover .fgauge-expand,.fgauge.is-clickable:focus-visible .fgauge-expand{background:var(--pink);color:#fff;transform:scale(1.08)}.mm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#78608a47;backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);animation:mm-fade .2s ease both}@keyframes mm-fade{0%{opacity:0}to{opacity:1}}.mm-card{position:relative;width:min(640px,100%);background:var(--card);border-radius:26px;border:2px solid #fff;box-shadow:0 24px 60px #966ea557;padding:26px 28px 22px;transform-origin:var(--ox, 50%) var(--oy, 50%);animation:mm-pop .34s cubic-bezier(.22,1.2,.36,1) both}@keyframes mm-pop{0%{opacity:0;transform:scale(.86) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.mm-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;border-radius:50%;background:var(--pink-bg);color:#b06a96;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .15s ease}.mm-close:hover{background:var(--pink-soft);transform:rotate(90deg)}.mm-head h3{margin:0 36px 4px 0;font-size:19px;color:#b06a96}.mm-head p{margin:0 0 22px;font-size:12.5px;color:var(--ink-soft)}.mm-scale-wrap{position:relative;margin:0 6px 8px}.mm-row{position:relative;height:30px}.mm-row-take{height:34px}.mm-band-wrap{position:relative;height:18px}.mm-band{position:relative;height:18px;border-radius:9px;overflow:hidden;box-shadow:inset 0 0 0 1px #966ea514}.mm-seg{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center}.mm-seg-name{font-size:9px;font-weight:700;letter-spacing:.02em;color:#5a4566;opacity:.7;text-transform:lowercase;white-space:nowrap;overflow:hidden}.mm-takes{position:relative}.mm-take{position:absolute;bottom:0;display:flex;align-items:center;gap:4px;white-space:nowrap;transform:translate(-6.5px)}.mm-take.is-active{transform:translate(-8.5px)}.mm-guide{position:absolute;left:6.5px;top:50%;width:2px;transform:translate(-50%);background-image:repeating-linear-gradient(to bottom,rgba(176,106,150,.6) 0 3px,transparent 3px 6px);pointer-events:none}.mm-take.is-active .mm-guide{left:8.5px;background-image:repeating-linear-gradient(to bottom,rgba(224,122,176,.85) 0 3px,transparent 3px 6px)}.mm-take-dot{width:13px;height:13px;border-radius:50%;background:#b06a96;border:2.5px solid #fff;box-shadow:0 2px 6px #966ea580;flex:none;z-index:2;display:flex;align-items:center;justify-content:center}.mm-spk{font-size:8px;color:#fff;opacity:.92}.mm-take-label{font-size:11px;font-weight:700;color:var(--ink-soft);z-index:2}.mm-take.is-active .mm-take-dot{width:17px;height:17px;background:var(--pink);box-shadow:0 0 0 3px var(--pink-soft),0 3px 8px #e07ab08c}.mm-take.is-active .mm-spk{font-size:10px}.mm-take.is-active .mm-take-label{color:#b06a96;font-size:12px}.mm-row-ref{height:20px;margin-top:-2.5px}.mm-ref{position:absolute;top:0;transform:translate(-50%)}.mm-ref-stem{display:block;width:3px;height:16px;border-radius:2px}.mm-ref-fem .mm-ref-stem{background:#ffb6d5;box-shadow:0 0 0 1px #fff}.mm-ref-masc .mm-ref-stem{background:#bcd3f0;box-shadow:0 0 0 1px #fff}.mm-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-soft);margin-top:4px}.mm-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;padding-top:14px;border-top:1px dashed #f0dcea;font-size:11.5px;color:var(--ink-soft)}.mm-legend span{display:inline-flex;align-items:center;gap:5px}.mm-key{display:inline-block;width:11px;height:11px;border-radius:3px}.mm-key-take{border-radius:50%;background:#b06a96}.mm-legend-note{font-style:italic}.mm-take.is-clickable,.mm-ref.is-clickable{cursor:pointer}.mm-take.is-clickable .mm-take-dot{transition:transform .14s ease,box-shadow .14s ease}.mm-take.is-clickable:hover .mm-take-dot{transform:scale(1.18)}.mm-take.is-playing .mm-take-dot{background:var(--pink);box-shadow:0 0 0 4px var(--pink-soft),0 3px 8px #e07ab099}.mm-ref.is-clickable .mm-ref-stem{transition:transform .14s ease,filter .14s ease}.mm-ref.is-clickable:hover .mm-ref-stem,.mm-ref.is-clickable:focus-visible .mm-ref-stem{transform:scaleY(1.25);filter:brightness(.95)}.mm-ref.is-clickable:focus-visible{outline:none}.mm-ref.is-playing .mm-ref-stem{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #b06a9680}.mm-ref-spk{position:absolute;left:50%;top:-13px;transform:translate(-50%) scale(.6);transform-origin:center bottom;font-size:11px;color:#b06a96;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.mm-ref.is-clickable:hover .mm-ref-spk,.mm-ref.is-clickable:focus-visible .mm-ref-spk,.mm-ref.is-playing .mm-ref-spk{opacity:1;transform:translate(-50%) scale(1)}.mm-ref-masc .mm-ref-spk{color:#5e7fb8}.mm-hear{display:flex;align-items:center;gap:8px;margin-top:18px;padding:9px 14px;background:linear-gradient(180deg,#fff0f7,#fbeeff);border:1.5px solid #ffe3f0;border-radius:14px;font-size:12.5px;font-weight:600;color:#b06a96}.mm-hear b{color:#a25688}.mm-hear-icon{flex:none;font-size:16px;color:#d784ac}.mm-player{margin-top:16px;padding:12px 14px;background:var(--pink-bg);border-radius:18px;border:1.5px solid #ffe3f0;animation:mm-player-in .22s ease both}@keyframes mm-player-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mm-player-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mm-player-title{font-size:12.5px;font-weight:700;color:#b06a96}.mm-player-close{border:none;background:transparent;color:var(--ink-soft);font-size:13px;cursor:pointer;padding:2px 6px;border-radius:8px;transition:background .15s ease,color .15s ease}.mm-player-close:hover{background:var(--pink-soft);color:#b06a96}@media (prefers-reduced-motion: reduce){.mm-backdrop,.mm-card{animation:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;display:flex;align-items:center;justify-content:center;padding:20px;background:#78608a52;backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);animation:modal-fade .2s ease both}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{width:min(500px,100%);background:var(--card);border-radius:26px;border:2px solid #fff;box-shadow:0 24px 60px #966ea557;padding:28px;animation:modal-slide .34s cubic-bezier(.22,1.2,.36,1) both}@keyframes modal-slide{0%{opacity:0;transform:scale(.86) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal h2{margin:0 0 8px;font-size:22px;color:#b06a96}.modal>p{margin:0 0 16px;font-size:14px;color:var(--ink-soft)}.modal ol{margin:0 0 20px;padding-left:20px;font-size:13.5px;color:var(--ink);line-height:1.6}.modal li{margin-bottom:8px}.modal a{color:#b06a96;text-decoration:none;font-weight:600;transition:color .15s ease}.modal a:hover{color:#d784ac;text-decoration:underline}.modal input[type=password],.modal input[type=text]{width:100%;padding:12px 14px;margin:0 0 16px;border:2px solid #f0dcea;border-radius:14px;background:#fafafa;font-size:14px;color:var(--ink);font-family:inherit;transition:border-color .15s ease,background .15s ease;box-sizing:border-box}.modal input[type=password]:focus,.modal input[type=text]:focus{outline:none;border-color:var(--pink);background:#fff}.modal input[type=password]:disabled,.modal input[type=text]:disabled{background:#f5f5f5;color:var(--ink-soft)}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal button{padding:10px 18px;border:none;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.modal button:first-child{background:transparent;color:var(--ink-soft);border:1.5px solid #f0dcea}.modal button:first-child:hover{background:#fafafa;border-color:var(--ink-soft)}.modal button:last-child{background:linear-gradient(135deg,var(--pink),var(--lav));color:#fff;box-shadow:0 4px 12px #b06a9659}.modal button:last-child:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #b06a9673}.modal button:disabled{opacity:.6;cursor:not-allowed}.modal-error{margin:-12px 0 16px;padding:10px 13px;background:#ffe8e8;border:1.5px solid #ffcccc;border-radius:10px;font-size:13px;color:#c84545;line-height:1.4}.backup-zone{margin-top:20px;padding-top:16px;border-top:1.5px dashed #f0dcea}.backup-btn{border:1.5px solid var(--lav-soft);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;font-family:inherit;color:#7a5a92;background:#fff;cursor:pointer;transition:background .15s ease}.backup-btn:hover:not(:disabled){background:var(--lav-bg)}.backup-btn:disabled{opacity:.65;cursor:not-allowed}.backup-success{margin:10px 0 0;font-size:12.5px;color:#3f9c78;background:#eafaf3;border:1.5px solid #cdeee0;border-radius:10px;padding:8px 12px;word-break:break-all}.danger-zone{margin-top:20px;padding-top:16px;border-top:1.5px dashed #f0dcea}.danger-zone-label{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.danger-btn{border:1.5px solid #ffcccc;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;font-family:inherit;color:#c84545;background:#fff;cursor:pointer;transition:background .15s ease}.danger-btn:hover{background:#ffe8e8}
