body,html{padding:0;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111;background:radial-gradient(1200px 600px at 0 0,rgba(99,102,241,.1),transparent 55%),radial-gradient(1200px 600px at 100% 0,rgba(16,185,129,.1),transparent 55%),#f7f8fb}.container{max-width:1100px;margin:0 auto;padding:24px}.header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.nav{display:flex;gap:12px}.nav a{text-decoration:none}.nav a,.navButton{color:#111;padding:8px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.navButton{width:auto}.nav a:hover,.navButton:hover{background:#f9fafb}fieldset{border:1px solid #ddd;padding:16px;border-radius:8px;margin-bottom:16px}label{display:block;margin:8px 0 4px;font-weight:600}button,input,textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccc;border-radius:6px}button{cursor:pointer;background:#111;color:#fff;border:1px solid #111}button:disabled{opacity:.6;cursor:not-allowed}a{color:#0b5fff}textarea{min-height:200px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.actions{display:flex;gap:12px}.actions button{width:auto}.status{margin-top:8px;color:#333;white-space:pre-wrap}.alert{margin-top:12px;border-radius:12px;border:1px solid #e5e7eb;background:hsla(0,0%,100%,.92);padding:12px;box-shadow:0 10px 30px rgba(17,24,39,.06)}.alertTitle{font-weight:700;margin-bottom:2px;letter-spacing:-.01em}.alertBody{color:#374151;white-space:pre-wrap}.alertError{border-color:rgba(239,68,68,.3);background:hsla(0,86%,97%,.85)}.alertError .alertTitle{color:#991b1b}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.inlineActions,.toolbarRight{display:flex;gap:8px;align-items:center}.linkButton{display:inline-block;padding:10px 12px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#111;text-decoration:none}.linkButton:hover{background:#f9fafb}.linkButtonPrimary{background:linear-gradient(180deg,#111827,#0b1220);border-color:hsla(0,0%,100%,.08);color:#fff;box-shadow:0 10px 30px rgba(17,24,39,.18)}.linkButtonPrimary:hover{background:linear-gradient(180deg,#0b1220,#0b1220)}.tableWrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}table{width:100%;border-collapse:collapse;background:#fff}td,th{text-align:left;padding:10px;border-bottom:1px solid #eee;vertical-align:top}th{background:#f9fafb;font-weight:700}.small{font-size:12px;color:#6b7280}.cellWrap{white-space:normal;line-height:1.35}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:12px 0}.card{border:1px solid #e5e7eb;border-radius:10px;padding:14px;background:#fff}.cardLabel{font-size:12px;color:#6b7280;margin-bottom:6px}.cardValue{font-size:28px;font-weight:800}.pillRow{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-block;padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#111;text-decoration:none}.pill:hover{background:#f9fafb}.hint{font-size:12px;color:#6b7280;margin-bottom:8px}.thumb{width:84px;height:56px;border-radius:8px;border:1px solid #e5e7eb}.thumb,.thumbLg{object-fit:cover;background:#f3f4f6}.thumbLg{width:220px;height:140px;border-radius:10px;border:1px solid #e5e7eb}.monthGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-gap:14px;gap:14px;margin-top:12px;align-items:start}.monthCard{position:relative;overflow:hidden;border-radius:14px;border:1px solid #e5e7eb;background:#111;width:500px;height:600px;box-shadow:0 20px 50px rgba(17,24,39,.12);transition:transform .16s ease,box-shadow .16s ease}.monthCard:hover{transform:translateY(-2px);box-shadow:0 28px 70px rgba(17,24,39,.18)}.monthCardOverlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.25))}.monthCardBg{position:absolute;inset:0;background-size:contain;background-position:50%;background-repeat:no-repeat;filter:saturate(1.05) contrast(1.05);transform:scale(1.02)}.monthCardContent{position:relative;z-index:1;padding:14px;color:#fff;display:flex;flex-direction:column;gap:10px}.monthTitle{display:flex;gap:10px;align-items:baseline;justify-content:space-between}.monthTitleLeft{display:flex;flex-direction:column;gap:2px}.monthLabel{font-size:12px;opacity:.85}.monthValue{font-size:20px;font-weight:800}.monthLink{color:#fff;text-decoration:none}.monthLink:hover{text-decoration:underline}.dashTop{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:10px 0 6px}.dashTitle{font-size:26px;font-weight:900;letter-spacing:-.2px}.dashSubtitle{margin-top:4px;font-size:13px;color:#6b7280}.kpiGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:12px 0 14px}.kpiCard{border-radius:14px;border:1px solid rgba(17,24,39,.08);background:hsla(0,0%,100%,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 45px rgba(17,24,39,.06);padding:14px}.kpiLabel{font-size:12px;color:#6b7280;margin-bottom:6px}.kpiValue{font-size:30px;font-weight:900;letter-spacing:-.3px}.monthMeta{font-size:12px;opacity:.9}.chipRow{display:grid;grid-template-columns:repeat(3,150px);grid-gap:10px;gap:10px;align-items:start}.chip{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.18);background:hsla(0,0%,100%,.1);color:#fff;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chip:hover{background:hsla(0,0%,100%,.16)}.chipCount{font-size:12px;opacity:.9}.chipLabel{font-weight:800;letter-spacing:.2px}.chipImg{position:relative;overflow:hidden;background-size:cover;background-position:50%;width:150px;height:200px;padding:12px;border-radius:14px;gap:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:0 10px 28px rgba(0,0,0,.2);transition:transform .14s ease,box-shadow .14s ease}.chipImg .chipLabel{font-size:14px}.chipImg .chipCount{font-size:12px}.chipImg:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.28)}@media (max-width:860px){.kpiGrid,.monthGrid{grid-template-columns:1fr}}.chipImg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.65))}.chipImg>*{position:relative;z-index:1}.wordGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.wordCard{position:relative;overflow:hidden;border-radius:14px;border:1px solid #e5e7eb;background:#111;min-height:160px}.wordCardBg{position:absolute;inset:0;background-size:cover;background-position:50%;filter:blur(0) saturate(1.1) contrast(1.05);transform:scale(1.05)}.wordCardOverlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.75))}.wordCardContent{position:relative;z-index:1;padding:12px;color:#fff;display:flex;flex-direction:column;gap:10px}.wordTop{display:flex;justify-content:space-between;gap:10px}.wordVocab{font-size:18px;font-weight:900;letter-spacing:.2px}.wordIndex{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);padding:6px 10px;border-radius:999px;height:-moz-fit-content;height:fit-content}.wordIndex,.wordPhon{font-size:12px;opacity:.9}.wordPhon{margin-top:4px}.wordSection{display:flex;flex-direction:column;gap:6px;font-size:13px}.wordTag{display:inline-block;font-size:11px;padding:2px 6px;border-radius:999px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);margin-right:6px}