    .material-symbols-outlined {
      font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24';
    }
    .brutal-shadow { box-shadow: 6px 6px 0px 0px #000000; }
    .brutal-shadow-hover:hover { box-shadow: 4px 4px 0px 0px #000000; transform: translate(2px, 2px); }
    .premium-glow { box-shadow: 0 0 20px rgba(53, 37, 205, 0.3), 6px 6px 0px 0px #000000; }
    .transition-all { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
    /* Prevent shadow clipping from content-panel overflow:hidden */
    #pnl-report-ai.content-panel.active { overflow-x: visible; overflow-y: visible; }
    #sub-rai-crea { overflow: visible; }

    #pnl-trascrizioni.content-panel.active { overflow-x: visible; }
    #pnl-wordbanks.content-panel.active { overflow: visible; }
    #pnl-vocabulary-builder.content-panel.active { overflow: visible; }
    /* ── Gradient card backgrounds (matching index.html SFIDA style) ── */
    /* Cyan — all metric cards */
    .metric-card {
      background:linear-gradient(135deg,rgba(6,182,212,.25),rgba(8,145,178,.14),rgba(6,182,212,.06)) !important;
      border-color:rgba(6,182,212,.22) !important;
    }
    .metric-card:hover { border-color:rgba(6,182,212,.35) !important; }
    [data-theme="dark"] .metric-card {
      background:linear-gradient(135deg,rgba(6,182,212,.12),rgba(8,145,178,.06),rgba(6,182,212,.02)) !important;
      border-color:rgba(6,182,212,.1) !important;
    }
    [data-theme="dark"] .metric-card:hover { border-color:rgba(6,182,212,.22) !important; }

    /* Amber — review / due / urgency cards */
    .metric-card.amber {
      background:linear-gradient(135deg,rgba(217,119,6,.25),rgba(180,83,9,.14),rgba(217,119,6,.06)) !important;
      border-color:rgba(217,119,6,.22) !important;
    }
    .metric-card.amber:hover { border-color:rgba(217,119,6,.35) !important; }
    [data-theme="dark"] .metric-card.amber {
      background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(217,119,6,.06),rgba(245,158,11,.02)) !important;
      border-color:rgba(245,158,11,.1) !important;
    }
    [data-theme="dark"] .metric-card.amber:hover { border-color:rgba(245,158,11,.22) !important; }

    /* Purple — personal / admin cards */
    .alt-card {
      background:linear-gradient(135deg,rgba(192,132,252,.2),rgba(99,102,241,.12),rgba(192,132,252,.05)) !important;
      border-color:rgba(192,132,252,.18) !important;
    }
    .alt-card:hover { border-color:rgba(192,132,252,.3) !important; }
    [data-theme="dark"] .alt-card {
      background:linear-gradient(135deg,rgba(192,132,252,.1),rgba(99,102,241,.05),rgba(192,132,252,.015)) !important;
      border-color:rgba(192,132,252,.1) !important;
    }
    [data-theme="dark"] .alt-card:hover { border-color:rgba(192,132,252,.22) !important; }

    /* Green — vocabulary / word banks */
    #pnl-vocabulary-builder .alt-card,
    #pnl-wordbanks .alt-card {
      background:linear-gradient(135deg,rgba(16,185,129,.25),rgba(5,150,105,.14),rgba(16,185,129,.06)) !important;
      border-color:rgba(16,185,129,.22) !important;
    }
    #pnl-vocabulary-builder .alt-card:hover,
    #pnl-wordbanks .alt-card:hover { border-color:rgba(16,185,129,.35) !important; }
    [data-theme="dark"] #pnl-vocabulary-builder .alt-card,
    [data-theme="dark"] #pnl-wordbanks .alt-card {
      background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(5,150,105,.06),rgba(16,185,129,.02)) !important;
      border-color:rgba(16,185,129,.1) !important;
    }
    [data-theme="dark"] #pnl-vocabulary-builder .alt-card:hover,
    [data-theme="dark"] #pnl-wordbanks .alt-card:hover { border-color:rgba(16,185,129,.22) !important; }

    /* Cyan — grammar notes (was amber) */
    #pnl-insights .alt-card {
      background:linear-gradient(135deg,rgba(6,182,212,.25),rgba(8,145,178,.14),rgba(6,182,212,.06)) !important;
      border-color:rgba(6,182,212,.22) !important;
    }
    #pnl-insights .alt-card:hover { border-color:rgba(6,182,212,.35) !important; }
    [data-theme="dark"] #pnl-insights .alt-card {
      background:linear-gradient(135deg,rgba(6,182,212,.12),rgba(8,145,178,.06),rgba(6,182,212,.02)) !important;
      border-color:rgba(6,182,212,.1) !important;
    }
    [data-theme="dark"] #pnl-insights .alt-card:hover { border-color:rgba(6,182,212,.22) !important; }

    /* Sparkline bar hover + tooltip */
    .sparkline { position:relative; overflow:visible; }
    .sparkline .bar { position:relative; transition:background .25s,opacity .25s,box-shadow .25s; cursor:pointer; border-radius:2px 2px 0 0; }
    .sparkline .bar:hover { background:var(--cyan) !important; opacity:1 !important; box-shadow:0 0 8px rgba(6,182,212,.5); z-index:5; }
    .sparkline .bar:hover::after { content:attr(data-tip); position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); background:rgba(0,0,0,.92); color:#fff; font-size:10px; padding:3px 7px; border-radius:5px; white-space:nowrap; pointer-events:none; z-index:20; }

    /* Chart bar hover tooltip */
    .chart-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:rgba(15,17,23,.94);color:#e2e8f0;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:99;opacity:0;transition:opacity .15s;box-shadow:0 3px 12px rgba(0,0,0,.3)}
    .chart-tooltip.show{opacity:1}

    /* ── CEFR Info Icon (ⓘ) ── */
    .cefr-info-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;font-size:10px;font-weight:700;line-height:1;color:var(--text-muted);background:var(--line);cursor:help;margin-left:5px;vertical-align:middle;transition:all .2s;position:relative;flex-shrink:0}
    .cefr-info-icon:hover{color:#fff;background:var(--cyan);box-shadow:0 0 8px rgba(6,182,212,.35);transform:scale(1.15)}
    .cefr-info-icon::after{content:attr(data-cefr-info);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:rgba(15,17,23,.94);color:#e2e8f0;font-size:11px;font-weight:400;line-height:1.35;padding:5px 10px;border-radius:6px;white-space:nowrap;max-width:240px;pointer-events:none;z-index:999;opacity:0;transition:opacity .18s;box-shadow:0 3px 12px rgba(0,0,0,.25)}
    .cefr-info-icon:hover::after{opacity:1}

    /* ── Word Banks tab ── */
    .fchip{font-size:13px;font-weight:600;padding:8px 20px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);color:var(--text-soft);cursor:pointer;font-family:var(--font-ui);transition:all var(--transition);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
    .fchip:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(6,182,212,.06)}
    .fchip.active{background:var(--cyan);color:#fff;border-color:var(--cyan)}
    .wb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;margin-bottom:18px;min-width:0}
    .wb-stat{padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);overflow:hidden}
    .wb-stat .stat-value{font-size:20px;font-weight:800;color:var(--cyan);line-height:1.1}
    .wb-stat .stat-label{font-size:9px;color:var(--text-faint);margin-top:2px;text-transform:uppercase;letter-spacing:.05em}
    .wb-search-bar{display:flex;gap:8px;margin-bottom:20px;align-items:center;flex-wrap:wrap}
    .wb-search-input{flex:1;min-width:0;max-width:100%;padding:9px 16px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);color:var(--text);font-size:14px;font-family:var(--font-ui);outline:none;transition:border var(--transition)}
    .wb-search-input:focus{border-color:var(--cyan)}
    .wb-search-input::placeholder{color:var(--text-faint)}
    .wb-filter-chips{display:flex;gap:8px;flex-wrap:wrap}
    .wb-section{margin-bottom:28px}
    .wb-section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
    .wb-section-head h3{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0;text-transform:uppercase;letter-spacing:.04em}
    .wb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;min-width:0}.wb-grid>*{min-width:0}
    .wb-card{display:flex;flex-direction:column;gap:5px;overflow:hidden;position:relative;border-left:3px solid transparent;transition:border-color .2s}
    .wb-card.pinned{border-left-color:var(--purple)}
    .wb-card.smart{border-left-color:var(--cyan)}
    .wb-card.custom{border-left-color:var(--teal)}
    .wb-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
    .wb-card-head h4{font-size:14px;font-weight:700;margin:0;line-height:1.3;word-break:break-word;padding-right:28px}
    .wb-card-subtitle{font-size:11px;color:var(--text-soft);margin-bottom:2px;line-height:1.4}
    .wb-card-count{font-size:32px;font-weight:900;color:var(--cyan);line-height:1}
    .wb-card-signal{font-size:11px;color:var(--text-soft)}
    .wb-card-actions{margin-top:auto;padding-top:8px}
    .wb-card-actions .btn-action{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:all .2s;border:none;text-decoration:none}
    .wb-card-actions .btn-action.pinned-action{background:rgba(124,58,237,.14);color:#7c3aed;border:1.5px solid rgba(124,58,237,.28)}
    .wb-card-actions .btn-action.pinned-action:hover{background:rgba(124,58,237,.24);border-color:rgba(124,58,237,.45)}
    .wb-card-actions .btn-action.smart-action{background:rgba(6,182,212,.14);color:#0895b0;border:1.5px solid rgba(6,182,212,.28)}
    .wb-card-actions .btn-action.smart-action:hover{background:rgba(6,182,212,.24);border-color:rgba(6,182,212,.45)}
    .wb-card-actions .btn-action.custom-action{background:rgba(5,150,105,.14);color:#059669;border:1.5px solid rgba(5,150,105,.28)}
    .wb-card-actions .btn-action.custom-action:hover{background:rgba(5,150,105,.24);border-color:rgba(5,150,105,.45)}
    [data-theme="dark"] .wb-card-actions .btn-action.pinned-action{background:rgba(167,139,250,.16);color:#c4b5fd;border-color:rgba(167,139,250,.30)}
    [data-theme="dark"] .wb-card-actions .btn-action.pinned-action:hover{background:rgba(167,139,250,.26);border-color:rgba(167,139,250,.50)}
    [data-theme="dark"] .wb-card-actions .btn-action.smart-action{background:rgba(34,211,238,.16);color:#67e8f9;border-color:rgba(34,211,238,.30)}
    [data-theme="dark"] .wb-card-actions .btn-action.smart-action:hover{background:rgba(34,211,238,.26);border-color:rgba(34,211,238,.50)}
    [data-theme="dark"] .wb-card-actions .btn-action.custom-action{background:rgba(52,211,153,.16);color:#6ee7b7;border-color:rgba(52,211,153,.30)}
    [data-theme="dark"] .wb-card-actions .btn-action.custom-action:hover{background:rgba(52,211,153,.26);border-color:rgba(52,211,153,.50)}
    /* ── Three-dot menu ── */
    .wb-menu-trigger{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:8px;border:1.5px solid transparent;background:transparent;cursor:pointer;font-size:15px;color:var(--text-faint);display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2}
    .wb-menu-trigger:hover{background:var(--bg);border-color:var(--line);color:var(--text)}
    /* ── Dropdown menu ── */
    .wb-menu-dropdown{background:var(--card);border:1.5px solid var(--line);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);padding:6px;z-index:20;overflow:hidden}
    [data-theme="dark"] .wb-menu-dropdown{box-shadow:0 8px 32px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.25)}
    .wb-menu-item{display:flex;align-items:center;width:100%;padding:9px 14px;border-radius:10px;border:none;background:transparent;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-ui);transition:all .15s;text-align:left;white-space:nowrap}
    .wb-menu-item:hover{background:var(--bg);color:var(--cyan)}
    .wb-menu-item.danger{color:#dc2626}
    .wb-menu-item.danger:hover{background:rgba(220,38,38,.08);color:#dc2626}
    [data-theme="dark"] .wb-menu-item{color:var(--text)}
    [data-theme="dark"] .wb-menu-item:hover{background:var(--bg);color:var(--cyan)}
    [data-theme="dark"] .wb-menu-item.danger{color:#f87171}
    [data-theme="dark"] .wb-menu-item.danger:hover{background:rgba(248,113,113,.12);color:#fca5a5}
    .section-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 12px;border-radius:100px;flex-shrink:0;white-space:nowrap}
    .badge-pinned{background:rgba(124,58,237,.18);color:#7c3aed}
    .badge-smart{background:rgba(6,182,212,.18);color:#0895b0}
    .badge-custom{background:rgba(5,150,105,.18);color:#059669}
    [data-theme="dark"] .badge-pinned{background:rgba(124,58,237,.22);color:#a78bfa}
    [data-theme="dark"] .badge-smart{background:rgba(6,182,212,.22);color:#22d3ee}
    [data-theme="dark"] .badge-custom{background:rgba(5,150,105,.22);color:#34d399}
    .wb-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 0 14px;flex-wrap:wrap;gap:10px}
    .bulk-bar{display:none;align-items:center;gap:8px;padding:9px 14px;background:var(--cyan);border-radius:var(--radius-md);margin-bottom:10px;color:#fff;font-size:12px;font-weight:600;flex-wrap:wrap}
    .bulk-bar.active{display:flex}
    .bulk-bar button{padding:5px 12px;border-radius:100px;font-size:11px;font-weight:600;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;cursor:pointer;font-family:var(--font-ui);transition:all var(--transition)}
    .bulk-bar button:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.6)}
    .bulk-bar .bulk-close{margin-left:auto;background:none;border:none;font-size:15px;cursor:pointer;opacity:.7}
    .bulk-bar .bulk-close:hover{opacity:1}
    .wb-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
    .wb-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed;min-width:480px}
    .wb-table th{text-align:left;padding:9px 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:2px solid var(--line-strong)}
    .wb-table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
    .wb-table tbody tr{transition:background var(--transition);cursor:pointer}
    .wb-table tbody tr:hover{background:var(--teal-4)}
    .wb-table tbody tr.selected{background:rgba(6,182,212,.1)}
    .wb-table .cb{width:28px;text-align:center}
    .wb-table th.sortable{cursor:pointer;user-select:none;transition:color .2s}
    .wb-table th.sortable:hover{color:var(--text-soft)}
    .wb-table th .sort-arrow{font-size:8px;margin-left:3px;opacity:.35;display:inline-block;transition:opacity .2s,transform .2s}
    .wb-table th.sort-asc .sort-arrow{opacity:1;color:var(--cyan)}
    .wb-table th.sort-desc .sort-arrow{opacity:1;color:var(--cyan);transform:scaleY(-1)}
    .wb-word{font-weight:700;color:var(--text);cursor:pointer}
    .wb-word:hover{color:var(--cyan)}
    .badge-pos{background:var(--teal-4);color:var(--teal)}
    .badge-cefr{background:var(--purple-soft);color:var(--purple)}
    .badge-cefr.cefr-A1{background:rgba(5,150,105,.12);color:#059669}
    .badge-cefr.cefr-A2{background:rgba(8,145,178,.12);color:#0895b0}
    .badge-cefr.cefr-B1{background:rgba(14,116,144,.12);color:#0e7490}
    .badge-cefr.cefr-B2{background:rgba(124,58,237,.12);color:#7c3aed}
    .badge-cefr.cefr-C1{background:rgba(217,119,6,.12);color:#d97706}
    .badge-cefr.cefr-C2{background:rgba(220,38,38,.12);color:#dc2626}
    .badge-new{background:var(--blue-soft);color:var(--blue)}
    .badge-learning{background:var(--amber-soft);color:var(--amber)}
    .badge-known{background:var(--green-soft);color:var(--green)}
    .badge-source{background:var(--line);color:var(--text-soft)}
    .drawer-overlay{display:none;position:fixed;background:rgba(0,0,0,.55);z-index:1000;backdrop-filter:blur(4px)}
    .drawer-overlay.active{display:block}
    .drawer{position:fixed;right:0;top:0;bottom:0;width:440px;max-width:100vw;background:var(--card);border-left:1px solid var(--line);z-index:1001;overflow-y:auto;padding:28px 24px;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.3)}
    .drawer.active{transform:translateX(0)}
    .drawer-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--text-soft);transition:all var(--transition)}
    .drawer-close:hover{background:var(--line);color:var(--text)}
    .drawer h3{font-size:26px;font-weight:900;margin:0 0 0;letter-spacing:-.02em;padding-right:32px}
    .drawer-ipa{font-size:15px;color:var(--text-soft);font-family:'Gentium Plus','Charis SIL','Times New Roman',serif;margin:2px 0 4px}
    .drawer-meta{display:flex;gap:6px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
    .drawer-meta .badge{font-size:10px;padding:2px 8px;border-radius:100px;font-weight:700;letter-spacing:.03em}
    .drawer-section{margin-bottom:16px}
    .drawer-section h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:6px}
    .drawer-section p{font-size:13px;color:var(--text-soft);line-height:1.5}
    .membership-list{display:flex;flex-wrap:wrap;gap:5px}
    .membership-chip{font-size:10px;padding:3px 9px;border-radius:100px;background:var(--teal-4);color:var(--teal);font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s}
    .membership-chip:hover{background:var(--teal-4);border-color:var(--teal);opacity:.8}
    .membership-chip.add-chip{background:rgba(6,182,212,.06);color:var(--cyan);border:1px dashed rgba(6,182,212,.25)}
    .membership-chip.add-chip:hover{background:rgba(6,182,212,.15);border-style:solid}
    .drawer-signals{display:grid;grid-template-columns:1fr 1fr;gap:6px}
    .drawer-signal{font-size:11px;color:var(--text-soft)}
    .drawer-signal strong{color:var(--text)}
    @media(max-width:860px){.drawer{width:100vw}.wb-grid{grid-template-columns:1fr}}

    /* ═══ PERCORSO SUBTAB ═══ */
    #sub-compiti.active{display:flex;flex-direction:column;gap:18px}
    .percorso-subhead{margin:6px 0 0;max-width:780px;font-size:14px;line-height:1.6;color:var(--text-soft)}
    .percorso-strip{padding:18px 20px;min-height:auto;border:2px solid var(--line-strong);border-radius:20px;box-shadow:0 4px 32px rgba(0,0,0,.04)}
    .percorso-strip-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
    .percorso-refresh{font-size:11px;color:var(--text-faint);letter-spacing:.02em}
    .percorso-strip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    .percorso-kpi{padding:12px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--line);min-width:0}
    .percorso-kpi-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:6px}
    .percorso-kpi-value{font-size:14px;line-height:1.4;font-weight:700;color:var(--text)}
    .path-status-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);display:inline-block;margin-right:7px;box-shadow:0 0 0 5px rgba(6,182,212,.12);vertical-align:middle}
    .percorso-summary{margin:14px 0 0;font-size:14px;line-height:1.65;color:var(--text-soft);max-width:820px}
    .percorso-flow{position:relative;display:flex;flex-direction:column;gap:16px;padding-left:28px}
    .percorso-line{position:absolute;left:11px;top:10px;bottom:10px;width:2px;border-radius:99px;background:linear-gradient(180deg,rgba(34,197,94,.3),rgba(6,182,212,.45),rgba(168,85,247,.34));pointer-events:none}
    .percorso-node{position:relative}
    .percorso-node-marker{position:absolute;left:-28px;top:24px;width:18px;height:18px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 6px rgba(255,255,255,.02);z-index:2}
    .percorso-node-marker.done{background:var(--green)}
    .percorso-node-marker.now{background:var(--cyan);box-shadow:0 0 0 7px rgba(6,182,212,.12),0 0 20px rgba(6,182,212,.18)}
    .percorso-node-marker.next{background:var(--purple)}
    .percorso-node-body{min-height:auto;padding:18px 20px;border:2px solid var(--line-strong);border-radius:20px;box-shadow:0 4px 32px rgba(0,0,0,.04)}
    .percorso-node-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
    .percorso-node-head h4{margin:2px 0 0;font-size:20px;line-height:1.1;letter-spacing:-.02em}
    .percorso-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}
    .percorso-lastdone-title,.percorso-active-title,.percorso-reco-title,.percorso-option-title{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}
    .percorso-lastdone-meta,.percorso-active-meta,.percorso-option-copy{font-size:12px;color:var(--text-faint)}
    .percorso-explainer,.percorso-active-text,.percorso-reco-copy,.percorso-reco-intro{margin:10px 0 0;font-size:14px;color:var(--text-soft);line-height:1.65;max-width:74ch}
    .percorso-toggle{margin-top:14px;border:none;background:none;color:var(--cyan);cursor:pointer;padding:0;font:inherit;font-size:13px;font-weight:700}
    .percorso-history{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);gap:10px;flex-direction:column}
    .percorso-history.open{display:flex}
    .percorso-history-item{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:start;font-size:13px}
    .percorso-history-date{color:var(--text-faint);white-space:nowrap}
    .percorso-history-task{color:var(--text-soft);font-weight:600}
    .percorso-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .percorso-mini-btn{border:none;background:rgba(6,182,212,.12);color:var(--cyan);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-ui);transition:all var(--transition)}
    .percorso-mini-btn:hover{background:rgba(6,182,212,.18)}
    .percorso-mini-btn.ghost{background:transparent;color:var(--text-soft);border:1px solid var(--line)}
    .percorso-mini-btn.ghost:hover{border-color:var(--cyan);color:var(--cyan)}
    .percorso-node-now .percorso-node-body{border-color:rgba(6,182,212,.24)}
    .percorso-active-card{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.9fr);gap:18px;align-items:center}
    .percorso-active-side{padding:14px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
    .percorso-progress-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-soft);margin-bottom:8px}
    .percorso-progress-label strong{color:var(--cyan);font-size:14px}
    .percorso-progress{height:10px;background:var(--line);border-radius:99px;overflow:hidden}
    .percorso-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--cyan));box-shadow:0 0 14px rgba(6,182,212,.22)}
    .percorso-active-meta{margin-top:10px;display:flex;flex-direction:column;gap:4px}
    .percorso-bridge{margin-top:14px;padding:14px 16px;background:linear-gradient(135deg,var(--teal-4),rgba(6,182,212,.04));border:1px solid rgba(14,116,144,.15);border-radius:14px;font-size:13px;line-height:1.6;color:var(--text-soft)}
    .percorso-reco-card{position:relative;overflow:hidden}
    .percorso-reco-card::after{content:"";position:absolute;inset:auto -80px -100px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.16),rgba(168,85,247,0));pointer-events:none}
    .percorso-reco-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--purple);margin-bottom:8px}
    .percorso-reco-gains{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
    .percorso-gain{font-size:12px;color:var(--text-soft);padding:7px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
    .percorso-reco-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
    .percorso-reco-options{display:none;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
    .percorso-reco-options.open{display:grid}
    .percorso-option{padding:14px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
    .percorso-option-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:6px}
    @media(max-width:980px){.percorso-strip-grid{grid-template-columns:1fr}.percorso-active-card{grid-template-columns:1fr}.percorso-reco-options{grid-template-columns:1fr}}
    @media(max-width:680px){.percorso-flow{padding-left:22px}.percorso-line{left:8px}.percorso-node-marker{left:-22px;width:14px;height:14px}.percorso-history-item{grid-template-columns:1fr;gap:3px}.percorso-node-body,.percorso-strip{padding:16px 16px;border-radius:18px}.percorso-node-head h4{font-size:18px}.percorso-lastdone-title,.percorso-active-title,.percorso-reco-title,.percorso-option-title{font-size:16px}}
    @media(max-width:500px){.topbar-brand{font-size:20px !important}.btn-start-session span{display:none}.btn-start-session{padding:0 14px !important;font-size:14px !important}.ms-stats-bar{grid-template-columns:repeat(2,1fr)}.wbx-grid{grid-template-columns:1fr !important}}
    @media(max-width:400px){.ms-stats-bar{grid-template-columns:1fr}}

    /* ═══ MILESTONE TIMELINE (new Percorso) ═══ */
    #sub-percorso.active{display:flex;flex-direction:column;gap:0}
    .ms-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}
    .ms-stat{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;text-align:center;transition:all var(--transition)}
    .ms-stat:hover{border-color:var(--cyan);transform:translateY(-1px);box-shadow:0 4px 16px rgba(6,182,212,.08)}
    .ms-stat-val{font-size:28px;font-weight:900;color:var(--cyan);line-height:1;letter-spacing:-.02em}
    .ms-stat-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-top:5px;font-weight:600}
    .ms-timeline{position:relative;padding-left:36px}
    .ms-timeline-line{position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:var(--line-strong);border-radius:99px}
    .ms-timeline-line::after{content:'';position:absolute;top:0;left:0;width:100%;height:var(--ms-progress,0%);background:linear-gradient(180deg,var(--green),var(--cyan),var(--purple));border-radius:99px;transition:height .6s ease}
    .ms-milestone{position:relative;margin-bottom:14px;animation:msSlideIn .4s ease backwards}
    .ms-milestone:nth-child(1){animation-delay:0s}.ms-milestone:nth-child(2){animation-delay:.05s}.ms-milestone:nth-child(3){animation-delay:.1s}.ms-milestone:nth-child(4){animation-delay:.15s}.ms-milestone:nth-child(5){animation-delay:.2s}.ms-milestone:nth-child(6){animation-delay:.25s}.ms-milestone:nth-child(7){animation-delay:.3s}.ms-milestone:nth-child(8){animation-delay:.35s}
    @keyframes msSlideIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
    .ms-dot{position:absolute;left:-28px;top:18px;width:16px;height:16px;border-radius:50%;border:3px solid var(--card);z-index:2;transition:all .3s ease}
    .ms-dot.earned{background:var(--green);box-shadow:0 0 0 5px rgba(16,185,129,.15)}
    .ms-dot.earned.major{background:var(--cyan);box-shadow:0 0 0 5px rgba(6,182,212,.15),0 0 16px rgba(6,182,212,.2)}
    .ms-dot.upcoming{background:var(--text-faint);border-color:var(--line)}
    .ms-card{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:16px 20px;transition:all .25s ease;cursor:default;position:relative;overflow:hidden}
    .ms-card:hover{transform:translateX(4px);border-color:var(--cyan);box-shadow:0 4px 20px rgba(6,182,212,.08)}
    .ms-card.earned{border-left:4px solid var(--green)}
    .ms-card.earned.major{border-left:4px solid var(--cyan);background:linear-gradient(135deg,var(--card),rgba(6,182,212,.03))}
    .ms-card.dimmed{opacity:.4;border-left:4px solid var(--line);filter:grayscale(0.5)}
    .ms-card-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}
    .ms-card-emoji{font-size:24px;line-height:1;flex-shrink:0}
    .ms-card-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em}
    .ms-card-date{font-size:11px;color:var(--text-faint);margin-left:auto;white-space:nowrap}
    .ms-card-desc{font-size:12px;color:var(--text-soft);line-height:1.5}
    .ms-card-badge{display:inline-block;margin-top:8px;font-size:10px;font-weight:700;padding:3px 10px;border-radius:99px;letter-spacing:.04em}
    .ms-card-badge.green{background:rgba(16,185,129,.12);color:var(--green)}
    .ms-card-badge.cyan{background:rgba(6,182,212,.12);color:var(--cyan)}
    .ms-card-badge.purple{background:rgba(168,85,247,.12);color:var(--purple)}
    .ms-empty{text-align:center;padding:48px 20px;color:var(--text-faint)}
    .ms-empty-icon{font-size:48px;margin-bottom:12px}
    .ms-empty p{font-size:14px;line-height:1.6;max-width:400px;margin:0 auto}
    @media(max-width:680px){.ms-stats-bar{grid-template-columns:repeat(2,1fr)}.ms-timeline{padding-left:28px}.ms-dot{left:-22px;width:13px;height:13px}.ms-card{padding:14px 16px}}
    .ms-new{animation:msSlideIn .5s ease-out}
    @keyframes msSlideIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

    /* ═══ TRANSCRIPT SESSION CARDS ═══ */
    .tr-card{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:18px 22px;cursor:pointer;transition:all var(--transition);margin-bottom:10px}
    .tr-card:hover{border-color:var(--cyan);transform:translateX(3px);box-shadow:0 4px 20px rgba(6,182,212,.06)}
    .tr-card.is-fav{border-left:4px solid #f59e0b}
    .tr-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}
    .tr-card-name{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em}
    .tr-card-date{font-size:11px;color:var(--text-faint);white-space:nowrap}
    #trSessionsBody td { height: 52px; } /* prevent layout flash on load */
    .tr-card-excerpt{font-size:13px;color:var(--text-soft);line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .tr-card-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
    .tr-meta-item{font-size:11px;color:var(--text-soft);display:inline-flex;align-items:center;gap:4px;font-weight:500}
    .tr-meta-icon{font-size:12px;opacity:.7}
    @media(max-width:600px){.tr-card{padding:14px 16px}.tr-card-name{font-size:14px}.tr-card-meta{gap:10px}}

    /* ═══ AI REPORT PRODUCT DISPENSARY ═══ */
    .rai-products{display:flex;flex-direction:column;gap:14px}
    .rai-product{background:var(--card);border:1.5px solid var(--line);border-radius:18px;overflow:hidden;transition:all .25s ease}
    .rai-product:hover{border-color:var(--cyan);box-shadow:0 4px 24px rgba(6,182,212,.06)}
    .rai-product.open{border-color:var(--cyan);box-shadow:0 4px 28px rgba(6,182,212,.1)}
    .rai-product-header{display:flex;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;user-select:none}
    .rai-product-header:hover{background:rgba(6,182,212,.02)}
    .rai-product-icon{font-size:32px;line-height:1;flex-shrink:0}
    .rai-product-info{flex:1;min-width:0}
    .rai-product-name{display:block;font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em}
    .rai-product-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 10px;border-radius:99px;letter-spacing:.04em;margin-top:3px}
    .rai-product-badge.free{background:rgba(16,185,129,.12);color:var(--green)}
    .rai-product-badge.cost{background:rgba(168,85,247,.12);color:var(--purple)}
    .rai-product-expand{font-size:12px;color:var(--text-faint);transition:transform .3s ease;flex-shrink:0}
    .rai-product.open .rai-product-expand{transform:rotate(180deg)}
    .rai-product-desc{font-size:13px;color:var(--text-soft);line-height:1.55;padding:0 22px 18px;margin:0}
    .rai-product-detail{display:none;padding:0 22px 20px;border-top:1px solid var(--line);animation:raiSlideDown .3s ease}
    .rai-product.open .rai-product-detail{display:block}
    @keyframes raiSlideDown{from{opacity:0;max-height:0}to{opacity:1;max-height:400px}}
    .rai-product-options{margin-top:16px;display:flex;flex-direction:column;gap:12px}
    .rai-option-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}
    .rai-select{padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);font-size:13px;font-family:var(--font-ui);color:var(--text);cursor:pointer;width:100%;max-width:320px;transition:border-color var(--transition)}
    .rai-select:focus{border-color:var(--cyan);outline:none}
    .rai-toggles{display:flex;gap:8px;flex-wrap:wrap}
    .rai-toggle{font-family:var(--font-ui);font-size:12px;font-weight:600;padding:7px 14px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);color:var(--text-soft);cursor:pointer;transition:all var(--transition)}
    .rai-toggle:hover{border-color:var(--cyan);color:var(--cyan)}
    .rai-toggle.active{background:var(--cyan);color:#fff;border-color:var(--cyan)}
    .rai-generate-btn{font-family:var(--font-ui);font-size:14px;font-weight:700;padding:12px 28px;border-radius:99px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--purple),#a855f7);color:#fff;transition:all var(--transition);margin-top:14px;display:inline-flex;align-items:center;gap:8px}
    .rai-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,58,237,.35)}
    .rai-generate-btn:disabled{opacity:.6;cursor:not-allowed}
    .rai-generate-btn.loading{pointer-events:none}
    .rai-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:raiSpin .6s linear infinite}
    @keyframes raiSpin{to{transform:rotate(360deg)}}
    @media(max-width:600px){.rai-product-header{padding:14px 16px}.rai-product-desc{padding:0 16px 14px}.rai-product-detail{padding:0 16px 16px}.rai-product-icon{font-size:26px}}

    /* ═══ WB EXPAND — Brutalist Poster Boxes (Style 10) ═══ */
    /* ── Colour scheme variables ── */
    /* Scheme 0 (default) */
    #sub-wb-expand,#sub-vt-review{--sz-dark:#dbeafe;--sz-dark-border:#bfdbfe;--sz-darktext:#0f1c24;--sz-darktext2:rgba(15,28,36,.7);--sz-accent:#0369a1;--sz-trans-border:rgba(15,28,36,.15)}
    [data-theme="dark"] #sub-wb-expand,[data-theme="dark"] #sub-vt-review{--sz-dark:#0f1c24;--sz-dark-border:#1e3a52;--sz-darktext:#e2e8f0;--sz-darktext2:rgba(226,232,240,.55);--sz-accent:#38bdf8;--sz-trans-border:rgba(255,255,255,.1)}
    /* CEFR Explorer card scheme (cyan, matching scheme 3) */
    #sub-cefr-topic{--sz-dark:#cffafe;--sz-dark-border:#a5f3fc;--sz-darktext:#0c3d56;--sz-darktext2:rgba(12,61,86,.7);--sz-accent:#0e7490;--sz-trans-border:rgba(12,61,86,.15)}
    [data-theme="dark"] #sub-cefr-topic{--sz-dark:#0c4a6e;--sz-dark-border:#15608a;--sz-darktext:#ecfeff;--sz-darktext2:rgba(236,254,255,.6);--sz-accent:#67e8f9;--sz-trans-border:rgba(255,255,255,.12)}
    /* Default (scheme 0) — light mode: colored bg, dark text */
    #sub-wb-expand,#sub-vt-review{--sz-dark:#dbeafe;--sz-dark-border:#bfdbfe;--sz-darktext:#0f1729;--sz-darktext2:rgba(15,23,41,.7);--sz-accent:#0369a1;--sz-trans-border:rgba(15,23,41,.15)}
    [data-theme="dark"] #sub-wb-expand,[data-theme="dark"] #sub-vt-review{--sz-dark:#0f1c24;--sz-dark-border:#1a2d3a;--sz-darktext:#e2e8f0;--sz-darktext2:rgba(226,232,240,.55);--sz-accent:#38bdf8;--sz-trans-border:rgba(255,255,255,.12)}

    /* Scheme 1 — Indigo */
    #sub-wb-expand[data-wb-scheme="1"],#sub-vt-review[data-wb-scheme="1"]{--sz-dark:#e0e7ff;--sz-dark-border:#c7d2fe;--sz-darktext:#1e1b4b;--sz-darktext2:rgba(30,27,75,.7);--sz-accent:#4338ca;--sz-trans-border:rgba(30,27,75,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="1"],[data-theme="dark"] #sub-vt-review[data-wb-scheme="1"]{--sz-dark:#080c14;--sz-dark-border:#1a2030;--sz-darktext:#e2e8f0;--sz-darktext2:rgba(226,232,240,.55);--sz-accent:#818cf8;--sz-trans-border:rgba(255,255,255,.1)}

    /* Scheme 2 — Sky */
    #sub-wb-expand[data-wb-scheme="2"],#sub-vt-review[data-wb-scheme="2"]{--sz-dark:#e0f2fe;--sz-dark-border:#bae6fd;--sz-darktext:#0c2d48;--sz-darktext2:rgba(12,45,72,.7);--sz-accent:#0369a1;--sz-trans-border:rgba(12,45,72,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="2"],[data-theme="dark"] #sub-vt-review[data-wb-scheme="2"]{--sz-dark:#0a1628;--sz-dark-border:#1a3050;--sz-darktext:#e2e8f0;--sz-darktext2:rgba(226,232,240,.55);--sz-accent:#38bdf8;--sz-trans-border:rgba(255,255,255,.1)}

    /* Scheme 3 — Ocean */
    #sub-wb-expand[data-wb-scheme="3"]{--sz-dark:#cffafe;--sz-dark-border:#a5f3fc;--sz-darktext:#0c3d56;--sz-darktext2:rgba(12,61,86,.7);--sz-accent:#0e7490;--sz-trans-border:rgba(12,61,86,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="3"]{--sz-dark:#0c4a6e;--sz-dark-border:#15608a;--sz-darktext:#ecfeff;--sz-darktext2:rgba(236,254,255,.6);--sz-accent:#67e8f9;--sz-trans-border:rgba(255,255,255,.12)}

    /* Scheme 4 — Forest */
    #sub-wb-expand[data-wb-scheme="4"]{--sz-dark:#d1fae5;--sz-dark-border:#a7f3d0;--sz-darktext:#0f2a1a;--sz-darktext2:rgba(15,42,26,.7);--sz-accent:#047857;--sz-trans-border:rgba(15,42,26,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="4"]{--sz-dark:#0f2a1a;--sz-dark-border:#1a4a2e;--sz-darktext:#ecfdf5;--sz-darktext2:rgba(236,253,245,.55);--sz-accent:#34d399;--sz-trans-border:rgba(255,255,255,.12)}

    /* Scheme 5 — Violet */
    #sub-wb-expand[data-wb-scheme="5"]{--sz-dark:#ede9fe;--sz-dark-border:#ddd6fe;--sz-darktext:#1a0f2e;--sz-darktext2:rgba(26,15,46,.7);--sz-accent:#6d28d9;--sz-trans-border:rgba(26,15,46,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="5"]{--sz-dark:#1a0f2e;--sz-dark-border:#2d1a4a;--sz-darktext:#f5f3ff;--sz-darktext2:rgba(245,243,255,.55);--sz-accent:#c4b5fd;--sz-trans-border:rgba(255,255,255,.12)}

    /* Scheme 6 — Amber */
    #sub-wb-expand[data-wb-scheme="6"]{--sz-dark:#fef3c7;--sz-dark-border:#fde68a;--sz-darktext:#2e2410;--sz-darktext2:rgba(46,36,16,.7);--sz-accent:#b45309;--sz-trans-border:rgba(46,36,16,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="6"]{--sz-dark:#2e2410;--sz-dark-border:#4a3a1a;--sz-darktext:#fffbeb;--sz-darktext2:rgba(255,251,235,.55);--sz-accent:#fbbf24;--sz-trans-border:rgba(255,255,255,.12)}

    /* Scheme 7 — Rose */
    #sub-wb-expand[data-wb-scheme="7"]{--sz-dark:#ffe4e6;--sz-dark-border:#fecdd3;--sz-darktext:#2a0f24;--sz-darktext2:rgba(42,15,36,.7);--sz-accent:#be185d;--sz-trans-border:rgba(42,15,36,.15)}
    [data-theme="dark"] #sub-wb-expand[data-wb-scheme="7"]{--sz-dark:#2a0f24;--sz-dark-border:#4a1a3e;--sz-darktext:#fff1f2;--sz-darktext2:rgba(255,241,242,.55);--sz-accent:#fda4af;--sz-trans-border:rgba(255,255,255,.12)}

    /* ── POS accent colours ── */
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="NOUN"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="NOUN"] .wbx-save-col{background:#0c4a6e!important;border-color:#0c4a6e!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="VERB"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="VERB"] .wbx-save-col{background:#0f766e!important;border-color:#0f766e!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADJ"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADJ"] .wbx-save-col{background:#0e7490!important;border-color:#0e7490!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADV"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADV"] .wbx-save-col{background:#9d174d!important;border-color:#9d174d!important}
    /* Light mode POS: white text on dark colored backgrounds */
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box .wbx-w,#sub-wb-expand[data-wb-accent="pos"] .wbx-box .wbx-cefr{color:#fff!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box .wbx-pos{color:rgba(255,255,255,.6)!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box .wbx-cefr{border-color:rgba(255,255,255,.3)!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-save-btn,#sub-wb-expand[data-wb-accent="pos"] .wbx-bookmark-btn,#sub-wb-expand[data-wb-accent="pos"] .wbx-close-btn{border-color:rgba(255,255,255,.25)!important;color:rgba(255,255,255,.6)!important}

    /* Dark mode POS: light top bars, dark text on top */
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="NOUN"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="NOUN"] .wbx-save-col{background:#60a5fa!important;border-color:#60a5fa!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="VERB"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="VERB"] .wbx-save-col{background:#4ade80!important;border-color:#4ade80!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADJ"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADJ"] .wbx-save-col{background:#fbbf24!important;border-color:#fbbf24!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADV"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box[data-pos="ADV"] .wbx-save-col{background:#fb923c!important;border-color:#fb923c!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-w,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-cefr,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-pos{color:#0f1729!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-def,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-trans{color:#e2e8f0!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-syns span{color:#e2e8f0!important;border-color:rgba(226,232,240,.4)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-save-btn,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-bookmark-btn,[data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-close-btn{border-color:rgba(226,232,240,.25)!important;color:rgba(226,232,240,.6)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-save-btn:hover{background:#059669!important;border-color:#059669!important;color:#fff!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-bookmark-btn:hover{background:rgba(6,182,212,.3)!important;border-color:var(--cyan)!important;color:var(--cyan)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-close-btn:hover{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-ipa{color:rgba(226,232,240,.45)!important}

    /* ── CEFR accent colours ── */
    /* Light mode: colored top bars — ALL need light text */
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A1"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A1"] .wbx-save-col{background:#34d399!important;border-color:#34d399!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A2"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A2"] .wbx-save-col{background:#10b981!important;border-color:#10b981!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B1"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B1"] .wbx-save-col{background:#059669!important;border-color:#059669!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B2"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B2"] .wbx-save-col{background:#047857!important;border-color:#047857!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C1"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C1"] .wbx-save-col{background:#064e3b!important;border-color:#064e3b!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C2"] .wbx-word-zone,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C2"] .wbx-save-col{background:#0e7490!important;border-color:#0e7490!important}
    /* Light mode CEFR: white text on all colored backgrounds */
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box .wbx-w,#sub-wb-expand[data-wb-accent="cefr"] .wbx-box .wbx-cefr{color:#fff!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box .wbx-pos{color:rgba(255,255,255,.65)!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box .wbx-cefr{border-color:rgba(255,255,255,.3)!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-save-btn,#sub-wb-expand[data-wb-accent="cefr"] .wbx-bookmark-btn,#sub-wb-expand[data-wb-accent="cefr"] .wbx-close-btn{border-color:rgba(255,255,255,.25)!important;color:rgba(255,255,255,.6)!important}

    /* Dark mode CEFR: light top bars, dark text */
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A1"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A1"] .wbx-save-col{background:#86efac!important;border-color:#86efac!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A2"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="A2"] .wbx-save-col{background:#4ade80!important;border-color:#4ade80!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B1"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B1"] .wbx-save-col{background:#fb923c!important;border-color:#fb923c!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B2"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="B2"] .wbx-save-col{background:#fdba74!important;border-color:#fdba74!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C1"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C1"] .wbx-save-col{background:#fda4af!important;border-color:#fda4af!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C2"] .wbx-word-zone,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box[data-cefr="C2"] .wbx-save-col{background:#06b6d4!important;border-color:#06b6d4!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-w,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-cefr,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-pos{color:#0f1729!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-w,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-cefr{color:#0f1729!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-pos{color:rgba(15,23,41,.55)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-def,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-trans{color:#e2e8f0!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-syns span{color:#e2e8f0!important;border-color:rgba(226,232,240,.4)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-save-btn,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-bookmark-btn,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-close-btn{border-color:rgba(226,232,240,.25)!important;color:rgba(226,232,240,.6)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-save-btn:hover{background:#059669!important;border-color:#059669!important;color:#fff!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-bookmark-btn:hover{background:rgba(6,182,212,.3)!important;border-color:var(--cyan)!important;color:var(--cyan)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-close-btn:hover{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-ipa{color:rgba(226,232,240,.45)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-save-btn,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-bookmark-btn,[data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-close-btn{border-color:rgba(11,21,28,.25)!important;color:rgba(11,21,28,.6)!important}

    /* ── Box layout (Brutalist Poster) ── */
    .wbx-box{background:#fff;border:3px solid #0f1c24;border-radius:0;padding:0;box-shadow:10px 10px 0 rgba(0,0,0,.2);gap:0;min-height:0;font-family:var(--font-ui);display:grid;grid-template-columns:1fr 56px;grid-template-rows:1fr;grid-template-areas:"main bar";align-items:stretch;transition:transform .25s,box-shadow .25s}
    .wbx-box:hover{transform:translate(-3px,-3px);box-shadow:14px 14px 0 rgba(0,0,0,.28)}
    /* ── First result = exact query word, golden glow, no hover lift ── */
    .wbx-box.wbx-exact{border-color:#0f1c24!important;box-shadow:0 0 0 3px #f59e0b,0 0 20px rgba(245,158,11,.45),10px 10px 0 rgba(0,0,0,.2)!important;position:relative}
    .wbx-box.wbx-exact:hover{transform:none!important;box-shadow:0 0 0 3px #f59e0b,0 0 28px rgba(245,158,11,.6),10px 10px 0 rgba(0,0,0,.2)!important}
    .wbx-box.wbx-exact::before{content:'★ Exact match';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#f59e0b;color:#0f1c24;font-size:10px;font-weight:800;padding:3px 14px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;z-index:3;pointer-events:none}
    /* ── Exact box in POS accent mode: lose golden glow, adopt POS colour ring ── */
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box.wbx-exact{border-color:#0f1c24!important;box-shadow:10px 10px 0 rgba(0,0,0,.2)!important}
    #sub-wb-expand[data-wb-accent="pos"] .wbx-box.wbx-exact:hover{box-shadow:14px 14px 0 rgba(0,0,0,.28)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="pos"] .wbx-box.wbx-exact{border-color:var(--sz-dark-border,#d8eaf4)!important}
    /* ── Exact box in CEFR accent mode: lose golden glow, adopt CEFR colour ring ── */
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box.wbx-exact{border-color:#0f1c24!important;box-shadow:10px 10px 0 rgba(0,0,0,.2)!important}
    #sub-wb-expand[data-wb-accent="cefr"] .wbx-box.wbx-exact:hover{box-shadow:14px 14px 0 rgba(0,0,0,.28)!important}
    [data-theme="dark"] #sub-wb-expand[data-wb-accent="cefr"] .wbx-box.wbx-exact{border-color:var(--sz-dark-border,#d8eaf4)!important}
    /* ── Expanded box (from synonym chip click) ── */
    .wbx-box.expanded{animation:wbxExpandIn .35s cubic-bezier(.2,.8,.2,1) backwards;box-shadow:inset 0 0 0 2px rgba(6,182,212,.35),10px 10px 0 rgba(0,0,0,.2)!important;border-color:rgba(6,182,212,.4)!important}
    .wbx-box.expanded:hover{transform:translate(-3px,-3px);box-shadow:inset 0 0 0 2px rgba(6,182,212,.5),14px 14px 0 rgba(0,0,0,.28)!important}
    @keyframes wbxExpandIn{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
    .wbx-close-exp{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.35);color:rgba(255,255,255,.55);cursor:pointer;font-size:12px;display:none;align-items:center;justify-content:center;z-index:2;font-family:var(--font-ui);transition:all .15s}
    .wbx-close-exp:hover{background:rgba(248,113,113,.3);border-color:rgba(248,113,113,.45);color:#f87171}
    .wbx-box.expanded .wbx-close-exp{display:flex}
    /* ── Hidden initially for mostra-di-più ── */
    .wbx-box.wbx-hidden-initially{display:none!important}
    .wbx-main-col{grid-area:main;display:flex;flex-direction:column;min-width:0;overflow:hidden}
    .wbx-word-zone{display:block;grid-area:auto;background:var(--sz-dark);padding:18px 20px 10px;overflow:hidden;min-width:0}
    .wbx-meta-zone{display:flex;flex-direction:column;grid-area:auto;padding:16px 24px 20px;gap:6px;flex:auto;min-width:0}
    .wbx-save-col{grid-area:bar;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--sz-dark);border-left:3px solid var(--sz-dark-border);padding:14px 0;min-width:56px}
    .wbx-save-btn,.wbx-bookmark-btn,.wbx-close-btn{width:32px;height:32px;border-radius:0;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);transition:all .25s cubic-bezier(.34,1.56,.64,1);border:2px solid var(--sz-darktext2);background:transparent;color:var(--sz-darktext2)}
    .wbx-save-btn:hover{background:#059669;border-color:#059669;color:#fff;transform:scale(1.15);box-shadow:0 0 20px rgba(5,150,105,.4)}
    .wbx-save-btn.saved{background:#059669;border-color:#059669;color:#fff}
    .wbx-bookmark-btn:hover{background:rgba(6,182,212,.25);border-color:var(--cyan);color:var(--cyan);transform:scale(1.15);box-shadow:0 0 16px rgba(6,182,212,.35)}
    .wbx-bookmark-btn.bookmarked{background:rgba(6,182,212,.2);border-color:var(--cyan);color:var(--cyan)}
    .wbx-close-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff;transform:scale(1.15);box-shadow:0 0 20px rgba(220,38,38,.4)}
    .wbx-save-btn:active,.wbx-bookmark-btn:active,.wbx-close-btn:active{transform:scale(.9);transition:all .08s}
    /* ── Typography ── */
    .wbx-head{display:flex;align-items:baseline;gap:6px;overflow:hidden;flex-wrap:nowrap;min-width:0;flex-shrink:1}
    .wbx-w{font-size:28px;color:var(--sz-darktext);text-transform:uppercase;letter-spacing:.08em;font-weight:900;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1}
    .wbx-cefr{font-size:12px;padding:2px 6px;border-radius:0;border:2px solid var(--sz-darktext);color:var(--sz-darktext);background:transparent;white-space:nowrap}
    .wbx-pos{font-size:12px;color:var(--sz-darktext2);text-transform:uppercase;white-space:nowrap}
    .wbx-ipa{font-size:12px;color:var(--sz-darktext2);margin-bottom:2px}
    .wbx-def{font-size:13px;color:#3d5260;line-height:1.5;margin-bottom:0}
    .wbx-trans{font-size:14px;color:var(--sz-accent);font-weight:800;margin-bottom:0;padding-top:6px;border-top:3px solid var(--sz-trans-border)}
    .wbx-syns{display:flex;gap:4px;flex-wrap:wrap}
    .wbx-syns span{font-size:12px;padding:3px 8px;border-radius:0;border:3px solid var(--sz-accent);font-weight:700;background:transparent;color:var(--sz-accent);cursor:pointer}
    .wbx-syns span:hover{background:var(--sz-accent);color:var(--sz-light,#fff)}
    /* ── Translation chips with add-to-bank button ── */
    .pc-trans-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;background:rgba(8,149,176,.08);color:var(--cyan);border:1.5px solid rgba(8,149,176,.18);cursor:default;transition:all .15s}
    .pc-trans-chip .pc-trans-add{width:18px;height:18px;border-radius:3px;border:1px solid rgba(8,149,176,.25);background:transparent;color:var(--cyan);cursor:pointer;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;line-height:1}
    .pc-trans-chip .pc-trans-add:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);transform:scale(1.1)}
    .pc-trans-chip .pc-trans-add.saved{background:var(--green);color:#fff;border-color:var(--green);pointer-events:none}
    /* ── Dark mode overrides ── */
    [data-theme="dark"] .wbx-box{background:var(--sz-dark,#1a2630);border-color:var(--sz-dark-border,#d8eaf4)}
    [data-theme="dark"] .wbx-word-zone{background:var(--sz-dark)}
    [data-theme="dark"] .wbx-w{color:var(--sz-darktext)}
    [data-theme="dark"] .wbx-cefr{color:var(--sz-darktext);border-color:var(--sz-darktext)}
    [data-theme="dark"] .wbx-pos{color:var(--sz-darktext2)}
    [data-theme="dark"] .wbx-def{color:var(--sz-darktext2,var(--text-soft))}
    [data-theme="dark"] .wbx-trans{border-top-color:var(--sz-dark-border,#d8eaf4)}
    [data-theme="dark"] .wbx-meta-zone{background:var(--sz-dark)}
    [data-theme="dark"] .wbx-save-col{background:var(--sz-dark);border-color:var(--sz-dark-border)}
    [data-theme="dark"] .wbx-save-btn,[data-theme="dark"] .wbx-bookmark-btn,[data-theme="dark"] .wbx-close-btn{border-color:var(--sz-darktext2);background:transparent;color:var(--sz-darktext2)}
    [data-theme="dark"] .wbx-syns span{color:var(--sz-accent);border-color:var(--sz-accent)}
    [data-theme="dark"] .wbx-syns span:hover{background:var(--sz-accent);color:var(--sz-darktext,#0b151c)}
    /* ── Bank membership indicators ── */
    .wbx-box.in-bank .wbx-word-zone{position:relative}
    .wbx-box.in-bank .wbx-word-zone::after{content:'📚 In your bank';position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;color:#34d399;opacity:.9;pointer-events:none}
    .wbx-box.in-bank .wbx-save-btn{background:#059669!important;border-color:#059669!important;color:transparent!important;pointer-events:none;font-size:0}
    .wbx-box.in-bank .wbx-save-btn::after{content:'✓';font-size:13px;color:#fff}
    .wbx-card-stats{display:flex;gap:14px;margin-top:8px;padding-top:8px;border-top:2px solid var(--sz-trans-border);font-size:11px;color:var(--sz-darktext2)}
    .wbx-card-stats .wbx-stat{cursor:help;display:inline-flex;align-items:center;gap:3px;position:relative}
    .wbx-card-stats .wbx-stat:hover{color:var(--sz-darktext)}
    .wbx-card-stats .wbx-stat::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:rgba(15,17,23,.94);color:#e2e8f0;font-size:10px;font-weight:400;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;z-index:20;opacity:0;transition:opacity .15s}
    .wbx-card-stats .wbx-stat:hover::after{opacity:1}
    [data-theme="dark"] .wbx-card-stats .wbx-stat::after{background:rgba(226,232,240,.94);color:#0f1729}
    /* ── Grid for results ── */
    .wbx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:16px;overflow:visible}
    /* Vocabulary Explorer: max 3 columns, collapse on narrow panels */
    #cefrTopicGrid2 .wbx-grid{grid-template-columns:repeat(3,1fr)}
    @media(max-width:1000px){#cefrTopicGrid2 .wbx-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:650px){#cefrTopicGrid2 .wbx-grid{grid-template-columns:1fr}}
    .wbx-box{margin:3px}
    /* ── Style picker: scheme dots ── */
    .wbx-scheme-dot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;flex-shrink:0}
    .wbx-scheme-dot:hover{transform:scale(1.15)}
    .wbx-scheme-dot.active{border-color:#0f1c24;box-shadow:0 0 0 2px #fff,0 0 0 4px #0f1c24}
    [data-theme="dark"] .wbx-scheme-dot.active{border-color:#e2e8f0;box-shadow:0 0 0 2px #0f1117,0 0 0 4px #e2e8f0}
    /* ── Style picker: segmented mode buttons ── */
    .mode-btn{padding:6px 14px;border:2px solid var(--line);background:var(--card);font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-ui);transition:all .15s;color:var(--text-soft)}
    .mode-btn.active{background:#0f1c24;color:#fff;border-color:#0f1c24}
    .mode-btn:hover:not(.active){border-color:#0f1c24;color:var(--text)}
    .mode-btn+.mode-btn{border-left:none}
    /* ── VT Quiz player ── */
    .option-item:hover{border-color:var(--teal)!important;background:var(--teal-4)!important}
    .option-item-selected{border-color:var(--teal)!important;background:var(--teal-4)!important}
    .option-item-selected span:first-child{border-color:var(--teal)!important;background:var(--teal)!important;color:#fff!important}
    .option-item-correct{border-color:var(--green)!important;background:rgba(16,185,129,.08)!important}
    .option-item-correct span:first-child{border-color:var(--green)!important;background:var(--green)!important;color:#fff!important}
    .option-item-incorrect{border-color:var(--red)!important;background:rgba(239,68,68,.06)!important}
    .option-item-incorrect span:first-child{border-color:var(--red)!important;background:var(--red)!important;color:#fff!important}
    [data-theme="dark"] .mode-btn.active{background:#e2e8f0;color:#0f1729;border-color:#e2e8f0}
    [data-theme="dark"] .mode-btn:hover:not(.active){border-color:#e2e8f0}
    /* ═══ AI VOICE PANEL ═══ */
    .premium-badge{font-size:8px;font-weight:800;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:2px 7px;border-radius:99px;letter-spacing:.08em;margin-left:auto;text-transform:uppercase;line-height:1.4}
    .nav-item.premium{border-left:3px solid transparent}
    .nav-item.premium:hover,.nav-item.premium.active{border-left-color:#a855f7}
    .premium-pill{font-size:10px;font-weight:800;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:4px 12px;border-radius:99px;letter-spacing:.08em;margin-left:12px;vertical-align:middle}
    .ai-voice-credits-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--card);border:1.5px solid var(--line);border-radius:18px;margin-bottom:24px;flex-wrap:wrap}
    .ai-voice-credits-info{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
    .ai-voice-credits-label{font-size:12px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}
    .ai-voice-credits-value{font-size:36px;font-weight:900;color:var(--cyan);line-height:1}
    .ai-voice-credits-unit{font-size:14px;font-weight:700;color:var(--text-soft)}
    .ai-voice-credits-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
    .ai-voice-credits-rate{font-size:12px;color:var(--text-faint)}
    .ai-voice-buy-btn{font-family:var(--font-ui);font-size:13px;font-weight:700;padding:10px 22px;border-radius:99px;border:none;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transition:all .15s;white-space:nowrap}
    .ai-voice-buy-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(124,58,237,.35)}
    .ai-voice-locked{text-align:center;padding:48px 24px;background:var(--card);border:2px dashed var(--line);border-radius:18px;margin-bottom:24px}
    .ai-voice-locked-icon{font-size:48px;margin-bottom:16px}
    .ai-voice-locked h3{font-size:22px;font-weight:800;margin:0 0 8px;color:var(--text)}
    .ai-voice-locked p{font-size:14px;color:var(--text-soft);max-width:480px;margin:0 auto 20px;line-height:1.6}
    .ai-voice-scenarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:24px}
    .ai-voice-scenario{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:var(--card);border:2px solid var(--line);border-radius:16px;cursor:pointer;text-align:left;font-family:var(--font-ui);transition:all .2s}
    .ai-voice-scenario:hover{border-color:var(--cyan);background:rgba(6,182,212,.04)}
    .ai-voice-scenario.active{border-color:var(--cyan);background:rgba(6,182,212,.08);box-shadow:0 0 0 3px rgba(6,182,212,.12)}
    .ai-voice-scenario-icon{font-size:24px}
    .ai-voice-scenario-name{font-size:14px;font-weight:700;color:var(--text)}
    .ai-voice-scenario-desc{font-size:11px;color:var(--text-faint);line-height:1.4}
    .ai-voice-langs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
    .ai-voice-lang{font-family:var(--font-ui);font-size:13px;font-weight:600;padding:10px 18px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);color:var(--text-soft);cursor:pointer;transition:all .2s}
    .ai-voice-lang:hover{border-color:var(--cyan);color:var(--cyan)}
    .ai-voice-lang.active{background:var(--cyan);color:#fff;border-color:var(--cyan)}
    .ai-voice-start-area{text-align:center;padding:32px 0}
    .ai-voice-start-btn{font-family:var(--font-ui);font-size:17px;font-weight:800;padding:18px 48px;border-radius:99px;border:none;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transition:all .2s;display:inline-flex;align-items:center;gap:12px}
    .ai-voice-start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(124,58,237,.4)}
    .ai-voice-start-btn.running{background:linear-gradient(135deg,#dc2626,#ef4444)}
    .ai-voice-start-btn.running:hover{box-shadow:0 8px 32px rgba(220,38,38,.4)}
    .ai-voice-start-icon{font-size:24px}
    .ai-voice-start-hint{font-size:12px;color:var(--text-faint);margin-top:10px}
    .ai-voice-live{background:var(--card);border:2px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:24px}
    .ai-voice-status-bar{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--bg);border-bottom:1px solid var(--line)}
    .ai-voice-status-dot{width:10px;height:10px;border-radius:50%;background:var(--green);animation:pulse-dot 1.5s infinite}
    .ai-voice-status-dot.idle{background:var(--text-faint);animation:none}
    .ai-voice-status-dot.speaking{background:var(--amber);animation:pulse-dot .5s infinite}
    @keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}
    .ai-voice-status-text{font-size:13px;font-weight:600;color:var(--text-soft)}
    .ai-voice-timer{font-size:13px;font-weight:700;color:var(--text);margin-left:auto}
    .ai-voice-cost{font-size:12px;color:var(--text-faint)}
    .ai-voice-transcript{min-height:200px;max-height:400px;overflow-y:auto;padding:20px}
    .ai-voice-empty-state{text-align:center;padding:40px;color:var(--text-faint)}
    .ai-voice-empty-state p{font-size:14px;margin-top:12px}
    .ai-voice-msg{display:flex;gap:10px;margin-bottom:16px;animation:msgIn .3s ease}
    @keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
    .ai-voice-msg-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
    .ai-voice-msg.user .ai-voice-msg-avatar{background:var(--cyan);color:#fff}
    .ai-voice-msg.assistant .ai-voice-msg-avatar{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}
    .ai-voice-msg-bubble{max-width:80%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}
    .ai-voice-msg.user .ai-voice-msg-bubble{background:rgba(6,182,212,.12);color:var(--text);border-bottom-right-radius:4px}
    .ai-voice-msg.assistant .ai-voice-msg-bubble{background:rgba(124,58,237,.1);color:var(--text);border-bottom-left-radius:4px}
    .ai-voice-msg.user{flex-direction:row-reverse}
    .ai-voice-stop-btn{font-family:var(--font-ui);font-size:14px;font-weight:700;padding:14px 0;width:100%;border:none;border-top:1px solid var(--line);background:rgba(220,38,38,.06);color:#dc2626;cursor:pointer;transition:all .2s}
    .ai-voice-stop-btn:hover{background:rgba(220,38,38,.12)}
    .ai-voice-history{background:var(--card);border:1px solid var(--line);border-radius:16px;min-height:80px}
    @media(max-width:860px){.ai-voice-credits-bar{flex-direction:column;align-items:flex-start}.ai-voice-scenarios{grid-template-columns:1fr}.ai-voice-langs{gap:6px}}

    /* ── Fullscreen mode for Build From What You Know ── */
    .main-panel.wbx-fullscreen{position:fixed;inset:0;z-index:5000;max-width:none;width:100vw;height:100dvh;border-radius:0;padding:40px;overflow-y:auto;background:var(--bg)}
    .main-panel.wbx-fullscreen .content-panel{display:none}
    .main-panel.wbx-fullscreen #pnl-vocabulary-builder{display:block}
    .main-panel.wbx-fullscreen #sub-wb-expand{max-width:1400px;margin:0 auto}
    /* Keep the fullscreen toggle button visible and fixed when in fullscreen */
    .main-panel.wbx-fullscreen #wbxFullscreenBtn{display:flex !important;position:fixed;top:16px;right:16px;z-index:5001;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:16px;padding:0;align-items:center;justify-content:center;border:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
    @media(max-width:860px){.wbx-grid{grid-template-columns:1fr}}
    /* Auth toast */
    .auth-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent-purple,#7c3aed);color:#fff;padding:14px 28px;border-radius:100px;font-size:15px;font-weight:600;z-index:9999;box-shadow:0 8px 32px rgba(124,58,237,.35);opacity:0;transition:opacity .4s;pointer-events:none}
    .auth-toast.show{opacity:1}
    /* Topbar brand — theme-aware logo */
    .topbar-brand { color: #fff; font-family: 'Manrope', sans-serif; }
    [data-theme="light"] .topbar-brand { color: #111827; }
    /* Notification bell */
    .topbar-bell{position:relative}
    .topbar-bell .badge{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;z-index:2}
    /* Notification panel now uses .dropdown class from theme-2.css */
    .notif-empty{text-align:center;padding:24px 20px;color:var(--text-faint);font-size:13px;line-height:1.6}
    .notif-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s}
    .notif-item:hover{background:var(--bg)}
    .notif-item.unread{border-left:3px solid var(--cyan)}
    .notif-item.read{border-left:3px solid transparent;opacity:.6}
    .notif-icon{width:32px;height:32px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
    .notif-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}
    .notif-msg{font-size:12px;color:var(--text-soft);line-height:1.45}
    .notif-time{font-size:11px;color:var(--text-faint);margin-top:4px}
    .notif-toast{position:fixed;top:20px;right:20px;max-width:360px;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.25);z-index:9999;display:flex;flex-direction:column;gap:4px;transform:translateX(120%);transition:transform .4s cubic-bezier(.25,.1,.25,1)}
    .notif-toast.show{transform:translateX(0)}
    .notif-toast strong{font-size:13px;color:var(--text)}
    .notif-toast span{font-size:12px;color:var(--text-soft)}

    /* ═══ Grammar Error Bank ═══ */
    .geb-stat-row{display:flex;gap:14px;margin-bottom:22px;flex-wrap:wrap}
    .geb-stat-card{flex:1 1 140px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}
    .geb-stat-num{font-size:1.6rem;font-weight:700;color:var(--cyan);line-height:1}
    .geb-stat-label{font-size:.82rem;color:var(--text-soft);margin-top:6px}
    .geb-section{margin-bottom:22px}
    .geb-bars{display:flex;flex-direction:column;gap:10px}
    .geb-bar-row{display:flex;align-items:center;gap:12px;font-size:.9rem}
    .geb-bar-label{width:140px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .geb-bar-track{flex:1;height:10px;background:var(--line);border-radius:6px;overflow:hidden}
    .geb-bar-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--teal));border-radius:6px;min-width:4px}
    .geb-bar-count{width:36px;text-align:right;color:var(--text-soft);font-variant-numeric:tabular-nums}
    .geb-pill{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--text-soft);padding:6px 12px;border-radius:20px;font-size:.82rem;cursor:pointer;margin-right:6px;margin-bottom:6px}
    .geb-pill:hover{border-color:var(--cyan);color:var(--text)}
    .geb-pill--active{background:var(--cyan);color:#0b0d12;border-color:var(--cyan);font-weight:600}
    .geb-list{display:flex;flex-direction:column;gap:10px}
    .geb-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
    .geb-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
    .geb-meta{font-size:.78rem;color:var(--text-soft)}
    .geb-action{background:transparent;border:none;color:var(--text-soft);cursor:pointer;font-size:1rem;line-height:1}
    .geb-action:hover{color:#ff6b6b}
    .geb-phrase{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
    .geb-original{text-decoration:line-through;opacity:.7}
    .geb-corrected{color:var(--cyan);font-weight:600}
    .geb-arrow{color:var(--text-soft);font-size:.85rem}
    .geb-explanation{font-size:.85rem;color:var(--text-soft);line-height:1.4}
    .geb-state{text-align:center;padding:28px;color:var(--text-soft)}
    .geb-muted{font-size:.88rem;opacity:.8}
    .geb-skeleton{color:var(--text-soft);font-style:italic;padding:18px;text-align:center}
    @media(max-width:640px){.geb-bar-label{width:100px;font-size:.82rem}}
