: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}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}.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}.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}.app-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 auto 22px;max-width:760px;border:1.5px solid rgba(234,223,242,.9);border-radius:18px;background:#ffffff8f;padding:6px;box-shadow:0 8px 22px #ba8ec41f}.app-nav button{min-width:0;border:none;border-radius:13px;background:transparent;color:var(--ink-soft);cursor:pointer;display:grid;gap:1px;font:inherit;padding:10px 12px;text-align:left}.app-nav button:hover,.app-nav button:focus-visible{color:#b06a96}.app-nav button:focus-visible{outline:2px solid var(--pink-soft);outline-offset:2px}.app-nav button.is-active{background:#fff;color:#b06a96;box-shadow:0 4px 14px #b06a9629}.app-nav span{font-size:14px;font-weight:900;line-height:1.2}.app-nav small{color:inherit;font-size:11px;font-weight:700;opacity:.76;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-page{min-height:520px}.page-shell{margin-top:24px}.page-head{margin:0 0 16px}.page-kicker{color:#b06a96;display:block;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.page-head h2{color:#7a5a92;font-size:24px;line-height:1.2;margin:2px 0 4px}.page-head p{color:var(--ink-soft);font-size:13.5px;margin:0;max-width:680px}.empty-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.empty-actions button{border:1.5px solid #eadff2;border-radius:999px;background:#fff;color:#8a6aa8;cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:8px 14px}.empty-actions button:hover,.empty-actions button:focus-visible{border-color:var(--pink);color:#b06a96}.empty-actions button:focus-visible{outline:2px solid var(--pink-soft);outline-offset:2px}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;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.rec.is-selected{border-color:#ff9ec5;background:linear-gradient(180deg,#fffafd,#fff5fa);box-shadow:0 14px 34px #b06a9642}.rec .top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.rec-title{display:flex;align-items:flex-start;gap:10px;min-width:min(100%,320px)}.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-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rec-badge{border:1px solid #e4d8ed;border-radius:999px;background:#fff;color:#8a6aa8;font-size:10px;font-weight:800;line-height:1;padding:4px 7px;text-transform:uppercase}.rec-badge-current{border-color:#ffb6d5;background:var(--pink-bg);color:#b06a96}.rec-badge-local{border-color:#b8ecd8;background:#f0fff8;color:#4f9278}.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;background:#f5f0ffb3;border-radius:12px;padding:8px 10px}.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}.history-section{margin-top:24px}.history-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.history-heading-row .section-title{margin-bottom:6px}.history-counts{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-soft);font-size:12px}.history-counts span{border:1px solid #e8dff0;border-radius:999px;background:#ffffff94;padding:3px 9px}.history-active-pill{flex:0 0 auto;border-radius:999px;border:1.5px solid #ffd7e9;background:#fff;color:#b06a96;box-shadow:0 6px 16px #b06a9629;font-size:13px;font-weight:800;padding:8px 13px}.history-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(170px,.36fr);gap:10px;align-items:end;margin-bottom:12px}.history-search,.history-sort{display:grid;gap:4px;color:var(--ink-soft);font-size:12px;font-weight:800}.history-search input,.history-sort select{width:100%;min-height:40px;border:1.5px solid #eadff2;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:13px;padding:8px 11px}.history-search input:focus,.history-sort select:focus{outline:2px solid var(--pink-soft);border-color:var(--pink)}.history-sort select{cursor:pointer}.history-filter{display:inline-flex;gap:4px;border:1.5px solid #eadff2;border-radius:999px;background:#ffffffad;padding:4px}.history-filter button{min-height:32px;border:none;border-radius:999px;background:transparent;color:var(--ink-soft);cursor:pointer;font:inherit;font-size:12px;font-weight:800;padding:6px 11px}.history-filter button:hover,.history-filter button:focus-visible{color:#b06a96}.history-filter button:focus-visible{outline:2px solid var(--pink-soft);outline-offset:2px}.history-filter button.is-active{background:#fff;color:#b06a96;box-shadow:0 3px 10px #b06a9626}.history-current{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1.5px solid #ffe0ee;border-radius:18px;background:linear-gradient(135deg,#ffffffdb,#fff0f7e0);box-shadow:0 8px 22px #b06a9621;margin-bottom:12px;padding:13px 15px}.history-kicker{display:block;color:#b06a96;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.history-current h3{margin:1px 0 2px;color:#7a5a92;font-size:17px;line-height:1.25}.history-current p{margin:0;color:var(--ink-soft);font-size:12.5px}.history-current-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.history-current-metrics span{min-width:86px;border-radius:12px;background:#fff;color:var(--ink-soft);font-size:10.5px;font-weight:800;padding:7px 10px;text-transform:uppercase}.history-current-metrics b{display:block;color:#7a5a92;font-size:16px;line-height:1.1;text-transform:none}.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}.record-panel{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:2px solid #fff;margin-top:22px}.record-panel-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.record-panel .section-title{margin-bottom:8px}.exercise-picker{display:grid;gap:10px}.exercise-controls{display:grid;grid-template-columns:auto minmax(220px,300px) minmax(0,1fr);gap:10px;align-items:end}.exercise-controls label{display:grid;gap:4px;font-size:12px;color:var(--ink-soft);font-weight:700}.exercise-controls select,.exercise-custom{width:100%;min-height:38px;border:1.5px solid #eadff2;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:13px;padding:8px 10px}.exercise-controls select{cursor:pointer}.exercise-custom{min-height:72px;resize:vertical;line-height:1.45}.exercise-controls select:focus,.exercise-custom:focus{outline:2px solid var(--pink-soft);border-color:var(--pink)}.styled-select{position:relative;width:100%;min-width:0}.select-trigger{width:100%;min-height:40px;border:1.5px solid #decfe9;border-radius:12px;background:linear-gradient(135deg,#fff,#fff7fb);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-size:13px;font-weight:700;line-height:1.2;padding:8px 12px;text-align:left;box-shadow:inset 0 0 0 1px #ffffffbf}.select-trigger:hover,.select-trigger[aria-expanded=true]{border-color:var(--pink);background:linear-gradient(135deg,#fff 0%,var(--pink-bg) 100%)}.select-trigger:focus-visible{outline:2px solid var(--pink-soft);border-color:var(--pink)}.select-trigger:disabled{cursor:not-allowed;opacity:.65;color:var(--ink-soft)}.select-chevron{flex:0 0 auto;width:8px;height:8px;border-right:2px solid #b06a96;border-bottom:2px solid #b06a96;transform:translateY(-2px) rotate(45deg);transition:transform .14s ease}.select-trigger[aria-expanded=true] .select-chevron{transform:translateY(2px) rotate(225deg)}.select-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;min-width:240px;max-height:270px;overflow:auto;padding:6px;background:#fff;border:1.5px solid #eadff2;border-radius:14px;box-shadow:0 16px 36px #966ea538}.select-option{width:100%;border:none;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;display:grid;gap:2px;font:inherit;padding:9px 10px;text-align:left}.select-option:hover,.select-option:focus-visible,.select-option.is-selected{background:var(--pink-bg);color:#b06a96;outline:none}.select-option.is-selected{box-shadow:inset 0 0 0 1.5px #ffe3f0}.select-option-label{font-size:13px;font-weight:800;line-height:1.2}.select-option-desc{color:var(--ink-soft);font-size:11px;font-weight:600;line-height:1.25}.dice-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;width:42px;border:1.5px solid var(--pink);border-radius:999px;background:#fff;color:#b06a96;cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:8px}.dice-button svg{width:16px;height:16px}.dice-button:hover{background:var(--pink-bg)}.dice-button:disabled{cursor:not-allowed;opacity:.55}.record-prompt{margin:0;color:var(--ink);font-size:13.5px;background:var(--pink-bg);border:1.5px solid #ffe3f0;border-radius:14px;padding:10px 12px}.exercise-history{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;justify-self:end;min-width:0;width:100%;color:var(--ink-soft);font-size:12px}.exercise-history button{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1.5px solid #eadff2;border-radius:999px;background:#fff;color:#8a6aa8;cursor:pointer;font:inherit;font-size:12px;font-weight:700;padding:5px 10px}.exercise-history button:hover{border-color:var(--pink);color:#b06a96}.record-timer{min-width:64px;text-align:center;border-radius:14px;padding:8px 10px;background:var(--lav-bg);color:#7a5a92;font-weight:700;font-variant-numeric:tabular-nums}.record-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) minmax(110px,.5fr);gap:10px;margin-top:14px}.record-fields label{display:grid;gap:4px;font-size:12px;color:var(--ink-soft);font-weight:700}.field-label{display:inline-flex;align-items:center;gap:6px}.record-fields input,.record-fields select{width:100%;min-height:38px;border:1.5px solid #eadff2;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:13px;padding:8px 10px}.record-fields select{cursor:pointer}.exercise-controls select,.record-fields select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:40px;min-height:40px;padding:8px 38px 8px 12px;border-color:#decfe9;background:linear-gradient(45deg,transparent 50%,#b06a96 50%) right 18px center / 6px 6px no-repeat,linear-gradient(135deg,#fff,#fff7fb);box-shadow:inset 0 0 0 1px #ffffffbf;font-weight:700}.exercise-controls select:hover,.record-fields select:hover{border-color:var(--pink);background:linear-gradient(45deg,transparent 50%,#b06a96 50%) right 18px center / 6px 6px no-repeat,linear-gradient(135deg,#fff 0%,var(--pink-bg) 100%)}.exercise-controls select:disabled,.record-fields select:disabled{cursor:not-allowed;opacity:.65;color:var(--ink-soft)}.record-fields input:focus,.record-fields select:focus{outline:2px solid var(--pink-soft);border-color:var(--pink)}.help-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--lav-bg);color:#8a6aa8;border:1px solid #e0d4ef;font-size:11px;font-weight:800;cursor:help}.help-tip span{position:absolute;z-index:5;left:50%;bottom:calc(100% + 8px);width:min(260px,70vw);transform:translate(-50%) translateY(4px);opacity:0;pointer-events:none;background:#fff;color:var(--ink);border:1.5px solid #eadff2;border-radius:12px;box-shadow:var(--shadow);padding:9px 11px;font-size:12px;font-weight:600;line-height:1.35;transition:opacity .12s ease,transform .12s ease}.help-tip:hover span,.help-tip:focus span,.help-tip:focus-visible span{opacity:1;transform:translate(-50%) translateY(0)}.level-meter{height:10px;border-radius:999px;margin-top:14px;overflow:hidden;background:var(--lav-bg)}.level-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--pink));transition:width .08s linear}.record-preview{width:100%;margin-top:14px}.record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.record-actions button,.select-recording,.edit-local,.delete-local{font-family:inherit;cursor:pointer;border:1.5px solid #eadff2;background:#fff;color:#8a6aa8;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.record-actions button:hover,.select-recording:hover,.edit-local:hover,.delete-local:hover{border-color:var(--pink);color:#b06a96}.select-recording{min-width:82px}.select-recording[aria-pressed=true]{border-color:var(--pink);background:linear-gradient(135deg,#e07ab0,#9b7ad0);color:#fff}.select-recording:focus-visible,.edit-local:focus-visible,.delete-local:focus-visible{outline:2px solid var(--pink-soft);outline-offset:2px}.record-actions button:disabled{cursor:wait;opacity:.65}.record-actions .record-primary{border-color:var(--pink);color:#fff;background:linear-gradient(135deg,#e07ab0,#9b7ad0)}.record-status,.record-error{margin:10px 0 0;font-size:12.5px}.record-status{color:var(--ink-soft)}.record-error{color:#b84d71}.delete-local,.edit-local{padding:5px 10px;font-size:12px}.rec-actions{display:flex;flex-wrap:wrap;gap:6px}@media (max-width: 680px){.record-panel-head,.exercise-controls,.record-fields,.history-toolbar,.history-current{grid-template-columns:1fr}.history-heading-row{display:grid}.history-active-pill{justify-self:start}.history-filter{justify-self:stretch}.history-filter button{flex:1 1 0}.history-current-metrics{justify-content:stretch}.history-current-metrics span{flex:1 1 90px}.rec .top,.rec-actions{display:grid;grid-template-columns:1fr}.select-recording,.edit-local,.delete-local{width:100%}.record-timer{justify-self:start}}.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}.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}}
