/* ===== legacy-cascade-block-01 ===== */
* { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, monospace; padding: 20px; background: #0f172a; color: #f8fafc; line-height: 1.5; }
    .header { margin-bottom: 16px; border-bottom: 2px solid #334155; padding-bottom: 12px; }
    .title { font-size: 20px; font-weight: 800; color: #ef7f2d; }
    .summary-card { background: #1e293b; border-radius: 10px; padding: 14px 18px; margin-bottom: 20px; border: 1px solid #334155; font-size: 14px; }
    .stat-row { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 6px; }
    .stat-val { font-size: 18px; font-weight: 800; }
    .pass-val { color: #4ade80; }
    .fail-val { color: #f87171; }
    .section-title { margin-top: 24px; font-size: 15px; font-weight: 700; color: #94a3b8; border-bottom: 1px solid #334155; padding-bottom: 6px; }
    table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 12px; background: #1e293b; border-radius: 8px; overflow: hidden; }
    th, td { border: 1px solid #334155; padding: 7px 10px; text-align: left; }
    th { background: #0b1329; color: #cbd5e1; font-weight: 700; }
    .badge-pass { color: #4ade80; font-weight: 800; }
    .badge-fail { color: #f87171; font-weight: 800; background: #450a0a; padding: 2px 6px; border-radius: 4px; }
    .err-text { color: #fca5a5; font-family: monospace; font-size: 11px; }

    /* Direct file-open guard: the production app must be launched by setup_native_tts.sh. */
    #direct-file-launch-guide { display:none; }
    .direct-file-open body > *:not(#direct-file-launch-guide):not(script) { display:none !important; }
    .direct-file-open #direct-file-launch-guide {
      display:block !important; max-width:680px; margin:56px auto; padding:28px;
      background:#fff; color:#0f172a; border:1px solid #cbd5e1; border-radius:16px;
      box-shadow:0 18px 50px rgba(15,23,42,.18); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    }
    #direct-file-launch-guide h1 { margin:0 0 12px; font-size:22px; line-height:1.35; }
    #direct-file-launch-guide p { margin:8px 0; color:#475569; font-size:14px; line-height:1.7; }
    #direct-file-launch-guide code { display:block; margin-top:14px; padding:12px 14px; background:#f1f5f9; border-radius:9px; color:#0f172a; overflow-wrap:anywhere; }


    /* =========================================================================
     * Phase 3-5S: Study Application UI Styles (Responsive Desktop & Mobile)
     * ========================================================================= */
    #study-app {
        max-width: 680px;
        margin: 20px auto 30px auto;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        color: #1f2937;
    }
    .study-card-container {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,.05), 0 2px 4px -1px rgba(0,0,0,.03);
        padding: 24px;
        box-sizing: border-box;
    }
    .study-header { display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid #f3f4f6; padding-bottom:12px; margin-bottom:16px; }
    .study-deck-title { font-size:14px; font-weight:600; color:#4b5563; }
    .study-card-counter { font-size:14px; font-weight:700; color:#ef7f2d; background:#fff0df; padding:4px 10px; border-radius:9999px; white-space:nowrap; }
    .study-prompt-section { margin-bottom:20px; }
    .study-lemma-row { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; margin-bottom:6px; }
    .study-dict-form { font-size:28px; font-weight:700; color:#111827; }
    .study-dict-jp { font-size:18px; color:#4b5563; }
    .study-grammar-tag { display:inline-block; font-size:13px; color:#d96518; background:#f6e5cf; padding:2px 8px; border-radius:4px; font-weight:500; }
    .study-reveal-control { margin:16px 0; text-align:center; }
    .study-reveal-btn { background:#ef7f2d; color:#fff; border:none; padding:11px 24px; min-height:42px; font-size:15px; font-weight:600; border-radius:8px; cursor:pointer; width:100%; max-width:240px; }
    .study-reveal-btn:hover { background:#d96518; }
    .study-answer-section { background:#f9fafb; border:1px solid #f3f4f6; border-radius:8px; padding:16px; margin-top:16px; }
    .study-form-group { margin-bottom:16px; }
    .study-form-group.casual { border-left:4px solid #ef7f2d; padding-left:12px; }
    .study-form-group.polite { border-left:4px solid #9ca3af; padding-left:12px; opacity:.9; }
    .study-style-label { font-size:12px; font-weight:700; color:#6b7280; margin-bottom:4px; }
    .study-korean-row, .study-example-kr-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
    .study-korean-text { font-size:24px; font-weight:700; color:#111827; }
    .study-kana-text { font-size:15px; font-weight:600; color:#4b5563; }
    .study-phonetic-text { font-size:13px; color:#9ca3af; }
    .study-audio-btn, .study-nav-btn, .study-toggle-option { min-height:38px; cursor:pointer; }
    .study-audio-btn { background:#fff; border:1px solid #d1d5db; border-radius:6px; padding:6px 10px; font-size:13px; color:#374151; }
    .study-note-box { font-size:13px; color:#4b5563; background:#fff; border:1px dashed #d1d5db; padding:10px 12px; border-radius:6px; margin-top:12px; }
    .study-example-box { margin-top:16px; border-top:1px solid #e5e7eb; padding-top:14px; }
    .study-example-title { font-size:12px; font-weight:700; color:#6b7280; margin-bottom:6px; }
    .study-example-kr { font-size:17px; font-weight:600; color:#111827; }
    .study-example-kana { font-size:13px; color:#4b5563; margin:4px 0 2px; }
    .study-example-phonetic { font-size:12px; color:#9ca3af; margin-bottom:2px; }
    .study-example-jp { font-size:14px; color:#374151; }
    .study-controls-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-top:20px; gap:12px; }
    .study-nav-btn { background:#fff; border:1px solid #d1d5db; padding:8px 16px; font-size:14px; font-weight:500; border-radius:6px; color:#374151; }
    .study-nav-btn:disabled { opacity:.4; cursor:not-allowed; }
    .study-style-toggle { display:flex; background:#e5e7eb; border-radius:6px; padding:2px; }
    .study-toggle-option { border:none; background:transparent; padding:4px 10px; font-size:12px; font-weight:600; border-radius:4px; color:#4b5563; }
    .study-toggle-option.active { background:#fff; color:#111827; box-shadow:0 1px 2px rgba(0,0,0,.05); }
    .study-audio-status { margin-top:12px; font-size:12px; color:#6b7280; min-height:18px; text-align:center; }
    .study-error-panel { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; padding:16px; border-radius:8px; text-align:center; }
    .study-filter-bar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:10px 14px; margin-bottom:16px; }
    .study-filter-group { display:flex; align-items:center; gap:6px; }
    .study-filter-label { font-size:12px; font-weight:600; color:#475569; }
    .study-filter-select { font-size:13px; padding:4px 8px; border-radius:6px; border:1px solid #cbd5e1; background-color:#ffffff; color:#1e293b; cursor:pointer; }
    .study-filter-count-badge { margin-left:auto; font-size:12px; font-weight:700; color:#ef9a5a; background:#fff0df; padding:2px 8px; border-radius:9999px; }
    .study-empty-panel { background:#f8fafc; border:1px dashed #cbd5e1; border-radius:8px; }
    .study-progress-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:10px 0 14px; padding:8px 12px; background:#f1f5f9; border-radius:8px; }
    .study-progress-status-badge { font-size:12px; font-weight:700; padding:3px 8px; border-radius:4px; }
    .study-progress-status-badge.status-new { background:#e2e8f0; color:#475569; }
    .study-progress-status-badge.status-learning { background:#fef3c7; color:#b45309; }
    .study-progress-status-badge.status-mastered { background:#dcfce7; color:#15803d; }
    .study-progress-btn-group { display:flex; gap:6px; }
    .study-progress-btn { border:1px solid #cbd5e1; background:#ffffff; font-size:12px; font-weight:600; padding:4px 8px; border-radius:6px; cursor:pointer; color:#334155; }
    .study-progress-btn:hover { background:#f8fafc; }
    .study-progress-btn.active { border-color:#ef7f2d; background:#fff0df; color:#d96518; }
    .study-overall-progress { font-size:12px; font-weight:600; color:#64748b; margin-top:4px; }
    .study-data-management { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px; padding-top:10px; border-top:1px solid #e2e8f0; }
    .study-data-btn { border:1px solid #cbd5e1; background:#fff; color:#334155; font-size:12px; font-weight:700; padding:6px 9px; border-radius:7px; cursor:pointer; }
    .study-data-btn:hover { background:#f8fafc; }
    .study-data-status { flex-basis:100%; font-size:11px; color:#64748b; min-height:16px; }
    .app-main-nav { max-width:680px; margin:0 auto 16px; display:flex; gap:8px; }
    #practice-app { max-width:680px; margin:20px auto 30px auto; color:#1f2937; display:none; }
    .practice-container { background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:24px; box-shadow:0 4px 6px -1px rgba(0,0,0,.05); }
    .practice-title { font-size:20px; font-weight:800; color:#0f172a; margin-bottom:12px; }
    
    .practice-preset-btn { border:1px solid #cbd5e1; background:#f8fafc; padding:10px 12px; border-radius:8px; font-size:13px; font-weight:700; color:#1e293b; cursor:pointer; text-align:center; }
    .practice-preset-btn:hover { background:#fff0df; border-color:#ef9a5a; color:#ef7f2d; }
    .practice-card-box { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:16px; margin-top:14px; }
    .practice-filter-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
    .practice-count-btn-group { display:flex; gap:6px; }
    .practice-count-btn { border:1px solid #cbd5e1; background:#ffffff; font-size:12px; font-weight:700; padding:6px 12px; border-radius:6px; cursor:pointer; }
    .practice-count-btn.active { background:#ef7f2d; color:#ffffff; border-color:#ef7f2d; }
    .practice-custom-input { width:70px; padding:5px 8px; border:1px solid #cbd5e1; border-radius:6px; font-size:13px; font-weight:700; text-align:center; }
    .btn-start-drill { background:#ef7f2d; color:#ffffff; font-size:15px; font-weight:800; border:none; padding:12px 24px; border-radius:8px; cursor:pointer; width:100%; margin-top:14px; }
    .btn-start-drill:hover { background:#d96518; }
    /* Phase 3-5AC Practice Session Styles */
    .practice-session-card { background:#ffffff; border:2px solid #e2e8f0; border-radius:12px; padding:28px 20px; text-align:center; margin:16px 0; box-shadow:0 4px 6px -1px rgba(0,0,0,0.04); }
    .practice-prompt-label { font-size:13px; font-weight:700; color:#64748b; margin-bottom:8px; }
    .practice-prompt-text { font-size:26px; font-weight:800; color:#0f172a; margin-bottom:12px; line-height:1.3; }
    .practice-answer-box { background:#f8fafc; border:1px dashed #cbd5e1; border-radius:8px; padding:16px; margin:16px 0; }
    .practice-answer-text { font-size:30px; font-weight:800; color:#ef7f2d; margin-bottom:6px; }
    .practice-kana-text { font-size:14px; font-weight:600; color:#64748b; margin-bottom:10px; }
    .btn-reveal { background:#0f172a; color:#ffffff; font-size:15px; font-weight:700; border:none; border-radius:8px; padding:12px 32px; cursor:pointer; width:100%; max-width:240px; margin:10px auto; }
    .btn-reveal:hover { background:#1e293b; }
    .practice-eval-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:16px; }
    .btn-eval { border:2px solid transparent; padding:14px 8px; border-radius:8px; font-size:14px; font-weight:800; cursor:pointer; text-align:center; }
    .btn-eval-correct { background:#dcfce7; color:#15803d; border-color:#86efac; }
    .btn-eval-correct:hover, .btn-eval-correct.selected { background:#bbf7d0; border-color:#16a34a; }
    .btn-eval-close { background:#fef9c3; color:#a16207; border-color:#fde047; }
    .btn-eval-close:hover, .btn-eval-close.selected { background:#fef08a; border-color:#ca8a04; }
    .btn-eval-wrong { background:#fee2e2; color:#b91c1c; border-color:#fca5a5; }
    .btn-eval-wrong:hover, .btn-eval-wrong.selected { background:#fecaca; border-color:#dc2626; }
    .btn-next-question { background:#ef7f2d; color:#ffffff; font-size:15px; font-weight:800; border:none; border-radius:8px; padding:12px 24px; cursor:pointer; width:100%; max-width:260px; margin-top:16px; }
    .btn-next-question:hover { background:#d96518; }
    .btn-review-mistakes { background:#ea580c; color:#ffffff; font-size:15px; font-weight:800; border:none; border-radius:8px; padding:12px 24px; cursor:pointer; width:100%; margin-bottom:8px; }
    .btn-review-mistakes:hover { background:#c2410c; }

    /* Phase 3-5AE: Sub-Navigation & Dashboard Styles */
    .practice-subnav-bar { display:flex; gap:8px; margin-bottom:20px; border-bottom:2px solid #e2e8f0; padding-bottom:8px; }
    .practice-subnav-btn { background:none; border:none; font-size:15px; font-weight:700; color:#64748b; padding:8px 16px; border-radius:6px; cursor:pointer; }
    .practice-subnav-btn:hover { color:#0f172a; background:#f8fafc; }
    .practice-subnav-btn.active { background:#fff0df; color:#ef7f2d; }

    .practice-history-stat-box { background:#ffffff; border:1px solid #e2e8f0; border-radius:12px; padding:16px; margin-bottom:20px; }
    .practice-history-card { background:#ffffff; border:1px solid #e2e8f0; border-radius:8px; padding:14px 16px; margin-bottom:10px; }
    .practice-weak-card { background:#ffffff; border:1px solid #e2e8f0; border-radius:8px; padding:14px 16px; margin-bottom:10px; }

    .badge-weak { display:inline-block; font-size:11px; font-weight:800; padding:2px 8px; border-radius:4px; background:#f1f5f9; color:#475569; }
    .btn-weak-review { background:#ea580c; color:#ffffff; font-size:14px; font-weight:800; border:none; border-radius:8px; padding:10px 18px; cursor:pointer; }
    .btn-weak-review:hover:not(:disabled) { background:#c2410c; }
    .practice-empty-box { text-align:center; padding:36px 16px; background:#ffffff; border:1px dashed #cbd5e1; border-radius:12px; margin-top:12px; }

    /* Phase 3-5AF: Recommendation Banner Styles */
    .practice-recommendation-card { background:#fffaf3; border:1.5px solid #f2d0ad; border-radius:12px; padding:16px 18px; margin-bottom:20px; }
    .practice-rec-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
    .practice-rec-badge { display:inline-block; font-size:11px; font-weight:800; padding:3px 8px; border-radius:4px; background:#d96518; color:#ffffff; }
    .practice-rec-counts { font-size:12px; font-weight:700; color:#d96518; }
    .practice-rec-title { font-size:16px; font-weight:800; color:#0f172a; margin-bottom:4px; }
    .practice-rec-subtitle { font-size:13px; color:#475569; margin-bottom:14px; line-height:1.4; }
    .btn-start-recommendation { background:#d96518; color:#ffffff; font-size:15px; font-weight:800; border:none; border-radius:8px; padding:12px 20px; cursor:pointer; width:100%; transition:background 0.15s ease; }
    .btn-start-recommendation:hover:not(:disabled) { background:#d96518; }
    .practice-divider-line { display:flex; align-items:center; text-align:center; margin:20px 0 16px 0; color:#94a3b8; font-size:12px; font-weight:700; }
    .practice-divider-line::before, .practice-divider-line::after { content:""; flex:1; border-bottom:1px solid #e2e8f0; }
    .practice-divider-line span { padding:0 10px; }
    .practice-result-stat-box { display:flex; justify-content:space-around; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:18px 12px; margin:18px 0; }
    .practice-result-item { text-align:center; }
    .practice-result-num { font-size:24px; font-weight:800; }
    .practice-result-lbl { font-size:12px; font-weight:700; color:#64748b; margin-top:4px; }
    .app-nav-btn { flex:1; padding:10px 16px; font-size:14px; font-weight:700; border:1px solid #334155; background:#1e293b; color:#94a3b8; border-radius:8px; cursor:pointer; text-align:center; }
    .app-nav-btn.active { background:#ef7f2d; color:#0f172a; border-color:#ef7f2d; }
    #library-app { max-width:680px; margin:20px auto 30px auto; color:#1f2937; display:none; }
    .library-container { background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:24px; box-shadow:0 4px 6px -1px rgba(0,0,0,.05); }
    .library-header { border-bottom:1px solid #f1f5f9; padding-bottom:12px; margin-bottom:16px; }
    .library-title { font-size:20px; font-weight:800; color:#0f172a; }
    .library-type-tabs { display:flex; gap:6px; margin-bottom:16px; border-bottom:1px solid #e2e8f0; padding-bottom:8px; }
    .library-type-tab { border:none; background:transparent; padding:6px 12px; font-size:13px; font-weight:700; color:#64748b; cursor:pointer; border-radius:6px; }
    .library-type-tab.active { background:#fff0df; color:#ef7f2d; }
    .library-analytics-card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:14px; margin-bottom:20px; }
    .library-analytics-title { font-size:13px; font-weight:700; color:#475569; margin-bottom:6px; }
    .library-progress-bar { width:100%; height:8px; background:#e2e8f0; border-radius:9999px; overflow:hidden; margin:6px 0; }
    .library-progress-fill { height:100%; background:#22c55e; width:0%; transition:width 0.3s; }
    .library-analytics-stats { font-size:12px; color:#64748b; display:flex; justify-content:space-between; }
    .library-pos-section { margin-top:20px; }
    .library-pos-heading { font-size:15px; font-weight:700; color:#334155; border-bottom:2px solid #e2e8f0; padding-bottom:4px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; }
    .library-filter-panel { display:flex; flex-wrap:wrap; gap:8px; align-items:end; padding:10px; margin:8px 0 10px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; }
    .library-filter-field { display:flex; flex-direction:column; gap:4px; min-width:110px; }
    .library-filter-field.search { flex:1 1 230px; }
    .library-filter-label { font-size:11px; font-weight:800; color:#64748b; }
    .library-filter-select, .library-search-input { height:36px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#0f172a; padding:0 10px; font-size:13px; outline:none; }
    .library-search-input:focus, .library-filter-select:focus { border-color:#f0a86f; box-shadow:0 0 0 2px rgba(96,165,250,.15); }
    .library-search-actions { display:flex; gap:6px; align-items:end; }
    .library-filter-btn { height:36px; border:1px solid #efc392; border-radius:8px; background:#fff0df; color:#d96518; font-size:12px; font-weight:800; padding:0 12px; cursor:pointer; }
    .library-filter-btn.secondary { border-color:#cbd5e1; background:#fff; color:#475569; }
    .library-filter-count { margin-right:auto; font-size:12px; font-weight:700; color:#64748b; align-self:center; padding:4px 2px; }
    .library-map-controls { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 8px; }
    .library-map-controls .library-filter-label { margin-right:2px; }
    @media (max-width: 640px) { .library-filter-field { min-width:calc(50% - 4px); } .library-filter-field.search { flex-basis:100%; } .library-search-actions { width:100%; } .library-filter-btn { flex:1; } }
    .library-word-table {
        width:100%;
        border-collapse:separate;
        border-spacing:0;
        font-size:13px;
        margin-bottom:14px;
        background:#ffffff;
        border:1px solid #e2e8f0;
        border-radius:8px;
        overflow:hidden;
    }
    .library-word-table tr {
        background:#ffffff;
        transition:background 0.15s ease;
    }
    .library-word-table tr:hover {
        background:#f8fafc;
    }
    .library-word-table td {
        background:inherit;
        padding:10px 12px;
        border:0;
        border-bottom:1px solid #e2e8f0;
        vertical-align:middle;
    }
    .library-word-table tr:last-child td {
        border-bottom:none;
    }
    .library-word-kr {
        font-size:16px;
        font-weight:700;
        color:#0f172a;
        width:30%;
        letter-spacing:-0.01em;
    }
    .library-word-jp {
        width:45%;
        color:#334155;
        font-size:13px;
        font-weight:500;
    }
    .library-word-status {
        width:25%;
        text-align:right;
    }
    .library-placeholder-panel { text-align:center; padding:32px 16px; color:#64748b; font-size:14px; background:#f8fafc; border-radius:8px; border:1px dashed #cbd5e1; }
    :root {
        --lemma-col-width: 100px;
        --meaning-col-width: 90px;
    }
    /* Phase 3-5AJ-A: Vocabulary Library & Discoverability */
    /* Phase 3-5AJ-B: Word Card Learning UX */
    .lemma-legacy-contract-text {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }
    .lemma-note-box {
      background: #fff0df;
      border-left: 4px solid #ef9a5a;
      border-radius: 4px;
      padding: 10px 12px;
      margin-bottom: 16px;
    }
    .lemma-note-label {
      font-size: 13px;
      font-weight: 700;
      color: #d96518;
      margin-bottom: 2px;
    }
    .lemma-note-text {
      font-size: 13px;
      color: #1e3a8a;
      line-height: 1.4;
    }
    .priority-forms-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: 8px;
      margin-bottom: 16px;
    }
    .priority-form-card {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      padding: 8px 10px;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .priority-form-label {
      font-size: 11px;
      color: #64748b;
      display: flex;
      justify-content: space-between;
    }
    .priority-form-role {
      font-size: 10px;
      color: #94a3b8;
    }
    .priority-form-val {
      font-size: 15px;
      font-weight: 700;
      color: #0f172a;
    }
    .lemma-example-chunk-card {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      padding: 8px 12px;
      margin-bottom: 6px;
    }
    .lemma-example-chunk-card:last-child {
      margin-bottom: 0;
    }
    .lemma-example-chunk-sense {
      font-size: 10px;
      font-weight: 700;
      color: #ef9a5a;
      background: #f6e5cf;
      padding: 1px 6px;
      border-radius: 10px;
      display: inline-block;
      margin-bottom: 4px;
    }
    .lemma-example-chunk-kr {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
    }
    .lemma-example-chunk-jp {
      font-size: 12px;
      color: #475569;
    }

    .library-category-bar {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 14px;
    }
    .library-category-chip {
      background: #f1f5f9;
      border: 1px solid #cbd5e1;
      border-radius: 20px;
      padding: 5px 13px;
      font-size: 13px;
      font-weight: 500;
      color: #334155;
      cursor: pointer;
      transition: all 0.15s ease;
    }
    .library-category-chip:hover {
      background: #e2e8f0;
    }
    .library-category-chip.active {
      background: #ef7f2d;
      border-color: #ef7f2d;
      color: #ffffff;
    }
    .library-word-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
      gap: 10px;
      margin-bottom: 20px;
      max-height: 280px;
      overflow-y: auto;
      padding: 6px;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      background: #f8fafc;
    }
    .library-word-card {
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 6px;
      padding: 8px 10px;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      overflow: hidden;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }
    /* Phase4-8D nowrap invariant: word-list cards must never wrap. */
    .library-word-card,
    .library-word-card * {
      white-space: nowrap !important;
      overflow-wrap: normal !important;
      word-break: keep-all !important;
    }
    .library-word-card:hover {
      border-color: #ef9a5a;
      box-shadow: 0 2px 4px rgba(0,0,0,0.06);
    }
    .library-word-card-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 6px;
      min-width: 0;
      width: 100%;
      overflow: hidden;
    }
    .library-word-card-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 6px;
      min-width: 0;
      width: 100%;
      overflow: hidden;
    }
    .library-word-lemma {
      font-weight: 700;
      font-size: 15px;
      color: #0f172a;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      min-width: 0;
      max-width: 100%;
      flex: 1 1 auto;
    }
    .library-word-meaning {
      font-size: 12px;
      color: #64748b;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      min-width: 0;
      flex: 1 1 auto;
      max-width: 100%;
    }
    .library-word-ref-code {
      font-size: 11px;
      font-weight: 700;
      color: #64748b;
      white-space: nowrap;
      flex: 0 0 auto;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .library-pos-badge {
      font-size: 10px;
      padding: 1px 5px;
      border-radius: 4px;
      font-weight: 600;
      flex: 0 0 auto;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .library-pos-badge.verb { background: #f6e5cf; color: #d96518; }
    .library-pos-badge.adj { background: #fce7f3; color: #be185d; }
    .library-pos-badge.noun { background: #fef3c7; color: #b45309; }

    .library-map-scroll-wrapper {
        position: relative;
        max-width: 100%;
        max-height: 70dvh;
        min-height: 320px;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x pan-y;
        overscroll-behavior: contain;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        margin-top: 14px;
        cursor: grab;
    }
    .library-map-scroll-wrapper.is-dragging {
        cursor: grabbing;
        user-select: none;
    }
    .predicate-map-table {
        border-collapse: separate;
        border-spacing: 0;
        font-size: 13px;
        background: #ffffff;
        width: max-content;
        min-width: 100%;
        overflow: visible !important;
        position: relative;
    }
    .predicate-map-table th, .predicate-map-table td {
        padding: 8px 10px;
        border-bottom: 1px solid #e2e8f0;
        border-right: 1px solid #f1f5f9;
        vertical-align: middle;
        text-align: left;
        white-space: nowrap;
        background: #ffffff;
    }
    .predicate-map-table th {
        background: #f8fafc;
        font-weight: 700;
        color: #334155;
    }
    /* Sticky Left Columns: Native Sticky Hardening (Body stays white) */
    .col-sticky-lemma {
        position: -webkit-sticky !important;
        position: sticky !important;
        left: 0 !important;
        z-index: 25;
        width: var(--lemma-col-width);
        min-width: var(--lemma-col-width);
        max-width: var(--lemma-col-width);
        background: #ffffff !important;
        box-shadow: 2px 0 4px rgba(0,0,0,0.04);
    }
    .col-sticky-meaning {
        position: -webkit-sticky !important;
        position: sticky !important;
        left: var(--lemma-col-width) !important;
        z-index: 25;
        width: var(--meaning-col-width);
        min-width: var(--meaning-col-width);
        max-width: var(--meaning-col-width);
        background: #ffffff !important;
        border-right: 2px solid #cbd5e1 !important;
    }
    /* Single Sticky Header Row with Uniform Height and Light Tint */
    .map-major-header-row {
        height: 56px;
    }
    .map-major-header-row th {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 35;
        height: 56px;
        box-sizing: border-box;
        vertical-align: middle;
        background: #eef3f8 !important;
        border-bottom: 2px solid #cbd5e1 !important;
        box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06);
    }
    /* Top-Left Header Intersection Matching Row 1 Tint */
    .map-major-header-row .cell-sticky-intersect {
        z-index: 50 !important;
        background: #eef3f8 !important;
        border-bottom: 2px solid #cbd5e1 !important;
    }
    .map-category-header-btn {
        background: transparent;
        border: none;
        cursor: pointer;
        font-weight: 800;
        color: #1e293b;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 8px 10px;
        width: 100%;
        height: 100%;
        min-height: 44px;
        position: relative;
        z-index: 2;
        pointer-events: auto;
        box-sizing: border-box;
    }
    .map-cell-interactive {
        cursor: pointer;
        color: #0f172a;
        font-weight: 600;
        min-width: 96px;
        min-height: 44px;
    }
    .map-cell-interactive:hover {
        background: #fff0df !important;
        color: #ef7f2d;
    }
    .map-cell-generated {
        color: #0f172a;
        font-weight: 600;
        min-width: 108px;
        min-height: 44px;
        background: #ffffff;
    }
    .map-cell-generated.is-verb-only-blank {
        background: #fcfcfc !important;
        color: #cbd5e1;
    }
    .map-group-chip {
        display: block;
        width: max-content;
        margin: 0 auto 3px;
        padding: 1px 6px;
        border-radius: 999px;
        font-size: 9px;
        line-height: 1.35;
        font-weight: 800;
        color: #475569;
        background: #e2e8f0;
    }
    .map-group-chip.basic { background:#f6e5cf; color:#d96518; }
    .map-group-chip.connect { background:#dcfce7; color:#15803d; }
    .map-group-chip.need { background:#fef3c7; color:#a16207; }
    .map-group-chip.intent { background:#fce7f3; color:#be185d; }
    .map-group-chip.expand { background:#ede9fe; color:#6d28d9; }
    .map-extra-header-label { display:block; text-align:center; line-height:1.15; }
    .map-cell-blank {
        background: #fcfcfc !important;
        color: #cbd5e1;
        cursor: default;
    }
    .lemma-trigger-btn {
        background: transparent;
        border: none;
        color: #0f172a;
        font-size: 15px;
        font-weight: 800;
        cursor: pointer;
        text-align: left;
        padding: 8px 4px;
        width: 100%;
        min-height: 40px;
    }
    .lemma-trigger-btn:hover {
        color: #ef7f2d;
        text-decoration: underline;
    }
    .library-pos-list-compat {
        display: none !important;
    }
    .predicate-map-table td.col-sticky-meaning {
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
        line-height: 1.35;
        vertical-align: middle;
    }
    .lemma-meanings-list {
        margin: 10px 0 16px;
        padding: 0;
    }
    .lemma-meanings-list ol {
        margin: 4px 0 0 18px;
        padding: 0;
    }
    .lemma-meanings-list li {
        margin-bottom: 4px;
        font-size: 14px;
        color: #1e293b;
    }
    
    .lemma-meaning-badge {
        font-size: 11px;
        background: #e2e8f0;
        color: #475569;
        padding: 1px 5px;
        border-radius: 4px;
        margin-left: 4px;
    }
    .library-modal-overlay {
        position: fixed;
        inset: 0;
        z-index: 1000;
        background: rgba(15, 23, 42, 0.6);
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding: 16px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .grammar-card-dialog {
        background: #ffffff;
        border-radius: 12px;
        max-width: 600px;
        width: 100%;
        padding: 20px;
        margin: auto 0;
        box-shadow: 0 10px 25px -5px rgba(0,0,0,0.2);
    }
    .lemma-card-sheet {
        background: #ffffff;
        min-height: 100%;
        width: 100%;
        max-width: 720px;
        border-radius: 12px;
        padding: 24px;
        margin: 0 auto;
        box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    }
    .modal-close-bar {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 8px;
    }
    .modal-close-btn {
        background: #f1f5f9;
        border: 1px solid #cbd5e1;
        border-radius: 9999px;
        width: 32px;
        height: 32px;
        font-size: 16px;
        font-weight: 800;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #475569;
    }
    .style-card-block {
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        padding: 12px;
        margin-top: 10px;
        background: #ffffff;
        transition: border-color 0.2s, background 0.2s;
    }
    .style-card-highlight {
        border: 2px solid #ef9a5a;
        background: #fff0df;
    }
    .grammar-card-explanation {
        font-size: 13px;
        color: #475569;
        background: #f8fafc;
        border-left: 4px solid #ef9a5a;
        padding: 8px 12px;
        margin: 12px 0;
        border-radius: 0 6px 6px 0;
    }
    .example-accordion-toggle {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 6px;
        padding: 6px 10px;
        font-size: 12px;
        font-weight: 700;
        color: #334155;
        cursor: pointer;
        width: 100%;
        text-align: left;
        display: flex;
        justify-content: space-between;
        margin-top: 6px;
    }
    .example-accordion-content {
        padding: 10px;
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-top: none;
        border-radius: 0 0 6px 6px;
    }
    .example-kr-row {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .example-korean {
        font-size: 15px;
        font-weight: 700;
        color: #0f172a;
    }
    .example-kana {
        font-size: 12px;
        font-weight: 600;
        color: #475569;
        margin-top: 2px;
    }
    .example-pron-hangul {
        font-size: 12px;
        color: #ef9a5a;
        margin-top: 1px;
    }
    .example-japanese {
        font-size: 13px;
        color: #334155;
        margin-top: 4px;
    }
    @media (max-width: 520px) {
        #study-app { margin:16px auto 24px; }
        .study-card-container { padding:16px; }
        .study-header { align-items:flex-start; }
        .study-controls-row { justify-content:center; }
        .study-nav-btn { flex:1 1 120px; }
        .study-style-toggle { order:3; width:100%; justify-content:center; }
    }

    /* Phase 3-5AG: Scene Practice Launcher UI */
    .practice-scenes-container {
      margin: 16px 0;
      padding: 16px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
    }
    .practice-scenes-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 12px;
    }
    .practice-scenes-title {
      font-size: 16px;
      font-weight: 700;
      color: #1e293b;
      margin: 0;
    }
    .practice-scenes-badge {
      font-size: 11px;
      font-weight: 600;
      color: #4f46e5;
      background: #eef2ff;
      padding: 3px 8px;
      border-radius: 9999px;
    }
    .practice-scenes-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
      gap: 10px;
    }
    .btn-scene-card {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 12px;
      background: #ffffff;
      border: 1px solid #cbd5e1;
      border-radius: 8px;
      cursor: pointer;
      text-align: left;
      transition: all 0.15s ease;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .btn-scene-card:hover:not(:disabled) {
      border-color: #6366f1;
      background: #faf5ff;
      transform: translateY(-1px);
    }
    .btn-scene-card:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }
    .scene-card-label {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 4px;
    }
    .scene-card-desc {
      font-size: 11px;
      color: #64748b;
      line-height: 1.3;
    }
    .practice-scene-error-banner {
      color: #dc2626;
      font-size: 12px;
      font-weight: 600;
      margin-bottom: 8px;
      display: none;
    }
  .audio-mode-selector,.audio-rate-selector{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:10px auto;max-width:760px;font-size:12px;color:#4b5563}.audio-rate-selector{position:sticky;top:0;z-index:1100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 10px;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 2px 10px rgba(15,23,42,.08)}body:has(.library-modal-overlay) .audio-rate-selector{position:fixed;top:10px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 32px));margin:0;z-index:1100}body:has(.library-modal-overlay) .library-modal-overlay{padding-top:68px}@supports(padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-main-nav{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.audio-rate-selector{top:max(0px,env(safe-area-inset-top))}body:has(.library-modal-overlay) .audio-rate-selector{top:max(10px,env(safe-area-inset-top));width:min(760px,calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)))}body:has(.library-modal-overlay) .library-modal-overlay{padding-top:calc(68px + env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.lemma-card-sheet,.grammar-card-dialog{max-height:calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch}}@media(max-width:640px){.audio-mode-selector,.audio-rate-selector{width:calc(100% - 24px);box-sizing:border-box}.audio-rate-selector{border-radius:14px;gap:5px}.btn-mode-pill,.btn-rate-pill{min-height:44px;padding:8px 11px}.library-modal-overlay{padding:12px}.lemma-card-sheet,.grammar-card-dialog{padding:16px;border-radius:14px}}.btn-mode-pill,.btn-rate-pill{padding:6px 10px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;cursor:pointer;font-size:12px}.btn-mode-pill.is-active,.btn-rate-pill.is-active{background:#ef7f2d;border-color:#ef7f2d;color:#fff}.btn-rate-pill:disabled{cursor:not-allowed;opacity:.55}.speed-note{font-size:11px;color:#6b7280}.chunk-drill-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 3px 12px rgba(0,0,0,.06)}.chunk-token-chip{background:#fff0df!important;color:#d96518!important;border:1px solid #efc392!important;border-radius:8px!important;padding:8px 12px!important}.chunk-token-chip.is-placed{background:#d96518!important;color:#fff!important}.chunk-assembly-tray{min-height:54px;border:2px dashed #cbd5e1;border-radius:9px;padding:10px;background:#f8fafc}.chunk-jp-prompt{font-size:18px;font-weight:700;color:#111827;margin:14px 0}


    .priority-form-card.is-selected { border:2px solid #ef7f2d !important; background:#f6e5cf !important; }
    .grammar-curated-example { background:#fff; border:1px solid #f6e5cf; border-radius:8px; padding:10px; }

    /* Phase 4-5: Free Production / Typed Answer Mode */
    .practice-answer-mode-group { display:flex; gap:8px; flex-wrap:wrap; }
    .practice-answer-mode-btn {
      appearance:none; border:1px solid #cbd5e1; background:#fff; color:#475569;
      font-weight:800; font-size:13px; padding:9px 14px; border-radius:10px; cursor:pointer;
      transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
    }
    .practice-answer-mode-btn:hover { border-color:#efc392; background:#fffaf3; }
    .practice-answer-mode-btn.active { background:#ef7f2d; border-color:#ef7f2d; color:#fff; box-shadow:0 4px 12px rgba(37,99,235,.18); }
    .practice-mode-help { font-size:12px; color:#64748b; margin-top:5px; line-height:1.45; }
    .practice-typed-wrap { margin-top:18px; }
    .practice-typed-label { display:block; font-size:13px; font-weight:800; color:#475569; margin-bottom:7px; }
    .practice-typed-input {
      width:100%; box-sizing:border-box; border:2px solid #f2d0ad; border-radius:12px;
      padding:14px 16px; font-size:20px; font-weight:750; color:#0f172a; background:#fff; outline:none;
      transition:border-color .15s ease,box-shadow .15s ease;
    }
    .practice-typed-input:focus { border-color:#ef7f2d; box-shadow:0 0 0 4px rgba(37,99,235,.10); }
    .practice-typed-submit {
      width:100%; margin-top:10px; border:0; border-radius:10px; background:#ef7f2d; color:#fff;
      font-size:14px; font-weight:800; padding:12px 16px; cursor:pointer; box-shadow:0 5px 14px rgba(37,99,235,.16);
    }
    .practice-typed-submit:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
    .practice-user-answer-box {
      margin-top:12px; padding:12px 14px; border-radius:10px; background:#f8fafc; border:1px solid #e2e8f0;
    }
    .practice-user-answer-label { font-size:12px; font-weight:800; color:#64748b; margin-bottom:4px; }
    .practice-user-answer-text { font-size:17px; font-weight:800; color:#0f172a; word-break:break-word; }
    .practice-auto-result { margin-top:12px; padding:10px 12px; border-radius:9px; font-size:13px; font-weight:800; }
    .practice-auto-result.correct { color:#166534; background:#f0fdf4; border:1px solid #bbf7d0; }
    .practice-auto-result.review { color:#92400e; background:#fffbeb; border:1px solid #fde68a; }
    @media (max-width: 640px) {
      .practice-typed-input { font-size:18px; }
      .practice-answer-mode-group { width:100%; }
      .practice-answer-mode-btn { flex:1 1 0; }
    }

/* Beige V31: multi-turn conversation role-play */
#conversation-reply-container{border:1px solid #e6d3bd!important;background:linear-gradient(180deg,#fffaf3 0%,#fff7ed 100%)!important;border-radius:20px!important;padding:18px!important;box-shadow:0 8px 24px rgba(92,63,34,.06)!important;margin:14px 0!important}
#conversation-reply-container .practice-scenes-title{color:#4a3527!important;font-size:17px!important;margin:0!important}
#conversation-reply-container .practice-scenes-badge{background:#fde8d5!important;color:#9a552a!important;border:1px solid #efc39e!important}
#conversation-reply-container .btn-conversation-reply-card{background:#fffdf9!important;border:1px solid #ead9c6!important;border-radius:15px!important;color:#44362b!important;box-shadow:0 3px 10px rgba(92,63,34,.04)!important}
#conversation-reply-container .btn-conversation-reply-card:hover{border-color:#e3a36d!important;background:#fff8ef!important}
#practice-app .practice-reply-choice{border-color:#e8c6a6!important;background:#fff8ef!important;color:#7b4b2c!important;border-radius:12px!important}
#practice-app .practice-reply-choice:hover{background:#ffeddc!important;border-color:#df9b62!important}
@media(max-width:640px){#conversation-reply-container{padding:14px!important;border-radius:17px!important}#conversation-reply-container .practice-scenes-grid{grid-template-columns:1fr!important}}

/* ===== legacy-cascade-block-02 ===== */
/* Phase 4-4B: visual-only modernization of chunk drill. No behavior/data changes. */
#chunk-drill-root{max-width:760px!important;margin:22px auto 36px!important;padding:0 16px;color:#0f172a!important;}
.chunk-practice-container,.chunk-category-selection-view{width:100%;}
.chunk-practice-top-bar,.chunk-practice-header,.chunk-view-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.chunk-view-header{display:block;margin-bottom:20px;}
.chunk-view-header h2,.chunk-practice-header h2{margin:0;font-size:24px;line-height:1.25;color:#0f172a;letter-spacing:-.02em;}
.chunk-view-subtitle{margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.6;}
.btn-chunk-home,.btn-chunk-back,.btn-chunk-back-select,.btn-chunk-restart,.btn-chunk-reset,.btn-chunk-retry{appearance:none;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s ease;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.btn-chunk-home:hover,.btn-chunk-back:hover,.btn-chunk-back-select:hover,.btn-chunk-restart:hover,.btn-chunk-reset:hover,.btn-chunk-retry:hover{border-color:#94a3b8;background:#f8fafc;transform:translateY(-1px);}
.chunk-practice-top-bar{justify-content:space-between;margin-bottom:12px;}
.chunk-progress-indicator{font-size:13px;font-weight:800;color:#475569;background:#e2e8f0;border-radius:999px;padding:7px 11px;}
.chunk-drill-card{border:1px solid #dbe4f0!important;border-radius:18px!important;padding:26px!important;box-shadow:0 10px 30px rgba(15,23,42,.08)!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;}
.chunk-header{display:flex;gap:8px;align-items:center;margin-bottom:14px;}
.chunk-category-badge,.chunk-style-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;}
.chunk-category-badge{background:#f6e5cf;color:#d96518;}
.chunk-style-badge{background:#f1f5f9;color:#475569;}
.chunk-jp-prompt{font-size:22px!important;line-height:1.55!important;font-weight:800!important;color:#0f172a!important;margin:14px 0 20px!important;letter-spacing:-.02em;}
.chunk-prompt-action{display:flex;justify-content:flex-start;}
.btn-chunk-reveal,.btn-chunk-submit,.btn-chunk-next{appearance:none;border:0;border-radius:11px;padding:11px 16px;background:#ef7f2d;color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 5px 14px rgba(37,99,235,.22);transition:.15s ease;}
.btn-chunk-reveal:hover,.btn-chunk-submit:hover,.btn-chunk-next:hover{background:#d96518;transform:translateY(-1px);}
.btn-chunk-submit:disabled{background:#cbd5e1;color:#f8fafc;box-shadow:none;cursor:not-allowed;transform:none;}
.chunk-assembly-section{display:flex;flex-direction:column;gap:14px;}
.chunk-assembly-tray{min-height:68px!important;border:2px dashed #f2d0ad!important;border-radius:14px!important;padding:12px!important;background:#fffaf3!important;display:flex;align-items:center;align-content:flex-start;gap:8px;flex-wrap:wrap;transition:.15s ease;}
.chunk-assembly-tray.is-correct{border-color:#86efac!important;background:#f0fdf4!important;}
.chunk-assembly-tray.is-incorrect{border-color:#fca5a5!important;background:#fef2f2!important;}
.chunk-tray-placeholder{color:#94a3b8;font-size:13px;}
.chunk-token-bank{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0;}
.chunk-token-chip{font-size:16px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.01em;border-radius:11px!important;padding:10px 14px!important;box-shadow:0 2px 7px rgba(37,99,235,.08);cursor:pointer;transition:.12s ease;}
.chunk-token-chip:hover{transform:translateY(-1px);}
.chunk-token-chip.is-placed{background:#ef7f2d!important;border-color:#ef7f2d!important;color:#fff!important;}
.chunk-token-chip.is-hidden{display:none!important;}
.chunk-actions{display:flex;justify-content:flex-end;gap:9px;align-items:center;margin-top:2px;}
.chunk-feedback{border-radius:14px;padding:16px 18px;margin-top:2px;}
.chunk-feedback.is-correct{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;}
.chunk-feedback.is-incorrect{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;}
.chunk-feedback-title{font-weight:800;font-size:14px;line-height:1.5;}
.chunk-canonical-sentence{margin-top:8px;font-size:19px;font-weight:800;color:#14532d;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.btn-chunk-audio{appearance:none;border:1px solid #bbf7d0;background:#fff;color:#166534;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:700;cursor:pointer;}
.chunk-next-action{margin-top:12px;display:flex;justify-content:flex-end;}
.chunk-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.chunk-category-card{appearance:none;text-align:left;border:1px solid #dbe4f0;background:#fff;border-radius:15px;padding:17px 18px;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.05);transition:.15s ease;}
.chunk-category-card:hover{border-color:#efc392;background:#fffaf3;transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.08);}
.chunk-card-title{font-size:16px;font-weight:800;color:#0f172a;}
.chunk-card-count{font-size:12px;font-weight:700;color:#64748b;margin-top:5px;}
.chunk-completion-card{border:1px solid #dbe4f0;border-radius:18px;background:#fff;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,.08);text-align:center;}
.chunk-completion-title{font-size:20px;font-weight:800;color:#0f172a;}
.chunk-completion-desc{color:#64748b;margin:8px 0 18px;}
.chunk-completion-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
@media (max-width:640px){
  #chunk-drill-root{padding:0 12px!important;margin-top:14px!important;}
  .chunk-drill-card{padding:18px!important;border-radius:15px!important;}
  .chunk-jp-prompt{font-size:19px!important;}
  .chunk-category-grid{grid-template-columns:1fr;}
  .chunk-actions{justify-content:stretch;}
  .chunk-actions button{flex:1;}
  .chunk-practice-top-bar{align-items:flex-start;}
}

/* ===== legacy-cascade-block-03 ===== */
/* Phase 13 / Task 13-5: practice UX refresh. Visual hierarchy only; behavior/data IDs stay intact. */
#practice-app{max-width:760px;margin:18px auto 40px;padding:0 14px;box-sizing:border-box;}
#practice-app .practice-container{border:1px solid #e2e8f0;border-radius:20px;padding:22px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.07);}
#practice-app .practice-title{font-size:25px;letter-spacing:-.03em;margin-bottom:6px;}
#practice-app .practice-card-box{border-radius:16px;padding:18px;border-color:#dbe4f0;box-shadow:0 3px 12px rgba(15,23,42,.035);}

#practice-app .practice-preset-btn,#practice-app .practice-count-btn{min-height:42px;border-radius:11px;transition:.15s ease;}
#practice-app .practice-preset-btn:hover,#practice-app .practice-count-btn:hover{transform:translateY(-1px);}
#practice-app .practice-filter-row{gap:10px 12px;}
#practice-app select,#practice-app input[type="number"]{min-height:42px!important;border-radius:10px!important;background:#fff;}
.practice-session-shell{overflow:hidden;}
.practice-session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;}
.practice-session-progress-copy{flex:1;min-width:0;}
.practice-session-step{display:block;font-size:12px;font-weight:800;color:#64748b;margin-bottom:7px;}
.practice-session-progress-track{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden;}
.practice-session-progress-track>span{display:block;height:100%;border-radius:inherit;background:#ef7f2d;transition:width .2s ease;}
.practice-quit-btn{appearance:none;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;}
.practice-quit-btn:hover{background:#f8fafc;color:#334155;}
#practice-app .practice-focus-card{border:1px solid #dbe4f0;border-radius:20px;padding:34px 24px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:none;margin:10px 0 2px;}
#practice-app .practice-prompt-label{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff0df;color:#ef7f2d;font-size:12px;margin-bottom:16px;}
#practice-app .practice-prompt-text{font-size:30px;line-height:1.45;letter-spacing:-.035em;margin-bottom:18px;}
#practice-app .practice-answer-box{border:1px solid #dbe4f0;border-radius:16px;background:#f8fafc;padding:20px;}
#practice-app .practice-answer-text{font-size:32px;line-height:1.35;letter-spacing:-.025em;}
#practice-app .practice-eval-grid{gap:8px;}
#practice-app .practice-eval-grid button,#practice-app .btn-next-question,#practice-app .btn-reveal,#practice-app .practice-typed-submit{min-height:48px;border-radius:12px;}
.practice-result-shell{text-align:center;}
#practice-app .practice-result-card{border:0;box-shadow:none;margin:0;padding:12px 0 4px;}
.practice-result-kicker{font-size:11px;letter-spacing:.14em;font-weight:900;color:#64748b;margin-bottom:14px;}
.practice-result-score-ring{width:112px;height:112px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:baseline;justify-content:center;gap:2px;background:#fff0df;border:10px solid #f6e5cf;color:#d96518;box-sizing:border-box;padding-top:25px;}
.practice-result-score-ring span{font-size:38px;line-height:1;font-weight:900;letter-spacing:-.05em;}
.practice-result-score-ring small{font-size:14px;font-weight:900;}
.practice-result-title{font-size:26px;line-height:1.2;font-weight:900;color:#0f172a;margin:0 0 6px;letter-spacing:-.03em;}
.practice-result-subtitle{font-size:13px;color:#64748b;margin-bottom:8px;}
#practice-app .practice-result-stat-box{border:0;border-radius:16px;background:#f8fafc;padding:16px 8px;gap:4px;}
#practice-app .practice-result-item{flex:1;}
#practice-app .practice-result-num{font-size:28px;}
#practice-app .practice-result-lbl{font-size:11px;}
#practice-app .btn-review-mistakes,#practice-app .btn-start-drill,#practice-app #btn-return-library,#practice-app #btn-back-to-config{min-height:48px;border-radius:12px!important;}
@media (max-width:640px){
  #practice-app{margin:10px auto 92px;padding:0 10px;}
  #practice-app .practice-container{padding:14px;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.055);}
  #practice-app .practice-title{font-size:22px;}
  #practice-app .practice-card-box{padding:14px;border-radius:14px;}
  
  #practice-app .practice-filter-row{display:grid;grid-template-columns:1fr 1fr;align-items:end;}
  #practice-app .practice-count-btn-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);width:100%;}
  #practice-app .practice-custom-input{width:100%;box-sizing:border-box;}
  .practice-session-toolbar{align-items:flex-start;}
  #practice-app .practice-focus-card{padding:28px 16px 22px;border-radius:17px;min-height:330px;display:flex;flex-direction:column;justify-content:center;}
  #practice-app .practice-prompt-text{font-size:26px;}
  #practice-app .practice-answer-text{font-size:29px;}
  #practice-app .practice-eval-grid{grid-template-columns:1fr;gap:8px;}
  #practice-app .practice-eval-grid button{width:100%;}
  #practice-app .practice-typed-input{font-size:19px;min-height:52px;}
  #practice-app .practice-result-stat-box{padding:14px 4px;}
}

/* ===== legacy-cascade-block-04 ===== */
/* Phase 13 / Task 13-6: iPhone/iPad/PWA ergonomics. CSS-only; behavior/data remain unchanged. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-width:0;max-width:100%;overflow-x:hidden;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;}
button,[role="button"],input,select,textarea{touch-action:manipulation;}
button,.btn,.nav-btn,.app-main-nav button,.practice-preset-btn,.practice-count-btn,.library-filter-btn,.library-sort-btn{min-height:44px;}
input,select,textarea{font-size:16px;}
img,svg,canvas{max-width:100%;}
#library-app,#study-app,#practice-app,#chunk-drill-root{min-width:0;max-width:100%;box-sizing:border-box;}
.library-word-table-wrap,.library-map-container,.practice-container,.study-card-container{max-width:100%;}
.library-modal-overlay{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.lemma-card-sheet,.grammar-card-dialog{overscroll-behavior:contain;scrollbar-gutter:stable;}

@supports (padding: max(0px)){
  body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));}
  #library-app,#study-app,#practice-app,#chunk-drill-root{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));}
  .app-main-nav{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));}
}

@media (max-width: 640px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));}
  .app-main-nav{
    position:fixed!important;left:0;right:0;bottom:0;z-index:1000;
    width:100%;max-width:none!important;margin:0!important;
    padding-top:8px!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-top:1px solid #e2e8f0;box-shadow:0 -8px 28px rgba(15,23,42,.08);
    box-sizing:border-box;gap:8px!important;
  }
  .app-main-nav button,.app-main-nav .nav-btn{flex:1 1 0;min-width:0;min-height:50px!important;border-radius:13px!important;margin:0!important;}
  #library-app,#study-app,#practice-app,#chunk-drill-root{margin-bottom:18px!important;}
  .library-modal-overlay{align-items:flex-end!important;padding:0!important;padding-top:calc(54px + env(safe-area-inset-top,0px))!important;}
  .lemma-card-sheet,.grammar-card-dialog{
    width:100%!important;max-width:none!important;max-height:calc(100dvh - 54px - env(safe-area-inset-top,0px))!important;
    border-radius:22px 22px 0 0!important;padding:18px 16px calc(22px + env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;margin:0!important;
  }
  .lemma-card-sheet::before,.grammar-card-dialog::before{content:"";display:block;width:42px;height:5px;border-radius:999px;background:#cbd5e1;margin:0 auto 14px;}
  .library-filter-row,.library-search-actions,.study-controls-row{gap:8px!important;}
  .library-filter-btn,.library-sort-btn,.study-nav-btn{min-height:46px!important;}
  .library-word-table{font-size:13px;}
  .library-word-table th,.library-word-table td{padding-top:11px!important;padding-bottom:11px!important;}
  #practice-app .practice-container{padding-bottom:18px!important;}
  #practice-app .practice-session-toolbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 0 10px;margin-top:-4px;}
  #practice-app .practice-quit-btn{min-height:44px;}
  #practice-app .practice-focus-card{min-height:min(330px,45dvh)!important;}
  #practice-app .practice-eval-grid button,#practice-app .btn-next-question,#practice-app .btn-reveal,#practice-app .practice-typed-submit{min-height:52px!important;font-size:16px;}
  .audio-mode-selector,.audio-rate-selector{max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));}
}

@media (min-width:641px) and (max-width:1024px){
  #library-app,#study-app,#practice-app,#chunk-drill-root{padding-left:20px;padding-right:20px;}
  .app-main-nav{max-width:760px!important;padding-left:20px;padding-right:20px;}
  .lemma-card-sheet,.grammar-card-dialog{max-width:min(760px,calc(100vw - 40px))!important;max-height:calc(100dvh - 110px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;}
  
}

@media (hover:none) and (pointer:coarse){
  button:hover,.practice-preset-btn:hover,.practice-count-btn:hover{transform:none!important;}
  button:active,[role="button"]:active{opacity:.82;}
}

/* ===== legacy-cascade-block-05 ===== */
/* Phase 13 hotfix: restore document-level vertical scrolling while keeping local scroll areas usable. */
html,body{height:auto!important;min-height:100%!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;}
body{touch-action:pan-y!important;}
.library-map-scroll-wrapper{touch-action:pan-x!important;overscroll-behavior-x:contain!important;overscroll-behavior-y:auto!important;}
.library-word-grid,.library-modal-overlay,.lemma-card-sheet,.grammar-card-dialog{overscroll-behavior-y:auto!important;}
@media (max-width:640px){
  html,body{overflow-y:auto!important;-webkit-overflow-scrolling:touch;}
}

/* ===== legacy-cascade-block-06 ===== */
:root{
  --lr-bg:#f7f0e6;--lr-surface:#fffaf3;--lr-surface-2:#fffdf9;--lr-ink:#28221d;--lr-muted:#83766b;
  --lr-orange:#ef7f2d;--lr-orange-dark:#d96518;--lr-green:#49a66f;--lr-red:#e76b61;--lr-blue:#ef7f2d;--lr-purple:#8b72c7;
  --lr-line:#eadfce;--lr-line-strong:#dfcfbb;--lr-shadow:0 10px 28px rgba(92,63,34,.09);--lr-shadow-soft:0 5px 16px rgba(92,63,34,.06);
}
*{box-sizing:border-box}
html,body{background:var(--lr-bg)!important;color:var(--lr-ink)!important;}
body{padding:0!important;padding-bottom:84px!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif!important;}
#direct-file-launch-guide{display:none!important}.app-main-nav{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;opacity:0!important;pointer-events:none!important}.audio-mode-selector,.audio-rate-selector{display:none!important}
#library-app,#practice-app,#study-app,#chunk-drill-root{max-width:1120px!important;margin:0 auto!important;padding:18px 18px 105px!important}
.lr-shell{min-height:100dvh;background:linear-gradient(180deg,#fff8ee 0,#f7f0e6 36%,#f5ede1 100%)}
.lr-topbar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;max-width:1040px;margin:0 auto}.lr-brand{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:-.02em;color:#33281f}.lr-brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#ff9a47,#eb721f);display:grid;place-items:center;color:white;box-shadow:0 7px 18px rgba(239,127,45,.24);font-size:18px}.lr-icon-btn{width:38px;height:38px;border:1px solid var(--lr-line);background:rgba(255,250,243,.85);border-radius:12px;color:#75695e;cursor:pointer;font-size:16px}
.lr-home{max-width:920px;margin:0 auto;padding:5px 18px 104px}.lr-greeting{display:grid;grid-template-columns:1fr 120px;gap:12px;align-items:center;background:linear-gradient(135deg,#fff8ed,#fff3df);border:1px solid #ead8bd;border-radius:22px;padding:20px;box-shadow:var(--lr-shadow)}.lr-greeting h1{font-size:25px;line-height:1.25;letter-spacing:-.04em;margin:0 0 7px}.lr-greeting p{font-size:12px;line-height:1.65;color:var(--lr-muted);margin:0}.lr-greeting-ill{height:112px;border-radius:18px;background:linear-gradient(160deg,#fce9ce,#fffaf2);display:grid;place-items:center;position:relative;overflow:hidden}.lr-greeting-ill:before{content:"";position:absolute;width:88px;height:88px;border-radius:50%;background:#f3d8af;bottom:-28px;right:-12px}.lr-greeting-ill span{position:relative;font-size:58px;filter:saturate(.85)}
.lr-today{margin-top:14px;background:var(--lr-surface);border:1px solid var(--lr-line);border-radius:20px;padding:16px;box-shadow:var(--lr-shadow-soft)}.lr-section-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:11px}.lr-section-title h2{font-size:17px;margin:0;letter-spacing:-.02em}.lr-section-title span{font-size:11px;color:var(--lr-muted)}.lr-today-grid{display:grid;grid-template-columns:116px 1fr;gap:15px;align-items:center}.lr-progress-ring{width:102px;height:102px;border-radius:50%;background:conic-gradient(var(--lr-green) 0 var(--lr-today-pct,0%),#eee5d8 var(--lr-today-pct,0%));position:relative;display:grid;place-items:center;margin:auto}.lr-progress-ring:after{content:"";position:absolute;inset:10px;background:var(--lr-surface);border-radius:50%}.lr-progress-ring strong{z-index:1;font-size:22px}.lr-progress-ring small{z-index:1;position:absolute;margin-top:35px;font-size:9px;color:var(--lr-muted)}.lr-goals{display:grid;gap:7px}.lr-goal{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:7px 9px;border-radius:11px;background:#fffdf9}.lr-goal i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e5f4e9;color:#3d9763;font-size:12px;font-weight:900}.lr-goal b{font-size:12px}.lr-goal span{font-size:10px;color:var(--lr-muted)}
.lr-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}.lr-home-stat{border:1px solid var(--lr-line);background:#fffdf9;border-radius:12px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:6px}.lr-home-stat small{font-size:9.5px;color:var(--lr-muted);font-weight:800}.lr-home-stat strong{font-size:13px;color:var(--lr-ink)}.lr-home-stat.is-learning strong{color:#c77a20}.lr-home-stat.is-mastered strong{color:#3f9565}.lr-home-stat.is-new strong{color:#7e6f62}.lr-home-resume{width:100%;margin-top:9px;padding:7px 9px;font-size:10px;color:var(--lr-muted);display:flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:10px;text-align:left;cursor:pointer}.lr-home-resume:hover{background:#fff7ed}.lr-home-resume b{color:var(--lr-ink)}.lr-home-resume em{margin-left:auto;font-style:normal;font-weight:800;color:var(--lr-orange);white-space:nowrap}

.lr-menu{margin-top:17px}.lr-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lr-menu-card{appearance:none;border:1px solid var(--lr-line);background:var(--lr-surface);border-radius:17px;padding:14px;text-align:left;cursor:pointer;min-height:116px;box-shadow:var(--lr-shadow-soft);transition:.15s transform,.15s box-shadow,.15s border-color}.lr-menu-card:hover{transform:translateY(-2px);box-shadow:var(--lr-shadow);border-color:#dcc7aa}.lr-menu-card:active{transform:scale(.985)}.lr-menu-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;font-size:20px;margin-bottom:10px}.lr-c1 .lr-menu-icon{background:#ffe7d4}.lr-c2 .lr-menu-icon{background:#fbe2d7}.lr-c3 .lr-menu-icon{background:#def2e5}.lr-c4 .lr-menu-icon{background:#e1eef9}.lr-c5 .lr-menu-icon{background:#f3e8d6}.lr-c6 .lr-menu-icon{background:#eee6fa}.lr-c7 .lr-menu-icon{background:#e8f3ef}.lr-menu-card b{display:block;font-size:14px;color:#382c23;margin-bottom:3px}.lr-menu-card small{display:block;color:var(--lr-muted);font-size:10.5px;line-height:1.45}.lr-badge{display:inline-flex;margin-top:8px;background:#f4ecdf;color:#7e6d5e;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.lr-c1{border-top:3px solid #f39b55}.lr-c2{border-top:3px solid #e88863}.lr-c3{border-top:3px solid #69b48a}.lr-c4{border-top:3px solid #65a4d0}.lr-c5{border-top:3px solid #d5975c}.lr-c6{border-top:3px solid #957aca}.lr-c7{border-top:3px solid #5d9b84}
.lr-recommend{margin-top:14px;border:1px solid var(--lr-line);border-radius:17px;background:#fff9ef;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.lr-recommend strong{font-size:13px}.lr-recommend span{font-size:10px;color:var(--lr-muted);display:block;margin-top:3px}.lr-primary{border:0;background:linear-gradient(135deg,#ef7f2d,#e46d18);color:#fff;font-weight:800;border-radius:12px;padding:11px 15px;cursor:pointer;box-shadow:0 7px 16px rgba(239,127,45,.22);white-space:nowrap}
.lr-bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,700px);height:70px;padding:6px 8px max(7px,env(safe-area-inset-bottom));background:rgba(255,250,243,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(225,211,192,.95);border-bottom:0;border-radius:20px 20px 0 0;display:grid;grid-template-columns:repeat(5,1fr);z-index:1500;box-shadow:0 -8px 24px rgba(86,61,37,.08)}.lr-bottom-nav button{border:0;background:transparent;color:#9a8b7c;font-size:9.5px;font-weight:700;display:grid;place-items:center;gap:1px;cursor:pointer;border-radius:11px}.lr-bottom-nav button .ico{font-size:18px;line-height:1}.lr-bottom-nav button.active{color:var(--lr-orange);background:#fff0df}
.lr-view{display:none}.lr-view.active{display:block}.lr-progress,.lr-settings{max-width:740px;margin:0 auto;padding:8px 18px 104px}.lr-page-title{font-size:22px;font-weight:900;margin:6px 0 16px}.lr-panel{background:var(--lr-surface);border:1px solid var(--lr-line);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:var(--lr-shadow-soft)}.lr-panel h3{font-size:14px;margin:0 0 9px}.lr-panel p{font-size:11px;color:var(--lr-muted);line-height:1.7}.lr-setting-pills{display:flex;gap:5px}.lr-setting-pills button{border:1px solid #e1d4c5;background:#fffaf4;border-radius:999px;padding:6px 9px;font-size:10px;color:#77695d;cursor:pointer}.lr-setting-pills button.active{background:var(--lr-orange);border-color:var(--lr-orange);color:#fff}
/* Existing V1 screens: warm beige app theme, logic untouched */
.library-container,.practice-container,.practice-card-box,.library-modal-content,.lemma-card-sheet,.grammar-card-dialog{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif!important}.library-container{background:transparent!important;max-width:1040px!important;margin:0 auto!important}.library-header{margin-bottom:11px!important}.library-title{font-size:23px!important;font-weight:900!important;color:#352a22!important}.library-type-tabs{background:#efe5d8!important;border-radius:13px!important;padding:4px!important;gap:4px!important;border:0!important}.library-type-tab{border:0!important;border-radius:10px!important;color:#7b6c5f!important;font-weight:800!important}.library-type-tab.active{background:#fffaf3!important;color:#e66f1e!important;box-shadow:0 3px 10px rgba(92,63,34,.08)!important}.library-category-chip{border-radius:999px!important;border-color:#e4d7c7!important;background:#fffaf3!important;color:#6f6257!important}.library-category-chip.active{background:#ef7f2d!important;color:#fff!important;border-color:#ef7f2d!important}.library-filter-panel,.library-data-management,.practice-card-box{border-radius:17px!important;box-shadow:var(--lr-shadow-soft)!important;border-color:#e9ddce!important;background:#fffaf3!important}.library-word-card,.library-expression-card{border-radius:15px!important;border-color:#e9ddce!important;background:#fffdf9!important;box-shadow:0 3px 10px rgba(92,63,34,.045)!important}.practice-preset-btn,.btn-start-drill,.library-filter-btn{border-radius:11px!important;min-height:44px!important}.btn-start-drill,.practice-count-btn.active{background:#ef7f2d!important;border-color:#ef7f2d!important}.library-modal-content,.lemma-card-sheet,.grammar-card-dialog{background:#fffaf3!important;border-color:#e4d6c5!important}
@media(max-width:720px){body{padding-bottom:78px!important}.lr-topbar{height:54px;padding:0 13px}.lr-brand{font-size:13px}.lr-brand-mark{width:31px;height:31px}.lr-home{padding:2px 11px 92px}.lr-greeting{grid-template-columns:1fr 84px;padding:15px;border-radius:18px}.lr-greeting h1{font-size:19px}.lr-greeting p{font-size:10.5px}.lr-greeting-ill{height:88px;border-radius:15px}.lr-greeting-ill span{font-size:44px}.lr-today{padding:13px;border-radius:17px}.lr-today-grid{grid-template-columns:92px 1fr;gap:10px}.lr-home-stats{gap:5px}.lr-home-stat{padding:7px 6px;display:grid;justify-items:start}.lr-home-stat small{font-size:8.8px}.lr-home-stat strong{font-size:12px}.lr-progress-ring{width:80px;height:80px}.lr-progress-ring strong{font-size:18px}.lr-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lr-menu-card{min-height:105px;padding:12px}.lr-menu-icon{width:35px;height:35px;font-size:18px;margin-bottom:8px}.lr-menu-card b{font-size:13px}.lr-menu-card small{font-size:9.5px}.lr-recommend{align-items:flex-start}.lr-recommend .lr-primary{padding:9px 11px;font-size:11px}.lr-bottom-nav{height:65px;border-radius:17px 17px 0 0}.lr-bottom-nav button .ico{font-size:17px}#library-app,#practice-app,#study-app,#chunk-drill-root{padding:8px 10px 86px!important}.library-title{font-size:20px!important}}

/* ===== legacy-cascade-block-07 ===== */
/* Beige Rebuild V2 — word learning + word detail. CSS-only: preserve V1 logic/data. */
:root{
  --br2-bg:#f7efe4;--br2-surface:#fffaf3;--br2-surface-2:#fff6ea;--br2-line:#eadbc8;
  --br2-ink:#342a22;--br2-muted:#8a7766;--br2-orange:#ef7f2d;--br2-orange-dark:#d9681f;
  --br2-green:#45a66f;--br2-red:#e96d65;--br2-shadow:0 8px 24px rgba(104,75,46,.10);
}
/* Word list: mobile-app list rather than spreadsheet-like tiles */
.library-discovery-section{background:transparent!important}
.library-word-grid{gap:9px!important;align-items:stretch!important}
.library-word-card{position:relative!important;min-height:78px!important;padding:13px 15px!important;border:1px solid var(--br2-line)!important;border-radius:16px!important;background:var(--br2-surface)!important;box-shadow:0 3px 10px rgba(104,75,46,.055)!important;transition:transform .16s ease,box-shadow .16s ease!important}
.library-word-card:hover{transform:translateY(-1px)!important;box-shadow:0 7px 18px rgba(104,75,46,.09)!important}
.library-word-card:active{transform:scale(.992)!important}
.library-word-card-header{align-items:center!important;gap:8px!important}
.library-word-lemma{font-size:22px!important;line-height:1.18!important;font-weight:900!important;letter-spacing:-.02em!important;color:var(--br2-ink)!important}
.library-pos-badge{border:0!important;border-radius:999px!important;padding:3px 7px!important;font-size:10px!important;font-weight:900!important;background:#f7ddc5!important;color:#b85d1d!important}
.library-word-card-footer{margin-top:7px!important;align-items:center!important}
.library-word-meaning{font-size:13px!important;color:#725f50!important;font-weight:700!important}
.library-word-ref-code{border:0!important;border-radius:999px!important;background:#f1e7da!important;color:#89715e!important;padding:3px 8px!important;font-size:10px!important;font-weight:800!important}
/* Full detail sheet */
.library-modal-overlay#library-lemma-card-modal{background:rgba(55,42,30,.32)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
#library-lemma-card-modal .lemma-card-sheet{position:relative!important;width:min(680px,calc(100% - 24px))!important;max-width:680px!important;padding:18px 18px 92px!important;border:1px solid var(--br2-line)!important;border-radius:28px!important;background:linear-gradient(180deg,#fffaf3 0%,#fbf2e7 100%)!important;box-shadow:0 24px 70px rgba(70,48,28,.22)!important;color:var(--br2-ink)!important}
#library-lemma-card-modal .modal-close-bar{position:sticky!important;top:0!important;z-index:4!important;display:flex!important;justify-content:flex-end!important;height:0!important;overflow:visible!important}
#library-lemma-card-modal .modal-close-btn{width:40px!important;height:40px!important;border:1px solid #eadbc8!important;border-radius:50%!important;background:rgba(255,250,243,.95)!important;color:#6c5c4f!important;box-shadow:0 3px 10px rgba(92,63,34,.08)!important;font-size:23px!important;line-height:1!important}
#library-lemma-card-modal .lemma-card-header{padding:28px 8px 18px!important;text-align:center!important;border-bottom:0!important}
#library-lemma-card-modal .lemma-card-title-row{justify-content:center!important;flex-wrap:wrap!important;gap:9px!important}
#library-lemma-card-modal .lemma-card-title-row h1{width:100%!important;font-size:38px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.035em!important;color:var(--br2-ink)!important}
#library-lemma-card-modal .lemma-reference-badge{order:3!important;border:0!important;border-radius:999px!important;background:#f3e6d6!important;color:#876f5b!important;padding:4px 9px!important}
#library-lemma-card-modal .study-audio-btn{border:0!important;border-radius:999px!important;background:#f5dfca!important;color:#c96926!important;font-weight:900!important;box-shadow:none!important}
#library-lemma-card-modal .lemma-card-title-row>.study-audio-btn{order:2!important;width:54px!important;height:54px!important;padding:0!important;font-size:0!important;background:linear-gradient(180deg,#f59145,#e97726)!important;color:white!important;box-shadow:0 8px 18px rgba(226,111,35,.24)!important}
#library-lemma-card-modal .lemma-card-title-row>.study-audio-btn::before{content:"🔊";font-size:23px!important}
#library-lemma-card-modal .lemma-card-header>div:last-child{font-size:14px!important;color:#8b7868!important;margin-top:8px!important;font-weight:700!important}
#library-lemma-card-modal .lemma-card-section{padding:15px!important;margin:10px 0 14px!important;border:1px solid var(--br2-line)!important;border-radius:18px!important;background:rgba(255,253,249,.9)!important;box-shadow:0 3px 12px rgba(101,72,44,.045)!important}
#library-lemma-card-modal .lemma-card-section h3{font-size:15px!important;font-weight:900!important;color:#4a392c!important}
#library-lemma-card-modal .lemma-meanings-list ol{padding-left:18px!important;color:#4a392c!important;font-weight:750!important;line-height:1.7!important}
#library-lemma-card-modal .lemma-meaning-badge{border-radius:999px!important;background:#f4dbc5!important;color:#b65b1d!important;padding:2px 7px!important}
#library-lemma-card-modal .lemma-note-box{margin:12px 0!important;padding:14px 15px!important;border:1px solid #f0d6ae!important;border-radius:16px!important;background:#fff2d9!important;color:#6c4f2e!important}
#library-lemma-card-modal .lemma-note-label{color:#b66020!important;font-weight:900!important}
#library-lemma-card-modal .priority-forms-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
#library-lemma-card-modal .priority-form-card{min-height:92px!important;padding:12px!important;border:1px solid var(--br2-line)!important;border-radius:15px!important;background:#fffaf4!important;box-shadow:none!important}
#library-lemma-card-modal .priority-form-card.is-selected{border:2px solid var(--br2-orange)!important;background:#fff0e2!important;box-shadow:0 5px 14px rgba(239,127,45,.12)!important}
#library-lemma-card-modal .priority-form-label{color:#6a5748!important;font-weight:850!important}
#library-lemma-card-modal .priority-form-role{color:#a08c79!important;font-size:10px!important}
#library-lemma-card-modal .priority-form-val{margin-top:7px!important;font-size:20px!important;font-weight:950!important;color:#372b22!important}
#library-lemma-card-modal .map-group-chip{border:0!important;background:#f2e6d7!important;color:#8d735e!important;border-radius:999px!important}
#library-lemma-card-modal #selected-grammar-detail{margin:14px 0!important;padding:15px!important;border:1px solid #efc59f!important;border-radius:18px!important;background:#fff0e2!important}
#library-lemma-card-modal #selected-grammar-detail .selected-grammar-surface{color:#352a22!important;font-size:27px!important}
#library-lemma-card-modal .grammar-curated-list{gap:9px!important}
#library-lemma-card-modal .grammar-curated-example,#library-lemma-card-modal .lemma-example-chunk-card{padding:12px 13px!important;border:1px solid #eadfD1!important;border-radius:14px!important;background:#fffdf9!important;margin-bottom:9px!important}
#library-lemma-card-modal .grammar-curated-korean,#library-lemma-card-modal .lemma-example-chunk-kr{color:#352a22!important;font-size:16px!important;font-weight:900!important}
#library-lemma-card-modal .grammar-curated-kana,#library-lemma-card-modal .lemma-example-chunk-kana{color:#8a7766!important}
#library-lemma-card-modal .grammar-curated-pron,#library-lemma-card-modal .lemma-example-chunk-pron{color:#c46a2a!important}
#library-lemma-card-modal .grammar-curated-japanese,#library-lemma-card-modal .lemma-example-chunk-jp{color:#665447!important}
#library-lemma-card-modal .lemma-example-chunk-sense{display:inline-block!important;margin-bottom:7px!important;border-radius:999px!important;background:#f5e7d8!important;color:#9a6f4d!important;padding:3px 8px!important;font-size:10px!important;font-weight:900!important}
#library-lemma-card-modal .lemma-card-actions{position:sticky!important;bottom:0!important;z-index:5!important;margin:18px -18px -92px!important;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid rgba(224,207,188,.85)!important;background:rgba(255,250,243,.94)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
#library-lemma-card-modal .btn-word-practice{min-height:52px!important;border:0!important;border-radius:15px!important;background:linear-gradient(180deg,#f28a3b,#e66f1e)!important;color:white!important;font-size:15px!important;font-weight:950!important;box-shadow:0 8px 18px rgba(222,103,25,.22)!important}
@media(max-width:640px){
  .library-word-grid{grid-template-columns:1fr!important}
  .library-word-card{min-height:72px!important}
  #library-lemma-card-modal.library-modal-overlay{align-items:flex-end!important;padding:0!important;background:rgba(46,34,24,.28)!important}
  #library-lemma-card-modal .lemma-card-sheet{width:100%!important;max-width:none!important;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 14px)!important;margin:14px 0 0!important;border-width:1px 0 0!important;border-radius:28px 28px 0 0!important;padding:14px 14px 88px!important}
  #library-lemma-card-modal .lemma-card-sheet::before{content:"";display:block;width:42px;height:5px;border-radius:999px;background:#d8c8b6;margin:0 auto 5px}
  #library-lemma-card-modal .lemma-card-header{padding-top:22px!important}
  #library-lemma-card-modal .lemma-card-title-row h1{font-size:36px!important}
  #library-lemma-card-modal .priority-forms-grid{grid-template-columns:1fr 1fr!important}
  #library-lemma-card-modal .lemma-card-actions{margin-left:-14px!important;margin-right:-14px!important;margin-bottom:-88px!important;padding-left:14px!important;padding-right:14px!important}
}

/* ===== legacy-cascade-block-08 ===== */
/* UI Beige Rebuild V3 — grammar / conjugation surfaces only. No runtime logic changes. */
:root{
  --g-bg:#f7efe4;--g-surface:#fffaf3;--g-surface-2:#fff4e7;--g-line:#eadbc9;
  --g-text:#352a22;--g-muted:#847266;--g-accent:#ef7f2d;--g-accent-soft:#fff0df;
  --g-green:#55a86b;--g-shadow:0 8px 24px rgba(92,63,34,.08);
}
.library-container:has(.predicate-map-table){padding-bottom:96px}
.library-container:has(.predicate-map-table) .library-header{padding:2px 0 10px}
.library-container:has(.predicate-map-table) .library-title{font-size:25px!important;letter-spacing:-.02em;color:var(--g-text)!important}
.library-container:has(.predicate-map-table) .library-type-tabs{position:sticky;top:8px;z-index:70;background:#efe4d6!important;border:1px solid #eadbc9!important;box-shadow:0 4px 18px rgba(92,63,34,.07)!important}
.library-container:has(.predicate-map-table) .library-type-tab{min-height:42px;padding:8px 14px!important}
.library-container:has(.predicate-map-table) .library-type-tab.active{background:#fffaf3!important;color:var(--g-accent)!important;box-shadow:0 2px 8px rgba(92,63,34,.09)!important}

.library-map-controls{background:var(--g-surface)!important;border:1px solid var(--g-line)!important;border-radius:18px!important;padding:12px!important;margin:10px 0 12px!important;box-shadow:var(--g-shadow)!important;gap:9px!important}
.library-map-controls input,.library-map-controls select{background:#fffdf9!important;border:1px solid #e6d8c8!important;border-radius:12px!important;min-height:42px!important;color:var(--g-text)!important}
.library-map-controls button{min-height:42px!important;border-radius:12px!important}
#library-map-search-clear{background:#f3eadf!important;color:#765f4e!important;border-color:#e4d5c4!important}

.library-map-scroll-wrapper{background:var(--g-surface)!important;border:1px solid var(--g-line)!important;border-radius:20px!important;box-shadow:var(--g-shadow)!important;margin-top:12px!important;max-height:72dvh!important;scrollbar-color:#d8bfa7 transparent}
.predicate-map-table{background:var(--g-surface)!important;font-size:13px!important}
.predicate-map-table th,.predicate-map-table td{border-color:#eee2d4!important;background:#fffdf9!important;padding:10px 11px!important}
.map-major-header-row th,.map-major-header-row .cell-sticky-intersect{background:#f2e5d6!important;border-bottom:1px solid #dfcbb7!important;box-shadow:0 3px 8px rgba(92,63,34,.06)!important;color:#4d3d31!important}
.map-category-header-btn{color:#4b392d!important;font-weight:900!important;border-radius:10px!important}
.map-category-header-btn:hover{background:#fff4e7!important;color:var(--g-accent)!important}
.col-sticky-lemma,.col-sticky-meaning,.predicate-map-table td.col-sticky-meaning{background:#fffaf3!important}
.col-sticky-meaning{border-right:2px solid #dfcbb7!important}
.lemma-trigger-btn{color:#33271f!important;font-size:16px!important;border-radius:10px!important}
.lemma-trigger-btn:hover{color:var(--g-accent)!important;background:#fff0df!important;text-decoration:none!important}
.map-row-ref-code{color:#9a806b!important;background:#f4eadf!important;border-radius:999px!important;padding:2px 7px!important;font-weight:800!important}
.map-cell-interactive,.map-cell-generated{color:#47382e!important;border-radius:10px!important}
.map-cell-interactive:hover{background:#fff0df!important;color:#d9681d!important}
.map-cell-blank,.map-cell-generated.is-verb-only-blank{background:#fbf6ef!important;color:#d4c2b1!important}
.map-group-chip{border:0!important;background:#f0e3d4!important;color:#816b58!important;padding:3px 7px!important}
.map-group-chip.basic{background:#fff0dc!important;color:#d76c24!important}
.map-group-chip.connect{background:#e9f4e9!important;color:#4a8f5b!important}
.map-group-chip.need{background:#fff2cf!important;color:#9f7920!important}
.map-group-chip.intent{background:#fde9e3!important;color:#c55d48!important}
.map-group-chip.expand{background:#eee8f6!important;color:#765d9e!important}

/* Grammar detail modal: closer to the approved beige mockup. */
.library-modal-overlay:has(.grammar-card-dialog){background:rgba(50,38,28,.38)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:18px!important}
.grammar-card-dialog{max-width:680px!important;background:var(--g-bg)!important;border:1px solid #e2cfba!important;border-radius:26px!important;padding:20px!important;box-shadow:0 24px 60px rgba(73,49,28,.22)!important;color:var(--g-text)!important}
.grammar-card-dialog .modal-close-bar{margin-bottom:4px!important}
.grammar-card-dialog .modal-close-btn{width:38px!important;height:38px!important;background:#fffaf3!important;border:1px solid #e6d6c4!important;color:#725f50!important;box-shadow:0 3px 10px rgba(92,63,34,.06)!important}
.grammar-card-dialog h2,.grammar-card-dialog h3,.grammar-card-dialog h4{color:var(--g-text)!important;letter-spacing:-.015em}
.grammar-card-dialog h2{font-size:28px!important;margin:4px 0 8px!important}
.grammar-card-dialog .grammar-card-explanation{background:#fff4e7!important;border:1px solid #efcfad!important;border-left:5px solid var(--g-accent)!important;border-radius:15px!important;padding:13px 15px!important;color:#644f3f!important;line-height:1.7!important}
.grammar-card-dialog .style-card-block{background:#fffaf3!important;border:1px solid #eadac8!important;border-radius:17px!important;padding:14px!important;box-shadow:0 3px 10px rgba(92,63,34,.04)!important}
.grammar-card-dialog .style-card-highlight{background:#fff0df!important;border:2px solid #ef9a5a!important}
.grammar-card-dialog .example-accordion-toggle{background:#fffaf3!important;border:1px solid #e7d7c6!important;border-radius:12px!important;color:#574536!important;min-height:42px!important;padding:9px 11px!important}
.grammar-card-dialog .example-accordion-content{background:#fffdf9!important;border-color:#eadac8!important;border-radius:0 0 12px 12px!important}
.grammar-card-dialog .btn-audio,.grammar-card-dialog button[data-audio-text]{background:#fff0df!important;color:#db6d20!important;border-color:#efc392!important}

/* Selected grammar within lemma detail keeps V1.0 functionality while matching the new visual hierarchy. */
#library-lemma-card-modal #selected-grammar-detail{background:#fff0df!important;border:1px solid #efc79f!important;border-radius:19px!important;padding:15px!important;box-shadow:0 4px 14px rgba(119,76,38,.06)!important}
#library-lemma-card-modal #selected-grammar-detail .selected-grammar-surface{color:#3c2c21!important;font-size:28px!important;font-weight:950!important}
#library-lemma-card-modal .grammar-curated-example,#library-lemma-card-modal .lemma-example-chunk-card{background:#fffdf9!important;border-color:#eadac8!important;border-radius:15px!important;box-shadow:0 2px 8px rgba(92,63,34,.035)!important}

@media(max-width:760px){
  .library-container:has(.predicate-map-table){padding-left:2px!important;padding-right:2px!important}
  .library-container:has(.predicate-map-table) .library-type-tabs{top:max(6px,env(safe-area-inset-top));border-radius:14px!important}
  .library-map-controls{border-radius:16px!important;padding:10px!important}
  .library-map-scroll-wrapper{border-radius:16px!important;max-height:66dvh!important;margin-left:-2px!important;margin-right:-2px!important}
  .predicate-map-table th,.predicate-map-table td{padding:9px 9px!important}
  .grammar-card-dialog{align-self:flex-end!important;margin:auto 0 0!important;max-width:none!important;width:100%!important;border-radius:24px 24px 0 0!important;padding:18px 16px calc(22px + env(safe-area-inset-bottom))!important;max-height:88dvh!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
  .library-modal-overlay:has(.grammar-card-dialog){align-items:flex-end!important;padding:0!important}
  .grammar-card-dialog::before{content:"";display:block;width:42px;height:5px;border-radius:999px;background:#d7c3af;margin:0 auto 12px}
}

/* ===== legacy-cascade-block-09 ===== */
/* UI_BEIGE_REBUILD_V4_EXPRESSIONS */
:root{
  --v4-paper:#f7efe4;
  --v4-card:#fffaf3;
  --v4-card-2:#fff6ea;
  --v4-line:#ead9c6;
  --v4-text:#3f342b;
  --v4-muted:#8a7766;
  --v4-accent:#e98234;
  --v4-accent-soft:#fff0df;
  --v4-green:#6f9a76;
}
.library-container:has(.library-expression-grid){
  max-width:1100px;
  margin:0 auto;
  padding-bottom:96px;
}
.library-container:has(.library-expression-grid) .library-header{
  margin:4px 0 14px;
}
.library-container:has(.library-expression-grid) .library-title{
  font-size:0 !important;
  color:var(--v4-text) !important;
  margin:0 !important;
}
.library-container:has(.library-expression-grid) .library-title::after{
  content:"会話表現";
  display:block;
  font-size:26px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.02em;
}
.library-container:has(.library-expression-grid) .library-header::after{
  content:"恋人・友達との日常会話で、そのまま使える表現を場面別に覚える";
  display:block;
  color:var(--v4-muted);
  font-size:13px;
  font-weight:600;
  margin-top:6px;
}
.library-container:has(.library-expression-grid) .library-category-bar{
  display:flex !important;
  gap:8px !important;
  overflow-x:auto !important;
  padding:4px 2px 12px !important;
  margin:2px 0 14px !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.library-container:has(.library-expression-grid) .library-category-bar::-webkit-scrollbar{display:none}
.library-container:has(.library-expression-grid) .library-category-chip{
  flex:0 0 auto !important;
  min-height:38px !important;
  border-radius:999px !important;
  border:1px solid var(--v4-line) !important;
  background:var(--v4-card) !important;
  color:#6d5947 !important;
  font-weight:800 !important;
  padding:8px 13px !important;
  box-shadow:none !important;
}
.library-container:has(.library-expression-grid) .library-category-chip.active{
  color:#8b4a18 !important;
  background:var(--v4-accent-soft) !important;
  border-color:#efb27f !important;
}
.library-expression-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px !important;
  align-items:stretch;
}
.library-expression-card{
  position:relative;
  margin:0 !important;
  min-height:128px;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,var(--v4-card) 0%,#fffdf9 100%) !important;
  border:1px solid var(--v4-line) !important;
  border-radius:20px !important;
  padding:18px !important;
  box-shadow:0 6px 18px rgba(97,70,42,.06) !important;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease !important;
  overflow:hidden;
}
.library-expression-card::after{
  content:"›";
  position:absolute;
  right:14px;
  bottom:11px;
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#a9642e;
  background:#fff0df;
  font-size:21px;
  font-weight:800;
}
.library-expression-card:hover{
  transform:translateY(-1px);
  border-color:#e7bc98 !important;
  box-shadow:0 10px 24px rgba(97,70,42,.10) !important;
}
.library-expression-card > div:first-child{
  gap:10px;
  padding-right:26px;
}
.library-expression-card > div:first-child > div:first-child{
  color:var(--v4-text) !important;
  font-size:20px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:-.015em;
}
.library-expression-card > div:last-child{
  color:#7b6857 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:650;
  padding-right:26px;
}
.library-expression-card .library-genre-tag{
  background:#f5eadc !important;
  color:#7f654e !important;
  border:1px solid #ead8c4 !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:800 !important;
  margin:0 0 4px 4px !important;
}
#library-expression-card-modal.library-modal-overlay{
  background:rgba(56,43,31,.34) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  padding:20px !important;
  align-items:center !important;
}
#library-expression-card-modal .grammar-card-dialog{
  width:min(100%,520px) !important;
  max-width:520px !important;
  max-height:min(82dvh,760px) !important;
  overflow-y:auto !important;
  background:var(--v4-card) !important;
  border:1px solid #e6d4bf !important;
  border-radius:26px !important;
  box-shadow:0 22px 60px rgba(60,42,27,.22) !important;
  padding:22px !important;
}
#library-expression-card-modal .modal-close-bar{
  min-height:34px;
}
#library-expression-card-modal .modal-close-btn{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  border:1px solid #ead9c6 !important;
  background:#fff7ed !important;
  color:#755e4c !important;
  font-size:24px !important;
}
#library-expression-card-modal h2{
  color:var(--v4-text) !important;
  font-size:28px !important;
  line-height:1.28 !important;
  letter-spacing:-.02em;
}
#library-expression-card-modal .study-audio-btn{
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  background:var(--v4-accent-soft) !important;
  border:1px solid #efc296 !important;
  border-radius:50% !important;
  font-size:19px !important;
}
#library-expression-card-modal span[style*="background:#f1f5f9"]{
  background:#f4e7d8 !important;
  color:#7d624b !important;
  border:1px solid #e6d2bc !important;
  border-radius:999px !important;
}
#library-expression-card-modal div[style*="background:#f8fafc"]{
  background:#fff5e8 !important;
  border:1px solid #ead8c4 !important;
  border-radius:16px !important;
  padding:16px 17px !important;
  margin-bottom:18px !important;
}
#library-expression-card-modal div[style*="text-transform:uppercase"]{
  color:#a77955 !important;
  letter-spacing:.05em;
}
#library-expression-card-modal #btn-expression-practice{
  min-height:52px !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#ed8a3d 0%,#df7427 100%) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(223,116,39,.22) !important;
  font-size:16px !important;
  font-weight:900 !important;
}
@media (max-width:700px){
  .library-container:has(.library-expression-grid){padding-bottom:110px}
  .library-container:has(.library-expression-grid) .library-title::after{font-size:23px}
  .library-expression-grid{grid-template-columns:1fr !important;gap:10px !important}
  .library-expression-card{min-height:112px;padding:15px 16px !important;border-radius:18px !important}
  .library-expression-card > div:first-child > div:first-child{font-size:19px !important}
  #library-expression-card-modal.library-modal-overlay{
    align-items:flex-end !important;
    padding:0 !important;
  }
  #library-expression-card-modal .grammar-card-dialog{
    width:100% !important;
    max-width:none !important;
    max-height:88dvh !important;
    border-radius:24px 24px 0 0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    padding:18px 18px calc(20px + env(safe-area-inset-bottom)) !important;
  }
  #library-expression-card-modal h2{font-size:25px !important}
}

/* ===== legacy-cascade-block-10 ===== */
/* UI Beige Rebuild V5 — practice menu, active session and results. CSS only. */
:root{
  --p5-bg:#f7efe4;--p5-card:#fffaf3;--p5-card2:#fff7ed;--p5-line:#ead9c6;
  --p5-text:#3d3128;--p5-muted:#887565;--p5-accent:#ea7d2b;--p5-accent2:#d86617;
  --p5-accent-soft:#fff0df;--p5-green:#5a9e72;--p5-green-soft:#eaf5ec;
  --p5-red:#cf665b;--p5-red-soft:#fae8e5;--p5-yellow:#b88625;--p5-yellow-soft:#fff4d8;
  --p5-shadow:0 10px 28px rgba(91,60,31,.075);--p5-shadow-soft:0 4px 14px rgba(91,60,31,.05);
}
#practice-app{max-width:900px!important;margin:0 auto!important;padding:14px 18px 108px!important;color:var(--p5-text)!important}
#practice-app .practice-container{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
#practice-app .practice-title{font-size:27px!important;line-height:1.2!important;font-weight:950!important;color:var(--p5-text)!important;letter-spacing:-.035em!important;margin:7px 0 15px!important}
#practice-app .practice-subnav-bar{position:sticky;top:7px;z-index:80;display:flex!important;gap:5px!important;background:#efe4d6!important;border:1px solid var(--p5-line)!important;border-radius:15px!important;padding:4px!important;margin:0 0 15px!important;box-shadow:0 4px 18px rgba(91,60,31,.06)!important}
#practice-app .practice-subnav-btn{flex:1;min-height:42px!important;padding:7px 11px!important;border-radius:11px!important;color:#806d5d!important;font-size:13px!important;font-weight:850!important}
#practice-app .practice-subnav-btn:hover{background:#fff5e8!important;color:#6f5847!important}
#practice-app .practice-subnav-btn.active{background:var(--p5-card)!important;color:var(--p5-accent)!important;box-shadow:0 2px 9px rgba(91,60,31,.09)!important}

/* Practice configuration / menu */
#practice-app .practice-recommendation-card{background:linear-gradient(135deg,#fff8ec 0%,#fff0dc 100%)!important;border:1px solid #eccca8!important;border-radius:20px!important;padding:17px!important;margin:0 0 14px!important;box-shadow:var(--p5-shadow)!important}
#practice-app .practice-rec-badge{background:var(--p5-accent)!important;color:#fff!important;border-radius:999px!important;padding:4px 9px!important}
#practice-app .practice-rec-counts{color:#9a6a43!important}
#practice-app .practice-rec-title{font-size:18px!important;color:var(--p5-text)!important;letter-spacing:-.02em!important}
#practice-app .practice-rec-subtitle{color:var(--p5-muted)!important;line-height:1.6!important}
#practice-app .practice-card-box{background:var(--p5-card)!important;border:1px solid var(--p5-line)!important;border-radius:19px!important;padding:17px!important;margin:12px 0!important;box-shadow:var(--p5-shadow-soft)!important}
#practice-app .practice-card-box h3,#practice-app .practice-card-box h4{color:var(--p5-text)!important;letter-spacing:-.015em!important}

#practice-app .practice-preset-btn{min-height:68px!important;border:1px solid var(--p5-line)!important;background:#fffdf9!important;border-radius:15px!important;color:#57483b!important;padding:12px!important;box-shadow:0 2px 7px rgba(91,60,31,.035)!important;transition:.15s ease!important}
#practice-app .practice-preset-btn:hover{background:var(--p5-accent-soft)!important;border-color:#efc59d!important;color:#c9651e!important;transform:translateY(-1px)!important}
#practice-app .practice-count-btn{min-height:40px!important;border:1px solid #e3d3c1!important;background:#fffdf9!important;color:#796758!important;border-radius:11px!important}
#practice-app .practice-count-btn.active{background:var(--p5-accent)!important;border-color:var(--p5-accent)!important;color:#fff!important;box-shadow:0 4px 12px rgba(234,125,43,.18)!important}
#practice-app .practice-answer-mode-btn{min-height:42px!important;border:1px solid #e2d2c0!important;background:#fffdf9!important;color:#796657!important;border-radius:12px!important}
#practice-app .practice-answer-mode-btn:hover{border-color:#efbd91!important;background:#fff5e9!important}
#practice-app .practice-answer-mode-btn.active{background:var(--p5-accent)!important;border-color:var(--p5-accent)!important;color:#fff!important;box-shadow:0 4px 12px rgba(234,125,43,.18)!important}
#practice-app select,#practice-app input[type="number"],#practice-app .practice-custom-input{background:#fffdf9!important;border:1px solid #e4d4c3!important;color:#544539!important;border-radius:12px!important;min-height:42px!important}
#practice-app select:focus,#practice-app input:focus{border-color:#e99d62!important;box-shadow:0 0 0 4px rgba(234,125,43,.09)!important;outline:none!important}
#practice-app .practice-divider-line{color:#a18d7b!important}
#practice-app .practice-divider-line::before,#practice-app .practice-divider-line::after{border-color:#e6d9ca!important}
#practice-app .btn-start-practice,#practice-app .btn-start-session,#practice-app .btn-start-drill,#practice-app .practice-typed-submit{background:linear-gradient(135deg,var(--p5-accent),var(--p5-accent2))!important;color:white!important;border:0!important;border-radius:13px!important;min-height:48px!important;font-weight:900!important;box-shadow:0 7px 16px rgba(234,125,43,.2)!important}

/* Active question */
.practice-session-shell{background:var(--p5-card)!important;border:1px solid var(--p5-line)!important;border-radius:22px!important;padding:18px!important;box-shadow:var(--p5-shadow)!important;overflow:hidden!important}
.practice-session-toolbar{gap:12px!important;margin-bottom:12px!important}
.practice-session-step{color:#8e7866!important;font-size:12px!important;letter-spacing:.02em!important}
.practice-session-progress-track{height:8px!important;background:#eadfD2!important;border-radius:999px!important}
.practice-session-progress-track>span{background:linear-gradient(90deg,#ef9b54,var(--p5-accent))!important}
.practice-quit-btn{border:1px solid #e4d4c2!important;background:#fffaf3!important;color:#897565!important;border-radius:11px!important;min-height:39px!important}
.practice-quit-btn:hover{background:#f6eadc!important;color:#634f40!important}
#practice-app .practice-focus-card,#practice-app .practice-session-card{background:linear-gradient(180deg,#fffdf9 0%,#fff8ee 100%)!important;border:1px solid #ead8c4!important;border-radius:21px!important;padding:34px 24px!important;box-shadow:none!important;min-height:360px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#practice-app .practice-prompt-label{align-self:center!important;background:var(--p5-accent-soft)!important;color:#cf681f!important;border:1px solid #f1c79e!important;border-radius:999px!important;padding:5px 11px!important;font-size:11px!important;font-weight:900!important}
#practice-app .practice-prompt-text{font-size:34px!important;line-height:1.42!important;color:#35291f!important;letter-spacing:-.04em!important;margin:10px auto 18px!important;max-width:720px!important}
#practice-app .practice-answer-box{background:#fffaf2!important;border:1px solid #e7d4bf!important;border-radius:17px!important;padding:18px!important;margin:15px 0!important}
#practice-app .practice-answer-text{font-size:32px!important;color:#d86b1d!important;letter-spacing:-.025em!important}
#practice-app .practice-kana-text{color:#8e7967!important}
#practice-app .practice-typed-label,#practice-app .practice-user-answer-label{color:#806d5d!important}
#practice-app .practice-typed-input{background:#fffdf9!important;border:1px solid #dfceb9!important;color:#3d3128!important;border-radius:14px!important;min-height:54px!important;padding:12px 14px!important}
#practice-app .practice-typed-input:focus{border-color:#e99050!important;box-shadow:0 0 0 4px rgba(234,125,43,.09)!important}
#practice-app .practice-user-answer-box{background:#f8eee2!important;border:1px solid #ead7c2!important;border-radius:14px!important;padding:12px 14px!important}
#practice-app .practice-user-answer-text{color:#3e3127!important}
#practice-app .practice-auto-result.correct{color:#437c58!important;background:var(--p5-green-soft)!important;border-color:#cce4d3!important}
#practice-app .practice-auto-result.review{color:#946b1e!important;background:var(--p5-yellow-soft)!important;border-color:#ead79e!important}
#practice-app .practice-eval-grid{gap:9px!important}
#practice-app .practice-eval-grid button{min-height:50px!important;border-radius:13px!important;font-weight:900!important;border:1px solid #dfcfbc!important;background:#fffdf9!important;color:#655345!important}
#practice-app .practice-eval-grid button:hover{transform:translateY(-1px)!important;box-shadow:0 4px 10px rgba(91,60,31,.07)!important}
#practice-app .practice-eval-grid button:first-child{background:var(--p5-green-soft)!important;border-color:#bfddc8!important;color:#477c59!important}
#practice-app .practice-eval-grid button:nth-child(2){background:var(--p5-yellow-soft)!important;border-color:#ead49a!important;color:#90661d!important}
#practice-app .practice-eval-grid button:last-child{background:var(--p5-red-soft)!important;border-color:#ebc8c3!important;color:#a64e48!important}
#practice-app .btn-reveal,#practice-app .btn-next-question{min-height:50px!important;border-radius:13px!important;font-weight:900!important}
#practice-app .btn-reveal{background:linear-gradient(135deg,var(--p5-accent),var(--p5-accent2))!important;color:#fff!important;border:0!important;box-shadow:0 7px 16px rgba(234,125,43,.18)!important}

/* Result */
.practice-result-shell{background:var(--p5-card)!important;border:1px solid var(--p5-line)!important;border-radius:22px!important;padding:22px!important;box-shadow:var(--p5-shadow)!important;text-align:center!important}
#practice-app .practice-result-card{background:transparent!important;border:0!important;box-shadow:none!important}
.practice-result-kicker{color:#9a836f!important}
.practice-result-score-ring{width:122px!important;height:122px!important;background:#fff7ea!important;border:10px solid #ffd8b5!important;color:#d76b1e!important;box-shadow:0 6px 18px rgba(216,107,30,.08)!important}
.practice-result-score-ring span{font-size:40px!important}
.practice-result-title{color:var(--p5-text)!important;font-size:28px!important}
.practice-result-subtitle{color:var(--p5-muted)!important}
#practice-app .practice-result-stat-box{display:grid!important;grid-template-columns:repeat(3,1fr)!important;background:#f8eee2!important;border:1px solid #ead8c5!important;border-radius:17px!important;padding:14px 8px!important}
#practice-app .practice-result-item+ .practice-result-item{border-left:1px solid #e3d2bf!important}
#practice-app .practice-result-num{font-size:29px!important;color:#4b3b2f!important}
#practice-app .practice-result-lbl{color:#8e7967!important}
#practice-app .btn-review-mistakes,#practice-app #btn-return-library,#practice-app #btn-back-to-config{min-height:48px!important;border-radius:13px!important;font-weight:900!important}
#practice-app .btn-review-mistakes{background:var(--p5-accent-soft)!important;color:#c9631e!important;border:1px solid #efc49b!important}
#practice-app .btn-review-close-too{width:100%;min-height:46px;border-radius:13px;border:1px solid #e8d8c8;background:#fffaf3;color:#8b6b50;font-size:13px;font-weight:900;margin:0 0 8px;cursor:pointer}
#practice-app #btn-back-to-config,#practice-app #btn-return-library{background:#fffaf3!important;color:#705c4c!important;border:1px solid #e2d1be!important}

/* History / weak list */
#practice-app .practice-history-stat-box,#practice-app .practice-history-card,#practice-app .practice-weak-card,#practice-app .practice-empty-box{background:var(--p5-card)!important;border:1px solid var(--p5-line)!important;border-radius:16px!important;box-shadow:var(--p5-shadow-soft)!important;color:var(--p5-text)!important}
#practice-app .practice-empty-box{border-style:dashed!important;background:#fff8ef!important}

/* Chunk / one-word drill surfaces */
.chunk-practice-container,.chunk-category-selection-view{color:var(--p5-text)!important}
.chunk-view-header h2,.chunk-practice-header h2{color:var(--p5-text)!important}
.chunk-category-card,.chunk-practice-card,.chunk-setup-card,.chunk-result-card{background:var(--p5-card)!important;border-color:var(--p5-line)!important;border-radius:18px!important;box-shadow:var(--p5-shadow-soft)!important}
.chunk-category-card:hover{border-color:#efbd91!important;background:#fff5e9!important}

@media(max-width:700px){
  #practice-app{padding:10px 10px 104px!important}
  #practice-app .practice-title{font-size:23px!important;margin-top:4px!important}
  #practice-app .practice-subnav-bar{top:max(5px,env(safe-area-inset-top));border-radius:14px!important}
  #practice-app .practice-subnav-btn{font-size:11.5px!important;padding:6px 5px!important}
  
  #practice-app .practice-recommendation-card,#practice-app .practice-card-box{border-radius:17px!important;padding:14px!important}
  .practice-session-shell{padding:12px!important;border-radius:18px!important}
  #practice-app .practice-focus-card,#practice-app .practice-session-card{min-height:350px!important;padding:28px 16px!important;border-radius:18px!important}
  #practice-app .practice-prompt-text{font-size:29px!important}
  #practice-app .practice-answer-text{font-size:29px!important}
  #practice-app .practice-eval-grid{grid-template-columns:1fr!important}
  .practice-result-shell{padding:17px 13px!important;border-radius:18px!important}
  .practice-result-score-ring{width:112px!important;height:112px!important}
}
@media(max-width:430px){
  
  #practice-app .practice-filter-row{grid-template-columns:1fr!important}
  #practice-app .practice-count-btn-group{grid-column:auto!important;grid-template-columns:repeat(4,1fr)!important}
  #practice-app .practice-prompt-text{font-size:27px!important}
}

/* ===== legacy-cascade-block-11 ===== */
/* Beige Rebuild V6 — progress + settings */
.lr-page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 15px}.lr-page-heading .lr-page-title{margin:2px 0 4px}.lr-page-heading p{margin:0;color:var(--lr-muted);font-size:11px;line-height:1.65}.lr-page-kicker,.lr-mini-label{font-size:9px;font-weight:900;letter-spacing:.14em;color:#c77a3d}.lr-page-emoji{width:48px;height:48px;border-radius:16px;background:#f6e5cf;display:grid;place-items:center;font-size:23px;flex:0 0 auto}.lr-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.lr-panel-head h3{margin:2px 0 0!important;font-size:15px!important}.lr-soft-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#f3eadf;color:#77675a;font-size:10px;font-weight:800;white-space:nowrap}.lr-soft-badge.is-orange{background:#fff0df;color:#dd6d1f}.lr-progress-hero{display:grid;grid-template-columns:132px 1fr;align-items:center;gap:20px;padding:20px!important;background:linear-gradient(145deg,#fffaf3,#fff5e9)!important}.lr-progress-donut{--lr-progress-pct:0%;width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lr-orange) 0 var(--lr-progress-pct),#eadfd2 var(--lr-progress-pct) 100%);position:relative}.lr-progress-donut:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fffaf3}.lr-progress-donut>div{z-index:1;text-align:center;display:grid}.lr-progress-donut strong{font-size:23px;line-height:1;color:#3e3026}.lr-progress-donut small{font-size:9px;color:var(--lr-muted);margin-top:5px}.lr-progress-copy h3{font-size:18px!important;margin:3px 0 6px!important}.lr-progress-copy p{margin:0 0 12px;font-size:11px;line-height:1.65;color:var(--lr-muted)}.lr-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.lr-stat-card{border:1px solid #eadfD2;background:#fffaf3;border-radius:17px;padding:13px 11px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon small" "icon strong" "icon em";column-gap:10px;text-align:left;cursor:pointer;color:#45372d;box-shadow:var(--lr-shadow-soft)}.lr-stat-card .lr-stat-icon{grid-area:icon;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;align-self:center;font-weight:900}.lr-stat-card small{grid-area:small;font-size:9px;color:#8c7b6d}.lr-stat-card strong{grid-area:strong;font-size:18px;line-height:1.1}.lr-stat-card em{grid-area:em;font-size:9px;font-style:normal;color:#a09183}.lr-stat-card.is-new .lr-stat-icon{background:#f0ebe5;color:#8d7d6f}.lr-stat-card.is-learning .lr-stat-icon{background:#fff0d7;color:#d58527}.lr-stat-card.is-mastered .lr-stat-icon{background:#e4f2e8;color:#4c9364}.lr-action-list{display:grid;gap:7px}.lr-action-list>button{width:100%;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:9px;text-align:left;border:1px solid #eee1d3;background:#fffdf9;border-radius:13px;padding:10px 11px;color:#43352b;cursor:pointer}.lr-action-list>button>span{width:34px;height:34px;border-radius:11px;background:#f8ecdd;display:grid;place-items:center}.lr-action-list b{display:block;font-size:12px}.lr-action-list small{display:block;font-size:9.5px;color:#948274;margin-top:2px}.lr-action-list i{font-style:normal;font-size:20px;color:#c6a98f}.lr-settings-card{padding:17px!important}.lr-settings-icon{width:34px;height:34px;border-radius:11px;background:#f7e7d3;display:grid;place-items:center}.lr-setting-block{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #eee2d6}.lr-setting-block:first-of-type{border-top:0;padding-top:2px}.lr-setting-block b,.lr-setting-info b{display:block;font-size:12px}.lr-setting-block small,.lr-setting-info small{display:block;margin-top:3px;font-size:9.5px;color:#948274;line-height:1.45}.lr-setting-pills-lg button{min-width:58px}.lr-data-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.lr-data-actions button{border:1px solid #eadccc;background:#fffdf9;border-radius:14px;padding:12px;display:grid;grid-template-columns:30px 1fr;grid-template-areas:"ico b" "ico small";gap:1px 9px;text-align:left;cursor:pointer;color:#46372c}.lr-data-actions button>span{grid-area:ico;width:30px;height:30px;border-radius:10px;background:#f7eadb;display:grid;place-items:center;font-weight:900}.lr-data-actions button b{grid-area:b;font-size:11px}.lr-data-actions button small{grid-area:small;font-size:9px;color:#978577}.lr-setting-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #eee2d6}.lr-setting-info:first-of-type{border-top:0}.lr-settings-note{padding:2px 8px 14px;color:#9a8878;font-size:9.5px;line-height:1.6;text-align:center}
.lr-progress-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.lr-insight-card{border:1px solid #eadfd2;background:#fffaf3;border-radius:16px;padding:13px;box-shadow:var(--lr-shadow-soft)}.lr-insight-card small{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#a08b79;margin-bottom:5px}.lr-insight-card strong{display:block;font-size:22px;line-height:1.1;color:#41342b}.lr-insight-card span{display:block;margin-top:5px;font-size:9.5px;color:#917f70;line-height:1.45}.lr-progress-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px;margin-top:12px}.lr-recent-list,.lr-weak-list{display:grid;gap:7px}.lr-recent-row,.lr-weak-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid #eee1d3;background:#fffdf9;border-radius:12px;padding:9px 10px}.lr-recent-row>span:first-child,.lr-weak-row>span:first-child{width:30px;height:30px;border-radius:10px;background:#f7eadb;display:grid;place-items:center;font-size:14px}.lr-recent-row b,.lr-weak-row b{display:block;font-size:11px}.lr-recent-row small,.lr-weak-row small{display:block;font-size:9px;color:#988678;margin-top:2px}.lr-recent-row em,.lr-weak-row em{font-style:normal;font-size:10px;font-weight:900;color:#d37b2b}.lr-progress-empty{padding:14px;border:1px dashed #dfcfbe;border-radius:12px;color:#9b8878;font-size:10px;text-align:center;background:#fffdf9}.lr-weak-meter{height:6px;border-radius:999px;background:#eee5da;overflow:hidden;margin-top:6px}.lr-weak-meter>span{display:block;height:100%;background:linear-gradient(90deg,#e59a55,#d66a33);border-radius:inherit}
@media(max-width:720px){.lr-progress-insights{grid-template-columns:1fr 1fr}.lr-insight-card:last-child{grid-column:1/-1}.lr-progress-split{grid-template-columns:1fr}.lr-page-heading{margin-top:2px}.lr-page-emoji{width:42px;height:42px;border-radius:14px;font-size:20px}.lr-progress-hero{grid-template-columns:94px 1fr;gap:12px;padding:14px!important}.lr-progress-donut{width:86px;height:86px}.lr-progress-donut:after{inset:9px}.lr-progress-donut strong{font-size:18px}.lr-progress-copy h3{font-size:15px!important}.lr-stat-grid{gap:6px}.lr-stat-card{grid-template-columns:1fr;grid-template-areas:"icon" "small" "strong" "em";text-align:center;justify-items:center;padding:10px 5px;row-gap:2px}.lr-stat-card .lr-stat-icon{width:28px;height:28px;margin-bottom:2px}.lr-stat-card strong{font-size:17px}.lr-setting-block{align-items:flex-start;flex-direction:column}.lr-setting-pills{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}.lr-setting-block:nth-of-type(2) .lr-setting-pills{grid-template-columns:1fr 1fr}.lr-setting-pills button{width:100%;padding:8px 6px!important}.lr-data-actions{grid-template-columns:1fr}.lr-progress-actions{padding:14px!important}}

/* ===== legacy-cascade-block-12 ===== */
/* Rebuild V8 — example-first grammar UX. Keeps all existing forms/content. */
#library-lemma-card-modal .lemma-detail-quick-tabs{position:sticky;top:0;z-index:22;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 12px;padding:6px;background:rgba(255,250,243,.96);border:1px solid #ead9c5;border-radius:14px;box-shadow:0 6px 18px rgba(92,63,34,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#library-lemma-card-modal .lemma-detail-quick-tab{min-height:40px;border:0;border-radius:10px;background:transparent;color:#766455;font-size:13px;font-weight:900;cursor:pointer}
#library-lemma-card-modal .lemma-detail-quick-tab:hover{background:#fff1e3;color:#d9681e}
#library-lemma-card-modal .lemma-detail-quick-tab.is-active{background:#ef7f2d;color:#fff;box-shadow:0 3px 10px rgba(239,127,45,.2)}
#library-lemma-card-modal #selected-grammar-detail{order:-1;margin:8px 0 14px!important;scroll-margin-top:72px}
#library-lemma-card-modal #lemma-priority-forms-section,#library-lemma-card-modal #lemma-meaning-section,#library-lemma-card-modal #lemma-general-examples-section{scroll-margin-top:72px}
#library-lemma-card-modal #selected-grammar-detail .grammar-curated-list{margin-top:10px!important}
#library-lemma-card-modal #selected-grammar-detail::before{content:"選んだ文法の例文";display:block;margin-bottom:8px;color:#d9681e;font-size:12px;font-weight:950;letter-spacing:.02em}
@media(max-width:640px){#library-lemma-card-modal .lemma-detail-quick-tabs{top:0;margin:8px -2px 10px}#library-lemma-card-modal .lemma-detail-quick-tab{min-height:44px}}

/* ===== legacy-cascade-block-13 ===== */
/* V9 — word detail information order: meaning → examples → key forms. */
#library-lemma-card-modal #lemma-general-examples-section{
  margin:14px 0 18px!important;
  padding:14px!important;
  border:1px solid #eadbc8!important;
  border-radius:18px!important;
  background:#fffaf3!important;
}
#library-lemma-card-modal #lemma-general-examples-section>h3{
  margin:0 0 10px!important;
  color:#5a4331!important;
  font-size:14px!important;
  font-weight:900!important;
}
#library-lemma-card-modal #lemma-priority-forms-section{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px dashed #e5cfb6!important;
}
#library-lemma-card-modal .lemma-detail-quick-tabs{
  position:sticky!important;top:0!important;z-index:3!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}

/* ===== legacy-cascade-block-14 ===== */
/* Rebuild V10: wordbook list cards show learning state and a clear detail affordance without changing card click behavior. */
.library-word-card{gap:0!important;padding:12px 14px 13px!important}
.library-word-card-topline{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-width:0!important;margin-bottom:8px!important}
.library-word-card-meta{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
.library-word-card-topline .library-word-ref-code{padding:2px 7px!important;font-size:9.5px!important;background:#f4eadf!important;color:#8a7562!important}
.library-word-progress{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:23px!important;padding:3px 8px!important;border-radius:999px!important;font-size:9.5px!important;font-weight:900!important;line-height:1!important;flex:0 0 auto!important}
.library-word-progress.is-new{background:#f2ede7!important;color:#8a7a6d!important}
.library-word-progress.is-learning{background:#fff0d8!important;color:#ca7a22!important}
.library-word-progress.is-mastered{background:#e6f3e9!important;color:#42885a!important}
.library-word-card-header{justify-content:flex-start!important;overflow:visible!important}
.library-word-lemma{font-size:23px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.library-word-card-footer{margin-top:6px!important;gap:10px!important}
.library-word-meaning{font-size:12.5px!important;color:#6e5c4e!important}
.library-word-detail-cue{display:inline-flex!important;align-items:center!important;gap:3px!important;color:#d36c24!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important;flex:0 0 auto!important}
.library-word-detail-cue b{font-size:16px!important;line-height:1!important}
@media(min-width:641px){
  .library-word-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
  .library-word-card{min-height:108px!important}
}
@media(max-width:640px){
  .library-word-card{min-height:102px!important;padding:12px 13px!important}
  .library-word-lemma{font-size:24px!important}
  .library-word-card-footer{align-items:flex-end!important}
}

/* ===== legacy-cascade-block-15 ===== */
/* Beige Rebuild V11 — wordbook search/filter control panel */
#library-word-filter-panel{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.9fr) repeat(3,minmax(132px,.7fr)) auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:16px!important;
  margin:12px 0 14px!important;
  background:linear-gradient(180deg,#fffaf3 0%,#fff7ed 100%)!important;
  border:1px solid #eadac7!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(92,63,34,.055)!important;
}
#library-word-filter-panel .library-filter-field{min-width:0!important;gap:6px!important}
#library-word-filter-panel .library-filter-field.search{grid-column:auto!important;min-width:0!important}
#library-word-filter-panel .library-filter-label{
  font-size:11px!important;font-weight:850!important;letter-spacing:.01em!important;color:#897665!important;
}
#library-word-filter-panel .library-search-input,
#library-word-filter-panel .library-filter-select{
  width:100%!important;height:44px!important;border:1px solid #e3d5c4!important;border-radius:12px!important;
  background:#fffdf9!important;color:#352a22!important;padding:0 12px!important;font-size:13px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
#library-word-filter-panel .library-search-input{padding-left:38px!important;background-image:linear-gradient(transparent,transparent)!important}
#library-word-filter-panel .library-filter-field.search{position:relative!important}
#library-word-filter-panel .library-filter-field.search::after{
  content:"⌕";position:absolute;left:13px;bottom:10px;font-size:19px;line-height:1;color:#b59b82;pointer-events:none;
}
#library-word-filter-panel .library-search-input:focus,
#library-word-filter-panel .library-filter-select:focus{
  border-color:#ef9a55!important;box-shadow:0 0 0 3px rgba(239,127,45,.12)!important;outline:none!important;
}
#library-word-filter-panel .library-search-actions{display:flex!important;gap:7px!important;align-items:center!important}
#library-word-filter-panel .library-filter-btn{
  height:44px!important;min-height:44px!important;border-radius:12px!important;padding:0 15px!important;
  border:1px solid #ef7f2d!important;background:#ef7f2d!important;color:#fff!important;font-weight:900!important;
}
#library-word-filter-panel .library-filter-btn.secondary{
  background:#fffaf3!important;color:#7d6d60!important;border-color:#dfcfbd!important;
}
#library-word-filter-panel .library-filter-count{
  grid-column:1/-1!important;margin:0!important;padding:2px 1px 0!important;color:#9b8877!important;font-size:11px!important;font-weight:800!important;
}
@media (max-width:900px){
  #library-word-filter-panel{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(120px,.75fr))!important}
  #library-word-filter-panel .library-filter-field.search{grid-column:1/-1!important}
  #library-word-filter-panel .library-search-actions{grid-column:auto!important}
}
@media (max-width:640px){
  #library-word-filter-panel{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:11px!important;
    border-radius:16px!important;margin:9px 0 11px!important;
  }
  #library-word-filter-panel .library-filter-field.search{grid-column:1/-1!important}
  #library-word-filter-panel .library-filter-field:not(.search){min-width:0!important}
  #library-word-filter-panel .library-filter-label{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #library-word-filter-panel .library-search-input,
  #library-word-filter-panel .library-filter-select{height:42px!important;font-size:12px!important;padding-left:9px!important;padding-right:24px!important}
  #library-word-filter-panel .library-search-input{padding-left:36px!important}
  #library-word-filter-panel .library-filter-field.search::after{bottom:9px!important}
  #library-word-filter-panel .library-search-actions{grid-column:1/3!important;width:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  #library-word-filter-panel .library-filter-btn{width:100%!important;padding:0 8px!important}
  #library-word-filter-panel .library-filter-count{grid-column:3/4!important;align-self:center!important;text-align:right!important;padding-top:0!important;font-size:10px!important}
}
@media (max-width:390px){
  #library-word-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #library-word-filter-panel .library-filter-field.search{grid-column:1/-1!important}
  #library-word-filter-panel .library-filter-field:nth-of-type(4){grid-column:1/-1!important}
  #library-word-filter-panel .library-search-actions{grid-column:1/-1!important}
  #library-word-filter-panel .library-filter-count{grid-column:1/-1!important;text-align:left!important}
}

/* ===== legacy-cascade-block-16 ===== */
/* Beige Rebuild V12 — iPhone wordbook category + card-density optimization. CSS-only. */
#library-category-bar{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  padding:3px 2px 8px!important;
  margin:2px 0 9px!important;
  scroll-snap-type:x proximity!important;
  overscroll-behavior-x:contain!important;
}
#library-category-bar::-webkit-scrollbar{display:none!important}
#library-category-bar .library-category-chip{
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#fffaf3!important;
  border:1px solid #e5d5c1!important;
  color:#766353!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  scroll-snap-align:start!important;
  box-shadow:0 2px 7px rgba(92,63,34,.035)!important;
}
#library-category-bar .library-category-chip.active{
  background:#ef7f2d!important;
  border-color:#ef7f2d!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(239,127,45,.16)!important;
}
#library-word-grid{
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  gap:8px!important;
}
@media(max-width:640px){
  #library-category-bar{
    position:relative!important;
    margin-left:-2px!important;
    margin-right:-2px!important;
    padding:3px 2px 9px!important;
  }
  #library-category-bar .library-category-chip{
    min-height:32px!important;
    padding:6px 11px!important;
    font-size:10.5px!important;
  }
  #library-word-grid{grid-template-columns:1fr!important;gap:7px!important}
  #library-word-grid .library-word-card{
    min-height:84px!important;
    padding:10px 12px 10px!important;
    border-radius:14px!important;
    box-shadow:0 2px 8px rgba(104,75,46,.045)!important;
  }
  #library-word-grid .library-word-card-topline{
    margin-bottom:5px!important;
    min-height:20px!important;
  }
  #library-word-grid .library-word-card-meta{gap:5px!important}
  #library-word-grid .library-pos-badge{
    padding:2px 6px!important;
    font-size:9px!important;
  }
  #library-word-grid .library-word-ref-code{
    padding:2px 6px!important;
    font-size:9px!important;
  }
  #library-word-grid .library-word-progress{
    min-height:20px!important;
    padding:3px 7px!important;
    font-size:9px!important;
  }
  #library-word-grid .library-word-lemma{
    font-size:22px!important;
    line-height:1.08!important;
  }
  #library-word-grid .library-word-card-footer{
    margin-top:4px!important;
    align-items:center!important;
  }
  #library-word-grid .library-word-meaning{
    font-size:12px!important;
    line-height:1.25!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #library-word-grid .library-word-detail-cue{
    font-size:0!important;
    width:24px!important;
    min-width:24px!important;
    height:24px!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:#fff0df!important;
    color:#d36c24!important;
  }
  #library-word-grid .library-word-detail-cue b{
    font-size:18px!important;
    transform:translateY(-1px)!important;
  }
}
@media(min-width:641px) and (max-width:1024px){
  #library-category-bar{padding-bottom:10px!important}
  #library-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
}

/* ===== legacy-cascade-block-17 ===== */
/* Beige Rebuild V15 — practical settings / PWA guidance */
.lr-settings-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.lr-settings-summary-card{background:#fffaf3;border:1px solid #eadfd2;border-radius:16px;padding:13px;box-shadow:var(--lr-shadow-soft)}
.lr-settings-summary-card small{display:block;color:#9a8878;font-size:9.5px;margin-bottom:4px}
.lr-settings-summary-card b{display:block;font-size:13px;color:#493a2e}
.lr-settings-summary-card span{display:inline-block;margin-top:6px;font-size:9px;font-weight:800;color:#c87837;background:#fff0df;border:1px solid #f0d4b8;border-radius:999px;padding:4px 8px}
.lr-install-guide{margin-top:10px;border:1px solid #eadfd2;background:#fffaf3;border-radius:15px;overflow:hidden}
.lr-install-guide>button{width:100%;border:0;background:transparent;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#493a2e;font-weight:850;text-align:left}
.lr-install-guide>button .arrow{transition:transform .18s ease;color:#c87837}
.lr-install-guide.open>button .arrow{transform:rotate(180deg)}
.lr-install-guide-body{display:none;padding:0 14px 14px;color:#79685a;font-size:10.5px;line-height:1.75}
.lr-install-guide.open .lr-install-guide-body{display:block}
.lr-install-steps{display:grid;gap:7px;margin-top:9px}
.lr-install-step{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #eee2d6}
.lr-install-step i{font-style:normal;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#f7e7d3;color:#b76528;font-size:9px;font-weight:900;flex:0 0 auto}
.lr-setting-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #eee2d6}
.lr-setting-status-row:first-of-type{border-top:0}
.lr-setting-status-row b{font-size:11.5px}.lr-setting-status-row small{display:block;color:#9a8878;font-size:9.5px;margin-top:2px}
.lr-status-dot{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:850;color:#78695c;white-space:nowrap}
.lr-status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#c9baa9;box-shadow:0 0 0 3px #f5eee6}
.lr-status-dot.ok{color:#7b6b41}.lr-status-dot.ok:before{background:#95a66b}
@media(max-width:640px){.lr-settings-summary{grid-template-columns:1fr 1fr}.lr-settings-card{padding:15px!important}.lr-setting-block{align-items:flex-start;flex-direction:column}.lr-setting-pills{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lr-setting-pills.lr-setting-pills-lg{grid-template-columns:repeat(3,minmax(0,1fr))}.lr-setting-pills button{width:100%;min-height:42px}}
/* V32: editable daily study goals */
.lr-goal-editor{display:grid;gap:10px}
.lr-goal-editor-row{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eee2d6}
.lr-goal-editor-row:first-child{border-top:0}
.lr-goal-editor-row b{display:block;font-size:12px;color:#493a2e}
.lr-goal-editor-row small{display:block;margin-top:3px;font-size:9.5px;color:#948274;line-height:1.45}
.lr-goal-editor-input{display:flex;align-items:center;gap:6px;background:#fffaf3;border:1px solid #eadfd2;border-radius:13px;padding:6px 8px}
.lr-goal-editor-input input{width:52px;border:0;outline:0;background:transparent;text-align:right;font:800 13px/1 system-ui;color:#493a2e}
.lr-goal-editor-input span{font-size:9px;color:#948274;white-space:nowrap}
.lr-goal-save-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.lr-goal-save-row small{font-size:9px;color:#948274}
.lr-goal-save-btn{border:0;background:var(--lr-orange);color:#fff;border-radius:13px;padding:10px 14px;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(221,109,31,.15)}
.lr-goal-save-btn:active{transform:translateY(1px)}
@media(max-width:640px){.lr-goal-editor-row{grid-template-columns:1fr 88px}.lr-goal-save-row{align-items:stretch;flex-direction:column}.lr-goal-save-btn{width:100%;min-height:42px}}

/* ===== legacy-cascade-block-18 ===== */
#practice-app .practice-answer-box-v17{padding:20px!important;text-align:left!important;background:#fffaf2!important;border:1px solid #ead5bd!important}
#practice-app .practice-feedback-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f3e7d9;color:#8a725f;font-size:12px;font-weight:900;margin-bottom:12px}
#practice-app .practice-feedback-badge.is-correct{background:#e8f6ec;color:#3f7952}
#practice-app .practice-answer-label,#practice-app .practice-kana-label,#practice-app .practice-translation-label{font-size:11px;font-weight:900;letter-spacing:.04em;color:#927c69;margin-bottom:5px}
#practice-app .practice-answer-text{font-size:34px!important;line-height:1.35!important;color:#3a2b20!important;margin:0 0 9px!important;word-break:keep-all}
#practice-app .practice-kana-text{font-size:15px!important;line-height:1.55;color:#7d6a5b!important;background:#f7ecdf;border-radius:10px;padding:8px 10px;margin:0 0 13px!important}
#practice-app .practice-translation-card{margin-top:12px;padding:13px 14px;background:#fff3e4;border:1px solid #efd4b6;border-radius:13px}
#practice-app .practice-translation-text{font-size:16px;font-weight:850;color:#5b4432;line-height:1.65}
#practice-app .practice-learning-detail-card{margin-top:13px;padding:14px;background:#fffdf9;border:1px solid #e9d9c7;border-radius:14px}
#practice-app .practice-learning-detail-title{font-size:13px;font-weight:950;color:#6f5745;margin-bottom:9px}
#practice-app .practice-learning-detail-grid{display:grid;gap:7px}
#practice-app .practice-learning-detail-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:9px;align-items:start;padding:7px 0;border-bottom:1px dashed #eaded2}
#practice-app .practice-learning-detail-row:last-child{border-bottom:0}
#practice-app .practice-learning-detail-row span{font-size:12px;font-weight:800;color:#9a836f}
#practice-app .practice-learning-detail-row strong{font-size:14px;line-height:1.55;color:#4c3a2d;word-break:break-word}
#practice-app .practice-answer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
#practice-app .practice-answer-action{min-height:42px;padding:0 14px;border-radius:11px;border:1px solid #e3d0bc;background:#fffdf9;color:#6f5947;font-weight:900;cursor:pointer}
#practice-app .practice-answer-action.primary{background:#f07a24;color:#fff;border-color:#f07a24;box-shadow:0 5px 12px rgba(240,122,36,.17)}
#practice-app .practice-result-rate-copy{font-size:14px;font-weight:900;color:#6f5a49;margin-bottom:16px}
#practice-app .practice-result-insight-card,#practice-app .practice-result-weak-card{background:#fffaf2;border:1px solid #e9d5bd;border-radius:16px;padding:14px;margin:12px 0;text-align:left}
#practice-app .practice-result-insight-title{font-size:14px;font-weight:950;color:#5b4432;margin-bottom:10px}
#practice-app .practice-result-insight-row{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(90px,1fr) 48px;align-items:center;gap:9px;padding:7px 0}
#practice-app .practice-result-insight-row>div:first-child{display:flex;flex-direction:column;gap:2px}
#practice-app .practice-result-insight-row strong{font-size:13px;color:#5a4433}
#practice-app .practice-result-insight-row span{font-size:11px;color:#9a836f}
#practice-app .practice-result-insight-row b{font-size:12px;color:#c8641e;text-align:right}
#practice-app .practice-result-mini-track{height:7px;border-radius:999px;background:#eee1d3;overflow:hidden}
#practice-app .practice-result-mini-track span{display:block;height:100%;background:linear-gradient(90deg,#ef9a52,#ef7420);border-radius:inherit}
#practice-app .practice-result-weak-list{display:grid;gap:7px}
#practice-app .practice-result-weak-list>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;border-radius:11px;background:#fffdf9;border:1px solid #eee0d1}
#practice-app .practice-result-weak-list span{font-size:11px;font-weight:900;color:#a07f65}
#practice-app .practice-result-weak-list strong{font-size:13px;color:#5b4432;line-height:1.45}
@media(max-width:640px){
  #practice-app .practice-answer-text{font-size:30px!important}
  #practice-app .practice-learning-detail-row{grid-template-columns:78px minmax(0,1fr)}
  #practice-app .practice-result-insight-row{grid-template-columns:1fr 96px 42px}
  #practice-app .practice-answer-actions{display:grid;grid-template-columns:1fr 1fr}
  #practice-app .practice-answer-action{width:100%}
}

/* ===== legacy-cascade-block-19 ===== */
.predicate-sweep-launch{display:grid!important;gap:3px!important;text-align:left!important;background:linear-gradient(135deg,#fff4e5,#fffaf3)!important;border-color:#efc79f!important}.predicate-sweep-launch span{font-size:13px;font-weight:900;color:#b95818}.predicate-sweep-launch small{font-size:9.5px;color:#94745d;font-weight:700}.predicate-sweep-guide{margin:12px 20px 4px;padding:12px;display:flex;flex-wrap:wrap;gap:7px;background:#fff7ec;border:1px solid #efd8bd;border-radius:15px}.predicate-sweep-guide span{display:inline-flex;gap:5px;align-items:center;padding:6px 9px;border-radius:999px;background:#fffdf9;border:1px solid #eadcc9;font-size:10px;color:#786557}.predicate-sweep-guide b{color:#df6d20}@media(max-width:720px){.predicate-sweep-guide{margin:10px 12px 3px;padding:10px;gap:5px}.predicate-sweep-guide span{font-size:9.5px;padding:5px 7px}}

/* ===== legacy-cascade-block-20 ===== */
.lr-conj-weak-panel{margin-top:12px}.lr-conj-weak-list{display:grid;gap:8px}.lr-conj-weak-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #eadbc9;border-radius:14px;background:#fffdf9}.lr-conj-weak-main{min-width:0}.lr-conj-weak-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lr-conj-weak-top b{font-size:13px;color:#4e3b2f}.lr-conj-weak-chip{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#fff2e2;border:1px solid #efcfaa;color:#b65c20;font-size:9.5px;font-weight:900}.lr-conj-weak-answer{display:block;margin-top:5px;font-size:17px;font-weight:950;color:#d5661d;letter-spacing:-.02em}.lr-conj-weak-prompt{display:block;margin-top:2px;font-size:10px;color:#8f7a69;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lr-conj-weak-score{min-width:48px;text-align:right}.lr-conj-weak-score strong{display:block;font-size:18px;color:#cc5f1a}.lr-conj-weak-score small{display:block;font-size:9px;color:#a28c7b}.lr-conj-weak-actions{display:flex;justify-content:flex-end;margin-top:10px}.lr-conj-weak-actions button{border:0;border-radius:12px;background:#eb7a28;color:white;padding:10px 14px;font-size:11px;font-weight:900;cursor:pointer}.lr-conj-weak-actions button:hover{background:#d9671f}@media(max-width:720px){.lr-conj-weak-row{padding:10px}.lr-conj-weak-answer{font-size:16px}.lr-conj-weak-prompt{white-space:normal}.lr-conj-weak-actions button{width:100%}}

/* ===== legacy-cascade-block-21 ===== */
/* UI Beige Rebuild V20 — active choice / arrange / fill practice formats */
.practice-format-badge{display:inline-flex;align-items:center;gap:6px;margin:0 auto 12px;padding:6px 10px;border-radius:999px;background:#fff1df;border:1px solid #efd3b5;color:#b96022;font-size:11px;font-weight:900;letter-spacing:.02em}
.practice-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.practice-choice-option{min-height:52px;padding:11px 12px;border:1px solid #e7d7c6;background:#fffdf9;color:#57483b;border-radius:14px;font-size:15px;font-weight:850;cursor:pointer;box-shadow:0 2px 7px rgba(91,60,31,.035);transition:.14s ease}
.practice-choice-option:hover{transform:translateY(-1px);background:#fff4e7;border-color:#efbd91;color:#c76521}
.practice-arrange-work{margin-top:15px;padding:13px;border:1px dashed #e3ccb4;background:#fff9f0;border-radius:15px;min-height:58px}
.practice-arrange-answer{min-height:34px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:center;margin-bottom:10px;color:#a48d77;font-size:12px;font-weight:800}
.practice-arrange-token-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.practice-arrange-token{border:1px solid #e3d1be;background:#fffdf9;color:#5d4a3b;border-radius:11px;padding:9px 12px;font-size:15px;font-weight:900;cursor:pointer}
.practice-arrange-token.selected{background:#f1e6d9;color:#a38d79;border-color:#e4d7c9;opacity:.62}
.practice-arrange-built{border:1px solid #efc08f;background:#fff0df;color:#a6521c;border-radius:10px;padding:8px 10px;font-size:14px;font-weight:900;cursor:pointer}
.practice-variant-submit{display:block;width:100%;max-width:300px;min-height:48px;margin:14px auto 0;border:0;border-radius:13px;background:linear-gradient(135deg,#ee8739,#df6d20);color:white;font-size:14px;font-weight:950;cursor:pointer;box-shadow:0 7px 16px rgba(234,125,43,.2)}
.practice-variant-submit:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
.practice-fill-wrap{margin-top:16px;padding:14px;border:1px solid #eadbc9;background:#fffaf3;border-radius:16px}
.practice-fill-sentence{font-size:22px;font-weight:950;color:#4f4034;letter-spacing:.01em;margin-bottom:12px;word-break:break-word}
.practice-fill-input{width:100%;box-sizing:border-box;min-height:50px;border:1px solid #dfccb8;background:white;border-radius:12px;padding:10px 13px;font-size:18px;font-weight:850;color:#4f4034;outline:none}
.practice-fill-input:focus{border-color:#e99d62;box-shadow:0 0 0 4px rgba(234,125,43,.09)}
.practice-variant-review{margin:0 0 12px;padding:12px 13px;border-radius:13px;background:#fff8ed;border:1px solid #ecd8bf;text-align:left}
.practice-variant-review small{display:block;color:#9a806a;font-size:10px;font-weight:900;margin-bottom:4px}
.practice-variant-review strong{display:block;color:#554337;font-size:16px;word-break:break-word}
@media(max-width:620px){.practice-choice-grid{grid-template-columns:1fr}.practice-choice-option{min-height:50px}.practice-fill-sentence{font-size:20px}.practice-arrange-token{padding:9px 10px;font-size:14px}}

/* ===== legacy-cascade-block-22 ===== */
#practice-app .practice-audio-question-card{margin:16px auto 14px;padding:22px 16px;border:1px solid #ead8c5;border-radius:20px;background:linear-gradient(180deg,#fffdf9 0%,#fff7ed 100%);text-align:center;box-shadow:0 8px 24px rgba(120,84,55,.08)}
#practice-app .practice-audio-main-btn{min-width:170px;min-height:54px;border:0;border-radius:999px;background:linear-gradient(180deg,#f49a56,#e9782d);color:#fff;font-size:16px;font-weight:900;box-shadow:0 9px 20px rgba(226,111,35,.22);cursor:pointer}
#practice-app .practice-audio-main-btn:active{transform:translateY(1px)}
#practice-app .practice-audio-question-note{margin-top:10px;color:#8b7462;font-size:13px;font-weight:700;line-height:1.55}
#practice-app .practice-format-badge{background:#f9eadb!important;color:#b75f24!important;border-color:#edc9a7!important}
@media(max-width:640px){#practice-app .practice-audio-question-card{padding:18px 12px;border-radius:18px}#practice-app .practice-audio-main-btn{width:100%;min-height:56px}}

/* ===== legacy-cascade-block-23 ===== */
.context-choice-launch{background:linear-gradient(145deg,#fff8ed,#f7ead9)!important;border:1px solid #e8c9a4!important;color:#6f472b!important;}
.context-choice-launch small{display:block;margin-top:4px;font-size:10px;font-weight:700;color:#9a6a45;}
.practice-context-thread{display:grid;gap:8px;margin:4px 0 18px;text-align:left;}
.practice-context-thread-title{font-size:11px;font-weight:900;letter-spacing:.08em;color:#9a6a45;text-transform:uppercase;}
.practice-context-bubble{max-width:88%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.55;box-sizing:border-box;}
.practice-context-bubble.partner{justify-self:start;background:#f7efe5;border:1px solid #ead6bd;color:#5f4937;border-bottom-left-radius:5px;}
.practice-context-bubble.learner{justify-self:end;background:#d97932;color:#fff;border-bottom-right-radius:5px;}
.practice-context-current{padding:14px 15px;border-radius:16px;background:#fffaf3;border:1px solid #e9cfaf;margin:0 0 16px;text-align:left;}
.practice-context-current small{display:block;font-size:11px;font-weight:900;color:#a06b43;margin-bottom:5px;}
.practice-context-current strong{display:block;font-size:18px;line-height:1.5;color:#4f3627;}
.practice-context-note{font-size:11px;color:#9a765d;margin-top:7px;line-height:1.5;}
@media(max-width:640px){.practice-context-bubble{max-width:94%;font-size:13px}.practice-context-current strong{font-size:17px}}

/* ===== legacy-cascade-block-24 ===== */
#practice-app .grammar-contrast-launch{background:linear-gradient(145deg,#fff8ef,#fffdf9)!important;border-color:#e9c7a8!important}
#practice-app .grammar-contrast-launch span{color:#8a4f25}
/* V30 Shadowing / Repeat */
.shadowing-launch{background:linear-gradient(145deg,#fff5e9,#fffdf9)!important;border-color:#e6c7a6!important}
.shadowing-launch span{color:#8b512c}
.shadowing-shell{max-width:760px;margin:0 auto;padding:8px 0 110px}
.shadowing-hero{background:linear-gradient(145deg,#f6e8d7,#fffaf2);border:1px solid #e7c8a7;border-radius:24px;padding:22px;box-shadow:0 10px 28px rgba(115,72,39,.08);margin:14px 0}
.shadowing-hero .eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#a46c41}
.shadowing-hero h2{margin:6px 0 4px;font-size:24px;color:#4f3424}
.shadowing-hero p{margin:0;color:#80634d;font-size:13px;line-height:1.6}
.shadowing-card{background:#fff;border:1px solid #ead8c4;border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(115,72,39,.07)}
.shadowing-progress{height:8px;background:#f2e8dd;border-radius:999px;overflow:hidden;margin:4px 0 18px}
.shadowing-progress>span{display:block;height:100%;background:#df8b45;border-radius:inherit}
.shadowing-step{font-size:11px;font-weight:900;color:#aa7650;letter-spacing:.08em;margin-bottom:8px}
.shadowing-korean{font-size:30px;font-weight:900;line-height:1.35;color:#30251f;margin:8px 0 6px}
.shadowing-kana{font-size:14px;color:#a36d47;margin-bottom:6px}
.shadowing-jp{font-size:15px;color:#6d5848;background:#fbf4eb;border-radius:14px;padding:12px 14px;margin:12px 0 18px}
.shadowing-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.shadowing-btn{border:0;border-radius:16px;min-height:50px;font-weight:900;font-size:14px;cursor:pointer}
.shadowing-btn.primary{background:#df8b45;color:#fff}
.shadowing-btn.secondary{background:#f5e8da;color:#754a2d;border:1px solid #e7c8a7}
.shadowing-btn.wide{grid-column:1/-1}
.shadowing-tip{margin-top:16px;border-top:1px dashed #ead8c4;padding-top:14px;color:#7b6757;font-size:12px;line-height:1.65}
.shadowing-footer{display:flex;gap:10px;margin-top:14px}
.shadowing-footer button{flex:1}
@media(max-width:640px){.shadowing-shell{padding:0 10px 100px}.shadowing-hero,.shadowing-card{border-radius:20px;padding:18px}.shadowing-korean{font-size:26px}.shadowing-controls{grid-template-columns:1fr}.shadowing-btn.wide{grid-column:auto}}

#practice-app .practice-contrast-explanation{margin-top:14px;padding:14px 15px;border:1px solid #ead4bd;background:#fff8ef;border-radius:14px;text-align:left}
#practice-app .practice-contrast-explanation-title{font-size:12px;font-weight:900;letter-spacing:.08em;color:#b5682c;margin-bottom:5px}
#practice-app .practice-contrast-explanation-text{font-size:14px;line-height:1.65;color:#5f5147;font-weight:650}
@media(max-width:640px){#practice-app .practice-contrast-explanation{padding:13px 14px;border-radius:13px}}

/* ===== legacy-cascade-block-25 ===== */
.practice-v34{max-width:980px;margin:0 auto}.practice-v34>.practice-title{margin-bottom:2px}.practice-v34>p{margin-bottom:18px!important}.practice-v34-hub{display:grid;gap:18px;margin-top:12px}.practice-v34-feature{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:18px;padding:20px;border:1px solid #ead5bf;border-radius:22px;background:linear-gradient(135deg,#fffaf3 0%,#fff4e7 100%);box-shadow:0 10px 28px rgba(99,67,39,.07)}.practice-v34-kicker{font-size:10px;font-weight:950;letter-spacing:.12em;color:#c8732e}.practice-v34-feature-copy h3{margin:6px 0 5px;color:#49372c;font-size:24px}.practice-v34-feature-copy p{margin:0!important;color:#836f5d!important;font-size:12px!important;line-height:1.7}.practice-v34-feature-actions,.practice-v34-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.practice-v34-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-v34-mode-card{min-width:0!important;width:100%;min-height:78px!important;padding:12px!important;border:1px solid #ead5bf!important;border-radius:16px!important;background:#fffdf9!important;color:#4c392d!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;text-align:left!important;box-shadow:none!important}.practice-v34-mode-card:hover{border-color:#e9a86d!important;background:#fff7ec!important;transform:translateY(-1px)}.practice-v34-mode-icon{width:38px;height:38px;border-radius:12px;background:#fff0dd;display:grid;place-items:center;font-size:20px}.practice-v34-mode-copy{min-width:0;display:block}.practice-v34-mode-copy b{display:block;font-size:14px;color:#4a372c}.practice-v34-mode-copy small{display:block;margin-top:3px;color:#8b7461;font-size:10.5px;line-height:1.45}.practice-v34-chevron{font-size:22px;color:#d7833d}.practice-v34-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:5px;background:#eee2d3;border-radius:15px;position:sticky;top:8px;z-index:20;box-shadow:0 4px 15px rgba(77,55,36,.08)}.practice-v34-tabs button{border:0;background:transparent;border-radius:11px;padding:10px 8px;color:#8a7766;font-weight:900;cursor:pointer}.practice-v34-tabs button.is-active{background:#fffaf3;color:#e37824;box-shadow:0 3px 10px rgba(81,58,39,.08)}.practice-v34-panel{display:none}.practice-v34-panel.is-active{display:block}.practice-v34-details{margin-top:12px;border:1px solid #ead5bf;border-radius:18px;background:#fffaf5;overflow:hidden}.practice-v34-details>summary{list-style:none;cursor:pointer;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-v34-details>summary::-webkit-details-marker{display:none}.practice-v34-details>summary span b{display:block;color:#4d392d;font-size:14px}.practice-v34-details>summary span small{display:block;color:#8e7968;font-size:10.5px;margin-top:3px}.practice-v34-details>summary i{font-style:normal;font-size:11px;font-weight:900;color:#d6762b;background:#fff0dd;padding:6px 9px;border-radius:999px}.practice-v34-details[open]>summary{border-bottom:1px solid #ead5bf}.practice-v34-details>.practice-card-box,.practice-v34-details>.practice-scenes-container{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fffaf5!important}.practice-v34 .practice-card-box{box-shadow:none}.practice-v34-conversation-list .practice-scenes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-v34 .practice-filter-row{gap:10px}.practice-v34 .practice-filter-row select,.practice-v34 .practice-filter-row input{background:#fffdf9!important;border-color:#dfc9b2!important}.practice-v34 .btn-start-drill,.practice-v34 #btn-start-simple-vocab-range{background:#ef7d28!important;border-color:#ef7d28!important}.practice-v34 #practice-recommendation-card{border-color:#ead5bf!important;background:#fff8ee!important}.practice-v34 #practice-recommendation-card .btn-start-recommendation{background:#ef7d28!important}.practice-v34 .practice-scenes-container{margin-top:0}.practice-v34 .practice-title+ p{max-width:580px}
@media(max-width:760px){.practice-v34-feature{grid-template-columns:1fr;padding:16px}.practice-v34-feature-copy h3{font-size:20px}.practice-v34-feature-actions{grid-template-columns:1fr}.practice-v34-tabs{top:6px}.practice-v34-tabs button{font-size:12px;padding:9px 3px}.practice-v34-mode-grid{grid-template-columns:1fr}.practice-v34-mode-card{min-height:68px!important}.practice-v34-conversation-list .practice-scenes-grid{grid-template-columns:1fr}.practice-v34-details>summary{padding:13px}.practice-v34 .practice-filter-row{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}.practice-v34 .practice-filter-row>span{width:auto!important;min-width:0!important}.practice-v34 .practice-filter-row select,.practice-v34 .practice-filter-row input{width:100%!important;max-width:none!important}.practice-v34 .practice-count-btn-group{display:grid;grid-template-columns:repeat(4,1fr);width:100%}}

/* ===== legacy-cascade-block-26 ===== */
.lr-bookmark-btn{appearance:none;border:1px solid #e7cdb4;background:#fffaf3;color:#9a7454;border-radius:999px;min-height:40px;padding:8px 12px;font-weight:900;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 3px 10px rgba(92,63,34,.06)}
.lr-bookmark-btn.is-saved{background:#fff0dc;border-color:#efb16f;color:#c65f16}.lr-bookmark-row{display:flex;justify-content:flex-end;margin:6px 0 12px}.lr-bookmark-panel{margin-top:16px}.lr-bookmark-list{display:grid;gap:9px}.lr-bookmark-item{display:flex;gap:10px;align-items:center;padding:11px 12px;border:1px solid #ead9c5;border-radius:14px;background:#fffaf3}.lr-bookmark-item-main{min-width:0;flex:1}.lr-bookmark-item-main small{display:block;color:#a47b5b;font-weight:900;font-size:10px;letter-spacing:.05em;margin-bottom:3px}.lr-bookmark-item-main b{display:block;color:#4c392c;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lr-bookmark-item-main span{display:block;color:#7e6b5c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.lr-bookmark-remove{border:0;background:#f5e6d7;color:#9b6b45;width:34px;height:34px;border-radius:10px;cursor:pointer;font-weight:900}.lr-bookmark-empty{padding:14px;border:1px dashed #e3ccb7;border-radius:14px;color:#8c7767;background:#fffaf3;font-size:13px}.lr-bookmark-counts{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.lr-bookmark-counts span{background:#f7eadc;color:#9b6b45;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.lr-bookmark-practice{width:100%;min-height:44px;border:0;border-radius:12px;background:#ef7f2d;color:#fff;font-weight:900;cursor:pointer;margin-top:10px}.practice-bookmark-anchor{display:flex;justify-content:flex-end;margin:-2px 0 8px}
@media(max-width:640px){.lr-bookmark-btn{min-height:44px}.lr-bookmark-item{padding:11px 10px}}

/* ===== legacy-cascade-block-27 ===== */
.lr-study-rhythm{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.lr-rhythm-card{border:1px solid #ead9c5;background:#fffaf3;border-radius:16px;padding:12px 13px;box-shadow:var(--lr-shadow-soft);min-width:0}
.lr-rhythm-card small{display:block;color:#a47b5b;font-size:9.5px;font-weight:900;letter-spacing:.08em;margin-bottom:5px}
.lr-rhythm-card strong{display:block;color:#4c392c;font-size:20px;line-height:1.15;font-weight:950}
.lr-rhythm-card span{display:block;color:#8a7464;font-size:10.5px;margin-top:5px;line-height:1.45}
.lr-rhythm-card.is-fire strong{color:#df6e24}.lr-rhythm-card.is-time strong{color:#9a6c43}.lr-rhythm-card.is-goal strong{color:#c97829}
.lr-weekly-rhythm{margin-top:14px}.lr-weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
.lr-weekly-stat{border:1px solid #ead9c5;background:#fffaf3;border-radius:14px;padding:12px}.lr-weekly-stat small{display:block;color:#9f7c60;font-size:9.5px;font-weight:900;letter-spacing:.06em}.lr-weekly-stat strong{display:block;color:#4c392c;font-size:18px;margin-top:5px}.lr-weekly-stat span{display:block;color:#897567;font-size:10px;margin-top:4px}
.lr-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}.lr-day-dot{text-align:center}.lr-day-dot i{display:flex;width:28px;height:28px;border-radius:999px;background:#f2e7db;border:1px solid #ead9c5;align-items:center;justify-content:center;margin:0 auto 4px;font-style:normal;color:#a98a70;font-size:10px;font-weight:900}.lr-day-dot.done i{background:#ef9a4a;border-color:#ef9a4a;color:#fff}.lr-day-dot.today i{box-shadow:0 0 0 3px #fff2e4}.lr-day-dot small{font-size:9px;color:#8d7868}
@media(max-width:640px){.lr-study-rhythm{grid-template-columns:repeat(3,1fr);gap:6px}.lr-rhythm-card{padding:10px 9px;border-radius:14px}.lr-rhythm-card strong{font-size:17px}.lr-rhythm-card span{font-size:9.5px}.lr-weekly-grid{grid-template-columns:1fr 1fr}.lr-weekly-stat:last-child{grid-column:1/-1}.lr-week-strip{gap:3px}.lr-day-dot i{width:25px;height:25px}}

/* ===== legacy-cascade-block-28 ===== */
.lr-due-review{margin-top:12px;border:1px solid #ead6c0;background:linear-gradient(135deg,#fffaf3,#fff5e8);border-radius:18px;padding:14px;box-shadow:var(--lr-shadow-soft)}
.lr-due-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lr-due-review-head small{display:block;color:#b0743f;font-size:9px;font-weight:900;letter-spacing:.1em}.lr-due-review-head h3{margin:3px 0 0;color:#4d3a2e;font-size:17px}.lr-due-review-count{min-width:54px;text-align:center;background:#fff;border:1px solid #e8c9a9;border-radius:999px;padding:7px 10px;color:#c46f25;font-weight:950;font-size:13px}
.lr-due-review-copy{margin:8px 0 0;color:#7d6959;font-size:11px;line-height:1.6}.lr-due-review-breakdown{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.lr-due-review-breakdown span{border:1px solid #ead6c0;background:#fffdf9;border-radius:999px;padding:5px 8px;color:#806957;font-size:10px;font-weight:850}.lr-due-review-btn{width:100%;margin-top:11px;min-height:44px;border:0;border-radius:13px;background:#e88938;color:#fff;font-weight:950;font-size:13px;cursor:pointer;box-shadow:0 6px 16px rgba(202,118,42,.18)}.lr-due-review-btn:disabled{background:#d9c8b7;color:#fffaf4;cursor:default;box-shadow:none}
@media(max-width:640px){.lr-due-review{padding:12px;border-radius:16px}.lr-due-review-head h3{font-size:15px}.lr-due-review-count{font-size:12px}.lr-due-review-copy{font-size:10.5px}}

/* ===== legacy-cascade-block-29 ===== */
.library-load-more-btn{display:block;width:min(100%,520px);margin:14px auto 4px;min-height:46px;border:1px solid #e6c8a8;border-radius:14px;background:#fff9f1;color:#c66a25;font-weight:900;cursor:pointer}.library-load-more-btn:hover{background:#fff1df}.practice-v34{max-width:820px!important}.practice-v34-hub{gap:14px!important}.practice-v34-feature{grid-template-columns:1fr!important;padding:18px!important}.practice-v34-feature-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.practice-v34-tabs{position:relative!important;top:auto!important}.practice-v34-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.practice-v34-details{margin-top:10px!important}.practice-v34-details:not([open])>*:not(summary){display:none!important}.practice-v34-details>summary{background:#fffaf4}.practice-v34 .practice-title{margin-bottom:4px!important}.practice-v34>p{margin-bottom:10px!important}.practice-v34 .practice-scenes-container{box-shadow:none!important}
@media(max-width:700px){.practice-v34-feature-actions{grid-template-columns:1fr!important}.practice-v34-mode-grid{grid-template-columns:1fr!important}.practice-v34-tabs{overflow-x:auto;display:flex!important;scrollbar-width:none}.practice-v34-tabs::-webkit-scrollbar{display:none}.practice-v34-tabs button{min-width:68px;flex:1}.library-load-more-btn{width:100%}}


/* V84 — keep bookmark action clear of the sticky modal close control. */
#library-lemma-card-modal .lr-bookmark-row,
#library-grammar-card-modal .lr-bookmark-row,
#library-expression-card-modal .lr-bookmark-row{
  min-height:44px;
  padding-right:58px;
  margin-top:8px;
  margin-bottom:10px;
  box-sizing:border-box;
}
@media (max-width:520px){
  #library-lemma-card-modal .lr-bookmark-row,
  #library-grammar-card-modal .lr-bookmark-row,
  #library-expression-card-modal .lr-bookmark-row{
    padding-right:54px;
    padding-left:4px;
  }
  #library-lemma-card-modal .lr-bookmark-btn,
  #library-grammar-card-modal .lr-bookmark-btn,
  #library-expression-card-modal .lr-bookmark-btn{
    max-width:calc(100% - 4px);
    white-space:nowrap;
  }
}

/* V98 personal daily practice tempo */
.practice-learning-detail-collapsible{margin-top:12px}
.practice-learning-detail-collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
.practice-learning-detail-collapsible>summary::-webkit-details-marker{display:none}
.practice-learning-detail-collapsible>summary span{font-size:11px;color:#9a7f66;font-weight:800}
.practice-learning-detail-collapsible[open]>summary span{font-size:0}
.practice-learning-detail-collapsible[open]>summary span::after{content:"閉じる";font-size:11px}
.practice-eval-dock{position:sticky;bottom:10px;z-index:40;margin:14px -4px 0;padding:10px;background:rgba(255,250,243,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #ead8c3;border-radius:14px;box-shadow:0 10px 24px rgba(86,61,37,.12)}
.practice-eval-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;color:#67584b;margin-bottom:8px}
.practice-eval-heading span{font-size:10px;font-weight:700;color:#9a8b7c}
.practice-eval-grid .btn-eval{min-height:46px}
.practice-eval-grid .btn-eval kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-right:6px;border:1px solid currentColor;border-radius:6px;font:700 10px/1 inherit;opacity:.65}
@media(max-width:520px){
  .practice-eval-heading span{display:none}
  .practice-eval-dock{bottom:6px;margin-left:-2px;margin-right:-2px;padding:8px}
}

/* V100 personal daily learning balance */
.lr-daily-plan{margin:13px 0 0;background:linear-gradient(135deg,#fffaf2,#f8f0e5);border:1px solid #e6d4bd;border-radius:18px;padding:15px;box-shadow:var(--lr-shadow-soft)}
.lr-daily-plan-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lr-daily-plan-head small{font-size:9px;font-weight:900;letter-spacing:.11em;color:#b07a4c}
.lr-daily-plan-head h3{font-size:16px;margin:3px 0 0;color:#382c23}
.lr-daily-plan-head>span{max-width:48%;font-size:10px;line-height:1.5;color:#8b7766;text-align:right}
.lr-daily-plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.lr-daily-plan-grid>div{background:#fff;border:1px solid #eadfd2;border-radius:12px;padding:9px;text-align:center}
.lr-daily-plan-grid small{display:block;font-size:9px;color:#978575;font-weight:800}
.lr-daily-plan-grid strong{font-size:20px;color:#3f3026;margin-top:3px;display:inline-block}
.lr-daily-plan-grid span{font-size:9px;color:#9a8a7b;margin-left:2px}
.lr-daily-plan-order{font-size:10px;color:#7d6c5e;margin:10px 0 8px}
.lr-daily-plan-btn{width:100%;border:0;border-radius:12px;background:linear-gradient(135deg,#ef7f2d,#e46d18);color:#fff;padding:11px 13px;font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 7px 16px rgba(239,127,45,.18)}
@media(max-width:520px){
 .lr-daily-plan-grid{grid-template-columns:repeat(2,1fr)}
 .lr-daily-plan-head{display:block}
 .lr-daily-plan-head>span{display:block;max-width:none;text-align:left;margin-top:5px}
}

/* V103 oral reflex: speak first, reveal second */
.practice-oral-reflex{margin-top:18px;display:grid;gap:12px}
.practice-oral-instruction{border:1px solid #ead8c3;background:#fff9ef;border-radius:14px;padding:14px;text-align:center}
.practice-oral-instruction b{display:block;font-size:16px;color:#3f3026}
.practice-oral-instruction span{display:block;margin-top:5px;font-size:11px;color:#8c7868}
.practice-oral-reveal{width:100%;min-height:52px;border-radius:14px;font-size:15px;font-weight:900}
.practice-oral-reveal kbd{display:inline-grid;place-items:center;margin-left:8px;padding:2px 7px;border:1px solid currentColor;border-radius:6px;font-size:10px;opacity:.6}

/* V105 oral reflex timing: no countdown, only post-answer feedback */
.practice-oral-speed-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.practice-oral-speed-guide span{background:#fff;border:1px solid #eadfd2;border-radius:10px;padding:7px 6px;text-align:center;font-size:10px;font-weight:800;color:#776759}
.practice-oral-timing-result{display:flex;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;border-radius:13px;border:1px solid #e6d8ca;background:#fffaf4}
.practice-oral-timing-result small{font-size:10px;color:#8c7969;font-weight:800}
.practice-oral-timing-result strong{font-size:15px;margin-left:auto}
.practice-oral-timing-result span{font-size:11px;font-weight:800;color:#76685b}
.practice-oral-timing-result.is-fast strong{color:#27835c}
.practice-oral-timing-result.is-steady strong{color:#c7782d}
.practice-oral-timing-result.is-thinking strong{color:#a45b4a}
.practice-result-oral-speed{margin:12px 0;padding:12px 14px;border:1px solid #e4d5c5;background:#fff9ef;border-radius:14px;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left}
.practice-result-oral-speed small{display:block;font-size:9px;letter-spacing:.08em;color:#a07c5e;font-weight:900}
.practice-result-oral-speed strong{display:block;margin-top:3px;font-size:12px;color:#4b392c}
.practice-result-oral-speed>span{font-size:12px;font-weight:900;color:#e47527;white-space:nowrap}

/* V107: separate knowledge mastery from speaking fluency */
.lr-progress-insights{grid-template-columns:repeat(4,minmax(0,1fr))}
.lr-insight-fluency{background:linear-gradient(145deg,#fff8ed,#fffdf9);border-color:#e7cfae}
.lr-fluency-panel{margin-top:12px!important;border:1px solid #e6d5c0!important;background:linear-gradient(145deg,#fffaf1,#fffdf9)!important}
.lr-fluency-summary{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:stretch;margin-top:8px}
.lr-fluency-score{border:1px solid #ead8c2;background:#fff;border-radius:16px;display:grid;place-items:center;padding:14px;text-align:center}
.lr-fluency-score strong{font-size:30px;line-height:1;color:#e27627}
.lr-fluency-score small{font-size:9px;color:#8d7a69;margin-top:7px;line-height:1.45}
.lr-fluency-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lr-fluency-breakdown>div{border:1px solid #eadfd2;background:#fff;border-radius:14px;padding:12px;text-align:center}
.lr-fluency-breakdown span{display:block;font-size:9px;font-weight:800;color:#8c7a6a}
.lr-fluency-breakdown strong{display:block;font-size:23px;margin-top:5px;color:#44352a}
.lr-fluency-note{font-size:10px;line-height:1.55;color:#806f61;margin:10px 0}
.lr-fluency-action{border:0;border-radius:11px;background:#fff1e3;color:#c6641f;padding:9px 12px;font-size:11px;font-weight:900;cursor:pointer}
@media(max-width:720px){
  .lr-progress-insights{grid-template-columns:1fr 1fr}
  .lr-insight-card:last-child{grid-column:auto}
  .lr-fluency-summary{grid-template-columns:1fr}
}
@media(max-width:480px){
  .lr-fluency-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .lr-fluency-breakdown>div{padding:9px 4px}
  .lr-fluency-breakdown strong{font-size:19px}
}

/* V108: one-screen daily priority dashboard */
.lr-home #lr-due-review{display:none}
.lr-home>.lr-recommend{display:none}
.lr-daily-plan{margin:13px 0 0;background:linear-gradient(135deg,#fffaf2,#f8f0e5);border:1px solid #e6d4bd;border-radius:18px;padding:15px;box-shadow:var(--lr-shadow-soft)}
.lr-daily-plan-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lr-daily-plan-head small{font-size:9px;font-weight:900;letter-spacing:.11em;color:#b07a4c}
.lr-daily-plan-head h3{font-size:17px;margin:3px 0 0;color:#382c23}
.lr-daily-plan-head>span{max-width:48%;font-size:10px;line-height:1.5;color:#8b7766;text-align:right}
.lr-daily-plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.lr-daily-plan-grid>div{background:#fff;border:1px solid #eadfd2;border-radius:12px;padding:9px;text-align:center}
.lr-daily-plan-grid small{display:block;font-size:9px;color:#978575;font-weight:800}
.lr-daily-plan-grid strong{font-size:20px;color:#3f3026;margin-top:3px;display:inline-block}
.lr-daily-plan-grid span{font-size:9px;color:#9a8a7b;margin-left:2px}
.lr-daily-status-line{font-size:10px;color:#806f61;margin:10px 1px 8px}
.lr-daily-task-list{display:grid;gap:7px}
.lr-daily-task{width:100%;border:1px solid #e8d8c7;background:#fffdf9;border-radius:14px;padding:10px;display:grid;grid-template-columns:24px 34px minmax(0,1fr) auto 14px;gap:8px;align-items:center;text-align:left;cursor:pointer;color:#43352b}
.lr-daily-task.is-primary{border-color:#efa360;background:linear-gradient(135deg,#fff4e6,#fffdf9);box-shadow:0 7px 17px rgba(218,116,40,.12)}
.lr-daily-task-rank{width:22px;height:22px;border-radius:999px;background:#f2e8dc;display:grid;place-items:center;font-size:10px;font-weight:900;color:#8b715c}
.lr-daily-task.is-primary .lr-daily-task-rank{background:#ef7f2d;color:#fff}
.lr-daily-task-icon{width:32px;height:32px;border-radius:10px;background:#f8eee3;display:grid;place-items:center;font-size:15px}
.lr-daily-task-copy{min-width:0}
.lr-daily-task-copy b{display:block;font-size:12px;color:#3d3027}
.lr-daily-task-copy small{display:block;margin-top:3px;font-size:9.5px;line-height:1.45;color:#8c7a6b}
.lr-daily-task-badge{font-size:9px;font-weight:900;color:#c36c29;background:#fff0df;border-radius:999px;padding:4px 7px;white-space:nowrap}
.lr-daily-task>i{font-style:normal;font-size:18px;color:#b79e89}
@media(max-width:520px){
 .lr-daily-plan-grid{grid-template-columns:repeat(2,1fr)}
 .lr-daily-plan-head{display:block}
 .lr-daily-plan-head>span{display:block;max-width:none;text-align:left;margin-top:5px}
 .lr-daily-task{grid-template-columns:22px 30px minmax(0,1fr) 14px}
 .lr-daily-task-badge{display:none}
}

/* V109: daily learning handoff loop */
.practice-result-next-task{margin:14px 0;padding:13px;border:1px solid #edcfad;background:linear-gradient(135deg,#fff5e7,#fffdf9);border-radius:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left}
.practice-result-next-task small{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#b47442}
.practice-result-next-task strong{display:block;margin-top:3px;font-size:14px;color:#403127}
.practice-result-next-task span{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:#8b7767}
.practice-result-next-task button{border:0;border-radius:11px;background:#ef7f2d;color:#fff;padding:10px 13px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.practice-result-next-task.is-complete{border-color:#d9dfd4;background:#f8fbf7}
.practice-result-next-task.is-complete button{background:#71806a}
.lr-daily-task.is-next-focus{animation:lrNextFocus 1.15s ease}
@keyframes lrNextFocus{
  0%,100%{box-shadow:0 7px 17px rgba(218,116,40,.12)}
  45%{box-shadow:0 0 0 4px rgba(239,127,45,.18),0 9px 24px rgba(218,116,40,.18)}
}
@media(max-width:520px){
 .practice-result-next-task{grid-template-columns:1fr}
 .practice-result-next-task button{width:100%}
}

/* V110: low-friction daily home */
.lr-home{padding-top:2px!important}
.lr-greeting-compact{min-height:0!important;margin:4px 0 7px!important;padding:0 2px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.lr-greeting-compact h1{font-size:20px!important;line-height:1.2!important;margin:0!important}
.lr-greeting-compact p{font-size:10px!important;margin:4px 0 0!important;color:#8c7a6b!important}
.lr-greeting-compact .lr-greeting-ill{display:none!important}

/* Today's order is the first actionable card. */
.lr-home #lr-daily-plan{margin-top:8px!important}
.lr-home #lr-daily-plan .lr-daily-plan-head h3{font-size:18px!important}
.lr-home #lr-daily-plan .lr-daily-task-list{margin-top:4px}
.lr-home #lr-daily-plan .lr-daily-task.is-primary{min-height:62px;border-width:1.5px}
.lr-home #lr-daily-plan .lr-daily-task:not(.is-primary){opacity:.93}

/* Secondary information stays available but is closed during normal daily use. */
.lr-today-collapsible,.lr-home-tools{margin-top:10px;border:1px solid #e8ddd0;background:#fffaf4;border-radius:15px;box-shadow:none}
.lr-today-summary,.lr-home-tools-summary{list-style:none;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 13px;cursor:pointer}
.lr-today-summary::-webkit-details-marker,.lr-home-tools-summary::-webkit-details-marker{display:none}
.lr-today-summary div,.lr-home-tools-summary div{display:grid;gap:1px}
.lr-today-summary small,.lr-home-tools-summary small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#ad8766}
.lr-today-summary b,.lr-home-tools-summary b{font-size:12px;color:#46372c}
.lr-today-summary>span,.lr-home-tools-summary>span{font-size:9px;color:#928174}
.lr-today-summary>i,.lr-home-tools-summary>i{font-style:normal;color:#b39983;transition:transform .15s ease}
.lr-today-collapsible[open] .lr-today-summary>i,.lr-home-tools[open] .lr-home-tools-summary>i{transform:rotate(180deg)}
.lr-today-details{padding:0 12px 12px}
.lr-today-collapsible .lr-today-grid{margin-top:2px}
.lr-home-tools .lr-menu-grid{padding:0 12px 12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.lr-home-tools .lr-menu-card{min-height:84px;padding:10px;border-radius:13px;box-shadow:none;border-top-width:1px}
.lr-home-tools .lr-menu-icon{width:31px;height:31px;font-size:16px;margin-bottom:6px}
.lr-home-tools .lr-menu-card b{font-size:12px}
.lr-home-tools .lr-menu-card small{font-size:9px}
.lr-home-tools .lr-badge{display:none}

/* Keep the opening screen focused: task list first, statistics second. */
.lr-home #lr-daily-plan .lr-daily-plan-grid{margin-top:9px}
.lr-home #lr-daily-plan .lr-daily-status-line{margin-bottom:7px}
.lr-home .lr-study-rhythm{margin-top:8px!important}

@media(max-width:520px){
  .lr-greeting-compact h1{font-size:18px!important}
  .lr-home #lr-daily-plan{padding:13px!important}
  .lr-home #lr-daily-plan .lr-daily-plan-head>span{display:none!important}
  .lr-home #lr-daily-plan .lr-daily-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .lr-home #lr-daily-plan .lr-daily-plan-grid>div{padding:7px 3px}
  .lr-home #lr-daily-plan .lr-daily-plan-grid small{font-size:8px}
  .lr-home #lr-daily-plan .lr-daily-plan-grid strong{font-size:17px}
  .lr-home #lr-daily-plan .lr-daily-plan-grid span{display:none}
  .lr-home-tools .lr-menu-grid{grid-template-columns:1fr 1fr}
  .lr-today-summary,.lr-home-tools-summary{padding:10px 11px}
}

/* V111 local-first */
.lr-settings #lr-install-guide{display:none!important}

/* V114 operation-safety affordances */
.practice-quit-btn.is-armed{background:#fff0ed!important;color:#b74435!important;border-color:#dc7768!important;font-weight:900}
.practice-quit-arm-note{min-height:15px;margin-top:4px;font-size:9px;line-height:1.4;color:#a65d50;text-align:center}
.btn-eval:disabled,.practice-oral-reveal:disabled,.practice-result-next-task button:disabled,.lr-daily-task:disabled{opacity:.62;cursor:wait}
.lr-active-session-banner{width:100%;margin:8px 0 4px;border:1.5px solid #e99b55;background:linear-gradient(135deg,#fff2e2,#fffaf4);border-radius:15px;padding:11px 13px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;color:#493529;cursor:pointer;box-shadow:0 6px 16px rgba(207,111,39,.10)}
.lr-active-session-banner>span{width:30px;height:30px;border-radius:10px;background:#ef7f2d;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900}
.lr-active-session-banner small{display:block;font-size:9px;color:#9a765b;font-weight:800}
.lr-active-session-banner b{display:block;margin-top:2px;font-size:12px;color:#403127}
.lr-active-session-banner>i{font-style:normal;font-size:10px;font-weight:900;color:#d46f27;white-space:nowrap}
.lr-active-session-banner[data-busy="1"]{opacity:.65;pointer-events:none}
@media(max-width:520px){
  .lr-active-session-banner{grid-template-columns:30px minmax(0,1fr)}
  .lr-active-session-banner>i{grid-column:2;justify-self:start}
}

/* V118: explain why today's tasks are prioritized */
.lr-daily-task-reasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.lr-daily-task-reasons em{font-style:normal;font-size:8.5px;line-height:1;border:1px solid #ead1b8;background:#fff7ee;color:#a6602c;border-radius:999px;padding:4px 6px;font-weight:800}
.lr-due-review .lr-review-reason-chips{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 9px}
.lr-due-review .lr-review-reason-chips span{font-size:9px;font-weight:800;color:#9c5d2f;background:#fff3e5;border:1px solid #ead3ba;border-radius:999px;padding:4px 7px}
@media(max-width:520px){
  .lr-daily-task-reasons{gap:3px;margin-top:5px}
  .lr-daily-task-reasons em{font-size:8px;padding:4px 5px}
}

/* V119: progress change / improvement tracking */
.lr-progress-change-panel{margin-top:12px!important;background:linear-gradient(145deg,#fbfcf7,#fffdf9)!important;border:1px solid #dfe4d8!important}
.lr-progress-change-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.lr-progress-change-grid>div{background:#fff;border:1px solid #e5e4dc;border-radius:14px;padding:12px;text-align:center}
.lr-progress-change-grid small{display:block;font-size:9px;color:#8b8178;font-weight:800}
.lr-progress-change-grid strong{display:inline-block;margin-top:5px;font-size:24px;color:#536849}
.lr-progress-change-grid span{font-size:9px;color:#948a80;margin-left:2px}
.lr-progress-change-note{margin:10px 1px 0;font-size:10px;line-height:1.55;color:#7e756d}
@media(max-width:520px){
  .lr-progress-change-grid{gap:5px}
  .lr-progress-change-grid>div{padding:10px 4px}
  .lr-progress-change-grid strong{font-size:21px}
  .lr-progress-change-grid small{font-size:8px}
}

/* V120: seven-day learning improvement */
.lr-progress-week-panel{margin-top:12px!important}
.lr-progress-week-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.lr-progress-week-summary>div{background:#fffaf5;border:1px solid #ebdfd4;border-radius:14px;padding:11px;text-align:center}
.lr-progress-week-summary small{display:block;font-size:9px;font-weight:800;color:#8f8073}
.lr-progress-week-summary strong{display:inline-block;margin-top:5px;font-size:22px;color:#c36c2b}
.lr-progress-week-summary span{font-size:9px;color:#98897c;margin-left:2px}
.lr-progress-week-bars{height:120px;margin-top:14px;padding:6px 4px 0;border-top:1px solid #eee3da;display:grid;grid-template-columns:repeat(7,1fr);gap:5px;align-items:end}
.lr-progress-week-bar{height:100%;display:grid;grid-template-rows:1fr auto auto;gap:3px;align-items:end;text-align:center}
.lr-progress-week-stack{height:82px;display:flex;align-items:flex-end;justify-content:center}
.lr-progress-week-stack i{display:block;width:min(24px,72%);min-height:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#efa35f,#e27a32)}
.lr-progress-week-bar b{font-size:9px;color:#6e6258}
.lr-progress-week-bar small{font-size:8px;color:#9c8f84}
.lr-progress-week-note{margin:10px 1px 0;font-size:10px;line-height:1.55;color:#7e756d}
@media(max-width:520px){
 .lr-progress-week-summary{gap:5px}
 .lr-progress-week-summary>div{padding:9px 3px}
 .lr-progress-week-summary strong{font-size:19px}
 .lr-progress-week-bars{height:108px;gap:3px}
 .lr-progress-week-stack{height:72px}
}

/* V121: weekly growth by learning area */
.lr-progress-area-growth{margin-top:13px;padding-top:12px;border-top:1px solid #eee3da}
.lr-progress-area-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.lr-progress-area-head b{font-size:11px;color:#50443a}
.lr-progress-area-head span{font-size:9px;color:#a16a3e;font-weight:800}
.lr-progress-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.lr-progress-area-grid>div{background:#fff;border:1px solid #ebe2d9;border-radius:12px;padding:9px 5px;text-align:center}
.lr-progress-area-grid small{display:block;font-size:8px;font-weight:800;color:#8d8176}
.lr-progress-area-grid strong{display:block;margin-top:4px;font-size:18px;color:#5e704f}
.lr-progress-area-grid span{display:block;margin-top:1px;font-size:7.5px;color:#9d9186}
@media(max-width:520px){
  .lr-progress-area-grid{grid-template-columns:repeat(2,1fr)}
  .lr-progress-area-grid>div{padding:8px 4px}
}

/* V122: progress hierarchy — daily essentials first, deeper analytics on demand */
.lr-progress-section-label{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:14px 2px 7px}
.lr-progress-section-label span{font-size:12px;font-weight:900;color:#493d34}
.lr-progress-section-label small{font-size:9px;color:#9a8d82}
.lr-progress-details{margin-top:12px;border:1px solid #e7ddd3;border-radius:16px;background:#fbf8f4;overflow:hidden}
.lr-progress-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#fffaf5}
.lr-progress-details>summary::-webkit-details-marker{display:none}
.lr-progress-details>summary>div{min-width:0}
.lr-progress-details>summary .lr-mini-label{display:block;margin-bottom:2px}
.lr-progress-details>summary b{display:block;font-size:12px;color:#4c4037}
.lr-progress-details>summary small{display:block;margin-top:2px;font-size:9px;line-height:1.45;color:#91847a}
.lr-progress-details-arrow{font-size:17px;color:#ba7a49;transition:transform .18s ease}
.lr-progress-details[open] .lr-progress-details-arrow{transform:rotate(180deg)}
.lr-progress-details-body{padding:10px}
.lr-progress-details-body>.lr-panel:first-child{margin-top:0!important}
.lr-progress-details-body .lr-progress-split{margin-top:10px}
.lr-progress-details-body>.lr-panel{margin-top:10px}
.lr-progress-details-body .lr-progress-week-panel{margin-top:10px!important}
@media(max-width:520px){
 .lr-progress-section-label{align-items:flex-start;flex-direction:column;gap:2px;margin-top:11px}
 .lr-progress-details>summary{padding:12px}
 .lr-progress-details-body{padding:7px}
}

/* V123: cross-screen role clarity */
.lr-progress-return-home p{margin:0 0 10px;font-size:10px;line-height:1.55;color:#82766c}
.lr-progress-home-btn{width:100%;justify-content:center}
.lr-progress-details .lr-progress-return-home{background:#fffaf5}

/* V124: explicit end-of-day state */
.lr-daily-plan.is-complete{border-color:#d9e2d2!important;background:linear-gradient(145deg,#fbfdf9,#fffdf9)!important}
.lr-daily-plan.is-complete .lr-daily-plan-head h3{color:#4e6647}
.lr-daily-task.is-optional{border-style:dashed!important;background:#fffdf9!important;opacity:.92}
.lr-daily-task.is-optional .lr-daily-task-rank{background:#f4eee7!important;color:#9a7255!important}
.lr-daily-task.is-optional .lr-daily-task-badge{background:#f3eee8!important;color:#8e735f!important}
.practice-result-next-task.is-complete{border-color:#d7e4cf!important;background:linear-gradient(145deg,#f8fcf5,#fffdf9)!important}
.practice-result-next-task.is-complete strong{color:#4f6847!important}

/* V127: longer, clearer two-step quit confirmation */
.practice-quit-btn.is-armed{
  background:#fff1e8!important;
  border-color:#e68a4d!important;
  color:#b44e16!important;
  font-weight:900!important;
  min-width:142px;
}
.practice-quit-arm-note{
  min-height:16px;
  font-size:10px;
  font-weight:700;
  color:#a45a2d;
  text-align:right;
}

/* V128 — Original illustrated mockup is now the visual source of truth for HOME */
.lr-view[data-lr-view="home"]{--mock-blue:#2388ff;--mock-ink:#1c2b3a;--mock-muted:#6f8192;--mock-shadow:0 10px 26px rgba(43,91,133,.10);max-width:760px!important;padding-top:18px!important}
.lr-home-brandbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 3px}
.lr-home-brand{display:flex;align-items:center;gap:9px;color:#182b3d;font-size:14px}.lr-home-brandmark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#258dfd,#176ed6);color:#fff;font-weight:900;box-shadow:0 6px 14px rgba(35,136,255,.22)}
.lr-home-gear{width:36px;height:36px;border-radius:12px;border:1px solid #e3ebf2;background:#fff;color:#64798a;font-size:15px;box-shadow:0 4px 12px rgba(42,71,95,.06);cursor:pointer}
.lr-mock-home-hero{position:relative!important;min-height:190px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;overflow:hidden!important;border:1px solid #bfe0fb!important;border-radius:24px!important;padding:24px 24px 22px 26px!important;margin:0 0 14px!important;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.75),transparent 35%),linear-gradient(135deg,#dff2ff 0%,#cae9ff 55%,#e7f6ff 100%)!important;box-shadow:var(--mock-shadow)!important}
.lr-mock-home-hero:after{content:"";position:absolute;right:-34px;bottom:-52px;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.26)}.lr-mock-hero-copy{position:relative;z-index:2;max-width:62%}.lr-mock-eyebrow{display:inline-block;font-size:11px;font-weight:800;color:#2980c9;margin-bottom:7px}
.lr-mock-home-hero h1{font-size:27px!important;line-height:1.25!important;letter-spacing:-.02em!important;color:var(--mock-ink)!important;margin:0 0 10px!important}.lr-mock-home-hero p{font-size:12px!important;line-height:1.65!important;color:#527086!important;margin:0!important}.lr-mock-character{position:absolute;right:6px;bottom:-8px;width:190px;height:190px;z-index:1}.lr-mock-character svg{display:block;width:100%;height:100%}
#lr-daily-plan.lr-daily-plan{border:1px solid #e0eaf2!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--mock-shadow)!important;margin:0 0 14px!important;padding:17px!important}#lr-daily-plan .lr-daily-plan-head small{color:#1f86ed!important}#lr-daily-plan .lr-daily-plan-head h3{font-size:17px!important;color:var(--mock-ink)!important}#lr-daily-plan .lr-daily-plan-head>span{color:#8093a4!important}#lr-daily-plan .lr-daily-plan-grid{background:#f5faff!important;border-radius:14px!important;border:1px solid #e0eef9!important}#lr-daily-plan .lr-daily-task{border-color:#e5edf4!important;border-radius:14px!important;background:#fff!important}#lr-daily-plan .lr-daily-task.is-primary{border-color:#9dcef6!important;background:#f0f8ff!important;box-shadow:0 5px 16px rgba(35,136,255,.10)!important}#lr-daily-plan .lr-daily-task.is-primary .lr-daily-task-rank{background:#2388ff!important;color:#fff!important}
.lr-mock-progress-card{display:block!important;border:1px solid #e1ebf3!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--mock-shadow)!important;overflow:hidden!important;margin:0 0 16px!important}.lr-mock-progress-card>summary{cursor:default!important;padding:15px 17px 8px!important}.lr-mock-progress-card>summary i{display:none!important}.lr-mock-progress-card .lr-today-details{display:block!important;padding:4px 17px 16px!important}.lr-mock-progress-card .lr-today-grid{border:0!important;background:transparent!important;padding:4px 0 10px!important}.lr-mock-progress-card .lr-progress-ring{background:#fff!important;border-color:#dceaf5!important}.lr-mock-progress-card .lr-progress-ring:before{background:conic-gradient(#36c783 var(--lr-today-pct),#e9eff3 0)!important}.lr-mock-progress-card .lr-home-stats{border-top:1px solid #edf2f6!important;padding-top:10px!important}.lr-mock-progress-card .lr-home-resume{background:#f6fbff!important;border:1px solid #deebf6!important;color:#36586f!important}
.lr-mock-learning-menu{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:4px 0 16px!important}.lr-mock-learning-menu>summary{cursor:default!important;padding:0 2px 10px!important}.lr-mock-learning-menu>summary i{display:none!important}.lr-mock-learning-menu>summary small{color:#7d91a3!important}.lr-mock-learning-menu>summary b{font-size:17px!important;color:var(--mock-ink)!important}.lr-mock-learning-menu>summary>span{font-size:10px!important;color:#94a4b2!important}
.lr-mock-learning-menu .lr-menu-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.lr-mock-learning-menu .lr-menu-card{position:relative!important;min-height:116px!important;display:grid!important;grid-template-columns:50px 1fr 18px!important;grid-template-rows:auto auto!important;column-gap:11px!important;align-items:center!important;text-align:left!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:19px!important;padding:15px!important;box-shadow:0 8px 18px rgba(54,89,118,.08)!important;overflow:hidden!important}.lr-mock-learning-menu .lr-menu-card:after{content:"";position:absolute;right:-18px;top:-20px;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.22)}
.lr-mock-learning-menu .lr-menu-icon{grid-row:1/3;display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:14px!important;color:#fff!important;font-size:23px!important;font-weight:900!important;box-shadow:0 6px 12px rgba(0,0,0,.10)!important}.lr-mock-learning-menu .lr-menu-card b{font-size:15px!important;color:#1d3142!important;align-self:end!important}.lr-mock-learning-menu .lr-menu-card small{font-size:10px!important;line-height:1.35!important;color:#617b8e!important;align-self:start!important}.lr-mock-learning-menu .lr-menu-arrow{grid-column:3;grid-row:1/3;font-size:25px;font-weight:300;color:rgba(25,67,98,.45);z-index:1}.lr-mock-learning-menu .lr-badge{display:none!important}
.lr-mock-learning-menu .lr-c1{background:linear-gradient(135deg,#e1f2ff,#cfe9ff)!important}.lr-mock-learning-menu .lr-c1 .lr-menu-icon{background:linear-gradient(145deg,#258ffc,#1576db)!important}.lr-mock-learning-menu .lr-c3{background:linear-gradient(135deg,#e0faef,#cdf4e3)!important}.lr-mock-learning-menu .lr-c3 .lr-menu-icon{background:linear-gradient(145deg,#35c98b,#1eae72)!important}.lr-mock-learning-menu .lr-c2{background:linear-gradient(135deg,#ffe9ed,#ffdce4)!important}.lr-mock-learning-menu .lr-c2 .lr-menu-icon{background:linear-gradient(145deg,#ff7f8f,#ef6277)!important}.lr-mock-learning-menu .lr-c5{background:linear-gradient(135deg,#eee8ff,#e3d8ff)!important}.lr-mock-learning-menu .lr-c5 .lr-menu-icon{background:linear-gradient(145deg,#8d6cf1,#7350dd)!important}.lr-mock-learning-menu .lr-c4{background:linear-gradient(135deg,#fff1dc,#ffe6c1)!important}.lr-mock-learning-menu .lr-c4 .lr-menu-icon{background:linear-gradient(145deg,#ffa73f,#ef8a17)!important}.lr-mock-learning-menu .lr-c6{background:linear-gradient(135deg,#ece5ff,#ddd2ff)!important}.lr-mock-learning-menu .lr-c6 .lr-menu-icon{background:linear-gradient(145deg,#8b63ec,#6d47d4)!important}.lr-mock-learning-menu .lr-c7{display:none!important}
.lr-view[data-lr-view="home"] .lr-recommend{border:0!important;border-radius:20px!important;background:linear-gradient(135deg,#258ffc,#1277e6)!important;color:#fff!important;box-shadow:0 10px 24px rgba(35,136,255,.22)!important;padding:17px 18px!important}.lr-view[data-lr-view="home"] .lr-recommend strong,.lr-view[data-lr-view="home"] .lr-recommend span{color:#fff!important}.lr-view[data-lr-view="home"] .lr-recommend span{opacity:.82}.lr-view[data-lr-view="home"] .lr-recommend .lr-primary{background:#fff!important;color:#1878d5!important;border:0!important;font-weight:900!important}
.lr-bottom-nav{border:1px solid #dbe8f2!important;box-shadow:0 8px 28px rgba(34,74,108,.12)!important;background:rgba(255,255,255,.96)!important}.lr-bottom-nav button.active{color:#1582ec!important;background:#eaf5ff!important}.lr-bottom-nav button.active .ico{color:#1582ec!important}
@media(max-width:620px){.lr-view[data-lr-view="home"]{padding:12px 12px 110px!important}.lr-mock-home-hero{min-height:174px!important;padding:20px 16px 18px 18px!important;border-radius:21px!important}.lr-mock-home-hero h1{font-size:23px!important}.lr-mock-hero-copy{max-width:64%}.lr-mock-character{width:158px;height:158px;right:-4px}.lr-mock-learning-menu .lr-menu-grid{gap:8px!important}.lr-mock-learning-menu .lr-menu-card{min-height:105px!important;padding:12px!important;grid-template-columns:43px 1fr 12px!important;column-gap:8px!important}.lr-mock-learning-menu .lr-menu-icon{width:42px!important;height:42px!important;border-radius:12px!important;font-size:20px!important}.lr-mock-learning-menu .lr-menu-card b{font-size:13px!important}.lr-mock-learning-menu .lr-menu-card small{font-size:9px!important}}
@media(max-width:390px){.lr-mock-home-hero p{font-size:10px!important}.lr-mock-character{width:145px;height:145px}.lr-mock-learning-menu .lr-menu-card{min-height:100px!important}}

/* =========================================================
   V129 — APPROVED BEIGE VISUAL SYSTEM
   Source of truth: design_reference/01..07
   ========================================================= */
:root{
  --v129-bg:#f7f0e7;
  --v129-bg-2:#fbf7f1;
  --v129-card:#fffdf9;
  --v129-card-2:#fff8f0;
  --v129-line:#eadfd2;
  --v129-line-strong:#decdbd;
  --v129-ink:#4a2e21;
  --v129-ink-2:#6f5a4b;
  --v129-muted:#9b8b7d;
  --v129-orange:#f47a2b;
  --v129-orange-2:#ff9b52;
  --v129-orange-soft:#fff0e4;
  --v129-peach:#ffe4d3;
  --v129-pink:#f8d9dc;
  --v129-mint:#dff0df;
  --v129-lav:#e7ddf7;
  --v129-blue:#dceaf7;
  --v129-cream:#f8ebc9;
  --v129-shadow:0 10px 26px rgba(104,78,57,.08);
  --v129-shadow-soft:0 5px 14px rgba(104,78,57,.06);
  --v129-radius-xl:24px;
  --v129-radius-lg:18px;
  --v129-radius-md:14px;
}

html,body{
  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.88),transparent 32%),
    linear-gradient(180deg,#fbf7f1 0%,#f6eee4 100%)!important;
  color:var(--v129-ink)!important;
}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif!important}

/* shell */
.lr-shell{color:var(--v129-ink)!important}
.lr-view{max-width:760px!important}
.lr-panel,
.lr-settings-card,
.lr-settings-summary-card,
.lr-progress-hero,
.lr-stat-card,
.lr-insight-card,
.lr-progress-details{
  border-color:var(--v129-line)!important;
  background:var(--v129-card)!important;
  box-shadow:var(--v129-shadow-soft)!important;
}
.lr-panel,.lr-settings-card,.lr-progress-hero,.lr-progress-details{border-radius:var(--v129-radius-lg)!important}

.lr-page-kicker,.lr-mini-label{color:var(--v129-orange)!important}
.lr-page-title,.lr-panel h3,.lr-page-heading h1{color:var(--v129-ink)!important}
.lr-page-heading p,.lr-panel p,.lr-settings-card p{color:var(--v129-ink-2)!important}
.lr-soft-badge{background:#f4ece4!important;color:#7f6858!important;border-color:#eaded3!important}
.lr-soft-badge.is-orange{background:var(--v129-orange-soft)!important;color:#cf5f18!important;border-color:#f4c69f!important}
.lr-primary,
.lr-goal-save-btn,
.lr-fluency-action{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 7px 16px rgba(244,122,43,.20)!important;
  border-radius:14px!important;
}

/* bottom nav */
.lr-bottom-nav{
  border:1px solid var(--v129-line)!important;
  background:rgba(255,253,249,.96)!important;
  box-shadow:0 10px 30px rgba(96,72,52,.12)!important;
  border-radius:22px!important;
  backdrop-filter:blur(14px)!important;
}
.lr-bottom-nav button{color:#79685b!important}
.lr-bottom-nav button.active{
  color:var(--v129-orange)!important;
  background:var(--v129-orange-soft)!important;
}
.lr-bottom-nav button.active .ico{color:var(--v129-orange)!important}

/* HOME — approved warm beige hero */
.lr-view[data-lr-view="home"]{
  --mock-blue:var(--v129-orange);
  --mock-ink:var(--v129-ink);
  background:transparent!important;
}
.lr-home-brand{color:var(--v129-ink)!important}
.lr-home-brandmark{
  background:linear-gradient(145deg,#f9b06f,#ef7427)!important;
  box-shadow:0 6px 14px rgba(244,122,43,.18)!important;
}
.lr-home-gear{border-color:var(--v129-line)!important;background:var(--v129-card)!important;color:#7c6758!important}

.lr-mock-home-hero{
  border-color:#ead6c3!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(255,255,255,.78),transparent 32%),
    linear-gradient(135deg,#f9ead9 0%,#f5dfca 52%,#fbf2e8 100%)!important;
  box-shadow:var(--v129-shadow)!important;
}
.lr-mock-home-hero:after{background:rgba(255,255,255,.30)!important}
.lr-mock-eyebrow{color:#cf6827!important}
.lr-mock-home-hero h1{color:var(--v129-ink)!important}
.lr-mock-home-hero p{color:#7c6252!important}

/* Mascot visual palette warmed for beige UI */
.lr-mock-character svg circle:first-of-type{fill:#f7e7d8!important}
.lr-mock-character svg path[fill="#6c4638"]{fill:#6e4a39!important}

#lr-daily-plan.lr-daily-plan{
  border-color:var(--v129-line)!important;
  background:var(--v129-card)!important;
  box-shadow:var(--v129-shadow)!important;
}
#lr-daily-plan .lr-daily-plan-head small{color:var(--v129-orange)!important}
#lr-daily-plan .lr-daily-plan-head h3{color:var(--v129-ink)!important}
#lr-daily-plan .lr-daily-plan-head>span{color:var(--v129-muted)!important}
#lr-daily-plan .lr-daily-plan-grid{
  background:#fbf5ed!important;
  border-color:#eee1d5!important;
}
#lr-daily-plan .lr-daily-task{
  background:#fffefa!important;
  border-color:#eadfd4!important;
}
#lr-daily-plan .lr-daily-task.is-primary{
  background:linear-gradient(135deg,#fff5ec,#ffeadb)!important;
  border-color:#efba8d!important;
  box-shadow:0 5px 16px rgba(244,122,43,.10)!important;
}
#lr-daily-plan .lr-daily-task.is-primary .lr-daily-task-rank{
  background:var(--v129-orange)!important;color:#fff!important;
}

.lr-mock-progress-card{
  border-color:var(--v129-line)!important;
  background:var(--v129-card)!important;
  box-shadow:var(--v129-shadow)!important;
}
.lr-mock-progress-card .lr-progress-ring:before{
  background:conic-gradient(var(--v129-orange) var(--lr-today-pct),#eee6de 0)!important;
}
.lr-mock-progress-card .lr-home-resume{
  background:#fff6ee!important;border-color:#f1dac6!important;color:#7b5d48!important;
}

/* home 6 cards */
.lr-mock-learning-menu .lr-menu-card{
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:var(--v129-shadow-soft)!important;
}
.lr-mock-learning-menu .lr-menu-card b{color:var(--v129-ink)!important}
.lr-mock-learning-menu .lr-menu-card small{color:#806b5d!important}
.lr-mock-learning-menu .lr-c1{background:linear-gradient(135deg,#fff0e7,#f8ddd0)!important}
.lr-mock-learning-menu .lr-c1 .lr-menu-icon{background:linear-gradient(145deg,#ef8b62,#dc6950)!important}
.lr-mock-learning-menu .lr-c2{background:linear-gradient(135deg,#eee6fa,#e0d5f3)!important}
.lr-mock-learning-menu .lr-c2 .lr-menu-icon{background:linear-gradient(145deg,#9b7ed5,#7d62bc)!important}
.lr-mock-learning-menu .lr-c3{background:linear-gradient(135deg,#eaf5ea,#dceedd)!important}
.lr-mock-learning-menu .lr-c3 .lr-menu-icon{background:linear-gradient(145deg,#65b679,#4c9d63)!important}
.lr-mock-learning-menu .lr-c4{background:linear-gradient(135deg,#fff3dc,#f9e3b8)!important}
.lr-mock-learning-menu .lr-c4 .lr-menu-icon{background:linear-gradient(145deg,#efa843,#dc8d25)!important}
.lr-mock-learning-menu .lr-c5{background:linear-gradient(135deg,#e9eef7,#d9e5f2)!important}
.lr-mock-learning-menu .lr-c5 .lr-menu-icon{background:linear-gradient(145deg,#769fc4,#5e86aa)!important}
.lr-mock-learning-menu .lr-c6{background:linear-gradient(135deg,#f6e5ec,#ecd3dd)!important}
.lr-mock-learning-menu .lr-c6 .lr-menu-icon{background:linear-gradient(145deg,#cb7d99,#b56382)!important}
.lr-view[data-lr-view="home"] .lr-recommend{
  background:linear-gradient(135deg,#ff9a50,#ef7427)!important;
  box-shadow:0 10px 24px rgba(244,122,43,.20)!important;
}

/* APP MAIN NAV */
.app-main-nav{
  max-width:760px!important;
  margin:14px auto 0!important;
  background:#efe3d6!important;
  border:1px solid var(--v129-line)!important;
  border-radius:18px!important;
  padding:5px!important;
  gap:5px!important;
  box-shadow:var(--v129-shadow-soft)!important;
}
.app-nav-btn{
  background:transparent!important;
  border:0!important;
  color:#7c6759!important;
  border-radius:13px!important;
}
.app-nav-btn.active{
  background:var(--v129-card)!important;
  color:var(--v129-orange)!important;
  box-shadow:0 3px 10px rgba(89,63,42,.07)!important;
}

/* LIBRARY / WORDBOOK / GRAMMAR */
#library-app{
  max-width:760px!important;
  color:var(--v129-ink)!important;
  padding-bottom:105px!important;
}
.library-container{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:14px 0 22px!important;
}
.library-header{
  border-bottom:0!important;
  background:transparent!important;
  padding:8px 4px 12px!important;
  margin-bottom:10px!important;
}
.library-title{font-size:28px!important;color:var(--v129-ink)!important;letter-spacing:-.03em}
.library-type-tabs{
  background:#f1e6da!important;
  border:1px solid var(--v129-line)!important;
  border-radius:16px!important;
  padding:5px!important;
  gap:4px!important;
}
.library-type-tab{
  color:#756253!important;
  border-radius:12px!important;
  min-height:40px!important;
}
.library-type-tab.active{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(244,122,43,.18)!important;
}
.library-analytics-card{
  background:var(--v129-card)!important;
  border-color:var(--v129-line)!important;
  border-radius:17px!important;
  box-shadow:var(--v129-shadow-soft)!important;
}
.library-progress-bar{background:#eee3da!important;height:9px!important}
.library-progress-fill{background:linear-gradient(90deg,#f9a361,var(--v129-orange))!important}
.library-analytics-title,.library-pos-heading{color:var(--v129-ink)!important}
.library-analytics-stats,.library-filter-label{color:var(--v129-ink-2)!important}

.library-filter-panel{
  background:#fbf5ee!important;
  border-color:var(--v129-line)!important;
  border-radius:16px!important;
  padding:12px!important;
}
.library-filter-select,.library-search-input{
  background:#fffefa!important;
  border-color:#dfd1c4!important;
  color:var(--v129-ink)!important;
  border-radius:12px!important;
  min-height:40px!important;
}
.library-search-input:focus,.library-filter-select:focus{
  border-color:#eea36b!important;
  box-shadow:0 0 0 3px rgba(244,122,43,.10)!important;
}
.library-filter-btn{
  min-height:40px!important;
  border-radius:12px!important;
  background:var(--v129-orange-soft)!important;
  color:#cf5f18!important;
  border-color:#f0c49f!important;
}
.library-filter-btn.secondary{background:#fffefa!important;color:#756253!important;border-color:#dfd1c4!important}

.library-word-grid{gap:10px!important}
.library-word-card{
  background:var(--v129-card)!important;
  border-color:var(--v129-line)!important;
  border-radius:15px!important;
  padding:11px 12px!important;
  box-shadow:0 3px 10px rgba(95,71,51,.045)!important;
}
.library-word-card:hover{
  border-color:#eba672!important;
  box-shadow:0 7px 18px rgba(244,122,43,.10)!important;
}
.library-word-lemma{color:var(--v129-ink)!important;font-size:16px!important}
.library-word-meaning,.library-word-ref-code{color:#826d5e!important}
.library-pos-badge{border-radius:999px!important;padding:3px 7px!important}
.library-pos-badge.verb{background:#fff0e4!important;color:#d56520!important}
.library-pos-badge.adj{background:#f7e1ea!important;color:#aa5c77!important}
.library-pos-badge.noun{background:#f7edcf!important;color:#a47425!important}

/* modal / detail surfaces */
.library-detail-modal,.library-modal,.library-grammar-detail,.library-expression-detail{
  background:var(--v129-card)!important;
  color:var(--v129-ink)!important;
}
.library-map-scroll-wrapper{background:#fffdf9!important;border-color:var(--v129-line)!important}

/* PRACTICE TOP + QUESTION */
#practice-app{
  max-width:760px!important;
  color:var(--v129-ink)!important;
  padding-bottom:110px!important;
}
.practice-container{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:12px 0 24px!important;
}
.practice-title{
  font-size:34px!important;
  color:var(--v129-ink)!important;
  letter-spacing:-.035em!important;
}
.practice-subnav{
  background:#f0e4d7!important;
  border-color:var(--v129-line)!important;
}
.practice-subnav button.active{
  background:var(--v129-card)!important;
  color:var(--v129-orange)!important;
}

.practice-card-box{
  background:var(--v129-card)!important;
  border-color:var(--v129-line)!important;
  border-radius:20px!important;
  padding:18px!important;
  box-shadow:var(--v129-shadow-soft)!important;
}
.practice-preset-btn{
  background:#fffefa!important;
  border-color:#eadfd4!important;
  color:var(--v129-ink)!important;
  border-radius:15px!important;
  min-height:48px!important;
}
.practice-preset-btn:hover{
  background:var(--v129-orange-soft)!important;
  border-color:#efb98f!important;
  color:#c85c17!important;
}
.practice-count-btn{
  background:#fffefa!important;
  border-color:#ded1c4!important;
  color:#6f5b4d!important;
  border-radius:12px!important;
  min-height:38px!important;
}
.practice-count-btn.active,
.practice-answer-mode-btn.active{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  color:#fff!important;border-color:var(--v129-orange)!important;
}
.practice-custom-input,
.practice-filter-row select,
.practice-filter-row input[type="number"],
.practice-filter-row input[type="text"]{
  border-color:#ded1c4!important;
  background:#fffefa!important;
  color:var(--v129-ink)!important;
  border-radius:12px!important;
}
.btn-start-drill,
#btn-start-simple-vocab-range{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  border-color:var(--v129-orange)!important;
  color:#fff!important;
  border-radius:15px!important;
  min-height:50px!important;
  box-shadow:0 8px 18px rgba(244,122,43,.18)!important;
}

/* Session */
.practice-session-card{
  background:var(--v129-card)!important;
  border:1px solid var(--v129-line)!important;
  border-radius:22px!important;
  box-shadow:var(--v129-shadow)!important;
  padding:30px 24px!important;
}
.practice-prompt-label{color:#8b7464!important}
.practice-prompt-text{color:var(--v129-ink)!important}
.practice-answer-box{
  background:#fbf4eb!important;
  border-color:#e7d8ca!important;
  border-radius:16px!important;
}
.practice-answer-text{color:var(--v129-orange)!important}
.practice-kana-text{color:#867264!important}
.btn-reveal{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  color:#fff!important;
  border-radius:14px!important;
  box-shadow:0 7px 16px rgba(244,122,43,.17)!important;
}
.practice-eval-grid .btn-eval{border-radius:14px!important}
.btn-eval-correct{background:#e8f3e7!important;color:#4b8b58!important;border-color:#c3ddc6!important}
.btn-eval-close{background:#fff0d7!important;color:#a6792b!important;border-color:#efd7a8!important}
.btn-eval-wrong{background:#f9e3e0!important;color:#b35f55!important;border-color:#eac2bd!important}
.practice-result-stat-box{
  background:#fbf4eb!important;
  border-color:var(--v129-line)!important;
  border-radius:16px!important;
}

/* progress */
.lr-view[data-lr-view="progress"] .lr-page-emoji{filter:saturate(.5)}
.lr-progress-donut{background:conic-gradient(var(--v129-orange) var(--lr-progress-pct,0%),#eee4db 0)!important}
.lr-stat-card.is-new .lr-stat-icon{background:#f8ebc9!important;color:#a87820!important}
.lr-stat-card.is-learning .lr-stat-icon{background:#f3dfd0!important;color:#ce6a28!important}
.lr-stat-card.is-mastered .lr-stat-icon{background:#dfeee0!important;color:#5b9464!important}
.lr-progress-insights{gap:10px!important}
.lr-insight-card strong,.lr-progress-change-grid strong,.lr-progress-week-summary strong{color:var(--v129-orange)!important}
.lr-fluency-score strong{color:var(--v129-orange)!important}
.lr-progress-week-stack i{background:linear-gradient(180deg,#f7ad72,#ef7629)!important}
.lr-progress-area-grid>div{background:#fffaf5!important;border-color:var(--v129-line)!important}

/* settings */
.lr-view[data-lr-view="settings"] .lr-page-emoji{filter:saturate(.6)}
.lr-settings-summary-card{
  border-radius:16px!important;
}
.lr-settings-card{
  padding:18px!important;
}
.lr-settings-icon{
  background:var(--v129-orange-soft)!important;
  color:var(--v129-orange)!important;
  border-radius:13px!important;
  padding:8px!important;
}
.lr-setting-pills button{
  background:#fffefa!important;
  color:#766154!important;
  border-color:#dfd1c4!important;
  border-radius:12px!important;
}
.lr-setting-pills button.active,
.lr-setting-pills button[aria-pressed="true"]{
  background:var(--v129-orange)!important;
  color:#fff!important;border-color:var(--v129-orange)!important;
}
.lr-goal-editor-row,
.lr-setting-block,
.lr-setting-status-row,
.lr-setting-info{
  border-color:#eee2d6!important;
}
.lr-goal-editor-input input{
  background:#fffefa!important;
  border-color:#dfd1c4!important;
  color:var(--v129-ink)!important;
  border-radius:10px!important;
}
.lr-data-actions button{
  background:#fffaf4!important;
  border-color:#e9d8c9!important;
  color:var(--v129-ink)!important;
  border-radius:15px!important;
}
.lr-data-actions button:hover{border-color:#eda878!important;background:#fff0e5!important}
.lr-install-guide{border-color:#e9ddd1!important;background:#fbf5ef!important}

/* focus / accessibility */
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid rgba(244,122,43,.24)!important;
  outline-offset:2px!important;
}
button{transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
button:active{transform:translateY(1px)}

/* responsive */
@media(max-width:780px){
  #library-app,#practice-app,.lr-view{max-width:100%!important}
  .library-container,.practice-container{padding-left:12px!important;padding-right:12px!important}
}
@media(max-width:560px){
  .library-title{font-size:25px!important}
  .practice-title{font-size:30px!important}
  .practice-session-card{padding:24px 16px!important}
  .lr-progress-insights{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* =========================================================
   V130 — APPROVED CONCEPT LAYOUT / DENSITY PASS
   Focus: order, spacing, card dimensions, information hierarchy.
   ========================================================= */

/* common screen rhythm */
.lr-view,
#library-app,
#practice-app{
  width:min(100%,760px)!important;
}
.lr-view{padding-bottom:118px!important}
.lr-page-heading{margin-bottom:16px!important}
.lr-page-title{font-size:32px!important;letter-spacing:-.035em!important;line-height:1.08!important}
.lr-page-heading p{margin-top:7px!important;line-height:1.6!important}

/* HOME: concept order and compact vertical rhythm */
.lr-view[data-lr-view="home"]{padding-top:14px!important}
.lr-home-brandbar{margin-bottom:10px!important}
.lr-mock-home-hero{
  min-height:180px!important;
  margin-bottom:14px!important;
  padding:22px 24px!important;
}
.lr-mock-home-hero h1{font-size:29px!important}
.lr-mock-character{width:184px!important;height:184px!important}

.lr-mock-progress-card{
  margin:0 0 14px!important;
}
.lr-mock-progress-card>summary{padding:14px 16px 7px!important}
.lr-mock-progress-card .lr-today-details{padding:3px 16px 15px!important}
.lr-mock-progress-card .lr-today-grid{
  display:grid!important;
  grid-template-columns:128px 1fr!important;
  align-items:center!important;
  gap:16px!important;
}
.lr-mock-progress-card .lr-progress-ring{
  width:106px!important;height:106px!important;
}
.lr-mock-progress-card .lr-goals{gap:7px!important}
.lr-mock-progress-card .lr-goal{
  min-height:30px!important;
  padding:5px 8px!important;
  border-radius:10px!important;
  background:#fff9f3!important;
}
.lr-home-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
.lr-home-stat{
  padding:8px 6px!important;
  border-radius:11px!important;
  background:#fbf6ef!important;
  text-align:center!important;
}
.lr-home-stat strong{font-size:18px!important}

/* Daily plan comes after progress and reads like a clear checklist */
#lr-daily-plan.lr-daily-plan{margin:0 0 15px!important;padding:16px!important}
#lr-daily-plan .lr-daily-plan-head{margin-bottom:10px!important}
#lr-daily-plan .lr-daily-plan-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:7px!important;
  padding:8px!important;
}
#lr-daily-plan .lr-daily-plan-grid>div{
  min-width:0!important;
  padding:7px 5px!important;
  border-radius:10px!important;
  background:#fffaf5!important;
  text-align:center!important;
}
#lr-daily-plan .lr-daily-plan-grid strong{font-size:17px!important}
#lr-daily-plan .lr-daily-status-line{
  margin:8px 1px 10px!important;
  font-size:10px!important;
  color:#948173!important;
}
#lr-daily-plan .lr-daily-task-list{display:grid!important;gap:7px!important}
#lr-daily-plan .lr-daily-task{
  min-height:58px!important;
  grid-template-columns:28px 34px minmax(0,1fr) auto 12px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
}
#lr-daily-plan .lr-daily-task-copy small{
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#lr-daily-plan .lr-daily-task-reasons{display:none!important}

/* Learning menu = 2 x 3 compact cards like approved concept */
.lr-mock-learning-menu{margin-top:0!important}
.lr-mock-learning-menu>summary{padding:0 2px 9px!important}
.lr-mock-learning-menu .lr-menu-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.lr-mock-learning-menu .lr-menu-card{
  min-height:96px!important;
  padding:12px 13px!important;
  grid-template-columns:42px minmax(0,1fr) 13px!important;
  column-gap:9px!important;
  border-radius:17px!important;
}
.lr-mock-learning-menu .lr-menu-icon{
  width:40px!important;height:40px!important;
  border-radius:12px!important;
  font-size:19px!important;
}
.lr-mock-learning-menu .lr-menu-card b{font-size:14px!important}
.lr-mock-learning-menu .lr-menu-card small{font-size:9.5px!important;line-height:1.35!important}

/* Recommendation is redundant with daily plan in approved home; keep data in DOM but visually compact */
.lr-view[data-lr-view="home"] .lr-recommend{
  min-height:58px!important;
  padding:11px 13px!important;
  margin-top:2px!important;
  border-radius:16px!important;
}
.lr-view[data-lr-view="home"] .lr-recommend strong{font-size:12px!important}
.lr-view[data-lr-view="home"] .lr-recommend span{font-size:9px!important}
.lr-view[data-lr-view="home"] .lr-recommend .lr-primary{padding:8px 11px!important;min-height:36px!important}

/* LIBRARY: larger list cards, cleaner filters, concept-like density */
#library-app{margin-top:10px!important}
.library-container{padding-top:8px!important}
.library-header{padding:6px 2px 8px!important}
.library-title{font-size:30px!important}
.library-type-tabs{margin-bottom:12px!important}
.library-type-tab{min-height:42px!important;font-size:13px!important}
.library-analytics-card{padding:12px 14px!important;margin-bottom:12px!important}
.library-filter-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1.7fr) minmax(120px,.7fr) minmax(120px,.7fr)!important;
  gap:8px!important;
  align-items:end!important;
  padding:11px!important;
  margin-bottom:12px!important;
}
.library-filter-field.search{grid-column:auto!important}
.library-search-actions{
  grid-column:1/-1!important;
  justify-content:flex-end!important;
}
.library-filter-count{grid-column:1/-1!important}
.library-pos-section{margin-top:14px!important}
.library-pos-heading{margin-bottom:8px!important}
.library-word-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.library-word-card{
  min-height:72px!important;
  padding:12px 13px!important;
  border-radius:16px!important;
  justify-content:center!important;
  gap:7px!important;
}
.library-word-lemma{font-size:18px!important}
.library-word-meaning{font-size:12px!important}
.library-word-card-header,.library-word-card-footer{gap:8px!important}

/* PRACTICE TOP: three primary quick starts first, secondary presets quieter */
#practice-app{margin-top:8px!important}
.practice-container>h2.practice-title{margin-top:6px!important;margin-bottom:6px!important}
.practice-container>.practice-card-box:first-of-type{
  padding:15px!important;
}
.practice-container>.practice-card-box:first-of-type>div:nth-child(2){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.practice-container>.practice-card-box:first-of-type .practice-preset-btn{
  min-width:0!important;
  min-height:82px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  text-align:left!important;
  padding:12px!important;
}
.practice-container>.practice-card-box:first-of-type .practice-preset-btn:nth-child(n+4){
  min-height:52px!important;
  opacity:.84!important;
}
.practice-card-box{
  margin-top:11px!important;
}
.practice-filter-row{margin-bottom:10px!important}
.practice-answer-mode-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.practice-answer-mode-btn{min-height:44px!important;border-radius:13px!important}

/* PRACTICE QUESTION */
.practice-session-card{
  max-width:720px!important;
  margin:14px auto!important;
}
.practice-prompt-text{font-size:31px!important;line-height:1.25!important}
.practice-answer-box{padding:18px!important}
.practice-answer-text{font-size:32px!important}
.practice-eval-grid{gap:8px!important}
.btn-eval{min-height:50px!important}

/* PROGRESS: concept-style hierarchy */
.lr-view[data-lr-view="progress"] .lr-progress-hero{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  gap:18px!important;
  padding:18px!important;
}
.lr-progress-donut{width:132px!important;height:132px!important}
.lr-stat-grid{gap:9px!important}
.lr-stat-card{min-height:92px!important;border-radius:16px!important;padding:13px!important}
.lr-progress-insights{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.lr-insight-card{min-height:96px!important;padding:12px!important;border-radius:15px!important}
.lr-insight-card strong{font-size:23px!important}
.lr-progress-change-panel{padding:16px!important}
.lr-progress-change-grid{gap:8px!important}
.lr-progress-change-grid>div{background:#fff8f1!important;border-radius:13px!important;padding:10px!important}
.lr-progress-details>summary{padding:13px 15px!important}

/* SETTINGS: concept-like grouped cards, less admin-console feel */
.lr-settings-summary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  margin-bottom:12px!important;
}
.lr-settings-summary-card{
  min-height:88px!important;
  padding:14px!important;
}
.lr-settings-card{
  margin-top:10px!important;
  border-radius:18px!important;
}
.lr-setting-block,.lr-setting-status-row,.lr-setting-info{
  min-height:62px!important;
  padding:10px 0!important;
}
.lr-data-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.lr-data-actions button{min-height:76px!important}
.lr-settings-note{
  margin-top:12px!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#f8efe5!important;
  color:#806b5c!important;
}

/* desktop keeps phone-like proportions instead of stretching */
@media(min-width:900px){
  .lr-shell{padding-left:18px!important;padding-right:18px!important}
  .lr-bottom-nav{max-width:650px!important}
}

/* small screens */
@media(max-width:620px){
  .lr-mock-home-hero{min-height:168px!important;padding:18px 16px!important}
  .lr-mock-home-hero h1{font-size:24px!important}
  .lr-mock-character{width:150px!important;height:150px!important}
  .lr-mock-progress-card .lr-today-grid{grid-template-columns:105px 1fr!important;gap:10px!important}
  .lr-mock-progress-card .lr-progress-ring{width:88px!important;height:88px!important}
  #lr-daily-plan .lr-daily-plan-grid{grid-template-columns:repeat(2,1fr)!important}
  #lr-daily-plan .lr-daily-task{grid-template-columns:24px 30px minmax(0,1fr) 12px!important}
  #lr-daily-plan .lr-daily-task-badge{display:none!important}
  .library-filter-panel{grid-template-columns:1fr 1fr!important}
  .library-filter-field.search{grid-column:1/-1!important}
  .library-word-grid{grid-template-columns:1fr!important}
  .practice-container>.practice-card-box:first-of-type>div:nth-child(2){grid-template-columns:1fr!important}
  .practice-container>.practice-card-box:first-of-type .practice-preset-btn{min-height:58px!important}
  .lr-view[data-lr-view="progress"] .lr-progress-hero{grid-template-columns:112px 1fr!important;gap:12px!important}
  .lr-progress-donut{width:100px!important;height:100px!important}
  .lr-progress-insights{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* =========================================================
   V131 — FINAL CONCEPT FIDELITY POLISH
   Approved 7-screen concept remains the visual source of truth.
   ========================================================= */

/* Bottom navigation is the learner-facing global nav.
   Keep legacy app-main-nav in DOM for coordinator compatibility only. */
.app-main-nav{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Backups belong in Settings, not the wordbook browsing flow. */
.library-data-management{
  display:none!important;
}

/* Library headings feel like a real screen header instead of a plain h2. */
.library-header{
  display:flex!important;
  align-items:center!important;
  min-height:52px!important;
  gap:11px!important;
}
.library-header:before{
  content:"▤";
  display:grid;
  place-items:center;
  width:42px;height:42px;
  flex:0 0 42px;
  border-radius:13px;
  background:linear-gradient(145deg,#fff0e4,#f7d7c0);
  color:#e46d25;
  font-size:20px;
  font-weight:900;
}
.library-title{
  margin:0!important;
}

/* Stronger visual separation for tab selector. */
.library-type-tabs{
  position:sticky!important;
  top:6px!important;
  z-index:20!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 5px 14px rgba(96,72,52,.06)!important;
}

/* Word cards closer to approved reference: content first, subtle action cues. */
.library-word-card{
  position:relative!important;
}
.library-word-card:after{
  content:"›";
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  color:#b8a89a;
  font-size:18px;
  font-weight:400;
}
.library-word-card-header,
.library-word-card-footer{
  padding-right:18px!important;
}
.library-word-card:hover:after{color:#dc6e2a}

/* Practice concept: three obvious primary quick starts. */
.practice-primary-preset{
  background:linear-gradient(145deg,#fff7ef,#ffeadb)!important;
  border-color:#efc09d!important;
  box-shadow:0 6px 14px rgba(244,122,43,.10)!important;
}
.practice-primary-preset span{
  font-size:15px!important;
  color:#5b3524!important;
}
.practice-primary-preset small{
  color:#91705c!important;
  margin-top:5px!important;
}
.practice-secondary-preset{
  background:#fffdfa!important;
  box-shadow:none!important;
}
.practice-secondary-preset span{font-size:13px!important}
.practice-secondary-preset small{font-size:9px!important}

/* The first quick-start card reads as a section, not an admin box. */
#practice-config-view>.practice-card-box:first-of-type{
  background:linear-gradient(145deg,#fffdfa,#fff5eb)!important;
  border-color:#ead5c2!important;
  box-shadow:var(--v129-shadow)!important;
}
#practice-config-view>.practice-card-box:first-of-type>div:first-child{
  font-size:17px!important;
  color:var(--v129-ink)!important;
  margin-bottom:12px!important;
}
#practice-config-view>.practice-card-box:first-of-type>div:last-child{
  color:#a28e7d!important;
}

/* Practice question stays visually calm and centered. */
#practice-session-view{
  max-width:760px!important;
  margin:0 auto!important;
}
.practice-session-card{
  min-height:340px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.practice-prompt-label{
  text-transform:none!important;
  letter-spacing:.02em!important;
}
.practice-typed-input{
  min-height:54px!important;
  border-radius:15px!important;
  border-color:#dfcfc1!important;
  background:#fffefa!important;
  color:var(--v129-ink)!important;
  font-size:17px!important;
}
.practice-typed-input:focus{
  border-color:#ee9659!important;
  box-shadow:0 0 0 3px rgba(244,122,43,.11)!important;
}

/* Progress: make the page feel more like a motivating dashboard. */
.lr-view[data-lr-view="progress"] .lr-page-heading{
  padding:8px 2px 4px!important;
}
.lr-progress-hero{
  background:
    radial-gradient(circle at 88% 15%,rgba(255,244,231,.9),transparent 35%),
    var(--v129-card)!important;
}
.lr-progress-change-panel{
  background:linear-gradient(145deg,#fffdfa,#fff7ef)!important;
}
.lr-progress-details{
  box-shadow:none!important;
  background:#fbf5ee!important;
}
.lr-progress-details>summary{
  cursor:pointer!important;
}

/* Settings: backup is now visually central; local technical details quieter. */
#lr-daily-goals-card{background:linear-gradient(145deg,#fffdfa,#fff8f1)!important}
.lr-data-actions button span{
  color:var(--v129-orange)!important;
  font-size:20px!important;
}
.lr-install-guide{
  opacity:.78!important;
}
.lr-settings-note{
  font-size:11px!important;
}

/* Unified hover language */
.lr-menu-card,
.library-word-card,
.practice-preset-btn,
.lr-stat-card,
.lr-settings-card{
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease!important;
}
@media(hover:hover){
  .lr-menu-card:hover,
  .library-word-card:hover,
  .practice-preset-btn:hover{
    transform:translateY(-1px)!important;
  }
}

/* On phone widths, avoid sticky library tabs consuming too much vertical room. */
@media(max-width:620px){
  .library-type-tabs{
    top:2px!important;
  }
  .library-header:before{
    width:38px;height:38px;flex-basis:38px;font-size:18px;
  }
  .library-title{font-size:25px!important}
  .practice-primary-preset{min-height:66px!important}
  .practice-session-card{min-height:300px!important}
}

/* =========================================================
   V132 — DAILY TOUCH / SCROLL / MOBILE POLISH
   ========================================================= */

/* Native-app feel */
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  overscroll-behavior-y:contain;
  -webkit-tap-highlight-color:transparent;
}
button,input,select,summary{
  touch-action:manipulation;
}
button,summary{
  user-select:none;
  -webkit-user-select:none;
}
button{
  min-height:40px;
}

/* Fixed navigation must not cover content on short screens */
.lr-shell,
#library-app,
#practice-app{
  padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))!important;
}
.lr-bottom-nav{
  bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
  padding-bottom:max(4px,env(safe-area-inset-bottom,0px))!important;
}
.lr-bottom-nav button{
  min-height:52px!important;
  border-radius:15px!important;
}

/* Scroll-to anchors land above sticky UI */
#lr-daily-plan,
.lr-panel,
.library-pos-section,
.practice-card-box,
.practice-session-card,
.lr-settings-card{
  scroll-margin-top:78px;
  scroll-margin-bottom:108px;
}

/* Improve large tap targets without increasing visual bulk */
.lr-menu-card,
.lr-daily-task,
.library-word-card,
.practice-preset-btn,
.lr-stat-card,
.lr-data-actions button{
}
.lr-menu-card:focus-visible,
.lr-daily-task:focus-visible,
.library-word-card:focus-visible,
.practice-preset-btn:focus-visible{
  outline:3px solid rgba(244,122,43,.22)!important;
  outline-offset:3px!important;
}

/* Inputs should not trigger iOS zoom and should read consistently */
input,select,textarea{
  font-size:max(16px,1em);
}
.library-search-input,
.library-filter-select,
.practice-custom-input,
.practice-filter-row select,
.practice-filter-row input,
.lr-goal-editor-input input{
  min-height:44px!important;
}

/* Sticky tabs: safe and legible */
.library-type-tabs{
  top:max(4px,env(safe-area-inset-top,0px))!important;
}
.library-type-tab{
  min-height:42px!important;
  padding-left:11px!important;
  padding-right:11px!important;
}

/* Cards shouldn't visually jump when pressed */
@media(hover:none){
  .lr-menu-card:hover,
  .library-word-card:hover,
  .practice-preset-btn:hover{
    transform:none!important;
  }
}
.lr-menu-card:active,
.lr-daily-task:active,
.library-word-card:active,
.practice-preset-btn:active{
  transform:scale(.992)!important;
}

/* Better small-screen hierarchy */
@media(max-width:430px){
  .lr-view,
  #library-app,
  #practice-app{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .lr-page-title{font-size:28px!important}
  .lr-mock-home-hero h1{font-size:22px!important}
  .lr-mock-character{width:138px!important;height:138px!important;right:-6px!important}
  .lr-mock-hero-copy{max-width:67%!important}

  .lr-mock-learning-menu .lr-menu-grid{
    grid-template-columns:1fr!important;
  }
  .lr-mock-learning-menu .lr-menu-card{
    min-height:78px!important;
    grid-template-columns:42px minmax(0,1fr) 16px!important;
  }

  .lr-home-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #lr-daily-plan .lr-daily-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .library-type-tabs{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none!important;
  }
  .library-type-tabs::-webkit-scrollbar{display:none!important}
  .library-type-tab{flex:0 0 auto!important}

  .library-filter-panel{
    grid-template-columns:1fr!important;
  }
  .library-filter-field,
  .library-filter-field.search{
    grid-column:auto!important;
    width:100%!important;
  }
  .library-search-actions,
  .library-filter-count{
    grid-column:auto!important;
  }

  .practice-eval-grid{grid-template-columns:1fr!important}
  .btn-eval{min-height:48px!important}
  .practice-answer-mode-group{grid-template-columns:1fr!important}

  .lr-view[data-lr-view="progress"] .lr-progress-hero{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .lr-progress-donut{margin:0 auto!important}
  .lr-progress-copy{text-align:left!important}

  .lr-settings-summary{grid-template-columns:1fr!important}
  .lr-data-actions{grid-template-columns:1fr!important}
}

/* Reduced-motion support */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* =========================================================
   V133 — LEGACY COLOR LEAK CLEANUP / VISUAL CONSISTENCY
   ========================================================= */

/* Remove the final legacy green/blue practice panels. */
.practice-vocab-config-card{
  background:linear-gradient(145deg,#fffdf9,#fff6ee)!important;
  border:1px solid #ead6c5!important;
}
.practice-vocab-config-card [style*="#14532d"],
.practice-vocab-config-card [style*="#4b7a5b"],
.practice-vocab-config-card [style*="#166534"],
.practice-vocab-config-card [style*="#6b8f75"]{
  color:#795d4a!important;
}
.practice-vocab-config-card [style*="#dcfce7"]{
  background:#fff0e4!important;
}
.practice-vocab-config-card [style*="#86efac"]{
  border-color:#efc39f!important;
}
.practice-vocab-config-card [style*="#16a34a"]{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  border-color:var(--v129-orange)!important;
  color:#fff!important;
}
.practice-vocab-config-card select,
.practice-vocab-config-card input{
  background:#fffefa!important;
  border-color:#dfd1c4!important;
  color:var(--v129-ink)!important;
}

.practice-mix-config-card{
  background:linear-gradient(145deg,#fffdf9,#fff5eb)!important;
  border:1px solid #ead4c1!important;
}
.practice-mix-config-card [style*="#1e3a8a"],
.practice-mix-config-card [style*="#5b6f9e"]{
  color:#765845!important;
}
.practice-mix-config-card [style*="#d96518"]{
  color:#cf5f18!important;
}
.practice-mix-config-card [style*="#f6e5cf"]{
  background:#fff0e4!important;
}
.practice-mix-config-card [style*="#efc392"]{
  border-color:#efc39f!important;
}

/* Re-map remaining learner-facing slate grays to warm neutrals. */
#library-app,
#practice-app{
  --legacy-ink:#4a2e21;
  --legacy-copy:#765f50;
  --legacy-muted:#9a897b;
}
#library-app [style*="color:#0f172a"],
#practice-app [style*="color:#0f172a"],
#library-app [style*="color: #0f172a"],
#practice-app [style*="color: #0f172a"]{
  color:var(--legacy-ink)!important;
}
#library-app [style*="color:#334155"],
#practice-app [style*="color:#334155"],
#library-app [style*="color: #334155"],
#practice-app [style*="color: #334155"],
#library-app [style*="color:#475569"],
#practice-app [style*="color:#475569"],
#library-app [style*="color: #475569"],
#practice-app [style*="color: #475569"]{
  color:var(--legacy-copy)!important;
}
#library-app [style*="color:#64748b"],
#practice-app [style*="color:#64748b"],
#library-app [style*="color: #64748b"],
#practice-app [style*="color: #64748b"],
#library-app [style*="color:#94a3b8"],
#practice-app [style*="color:#94a3b8"]{
  color:var(--legacy-muted)!important;
}

/* Status colors remain semantic, but softened to the beige system. */
.btn-eval-correct,
.practice-result-correct{
  background:#e8f1e6!important;
  color:#547e58!important;
  border-color:#c9ddc8!important;
}
.btn-eval-close{
  background:#f9edcf!important;
  color:#97712f!important;
  border-color:#ead6a7!important;
}
.btn-eval-wrong,
.practice-result-wrong{
  background:#f6e4df!important;
  color:#a95d53!important;
  border-color:#e6c6bf!important;
}

/* Keep destructive quit distinct but harmonious. */
.practice-quit-btn{
  border-color:#e6c6b7!important;
  background:#fffaf5!important;
  color:#9b6650!important;
}
.practice-quit-btn.is-armed{
  background:#fff0e6!important;
  border-color:#e98a53!important;
  color:#ad4d1d!important;
}

/* Consistent lightweight dividers throughout library/practice. */
#library-app hr,
#practice-app hr{
  border-color:#eadfd5!important;
}

/* =========================================================
   V134 — UI CLOSURE AUDIT
   Final learner-facing legacy-color overrides + result/chunk polish.
   ========================================================= */

/* Practice recommendation / result / subnav surfaces */
.practice-rec-title,
.practice-result-title,
.practice-user-answer-text,
.practice-prompt-text,
.practice-title{
  color:var(--v129-ink)!important;
}
.practice-subnav-btn{
  color:#7b6657!important;
}
.practice-subnav-btn:hover{
  color:var(--v129-orange)!important;
  background:#fff6ee!important;
}
.practice-result-stat-box{
  background:#fff8f1!important;
  border-color:var(--v129-line)!important;
}
.practice-result-item .practice-result-num{
  color:var(--v129-ink)!important;
}
.practice-result-lbl{
  color:#8c796b!important;
}
.practice-user-answer{
  background:#fffaf5!important;
  border-color:#ead8c9!important;
}

/* Hidden/secondary chunk drill also follows the approved system if opened. */
#chunk-drill-root{
  color:var(--v129-ink)!important;
  padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important;
}
.chunk-view-header,
.chunk-practice-header,
.chunk-card,
.chunk-completion-card{
  background:var(--v129-card)!important;
  border-color:var(--v129-line)!important;
  box-shadow:var(--v129-shadow-soft)!important;
}
.chunk-view-header h2,
.chunk-practice-header h2,
.chunk-jp-prompt,
.chunk-card-title,
.chunk-completion-title{
  color:var(--v129-ink)!important;
}
.chunk-view-header p,
.chunk-card-desc,
.chunk-practice-meta{
  color:#836f61!important;
}
.chunk-choice-btn,
.chunk-token{
  background:#fffaf5!important;
  border-color:#e4d5c8!important;
  color:var(--v129-ink)!important;
  border-radius:13px!important;
}
.chunk-choice-btn:hover,
.chunk-token:hover{
  background:var(--v129-orange-soft)!important;
  border-color:#efb88e!important;
}
.chunk-primary-btn{
  background:linear-gradient(135deg,var(--v129-orange-2),var(--v129-orange))!important;
  color:#fff!important;
  border-color:var(--v129-orange)!important;
}

/* Result/empty/status copy should stay warm-neutral. */
.practice-empty,
.library-placeholder-panel,
.lr-progress-empty{
  background:#fbf6ef!important;
  border-color:#eadfd4!important;
  color:#8b7768!important;
}

/* Direct-file launch fallback is not the normal app, but keep it visually coherent. */
#direct-file-launch-guide{
  background:#fffaf5!important;
  color:var(--v129-ink)!important;
  border-color:#ead8c9!important;
}
#direct-file-launch-guide code{
  background:#f6eee5!important;
  color:#6f5545!important;
}

/* Final cross-screen width invariant. */
.lr-shell,
#library-app,
#practice-app,
#chunk-drill-root{
  box-sizing:border-box!important;
}

/* =========================================================
   V135 — HOME STRUCTURAL REBUILD AGAINST APPROVED 01_home.png
   ========================================================= */
.v135-compat-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.lr-view[data-lr-view="home"]{max-width:760px!important;padding-top:10px!important;padding-bottom:120px!important}
.v135-home-header{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:2px 10px 9px}
.v135-home-brand{display:flex;align-items:center;gap:10px;color:#4b2e21}.v135-home-brand b{font-size:18px;letter-spacing:.01em}.v135-palace{font-size:31px;line-height:1}
.v135-home-actions{display:flex;gap:8px;align-items:center}.v135-bell,.v135-avatar{width:42px;height:42px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:#5b4032;font-size:20px;position:relative}.v135-bell i{position:absolute;right:7px;top:6px;width:8px;height:8px;border-radius:50%;background:#f47a2b}.v135-avatar{background:#efe1d3;border:1px solid #e4d2c1;font-size:19px}
.v135-hero{position:relative;min-height:270px;border:1px solid #ead7c5;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#fae9d8,#f8e6d4 56%,#fff7ef);box-shadow:0 8px 22px rgba(101,73,51,.07);margin-bottom:15px}
.v135-hero-copy{position:relative;z-index:2;width:50%;padding:42px 0 28px 31px}.v135-hero h1{margin:0;color:#4a2e21;font-size:34px;line-height:1.34;letter-spacing:-.035em;font-weight:800}.v135-hero p{margin:18px 0 0;color:#765f50;font-size:16px;line-height:1.65;font-weight:600}
.v135-hero-art{position:absolute;right:0;top:0;bottom:0;width:58%;background-image:linear-gradient(90deg,#fae9d8 0%,rgba(250,233,216,.45) 10%,rgba(250,233,216,0) 24%),url("./assets/home_hero_character.jpg");background-size:auto 100%;background-position:right center;background-repeat:no-repeat}.v135-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0))}
.v135-progress-card{background:#fffdf9!important;border:1px solid #eadfd3!important;border-radius:21px!important;padding:16px 18px 17px!important;box-shadow:0 8px 20px rgba(99,72,52,.065)!important;margin:0 0 15px!important}
.v135-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.v135-section-head>div{display:flex;align-items:center;gap:9px}.v135-section-head b{font-size:17px;color:#4a2e21}.v135-section-icon{color:#f47a2b;font-size:20px}.v135-section-head button{border:0;background:transparent;color:#8d7869;font-size:12px;font-weight:700;padding:6px}
.v135-progress-body{display:grid;grid-template-columns:130px minmax(0,1fr) 175px;gap:17px;align-items:center}.v135-progress-ring{width:112px!important;height:112px!important;margin:auto!important}.v135-progress-ring strong{font-size:25px!important;color:#4a2e21!important}.v135-progress-ring small{font-size:9px!important;color:#8c7869!important}
.v135-week-goal{padding-left:3px}.v135-week-goal>small{display:block;color:#8b7768;font-size:12px;margin-bottom:4px}.v135-week-goal>strong{display:block;color:#4a2e21;font-size:21px;margin-bottom:12px}.v135-week-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:250px}.v135-week-dot{display:grid;justify-items:center;gap:4px}.v135-week-dot i{width:17px;height:17px;border:1.5px solid #dfd0c2;border-radius:50%;background:#fff}.v135-week-dot.done i{background:#f69a49;border-color:#f69a49}.v135-week-dot.today i{box-shadow:0 0 0 3px #fff0e4}.v135-week-dot small{font-size:9px;color:#8d786a}
.v135-progress-side{border-left:1px solid #eadfd5;padding-left:17px;display:grid;gap:14px}.v135-progress-side>div{display:grid;grid-template-columns:24px auto 1fr;align-items:center;column-gap:5px}.v135-progress-side span{color:#f47a2b;font-size:18px}.v135-progress-side small{color:#8a7566;font-size:11px}.v135-progress-side strong{color:#4a2e21;font-size:15px;text-align:right}.v135-progress-data,.v135-resume-hidden{display:none!important}
.v135-daily-plan{background:#fffdf9!important;border:1px solid #eadfd3!important;border-radius:21px!important;box-shadow:0 8px 20px rgba(99,72,52,.06)!important;margin:0 0 15px!important;padding:16px 18px!important;min-height:185px}
.v135-daily-plan .lr-daily-plan-head{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 0 9px!important}.v135-daily-plan .lr-daily-plan-head>div{display:flex;align-items:center;gap:9px}.v135-daily-plan .lr-daily-plan-head h3{margin:0!important;font-size:17px!important;color:#4a2e21!important}.v135-plan-icon{color:#f47a2b;font-size:19px}.v135-daily-plan .lr-daily-plan-head button{border:0;background:transparent;color:#8d7869;font-size:12px;font-weight:700}
.v135-daily-plan .lr-daily-task-list{position:relative;display:grid!important;gap:0!important;padding-left:6px!important}.v135-daily-plan .lr-daily-task-list:before{content:"";position:absolute;left:13px;top:19px;bottom:19px;width:2px;background:#eedbc9}.v135-daily-plan .lr-daily-task{position:relative;display:grid!important;grid-template-columns:28px minmax(0,1fr) auto 14px!important;align-items:center!important;min-height:51px!important;padding:5px 2px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;text-align:left!important}.v135-daily-plan .lr-daily-task.is-primary{background:#fff1e5!important;border-radius:14px!important;padding-left:2px!important}.v135-daily-plan .lr-daily-task-node{width:15px;height:15px;border:2px solid #e2cdbb;background:#fffdf9;border-radius:50%;z-index:2;margin-left:0}.v135-daily-plan .lr-daily-task.is-primary .lr-daily-task-node{background:#f47a2b;border-color:#f47a2b}.v135-daily-plan .lr-daily-task-copy{display:block!important;min-width:0!important}.v135-daily-plan .lr-daily-task-copy b{display:block;color:#513426;font-size:13px!important}.v135-daily-plan .lr-daily-task-copy small{display:block;color:#9b887a;font-size:9px!important;margin-top:2px}.v135-daily-plan .lr-daily-task-count{color:#8e7969;font-size:11px;font-weight:700}.v135-daily-plan .lr-daily-task>i{color:#a48f80;font-style:normal}.v135-plan-foot{font-size:9px;color:#aa9687;text-align:right;margin-top:4px}
.v135-learning-menu{margin:0!important}.v135-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v135-learning-grid .lr-menu-card{min-height:115px!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) 14px!important;align-items:start!important;gap:11px!important;padding:14px 15px!important;border-radius:19px!important;border:1px solid rgba(255,255,255,.82)!important;box-shadow:0 6px 16px rgba(98,70,50,.055)!important}.v135-learning-grid .lr-menu-card>span:nth-child(2){display:block;min-width:0}.v135-learning-grid .lr-menu-card b{display:block!important;font-size:16px!important;color:#4a2e21!important;margin-top:1px}.v135-learning-grid .lr-menu-card small{display:block!important;font-size:10px!important;line-height:1.5!important;color:#826e60!important;margin-top:6px}.v135-learning-grid .lr-menu-icon{width:45px!important;height:45px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:21px!important}.v135-learning-grid .lr-menu-arrow{align-self:start;color:#927f70;font-size:22px;line-height:1}.v135-learning-grid .lr-c1{background:linear-gradient(135deg,#fff0e8,#f9ddd2)!important}.v135-learning-grid .lr-c3{background:linear-gradient(135deg,#eef6ea,#deeedb)!important}.v135-learning-grid .lr-c2{background:linear-gradient(135deg,#f1eafa,#e4daf5)!important}.v135-learning-grid .lr-c5{background:linear-gradient(135deg,#ebf3f9,#dce9f5)!important}.v135-learning-grid .lr-c4{background:linear-gradient(135deg,#fff4df,#f8e6bf)!important}.v135-learning-grid .lr-c6{background:linear-gradient(135deg,#f4ecf9,#eadff3)!important}.v135-recommend-hidden{display:none!important}
.lr-view[data-lr-view="home"] .lr-home-brandbar,.lr-view[data-lr-view="home"] .lr-greeting-compact,.lr-view[data-lr-view="home"] .lr-home-tools-summary,.lr-view[data-lr-view="home"] .lr-c7{display:none!important}
.lr-bottom-nav{max-width:720px!important;min-height:68px!important;padding:5px 12px!important;border-radius:20px!important;background:rgba(255,253,249,.98)!important}.lr-bottom-nav button{min-height:56px!important;font-size:10px!important}.lr-bottom-nav .ico{font-size:22px!important;margin-bottom:2px!important}
@media(max-width:620px){.v135-home-brand b{font-size:16px}.v135-palace{font-size:27px}.v135-hero{min-height:225px}.v135-hero-copy{width:54%;padding:31px 0 23px 20px}.v135-hero h1{font-size:27px}.v135-hero p{font-size:13px}.v135-hero-art{width:62%}.v135-progress-body{grid-template-columns:100px minmax(0,1fr)}.v135-progress-side{grid-column:1/-1;border-left:0;border-top:1px solid #eadfd5;padding:12px 0 0;grid-template-columns:1fr 1fr}.v135-progress-side>div{grid-template-columns:22px auto 1fr}.v135-progress-ring{width:88px!important;height:88px!important}.v135-week-goal>strong{font-size:17px}}
@media(max-width:430px){.v135-hero{min-height:198px}.v135-hero-copy{width:57%;padding:26px 0 18px 16px}.v135-hero h1{font-size:23px}.v135-hero p{font-size:11px;margin-top:12px}.v135-hero-art{width:63%}.v135-progress-card{padding:14px!important}.v135-progress-body{grid-template-columns:90px 1fr;gap:10px}.v135-week-dots{gap:3px}.v135-week-dot i{width:14px;height:14px}.v135-learning-grid{grid-template-columns:1fr!important}.v135-learning-grid .lr-menu-card{min-height:91px!important}}

/* =========================================================
   V136 — REAL-SCREEN CORRECTIONS FROM 14:59 SCREENSHOT
   ========================================================= */

/* The V135 screenshot exposed two headers. The global legacy bar is now gone. */
.lr-topbar{
  display:none!important;
}
.v136-compat-label{display:none!important}

/* Pull content upward after removing the legacy bar. */
.lr-shell{
  padding-top:0!important;
}
.lr-view[data-lr-view="home"]{
  padding-top:8px!important;
}

/* Home header now owns the top of the page. */
.v135-home-header{
  min-height:50px!important;
  padding:0 8px 8px!important;
}
.v135-home-actions button svg{
  width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round
}
.v135-bell{
  background:transparent!important;border:0!important;color:#694b3b!important;
}
.v135-avatar{
  background:#f6eadf!important;border:1px solid #ead8c8!important;color:#8d6f5e!important;
}
.v135-avatar svg{width:19px!important;height:19px!important}

/* Progress visual: remove excessive whitespace and match the approved compact card. */
.v135-progress-card{
  min-height:162px!important;
}
.v135-progress-body{
  min-height:108px!important;
}
.v135-progress-side{
  gap:10px!important;
}

/* Today's plan: stable 3-row timeline and no broken narrow wrapping. */
.v135-daily-plan{
  min-height:220px!important;
}
.v135-daily-plan .lr-daily-task-list{
  min-height:154px!important;
}
.v135-daily-plan .lr-daily-task{
  width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:30px minmax(220px,1fr) 74px 16px!important;
  min-height:50px!important;
  overflow:hidden!important;
}
.v135-daily-plan .lr-daily-task-copy{
  min-width:0!important;
  width:auto!important;
  white-space:normal!important;
}
.v135-daily-plan .lr-daily-task-copy b,
.v135-daily-plan .lr-daily-task-copy small{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v135-daily-plan .lr-daily-task-copy b{
  font-size:13px!important;
  line-height:1.25!important;
}
.v135-daily-plan .lr-daily-task-count{
  min-width:58px!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.v135-daily-plan .lr-daily-task.is-optional{
  opacity:.72!important;
}

/* Do not let fixed navigation obscure the first visible menu row. */
.v135-learning-menu{
  padding-bottom:84px!important;
}
.lr-bottom-nav{
  bottom:12px!important;
  max-width:620px!important;
  min-height:64px!important;
  padding:4px 10px!important;
  border-radius:19px!important;
}
.lr-bottom-nav button{
  min-height:52px!important;
}

/* Slightly reduce desktop canvas width: the concept is a phone/tablet-like app, not a web dashboard. */
@media(min-width:1000px){
  .lr-view[data-lr-view="home"]{
    max-width:670px!important;
  }
}
@media(max-width:620px){
  .v135-daily-plan .lr-daily-task{
    grid-template-columns:27px minmax(0,1fr) 56px 14px!important;
  }
  .v135-daily-plan .lr-daily-task-copy b{font-size:12px!important}
  .lr-bottom-nav{max-width:calc(100% - 20px)!important}
}

/* =========================================================
   V137 — WORD BOOK + PRACTICE TOP REBUILD
   Approved references: 02_wordbook.png / 04_practice_top.png
   ========================================================= */

/* WORD BOOK */
#library-app{
  max-width:690px!important;
}
.v137-library-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:72px!important;
  padding:8px 6px 12px!important;
}
.v137-library-titleblock{
  display:flex;
  align-items:center;
  gap:12px;
}
.v137-library-icon{
  width:52px;height:52px;
  border-radius:16px;
  display:grid;place-items:center;
  background:#fff1e6;
  font-size:31px;
  box-shadow:0 5px 12px rgba(111,78,53,.06);
}
.v137-library-header:before{display:none!important}
.v137-library-titleblock .library-title{
  font-size:31px!important;
  line-height:1.05!important;
}
.v137-library-subtitle{
  margin:7px 0 0;
  font-size:12px;
  color:#846f61;
}
.library-type-tabs{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  padding:5px!important;
  border-radius:17px!important;
  margin-bottom:12px!important;
}
.library-type-tab{
  min-height:44px!important;
  font-size:13px!important;
}
.library-analytics-card{
  padding:14px 16px!important;
  margin-bottom:13px!important;
}
.library-analytics-card .library-analytics-title{
  font-size:12px!important;
}
.library-progress-bar{
  height:9px!important;
}
.library-filter-panel{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
  grid-template-columns:minmax(0,1fr) 132px 132px!important;
}
.library-search-input{
  min-height:49px!important;
  border-radius:15px!important;
  background:#fffdf9!important;
  box-shadow:0 4px 11px rgba(96,70,49,.04)!important;
}
.library-filter-select{
  min-height:49px!important;
  border-radius:15px!important;
}
.library-filter-btn{
  min-height:44px!important;
  border-radius:13px!important;
}
.library-word-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.library-word-card{
  min-height:94px!important;
  border-radius:19px!important;
  padding:14px 46px 14px 16px!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  justify-content:center!important;
  box-shadow:0 5px 15px rgba(92,66,47,.055)!important;
}
.library-word-lemma{
  font-size:21px!important;
  color:#4a2e21!important;
}
.library-word-meaning{
  font-size:13px!important;
}
.library-pos-badge{
  padding:4px 8px!important;
}
.library-word-card:after{
  right:16px!important;
  font-size:23px!important;
}
.library-pos-heading{
  border-bottom:0!important;
  font-size:15px!important;
  margin-top:5px!important;
}
.library-filter-count{
  color:#8a7566!important;
}

/* PRACTICE TOP */
#practice-app{
  max-width:690px!important;
}
.practice-subnav{
  margin-bottom:10px!important;
}
.v137-practice-hero{
  position:relative;
  min-height:225px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid #ead6c3;
  background:
    radial-gradient(circle at 78% 36%,rgba(255,255,255,.95),transparent 23%),
    linear-gradient(135deg,#f9ead9 0%,#f6ddc6 55%,#fff7ef 100%);
  box-shadow:0 8px 22px rgba(101,73,51,.07);
  margin-bottom:14px;
}
.v137-practice-hero-copy{
  position:relative;z-index:2;
  width:58%;
  padding:31px 0 25px 26px;
}
.v137-practice-hero-copy small{
  color:#df6d27;font-size:10px;font-weight:800;letter-spacing:.12em
}
.v137-practice-hero .practice-title{
  font-size:45px!important;
  margin:4px 0 12px!important;
  line-height:1!important;
}
.v137-practice-hero p{
  color:#735b4c;
  font-size:16px;
  line-height:1.65;
  font-weight:600;
  margin:0;
}
.v137-practice-hero-art{
  position:absolute;
  right:10%;
  top:50%;
  transform:translateY(-50%);
  width:150px;height:150px;
  border-radius:50%;
  display:grid;place-items:center;
  font-size:74px;
  background:rgba(255,255,255,.45);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.v137-quickstart-card{
  padding:14px!important;
  border-radius:20px!important;
}
.v137-quickstart-title{
  font-size:16px;
  font-weight:800;
  color:#4a2e21;
  margin-bottom:12px;
}
.v137-quickstart-card>div:nth-child(2){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.v137-quickstart-card .practice-primary-preset{
  min-height:138px!important;
  padding:14px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  border-radius:18px!important;
  text-align:left!important;
}
.v137-quickstart-card .practice-primary-preset span{
  font-size:16px!important;
}
.v137-quickstart-card .practice-primary-preset small{
  font-size:10px!important;
  line-height:1.45!important;
}
.v137-quickstart-card .practice-secondary-preset{
  min-height:62px!important;
  border-radius:15px!important;
  padding:10px 12px!important;
}
.v137-quickstart-card .practice-secondary-preset span{font-size:12px!important}
.v137-quickstart-card .practice-secondary-preset small{font-size:8.5px!important}
.practice-card-box{
  border-radius:20px!important;
  padding:17px!important;
}
.practice-filter-row{
  gap:9px!important;
}
.practice-count-btn{
  min-width:74px!important;
  min-height:44px!important;
  border-radius:12px!important;
}
.practice-answer-mode-btn{
  min-height:56px!important;
}
.btn-start-drill{
  min-height:58px!important;
  font-size:17px!important;
  border-radius:18px!important;
}

/* GENERAL RESPONSIVE */
@media(max-width:620px){
  #library-app,#practice-app{max-width:100%!important}
  .v137-library-titleblock .library-title{font-size:26px!important}
  .v137-library-icon{width:46px;height:46px;font-size:27px}
  .library-type-tabs{overflow-x:auto!important;display:flex!important}
  .library-type-tab{min-width:96px!important}
  .library-filter-panel{grid-template-columns:1fr!important}
  .v137-practice-hero{min-height:190px}
  .v137-practice-hero-copy{width:62%;padding:25px 0 20px 20px}
  .v137-practice-hero .practice-title{font-size:37px!important}
  .v137-practice-hero p{font-size:13px}
  .v137-practice-hero-art{right:6%;width:120px;height:120px;font-size:58px}
  .v137-quickstart-card>div:nth-child(2){grid-template-columns:1fr!important}
  .v137-quickstart-card .practice-primary-preset{min-height:82px!important}
}

/* =========================================================
   V138 — GRAMMAR / PRACTICE QUESTION / PROGRESS / SETTINGS
   Approved references: 03 / 05 / 06 / 07
   ========================================================= */

/* Shared page headings */
.v138-page-heading{
  padding:10px 4px 13px!important;
  margin-bottom:8px!important;
}
.v138-page-titleblock{
  display:flex;
  align-items:center;
  gap:13px;
}
.v138-page-icon{
  width:50px;height:50px;
  display:grid;place-items:center;
  border-radius:16px;
  background:#fff1e7;
  box-shadow:0 5px 12px rgba(101,72,51,.055);
  font-size:27px;
}
.v138-page-titleblock .lr-page-title{font-size:31px!important}
.v138-page-titleblock p{margin:5px 0 0!important;font-size:12px!important}

/* GRAMMAR / CONJUGATION */
.library-grammar-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.library-grammar-card{
  min-height:116px!important;
  margin:0!important;
  padding:15px!important;
  border:1px solid #eadfd3!important;
  border-radius:18px!important;
  background:#fffdf9!important;
  box-shadow:0 5px 14px rgba(96,70,50,.05)!important;
}
.library-grammar-card:hover{
  border-color:#e8a77a!important;
  box-shadow:0 8px 18px rgba(244,122,43,.09)!important;
}
.library-grammar-card [style*="color:#0f172a"]{
  color:#4a2e21!important;
}
.library-grammar-card [style*="color:#64748b"],
.library-grammar-card [style*="color:#475569"]{
  color:#846f61!important;
}
.library-grammar-card [style*="background:#f1f5f9"]{
  background:#f7efe7!important;
}
#grammar-basic-10,
#grammar-subtab-160{
  border-radius:13px!important;
  min-height:44px!important;
}
#grammar-subtab-160{
  color:#786357!important;
}
#grammar160-panel input{
  min-height:47px!important;
  border-radius:14px!important;
  background:#fffefa!important;
  border-color:#ded0c4!important;
}
.grammar-card-dialog{
  border-radius:22px!important;
  background:#fffdf9!important;
  border:1px solid #eadfd4!important;
  box-shadow:0 22px 55px rgba(75,52,36,.18)!important;
}
.grammar-card-dialog .grammar-card-explanation{
  background:#fff7ef!important;
  border-radius:15px!important;
  color:#725c4d!important;
}

/* PRACTICE QUESTION */
.practice-session-header{
  background:transparent!important;
  border:0!important;
  padding:5px 2px 10px!important;
}
.practice-session-progress-track{
  height:7px!important;
  border-radius:999px!important;
  background:#eadfd6!important;
}
.practice-session-progress-track span{
  background:linear-gradient(90deg,#f7a160,#f47a2b)!important;
  border-radius:999px!important;
}
.v138-question-card{
  min-height:390px!important;
  border-radius:23px!important;
  padding:32px 28px!important;
  background:#fffdf9!important;
  border:1px solid #eadfd4!important;
  box-shadow:0 10px 28px rgba(91,65,46,.075)!important;
}
.v138-question-card .practice-prompt-label{
  color:#d96a27!important;
  font-size:11px!important;
  letter-spacing:.09em!important;
  font-weight:800!important;
}
.v138-question-card .practice-prompt-text{
  font-size:35px!important;
  line-height:1.3!important;
  color:#4a2e21!important;
  margin-top:12px!important;
}
.practice-choice-grid{
  gap:9px!important;
  margin-top:22px!important;
}
.practice-choice-btn{
  min-height:58px!important;
  border-radius:16px!important;
  background:#fffaf5!important;
  border-color:#e3d5c9!important;
  color:#4a2e21!important;
  font-size:15px!important;
}
.practice-choice-btn:hover{
  background:#fff0e5!important;
  border-color:#efb78d!important;
}
.practice-answer-box{
  margin-top:22px!important;
  border-radius:18px!important;
  padding:20px!important;
}
.practice-answer-text{
  font-size:34px!important;
}
.practice-eval-grid{
  margin-top:15px!important;
}
.practice-quit-btn{
  border-radius:12px!important;
  min-height:39px!important;
}

/* PROGRESS */
.lr-view[data-lr-view="progress"]{
  max-width:690px!important;
}
.lr-view[data-lr-view="progress"] .lr-progress-hero{
  grid-template-columns:145px minmax(0,1fr)!important;
  min-height:180px!important;
  padding:20px!important;
  border-radius:21px!important;
}
.lr-progress-donut{
  width:125px!important;height:125px!important;
}
.lr-progress-copy h3{font-size:21px!important}
.lr-progress-copy p{font-size:12px!important}
.lr-stat-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.lr-stat-card{
  min-height:105px!important;
  border-radius:18px!important;
  box-shadow:0 5px 14px rgba(95,69,49,.05)!important;
}
.lr-progress-section-label{
  margin:17px 2px 9px!important;
}
.lr-progress-insights{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.lr-insight-card{
  min-height:112px!important;
  border-radius:18px!important;
  padding:15px!important;
}
.lr-insight-card strong{
  font-size:28px!important;
}
.lr-progress-change-panel{
  border-radius:20px!important;
  margin-top:11px!important;
}
.lr-progress-details{
  margin-top:12px!important;
  border-radius:18px!important;
}
.lr-progress-details>summary{
  min-height:70px!important;
}

/* SETTINGS */
.lr-view[data-lr-view="settings"]{
  max-width:690px!important;
}
.lr-settings-summary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.lr-settings-summary-card{
  min-height:92px!important;
  border-radius:18px!important;
}
.lr-settings-card{
  border-radius:20px!important;
  padding:18px!important;
  margin-top:11px!important;
}
.lr-settings-card .lr-panel-head h3{
  font-size:18px!important;
}
.lr-settings-icon{
  width:39px;height:39px;
  display:grid!important;place-items:center!important;
  padding:0!important;
  border-radius:13px!important;
}
.lr-setting-block{
  padding:13px 0!important;
}
.lr-setting-pills{
  gap:7px!important;
}
.lr-setting-pills button{
  min-height:41px!important;
}
.lr-goal-editor-row{
  min-height:68px!important;
}
.lr-data-actions button{
  min-height:91px!important;
  padding:14px!important;
}
.lr-setting-status-row{
  min-height:68px!important;
}
.lr-settings-note{
  margin-bottom:22px!important;
}

/* Responsive */
@media(max-width:620px){
  .library-grammar-grid{grid-template-columns:1fr!important}
  .v138-question-card{min-height:340px!important;padding:25px 17px!important}
  .v138-question-card .practice-prompt-text{font-size:29px!important}
  .lr-view[data-lr-view="progress"] .lr-progress-hero{grid-template-columns:105px 1fr!important}
  .lr-progress-donut{width:96px!important;height:96px!important}
  .lr-stat-grid{grid-template-columns:1fr!important}
  .lr-progress-insights{grid-template-columns:1fr 1fr!important}
  .lr-settings-summary{grid-template-columns:1fr!important}
}

/* =========================================================
   V139 — RELEASE-CANDIDATE CROSS-SCREEN CONSISTENCY
   ========================================================= */
.lr-view,
#library-app,
#practice-app{
  width:min(100%,690px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.lr-view,
#library-app,
#practice-app,
#chunk-drill-root{
  padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))!important;
}
.lr-panel,
.library-container,
.library-word-card,
.library-grammar-card,
.practice-card-box,
.practice-session-card,
.lr-settings-card,
.lr-progress-hero{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.library-word-lemma,
.library-word-meaning,
.library-grammar-card,
.practice-prompt-text,
.practice-answer-text,
.lr-panel,
.lr-settings-card{
  overflow-wrap:anywhere;
  word-break:normal;
}
.lr-panel,
.library-analytics-card,
.library-filter-panel,
.practice-card-box,
.practice-session-card,
.lr-settings-card,
.lr-progress-hero,
.lr-progress-change-panel,
.lr-progress-details{
  margin-bottom:12px!important;
}
.app-main-nav,
.lr-topbar{
  display:none!important;
}
.lr-bottom-nav{
  z-index:1000!important;
}
@media(min-width:1000px){
  body{
    background:
      radial-gradient(circle at 50% 0%,rgba(255,255,255,.78),transparent 36%),
      linear-gradient(180deg,#fbf7f1 0%,#f5ede3 100%)!important;
  }
}
@media(max-width:430px){
  .lr-view,
  #library-app,
  #practice-app{
    width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .lr-bottom-nav{
    width:calc(100% - 18px)!important;
    max-width:none!important;
    left:9px!important;
    right:9px!important;
  }
}

/* =========================================================
   V141 — PRACTICE QUESTION STRUCTURAL FIDELITY
   Approved reference: design_reference/05_practice_question.png
   ========================================================= */
.practice-session-shell{
  max-width:690px!important;
  margin:0 auto!important;
}
.practice-session-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  padding:4px 3px 13px!important;
}
.practice-session-progress-copy{
  min-width:0!important;
}
.practice-session-step{
  display:block!important;
  margin-bottom:8px!important;
  color:#513526!important;
  font-size:18px!important;
  font-weight:800!important;
}
.practice-session-progress-track{
  max-width:330px!important;
}
.practice-quit-btn{
  align-self:start!important;
  min-width:112px!important;
  min-height:44px!important;
  padding:9px 14px!important;
  background:#fffaf5!important;
  border:1px solid #e4d2c3!important;
  color:#725646!important;
  box-shadow:0 4px 11px rgba(91,65,46,.05)!important;
}

.v141-question-card{
  padding:0!important;
  overflow:hidden!important;
  min-height:520px!important;
  background:
    linear-gradient(180deg,#fffdf9 0%,#fffaf5 72%,#fff5e9 100%)!important;
}
.v141-question-intro{
  position:relative;
  min-height:190px;
  display:flex;
  align-items:flex-start;
  overflow:hidden;
  padding:24px 230px 20px 24px;
  border-bottom:1px solid #f0e3d8;
  background:
    radial-gradient(circle at 85% 34%,rgba(255,241,228,.9),transparent 28%),
    linear-gradient(135deg,#fffdf9,#fff8f0);
}
.v141-question-intro-copy{
  display:flex;
  gap:12px;
  align-items:flex-start;
  position:relative;
  z-index:2;
}
.v141-question-guide-icon{
  width:40px;height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff0e4;
  color:#f47a2b;
  font-size:20px;
  font-weight:900;
}
.v141-question-intro h3{
  margin:2px 0 8px;
  color:#4a2e21;
  font-size:20px;
  line-height:1.35;
  letter-spacing:-.02em;
}
.v141-question-intro p{
  margin:0;
  max-width:320px;
  color:#806a5c;
  font-size:12px;
  line-height:1.65;
}
.v141-question-character{
  position:absolute;
  right:0;bottom:0;
  width:240px;height:185px;
  background-image:
    linear-gradient(90deg,rgba(255,253,249,1) 0%,rgba(255,253,249,.28) 14%,rgba(255,253,249,0) 28%),
    url("./assets/home_hero_character.jpg");
  background-size:auto 100%;
  background-repeat:no-repeat;
  background-position:right bottom;
}
.v141-question-character:after{
  content:"화이팅!";
  position:absolute;
  right:16px;top:20px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,253,249,.9);
  border:1px solid #eadbce;
  color:#7a5e4c;
  font-size:11px;
  font-weight:800;
  transform:rotate(-3deg);
}
.v141-prompt-panel{
  margin:18px 20px 0;
  padding:20px 22px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff6ea,#fffaf5);
  border:1px solid #f0ddca;
}
.v141-prompt-panel .practice-prompt-label{
  margin-bottom:7px!important;
}
.v141-prompt-panel .practice-prompt-text{
  margin-top:0!important;
  font-size:31px!important;
  line-height:1.3!important;
}
.v141-prompt-audio{
  margin:14px 0 0!important;
  min-height:41px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid #efc39f;
  background:#fff0e4;
  color:#cf641f;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.v141-answer-zone{
  padding:18px 20px 24px;
}
.v141-answer-zone .practice-typed-wrap{
  margin-top:0!important;
}
.v141-answer-zone .practice-typed-label{
  color:#8b7465!important;
}
.v141-answer-zone .practice-typed-input,
.v141-answer-zone input[type="text"]{
  min-height:60px!important;
  border-radius:17px!important;
  border:1.5px solid #dfcfc1!important;
  background:#fffefa!important;
  padding-left:17px!important;
  padding-right:17px!important;
  font-size:17px!important;
}
.v141-answer-zone .practice-typed-input:focus,
.v141-answer-zone input[type="text"]:focus{
  border-color:#ef8e4d!important;
  box-shadow:0 0 0 4px rgba(244,122,43,.10)!important;
}
.v141-answer-zone .practice-typed-submit,
.v141-answer-zone button[id^="btn-submit-"]{
  min-height:56px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#ff9a50,#f47a2b)!important;
  color:#fff!important;
  border:0!important;
  font-size:16px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(244,122,43,.18)!important;
}
.v141-answer-zone .practice-typed-submit:disabled,
.v141-answer-zone button[id^="btn-submit-"]:disabled{
  opacity:.45!important;
  box-shadow:none!important;
}
.v141-answer-zone .practice-choice-grid{
  margin-top:0!important;
}
.v141-answer-zone .practice-choice-btn{
  min-height:60px!important;
  background:#fffdf9!important;
}
.v141-answer-zone .practice-arrange-answer,
.v141-answer-zone .practice-fill-wrap,
.v141-answer-zone .practice-audio-answer{
  border-radius:17px!important;
}

/* Context questions stay readable above the prompt panel. */
.v141-question-card .practice-context-thread{
  margin:18px 20px 0!important;
  border-radius:17px!important;
  background:#fffaf5!important;
  border:1px solid #eadfd5!important;
}

/* Bottom nav remains visible like the approved question concept. */
.practice-session-shell{
  padding-bottom:80px!important;
}

@media(max-width:620px){
  .practice-session-toolbar{
    grid-template-columns:1fr auto!important;
  }
  .practice-session-step{font-size:16px!important}
  .practice-quit-btn{min-width:94px!important}
  .v141-question-intro{
    min-height:165px;
    padding:20px 155px 17px 17px;
  }
  .v141-question-character{
    width:165px;height:155px;
  }
  .v141-question-character:after{
    right:6px;top:13px;font-size:9px;padding:5px 8px;
  }
  .v141-question-guide-icon{
    width:34px;height:34px;flex-basis:34px;font-size:17px;
  }
  .v141-question-intro h3{font-size:16px}
  .v141-question-intro p{font-size:10px}
  .v141-prompt-panel{
    margin:14px 14px 0;padding:16px;
  }
  .v141-prompt-panel .practice-prompt-text{font-size:26px!important}
  .v141-answer-zone{padding:14px 14px 20px}
}

/* =========================================================
   V142 — PROGRESS + SETTINGS STRUCTURAL FIDELITY
   ========================================================= */
.lr-view[data-lr-view="progress"]{max-width:690px!important}
.v142-progress-hero-banner{position:relative;min-height:250px;overflow:hidden;margin-bottom:14px;border-radius:23px;border:1px solid #ead7c6;background:linear-gradient(135deg,#f9ead9 0%,#f7e4d2 53%,#fff8f1 100%);box-shadow:0 8px 22px rgba(101,73,51,.07)}
.v142-progress-hero-copy{position:relative;z-index:2;width:56%;padding:34px 0 26px 27px}
.v142-progress-hero-copy .lr-page-title{font-size:42px!important;line-height:1!important;color:#4a2e21!important}
.v142-progress-hero-copy p{margin:14px 0 22px;color:#745d4e;font-size:14px;line-height:1.55;font-weight:600}
.v142-progress-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:280px;padding:4px;border-radius:16px;background:rgba(255,253,249,.92);border:1px solid #ebdacb;box-shadow:0 4px 12px rgba(96,69,49,.05)}
.v142-progress-tabs button{min-height:40px;border:0;border-radius:12px;background:transparent;color:#725d50;font-size:13px;font-weight:800}
.v142-progress-tabs button.active{background:linear-gradient(135deg,#ff9c55,#f47a2b);color:#fff}
.v142-progress-hero-art{position:absolute;right:0;top:0;bottom:0;width:53%;background-image:linear-gradient(90deg,#f9ead9 0%,rgba(249,234,217,.28) 14%,rgba(249,234,217,0) 28%),url("./assets/home_hero_character.jpg");background-size:auto 100%;background-repeat:no-repeat;background-position:right center}
.v142-progress-hero-art:after{content:"화이팅!";position:absolute;top:35px;right:20px;padding:7px 11px;border-radius:999px;background:rgba(255,253,249,.88);border:1px solid #ead9cc;color:#72594b;font-size:11px;font-weight:800;transform:rotate(-4deg)}
.lr-view[data-lr-view="progress"] .lr-progress-hero{width:calc(66.66% - 6px)!important;display:inline-grid!important;vertical-align:top;margin-right:8px!important;min-height:188px!important}
.v142-streak-card{display:inline-flex;width:calc(33.33% - 6px);min-height:188px;vertical-align:top;box-sizing:border-box;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid #eadfd4;border-radius:21px;background:linear-gradient(145deg,#fffdf9,#fff7ec);box-shadow:0 7px 18px rgba(97,70,50,.055)}
.v142-streak-card>div{display:flex;align-items:center;gap:8px;color:#4a2e21;font-weight:800}
.v142-streak-icon{font-size:23px}
.v142-streak-card strong{color:#e86920;font-size:42px;line-height:1}
.v142-streak-card small{color:#8b7667;font-size:10px}
.lr-view[data-lr-view="progress"] .lr-stat-grid{clear:both!important;padding-top:12px!important}
.lr-progress-section-label span{font-size:18px!important;color:#4a2e21!important;font-weight:900!important}
.lr-progress-insights{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.lr-insight-card{min-height:138px!important;justify-content:flex-start!important;gap:7px!important}
.lr-insight-card:nth-child(1){background:linear-gradient(145deg,#fff7df,#fffdf9)!important}
.lr-insight-card:nth-child(2){background:linear-gradient(145deg,#f0e8fb,#fffdf9)!important}
.lr-insight-card:nth-child(3){background:linear-gradient(145deg,#eaf5e8,#fffdf9)!important}
.lr-insight-card:nth-child(4){background:linear-gradient(145deg,#e9f3fb,#fffdf9)!important}
.lr-insight-card strong{font-size:26px!important}
.lr-insight-card span{font-size:10px!important;line-height:1.45!important}

.lr-view[data-lr-view="settings"]{max-width:690px!important}
.v142-settings-title{margin:8px 4px 12px;color:#4a2e21;font-size:39px;line-height:1;font-weight:900;letter-spacing:-.04em}
.v142-settings-hero{position:relative;min-height:270px;overflow:hidden;border-radius:23px;border:1px solid #ead7c5;background:linear-gradient(135deg,#f9ead9,#fff8f0);box-shadow:0 8px 22px rgba(101,73,51,.07);margin-bottom:14px}
.v142-settings-art{position:absolute;left:0;top:0;bottom:0;width:48%;background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,248,240,.08)),url("./assets/home_hero_character.jpg");background-size:auto 100%;background-repeat:no-repeat;background-position:left center}
.v142-settings-copy{position:absolute;top:38px;right:25px;width:45%;z-index:2}
.v142-settings-copy h2{margin:0 0 10px;color:#4a2e21;font-size:28px}
.v142-settings-copy p{margin:0;color:#786052;font-size:14px;line-height:1.6;font-weight:600}
.v142-settings-goal{position:absolute;left:20px;right:20px;bottom:16px;min-height:70px;padding:14px 17px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:18px;background:rgba(255,253,249,.94);border:1px solid #ebdccf;box-shadow:0 7px 16px rgba(90,64,46,.06);z-index:3}
.v142-settings-goal span{color:#5b3e2f;font-size:15px;font-weight:800}
.v142-settings-goal strong{color:#f47a2b;font-size:22px}
.v142-settings-summary-hidden{display:none!important}
.v142-settings-menu-card{position:relative;padding:18px!important;border-radius:20px!important;background:#fffdf9!important}
.v142-settings-menu-card>.lr-panel-head{min-height:52px;margin-bottom:10px!important}
.v142-settings-menu-card>.lr-panel-head h3{font-size:19px!important}
.v142-settings-menu-card>.lr-panel-head:after{content:"›";margin-left:auto;color:#8d796a;font-size:28px;font-weight:300}
.v142-settings-menu-card .lr-mini-label{font-size:9px!important}
.v142-audio-card .lr-settings-icon{background:#ffe1d4!important;color:#e76e2a!important}
.v142-goal-card .lr-settings-icon{background:#ffe2df!important;color:#dc675d!important}
.v142-backup-card .lr-settings-icon{background:#e1f0e2!important;color:#58a267!important}
.v142-data-card .lr-settings-icon{background:#f8e8c6!important;color:#d7982b!important}
.v142-backup-card .lr-data-actions{grid-template-columns:1fr!important;gap:9px!important}
.v142-backup-card .lr-data-actions button{min-height:78px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;text-align:left!important;column-gap:12px!important}
.v142-backup-card .lr-data-actions button>span{grid-row:1/3;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e8f3e8!important;color:#58a267!important}
.v142-backup-card .lr-data-actions button:nth-child(2)>span{background:#e6eef9!important;color:#5d8ec2!important}
.v142-backup-card .lr-data-actions button b{font-size:15px!important}
.v142-backup-card .lr-data-actions button small{font-size:10px!important;color:#8a7668!important}
.v142-data-card .lr-install-guide{margin-top:8px!important}
.v142-data-card .lr-setting-info{margin-top:9px!important}

@media(max-width:620px){
  .v142-progress-hero-banner{min-height:215px}
  .v142-progress-hero-copy{width:58%;padding:27px 0 22px 20px}
  .v142-progress-hero-copy .lr-page-title{font-size:34px!important}
  .v142-progress-tabs{width:220px}
  .v142-progress-hero-art{width:58%}
  .lr-view[data-lr-view="progress"] .lr-progress-hero{width:100%!important;margin-right:0!important}
  .v142-streak-card{width:100%!important;min-height:120px;margin-bottom:12px}
  .lr-progress-insights{grid-template-columns:repeat(2,1fr)!important}
  .v142-settings-title{font-size:33px}
  .v142-settings-hero{min-height:235px}
  .v142-settings-art{width:52%}
  .v142-settings-copy{right:17px;top:28px;width:45%}
  .v142-settings-copy h2{font-size:23px}
  .v142-settings-copy p{font-size:11px}
  .v142-settings-goal{left:14px;right:14px;bottom:13px}
}

/* =========================================================
   V143 — LIVE DATA / INTERACTION POLISH
   ========================================================= */
.v142-progress-tabs button{
  cursor:pointer;
  transition:background .14s ease,color .14s ease,transform .14s ease;
}
.v142-progress-tabs button:active{transform:scale(.98)}
.v142-streak-card strong{
  font-variant-numeric:tabular-nums;
}
.v142-settings-goal strong{
  min-width:70px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#lr-progress-change-panel,
#lr-progress-week-panel,
.lr-progress-details{
  scroll-margin-top:18px!important;
}

/* =========================================================
   V144 — FINAL ACCESSIBILITY / RELEASE STABILITY
   ========================================================= */
.v142-progress-tabs button:focus-visible,
.v142-settings-hero button:focus-visible{
  outline:3px solid rgba(244,122,43,.24)!important;
  outline-offset:2px!important;
}
.v142-progress-tabs button[aria-selected="true"]{
  box-shadow:0 5px 12px rgba(244,122,43,.16)!important;
}
.v142-settings-goal strong{
  letter-spacing:-.02em;
}

/* =========================================================
   V158 — REAL SCREEN FIXES FROM 2026-09-26 ACCEPTANCE CAPTURES
   ========================================================= */

/* Grammar tab visibility must beat the legacy grid !important rule. */
#grammar-basic-panel[hidden],
#grammar160-panel[hidden]{
  display:none!important;
}
#grammar-basic-panel:not([hidden]){
  display:grid!important;
}
#grammar160-panel:not([hidden]){
  display:block!important;
}

/* Make the 160 library genuinely readable on desktop. */
.v158-grammar160-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.v158-grammar160-grid .conversation-grammar160-card{
  margin:0!important;
  min-height:126px!important;
  background:#fffdf9!important;
  border-color:#eadfd3!important;
  box-shadow:0 4px 12px rgba(92,66,47,.05)!important;
}
@media(max-width:620px){
  .v158-grammar160-grid{grid-template-columns:1fr!important}
}

/* Practice hub belongs BELOW the hero and spans the full content width. */
.practice-v34-hub{
  width:100%!important;
  box-sizing:border-box!important;
}
.practice-v34-feature{
  grid-template-columns:1fr!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.practice-v34-feature-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
}
.practice-v34-feature-actions .practice-v34-mode-card{
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-rows:auto 1fr!important;
  align-content:start!important;
}
.practice-v34-feature-actions .practice-v34-mode-icon{
  grid-row:1/3!important;
  align-self:start!important;
}
.practice-v34-feature-actions .practice-v34-mode-copy b{
  font-size:15px!important;
  line-height:1.35!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
}
.practice-v34-feature-actions .practice-v34-mode-copy small{
  font-size:11px!important;
  line-height:1.5!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
}

/* Replace the placeholder emoji hero art with the existing approved illustration asset. */
.v137-practice-hero-art{
  right:0!important;
  top:0!important;
  bottom:0!important;
  transform:none!important;
  width:58%!important;
  height:auto!important;
  border-radius:0!important;
  background:
    linear-gradient(90deg,rgba(249,234,217,.98) 0%,rgba(249,234,217,.35) 14%,rgba(249,234,217,0) 30%),
    url("./assets/home_hero_character.jpg") right center / auto 100% no-repeat!important;
  color:transparent!important;
  box-shadow:none!important;
  font-size:0!important;
}
.v137-practice-hero-copy{
  width:52%!important;
}
@media(max-width:700px){
  .practice-v34-feature-actions{grid-template-columns:1fr!important}
  .practice-v34-feature-actions .practice-v34-mode-card{min-height:78px!important}
  .v137-practice-hero-copy{width:58%!important}
}
