.home-learning-plans { width:100%; box-sizing:border-box; border:2px solid #171717; border-radius:20px; background:#fff; padding:24px; font-family:'DM Sans',sans-serif; }
.home-learning-plans h2 { margin:0 0 22px; font-size:25px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.home-plan-cards { display:grid; grid-template-columns:repeat(2,minmax(0,244px)); gap:18px; }
.home-plan-card { --plan-accent:#38e4bd; --plan-copy:#eee; --plan-muted:#d2d2d2; --plan-track:#303030; --goal-card-panel-background:linear-gradient(125deg,transparent 24%,#ffffff12 46%,transparent 66%),linear-gradient(145deg,#272727,#0a0a0a 55%,#202020); --goal-card-panel-scan:none; min-height:282px; padding:16px; gap:12px; color:#fff; border:3px solid #363636; box-shadow:inset 0 1px 0 #ffffff38,0 7px 0 #111,0 12px 22px #1112; transition:transform .18s,box-shadow .18s; cursor:default; }
.home-plan-card[data-area="tables"] { --plan-accent:#b7a0ff; }
.home-plan-card[data-medal="bronze"],.home-points-progress[data-medal="bronze"] { --plan-accent:#bf8048; }
.home-plan-card[data-medal="silver"],.home-points-progress[data-medal="silver"] { --plan-accent:#8f9aa7; }
.home-plan-card[data-medal="gold"],.home-points-progress[data-medal="gold"] { --plan-accent:#cfa624; }
.home-points-progress[data-medal="jupiter"] { --plan-accent:#18181b; }
.home-plan-card:hover,.home-plan-card:focus-within { transform:translateY(-2px); box-shadow:inset 0 1px 0 #ffffff50,0 9px 0 #111,0 16px 24px #1113; }
.home-plan-card::before { display:none; }
.home-points-progress { --plan-accent:#16a77c; grid-column:1/-1; display:grid; gap:10px; min-width:0; margin-top:10px; }
.home-points-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px 12px; font-size:12px; color:#48505c; }
.home-points-heading strong { color:#171717; font-size:13px; }
.home-points-heading span { font-variant-numeric:tabular-nums; white-space:nowrap; }
.home-points-progress progress { appearance:none; box-sizing:border-box; width:100%; height:12px; border:1px solid #b4beca; border-radius:20px; overflow:hidden; background:#e8edf2; color:var(--plan-accent); }
.home-points-progress progress::-webkit-progress-bar { background:#e8edf2; }
.home-points-progress progress::-webkit-progress-value { background:var(--plan-accent); border-radius:20px; }
.home-points-progress progress::-moz-progress-bar { background:var(--plan-accent); }
.home-plan-open { display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-align:center; }
.home-plan-label { display:flex; align-items:center; gap:12px; width:100%; min-height:34px; justify-content:space-between; text-transform:uppercase; font-size:10px; letter-spacing:.07em; font-weight:700; color:var(--plan-muted); }
.home-plan-label span { color:var(--plan-muted); }
.home-plan-medal { display:block; flex-shrink:0; width:34px; height:34px; box-sizing:border-box; object-fit:contain; border:1px solid #302419; border-radius:8px; box-shadow:0 2px 0 #302419; }
.home-plan-open h3 { font-size:15px; line-height:1.2; margin:4px 0; max-width:195px; min-height:36px; overflow-wrap:anywhere; }
.home-plan-art { display:grid; grid-template-columns:repeat(3,44px); grid-auto-rows:44px; gap:6px; min-height:94px; align-content:center; }
.home-plan-art img { width:44px; height:44px; object-fit:cover; border:1px solid #ffffff66; border-radius:9px; }
.home-plan-empty-art { display:grid; place-items:center; width:145px; height:92px; font-size:42px; color:#aaaeb6; border:1px dashed #999a; border-radius:12px; }
.home-plan-open progress { appearance:none; box-sizing:border-box; width:100%; height:12px; border:1px solid var(--plan-accent); border-radius:20px; overflow:hidden; background:var(--plan-track); color:var(--plan-accent); }
.home-plan-open progress::-webkit-progress-bar { background:var(--plan-track); }
.home-plan-open progress::-webkit-progress-value { background:var(--plan-accent); border-radius:20px; }
.home-plan-open progress::-moz-progress-bar { background:var(--plan-accent); }
.home-plan-detail { color:var(--plan-copy); font-size:11px; }
.home-plan-change { color:var(--plan-muted); font-size:10px; }
.home-plan-start { display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; box-sizing:border-box; padding:11px; background:#fffdf8; color:#171717; border:1px solid #171717; box-shadow:0 2px 0 #171717; border-radius:8px; font-size:13px; font-weight:800; text-decoration:none; transition:filter .18s; }
.home-plan-start:hover { filter:brightness(1.12); }
.home-plan-open:focus-visible,.home-plan-start:focus-visible { outline:3px solid var(--plan-accent); outline-offset:5px; border-radius:8px; }
.home-plan-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.home-plan-actions button { border:2px solid #171717; background:#171717; color:#fff; border-radius:9px; padding:11px 15px; font:700 11px 'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; }
.home-plan-actions button + button { background:#fff; color:#171717; }
.home-plan-status { font-size:13px; margin:10px 0 0; }
.home-plan-status:empty { display:none; }
.home-plan-dialog { box-sizing:border-box; width:min(540px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); overflow:auto; padding:28px; background:#fffdf5; color:#171717; border:2px solid #171717; border-radius:20px; font:14px 'DM Sans',sans-serif; }
.home-plan-dialog::backdrop { background:#10151cb3; backdrop-filter:blur(3px); }
.home-plan-dialog h2 { padding-right:24px; font-size:22px; font-weight:700; letter-spacing:0; text-transform:none; margin:0 0 10px; }
.home-plan-dialog p { line-height:1.5; color:#62666b; }
.home-plan-close { position:absolute; right:15px; top:13px; border:0; background:transparent; font-size:26px; cursor:pointer; }
.home-plan-area-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.home-plan-area-choices a { display:flex; flex-direction:column; gap:12px; border:2px solid #222; border-radius:12px; color:#222; padding:20px 14px; text-decoration:none; background:#fff; }
.home-plan-area-choices strong { font-size:18px; }
.home-plan-area-choices span { font-size:12px; line-height:1.5; }
.home-plan-options { display:grid; gap:9px; max-height:48vh; overflow:auto; }
.home-plan-options button { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px; border:1px solid #ccc; border-radius:12px; background:#fff; text-align:left; font:inherit; cursor:pointer; }
.home-plan-options button[aria-pressed="true"] { border:2px solid #333; background:#f0eee6; }
.home-plan-options button[data-medal="bronze"] { border-left:5px solid #bd864e; }
.home-plan-options button[data-medal="silver"] { border-left:5px solid #9cabb9; }
.home-plan-options button[data-medal="gold"] { border-left:5px solid #d7b231; }
.home-plan-options small { display:block; margin-top:6px; color:#666; }
.home-plan-options b { font-size:11px; white-space:nowrap; }
.home-plan-dialog footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; margin-top:20px; }
.home-plan-dialog footer a { color:#222; font-weight:700; }
@media(max-width:560px) { .home-learning-plans { padding:16px; } .home-plan-cards { gap:10px; } .home-plan-card { padding:12px 9px; min-height:265px; } .home-plan-label { gap:4px; font-size:9px; } .home-plan-art { grid-template-columns:repeat(3,34px); grid-auto-rows:34px; min-height:74px; gap:4px; } .home-plan-art img { width:34px; height:34px; } .home-plan-open h3 { font-size:13px; } .home-plan-empty-art { width:100px; height:74px; } .home-plan-detail { font-size:10px; } }
@media(max-width:380px) { .home-plan-cards { grid-template-columns:minmax(0,244px); justify-content:center; } .home-plan-area-choices { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .home-plan-card,.home-plan-start { transition:none; } .home-plan-card:hover,.home-plan-card:focus-within { transform:none; } }
.home-plan-art.home-plan-art-chosen { display:block; min-height:0; }
.home-plan-art.home-plan-art-chosen img { display:block; width:94px; height:94px; border-radius:12px; }
.home-plan-option { display:flex; align-items:center; gap:14px; padding:12px; border:1px solid #ccc; border-radius:12px; background:#fff; }
.home-plan-option > div { min-width:0; }
.home-plan-option strong { overflow-wrap:anywhere; }
.home-plan-option .home-plan-art { flex:none; }
.home-plan-option .home-plan-art.home-plan-art-chosen img { width:64px; height:64px; }
.home-plan-option-actions { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:10px; }
.home-plan-option-actions a { color:#171717; font-weight:700; }
@media(max-width:560px) { .home-plan-art.home-plan-art-chosen img { width:74px; height:74px; } }
