/* 개인 학습 도구: tabs and content on one left edge, full width at 1920px, one card size (work/study-tools-tests-20261017).
   Scoped to html.stt-page (set only while the 개인 학습 도구 page is shown). White cards, gold primary button, no emoji, no beige. */
html.stt-page{--stt-card:var(--vd-card,#fff);--stt-ink:var(--vd-ink,#191f28);--stt-muted:var(--vd-muted,#5b6577);--stt-line:var(--vd-line,#dfe3ea);--stt-gold:var(--ca-gold,#e0b45a);--stt-gold-ink:#191f28;--stt-col:minmax(300px,1fr)}
html.stt-page[data-appearance=dark]{--stt-card:#1a2a40;--stt-ink:#edf1f7;--stt-muted:#b7c4d6;--stt-line:#45566d}
/* One column for tabs + content: no centered 1080px box, no 1440px cap. */
html.stt-page body .content:has(>.personal-tools-nav){max-width:none!important;width:100%!important;margin:0!important;padding-inline:32px!important;box-sizing:border-box}
html.stt-page body .content>.personal-tools-nav{margin:0 0 20px!important;width:max-content;max-width:100%}
html.stt-page body .content>:is(.ls-studio,.vocab-workspace){max-width:none!important;width:100%!important;margin:0!important;padding-inline:0!important}
html.stt-page body .content .study-hub{max-width:none!important;width:100%!important;margin:0!important;display:grid!important;grid-template-columns:repeat(auto-fill,var(--stt-col))!important;gap:16px!important;align-items:stretch}
html.stt-page body .content .study-hub>*{grid-column:1/-1;margin:0!important}
html.stt-page body .content .study-hub>.ls-heading{padding-bottom:4px!important}
/* 원장님 지시: old '학습' cards are hidden (kept in the DOM so the 테스트 cards can reuse their handlers). */
/* Only the known old cards (same list as KNOWN in study-tests.js); a block with any other button stays visible. */
html.stt-page body .content .study-hub>:is(.subject-exam-actions,.practice-feature-grid)>button:is([data-subject-exam],[data-rp-open],[data-study="topic-mode"],[data-study="speech"]),
html.stt-page body .content .study-hub>:is(.subject-exam-actions,.practice-feature-grid):not(:has(>button:not([data-subject-exam],[data-rp-open],[data-study="topic-mode"],[data-study="speech"]))),
html.stt-page body .content .study-hub>:is(.ls-panel[data-open-translation],.stt-sub){display:none!important}
html.stt-page body .content .study-hub>.stt-tests[hidden]{display:none!important}
/* 문장암기·뼈대 topic list (sub-screen): same card size and style as the 테스트 cards. */
html.stt-page body .content .study-hub>.practice-feature-grid:has(>[data-study="topic-start"]){display:grid!important;grid-template-columns:repeat(auto-fill,var(--stt-col))!important;gap:16px!important}
html.stt-page body .content .study-hub>.practice-feature-grid>[data-study="topic-start"]{width:auto!important;max-width:none!important;min-height:188px!important;margin:0!important;box-sizing:border-box;display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;padding:20px!important;border-radius:14px!important;text-align:left;background:var(--stt-card)!important;border:1px solid var(--stt-line)!important;color:var(--stt-ink)!important;box-shadow:none!important}
/* 학습 기록 보기 · 첨삭 모아보기: kept, one link style for both. */
html.stt-page body .content .study-hub>.review-actions{display:flex!important;gap:10px;flex-wrap:wrap;padding-top:8px!important;border-top:1px solid var(--stt-line)}
html.stt-page body .content .study-hub>.review-actions>button:is(button,#stt-x#stt-y){min-height:44px!important;padding:10px 18px!important;border-radius:10px!important;border:1px solid var(--stt-line)!important;background:var(--stt-card)!important;color:var(--stt-ink)!important;font:inherit!important;font-size:14px!important;font-weight:700!important;box-shadow:none!important;cursor:pointer;text-decoration:none!important;width:auto!important}
html.stt-page body .content .study-hub>.review-actions>button:is(button,#stt-x#stt-y)::after{content:" \2192";font-weight:700}
html.stt-page body .content .study-hub>.review-actions>button:is(button,#stt-x#stt-y):hover{border-color:var(--stt-gold)!important}
html.stt-page body .content .study-hub>.review-actions>button:is(button,#stt-x#stt-y):focus-visible{outline:3px solid #1f6feb;outline-offset:2px}
/* 테스트 section */
html.stt-page .stt-tests{display:grid;grid-template-columns:subgrid;gap:16px}
html.stt-page .stt-tests>*{grid-column:1/-1}
html.stt-page .stt-tests>.stt-grid{display:grid;grid-template-columns:subgrid;gap:16px}
html.stt-page body .content>.vocab-workspace>.stt-tests{display:block;margin:0 0 24px}
html.stt-page body .content>.vocab-workspace>.stt-tests>.stt-grid{grid-template-columns:repeat(auto-fill,var(--stt-col));margin-top:16px}
html.stt-page .stt-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
html.stt-page .stt-head h2,html.stt-page .stt-sub{font-size:20px!important;line-height:1.4;margin:8px 0 0!important;color:var(--stt-ink)}
html.stt-page .stt-head h2 span{display:inline-block;min-width:28px;margin-left:6px;padding:1px 9px;border-radius:999px;background:var(--stt-gold);color:var(--stt-gold-ink);font-size:14px;text-align:center}
html.stt-page .stt-head p{margin:0;color:var(--stt-muted);font-size:14px}
html.stt-page .stt-card{display:flex;flex-direction:column;gap:6px;min-height:188px;height:100%;box-sizing:border-box;padding:20px;border-radius:14px;background:var(--stt-card);border:1px solid var(--stt-line);color:var(--stt-ink)}
html.stt-page .stt-card-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--stt-muted)}
html.stt-page .stt-kicker{font-weight:700;letter-spacing:.02em}
html.stt-page .stt-card h3{font-size:17px;line-height:1.4;margin:2px 0 0}
html.stt-page .stt-card p{margin:0;font-size:13px;line-height:1.6;color:var(--stt-muted);flex:1}
html.stt-page .stt-card .stt-start,html.stt-page .stt-head .stt-retry{align-self:flex-start;min-height:44px;padding:10px 22px;border-radius:10px;border:1px solid var(--stt-gold)!important;background:var(--stt-gold)!important;color:var(--stt-gold-ink)!important;font:inherit;font-weight:800;cursor:pointer}
html.stt-page .stt-card .stt-start:disabled{opacity:.55;cursor:default}
html.stt-page .stt-card .stt-start:focus-visible{outline:3px solid #1f6feb;outline-offset:2px}
html.stt-page .stt-note{margin:0;color:var(--stt-muted)}
/* chooser */
.stt-dialog{width:min(720px,94vw);max-height:84vh;padding:0;border:1px solid #dfe3ea;border-radius:16px;background:#fff;color:#191f28}
.stt-dialog::backdrop{background:rgba(15,23,42,.45)}
.stt-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #dfe3ea}
.stt-dialog h2{margin:0;font-size:19px}
.stt-dialog [data-close]{min-height:40px;padding:8px 14px;border-radius:9px;border:1px solid #dfe3ea;background:#fff;color:#191f28;font:inherit;cursor:pointer}
.stt-dialog [data-filter]{display:block;width:calc(100% - 40px);margin:14px 20px 0;min-height:44px;padding:8px 12px;border:1px solid #cfd6e0;border-radius:10px;font:inherit;box-sizing:border-box}
.stt-dialog .stt-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding:16px 20px;max-height:58vh;overflow:auto}
.stt-dialog .stt-choices button{min-height:48px;padding:10px 12px;border-radius:10px;border:1px solid #dfe3ea;background:#fff;color:#191f28;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.stt-dialog .stt-choices button:hover{border-color:#e0b45a}
.stt-dialog [role=alert]{margin:0 20px 16px;color:#b42318}
html[data-appearance=dark] .stt-dialog{background:#1a2a40;color:#edf1f7;border-color:#45566d}
html[data-appearance=dark] .stt-dialog :is([data-close],.stt-choices button,[data-filter]){background:#22334b;color:#edf1f7;border-color:#52657d}
@media (max-width:720px){html.stt-page body .content:has(>.personal-tools-nav){padding-inline:16px!important}html.stt-page{--stt-col:minmax(240px,1fr)}html.stt-page body .content>.personal-tools-nav{width:auto;overflow-x:auto}}
