.learning-progress{--lp-surface:rgba(255, 255, 255, 0.78);--lp-surface-strong:rgba(255, 255, 255, 0.94);--lp-surface-soft:rgba(76, 29, 149, 0.055);--lp-border:rgba(76, 29, 149, 0.14);--lp-text:#281a2d;--lp-muted:#706276;--lp-mature:#db2777;--lp-young:#8b5cf6;--lp-track:rgba(76, 29, 149, 0.1);--lp-focus:#c026d3;--lp-shadow:0 10px 28px rgba(58, 27, 62, 0.07);color:var(--lp-text);font-size:.94rem;line-height:1.55;margin:1.25rem 50% 0;max-width:90ch;transform:translateX(-50%);width:min(900px,calc(100vw - 2rem))}html.dark .learning-progress{--lp-surface:rgba(67, 56, 69, 0.68);--lp-surface-strong:rgba(67, 56, 69, 0.96);--lp-surface-soft:rgba(101, 87, 106, 0.26);--lp-border:rgba(255, 255, 255, 0.075);--lp-text:#fff8ff;--lp-muted:#c9bacb;--lp-mature:#f472b6;--lp-young:#a78bfa;--lp-track:rgba(255, 255, 255, 0.09);--lp-focus:#f0abfc;--lp-shadow:0 12px 32px rgba(9, 4, 12, 0.14)}.learning-progress *,.learning-progress *::before,.learning-progress *::after{box-sizing:border-box}.learning-progress button,.learning-progress input,.learning-progress select{font:inherit}.lp-hero{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:.85rem}.lp-eyebrow{color:var(--lp-muted);font-size:.72rem;font-weight:700;letter-spacing:.11em;margin:0 0 .45rem;text-transform:uppercase}.lp-hero h3,.lp-section-title h3,.lp-panel h4{color:var(--lp-text);font-weight:720;letter-spacing:-.025em;margin:0}.lp-hero h3{font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.08}.lp-hero-copy{color:var(--lp-muted);font-size:.84rem;margin:0;max-width:680px}.lp-sync{align-items:center;background:var(--lp-surface-soft);border:1px solid var(--lp-border);border-radius:999px;color:var(--lp-muted);display:inline-flex;flex:none;font-size:.78rem;gap:.45rem;padding:.42rem .7rem;white-space:nowrap}.lp-sync::before{background:var(--lp-mature);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--lp-mature) 16%,transparent);content:"";height:.48rem;width:.48rem}.lp-overview-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.lp-overview-card,.lp-panel,.lp-explorer{background:var(--lp-surface);border:1px solid var(--lp-border);box-shadow:var(--lp-shadow)}.lp-overview-card{align-items:center;border-radius:1rem;display:grid;gap:1.2rem;grid-template-columns:94px minmax(0,1fr);min-height:146px;padding:1rem}.lp-ring{align-items:center;aspect-ratio:1;background:conic-gradient( var(--lp-mature) 0 calc(var(--lp-mature-pct) * 1%),var(--lp-young) calc(var(--lp-mature-pct) * 1%) calc((var(--lp-mature-pct) + var(--lp-young-pct)) * 1%),var(--lp-track) calc((var(--lp-mature-pct) + var(--lp-young-pct)) * 1%) 100% );border-radius:50%;display:flex;justify-content:center;position:relative}.lp-ring::after{background:var(--lp-surface-strong);border-radius:50%;content:"";inset:10px;position:absolute}.lp-ring-value{color:var(--lp-text);font-size:1.18rem;font-variant-numeric:tabular-nums;font-weight:750;position:relative;z-index:1}.lp-card-label{color:var(--lp-muted);font-size:.72rem;font-weight:700;letter-spacing:.09em;margin-bottom:.15rem;text-transform:uppercase}.lp-card-value{color:var(--lp-text);font-size:clamp(1.65rem,3vw,2.25rem);font-variant-numeric:tabular-nums;font-weight:760;letter-spacing:-.04em;line-height:1.1}.lp-card-value small{color:var(--lp-muted);font-size:.72rem;font-weight:550;letter-spacing:0}.lp-breakdown{color:var(--lp-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.35rem .8rem;margin-top:.65rem}.lp-breakdown span,.lp-legend span{align-items:center;display:inline-flex;gap:.35rem}.lp-dot{background:var(--lp-track);border-radius:50%;height:.5rem;width:.5rem}.lp-dot.is-mature{background:var(--lp-mature)}.lp-dot.is-young{background:var(--lp-young)}.lp-source-strip{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:.75rem}.lp-source-item{background:var(--lp-surface-soft);border:1px solid var(--lp-border);border-radius:.75rem;min-width:0;padding:.7rem .75rem}.lp-source-name{color:var(--lp-text);font-size:.75rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-source-count{color:var(--lp-muted);font-size:.72rem;font-variant-numeric:tabular-nums;margin-top:.2rem}.lp-source-track{background:var(--lp-track);border-radius:999px;height:4px;margin-top:.55rem;overflow:hidden}.lp-source-track span{background:linear-gradient(90deg,var(--lp-mature),var(--lp-young));display:block;height:100%}.lp-section{margin-top:2.25rem}.lp-section-title{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.9rem}.lp-section-title h3{font-size:1.35rem}.lp-section-title p{color:var(--lp-muted);font-size:.82rem;margin:.2rem 0 0}.lp-legend{color:var(--lp-muted);display:flex;flex-wrap:wrap;font-size:.74rem;gap:.8rem}.lp-coverage-grid,.lp-frequency-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.lp-frequency-grid{margin-top:0}.lp-panel{border-radius:1rem;min-width:0;padding:1rem 1rem 1.1rem}.lp-panel-heading{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.85rem}.lp-panel h4{font-size:1rem}.lp-panel-note{color:var(--lp-muted);font-size:.7rem;text-align:right}.lp-progress-list{display:grid;gap:.76rem}.lp-progress-labels{align-items:baseline;display:grid;gap:.6rem;grid-template-columns:72px minmax(0,1fr)auto;margin-bottom:.3rem}.lp-progress-name{color:var(--lp-text);font-size:.8rem;font-weight:690}.lp-progress-count{color:var(--lp-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-progress-percent{color:var(--lp-text);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:720}.lp-stack{background:var(--lp-track);border-radius:999px;display:flex;height:8px;overflow:hidden}.lp-stack>span{display:block;height:100%;min-width:0}.lp-stack-mature{background:var(--lp-mature)}.lp-stack-young{background:var(--lp-young)}.lp-explorer{border-radius:1rem;overflow:hidden}.lp-frequency-context{align-items:flex-start;background:var(--lp-surface-soft);border:1px solid var(--lp-border);border-radius:.8rem;color:var(--lp-muted);display:grid;font-size:.76rem;gap:.2rem;line-height:1.5;margin-top:.75rem;padding:.72rem .85rem}.lp-frequency-context strong{color:var(--lp-text);font-size:.78rem}.lp-explorer-top{align-items:center;border-bottom:1px solid var(--lp-border);display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1rem}.lp-tabs{background:var(--lp-surface-soft);border:1px solid var(--lp-border);border-radius:.75rem;display:inline-flex;gap:.2rem;padding:.2rem}.learning-progress .lp-tab{background:0 0;border:0;border-radius:.55rem;color:var(--lp-muted);cursor:pointer;font-size:.8rem;font-weight:650;margin:0;padding:.42rem .7rem}.learning-progress .lp-tab[aria-selected=true]{background:var(--lp-surface-strong);box-shadow:0 3px 12px rgba(30,12,32,8%);color:var(--lp-text)}.learning-progress button:focus-visible,.learning-progress input:focus-visible,.learning-progress select:focus-visible{outline:2px solid var(--lp-focus);outline-offset:2px}.lp-result-count{color:var(--lp-muted);font-size:.76rem;font-variant-numeric:tabular-nums}.lp-toolbar{display:grid;gap:.7rem;grid-template-columns:minmax(220px,1.6fr)repeat(3,minmax(120px,.8fr));padding:.9rem 1rem}.lp-field{display:grid;gap:.28rem;min-width:0}.lp-field label{color:var(--lp-muted);font-size:.68rem;font-weight:680;letter-spacing:.07em;text-transform:uppercase}.learning-progress .lp-input,.learning-progress .lp-select{appearance:auto;background:var(--lp-surface-strong);border:1px solid var(--lp-border);border-radius:.66rem;color:var(--lp-text);height:2.35rem;margin:0;min-width:0;padding:0 .68rem;width:100%}.learning-progress .lp-input::placeholder{color:var(--lp-muted);opacity:.72}.lp-table-wrap{border-top:1px solid var(--lp-border);overflow-x:auto}.learning-progress .lp-table{border-collapse:collapse;color:var(--lp-text);display:table;font-size:.78rem;margin:0;min-width:780px;table-layout:fixed;width:100%}.learning-progress .lp-table th,.learning-progress .lp-table td{background:0 0;border:0;border-bottom:1px solid var(--lp-border);padding:.72rem .8rem;text-align:left;vertical-align:middle}.learning-progress .lp-table th{color:var(--lp-muted);font-size:.66rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.learning-progress .lp-table tbody tr:hover{background:var(--lp-surface-soft)}.learning-progress .lp-table:not(.is-grammar) .lp-col-item{width:54%}.learning-progress .lp-table:not(.is-grammar) .lp-col-status{width:16%}.learning-progress .lp-table:not(.is-grammar) .lp-col-source{width:30%}.learning-progress .lp-table.is-grammar .lp-col-item{width:48%}.learning-progress .lp-table.is-grammar .lp-col-status{width:16%}.learning-progress .lp-table.is-grammar .lp-col-source{width:24%}.learning-progress .lp-table.is-grammar .lp-col-jlpt{width:12%}.learning-progress .lp-table td.lp-col-item{max-width:26rem;overflow:hidden}.lp-item-content{max-width:26rem;min-width:0;overflow:hidden;width:100%}.lp-expression{color:var(--lp-text);display:block;font-size:.98rem;font-weight:680;line-height:1.35;overflow-wrap:anywhere}.lp-reading,.lp-meaning{color:var(--lp-muted);display:block;font-size:.72rem;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.lp-meaning{opacity:.9}.lp-status,.lp-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:690;line-height:1;white-space:nowrap}.lp-status{background:var(--lp-surface-soft);border:1px solid var(--lp-border);gap:.34rem;padding:.36rem .52rem}.lp-status::before{background:var(--lp-track);border-radius:50%;content:"";height:.42rem;width:.42rem}.lp-status.is-mature::before{background:var(--lp-mature)}.lp-status.is-young::before{background:var(--lp-young)}.lp-tag{background:var(--lp-surface-soft);border:1px solid var(--lp-border);color:var(--lp-muted);margin:.08rem .18rem .08rem 0;padding:.3rem .42rem}.lp-rank{color:var(--lp-text);font-variant-numeric:tabular-nums;font-weight:650}.lp-rank.is-empty{color:var(--lp-muted);font-weight:450}.lp-mobile-meta{display:none}.lp-empty{color:var(--lp-muted);padding:2.4rem 1rem;text-align:center}.lp-explorer-footer{display:flex;justify-content:center;padding:.9rem}.learning-progress .lp-more{background:var(--lp-surface-soft);border:1px solid var(--lp-border);border-radius:.66rem;color:var(--lp-text);cursor:pointer;font-size:.76rem;font-weight:670;margin:0;padding:.5rem .8rem}@media(max-width:900px){.lp-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-field:first-child{grid-column:1/-1}}@media(max-width:700px){.learning-progress{margin-top:1.4rem;width:min(100%,calc(100vw - 1.1rem))}.lp-hero,.lp-section-title,.lp-explorer-top{align-items:flex-start;flex-direction:column}.lp-hero{gap:.8rem}.lp-overview-grid,.lp-coverage-grid,.lp-frequency-grid{grid-template-columns:1fr}.lp-overview-card{grid-template-columns:92px minmax(0,1fr);min-height:145px}.lp-source-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-legend{margin-top:.25rem}.lp-toolbar{grid-template-columns:1fr}.lp-field:first-child{grid-column:auto}.lp-table-wrap{overflow:visible}.learning-progress .lp-table{display:block;min-width:0}.learning-progress .lp-table thead{display:none}.learning-progress .lp-table tbody{display:grid}.learning-progress .lp-table tr{border-bottom:1px solid var(--lp-border);display:grid;grid-template-columns:minmax(0,1fr)auto;padding:.75rem .9rem}.learning-progress .lp-table td{border:0;display:block;padding:0;width:auto}.learning-progress .lp-table .lp-col-item{grid-column:1}.learning-progress .lp-table .lp-col-status{grid-column:2;grid-row:1;padding-left:.7rem}.learning-progress .lp-table .lp-col-source,.learning-progress .lp-table .lp-col-jlpt,.learning-progress .lp-table .lp-col-rank{display:none}.lp-mobile-meta{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.45rem}.lp-item-content{max-width:100%}.lp-meaning{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}}@media(max-width:430px){.lp-overview-card{grid-template-columns:78px minmax(0,1fr);gap:.85rem}.lp-ring::after{inset:8px}.lp-source-strip{grid-template-columns:1fr}.lp-progress-labels{grid-template-columns:62px minmax(0,1fr)auto}.lp-tabs{width:100%}.learning-progress .lp-tab{flex:1}}@media(prefers-reduced-motion:reduce){.learning-progress *{scroll-behavior:auto!important}}