*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#fafafa}#app{min-height:100vh}.dialog-mask[data-v-770d5fc9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000061}.favorite-list-dialog[data-v-770d5fc9]{width:min(560px,100%);max-height:min(72vh,calc(100vh - 48px));display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 18px 48px #0000002e;overflow:hidden}.dialog-header[data-v-770d5fc9]{display:flex;align-items:flex-start;gap:16px;padding:20px 20px 14px;border-bottom:1px solid #f0f0f0}.favorite-list-dialog-copy[data-v-770d5fc9]{flex:1;min-width:0}.dialog-title[data-v-770d5fc9]{margin:0;color:#333;font-size:20px;line-height:1.2}.dialog-close[data-v-770d5fc9]{width:32px;height:32px;flex:0 0 auto;border:none;border-radius:50%;background:#f5f5f5;color:#666;cursor:pointer}.dialog-close-icon[data-v-770d5fc9]{font-size:16px;line-height:1}.favorite-list-dialog-banner[data-v-770d5fc9]{margin:0 16px 8px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.6;box-sizing:border-box}.favorite-list-dialog-banner-warning[data-v-770d5fc9]{background:#fff4ec;color:#c0392b;font-weight:600}.favorite-list-dialog-banner-success[data-v-770d5fc9]{background:#edf9f1;color:#1f7a43;font-weight:500}.favorite-list-dialog-list[data-v-770d5fc9]{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 12px}.favorite-list-dialog-item[data-v-770d5fc9]{width:100%;display:flex;align-items:center;gap:12px;padding:14px 10px;border-bottom:1px solid #f3f3f3;box-sizing:border-box}.favorite-list-dialog-item[data-v-770d5fc9]:last-child{border-bottom:none}.favorite-list-dialog-item-tappable[data-v-770d5fc9]{cursor:pointer}.favorite-list-dialog-item-tappable[data-v-770d5fc9]:hover{background:#fff7f4}.favorite-list-dialog-item-main[data-v-770d5fc9]{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.favorite-list-dialog-item-summary[data-v-770d5fc9]{color:#333;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.favorite-list-dialog-item-song[data-v-770d5fc9]{align-self:flex-start;max-width:100%;display:inline-flex;align-items:center;gap:6px;overflow:hidden;padding:4px 10px;border-radius:999px;background:#e65a2e1a;color:#e65a2e;box-sizing:border-box}.favorite-list-dialog-item-song-icon[data-v-770d5fc9]{width:14px;height:14px;flex:0 0 auto}.favorite-list-dialog-item-song-text-wrap[data-v-770d5fc9]{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden}.favorite-list-dialog-item-song-text[data-v-770d5fc9]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.2}.favorite-list-dialog-item-time[data-v-770d5fc9]{color:#999;font-size:12px;line-height:1.4}.favorite-list-dialog-delete-btn[data-v-770d5fc9]{flex:0 0 auto;border:none;border-radius:8px;padding:8px 12px;background:#fff1ef;color:#c0392b;font-size:13px;cursor:pointer}.favorite-list-dialog-empty[data-v-770d5fc9]{padding:56px 24px;color:#999;text-align:center;font-size:14px}.kana-game-container[data-v-d541c5a2]{margin:16px 0}.game-entry[data-v-d541c5a2]{display:flex;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.game-entry[data-v-d541c5a2]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.game-entry[data-v-d541c5a2]:active{transform:translateY(0)}.game-entry-icon[data-v-d541c5a2]{font-size:32px;margin-right:16px}.game-entry-text[data-v-d541c5a2]{flex:1}.game-entry-title[data-v-d541c5a2]{font-size:18px;font-weight:600;color:#fff;margin-bottom:2px}.game-entry-subtitle[data-v-d541c5a2]{font-size:13px;color:#fffc}.game-entry-arrow[data-v-d541c5a2]{font-size:20px;color:#ffffffe6}.game-modal[data-v-d541c5a2]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.game-modal-wrapper[data-v-d541c5a2]{display:flex;flex-direction:column;align-items:center;width:100%;max-width:600px}@media (min-width: 1024px){.game-modal-wrapper[data-v-d541c5a2]{max-width:800px}}.game-hud[data-v-d541c5a2]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:10px 12px;margin-bottom:12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000004d;flex-wrap:nowrap}.hud-item[data-v-d541c5a2]{display:flex;flex:0 0 72px;width:72px;flex-direction:column;align-items:center;padding:5px 6px;border-radius:8px;box-sizing:border-box}.hud-label[data-v-d541c5a2]{font-size:10px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.hud-value[data-v-d541c5a2]{font-size:24px;font-weight:700;color:#fff;margin-top:2px}.hud-value.danger[data-v-d541c5a2]{color:#ff6b6b;animation:pulse-d541c5a2 .5s infinite alternate}.hud-value.powerup-time[data-v-d541c5a2]{color:gold;font-size:20px}.hud-label.powerup-icon[data-v-d541c5a2]{font-size:14px;line-height:1}.hud-item.powerup-active[data-v-d541c5a2]{animation:hudPulse-d541c5a2 1s infinite alternate}.hud-item.powerup-group[data-v-d541c5a2]{flex:0 0 72px;width:72px;align-items:center;justify-content:flex-start;padding:5px 6px}.hud-item.powerup-group .hud-label[data-v-d541c5a2]{margin-bottom:2px}.powerup-icons-row[data-v-d541c5a2]{display:flex;width:100%;justify-content:center;gap:6px;align-items:center;height:30px;flex-wrap:nowrap}.powerup-compact[data-v-d541c5a2]{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;min-width:22px}.powerup-compact-icon[data-v-d541c5a2]{font-size:20px;line-height:1}.powerup-bar-bg[data-v-d541c5a2]{width:100%;height:4px;background:#fff3;border-radius:2px;margin-top:4px;overflow:hidden}.powerup-bar-fill[data-v-d541c5a2]{height:100%;background:linear-gradient(90deg,gold,#ffed4e);border-radius:2px;transition:width .1s linear}.game-modal-content.invincible-mode[data-v-d541c5a2]{position:relative;background:linear-gradient(180deg,#2d1b4e,#1a1a2e);animation:invincibleScreenPulse-d541c5a2 .4s ease-in-out infinite alternate}.game-modal-content.invincible-mode[data-v-d541c5a2]:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;background:conic-gradient(from 0deg,red,#f80,#ff0,#8f0,#0f0,#0f8,#0ff,#08f,#00f,#80f,#f0f,#f08,red);border-radius:24px;z-index:-1;animation:rainbowRotate-d541c5a2 2s linear infinite}.game-modal-content.invincible-mode[data-v-d541c5a2]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#2d1b4e,#1a1a2e);border-radius:20px;z-index:-1}@keyframes rainbowRotate-d541c5a2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes invincibleScreenPulse-d541c5a2{0%{box-shadow:inset 0 0 40px #9d50bb66,inset 0 0 80px #9d50bb33}to{box-shadow:inset 0 0 60px #c878e699,inset 0 0 120px #c878e666}}.game-modal-content.invincible-mode .kana-block[data-v-d541c5a2]{box-shadow:0 0 15px #ffd70099,0 0 30px #ffd7004d;animation:invincibleBlockGlow-d541c5a2 .5s ease-in-out infinite alternate}@keyframes invincibleBlockGlow-d541c5a2{0%{box-shadow:0 0 15px #ffd70099,0 0 30px #ffd7004d}to{box-shadow:0 0 25px #ffd700e6,0 0 50px #ffd70080}}.hud-item.combo-display[data-v-d541c5a2]{transition:all .3s ease;padding-left:12px;padding-right:12px;background-clip:content-box}.hud-item.combo-display.combo-stage-1[data-v-d541c5a2]{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 0 15px #4facfe99}.hud-item.combo-display.combo-stage-1 .combo-value[data-v-d541c5a2]{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.8)}.hud-item.combo-display.combo-stage-2[data-v-d541c5a2]{background:linear-gradient(135deg,#a18cd1,#fbc2eb);box-shadow:0 0 20px #a18cd1b3}.hud-item.combo-display.combo-stage-2 .combo-value[data-v-d541c5a2]{color:#fff;text-shadow:0 0 15px rgba(255,255,255,.9)}.hud-item.combo-display.combo-stage-3[data-v-d541c5a2]{background:linear-gradient(135deg,#ff6b6b,#feca57);box-shadow:0 0 25px #ff6b6bcc;animation:comboPulse-d541c5a2 .5s ease-in-out}.hud-item.combo-display.combo-stage-3 .combo-value[data-v-d541c5a2]{color:#fff;font-weight:800;text-shadow:0 0 20px rgba(255,255,255,1)}.hud-value.combo-value[data-v-d541c5a2]{font-weight:700;color:#ffffffe6;transition:all .2s ease}.combo-animating .combo-value[data-v-d541c5a2]{animation:comboBounce-d541c5a2 .4s ease-out}.combo-animating.combo-stage-1 .combo-value[data-v-d541c5a2]{animation:comboFlashBlue-d541c5a2 .5s ease-out}.combo-animating.combo-stage-2 .combo-value[data-v-d541c5a2]{animation:comboFlashPurple-d541c5a2 .5s ease-out}.combo-animating.combo-stage-3 .combo-value[data-v-d541c5a2]{animation:comboFlashGold-d541c5a2 .6s ease-out}@keyframes comboBounce-d541c5a2{0%{transform:scale(1)}30%{transform:scale(1.4)}50%{transform:scale(1.2)}70%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes comboFlashBlue-d541c5a2{0%{transform:scale(1);text-shadow:0 0 0 rgba(255,255,255,0)}25%{transform:scale(1.6);text-shadow:0 0 30px rgba(255,255,255,1)}50%{transform:scale(1.3);text-shadow:0 0 20px rgba(255,255,255,.8)}75%{transform:scale(1.4);text-shadow:0 0 25px rgba(255,255,255,.9)}to{transform:scale(1);text-shadow:0 0 10px rgba(255,255,255,.8)}}@keyframes comboFlashPurple-d541c5a2{0%{transform:scale(1) rotate(0);filter:brightness(1)}25%{transform:scale(1.7) rotate(-5deg);filter:brightness(1.5)}50%{transform:scale(1.4) rotate(3deg);filter:brightness(1.3)}75%{transform:scale(1.5) rotate(-2deg);filter:brightness(1.4)}to{transform:scale(1) rotate(0);filter:brightness(1)}}@keyframes comboFlashGold-d541c5a2{0%{transform:scale(1);filter:brightness(1) drop-shadow(0 0 0 gold)}20%{transform:scale(1.8);filter:brightness(2) drop-shadow(0 0 20px gold)}40%{transform:scale(1.5);filter:brightness(1.5) drop-shadow(0 0 15px orange)}60%{transform:scale(1.6);filter:brightness(1.8) drop-shadow(0 0 25px gold)}80%{transform:scale(1.4);filter:brightness(1.3) drop-shadow(0 0 10px orange)}to{transform:scale(1);filter:brightness(1) drop-shadow(0 0 5px gold)}}@keyframes comboPulse-d541c5a2{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes hudPulse-d541c5a2{0%{opacity:1}to{opacity:.7}}@keyframes pulse-d541c5a2{0%{opacity:1}to{opacity:.6}}.game-modal-content[data-v-d541c5a2]{position:relative;width:100%;height:75vh;max-height:700px;background:linear-gradient(180deg,#1a1a2e,#16213e);border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000080}@media (min-width: 768px) and (max-width: 1023px){.game-modal-wrapper[data-v-d541c5a2]{max-width:700px}.game-modal-content[data-v-d541c5a2]{height:78vh;max-height:750px}}@media (min-width: 1024px){.game-modal-wrapper[data-v-d541c5a2]{max-width:800px}.game-modal-content[data-v-d541c5a2]{height:80vh;max-height:850px}}.countdown-overlay[data-v-d541c5a2]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fadeIn-d541c5a2 .3s ease}.countdown-number[data-v-d541c5a2]{font-size:120px;font-weight:800;color:#fff;animation:countdownPop-d541c5a2 1s ease;text-shadow:0 0 30px rgba(102,126,234,.8)}@keyframes countdownPop-d541c5a2{0%{transform:scale(.5);opacity:0}30%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes fadeIn-d541c5a2{0%{opacity:0}to{opacity:1}}.modal-close-btn[data-v-d541c5a2]{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:#ffffff1a;color:#fffc;font-size:18px;cursor:pointer;z-index:11;transition:all .2s}.modal-close-btn[data-v-d541c5a2]:hover{background:#fff3;color:#fff}.game-area[data-v-d541c5a2]{position:relative;width:100%;height:100%;overflow:hidden}.kana-block[data-v-d541c5a2]{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;outline:none;box-shadow:0 4px 12px #0000004d;transition:transform .1s}.kana-block.powerup-snail[data-v-d541c5a2]{background:linear-gradient(135deg,#11998e,#38ef7d);animation:powerupPulse-d541c5a2 1s infinite alternate}.kana-block.powerup-double[data-v-d541c5a2]{background:linear-gradient(135deg,#f093fb,#f5576c);animation:powerupPulse-d541c5a2 1s infinite alternate}.kana-block.powerup-time[data-v-d541c5a2]{background:linear-gradient(135deg,#4facfe,#00f2fe);animation:powerupPulse-d541c5a2 1s infinite alternate}.kana-block.powerup-invincible[data-v-d541c5a2]{background:linear-gradient(135deg,red,#f80,#ff0,#0f0,#0ff,#08f,#80f 84%,#f08);animation:starRotate-d541c5a2 1.5s linear infinite,starPulse-d541c5a2 .5s ease-in-out infinite alternate;box-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70080,inset 0 0 10px #ffffff80;border:3px solid rgba(255,255,255,.8)}.kana-block.powerup-invincible .powerup-icon[data-v-d541c5a2]{font-size:clamp(20px,5vmin,32px);filter:drop-shadow(0 0 8px rgba(255,255,255,1));animation:iconBounce-d541c5a2 .5s ease-in-out infinite alternate}@keyframes starRotate-d541c5a2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes starPulse-d541c5a2{0%{box-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70080,inset 0 0 10px #ffffff80;transform:scale(1) rotate(var(--rotation, 0deg))}to{box-shadow:0 0 30px gold,0 0 60px #ffd700cc,0 0 90px #ffff0080,inset 0 0 20px #fffc;transform:scale(1.1) rotate(var(--rotation, 0deg))}}@keyframes iconBounce-d541c5a2{0%{transform:scale(1)}to{transform:scale(1.2)}}@keyframes powerupPulse-d541c5a2{0%{transform:scale(1);box-shadow:0 4px 12px #0000004d}to{transform:scale(1.05);box-shadow:0 6px 20px #ffffff4d}}.powerup-icon[data-v-d541c5a2]{font-size:clamp(16px,4vmin,28px);font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.kana-block[data-v-d541c5a2]:active{transform:scale(.95)}.kana-block.clicked.correct[data-v-d541c5a2]{background:linear-gradient(135deg,#11998e,#38ef7d)}.kana-block.clicked.wrong[data-v-d541c5a2]{background:linear-gradient(135deg,#eb3349,#f45c43)}.kana-block.shaking[data-v-d541c5a2]{animation:blockShake-d541c5a2 .5s ease-in-out}@keyframes blockShake-d541c5a2{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-8px) rotate(-5deg)}20%{transform:translate(8px) rotate(5deg)}30%{transform:translate(-6px) rotate(-3deg)}40%{transform:translate(6px) rotate(3deg)}50%{transform:translate(-4px) rotate(-2deg)}60%{transform:translate(4px) rotate(2deg)}70%{transform:translate(-2px) rotate(-1deg)}80%{transform:translate(2px) rotate(1deg)}90%{transform:translate(0) rotate(0)}}.roma-char[data-v-d541c5a2]{font-size:clamp(16px,4.5vmin,28px);font-weight:600;color:#fff;line-height:1.2;margin-bottom:2px;padding:3px 8px;border-radius:6px;background:#ffffff26;max-width:90%;overflow:hidden;text-overflow:ellipsis}.kana-char[data-v-d541c5a2]{font-size:clamp(14px,3.5vmin,22px);font-weight:700;color:#fffffff2;line-height:1.2;padding-bottom:4px}.game-over-overlay[data-v-d541c5a2]{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-d541c5a2 .3s ease}.game-over-content[data-v-d541c5a2]{text-align:center;padding:32px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;border:1px solid rgba(255,255,255,.1);min-width:260px;max-width:90%}.game-over-title[data-v-d541c5a2]{font-size:28px;font-weight:700;color:#fff;margin-bottom:24px}.game-over-score[data-v-d541c5a2]{margin-bottom:24px}.final-score-label[data-v-d541c5a2]{font-size:14px;color:#fff9;margin-bottom:8px}.final-score-value[data-v-d541c5a2]{font-size:56px;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-over-stats[data-v-d541c5a2]{margin-bottom:24px;padding:16px;background:#ffffff0d;border-radius:12px}.stat-item[data-v-d541c5a2]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.stat-item[data-v-d541c5a2]:last-child{border-bottom:none}.stat-label[data-v-d541c5a2]{font-size:14px;color:#fff9}.stat-value[data-v-d541c5a2]{font-size:14px;font-weight:600;color:#fff}.stat-value.correct-count[data-v-d541c5a2]{color:#38ef7d}.stat-value.wrong-count[data-v-d541c5a2]{color:#ff6b6b}.stat-value.combo-count[data-v-d541c5a2]{color:#feca57;font-weight:700}.restart-btn[data-v-d541c5a2],.close-btn[data-v-d541c5a2]{display:block;width:100%;padding:14px 24px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.restart-btn[data-v-d541c5a2]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:12px}.restart-btn[data-v-d541c5a2]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.close-btn[data-v-d541c5a2]{background:#ffffff1a;color:#fffc}.close-btn[data-v-d541c5a2]:hover{background:#ffffff26}@media (max-width: 480px){.game-modal[data-v-d541c5a2]{padding:0}.game-modal-wrapper[data-v-d541c5a2]{max-width:100%;height:100%}.game-hud[data-v-d541c5a2]{margin-bottom:8px;border-radius:0;gap:10px;padding:8px 10px}.hud-item[data-v-d541c5a2]{flex-basis:64px;width:64px;padding:4px 5px}.hud-label[data-v-d541c5a2]{font-size:9px;letter-spacing:.3px}.hud-value[data-v-d541c5a2]{font-size:20px}.hud-item.powerup-group[data-v-d541c5a2]{flex-basis:64px;width:64px;padding:4px 5px}.powerup-icons-row[data-v-d541c5a2]{gap:4px;height:24px}.powerup-compact[data-v-d541c5a2]{min-width:18px}.powerup-compact-icon[data-v-d541c5a2]{font-size:15px}.game-modal-content[data-v-d541c5a2]{height:calc(100vh - 80px);max-height:none;border-radius:0}.countdown-number[data-v-d541c5a2]{font-size:100px}.game-over-content[data-v-d541c5a2]{padding:24px;margin:20px}.final-score-value[data-v-d541c5a2]{font-size:48px}}.container[data-v-7820b464]{max-width:800px;margin:0 auto;padding:0 20px 20px;min-height:100vh;background:#fafafa}.status-bar[data-v-7820b464]{background:#fff3cd;padding:12px 16px;border-radius:8px;margin-bottom:12px}.status-text[data-v-7820b464]{color:#856404;font-size:14px}.card[data-v-7820b464]{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000f;margin-bottom:14px}.title[data-v-7820b464]{font-size:20px;font-weight:600;color:#333;margin:0 0 16px}.hero-section[data-v-7820b464]{text-align:center;padding:12px 20px 16px}.logo-container[data-v-7820b464]{margin:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.logo-image[data-v-7820b464]{width:100px;height:100px;object-fit:contain;border-radius:20px;box-shadow:0 4px 16px #e65a2e33;transition:transform .3s ease}.logo-image[data-v-7820b464]:hover{transform:scale(1.05)}.hero-title[data-v-7820b464]{margin:0 0 12px;font-weight:700;font-size:28px;color:#e65a2e;letter-spacing:2px;text-shadow:0 2px 4px rgba(230,90,46,.15)}.hero-subtitle[data-v-7820b464]{font-size:15px;color:#888;margin:0;letter-spacing:3px;font-weight:400}.hero-subtitle[data-v-7820b464]:before,.hero-subtitle[data-v-7820b464]:after{content:"—";margin:0 10px;color:#ddd}.mode-selector[data-v-7820b464]{padding:0;overflow:hidden}.mode-header[data-v-7820b464]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;cursor:pointer;transition:opacity .2s}.mode-header[data-v-7820b464]:hover{opacity:.95}.mode-current[data-v-7820b464]{display:flex;align-items:center;gap:10px}.mode-icon[data-v-7820b464]{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.mode-icon svg[data-v-7820b464]{width:20px;height:20px;fill:#fff}.mode-label[data-v-7820b464]{color:#fff;font-size:16px;font-weight:600}.mode-detected[data-v-7820b464]{color:#ffffffd9;font-size:13px}.mode-arrow[data-v-7820b464]{color:#fff;font-size:14px}.mode-options[data-v-7820b464]{background:#f8f9fa;padding:6px 12px 12px;border-radius:0 0 12px 12px}.mode-option[data-v-7820b464]{display:flex;align-items:center;padding:10px 12px;margin-top:6px;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;border:2px solid transparent}.mode-option[data-v-7820b464]:hover{background:#f0f4ff}.mode-option.active[data-v-7820b464]{background:#e8f0fe;border-color:#667eea}.mode-option-icon[data-v-7820b464]{width:20px;height:20px;margin-right:12px;display:flex;align-items:center;justify-content:center}.mode-option-icon svg[data-v-7820b464]{width:18px;height:18px;fill:#667eea}.mode-option-info[data-v-7820b464]{flex:1;display:flex;flex-direction:column}.mode-option-label[data-v-7820b464]{font-size:15px;color:#333;font-weight:500}.mode-option-desc[data-v-7820b464]{font-size:12px;color:#666;margin-top:1px}.mode-check[data-v-7820b464]{color:#667eea;font-size:20px;font-weight:700}.import-title[data-v-7820b464]{font-size:18px;margin-bottom:12px}.import-row[data-v-7820b464]{display:flex;gap:10px}.import-url-input[data-v-7820b464]{flex:1;min-width:0;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px}.import-url-input[data-v-7820b464]:focus{outline:none;border-color:#667eea}.import-btn[data-v-7820b464]{flex:0 0 auto;padding:10px 18px;border:none;border-radius:8px;background:#667eea;color:#fff;font-size:14px;cursor:pointer}.import-btn[data-v-7820b464]:disabled{opacity:.6;cursor:not-allowed}.import-error[data-v-7820b464]{margin:10px 0 0;color:#c0392b;font-size:13px}.input-section .title[data-v-7820b464]{font-size:24px;text-align:center}.lyric-input-wrapper[data-v-7820b464]{position:relative}.lyric-input[data-v-7820b464]{width:100%;min-height:240px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;color:#333;font-size:14px;line-height:1.6;resize:vertical;box-sizing:border-box;font-family:inherit}.lyric-input[data-v-7820b464]::placeholder{color:#999;opacity:1}.lyric-input[data-v-7820b464]:focus{outline:none;border-color:#ff6b6b}.clear-input-btn[data-v-7820b464]{position:absolute;top:8px;right:8px;border:none;background:#f5f5f5eb;color:#777;border-radius:6px;padding:5px 9px;font-size:12px;line-height:1;cursor:pointer}.clear-input-btn[data-v-7820b464]:hover{color:#333;background:#eee}.action-buttons[data-v-7820b464]{display:flex;gap:12px;margin-bottom:16px}.convert-btn[data-v-7820b464]{flex:1 1 auto;background:#e65a2e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s;font-size:16px;padding:14px 24px}.convert-btn[data-v-7820b464]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.convert-btn[data-v-7820b464]:disabled{opacity:.6;cursor:not-allowed}.favorite-list-btn[data-v-7820b464]{flex:0 0 168px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#4f4f4f;border:1px solid #f1c7b8;border-radius:8px;box-shadow:0 1px 2px #e65a2e0f;cursor:pointer;font-weight:500;transition:background .2s,box-shadow .2s;font-size:16px;padding:14px 24px;line-height:1}.favorite-list-btn[data-v-7820b464]:hover{border-color:#e65a2e}.favorite-list-btn-icon[data-v-7820b464]{width:19px;height:19px;flex:0 0 auto}.feature-list[data-v-7820b464]{margin-top:12px}.feature-item[data-v-7820b464]{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.feature-item[data-v-7820b464]:last-child{border-bottom:none}.feature-icon[data-v-7820b464]{font-size:20px;margin-right:12px}.feature-text[data-v-7820b464]{font-size:15px;color:#666}@media (max-width: 640px){.action-buttons[data-v-7820b464]{gap:10px}.convert-btn[data-v-7820b464]{flex:1 1 auto;padding:14px 16px}.favorite-list-btn[data-v-7820b464]{flex:0 0 132px;padding:14px 12px}}.syntax-sidebar[data-v-dcff450f]{width:360px;background:#fff;display:none;flex-direction:column;position:fixed;top:61px;left:calc(50% + 400px);height:calc(100vh - 61px);overflow:hidden}.syntax-sidebar.visible[data-v-dcff450f]{display:flex}.syntax-sidebar-header[data-v-dcff450f]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;background:#fafafa}.syntax-sidebar-header h3[data-v-dcff450f]{font-size:16px;font-weight:600;color:#333;margin:0}.syntax-sidebar-close[data-v-dcff450f]{background:none;border:none;padding:4px;cursor:pointer;color:#999;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.syntax-sidebar-close[data-v-dcff450f]:hover{background:#f0f0f0;color:#333}.syntax-sidebar-content[data-v-dcff450f]{flex:1;overflow-y:auto;padding:20px 12px 20px 20px}.syntax-sidebar-empty[data-v-dcff450f]{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#999;text-align:center}.syntax-drawer-overlay[data-v-dcff450f]{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;opacity:0;transition:opacity .3s ease}.syntax-drawer-overlay.visible[data-v-dcff450f]{display:block;opacity:1}.syntax-drawer[data-v-dcff450f]{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;height:50vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease;z-index:201}.syntax-drawer.visible[data-v-dcff450f]{transform:translateY(0)}.syntax-drawer.dragging[data-v-dcff450f]{transition:none}.syntax-drawer-header[data-v-dcff450f]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 16px;border-bottom:1px solid #f0f0f0;position:relative}.syntax-drawer-handle[data-v-dcff450f]{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#ddd;border-radius:2px;cursor:grab}.syntax-drawer.dragging .syntax-drawer-handle[data-v-dcff450f]{cursor:grabbing}.syntax-drawer-header h3[data-v-dcff450f]{font-size:16px;font-weight:600;color:#333;margin:8px 0 0}.syntax-drawer-close[data-v-dcff450f]{background:none;border:none;padding:4px;cursor:pointer;color:#999;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-top:8px;transition:all .2s ease}.syntax-drawer-close[data-v-dcff450f]:hover{background:#f5f5f5;color:#333}.syntax-drawer-content[data-v-dcff450f]{flex:1;overflow-y:auto;padding:20px}.syntax-drawer-empty[data-v-dcff450f]{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;color:#999;text-align:center}.syntax-selected-line[data-v-dcff450f]{padding:6px 12px;background:#fafafa;border-radius:8px;margin-bottom:20px;border-left:4px solid #e65a2e}.syntax-selected-plain-text[data-v-dcff450f]{font-size:calc(var(--syntax-base-body) * var(--syntax-font-size-ratio, 2) / 2);color:#333;line-height:1.6;word-break:break-word;white-space:pre-wrap}.syntax-selected-character-row[data-v-dcff450f]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px;min-height:32px}.syntax-selected-char-box[data-v-dcff450f]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:18px;padding:0 2px}.syntax-selected-char-box.is-group[data-v-dcff450f]{min-width:auto;padding:0 4px}.syntax-selected-char-box.space[data-v-dcff450f]{min-width:4px;padding:4px 0}.syntax-selected-char-box.punctuation[data-v-dcff450f]{min-width:auto}.syntax-selected-romaji-container[data-v-dcff450f]{min-height:20px;display:flex;align-items:flex-end;justify-content:center}.syntax-selected-romaji[data-v-dcff450f]{font-size:calc(var(--syntax-base-romaji) * var(--syntax-font-size-ratio, 2) / 2);color:#e65a2e;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap}.syntax-selected-romaji-empty[data-v-dcff450f]{color:transparent}.syntax-selected-japanese-char[data-v-dcff450f]{font-size:calc(var(--syntax-base-body) * var(--syntax-font-size-ratio, 2) / 2);color:#333;line-height:1.2}.syntax-selected-token-row[data-v-dcff450f]{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:2px;min-height:32px}.syntax-selected-token-space[data-v-dcff450f]{min-width:8px}.syntax-selected-kana-group[data-v-dcff450f]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:20px}.syntax-selected-furigana-container[data-v-dcff450f]{min-height:20px;display:flex;align-items:flex-end;justify-content:center}.syntax-selected-furigana[data-v-dcff450f]{font-size:calc(var(--syntax-base-furigana) * var(--syntax-font-size-ratio, 2) / 2);color:#e65a2e;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap}.syntax-selected-kana-kanji[data-v-dcff450f],.syntax-selected-token-char[data-v-dcff450f],.syntax-selected-token-word[data-v-dcff450f]{font-size:calc(var(--syntax-base-body) * var(--syntax-font-size-ratio, 2) / 2);color:#333;line-height:1.2}.syntax-selected-token-word[data-v-dcff450f]{white-space:nowrap}.syntax-analysis-result[data-v-dcff450f]{font-size:15px;line-height:1.8;color:#555}.syntax-analysis-streaming[data-v-dcff450f]{white-space:pre-wrap;word-break:break-word}.syntax-action-row[data-v-dcff450f]{display:flex;justify-content:flex-end;margin:-8px 0 16px}.syntax-retry-btn[data-v-dcff450f]{border:1px solid #e65a2e;background:#fff8f6;color:#e65a2e;border-radius:999px;width:36px;height:36px;padding:0;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.syntax-retry-btn[data-v-dcff450f]:hover:not(:disabled){background:#fff0ea}.syntax-retry-btn[data-v-dcff450f]:disabled{cursor:not-allowed;opacity:.65}.syntax-retry-icon[data-v-dcff450f]{display:block;width:18px;height:18px;transform-origin:center}.syntax-retry-icon.spinning[data-v-dcff450f]{animation:spin-dcff450f .9s linear infinite}.syntax-analysis-result[data-v-dcff450f] pre{white-space:pre-wrap;word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}.syntax-loading[data-v-dcff450f]{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#666;font-size:15px}.loading-spinner[data-v-dcff450f]{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#e65a2e;border-radius:50%;animation:spin-dcff450f 1s linear infinite}@keyframes spin-dcff450f{to{transform:rotate(360deg)}}[data-v-dcff450f] .markdown-body p{margin-bottom:12px}[data-v-dcff450f] .markdown-body ul,[data-v-dcff450f] .markdown-body ol{padding-left:20px;margin-bottom:12px}[data-v-dcff450f] .markdown-body li{margin-bottom:6px}[data-v-dcff450f] .markdown-body code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-size:14px}[data-v-dcff450f] .markdown-body pre{background:#f5f5f5;padding:12px;border-radius:8px;overflow-x:auto}@media (max-width: 1200px){.syntax-sidebar[data-v-dcff450f]{left:auto;right:0;width:320px}}@media (max-width: 768px){.syntax-sidebar[data-v-dcff450f]{display:none!important}}.dialog-mask[data-v-7a9a8c20]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000061}.favorite-dialog[data-v-7a9a8c20]{width:min(420px,100%);padding:24px 22px 20px;border-radius:12px;background:#fff;box-shadow:0 18px 48px #0000002e;box-sizing:border-box}.favorite-dialog-title[data-v-7a9a8c20]{color:#333;font-size:20px;font-weight:600;line-height:1.25}.favorite-form[data-v-7a9a8c20]{display:flex;flex-direction:column;gap:12px;margin-top:18px}.favorite-input[data-v-7a9a8c20]{height:42px;padding:0 14px;border:none;border-radius:8px;background:#f7f7f7;color:#333;font-size:14px;box-sizing:border-box}.favorite-input[data-v-7a9a8c20]:focus{outline:none;box-shadow:0 0 0 2px #e65a2e2e}.favorite-actions[data-v-7a9a8c20]{display:flex;align-items:stretch;gap:10px;margin-top:20px}.favorite-action[data-v-7a9a8c20]{flex:1;min-width:0;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;line-height:1;cursor:pointer}.favorite-action-remove[data-v-7a9a8c20]{background:#f5f5f5;color:#666}.favorite-action-done[data-v-7a9a8c20]{background:#e65a2e;color:#fff}.token-space[data-v-a03dd885]{min-width:8px}.kana-group[data-v-a03dd885]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:20px;transition:transform .2s ease,background-color .2s ease;border-radius:4px;cursor:default}.kana-group.has-reading[data-v-a03dd885]{cursor:pointer}.kana-group.has-reading[data-v-a03dd885]:hover{transform:translateY(-2px);background-color:#e65a2e14}.kana-group.has-reading.is-editing[data-v-a03dd885]{transform:translateY(-2px);background-color:#e65a2e1f}.kana-group.has-reading.interaction-disabled[data-v-a03dd885]{cursor:default}.kana-group.has-reading.interaction-disabled[data-v-a03dd885]:hover,.kana-group.has-reading.interaction-disabled.is-editing[data-v-a03dd885]{transform:none;background-color:transparent}.furigana-text-container[data-v-a03dd885]{min-height:20px;display:flex;align-items:flex-end;justify-content:center}.furigana-text[data-v-a03dd885]{font-size:calc(var(--base-furigana) * var(--font-size-ratio, 2) / 2);color:#e65a2e;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap}.furigana-text.furigana-empty[data-v-a03dd885]{visibility:hidden}.bracket-group[data-v-a03dd885]{display:inline-flex;flex-wrap:nowrap;white-space:nowrap}.kana-kanji[data-v-a03dd885]{font-size:calc(var(--base-body) * var(--font-size-ratio, 2) / 2);color:#333;line-height:1.2}.kana-edit-input[data-v-a03dd885]{font-size:14px;color:#e65a2e;background:#fff;border:2px solid #e65a2e;border-radius:4px;padding:2px 4px;text-align:center;min-width:50px;max-width:100px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;outline:none;box-shadow:0 2px 8px #e65a2e33}.token-char[data-v-a03dd885],.token-word[data-v-a03dd885]{font-size:calc(var(--base-body) * var(--font-size-ratio, 2) / 2);color:#333;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;align-self:flex-end}.token-word[data-v-a03dd885]{white-space:nowrap}@media (max-width: 480px){.kana-group[data-v-a03dd885]{min-width:14px;justify-content:flex-end}.furigana-text-container[data-v-a03dd885]{min-height:16px}.kana-kanji[data-v-a03dd885]{line-height:1.2}.kana-edit-input[data-v-a03dd885]{font-size:12px;min-width:40px;max-width:80px;padding:1px 3px}}.container[data-v-54592b27]{min-height:100vh;background:#fafafa}.toolbar[data-v-54592b27]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid #f0f0f0;max-width:800px;margin:0 auto}.btn-icon[data-v-54592b27]{background:transparent;border:none;color:#e65a2e;font-size:14px;padding:8px 12px;cursor:pointer;border-radius:6px}.btn-icon[data-v-54592b27]:hover{background:#fff0f0}.toolbar-btn[data-v-54592b27]{font-size:16px;font-weight:700}.back-btn[data-v-54592b27]{display:flex;align-items:center;gap:4px}.back-btn[data-v-54592b27]:active{background:#fff0f0;border:1px solid #e65a2e;color:#e65a2e}.mode-buttons[data-v-54592b27]{display:flex;align-items:center;gap:8px}.mode-btn[data-v-54592b27]{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:#e65a2e;font-size:14px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}.mode-btn[data-v-54592b27]:hover{background:#fff0f0}.mode-btn.active[data-v-54592b27]{background:#fff0f0;border:1px solid #e65a2e;color:#e65a2e}.svg-icon[data-v-54592b27],.back-icon[data-v-54592b27]{width:24px;height:24px;object-fit:contain}.lyric-container[data-v-54592b27]{max-width:800px;margin:0 auto;padding:16px 20px}.lyric-card[data-v-54592b27]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:20px}.translation-line[data-v-54592b27]{font-size:calc(var(--base-translation) * var(--font-size-ratio, 2) / 2);color:#888;line-height:1.5;margin-bottom:4px;white-space:pre-wrap}.character-row[data-v-54592b27]{display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-start;min-height:32px;align-items:flex-end}.char-box[data-v-54592b27]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:20px;padding:0 2px;transition:transform .2s ease,background-color .2s ease;border-radius:4px;cursor:default}.char-box.has-reading[data-v-54592b27]{cursor:pointer}.char-box.has-reading[data-v-54592b27]:hover{transform:translateY(-2px);background-color:#e65a2e14}.char-box.has-reading.is-editing[data-v-54592b27]{transform:translateY(-2px);background-color:#e65a2e1f}.main-layout.syntax-mode .char-box.has-reading[data-v-54592b27]{cursor:default}.main-layout.syntax-mode .char-box.has-reading[data-v-54592b27]:hover,.main-layout.syntax-mode .char-box.has-reading.is-editing[data-v-54592b27]{transform:none;background-color:transparent}.char-box.is-group[data-v-54592b27]{min-width:auto;padding:0 4px}.char-box.is-group .japanese-char[data-v-54592b27]{letter-spacing:normal}.char-box.space[data-v-54592b27]{min-width:4px;padding:4px 0}.char-box.punctuation[data-v-54592b27]{min-width:auto}.char-box.is-word .japanese-char[data-v-54592b27]{font-size:20px;letter-spacing:normal;white-space:nowrap}.romaji-text-container[data-v-54592b27]{min-height:20px;display:flex;align-items:flex-end;justify-content:center}.romaji-text[data-v-54592b27]{font-size:calc(var(--base-romaji) * var(--font-size-ratio, 2) / 2);color:#e65a2e;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap;display:flex;align-items:flex-end}.romaji-text.romaji-empty[data-v-54592b27]{color:transparent}.edit-input[data-v-54592b27]{font-size:14px;color:#e65a2e;background:#fff;border:2px solid #e65a2e;border-radius:4px;padding:2px 4px;text-align:center;min-width:60px;max-width:120px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;outline:none;box-shadow:0 2px 8px #e65a2e33}.japanese-char[data-v-54592b27]{font-size:calc(var(--base-body) * var(--font-size-ratio, 2) / 2);color:#333;line-height:1.2}.lyric-line[data-v-54592b27]{margin-bottom:10px}.lyric-line.no-annotation[data-v-54592b27]{margin-top:16px}.syntax-line+.translation-line[data-v-54592b27]{padding-left:12px;padding-right:12px}.syntax-line[data-v-54592b27]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin-bottom:8px;background:#fff;border:1px solid #e8e8e8;border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:56px}.syntax-line[data-v-54592b27]:hover{background:#fff8f6;border-color:#e65a2e;transform:translateY(-1px);box-shadow:0 4px 12px #e65a2e1a}.syntax-line.is-analyzing[data-v-54592b27]{background:#fff0f0;border-color:#e65a2e;cursor:not-allowed}.syntax-line-content[data-v-54592b27]{flex:1;min-width:0}.main-layout.syntax-mode .syntax-line[data-v-54592b27]:not(.is-analyzing),.main-layout.syntax-mode .syntax-line[data-v-54592b27]:not(.is-analyzing) *{cursor:pointer}.main-layout.syntax-mode .syntax-line.is-analyzing[data-v-54592b27],.main-layout.syntax-mode .syntax-line.is-analyzing[data-v-54592b27] *{cursor:not-allowed}.main-layout.syntax-mode .syntax-line-content[data-v-54592b27],.main-layout.syntax-mode .syntax-line-content[data-v-54592b27] *,.main-layout.syntax-mode .syntax-line-hint[data-v-54592b27],.main-layout.syntax-mode .syntax-line-hint[data-v-54592b27] *{pointer-events:none}.syntax-line-hint[data-v-54592b27]{display:flex;align-items:center;gap:6px;font-size:14px;color:#999;white-space:nowrap;flex-shrink:0}.syntax-line:hover .syntax-line-hint[data-v-54592b27],.syntax-line.is-analyzing .syntax-line-hint[data-v-54592b27]{color:#e65a2e}.plain-line[data-v-54592b27]{font-size:calc(var(--base-body) * var(--font-size-ratio, 2) / 2);color:#333;line-height:1.5;word-break:break-word;white-space:pre-wrap}.loading-spinner[data-v-54592b27]{display:inline-block;width:16px;height:16px;border:2px solid #e8e8e8;border-top-color:#e65a2e;border-radius:50%;animation:spin-54592b27 .8s linear infinite}@keyframes spin-54592b27{to{transform:rotate(360deg)}}.token-row[data-v-54592b27]{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:2px;min-height:32px}@media (max-width: 480px){.toolbar[data-v-54592b27]{padding:8px 6px}.toolbar-btn[data-v-54592b27]{font-size:14px;padding:6px 8px}.back-btn[data-v-54592b27]{gap:2px}.back-icon[data-v-54592b27],.svg-icon[data-v-54592b27]{width:20px;height:20px}.mode-buttons[data-v-54592b27]{gap:4px}.mode-btn[data-v-54592b27]{padding:5px 6px;font-size:14px}.character-row[data-v-54592b27]{gap:2px;min-height:20px}.char-box[data-v-54592b27]{min-width:14px;padding:2px 1px}.char-box.is-group[data-v-54592b27]{min-width:auto;padding:2px 3px}.romaji-text-container[data-v-54592b27]{min-height:16px}.char-box.is-word .japanese-char[data-v-54592b27]{font-size:12px}.char-box.space[data-v-54592b27]{min-width:2px}.token-row[data-v-54592b27]{gap:2px;min-height:20px;align-items:flex-end}.lyric-line[data-v-54592b27]{margin-bottom:0}.lyric-line.no-annotation[data-v-54592b27]{margin-top:10px;margin-bottom:6px}.syntax-line[data-v-54592b27]{padding:4px 8px;min-height:48px;gap:4px}.syntax-line-hint[data-v-54592b27]{font-size:12px}.syntax-line+.translation-line[data-v-54592b27]{padding-left:12px;padding-right:12px}.translation-line[data-v-54592b27]{margin-bottom:2px}.lyric-container[data-v-54592b27]{padding:12px 8px}.lyric-card[data-v-54592b27]{padding:16px}.edit-input[data-v-54592b27]{font-size:12px;padding:2px 3px;min-width:50px;max-width:100px}}.main-layout[data-v-54592b27]{display:flex;justify-content:center;min-width:fit-content;padding-bottom:var(--bottom-bar-height, 0px)}.core-content[data-v-54592b27]{width:100%;max-width:800px;flex-shrink:0;margin:0 auto}.font-size-control[data-v-54592b27]{display:flex;align-items:center;gap:0;padding:8px 16px;background:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.font-size-slider-group[data-v-54592b27]{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.font-size-label[data-v-54592b27]{font-size:14px;color:#666;font-weight:500;-webkit-user-select:none;user-select:none;flex-shrink:0}.font-size-label.font-size-large[data-v-54592b27]{font-size:24px}.font-size-slider[data-v-54592b27]{flex:1;min-width:0;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ddd;border-radius:3px;outline:none;cursor:pointer}.translation-toggle-group[data-v-54592b27]{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding-left:16px;border-left:1px solid #e0e0e0}.translation-toggle-label[data-v-54592b27]{line-height:1}.translation-toggle-switch-wrap[data-v-54592b27]{position:relative;flex-shrink:0;display:flex;align-items:center;cursor:pointer}.translation-toggle-switch[data-v-54592b27]{position:absolute;opacity:0;width:0;height:0}.translation-toggle-track[data-v-54592b27]{position:relative;display:block;width:44px;height:24px;border-radius:12px;background:#ccc;transition:background-color .2s ease}.translation-toggle-track[data-v-54592b27]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.translation-toggle-switch:checked+.translation-toggle-track[data-v-54592b27]{background:#e65a2e}.translation-toggle-switch:checked+.translation-toggle-track[data-v-54592b27]:after{transform:translate(20px)}.translation-toggle-switch:focus-visible+.translation-toggle-track[data-v-54592b27]{outline:2px solid rgba(230,90,46,.35);outline-offset:2px}.font-size-slider[data-v-54592b27]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#e65a2e;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #e65a2e4d;transition:transform .2s ease}.font-size-slider[data-v-54592b27]::-webkit-slider-thumb:hover{transform:scale(1.1)}.font-size-slider[data-v-54592b27]::-moz-range-thumb{width:20px;height:20px;background:#e65a2e;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #e65a2e4d}.bottom-bar[data-v-54592b27]{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:800px;background:#fff;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;box-shadow:0 -2px 12px #0000000f;box-sizing:border-box;z-index:99}.btn-action[data-v-54592b27]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:16px;padding:14px 24px;background:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer}.btn-action[data-v-54592b27]:hover{background:#eee}.favorite-trigger .favorite-icon-stack[data-v-54592b27]{position:relative;width:20px;height:20px;flex:0 0 auto}.favorite-trigger .favorite-icon-base[data-v-54592b27],.favorite-trigger .favorite-icon-fill[data-v-54592b27]{position:absolute;top:0;left:0;width:100%;height:100%}.favorite-trigger .favorite-icon-fill[data-v-54592b27]{opacity:0;transition:opacity .5s ease}.favorite-trigger.active .favorite-icon-fill[data-v-54592b27]{opacity:1}.favorite-trigger.pop .favorite-icon-stack[data-v-54592b27]{animation:favoritePop-54592b27 .5s cubic-bezier(.34,1.56,.64,1)}@keyframes favoritePop-54592b27{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}.btn-secondary[data-v-54592b27]{background:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer}.btn-secondary[data-v-54592b27]:hover{background:#eee}.back-to-top[data-v-54592b27]{position:fixed;right:20px;bottom:80px;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;transition:all .2s ease;z-index:99}.back-to-top[data-v-54592b27]:hover{background:#fff0f0;border-color:#e65a2e;color:#e65a2e;transform:translateY(-2px);box-shadow:0 4px 12px #e65a2e33}.back-to-top[data-v-54592b27]:active{transform:translateY(0)}.empty-line[data-v-54592b27]{height:24px;min-height:24px}@media (max-width: 480px){.back-to-top[data-v-54592b27]{right:16px;bottom:76px;width:40px;height:40px}.back-to-top svg[data-v-54592b27]{width:20px;height:20px}}@media (max-width: 768px){.main-layout[data-v-54592b27]{display:block}.core-content[data-v-54592b27]{max-width:none}}.save-library-btn[data-v-54592b27]{border-color:#667eea;color:#4a56a8}.save-dialog-mask[data-v-54592b27]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000061}.save-dialog[data-v-54592b27]{width:min(480px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 18px 48px #0000002e}.save-dialog-header[data-v-54592b27]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.save-dialog-title[data-v-54592b27]{margin:0;font-size:20px;color:#333}.save-close-btn[data-v-54592b27]{width:32px;height:32px;border:none;border-radius:50%;background:#f5f5f5;color:#666;font-size:22px;cursor:pointer}.save-dialog-hint[data-v-54592b27]{margin:0 0 16px;color:#777;font-size:13px;line-height:1.5}.save-field[data-v-54592b27]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:#555}.save-field input[data-v-54592b27]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px}.save-field input[data-v-54592b27]:focus{outline:none;border-color:#667eea}.save-error[data-v-54592b27]{margin:0 0 8px;color:#c0392b;font-size:13px}.save-success[data-v-54592b27]{margin:0 0 8px;color:#1e7e34;font-size:13px}.save-dialog-actions[data-v-54592b27]{display:flex;gap:10px;margin-top:8px}.save-cancel-btn[data-v-54592b27],.save-submit-btn[data-v-54592b27]{flex:1;border-radius:8px;padding:10px 18px;font-size:14px;text-align:center}.save-submit-btn[data-v-54592b27]{background:#667eea;color:#fff;border:none;cursor:pointer}.save-cancel-btn[data-v-54592b27]{min-width:0}.save-submit-btn[data-v-54592b27]:disabled{opacity:.6;cursor:not-allowed}.login-page[data-v-3ad890ed]{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,#fafafa,#f0f4ff)}.login-main[data-v-3ad890ed]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card[data-v-3ad890ed]{width:100%;max-width:400px;padding:40px 32px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000014;text-align:center}.login-logo[data-v-3ad890ed]{width:72px;height:72px;border-radius:16px}.login-form[data-v-3ad890ed]{margin-top:28px;text-align:left}.field[data-v-3ad890ed]{display:block;margin-bottom:16px}.field-label[data-v-3ad890ed]{display:block;margin-bottom:6px;font-size:13px;color:#666}.field input[data-v-3ad890ed]{width:100%;padding:10px 12px;font-size:15px;border:1px solid #ddd;border-radius:8px;outline:none;transition:border-color .2s}.field input[data-v-3ad890ed]:focus{border-color:#6366f1}.remember-field[data-v-3ad890ed]{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-field input[data-v-3ad890ed]{width:auto;margin:0;cursor:pointer}.error-message[data-v-3ad890ed]{margin-bottom:12px;font-size:13px;color:#dc2626;line-height:1.5}.submit-btn[data-v-3ad890ed]{width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600;color:#fff;background:#6366f1;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.submit-btn[data-v-3ad890ed]:hover:not(:disabled){background:#4f46e5}.submit-btn[data-v-3ad890ed]:disabled{opacity:.6;cursor:not-allowed}.beian-footer[data-v-3ad890ed]{text-align:center;padding:16px 24px 20px;font-size:12px;color:#999}.beian-item[data-v-3ad890ed]{margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:6px}.beian-item[data-v-3ad890ed]:last-child{margin-bottom:0}.gongan-icon[data-v-3ad890ed]{width:16px;height:16px}.beian-footer a[data-v-3ad890ed]{color:#999;text-decoration:none;transition:color .2s}.beian-footer a[data-v-3ad890ed]:hover{color:#666;text-decoration:underline}
