@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--player-height:96px;--green:#2e5947;--deep:#203c32;--ink:#24352e;--muted:#8a938a;--line:#e7eae2;--bg:#f6f7f2;--pink:#b9787b;--serif:'Noto Serif JP','Songti SC',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Noto Sans JP',sans-serif}*{box-sizing:border-box}body{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #8dba79;outline-offset:4px}button{border:0;background:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sidebar{width:218px;position:fixed;inset:0 auto 96px 0;background:var(--deep);padding:32px 20px 0;color:#d7e0d7;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#f3f4df;font-size:23px;font-weight:600;letter-spacing:2px;padding:0 9px}.brand-mark{height:40px;width:38px;position:relative;border:1px solid #9ba88c;border-radius:12px;font-family:var(--serif);font-size:23px;text-align:center;line-height:35px;font-weight:500}.brand-mark span{position:absolute;font:18px var(--sans);right:-4px;top:-8px;background:var(--deep);padding:0 2px}.brand small{display:block;font-size:8px;letter-spacing:4px;font-weight:400;color:#aebbad;margin-top:1px}.workspace-label{font-size:10px;color:#93a497;letter-spacing:2px;margin:37px 14px 18px}.navigation{display:flex;flex-direction:column;gap:9px}.nav-item{display:flex;align-items:center;gap:13px;padding:13px 14px;color:#b6c4b9;text-align:left;font-size:13px;border-radius:7px;transition:background .2s}.nav-item svg{width:19px}.nav-item:hover{background:#2d493e}.nav-item.active{background:#e8efdb;color:#294e3d;font-weight:600}.nav-dot{height:6px;width:6px;background:#4c7057;border-radius:50%;margin-left:auto}.nav-count{margin-left:auto;font-size:10px;color:#b8c7b9;background:#365044;padding:2px 6px;border-radius:4px}.sidebar-divider{height:1px;background:#40564a;margin:27px 9px 19px}.sidebar-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:#9aada0;padding:0 11px;margin-bottom:11px}.icon-button{height:32px;width:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:inherit;padding:5px;flex-shrink:0}.icon-button:hover{background:#70857512}.sidebar-label .icon-button{height:24px;width:24px}.sidebar-label svg{width:15px}.library-song{display:flex;align-items:center;gap:10px;padding:10px 9px;color:#dce5d9;width:100%;text-align:left;border-radius:7px}.library-song.current{background:#2a463a}.library-song img{width:35px;height:41px;object-fit:cover;border-radius:4px}.library-song>span{font-size:12px}.library-song small{display:block;font-size:10px;color:#94a699;margin-top:6px}.mini-bars{display:flex;align-items:center;gap:2px;margin-left:auto!important;height:16px}.mini-bars i{width:2px;background:#bdd196;height:9px}.mini-bars i:nth-child(2){height:15px}.mini-bars i:nth-child(3){height:6px}.playing .mini-bars i{animation:bars .7s infinite alternate}.playing .mini-bars i:nth-child(2){animation-delay:.3s}@keyframes bars{to{height:4px}}.add-song{display:flex;align-items:center;gap:8px;font-size:11px;color:#9fb19e;margin:15px 0;padding:4px 8px}.add-song svg{width:14px}.side-bottom{margin-top:auto}.daily-card{border:1px solid #48604e;background:linear-gradient(145deg,#38523d,#29473a);border-radius:9px;padding:16px 12px;margin:28px 2px 24px;position:relative;overflow:hidden}.daily-card:after{content:'♪';position:absolute;right:9px;top:3px;font-family:serif;font-size:54px;color:#bdd19612;transform:rotate(15deg)}.daily-icon{color:#d1d5a7}.daily-icon svg{width:20px}.daily-card p{font-size:12px;color:#e3e7cd;font-weight:500;margin:8px 0 14px}.daily-card small{display:block;color:#a8b8a4;font-size:9px;font-weight:400;margin-top:8px;white-space:nowrap}.daily-track{height:3px;background:#526249;border-radius:5px}.daily-track span{display:block;width:0;height:100%;background:#ccd58d;transition:width .4s}.daily-status{display:block;font-size:9px;color:#b6c3a9;margin-top:9px}.profile{border-top:1px solid #40564a;display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:19px 0 20px}.avatar{background:#6e8164;color:#f0efda;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:12px}.profile>span:nth-child(2){font-size:10px;color:#dde3d8}.profile small{font-size:8px;color:#9aaa9a;display:block;margin-top:4px}.profile>svg{width:15px;margin-left:auto;color:#99aa99}.app-shell{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-block:24px;margin-left:218px}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 37px;background:#fafbf7}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:#959d94}.breadcrumb svg{width:11px;height:11px}.breadcrumb strong{font-weight:500;color:#566357}.top-actions{display:flex;align-items:center;gap:26px}.language-pill{display:flex;align-items:center;gap:8px;font-size:11px}.japan-flag{height:14px;width:21px;background:white;border:1px solid #e4e5df;position:relative;border-radius:2px}.japan-flag:after{content:'';position:absolute;width:6px;height:6px;top:3px;left:6px;background:#c3676d;border-radius:100%}.language-label{font-size:9px;color:#98a092}.top-search{border:1px solid #e4e7df;background:white;border-radius:7px;display:flex;align-items:center;gap:9px;color:#a0a59a;padding:9px 11px;font-size:10px;width:246px;text-align:left}.top-search svg{width:15px;height:15px}.top-search kbd{font-size:9px;margin-left:auto;background:#f6f7f3;border:1px solid #edefe8;border-radius:3px;padding:1px 4px}main{max-width:1570px;margin:auto;padding:33px 36px}.view{display:none}.view.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;color:#7c917b;font-weight:500}.page-heading h1{font-size:25px;letter-spacing:.5px;font-weight:600;margin:11px 0 10px}.page-heading h1>span{color:#96a484}.page-heading p{font-size:11px;color:#99a091;margin:0;letter-spacing:.2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:6px;white-space:nowrap;font-size:11px;font-weight:500;transition:all .2s}.button svg{width:15px;height:15px}.button-light{background:white;border:1px solid #dde3d7}.button-light:hover{border-color:#859d7e;background:#f9fbf5}.button-green{background:var(--green);color:white;border:1px solid var(--green)}.button-green:hover{background:#204432}.learning-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:23px;align-items:start}.learning-main{min-width:0}.song-card{background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;padding:22px;gap:23px;position:relative;overflow:hidden}.album-cover{width:134px;height:145px;border-radius:6px;overflow:hidden;position:relative;flex-shrink:0;box-shadow:0 6px 13px #30473612}.album-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.85)}.album-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#152e345c,transparent 65%)}.album-caption{position:absolute;left:15px;bottom:14px;color:white;font-family:var(--serif);font-size:23px;z-index:1;letter-spacing:5px;line-height:1.6}.album-caption small{font-family:var(--sans);font-size:6px;letter-spacing:2px;white-space:nowrap}.song-info{padding:1px 0;min-width:0}.song-tags{display:flex;gap:7px;align-items:center}.tag{font-size:8px;padding:4px 7px;background:#f4f5f0;color:#8a927e;border-radius:3px;white-space:nowrap}.tag-green{background:#eaf1e3;color:#647e55}.song-info h2{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:2px;margin:13px 0 7px;line-height:1.35;overflow-wrap:anywhere}.song-artist{font-size:10px;color:#8e9789;margin:0}.song-artist>span{padding:0 6px;color:#c5ccbf}.song-description{font-size:10px;color:#949d8e;margin:15px 0 14px}.song-meta{display:flex;align-items:center;gap:14px;color:#8a9584;font-size:8px;flex-wrap:wrap}.song-meta>span{display:flex;align-items:center;gap:4px}.song-meta svg{width:11px;height:11px}.song-meta .audio-version{font-size:8px;color:#a5ac9d}.song-favorite{position:absolute;right:15px;top:18px;color:#a6af9f}.song-favorite svg{width:18px}.is-favorite{color:#b7777e!important}.is-favorite svg{fill:#eedcda}.lyrics-panel{margin-top:21px;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 23px;gap:12px}.tabs{display:flex;align-items:center;gap:25px}.tab{position:relative;padding:19px 0 16px;font-size:11px;color:#9aa08f;white-space:nowrap}.tab.active{color:#34553f;font-weight:600}.tab.active:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;right:0;background:#4a6e4d}.tab-dot{display:inline-block;width:4px;height:4px;border-radius:100%;background:#7b996a;margin-left:7px;vertical-align:middle}.lyrics-settings{display:flex;gap:5px;align-items:center}.setting-chip{font-size:8px;padding:5px 7px;border-radius:4px;color:#a3a99b;white-space:nowrap}.setting-chip.active{background:#eef3e6;color:#6c8359}.vertical-line{width:1px;height:11px;background:#e1e7d9;margin:0 3px}.lyrics-help{padding:16px 23px 8px;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#a9ae9f;gap:8px}.lyrics-help>span:first-child{display:flex;align-items:center;gap:6px}.lyrics-help svg{width:12px;height:12px}.lyrics-help>span:last-child{font-variant-numeric:tabular-nums;color:#8d9c7e;font-size:9px}.lyrics-list{height:365px;overflow:auto;padding:5px 12px 14px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#dce4d4 transparent}.lyric-line{position:relative;display:flex;gap:17px;align-items:start;padding:15px 13px;border-radius:7px;min-height:104px;cursor:pointer;margin-bottom:3px;border:1px solid transparent;transition:background .2s}.lyric-line:hover{background:#f7f9f3}.lyric-line.active{background:#f0f5e9;border-color:#e0e9d5}.lyric-line.active:before{content:'';position:absolute;left:-1px;top:20px;bottom:20px;width:3px;background:#79935c;border-radius:3px}.lyric-time{font-size:9px;color:#b0b7a7;min-width:29px;padding-top:10px;font-variant-numeric:tabular-nums}.active .lyric-time{color:#83966b}.lyric-body{flex:1;min-width:0}.lyric-tokens{display:flex;flex-wrap:wrap;align-items:start;column-gap:2px}.lyric-word{display:flex;flex-direction:column;align-items:center;padding:0 2px;border-radius:4px;min-width:15px}.word-original{font-family:var(--serif);font-size:25px;line-height:1.5;letter-spacing:1.5px;color:#58614e}.active .word-original{color:#36533a}.word-reading{font-size:9px;line-height:1.6;color:#a4ad95;letter-spacing:1px}.word-romaji{font-size:8px;color:#a1ab96;line-height:1.6}.lyric-word:hover,.lyric-word.selected{background:#dce7c9}.lyric-word.selected .word-original{color:#34502f}.lyric-translation{color:#929d86;font-size:10px;margin-top:10px;letter-spacing:.4px}.active .lyric-translation{color:#7c8c6a}.line-play{opacity:0;margin-left:auto;align-self:center;min-width:22px;color:#668157;width:25px;height:25px}.line-play svg{width:13px;height:13px}.lyric-line:hover .line-play,.lyric-line.active .line-play{opacity:1}.lyrics-footer{border-top:1px solid var(--line);display:flex;align-items:center;padding:13px 23px;font-size:8px;gap:6px;color:#a5ad9c}.small-dot{width:4px;height:4px;border-radius:100%;background:#8ca678}.lyrics-footer button{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:8px;color:#839374}.lyrics-footer svg{width:11px;height:11px}.learning-tip{margin-top:18px;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px dashed #dce2d0;border-radius:7px;background:#f3f5ed}.tip-mark{font-family:var(--serif);background:#e8eddd;color:#849868;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:18px}.learning-tip p{margin:0;flex:1;font-size:9px}.learning-tip strong{display:block;font-weight:500;color:#7e8c6b;margin-bottom:5px}.learning-tip p>span{color:#a6ad9a;font-size:8px}.learning-tip button{color:#97a483}.learning-tip svg{width:15px}.detail-column{display:flex;flex-direction:column;gap:19px}.dictionary-card,.grammar-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 21px}.card-eyebrow{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#98a18f;margin-bottom:21px}.card-eyebrow>span:first-child{display:flex;align-items:center;gap:6px;color:#6c7d5f;font-weight:500}.card-eyebrow svg{width:14px;height:14px}.live-badge{font-size:7px;letter-spacing:.5px;color:#9eaa8d;border:1px solid #e7ecde;padding:3px 5px;border-radius:3px}.dictionary-word-heading{display:flex;align-items:center;justify-content:space-between}.dictionary-word{font:600 32px var(--serif);letter-spacing:2px}.pronounce-button{border:1px solid #e1e8d8;background:#f5f8f0;color:#839966;border-radius:50%;display:grid;place-items:center;height:31px;width:31px}.pronounce-button svg{width:15px;height:15px}.dictionary-reading{font-size:10px;color:#889a73;letter-spacing:1px;margin:11px 0 16px}.dictionary-reading>span{font-family:var(--sans);letter-spacing:.5px;color:#a9b09f;margin-left:12px}.word-tags{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.word-tag{border:1px solid #e2e7dc;color:#9aa68b;padding:3px 6px;border-radius:3px;font-size:8px}.word-tag:first-child{background:#f0f4e9;border-color:#e9efdf;color:#7e9368}.dictionary-meaning{font-size:13px;font-weight:500;margin:0 0 9px;line-height:1.8}.dictionary-detail{font-size:9px;color:#969f8b;line-height:1.9;margin:0}.word-example{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.example-label{font-size:9px;color:#7f9070;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.example-label button{color:#98a888;padding:0;height:20px}.example-label svg{width:13px}.example-ja{font-family:var(--serif);font-size:13px;line-height:1.8;margin:0 0 6px;color:#5a6c4f}.example-reading{font-size:8px;color:#a5ae99;line-height:1.8;margin:0 0 6px}.example-zh{font-size:9px;color:#9da58f;line-height:1.8;margin:0}.save-word{margin-top:18px;border:1px solid #d8e2ca;color:#78915f;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;font-size:10px;padding:10px;background:#fbfcf7}.save-word svg{width:13px;height:13px}.save-word.saved{background:#e8efdf;color:#597542}.grammar-card{background:#fbfcf7}.grammar-card .card-eyebrow{margin-bottom:16px}.grammar-card .card-eyebrow>span:last-child{font-size:8px;color:#a1ad91}.grammar-sentence{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:1px;margin:0 0 9px;line-height:1.6}.grammar-translation{font-size:10px;color:#7d8e6b;margin:0 0 19px}.grammar-title{font-size:10px;color:#70855b;margin:0 0 9px;font-weight:500}.grammar-description{font-size:9px;color:#949e87;line-height:2;margin:0 0 16px}.grammar-parts{display:flex;flex-wrap:wrap;gap:6px}.grammar-part{font-size:8px;line-height:1.8;padding:5px 7px;border-radius:3px;background:#edf2e5;color:#869876}.grammar-part b{font-weight:500;color:#71865c;display:block}.grammar-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e6ebdc;margin-top:16px;padding-top:13px;font-size:9px;color:#83966e}.grammar-controls button{display:flex;align-items:center;gap:5px;font-size:9px;color:#83966e}.grammar-controls svg{width:11px;height:11px}.detail-footnote{display:flex;align-items:start;gap:7px;padding:0 9px;font-size:8px;color:#a6ad9d;line-height:1.9}.detail-footnote svg{width:12px;height:12px;margin-top:2px}.song-notes{padding:24px 27px;height:365px;overflow:auto;font-size:11px;line-height:2;color:#7d8c70}.song-notes h3{font-family:var(--serif);font-size:17px;color:#4c6543;margin:0 0 12px}.song-notes p{margin:0 0 17px}.song-notes a{color:#6b8957}.player{position:relative;flex-shrink:0;height:calc(var(--player-height) + env(safe-area-inset-bottom,0px));border-top:1px solid #e4e8dc;box-shadow:0 -3px 20px #243d2905;z-index:30;background:#fdfefa;display:grid;grid-template-columns:295px minmax(250px,525px) 1fr;align-items:center;gap:24px;padding:0 30px}.now-playing{display:flex;align-items:center;gap:12px;min-width:0}.now-playing>img{height:48px;width:48px;object-fit:cover;border-radius:5px}.now-playing>div{min-width:0}.now-playing strong{font-size:11px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.now-playing>div>span{font-size:9px;color:#a0aa96;display:block;margin-top:7px}.now-playing>.icon-button{color:#a1ae93;margin-left:9px}.now-playing>.icon-button svg{width:16px;height:16px}.playback{display:flex;flex-direction:column;gap:9px}.playback-buttons{display:flex;gap:22px;align-items:center;justify-content:center;color:#9aa88d}.playback-buttons>.icon-button{width:24px;height:24px}.playback-buttons>.icon-button svg{width:15px;height:15px}.play-button{width:34px;height:34px;border-radius:100%;background:#31553b;color:white;display:grid;place-items:center}.play-button svg{width:16px;height:16px;margin-left:1px}.loop-button{position:relative}.loop-button>span{position:absolute;font-size:6px;top:7px;left:10px;line-height:8px}.loop-button.active{color:#426c35;background:#e9f0df}.speed-button{font-size:9px;min-width:30px;color:#8a9c77}.seek-row{display:flex;align-items:center;gap:9px;color:#a3af98;font-size:8px;font-variant-numeric:tabular-nums}.seek-row input{flex:1;width:100%}input[type=range]{appearance:none;-webkit-appearance:none;background:linear-gradient(to right,#91a574 var(--progress,0%),#e5eadb var(--progress,0%));height:3px;border-radius:10px;cursor:pointer;outline:0;margin:5px 0}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:8px;width:8px;border-radius:100%;background:#7d9660}input[type=range]::-moz-range-thumb{height:8px;width:8px;border:0;border-radius:100%;background:#7d9660}.player-extras{display:flex;align-items:center;gap:12px;justify-content:flex-end;color:#a6b094}.player-extras>span{font-size:9px;letter-spacing:1px;margin-right:8px}.player-extras>.icon-button svg{width:16px}.player-extras input{width:70px;--progress:80%}.mobile-menu{display:none}.vocab-toolbar{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px}.vocab-toolbar h2{font-size:16px;font-weight:500}.vocab-toolbar h2 span{font-size:11px;background:#e8efdf;border-radius:5px;padding:3px 7px;color:#7a9368;margin-left:7px}.vocab-search{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:10px 12px;background:white;border-radius:6px}.vocab-search svg{width:15px;color:#93a382}.vocab-search input{border:0;outline:0;background:transparent;font-size:11px}.vocab-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.vocab-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}.vocab-card-head{display:flex;align-items:center;justify-content:space-between}.vocab-card h3{font:500 25px var(--serif);margin:0}.vocab-card-reading{font-size:10px;color:#8c9e78;margin:10px 0 17px}.vocab-card-meaning{font-size:12px;margin:10px 0;color:#677a57}.vocab-card-source{border-top:1px solid var(--line);padding-top:13px;margin-top:16px;font-size:9px;color:#a0ab94;display:flex;justify-content:space-between}.vocab-remove{font-size:9px;color:#b49490}.empty-state{padding:65px 20px;text-align:center;color:#9da98e;border:1px dashed #d9e1ce;border-radius:10px;grid-column:1/-1;background:#f9fbf5}.empty-state>svg{width:30px;height:30px;margin-bottom:15px}.empty-state h3{font-size:15px;color:#6e855c;font-weight:500}.empty-state p{font-size:11px;line-height:1.9}.empty-state .button{margin-top:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:27px}.stat-card>span{font-size:11px;color:#9aa98a}.stat-card strong{font-size:38px;font-weight:400;display:block;color:#557548;margin:16px 0}.stat-card small{font-size:10px;color:#a6b099}.history-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px}.history-card h2{font-size:15px;font-weight:500;margin:0 0 24px}.history-item{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:20px 0}.history-item img{width:45px;height:45px;object-fit:cover;border-radius:5px}.history-item h3{font-size:12px;margin:0 0 8px}.history-item p{font-size:10px;color:#9aa98c;margin:0}.history-item>span{margin-left:auto;color:#a2ad97;font-size:10px}.privacy-note{font-size:10px;color:#a4b095;text-align:center;margin:25px}.toast{position:fixed;bottom:117px;left:calc(50% + 60px);transform:translate(-50%,10px);padding:13px 22px;background:#294b3a;color:#eff4e7;border-radius:7px;box-shadow:0 5px 30px #182e2826;font-size:11px;z-index:100;pointer-events:none;opacity:0;transition:.2s;max-width:85vw;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #e1e7d7;border-radius:15px;padding:30px;width:min(650px,calc(100% - 32px));max-height:85dvh;overflow:auto;color:var(--ink);background:#fcfdf9;box-shadow:0 20px 100px #172d2730}dialog::backdrop{background:#21372e63;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:20px}.dialog-heading h2{font-size:22px;font-weight:500;margin:8px 0 0}.dialog-heading>.icon-button{color:#96a38b}.search-form{border:1px solid #cedbc1;border-radius:7px;display:flex;align-items:center;gap:10px;padding:7px 7px 7px 14px;background:#fff}.search-form>svg{width:18px;color:#89a073}.search-form input{flex:1;min-width:0;border:0;background:none;outline:0;font-size:13px}.dialog-hint,.dialog-intro{font-size:11px;color:#8c9b7d;line-height:1.9}.dialog-hint{margin:13px 0 22px}.search-results{min-height:130px}.suggested-song{display:flex;gap:17px;align-items:center;border:1px solid var(--line);padding:18px;border-radius:8px;background:white;margin:25px 0}.suggested-song img{width:65px;height:76px;object-fit:cover;border-radius:4px}.suggested-song h3{font:500 18px var(--serif);margin:9px 0}.suggested-song p{font-size:9px;color:#97a489;margin:0}.suggested-song .button{margin-left:auto}.platform-links{display:flex;align-items:center;gap:18px;font-size:10px;border-top:1px solid var(--line);padding-top:22px;flex-wrap:wrap}.platform-links>span{color:#a4ad99;margin-right:auto}.platform-links a{color:#7e9866;text-decoration:none}.inline-import{display:flex;align-items:center;justify-content:center;gap:8px;color:#7b9267;font-size:11px;width:100%;padding:19px 0 0}.inline-import svg{width:14px}.form-label{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#7f916e;margin:20px 0}.form-label input,.form-label textarea{background:white;border:1px solid #dfe6d5;padding:12px;border-radius:6px;outline:0;color:#4b6841;width:100%;font-size:12px;resize:vertical}.form-label input:focus,.form-label textarea:focus{border-color:#8faa74}.import-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.file-drop{border:1px dashed #cfdcc1;background:#f6f9f0;display:flex;flex-direction:column;align-items:center;position:relative;border-radius:7px;padding:23px 12px;color:#8da374;gap:10px;cursor:pointer;text-align:center;min-width:0}.file-drop strong{font-size:11px;font-weight:500}.file-drop>span{font-size:9px;color:#a3af97;overflow-wrap:anywhere}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.import-note{font-size:10px;color:#a0ad90;line-height:1.8}.form-error{font-size:11px;color:#b1736d}.full-width{width:100%}.search-result{border:1px solid var(--line);border-radius:7px;padding:15px;display:flex;gap:13px;align-items:center;margin-bottom:10px;background:white}.result-info{flex:1;min-width:0}.result-info h3{font-size:13px;margin:0 0 8px;overflow-wrap:anywhere}.result-info p{font-size:10px;color:#98a78a;margin:0;line-height:1.6}.result-status{display:inline-block;font-size:8px;padding:3px 5px;border-radius:3px;background:#eef4e5;color:#8ba36e;margin:8px 0 0}.search-message{font-size:12px;color:#8da076;padding:28px 12px;text-align:center;line-height:2}.info-content{font-size:12px;color:#849774;line-height:2}.info-content h3{font-size:14px;color:#4d6d40;font-weight:500;margin-top:24px}.info-content a{color:#5d8050;text-decoration-color:#b9c8aa}.info-content p{margin:12px 0}.review-card{text-align:center;padding:30px 10px}.review-progress{font-size:11px;color:#9bab8b}.review-word{font:500 50px var(--serif);margin:37px 0 15px}.review-reading{font-size:14px;color:#8ba273;margin:15px 0}.review-answer{font-size:18px;color:#577646;line-height:1.8;margin:28px 0}.review-card>.button{margin-top:15px}.review-actions{display:flex;gap:15px;justify-content:center;margin-top:25px}.review-example{font-size:13px;color:#91a47e;line-height:1.8}.lookup-empty{font-size:12px;color:#8a9c77;line-height:1.9}.lookup-empty h3{font-family:var(--serif);font-size:23px;color:#4d6a3e}.lookup-empty .button{margin:14px 0}.hide-readings .word-reading{display:none}.hide-romaji .word-romaji{display:none}.hide-translations .lyric-translation{display:none}body:not(.show-romaji) .word-romaji{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.learning-grid{grid-template-columns:minmax(0,1fr) 330px}.song-card{padding:27px;gap:29px}.album-cover{width:156px;height:161px}.song-info h2{font-size:33px}.lyrics-list{height:400px}.song-info{padding:3px 0}.word-original{font-size:28px}.lyric-line{min-height:109px}.dictionary-card,.grammar-card{padding:24px}.dictionary-detail,.grammar-description{font-size:10px}}
@media(max-width:1180px){.sidebar{width:190px;padding-left:13px;padding-right:13px}.app-shell{margin-left:190px}.brand{font-size:22px;padding:0 6px}.learning-grid{grid-template-columns:minmax(0,1fr) 260px;gap:17px}main{padding:28px 24px}.topbar{padding:0 25px}.page-heading h1{font-size:21px}.page-heading .button{padding:10px 12px}.song-card{padding:18px;gap:16px}.album-cover{width:110px;height:133px}.song-info h2{font-size:23px}.song-meta{gap:10px}.audio-version{display:none!important}.song-favorite{right:8px;top:8px}.song-tags{gap:4px}.tag{font-size:7px;padding:3px 5px}.lyrics-settings{gap:1px}.panel-heading{padding:0 18px}.tabs{gap:17px}.setting-chip{font-size:7px;padding:4px}.lyric-line{gap:11px}.dictionary-card,.grammar-card{padding:17px}.player{grid-template-columns:240px minmax(230px,470px) 1fr;gap:20px;padding:0 23px}.player-extras>span{display:none}.now-playing strong{max-width:150px}.language-label{display:none}.top-actions{gap:17px}}
@media(max-width:1000px){.sidebar{width:174px}.app-shell{margin-left:174px}.learning-grid{grid-template-columns:minmax(0,1fr) 235px;gap:14px}.song-card{gap:12px;padding:16px}.album-cover{width:85px;height:130px}.album-caption{font-size:18px;left:10px;letter-spacing:3px}.album-caption small{font-size:5px;letter-spacing:1px}.song-info h2{font-size:21px}.song-description{font-size:9px}.song-artist{font-size:9px}.panel-heading{padding:0 12px}.lyrics-settings{gap:0}.tab{font-size:10px}.tabs{gap:13px}.setting-chip{font-size:7px}.lyrics-help{padding-left:17px;padding-right:15px;font-size:7px}.word-original{font-size:22px}.lyric-line{padding-left:9px;padding-right:7px}.lyric-time{font-size:8px;min-width:24px}.lyric-translation{font-size:9px}.dictionary-card,.grammar-card{padding:15px}.card-eyebrow{font-size:8px}.brand{font-size:20px;gap:9px}.brand-mark{width:34px;height:37px}.daily-card{padding:13px 10px}.daily-card small{font-size:8px}.top-search{width:210px}.page-heading h1{font-size:19px}.page-heading p{font-size:10px}.page-heading{gap:12px}.learning-tip{padding:12px;gap:8px}.learning-tip p>span{font-size:7px}.player{grid-template-columns:210px 1fr 110px;gap:15px;padding:0 18px}.player-extras{gap:5px}.player-extras input{width:55px}.now-playing .icon-button{display:none}.now-playing strong{max-width:140px}.top-actions{gap:12px}.topbar{padding:0 23px}}
@media(max-width:850px){.sidebar{width:74px;padding:27px 10px 0}.brand{padding:0;justify-content:center}.brand>span:last-child,.workspace-label,.nav-item:not(.active) .nav-count,.nav-dot,.sidebar-label,.sidebar-divider,.library-song,.add-song,.side-bottom{display:none}.navigation{margin-top:40px;gap:18px}.nav-item{font-size:0;justify-content:center;padding:13px 10px;gap:0}.nav-item svg{width:22px}.app-shell{margin-left:74px}.page-heading h1{font-size:21px}.learning-grid{grid-template-columns:minmax(0,1fr) 245px}.album-cover{width:95px}.tag{font-size:7px}.song-info h2{font-size:20px}.song-description{font-size:8px}.song-meta{font-size:7px}.player{grid-template-columns:185px 1fr 90px}.now-playing strong{font-size:10px;max-width:120px}.now-playing>img{width:41px;height:41px}.now-playing>div>span{font-size:8px}.top-search{width:210px}.language-pill{font-size:10px}.language-label{display:none}.song-info{padding:0}.stat-card{padding:20px}.suggested-song .button{font-size:9px;padding:9px}.toast{left:50%}}
@media(max-width:700px){.sidebar{inset:0 auto 85px 0;width:215px;padding:28px 19px;transform:translateX(-100%);transition:transform .2s;box-shadow:5px 0 30px #172d2720}.sidebar.open{transform:translateX(0)}.brand>span:last-child,.workspace-label,.sidebar-label,.sidebar-divider,.library-song,.add-song,.side-bottom{display:revert}.brand{justify-content:flex-start;gap:12px}.brand>span:last-child{font-size:24px}.brand small{font-size:8px}.brand-mark{height:39px;width:38px}.workspace-label{display:block}.navigation{margin-top:0;gap:8px}.nav-item{font-size:12px;justify-content:flex-start;gap:12px;padding:13px}.sidebar-divider{display:block;margin-top:25px}.sidebar-label{display:flex}.library-song{display:flex}.add-song{display:flex}.side-bottom{display:block;margin-top:auto}.app-shell{margin-left:0}.mobile-menu{display:inline-flex;width:23px;height:23px;margin-right:1px}.breadcrumb{gap:7px;font-size:10px}.breadcrumb .mobile-menu svg{width:18px;height:18px}.topbar{height:63px;padding:0 19px}.top-search{width:32px;height:32px;padding:8px;border:none;background:transparent}.top-search span,.top-search kbd{display:none}.top-search svg{width:18px;height:18px}.top-actions{gap:14px}.language-pill{font-size:10px}main{padding:25px 18px}.page-heading{margin-bottom:22px;align-items:center;gap:9px}.page-heading h1{font-size:20px;letter-spacing:0;line-height:1.5;margin-top:8px}.page-heading p{font-size:9px;line-height:1.8;max-width:270px}.eyebrow{font-size:8px;letter-spacing:1.7px}.page-heading>.button{padding:9px 10px;font-size:0;align-self:flex-end;margin-bottom:4px}.page-heading>.button svg{width:17px;height:17px}.learning-grid{grid-template-columns:1fr;gap:20px}.song-card{padding:18px;gap:20px}.album-cover{width:112px;height:133px}.album-caption{font-size:21px;left:12px}.song-info h2{font-size:25px}.song-tags .tag{font-size:7px;padding:4px 6px}.song-tags{gap:6px}.song-artist{font-size:9px}.song-description{font-size:9px}.song-meta{font-size:8px;gap:12px}.song-description{margin:12px 0}.song-favorite{right:10px;top:10px}.lyrics-panel{margin-top:18px}.panel-heading{padding:0 18px}.tabs{gap:24px}.tab{font-size:11px}.setting-chip{font-size:8px;padding:5px 6px}.lyrics-settings{gap:1px}.lyrics-help{font-size:8px;padding:16px 20px 8px}.lyrics-list{height:370px;padding:5px 10px 10px}.word-original{font-size:26px}.lyric-line{padding:14px 12px;gap:17px;min-height:104px}.lyric-time{font-size:9px;min-width:28px}.word-reading{font-size:9px}.lyric-translation{font-size:10px}.detail-column{display:grid;grid-template-columns:1fr 1fr;gap:13px}.dictionary-card,.grammar-card{padding:18px}.card-eyebrow{font-size:9px}.live-badge{display:none}.dictionary-word{font-size:29px}.dictionary-reading{font-size:9px}.dictionary-reading>span{display:block;margin:5px 0 0}.dictionary-meaning{font-size:12px}.grammar-sentence{font-size:15px}.grammar-description{font-size:9px}.detail-footnote{grid-column:1/-1;font-size:8px;padding:0 4px}.learning-tip{padding:15px;gap:13px;margin-top:15px}.learning-tip p>span{font-size:8px}.player{padding:0 16px;grid-template-columns:110px 1fr;gap:12px}.now-playing{gap:8px}.now-playing>img{width:33px;height:37px}.now-playing strong{font-size:9px;max-width:75px}.now-playing>div>span{font-size:7px;margin-top:5px;max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playback{gap:6px}.playback-buttons{gap:15px}.playback-buttons>.icon-button{width:20px;height:20px}.play-button{height:29px;width:29px}.speed-button{font-size:8px;min-width:25px}.player-extras{display:none}.seek-row{gap:6px;font-size:7px}.toast{bottom:102px;font-size:10px}.stat-grid{gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:29px}.stat-card>span{font-size:9px}.stat-card small{font-size:8px}.history-card{padding:20px}.vocab-toolbar{margin-top:23px;gap:10px}.vocab-toolbar h2{font-size:13px;white-space:nowrap}.vocab-search{padding:9px}.vocab-search input{width:130px;font-size:10px}.vocab-list{grid-template-columns:repeat(2,1fr);gap:12px}.vocab-card{padding:17px}.vocab-card-meaning{font-size:11px}.vocab-card h3{font-size:22px}.vocab-card-source{font-size:8px;gap:6px}.vocab-card-reading{font-size:9px}dialog{padding:23px 20px}.dialog-heading h2{font-size:21px}.dialog-intro,.dialog-hint{font-size:10px}.search-form{gap:7px;padding-left:10px}.search-form input{font-size:11px}.search-form .button{font-size:10px;padding:10px}.suggested-song{gap:12px;padding:13px;flex-wrap:wrap}.suggested-song img{width:48px;height:61px}.suggested-song .button{margin-left:auto}.suggested-song h3{font-size:16px}.suggested-song p{font-size:8px}.platform-links{gap:14px;font-size:9px}.import-file-grid{gap:10px}.file-drop{padding:20px 10px}.file-drop>span{font-size:8px}.file-drop strong{font-size:10px}.search-result{padding:12px;gap:10px}.result-info h3{font-size:12px}.search-result .button{padding:8px;font-size:10px}.history-item>span{font-size:8px}.history-item h3{font-size:11px}.history-item p{font-size:9px}}
@media(max-width:390px){.page-heading h1{font-size:18px}.song-card{padding:16px;gap:14px}.album-cover{width:95px;height:128px}.song-info h2{font-size:23px}.song-tags .tag{font-size:6px;padding:3px 5px}.song-artist{font-size:8px}.song-description{font-size:8px}.song-meta{font-size:7px;gap:8px}.detail-column{grid-template-columns:1fr}.dictionary-reading>span{display:inline;margin-left:12px}.live-badge{display:inline}.dictionary-card,.grammar-card{padding:22px}.word-original{font-size:24px}.lyric-line{gap:12px}.panel-heading{padding:0 13px}.tabs{gap:16px}.setting-chip{font-size:7px;padding:4px}.lyrics-settings{gap:0}.player{grid-template-columns:99px 1fr;gap:7px;padding:0 12px}.playback-buttons{gap:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Keep learning content comfortable to read, including on small screens. */
.page-heading p{font-size:12px;color:#88937e}.song-artist,.song-description{font-size:11px;color:#89957f}.song-meta{font-size:10px}.song-meta .audio-version{font-size:9px}.tag{font-size:9px}.tab{font-size:12px}.setting-chip{font-size:10px}.lyrics-help{font-size:10px;color:#8e9b80}.word-reading{font-size:11px;color:#8a9c76}.word-romaji{font-size:10px;color:#8a9c76}.lyric-translation{font-size:12px;color:#829471}.dictionary-reading{font-size:12px}.dictionary-detail{font-size:12px;line-height:1.9;color:#87967a}.dictionary-meaning{font-size:14px}.word-tag{font-size:10px}.example-label{font-size:11px}.example-ja{font-size:15px}.example-reading{font-size:10px;color:#8c9b7d}.example-zh{font-size:12px;color:#8b9a7d}.save-word{font-size:12px}.card-eyebrow{font-size:11px}.live-badge{font-size:9px}.grammar-translation{font-size:12px}.grammar-title{font-size:12px}.grammar-description{font-size:12px;line-height:1.9;color:#869576}.grammar-part{font-size:10px}.grammar-controls,.grammar-controls button{font-size:11px}.detail-footnote{font-size:10px}.lyrics-footer{font-size:9px}.lyrics-footer button{font-size:9px}.learning-tip p{font-size:11px}.learning-tip p>span{font-size:10px}.song-notes{font-size:13px}.search-result .result-info p{font-size:11px}.dialog-hint,.dialog-intro{font-size:12px}.import-note{font-size:11px}.info-content{font-size:13px}.now-playing strong{font-size:12px}.now-playing>div>span{font-size:10px}.song-meta .audio-version{display:none}.lyrics-settings{gap:4px}.daily-card small{font-size:9px}
@media(max-width:1180px){.lyrics-settings{gap:0}.setting-chip{font-size:8px;padding:4px}.tabs{gap:14px}.tab{font-size:11px}.song-description,.song-artist{font-size:10px}.tag{font-size:7px}.song-meta{font-size:9px}.dictionary-detail,.grammar-description{font-size:11px}.card-eyebrow{font-size:10px}.word-tag{font-size:9px}.example-ja{font-size:14px}.example-zh{font-size:11px}}
@media(max-width:1000px){.page-heading p{font-size:10px}.song-meta{font-size:8px}.setting-chip{font-size:7px}.tab{font-size:10px}.lyrics-help{font-size:8px}.dictionary-card,.grammar-card{padding:16px}.live-badge{font-size:7px}.card-eyebrow{font-size:9px}.word-reading{font-size:10px}.lyric-translation{font-size:11px}.grammar-part{font-size:9px}.grammar-title,.grammar-controls button{font-size:10px}}
@media(max-width:700px){.page-heading p{font-size:11px}.setting-chip{font-size:9px;padding:5px}.tab{font-size:12px}.tabs{gap:21px}.lyrics-help{font-size:9px}.tag{font-size:8px!important}.word-reading{font-size:11px}.lyric-translation{font-size:12px}.now-playing strong{font-size:10px}.now-playing>div>span{font-size:8px}.song-meta{font-size:9px}.song-description,.song-artist{font-size:10px}.card-eyebrow{font-size:11px}.dictionary-detail,.grammar-description{font-size:12px}.grammar-title,.grammar-controls button{font-size:12px}.grammar-part{font-size:11px}.learning-tip p{font-size:10px}.learning-tip p>span{font-size:9px}.dialog-hint,.dialog-intro{font-size:11px}}
@media(max-width:480px){.detail-column{grid-template-columns:1fr}.dictionary-card,.grammar-card{padding:22px}.dictionary-reading>span{display:inline;margin-left:12px}.live-badge{display:block;font-size:9px}.grammar-sentence{font-size:19px}.dictionary-word{font-size:32px}.example-ja{font-size:16px}.word-tag{font-size:10px}.example-zh{font-size:12px}.grammar-part{font-size:11px}.page-heading h1{font-size:19px}.song-description{font-size:9px}.song-meta{font-size:8px}}

/* The player occupies its own row, outside the scrolling learning workspace. */
.sidebar{bottom:calc(var(--player-height) + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior-y:contain}
.player{padding-bottom:env(safe-area-inset-bottom,0px)}
.toast{bottom:calc(var(--player-height) + env(safe-area-inset-bottom,0px) + 20px)}
@media(max-width:700px){:root{--player-height:85px}}

/* Unified song search and visible video playback */
.video-panel{background:#fff;border:1px solid var(--border,#e7e9e3);border-radius:16px;overflow:hidden;margin-bottom:22px;padding:20px}
.video-panel[hidden]{display:none}.video-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.video-heading h3{font-size:16px;margin:5px 0 0}.video-heading a{font-size:12px;color:#3e6958;flex-shrink:0}.video-host{aspect-ratio:16/9;width:100%;background:#182920;border-radius:8px;overflow:hidden}.video-host iframe{display:block;width:100%;height:100%;border:0}.video-help{font-size:12px;color:#69776f;line-height:1.8;margin:12px 0 0}.video-calibration{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:12px;color:#536359}.video-calibration input{width:70px;border:1px solid #d9dfd7;padding:7px;border-radius:6px;font:inherit}.video-calibration button{background:#f0f4ef;padding:7px 10px;border:0;border-radius:6px;color:#466151;cursor:pointer}.quick-searches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0;font-size:12px;color:#788376}.quick-searches button{border:1px solid #dce4db;border-radius:18px;background:#f4f7f1;color:#365e4a;padding:7px 11px;font:inherit;cursor:pointer}.result-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.result-badges .result-status{margin:0;padding:3px 7px;background:#f6f1e9;border-radius:4px;color:#89754c;font-size:10px}.result-badges .available{background:#edf4eb;color:#47734b}.search-result .button{flex-shrink:0;font-size:12px}.search-result .result-info{min-width:0}.search-result h3{overflow-wrap:anywhere}.search-result .button:disabled,button:disabled,input:disabled{opacity:.45;cursor:not-allowed}.song-tags{flex-wrap:wrap}.song-tags #song-level{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.video-panel{padding:12px;margin-bottom:16px}.video-heading{align-items:flex-start}.video-heading h3{font-size:14px}.video-host{min-height:190px}.search-result{align-items:flex-start;flex-wrap:wrap;gap:12px}.search-result .button{margin-left:auto}.quick-searches{gap:6px}.song-tags #song-level{max-width:145px}}

/* Synchronization follows media time, with an explicit browsing mode. */
.video-source-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.video-source-controls select{font:inherit;font-size:12px;border:1px solid #d9dfd7;border-radius:6px;background:#f7faf4;color:#3e6958;padding:7px;max-width:180px}.video-sync-row{display:flex;align-items:center;gap:12px;margin-top:12px}.video-sync-status{font-size:12px;line-height:1.8;color:#718365;margin:0;flex:1}.video-sync-status[data-state=playing],.video-sync-status[data-state=ready]{color:#3e6958}.video-sync-status[data-state=error]{color:#a54f30}.video-sync-row button{font-size:12px;padding:7px 12px}.video-sync-row button[hidden]{display:none}.video-host{min-height:200px}.video-host>div{height:100%}.follow-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.follow-controls button{font-size:11px}.lyrics-list{overflow-anchor:none;scroll-padding-block:24px}.lyric-line{scroll-margin-block:24px}
@media(max-width:600px){.video-source-controls{gap:6px}.video-source-controls select{max-width:150px;font-size:11px}.video-heading{flex-wrap:wrap}.lyrics-help{gap:10px;flex-wrap:wrap}.follow-controls{margin-left:auto}.video-host{min-height:200px}}

/* Japanese / Korean search and local MP3 matching. */
.search-options,.lyrics-match-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0}
.search-options label,.search-options>span,.lyrics-match-actions>span{font-size:12px;color:#68806b}
.search-options select,.form-label select{border:1px solid #cedbc1;border-radius:6px;background:#fff;color:#31553b;padding:9px;font:inherit}
.search-options select{margin-left:8px}.import-details{display:grid;grid-template-columns:2fr 1fr;gap:14px}.import-details .form-label{margin:0 0 16px}
.lyric-match{display:flex;flex-direction:column;gap:7px;text-align:left;width:100%;padding:12px;border:1px solid #dfe6d5;border-radius:6px;margin:8px 0;background:#fff;color:#31553b}.lyric-match span{font-size:11px;color:#68806b}.match-confirmed{font-size:12px;line-height:1.8;color:#31553b;padding:12px;background:#eef4e5;border-radius:6px}
.music-connect{padding:8px 10px;background:#eef4e5;color:#31553b;border:1px solid #d4dfcc;border-radius:6px;font-size:11px;white-space:nowrap}
.lyrics-footer{gap:9px;flex-wrap:wrap}.lyrics-footer #download-audio{color:inherit;font-size:11px;text-decoration:none;cursor:pointer}.lyrics-footer #export-lyrics{font-size:11px;margin-left:auto}.lyrics-footer #source-button{margin-left:0}
@media(max-width:700px){.top-actions{gap:7px}.music-connect{font-size:10px;padding:7px}.import-details{grid-template-columns:1fr 100px}.search-options{gap:8px}.search-options label{font-size:11px}}
#language-symbol{font-size:9px;padding:3px;border:1px solid #c4d4c6;border-radius:4px}

/* The same learning card is shown beside lyrics on desktop and as a sheet on phones. */
.dictionary-senses{margin:14px 0;padding-left:20px;font-size:13px;line-height:1.8}.dictionary-senses li{margin-bottom:8px}.dictionary-senses b{display:block;font-size:10px;color:#839374;font-weight:500}.word-section-title{font-size:11px;margin:20px 0 8px;color:#6c7d5f}.word-context{margin:18px 0;padding:13px;background:#f2f6eb;border-left:3px solid #8ba775;border-radius:4px}.word-context>p{font-size:15px;line-height:1.8;margin:9px 0;overflow-wrap:anywhere}.word-context .context-translation{font-size:12px;color:#7c8c6a}.word-form-note{font-size:12px;line-height:1.7;color:#6d815d;background:#f4f7ee;padding:10px;border-radius:5px}.dictionary-source{display:block;font-size:10px;line-height:1.8;color:#8b9683;margin:12px 0}.word-lookup-form{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.word-lookup-form label{display:block;font-size:10px;color:#849278;margin-bottom:8px}.word-lookup-form>div{display:flex;gap:6px}.word-lookup-form input{width:100%;min-width:0;border:1px solid #dce4d5;border-radius:5px;padding:9px;font-size:13px}.word-lookup-form button{padding:8px 10px}.dictionary-word{overflow-wrap:anywhere;letter-spacing:1px}.dictionary-detail{line-height:1.9}.word-dialog-close{position:absolute;right:12px;top:10px;z-index:1;font-size:26px}#word-dialog{width:min(440px,calc(100% - 24px));padding:0;max-height:78dvh;overflow:auto;border:0;border-radius:16px}#word-dialog .dictionary-card{border:0;padding:26px}#word-dialog .card-eyebrow{padding-right:26px}#word-dialog::backdrop{background:#182a2555;backdrop-filter:blur(3px)}
@media(max-width:600px){#word-dialog{margin:auto auto 14px}.dictionary-senses{font-size:14px}.word-context>p{font-size:17px}.dictionary-detail,.example-zh{font-size:13px}.lyric-word{min-height:40px}.dictionary-word{font-size:30px}}
@media(min-width:901px){.detail-column{position:sticky;top:18px;max-height:calc(100dvh - var(--player-height) - 36px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dce4d4 transparent;padding-right:2px}}

.reading-status{display:flex;align-items:center;gap:10px;padding:3px 23px 10px;font-size:11px;color:#82916e;line-height:1.7}.reading-status[hidden]{display:none}.reading-status button{flex-shrink:0;text-decoration:underline;color:#456b4e}.reading-status button[hidden]{display:none}.word-romaji{font-size:11px;line-height:1.8;letter-spacing:.2px;color:#73885d}.word-reading{line-height:1.8}.lyric-punctuation{font-family:var(--serif);font-size:25px;line-height:1.5;color:#58614e;padding:0 2px}.lyric-tokens{row-gap:6px}
@media(max-width:600px){.lyrics-panel .panel-heading{flex-wrap:wrap;gap:0}.lyrics-panel .lyrics-settings{padding-bottom:10px;margin-left:auto}.word-romaji{font-size:12px}.reading-status{padding:3px 15px 10px;font-size:10px}}

/* Song-focused workspace, shared by desktop and mobile. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:root{--romaji-size:16px}.topbar{height:60px}.app-shell main{padding:18px 26px}.learning-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:'song side' 'lyrics side' 'tip side';gap:14px 20px;align-items:start}.learning-main{display:contents}.study-side{grid-area:side;position:sticky;top:12px;max-height:calc(100dvh - var(--player-height) - 86px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dce4d4 transparent}.study-side .detail-column{position:static;max-height:none;overflow:visible;display:flex;flex-direction:column;padding:0}.song-card{grid-area:song;padding:12px 16px;gap:14px;align-items:center}.lyrics-panel{grid-area:lyrics;margin-top:0}.learning-tip{grid-area:tip;margin-top:0}.album-cover{width:64px;height:64px}.album-caption{font-size:13px;left:7px;bottom:5px;letter-spacing:1px}.album-caption small{font-size:4px;letter-spacing:.5px}.song-info h2{font-size:24px;letter-spacing:.5px;margin:5px 0}.song-description{display:none}.song-meta{gap:10px;margin-top:7px}.song-card .tag{font-size:9px!important;padding:3px 5px}.song-favorite{top:10px;right:10px}.song-info{padding-right:25px}.song-tags #song-level{max-width:160px}.song-artist{font-size:12px;color:#64755f}.song-meta,.song-meta .audio-version{font-size:10px}.song-artist>span{padding:0}
#learn-view>.page-heading{margin-bottom:14px}#learn-view>.page-heading .eyebrow{display:none}#learn-view>.page-heading h1{font-size:20px;margin:0 0 4px}#learn-view>.page-heading p{font-size:12px;color:#6b7f62;line-height:1.5}.lyrics-panel .panel-heading{padding:0 16px;flex-wrap:wrap;gap:0 12px}.tabs{gap:18px}.tab{padding:13px 0}.lyrics-settings{flex-wrap:wrap;gap:4px;padding:8px 0;margin-left:auto}.setting-chip{font-size:11px!important;padding:6px 8px!important}.study-setting select{max-width:80px;padding:5px;border:1px solid #d9e2d2;border-radius:5px;font-size:11px;background:#fff;color:#46643d}.lyrics-help{padding:10px 16px 5px;font-size:10px}.reading-status{padding:2px 16px 8px}.lyrics-list{height:clamp(300px,calc(100dvh - 360px),650px);padding:4px 10px 12px}.lyric-line{padding:12px 10px;gap:12px;min-height:108px}.word-original{font-size:25px;letter-spacing:.5px}.word-reading{font-size:12px;color:#6f835d;line-height:1.7}.word-romaji{font-size:var(--romaji-size)!important;line-height:1.65;color:#3c613f;font-weight:500;letter-spacing:.1px}.lyric-line.active .word-romaji{color:#244d31;font-weight:600}.lyric-translation{font-size:13px;line-height:1.7;color:#657b58}.line-play{min-width:38px;min-height:38px;opacity:1}.lyric-time{font-size:10px}.video-panel{padding:10px;margin-bottom:12px;border-radius:10px}.video-heading{gap:8px;margin-bottom:8px;flex-wrap:wrap}.video-heading .eyebrow{display:none}.video-heading h3{font-size:12px;margin:0;font-weight:500}.video-source-controls{gap:6px;justify-content:flex-start}.video-heading a,.video-source-controls select{font-size:10px}.video-source-controls select{max-width:160px;padding:5px}.video-host{min-height:200px;max-height:220px}.video-sync-row{margin-top:6px;gap:6px}.video-sync-status{font-size:11px;line-height:1.5}.video-sync-row .button{padding:5px 8px}.video-advanced{margin-top:7px;color:#718368;font-size:11px}.video-advanced summary{cursor:pointer;padding:4px 0}.video-help{font-size:11px;margin-top:8px}.video-calibration{font-size:11px;gap:6px}.word-base{font-size:12px;line-height:1.7;background:#f2f6eb;padding:9px;border-radius:5px;color:#5e7753}.other-senses summary{font-size:11px;color:#738267;cursor:pointer}.resume-word{margin-bottom:14px;width:100%}.practice-panel{border-top:1px solid var(--line);padding:10px 16px;font-size:12px;color:#58704d}.practice-panel summary{cursor:pointer;line-height:1.8}.practice-panel summary span{font-size:10px;margin-left:8px;color:#839174}.practice-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:12px}.practice-controls label{font-size:11px;display:flex;flex-direction:column;gap:5px}.practice-controls select{border:1px solid #dce3d5;background:#fff;border-radius:5px;padding:6px}.practice-controls .pause-word-option{flex-direction:row;align-items:center;line-height:1.6;flex-basis:100%}.practice-controls .button{margin-left:auto}.dictionary-card,.grammar-card{padding:16px}.dictionary-reading{font-size:13px;letter-spacing:.3px}.dictionary-detail{font-size:13px;color:#6e815f}.dictionary-meaning{font-size:16px;line-height:1.8}.example-zh{font-size:13px;color:#697d5a}.word-tag{font-size:10px}.card-eyebrow{margin-bottom:15px}
.library-list .library-song>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-list .library-song small{overflow:hidden;text-overflow:ellipsis}.library-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.library-toolbar input,.library-toolbar select,#review-filter{border:1px solid #d8e2cf;border-radius:6px;background:#fff;padding:10px;font:inherit;color:#46633d}.library-toolbar input{flex:1;min-width:150px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.library-card{display:flex;gap:16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;align-items:center}.library-card>img{height:92px;width:92px;object-fit:cover;border-radius:7px}.library-card>div{min-width:0}.library-card h3{font-size:17px;margin:7px 0;overflow-wrap:anywhere}.library-card p{font-size:12px;line-height:1.7;color:#7a8d6b;margin:5px 0}.library-card .library-progress{font-size:11px}.library-card .button{padding:8px 12px;margin-top:7px}.vocab-toolbar{flex-wrap:wrap;gap:12px}.review-due{font-size:11px;color:#7b8e68}.word-origin{font-size:11px;color:#456c45;text-decoration:underline;padding:5px 0}.review-card .pronounce-button{margin:0 auto 12px}.review-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.review-example{line-height:1.8}.backup-actions{display:flex;gap:12px;flex-wrap:wrap}.result-filter{display:flex;align-items:center;gap:8px;font-size:12px;color:#6e825d;margin:14px 0}.result-filter span{margin-left:auto;font-size:11px}.search-cover{height:56px;width:56px;object-fit:cover;border-radius:5px;flex-shrink:0}.history-item{gap:12px}.history-item .button{padding:8px}.history-item>span{margin-left:auto}.history-item h3{overflow-wrap:anywhere}.learning-tip{padding:10px 14px}.view .empty-state{grid-column:1/-1}
@media(min-width:1600px){.learning-grid{grid-template-columns:minmax(0,1fr) 340px}.video-host{max-height:220px}}
@media(max-width:900px){.learning-grid{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.app-shell main{padding:14px}.study-side{max-height:calc(100dvh - var(--player-height) - 82px)}.word-original{font-size:23px}.library-card{padding:14px}.video-heading h3{font-size:11px}}
@media(min-width:701px) and (max-width:850px){.sidebar .library-list{display:none}}
@media(max-width:700px){.topbar{height:48px;padding:0 14px}.top-actions{gap:5px}.breadcrumb>span,.breadcrumb>svg{display:none}.app-shell main{padding:12px}.learning-grid{display:grid;grid-template-columns:1fr;grid-template-areas:'song' 'media' 'lyrics' 'detail' 'tip';gap:10px}.study-side{display:contents;position:static;max-height:none;overflow:visible}.study-side .video-panel{grid-area:media;margin:0}.study-side .detail-column{grid-area:detail;display:flex;flex-direction:column}.song-card{padding:10px 12px;gap:10px;min-height:72px}.album-cover{height:48px;width:48px}.album-caption{display:none}.song-info h2{font-size:19px;line-height:1.3;margin:3px 0}.song-card .song-tags{display:none}.song-card .song-artist{font-size:11px}.song-card .song-meta{font-size:9px;margin-top:4px}.song-card .song-meta .audio-version{display:none}.song-info{padding-right:20px}.song-favorite{top:8px;right:8px}#learn-view>.page-heading{margin-bottom:10px}#learn-view>.page-heading h1{font-size:16px;margin:0}#learn-view>.page-heading p{font-size:10px;max-width:280px}#learn-view>.page-heading .button{font-size:0;padding:7px;margin:0}.lyrics-panel .panel-heading{padding:0 12px}.tabs{gap:15px}.tab{font-size:12px;padding:11px 0}.lyrics-settings{padding:6px 0!important;gap:3px;max-width:100%}.study-setting select{font-size:10px;max-width:70px}.setting-chip{font-size:10px!important;padding:5px!important}.lyrics-help{padding:8px 12px 4px;font-size:9px;gap:5px;flex-wrap:wrap}.lyrics-help>span{max-width:100%}.follow-controls{margin-left:auto;gap:8px}.follow-controls button{font-size:10px}.reading-status{font-size:10px;padding:2px 12px 6px;line-height:1.6}.lyrics-list{height:clamp(340px,calc(100dvh - 420px),580px);padding:3px 7px 10px}.lyric-line{gap:8px;padding:10px 8px;min-height:110px}.lyric-time{min-width:26px;font-size:9px}.word-original{font-size:24px}.word-reading{font-size:11px}.word-romaji{font-size:var(--romaji-size)!important}.lyric-translation{font-size:13px;letter-spacing:0;margin-top:8px}.line-play{height:38px;width:30px;min-width:30px}.video-panel{padding:8px 10px}.video-heading{margin-bottom:6px;flex-wrap:nowrap}.video-heading h3{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.video-source-controls{gap:4px;flex-wrap:nowrap}.video-source-controls select{max-width:115px;font-size:9px;padding:3px}.video-heading a{font-size:10px}.video-host{height:200px;min-height:200px;max-height:200px;width:100%}.video-sync-status{font-size:10px}.video-advanced{margin-top:3px;font-size:10px}.video-advanced summary{padding:2px 0}.library-grid{grid-template-columns:1fr}.library-toolbar{gap:8px}.library-card{padding:14px;gap:13px}.library-card>img{width:76px;height:76px}.library-card h3{font-size:16px}.library-toolbar .button{font-size:11px}.vocab-list{grid-template-columns:1fr}.vocab-card{padding:20px}.vocab-card-meaning{font-size:14px}.vocab-card h3{font-size:25px}.vocab-toolbar select{font-size:12px}.practice-panel{padding:8px 12px}.practice-panel summary span{font-size:9px;margin-left:5px}.dictionary-card,.grammar-card{padding:20px}.search-cover{width:42px;height:42px}.search-result{gap:8px}.search-result .result-info{flex:1;min-width:160px}.search-result .button{margin-left:auto}.history-item{flex-wrap:wrap}.history-item .button{margin-left:auto}.library-list .library-song{display:flex}.resume-word{min-height:38px}.player .play-button{height:34px;width:34px}.player .playback-buttons{gap:13px}}
.quick-import{display:none}#library-status{font-size:10px;color:#718467;line-height:1.5;margin:3px 0}#library-status:empty{display:none}
@media(max-width:700px){#learn-view>.page-heading{display:none}.quick-import{display:inline-flex;width:30px;height:30px;padding:6px}.quick-import svg{width:17px;height:17px}.top-actions{gap:3px}.song-card{padding:8px 10px}.song-info h2{font-size:18px}.video-source-controls a{white-space:nowrap}.top-actions .music-connect{font-size:10px;padding:6px}.song-card #library-status{font-size:9px}}
.lyric-word{max-width:100%;min-width:0}.word-original,.word-reading,.word-romaji{overflow-wrap:anywhere}
.recording-warning{font-size:11px;line-height:1.7;padding:8px;border-radius:5px;background:#fff2de;color:#8b6030;margin:8px 0 0}
@media(min-width:701px){.study-side{max-height:calc(100dvh - var(--player-height) - 150px)}}
