.ma-ach-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 22px}
.ma-ach-overview>div{padding:14px 15px;border:1px solid var(--ma-border);border-radius:var(--ma-radius-lg);background:var(--ma-surface-soft)}
.ma-ach-overview b{display:block;color:var(--ma-text);font-size:1.45rem;line-height:1;font-weight:950;letter-spacing:-.04em}
.ma-ach-overview span{display:block;margin-top:6px;color:var(--ma-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ma-achievement-layout{display:grid;gap:28px}
.ma-achievement-section{--ma-ach-accent:148,163,184;min-width:0}
.ma-ach-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--ma-border)}
.ma-ach-section-head h3{margin:0;color:var(--ma-text);font-size:1.15rem;letter-spacing:-.025em}
.ma-ach-section-copy{margin:5px 0 0;max-width:720px;color:var(--ma-muted);font-size:.84rem;line-height:1.45}
.ma-ach-section-count,.ma-ach-future-status{flex:0 0 auto;color:var(--ma-muted);font-size:.74rem;font-weight:900;white-space:nowrap}
.ma-achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.ma-achievement-tile{--ma-ach-rank:148,163,184;position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-height:190px;appearance:none;border:1px solid rgba(var(--ma-ach-rank),.38);border-radius:22px;padding:16px;text-align:left;color:var(--ma-text);background:radial-gradient(circle at 18% 0%,rgba(var(--ma-ach-accent),.14),transparent 48%),var(--ma-surface-soft);box-shadow:var(--ma-shadow-soft);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.ma-achievement-tile:hover,.ma-achievement-tile:focus-visible{transform:translateY(-2px);border-color:rgba(var(--ma-ach-rank),.7);box-shadow:var(--ma-shadow);outline:none}
.ma-achievement-tile.done{background:radial-gradient(circle at 18% 0%,rgba(var(--ma-ach-rank),.22),transparent 48%),var(--ma-surface-soft);border-color:rgba(var(--ma-ach-rank),.62)}
.ma-ach-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ma-ach-rank-badge,.ma-ach-status-text{display:inline-flex;align-items:center;min-height:25px;padding:4px 7px;border-radius:999px;font-size:.67rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase}
.ma-ach-rank-badge{color:rgb(var(--ma-ach-rank));background:rgba(var(--ma-ach-rank),.12);border:1px solid rgba(var(--ma-ach-rank),.22)}
.ma-ach-status-text{color:var(--ma-muted);background:var(--ma-control);border:1px solid var(--ma-border)}
.ma-achievement-tile.done .ma-ach-status-text{color:rgb(var(--ma-ach-rank));border-color:rgba(var(--ma-ach-rank),.25)}
.ma-ach-graphic{display:grid;place-items:center;width:48px;height:48px;margin:18px 0 16px;border-radius:16px;color:rgb(var(--ma-ach-rank));background:rgba(var(--ma-ach-rank),.12);border:1px solid rgba(var(--ma-ach-rank),.2);font-size:1.45rem;font-weight:950}
.ma-ach-copy{display:grid;gap:7px;min-width:0;margin-bottom:18px}
.ma-achievement-tile strong{display:block;color:var(--ma-text);font-size:1rem;line-height:1.16;letter-spacing:-.025em}
.ma-achievement-tile small{display:block;color:var(--ma-muted);font-size:.78rem;font-weight:760;line-height:1.35}
.ma-ach-meter{position:relative;width:100%;height:6px;margin-top:auto;border-radius:999px;background:var(--ma-control);overflow:hidden}
.ma-ach-meter-fill{display:block;height:100%;width:var(--ma-progress,0%);border-radius:999px;background:rgb(var(--ma-ach-rank));transition:width .2s ease}
.ma-achievement-section--future{opacity:.78}
.ma-ach-future-placeholder{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1px dashed var(--ma-border-strong);border-radius:18px;background:var(--ma-surface-soft);color:var(--ma-muted)}
.ma-ach-future-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--ma-control);color:var(--ma-text);font-weight:950}
.ma-ach-future-placeholder strong{color:var(--ma-text);font-size:.9rem}.ma-ach-future-placeholder small{font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}

.ma-ach-info-topbar{display:grid;gap:16px;align-items:start}
.ma-ach-info-back{justify-self:start}
.ma-ach-info-hero{--ma-ach-accent:148,163,184;--ma-ach-rank:148,163,184;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;min-width:0}
.ma-ach-info-symbol{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:rgba(var(--ma-ach-rank),.13);border:1px solid rgba(var(--ma-ach-rank),.26);color:rgb(var(--ma-ach-rank));font-size:1.65rem;font-weight:950}
.ma-ach-info-kicker{display:inline-flex;margin-bottom:7px;color:rgb(var(--ma-ach-accent));font-weight:950;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.ma-ach-info-body h3{margin:0;color:var(--ma-text);font-size:1.65rem;letter-spacing:-.045em;line-height:1}
.ma-ach-info-body h3 em{font-style:normal;color:rgb(var(--ma-ach-rank));font-size:.92rem;vertical-align:middle;margin-left:6px}
.ma-ach-info-copy{color:var(--ma-muted);line-height:1.58;margin:18px 0}
.ma-ach-info-progress{--ma-ach-rank:148,163,184;border:1px solid var(--ma-border);border-radius:18px;padding:14px;background:var(--ma-surface-soft)}
.ma-ach-info-progress-row{display:flex;justify-content:space-between;gap:14px}.ma-ach-info-progress strong{color:var(--ma-text)}.ma-ach-info-progress span{color:var(--ma-muted);font-weight:850;text-align:right}
.ma-ach-info-progress i{display:block;margin-top:10px;height:7px;border-radius:999px;background:var(--ma-control);overflow:hidden}.ma-ach-info-progress i b{display:block;width:var(--ma-progress,0%);height:100%;border-radius:999px;background:rgb(var(--ma-ach-rank))}
.ma-ach-rank-history{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.ma-ach-rank-step{--ma-ach-rank:148,163,184;appearance:none;border:1px solid rgba(var(--ma-ach-rank),.25);border-radius:999px;padding:7px 10px;background:transparent;color:var(--ma-muted);font:inherit;font-size:.73rem;font-weight:900;cursor:pointer}
.ma-ach-rank-step.done{color:rgb(var(--ma-ach-rank));background:rgba(var(--ma-ach-rank),.09)}.ma-ach-rank-step.current{box-shadow:0 0 0 2px rgba(var(--ma-ach-rank),.2);border-color:rgba(var(--ma-ach-rank),.62)}
.ma-ach-rank-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--ma-border)}
.ma-ach-rank-nav span{text-align:center;color:var(--ma-muted);font-size:.76rem;font-weight:900}.ma-ach-rank-nav button:last-child{justify-self:end}.ma-ach-rank-nav button:disabled{opacity:.35;cursor:not-allowed}

/* Mastery Map remains a separate Kana analysis feature within the same shared dialog owner. */
.ma-mastery-legend{display:grid;gap:12px;margin-bottom:14px}
.ma-mastery-legend div{padding:14px 15px;border-radius:18px;border:1px solid var(--ma-border);background:var(--ma-surface-soft)}
.ma-mastery-legend b{display:block;color:var(--ma-text);margin-bottom:5px}.ma-mastery-legend span{color:var(--ma-muted);font-size:.88rem;line-height:1.35}
.ma-mastery-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.ma-mastery-summary span{border:1px solid var(--ma-border);background:var(--ma-surface-soft);border-radius:18px;padding:14px 16px;color:var(--ma-muted)}
.ma-mastery-summary b{display:block;color:var(--ma-text);font-size:1.8rem;line-height:1.1}
.ma-speed-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.ma-speed-summary span{padding:8px 10px;border-radius:999px;background:var(--ma-control);border:1px solid var(--ma-border);color:var(--ma-muted);font-size:.78rem}.ma-speed-summary b{color:var(--ma-text)}
.ma-mastery-group{margin-top:22px}.ma-mastery-group h3{margin:0 0 14px;color:var(--ma-text);font-size:1.15rem}
.ma-mastery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:9px}
.ma-mastery-cell{appearance:none;border:1px solid var(--ma-border);border-radius:18px;min-height:74px;background:var(--ma-surface-soft);color:var(--ma-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.ma-mastery-cell:hover,.ma-mastery-cell:focus-visible{outline:none;border-color:var(--ma-control-active-border);box-shadow:0 0 0 3px var(--ma-focus-ring)}
.ma-mastery-cell strong{font-size:1.45rem}.ma-mastery-cell span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.ma-mastery-cell.new{opacity:.62}.ma-mastery-cell.learning{background:color-mix(in srgb,var(--ma-warning) 12%,var(--ma-surface-soft));border-color:color-mix(in srgb,var(--ma-warning) 35%,var(--ma-border))}.ma-mastery-cell.reviewing{background:color-mix(in srgb,var(--ma-writing) 12%,var(--ma-surface-soft));border-color:color-mix(in srgb,var(--ma-writing) 35%,var(--ma-border))}.ma-mastery-cell.mastered{background:color-mix(in srgb,var(--ma-success) 12%,var(--ma-surface-soft));border-color:color-mix(in srgb,var(--ma-success) 35%,var(--ma-border))}
.ma-ach-info-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.ma-ach-info-stats>div{padding:12px;border-radius:16px;background:var(--ma-surface-soft);border:1px solid var(--ma-border)}.ma-ach-info-stats b,.ma-ach-info-stats span{display:block}.ma-ach-info-stats span{margin-top:5px;color:var(--ma-muted);font-size:.78rem}
.ma-kana-pro-head .ma-mastery-open-btn{margin-top:0;align-self:flex-start;white-space:nowrap}
.ma-mastery-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:760px){
  .ma-ach-overview{gap:8px}.ma-ach-overview>div{padding:11px}.ma-ach-overview b{font-size:1.15rem}.ma-ach-overview span{font-size:.63rem}
  .ma-ach-section-head{align-items:flex-start;flex-direction:column;gap:7px}.ma-ach-section-count,.ma-ach-future-status{white-space:normal}
  .ma-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ma-achievement-tile{min-height:170px;border-radius:18px;padding:12px}.ma-ach-graphic{width:42px;height:42px;margin:14px 0 13px}.ma-ach-copy{gap:5px;margin-bottom:14px}.ma-achievement-tile strong{font-size:.9rem}.ma-achievement-tile small{font-size:.71rem}
  .ma-ach-info-topbar{gap:13px}.ma-ach-info-body h3{font-size:1.35rem}.ma-ach-rank-nav{grid-template-columns:1fr 1fr}.ma-ach-rank-nav span{grid-column:1/-1;grid-row:1}.ma-ach-rank-nav button:last-child{justify-self:stretch}.ma-ach-rank-nav button{justify-content:center}
  .ma-mastery-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ma-mastery-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}.ma-mastery-cell{min-height:60px;border-radius:14px}.ma-mastery-cell strong{font-size:1.18rem}.ma-ach-info-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){.ma-ach-overview{grid-template-columns:1fr}.ma-achievement-grid{grid-template-columns:1fr}.ma-achievement-tile{min-height:158px}.ma-ach-future-placeholder{grid-template-columns:auto 1fr}.ma-ach-future-placeholder small{grid-column:2}.ma-ach-info-symbol{width:48px;height:48px}.ma-ach-info-back{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.ma-achievement-tile{transition:none}.ma-achievement-tile:hover,.ma-achievement-tile:focus-visible{transform:none}.ma-ach-meter-fill{transition:none}}
