/* HappyStock School v15.32.17 — isolated styles, existing theme preserved */
.hs-school{display:grid;gap:20px;max-width:100%;min-width:0}
.hs-school h1{margin:0;font-size:clamp(25px,3vw,32px);line-height:1.3}
.hs-school-intro{margin:4px 0 0;color:var(--muted,#70807a);line-height:1.65}
.hs-school-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hs-school-filters{display:flex;gap:8px}
.hs-school-btn{appearance:none;border:1px solid #cddbd1;border-radius:10px;padding:10px 15px;background:#fff;color:#244d38;font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}
.hs-school-btn:hover:not(:disabled){background:#edf6ee;border-color:#8ccaa4}
.hs-school-btn:focus-visible{outline:3px solid #6fbd94;outline-offset:2px}
.hs-school-btn:disabled{opacity:.55;cursor:not-allowed}
.hs-school-btn-primary{background:#127b50;border-color:#127b50;color:#fff}
.hs-school-btn-primary:hover:not(:disabled){background:#08663f;border-color:#08663f}
.hs-school-filter.is-active{background:#e2f3e8;color:#09663f;border-color:#61ad81}
.hs-school-login-note{color:#667c70;margin:-8px 0 0;font-size:13px}
.hs-school-list{display:grid;gap:12px}
.hs-school-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border:1px solid #e1e9e3;border-radius:14px;padding:22px;box-shadow:0 3px 12px rgba(16,55,34,.025)}
.hs-school-card-done{background:#eef3ef;border-color:#dbe3dd}
.hs-school-card-text{flex:1;min-width:0}
.hs-school-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#71857a}
.hs-school-grade{background:#e8f5eb;color:#176b46;padding:4px 8px;border-radius:7px;font-weight:700}
.hs-school-card-title{font-size:19px;line-height:1.4;margin:10px 0 6px;overflow-wrap:anywhere}
.hs-school-card-summary{margin:0;color:#64766c;line-height:1.6;font-size:14px;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hs-school-card-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.hs-school-complete-mark{color:#16854d;font-size:13px;font-weight:750;white-space:nowrap}
.hs-school-article,.hs-school-editor{border:1px solid #e1e9e3;border-radius:16px;background:#fff;padding:clamp(18px,3vw,30px);min-width:0}
.hs-school-article-toolbar{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:23px}
.hs-school-article-grade{color:#127b50;font-weight:700;margin:0 0 10px}
.hs-school-article-title{font-size:clamp(23px,3.5vw,32px);line-height:1.35;overflow-wrap:anywhere;margin:0 0 10px}
.hs-school-body{border-top:1px solid #e5ebe7;padding:18px 0;min-width:0}
.hs-school-paragraph{margin:0 0 18px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.hs-school-article-bottom{border-top:1px solid #e5ebe7;padding-top:22px;display:flex;justify-content:flex-end}
.hs-school-login-hint{border-top:1px solid #e5ebe7;padding-top:20px;color:#64766c}
.hs-school-editor-form{display:grid;gap:16px}
.hs-school-field{display:grid;gap:6px;font-size:14px;color:#344b3d;font-weight:650}
.hs-school-field :is(input,select){border:1px solid #cbd8ce;border-radius:9px;padding:10px 12px;min-width:0;background:#fff;width:100%;font:inherit}
.hs-school-paragraphs{display:grid;gap:16px}
.hs-school-editor-paragraph{border:1px solid #dce7df;border-radius:12px;padding:14px;display:grid;gap:11px;background:#fafcfa}
.hs-school-editor-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}
.hs-school-editor-tools select{background:#fff;border:1px solid #cbd8ce;border-radius:7px;padding:7px 9px;font:inherit}
.hs-school-editor-tools button{margin-left:auto}
.hs-school-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.hs-school-editor-fields textarea{font:inherit;font-size:15px;line-height:1.7;border:1px solid #cbd8ce;border-radius:9px;resize:vertical;min-width:0;width:100%;padding:12px;background:#fff}
.hs-school-editor-actions{display:flex;gap:10px;justify-content:flex-end}
.hs-school-empty{border-radius:12px;border:1px dashed #cbd8ce;padding:32px;text-align:center;color:#71857a}
.hs-school-message{margin:0;font-size:14px;color:#137844}
.hs-school-message:empty{display:none}
.hs-school-message.hs-school-error{color:#a43c30}
.hs-school[hidden],.hs-school [hidden]{display:none!important}
@media(max-width:700px){.hs-school-card{padding:16px;flex-direction:column;align-items:stretch;gap:12px}.hs-school-card-actions{justify-content:space-between}.hs-school-editor-fields{grid-template-columns:1fr}.hs-school-filter{flex:1}.hs-school-filters{width:100%}.hs-school-controls{align-items:stretch}.hs-school-controls>#hsSchoolWrite{align-self:flex-end}}

/* v15.32.18: rich-text school editor, stacked Korean and English */
.hs-school-rich-section{display:grid;gap:10px;min-width:0;border:1px solid #dde9df;border-radius:13px;padding:clamp(12px,2vw,18px);background:#fafcfa}
.hs-school-rich-heading{font-size:16px;line-height:1.45;color:#244d38;margin:0;font-weight:750}
.hs-school-rich-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef5f0;border-radius:9px;padding:10px}
.hs-school-rich-size-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:#34513e}
.hs-school-rich-size-label select{font:inherit;font-size:14px;min-width:88px;border:1px solid #bbcdc0;border-radius:7px;padding:8px;background:#fff}
.hs-school-rich-toolbar>input[type=number]{font:inherit;font-size:15px;width:72px;min-width:72px;max-width:90px;padding:8px;border:1px solid #bbcdc0;border-radius:7px;background:#fff;color:#22372a}
.hs-school-rich-px{font-size:13px;color:#596f60;margin-left:-5px}
.hs-school-rich-toolbar .hs-school-btn{padding:8px 12px;min-height:38px}
.hs-school-rich-input{display:block;box-sizing:border-box;min-height:260px;max-height:65vh;overflow-y:auto;border:1px solid #c8d7cc;border-radius:10px;padding:16px;background:#fff;color:#1d2b22;font-family:inherit;font-size:18px;font-weight:400;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;outline:none;cursor:text}
.hs-school-rich-input:focus{border-color:#278f61;box-shadow:0 0 0 3px rgba(37,140,87,.13)}
.hs-school-rich-input:empty:before{content:attr(data-placeholder);color:#8a9a90;pointer-events:none}
.hs-school-rich-input ::selection,.hs-school-rich-input::selection{background:#b8e3ca;color:#142b1c}
.hs-school-rich-hint{margin:0;color:#637769;font-size:12px;line-height:1.6}
.hs-school-rich-display{font-family:inherit;font-size:18px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-width:0}
@media(max-width:700px){.hs-school-rich-section{padding:12px}.hs-school-rich-toolbar{gap:8px}.hs-school-rich-toolbar .hs-school-btn{width:100%}.hs-school-rich-input{min-height:250px;padding:12px}.hs-school-editor-actions{flex-wrap:wrap}}

/* v15.32.19: four-column lesson list and title-only navigation */
.hs-school-list{display:block;min-width:0;overflow-x:visible}
.hs-school-table{width:100%;border-spacing:0;border-collapse:separate;table-layout:fixed;border:1px solid #dfe8e0;border-radius:13px;overflow:hidden;background:#fff;font-size:14px}
.hs-school-table th{text-align:left;background:#f1f6f2;border-bottom:1px solid #dfe8e0;color:#365644;font-size:13px;font-weight:750;padding:13px 14px}
.hs-school-table td{border-bottom:1px solid #e7eee8;padding:14px;vertical-align:middle;line-height:1.5;overflow-wrap:anywhere}
.hs-school-table tr:last-child td{border-bottom:0}
.hs-school-table th:nth-child(1),.hs-school-table td:nth-child(1){width:26%}
.hs-school-table th:nth-child(2),.hs-school-table td:nth-child(2){width:42%}
.hs-school-table th:nth-child(3),.hs-school-table td:nth-child(3){width:20%}
.hs-school-table tbody tr:hover{background:#f6faf7}
.hs-school-table tbody tr.hs-school-row-done{background:#f2f6f3}
.hs-school-title-link{display:inline-block;font-weight:700;font-size:16px;color:#176b46;text-decoration:none;line-height:1.5}
.hs-school-title-link:hover{text-decoration:underline;color:#075e38}
.hs-school-title-link:focus-visible{outline:3px solid #6fbd94;outline-offset:3px;border-radius:3px}
.hs-school-study-status{display:inline-block;font-weight:650;font-size:13px;white-space:nowrap}
.hs-school-study-status.is-done{color:#13834c}
.hs-school-study-status.is-pending{color:#738477}
.hs-school-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hs-school-article-lesson{color:#516c5a;font-size:13px;margin:0 0 10px}
@media(max-width:700px){
 .hs-school-table{border:0;background:transparent;display:block;overflow:visible}
 .hs-school-table thead{display:none}
 .hs-school-table tbody{display:grid;gap:10px}
 .hs-school-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'grade grade' 'title status';align-items:center;gap:9px 14px;border:1px solid #dfe8e0;border-radius:12px;background:#fff;padding:15px}
 .hs-school-table tbody tr.hs-school-row-done{background:#f2f6f3}
 .hs-school-table td{display:block;padding:0;border:0!important;width:auto!important;text-align:left!important}
 .hs-school-table td:nth-child(1){grid-area:grade}
 .hs-school-table td:nth-child(2){grid-area:title}
 .hs-school-table td:nth-child(3){grid-area:status;text-align:right!important}
 .hs-school-title-link{font-size:16px}
}

/* v15.32.20: 16 grades with accessible dark text on the green-to-red scale. */
.hs-school-grade{display:inline-block;vertical-align:middle;white-space:nowrap;background:#00ff00;color:#111c13;font-size:13px;font-weight:800;line-height:1.4;padding:5px 9px;border-radius:7px}
.hs-school-article-grade{margin:0 0 12px;max-width:100%;width:fit-content;color:#111c13}
/* Stable grade column: reserve room for the longest grade label in each language,
   then begin every title immediately in the next column. */
.hs-school-table{table-layout:fixed}
.hs-school-table th:nth-child(1),.hs-school-table td:nth-child(1){width:162px;white-space:nowrap;overflow-wrap:normal}
.hs-school-table th:nth-child(2),.hs-school-table td:nth-child(2){width:auto}
.hs-school-table th:nth-child(3),.hs-school-table td:nth-child(3){width:118px;text-align:center}
.hs-school:lang(en) .hs-school-table th:nth-child(1),.hs-school:lang(en) .hs-school-table td:nth-child(1){width:198px}
@media(max-width:700px){
 .hs-school-table th:nth-child(1),.hs-school-table td:nth-child(1),
 .hs-school:lang(en) .hs-school-table th:nth-child(1),.hs-school:lang(en) .hs-school-table td:nth-child(1){width:auto;white-space:normal}
 .hs-school-table tbody tr{grid-template-areas:'grade grade' 'title status'}
 .hs-school-table td:nth-child(1){grid-area:grade}
 .hs-school-table td:nth-child(2){grid-area:title}
 .hs-school-table td:nth-child(3){grid-area:status;text-align:right!important}
}
