:root{font-family:Inter,"Noto Sans JP","PingFang SC","Microsoft YaHei",sans-serif;color:#161a18;background:#f7faf8;--green:#20c878;--ink:#161a18;--muted:#89918d}*{box-sizing:border-box}body{margin:0}.shell{width:min(760px,100%);margin:auto;padding:26px 16px 70px}header{display:flex;justify-content:space-between;align-items:center;margin:8px 2px 24px}header h1{margin:4px 0;font-size:30px}header p{margin:0;color:var(--muted)}.eyebrow,.step{display:block;color:#148950;font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:8px}.badge{padding:7px 11px;border-radius:99px;background:#e2f8ec;color:#147547;font-size:12px}.card{background:#fff;border:1px solid #e4ebe7;border-radius:20px;padding:20px;margin:14px 0;box-shadow:0 8px 32px #163d2710}.login{max-width:460px;margin:80px auto}.row,.key-row,.actions,.history-item{display:flex;gap:10px;align-items:center}.key-row,.history-item{justify-content:space-between}.key-row strong{display:block}.key-row p{margin:4px 0 0}label{display:block;font-size:13px;font-weight:700;margin:15px 0}input,textarea{width:100%;margin-top:7px;border:1px solid #cfdad3;border-radius:12px;padding:12px;font:inherit;color:inherit;background:#fff}input[type=file]{padding:10px}textarea{resize:vertical;line-height:1.7}button,.button{border:0;border-radius:12px;padding:12px 17px;font-weight:800;background:var(--green);color:#06301b;cursor:pointer;text-decoration:none;display:inline-block}.wide{width:100%;font-size:16px;padding:15px}.chip,.mini{background:#edf3ef;color:#345044;font-size:12px}.mini{border-radius:10px;padding:8px 13px;text-decoration:none;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}.muted,.hint,small{color:var(--muted);font-size:13px}.error{color:#b52d2d;margin-top:10px}.hidden{display:none!important}.progress{height:8px;background:#e6eee9;border-radius:10px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;width:0;background:var(--green);transition:width .3s}.history-item{padding:14px 0;border-top:1px solid #edf1ee}.history-item:first-child{border-top:0}.history-item strong,.history-item small{display:block}.history-item small{margin-top:4px}@media(max-width:560px){.shell{padding:14px 12px 55px}header{align-items:flex-start}header h1{font-size:24px}.card{padding:16px;border-radius:16px}.row{display:block}.row button{width:100%;margin-top:9px}.key-row{align-items:flex-start}}
.player-body{background:#fff;overflow:hidden}.player-shell{height:100dvh;display:flex;flex-direction:column;max-width:820px;margin:auto}.player-top{padding:20px 22px 8px;text-align:center}.player-top h1{font-size:18px;margin:0 0 4px}.player-top p{font-size:12px;color:var(--muted);margin:0}.back{position:absolute;left:16px;top:15px;color:var(--ink);text-decoration:none;font-size:26px}.lyrics-view{flex:1;overflow:auto;padding:42vh 24px;scroll-behavior:smooth}.lyric-line{text-align:center;color:#adb2af;font-size:18px;line-height:1.65;margin:28px 0;transition:.2s;cursor:pointer}.lyric-line.active{color:var(--ink);font-size:28px;font-weight:800;line-height:1.5;margin:38px 0}.player-controls{background:#fff;border-top:1px solid #edf1ee;box-shadow:0 -8px 28px #163d2710;padding:10px 20px max(15px,env(safe-area-inset-bottom))}.seek{width:100%;accent-color:var(--green)}.time-row{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.control-row{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:5px}.circle{width:66px;height:66px;border-radius:50%;font-size:30px;padding:0;color:#fff;background:var(--ink)}.icon-btn{background:transparent;color:var(--ink);font-size:22px;padding:10px}.icon-btn.on{color:var(--green)}.sync-note{text-align:center;font-size:11px;color:#a17b23;margin:4px 0 0}@media(max-width:560px){.lyrics-view{padding-left:18px;padding-right:18px}.lyric-line.active{font-size:25px}}
.history-actions{display:flex;gap:8px;align-items:center}
.mini.danger{background:#fff0f0;color:#b52d2d}
.player-shell{height:100vh;height:100dvh;overflow:hidden}
.player-top{display:block;flex:0 0 auto;padding:14px 22px 7px;margin:0;text-align:center}
.back{top:10px;z-index:2}
.lyrics-view{flex:1 1 auto;min-height:0;padding-top:35vh;padding-bottom:35vh}
.japanese{font-size:inherit;font-weight:inherit}
.chinese{font-size:66.6667%;font-weight:600;line-height:1.35;color:#858d89;margin-top:2px}
.lyric-line.active .chinese{color:#69716d;font-weight:600}
.player-controls{flex:0 0 auto;padding:8px 20px max(10px,env(safe-area-inset-bottom))}
.seek{margin:0}
.control-row{gap:30px;margin-top:2px}
.circle{width:58px;height:58px;font-size:27px}
.icon-btn{padding:8px}
@media(max-width:560px){.control-row{gap:22px}}
.player-shell{max-width:1180px}
.player-top{padding-bottom:10px}
.player-content{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
.player-content .lyrics-view{height:100%;padding:35vh 36px 35vh 30px}
.lyric-line{text-align:left}
.lyric-row{display:flex;align-items:flex-start;gap:8px}
.line-number{flex:0 0 24px;margin-top:7px;color:#b9bfbc;font-size:11px;font-weight:600;line-height:1;text-align:right;font-variant-numeric:tabular-nums}
.lyric-copy{min-width:0;flex:1}
.lyric-line.active .line-number{color:#87908b;font-size:11px;font-weight:700}
.notes-view{position:absolute;z-index:5;top:10px;right:28px;width:min(38%,390px);max-height:calc(100% - 20px);overflow:auto;padding:0 8px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:right;pointer-events:none;background:transparent}
.note-card{width:100%;background:rgba(255,255,255,.94);border:0;border-radius:10px;padding:8px 10px;box-shadow:none;overflow-wrap:anywhere;text-align:right}
.note-head{display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;column-gap:8px;row-gap:1px;text-align:right}
.note-term{font-size:28px;line-height:1.25;font-weight:800}
.note-word{color:#20c878}
.note-reading{color:#55615b}
.note-mnemonic,.note-meaning{font-size:22.4px;line-height:1.35;font-weight:600;text-align:right}
.note-mnemonic{color:#b18732;font-style:italic}
.note-meaning{color:#55615b;margin-top:2px}
@media(max-width:720px){.player-content .lyrics-view{padding-left:14px;padding-right:24px}.notes-view{right:19px;width:43%;padding-right:5px}.note-card{padding:6px 7px}.note-term{font-size:25px}.note-mnemonic,.note-meaning{font-size:20px}.lyric-line.active{font-size:25px}}
select{width:100%;margin-top:7px;border:1px solid #cfdad3;border-radius:12px;padding:12px;font:inherit;color:inherit;background:#fff}
.line-preview{border-left:4px solid var(--green);background:#f4faf7;border-radius:8px;padding:12px 14px;margin:12px 0;font-weight:800;line-height:1.5}

/* MimiKara v9 application shell */
.app-body{background:#f7f9f8;min-height:100vh}
.app-shell{width:min(760px,100%);margin:auto;padding:18px 16px 120px}
.brand-header{display:flex;justify-content:space-between;align-items:center;margin:2px 2px 12px}
.brand-header h1{margin:1px 0;font-size:28px;letter-spacing:-.03em}
.main-tabs{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px 0 11px;background:linear-gradient(#f7f9f8 78%,rgba(247,249,248,0))}
.tab-button{border:1px solid #e2e7e4;border-radius:999px;padding:10px 8px;background:#fff;color:#69716d;font-size:14px;font-weight:750;box-shadow:none}
.tab-button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.tab-panel{display:none}.tab-panel.active{display:block}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:18px 3px 12px}
.section-heading h2{margin:2px 0;font-size:27px;letter-spacing:-.03em}
.count-pill{border-radius:999px;background:#e8f8ef;color:#167849;padding:6px 10px;font-size:12px;font-weight:800}
.library-list{overflow:hidden;background:#fff;border:1px solid #e4eae6;border-radius:22px;box-shadow:0 10px 32px #143a2410}
.library-item{display:grid;grid-template-columns:62px minmax(0,1fr) 48px;gap:13px;align-items:center;padding:13px 15px;border-top:1px solid #edf1ee}
.library-item:first-child{border-top:0}
.song-cover{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:14px;overflow:hidden;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 5px 14px #1b362518}
.song-cover span{font-size:24px;font-weight:900;text-shadow:0 2px 10px #0005}.song-cover i{position:absolute;right:7px;bottom:4px;font-size:12px;opacity:.8;font-style:normal}
.cover-0{background:linear-gradient(145deg,#0d3829,#31bf7b)}.cover-1{background:linear-gradient(145deg,#273650,#8b99b3)}.cover-2{background:linear-gradient(145deg,#84512d,#e1a764)}.cover-3{background:linear-gradient(145deg,#592945,#d6739e)}.cover-4{background:linear-gradient(145deg,#153b61,#58a1d5)}.cover-5{background:linear-gradient(145deg,#4b3c23,#d0b15a)}
.library-copy{min-width:0;padding:4px 0;background:transparent;color:inherit;text-align:left;border-radius:0;font-weight:inherit}
.library-copy strong,.library-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-copy strong{font-size:17px;color:var(--ink)}.library-copy small{margin-top:6px;font-size:12px}
.triangle-play{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:transparent;color:#111;font-size:25px;line-height:1;transform:translateX(2px)}
.triangle-play:active{background:#edf2ef}
.empty-state{padding:32px 20px;text-align:center}
.editor-card textarea{min-height:310px}.manage-card h3{margin:2px 0 8px;font-size:20px}
.history-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;padding:12px 0}
.manage-cover{width:44px;height:44px;border-radius:10px}.manage-cover span{font-size:17px}.history-copy{min-width:0}.history-copy strong,.history-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-copy small{margin-top:4px}
.history-actions{gap:6px}.icon-action{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;background:#edf3ef;color:#15251c;font-size:18px;font-weight:900}.icon-action.danger{background:#fff0f0;color:#b52d2d}.edit-song{font-size:23px;line-height:1}
.mini-player{position:fixed;z-index:50;left:50%;bottom:10px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:center;width:min(728px,calc(100% - 20px));min-height:72px;padding:8px 10px;border:1px solid #dfe7e2;border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 12px 40px #0f2b1c2b;backdrop-filter:blur(18px)}
.mini-song{display:flex;align-items:center;gap:10px;min-width:0;padding:0;background:transparent;color:inherit;text-align:left}.mini-cover{flex:0 0 48px;width:48px;height:48px;border-radius:11px}.mini-copy{min-width:0}.mini-copy strong,.mini-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-copy strong{font-size:14px}.mini-copy small{margin-top:3px;font-size:11px;color:var(--muted)}
.mini-play{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:#111;color:#fff;font-size:20px}.mini-seek{position:absolute;left:12px;right:12px;bottom:1px;width:calc(100% - 24px);height:2px;margin:0;accent-color:var(--green)}

/* MimiKara v9 player */
.player-brand{display:block;margin-bottom:2px;color:#188d55;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.player-top{padding:12px 54px 8px}.player-top h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;background:transparent;color:#111;font-size:29px;font-weight:400}
.player-controls{padding:8px 18px max(9px,env(safe-area-inset-bottom));box-shadow:0 -7px 25px #173a2512}
.seek{-webkit-appearance:none;appearance:none;width:100%;height:18px;margin:0;background:transparent;accent-color:#111}
.seek::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(90deg,#111 0,#111 var(--seek-progress,0%),#d7ddd9 var(--seek-progress,0%),#d7ddd9 100%)}
.seek::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-5.5px;border:0;border-radius:50%;background:#111}
.seek::-moz-range-track{height:2px;background:#d7ddd9}.seek::-moz-range-progress{height:2px;background:#111}.seek::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#111}
.time-row{margin-top:-1px;font-size:10px;color:#8b918e}
.control-row{justify-content:space-between;gap:7px;max-width:520px;margin:2px auto 0}
.circle{flex:0 0 64px;width:64px;height:64px;background:#111;color:#fff;font-size:28px}
.icon-btn{display:grid;place-items:center;min-width:44px;height:44px;padding:4px;background:transparent;color:#111;font-size:19px}.seek-jump{position:relative;font-size:23px}.seek-jump small{position:absolute;font-size:8px;font-weight:900}
.player-secondary{display:flex;justify-content:space-between;max-width:520px;margin:0 auto}.secondary-control{padding:5px 8px;background:transparent;color:#7c847f;font-size:11px;font-weight:700}.secondary-control.on{color:var(--green)}

@media(max-width:560px){
  .app-shell{padding:10px 10px 108px}.brand-header{padding:0 3px}.brand-header h1{font-size:25px}.main-tabs{gap:5px}.tab-button{font-size:13px;padding:9px 5px}.section-heading{padding-top:14px}.section-heading h2{font-size:24px}.library-item{grid-template-columns:56px minmax(0,1fr) 42px;padding:12px}.song-cover{width:56px;height:56px;border-radius:13px}.library-copy strong{font-size:16px}.triangle-play{width:40px;height:40px;font-size:23px}.card{margin:10px 0;padding:15px}.editor-card textarea{min-height:270px}.history-item{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.manage-cover{width:38px;height:38px}.icon-action{width:34px;height:34px}.mini-player{bottom:6px;width:calc(100% - 12px);border-radius:17px}.player-content .lyrics-view{padding-left:13px;padding-right:20px}.control-row{gap:1px}.circle{width:60px;height:60px;flex-basis:60px}.icon-btn{min-width:40px}.notes-view{top:5px}
}

/* MimiKara v12 — persistent artwork and foldable-safe study notes */
.song-cover.has-image{background:#e7eadf}
.song-cover img{display:block;width:100%;height:100%;object-fit:cover}
.book-icon{position:relative;display:block;width:20px;height:17px;border:2px solid currentColor;border-radius:3px 6px 6px 3px}
.book-icon:after{content:"";position:absolute;left:50%;top:1px;bottom:1px;width:2px;background:currentColor;transform:translateX(-50%);opacity:.65}
.cover-editor{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;margin:14px 0;padding:12px;border-radius:20px;background:#fffffa}
.cover-editor label{margin:0}.cover-editor input{margin-top:5px}.edit-cover-preview{width:72px;height:72px;border-radius:15px}.cover-editor .muted{grid-column:2/-1}
@media(max-width:420px){
  .notes-view{right:18px;width:70%;top:4px;bottom:4px}
  .note-card{background:rgba(251,252,239,.98);padding:6px 7px}
  .note-term{font-size:20px;line-height:1.22}.note-mnemonic,.note-meaning{font-size:16px;line-height:1.3}
  .note-mnemonic{display:block;width:100%}
  .cover-editor{grid-template-columns:60px minmax(0,1fr);gap:9px}.edit-cover-preview{width:60px;height:60px}.cover-editor button{grid-column:1/2}.cover-editor .muted{grid-column:2/3}
}

/* MimiKara v10 — warm ivory and lime interface */
:root{--cream:#fbfcef;--cream-card:#f1f3e6;--lime:#b5fb7e;--olive:#4d712f;--soft-ink:#454940}
.app-body,.player-body{background:var(--cream);color:#171914}
.app-shell{width:min(760px,100%);padding:22px 20px 190px}
.brand-header{align-items:flex-start;margin:0 3px 20px;padding-top:8px}
.brand-header h1{margin:0;font-size:72px;line-height:.95;letter-spacing:-.065em;font-weight:900}
.brand-header p{margin:13px 0 0;color:#5e635a;font-size:15px}
.badge{margin-top:7px;background:var(--lime);color:#203316;border-radius:999px;padding:10px 13px;font-weight:800}
.main-tabs{position:fixed;z-index:70;left:50%;top:auto;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;grid-template-columns:none;gap:2px;width:auto;padding:8px 12px;background:rgba(255,255,249,.96);border:1px solid #e2e5d9;border-radius:25px;box-shadow:0 10px 35px rgba(44,52,35,.2);backdrop-filter:blur(16px)}
.tab-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:96px;padding:5px 12px;border:0;border-radius:17px;background:transparent;color:#171914;box-shadow:none;font-size:13px}
.tab-button .nav-icon{display:grid;place-items:center;min-width:42px;height:28px;border-radius:10px;font-size:24px;line-height:1}
.tab-button.active{background:transparent;color:#171914}
.tab-button.active .nav-icon{background:var(--lime)}
.section-heading{align-items:center;padding:13px 4px 10px}
.section-heading h2{margin:0;font-size:34px;letter-spacing:-.04em}
.section-heading p{margin:4px 0 0;color:#686c63;font-size:14px}
.count-pill{background:var(--cream-card);color:var(--olive);padding:8px 12px}
.library-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 18px}
.library-filter{border:1px solid #ccd0c2;border-radius:13px;background:transparent;color:#353830;padding:11px 15px;font-size:15px;box-shadow:none}
.library-filter.active{border-color:var(--lime);background:var(--lime);color:#1b2a14}
.library-list{overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}
.library-item{grid-template-columns:68px minmax(0,1fr) 48px;gap:14px;padding:10px 5px;border:0}
.song-cover{width:68px;height:68px;border-radius:13px;box-shadow:none}
.library-copy strong{font-size:19px}.library-copy small{color:#62675e;font-size:13px}
.triangle-play{background:transparent;color:#151711;font-size:27px}
.triangle-play:active{background:var(--lime)}
.card{background:var(--cream-card);border:1px solid #e5e7dc;border-radius:29px;box-shadow:none}
.step,.eyebrow{color:var(--olive)}
input,textarea,select{border-color:#d2d5c9;background:#fffffa;border-radius:17px}
button,.button{background:var(--lime);color:#1b2a14}
.chip,.icon-action{background:#e7eadf;color:#30362c}
.icon-action.danger{background:#f6e6e4;color:#a63b35}
.progress{background:#d9ddcf}.progress i{background:var(--olive)}
.line-preview{border-color:var(--lime);background:#fffffa}
.mini-player{bottom:98px;border-color:#dfe2d5;border-radius:25px;background:rgba(255,255,249,.97);box-shadow:0 10px 35px rgba(44,52,35,.19)}
.mini-play{background:#171914;color:#fff}
.mini-seek{accent-color:var(--olive)}

.player-shell{background:var(--cream)}
.player-top{padding-top:16px}.player-brand{color:var(--olive)}
.player-controls{margin:0 10px max(8px,env(safe-area-inset-bottom));padding:11px 18px 10px;border:1px solid #e1e4d7;border-radius:28px;background:rgba(247,248,237,.98);box-shadow:0 8px 30px rgba(44,52,35,.12)}
.seek::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--olive) 0,var(--olive) var(--seek-progress,0%),#ccd4c4 var(--seek-progress,0%),#ccd4c4 100%)}
.seek::-webkit-slider-thumb{background:var(--olive)}
.seek::-moz-range-track{background:#ccd4c4}.seek::-moz-range-progress{background:var(--olive)}.seek::-moz-range-thumb{background:var(--olive)}
.circle{background:#171914}.secondary-control.on,.favorite-control.on{color:var(--olive)}
.favorite-control{font-size:13px}.favorite-control.on{font-weight:900}
.line-jump{position:relative;font-size:24px}.line-jump small{position:absolute;font-size:8px;font-weight:900;color:var(--olive)}
.lyrics-view .lyric-line{color:#a7ab9f}.lyrics-view .lyric-line.active{color:#171914}
.notes-view{top:8px;bottom:8px;height:auto;max-height:none;overflow:hidden}
.notes-view.multiple-notes .note-top{margin-bottom:auto}
.note-card{background:rgba(251,252,239,.94)}
.note-term{font-size:25.2px}.note-mnemonic,.note-meaning{font-size:20.16px}
.note-word{color:#20c878}.note-reading,.note-meaning{color:#566055}

@media(max-width:560px){
  .app-shell{padding:16px 14px 182px}.brand-header{margin-bottom:20px}.brand-header h1{font-size:60px}.brand-header p{font-size:14px}.badge{font-size:11px;padding:8px 10px}
  .main-tabs{width:calc(100% - 64px);justify-content:space-around;padding:7px 8px}.tab-button{flex:1;min-width:0;padding:4px 5px;font-size:12px}.tab-button .nav-icon{font-size:22px}
  .section-heading h2{font-size:30px}.library-filters{gap:8px}.library-filter{padding:10px 8px;font-size:14px}
  .library-item{grid-template-columns:62px minmax(0,1fr) 42px;padding:9px 3px}.song-cover{width:62px;height:62px}.library-copy strong{font-size:17px}
  .mini-player{bottom:88px}.player-controls{margin-left:6px;margin-right:6px;border-radius:24px}.player-secondary{padding:0 3px}
  .note-term{font-size:22.5px}.note-mnemonic,.note-meaning{font-size:18px}.notes-view{right:16px;width:44%}
}

/* MimiKara v11 — lyric navigation and always-visible study notes */
.home-top{top:9px;left:13px;width:46px;height:48px;display:flex;flex-direction:column;gap:1px;border-radius:13px;color:#111}
.home-top svg{width:22px;height:22px;fill:#111}.home-top span{font-size:9px;font-weight:900;letter-spacing:.08em}
.control-row{max-width:610px}.control-row .icon-btn{min-width:40px}
.restart-line svg{width:27px;height:27px;fill:none;stroke:#111;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.favorite-control{font-size:27px;color:#111;font-weight:900}.favorite-control.on{color:#111}
.player-secondary{justify-content:space-around}
.chinese,.lyric-line.active .chinese{font-size:15px;font-weight:600;line-height:1.35}
.notes-view{right:12px;top:8px;bottom:8px;width:min(46%,430px);height:auto;max-height:none;overflow:visible;padding:0;z-index:12}
.note-card{width:100%;overflow:visible;padding:7px 8px;word-break:break-word;overflow-wrap:anywhere}
.note-head{width:100%;overflow:visible}.note-term{display:flex;justify-content:flex-end;flex-wrap:wrap;width:100%;overflow:visible}
.note-word,.note-reading,.note-mnemonic,.note-meaning{max-width:100%;overflow:visible;white-space:normal}
@media(max-width:560px){
  .player-top{padding-left:62px;padding-right:45px}.control-row{gap:0}.control-row .icon-btn{min-width:35px;width:35px;padding:3px;font-size:20px}.control-row .circle{width:58px;flex-basis:58px}.restart-line svg{width:24px;height:24px}.favorite-control{font-size:24px}.chinese,.lyric-line.active .chinese{font-size:14px}.notes-view{right:8px;width:48%}.note-card{padding:6px 5px}
}

/* MimiKara v13 — quieter study notes and simplified sync labels */
.note-card{background:rgba(251,252,239,.70)}
.note-term{font-size:22.68px}
.note-mnemonic,.note-meaning{font-size:18.144px}
.secondary-control{font-size:11.55px}
@media(max-width:560px){
  .note-term{font-size:20.25px}
  .note-mnemonic,.note-meaning{font-size:16.2px}
}
@media(max-width:420px){
  .note-card{background:rgba(251,252,239,.70)}
  .note-term{font-size:18px}
  .note-mnemonic,.note-meaning{font-size:14.4px}
}

/* MimiKara v14 — stronger lyric navigation arrows */
.line-jump svg{display:block;width:28px;height:28px;fill:none;stroke:#111;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.line-jump svg{width:25px;height:25px}}

/* MimiKara v15 — public listening with an administrator gate */
.admin-login{position:fixed;z-index:100;left:50%;top:50%;width:min(440px,calc(100% - 28px));margin:0;transform:translate(-50%,-50%);background:#fffffa;box-shadow:0 0 0 100vmax rgba(25,29,22,.35),0 24px 70px rgba(25,29,22,.28)}
.admin-login h2{margin:0 38px 7px 0;font-size:25px}.admin-login .muted{line-height:1.55}.login-close{position:absolute;right:14px;top:13px;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;background:#e7eadf;color:#171914;font-size:25px;line-height:1}
@media(max-width:560px){.admin-login .row{display:block}.admin-login .row button{width:100%;margin-top:9px}}

/* MimiKara v17 — compact player minimize control */
.minimize-chevron{top:12px;left:15px;width:44px;height:36px;border-radius:14px}
.minimize-chevron svg{display:block;width:30px;height:23px;fill:none;stroke:#171914;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* MimiKara v18 — optically centered playback symbols */
.circle,.mini-play{display:grid;place-items:center}
.play-triangle{position:relative;display:block;width:18px;height:22px;transform:translateX(2px)}
.play-triangle:before{content:"";position:absolute;inset:0 auto auto 0;width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:18px solid currentColor}
.mini-play .play-triangle{width:13px;height:16px;transform:translateX(1.5px)}.mini-play .play-triangle:before{border-top-width:8px;border-bottom-width:8px;border-left-width:13px}
.pause-bars{display:flex;align-items:center;justify-content:center;gap:7px}.pause-bars:before,.pause-bars:after{content:"";display:block;width:5px;height:24px;border-radius:2px;background:currentColor}.mini-play .pause-bars{gap:5px}.mini-play .pause-bars:before,.mini-play .pause-bars:after{width:4px;height:18px}

/* MimiKara v22 — retract the song title while lyrics advance; keep the back control visible */
.player-top{max-height:76px;overflow:hidden;transition:max-height .32s ease,padding .32s ease,opacity .22s ease,transform .32s ease}
.player-shell.title-collapsed .player-top{max-height:0;padding-top:0;padding-bottom:0;opacity:0;transform:translateY(-22px);pointer-events:none}
.player-shell.title-collapsed .minimize-chevron{z-index:30}
.triangle-play{color:#747974}
