@font-face{font-family:Mali;src:url('/fonts/Mali-Bold.ttf');font-weight:700;font-display:swap}@font-face{font-family:Sarabun;src:url('/fonts/Sarabun-Regular.ttf');font-display:swap}*{box-sizing:border-box}body{margin:0;color:#233c50;background:#f7fafb;font:16px/1.7 Sarabun,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f9bb38;outline-offset:3px}[hidden]{display:none!important}.preview{background:#233c50;color:white;text-align:center;font-size:14px;padding:6px}header{background:white;border-bottom:1px solid #e3eaf0;display:flex;align-items:center;gap:36px;padding:22px max(5vw,24px)}.brand{display:flex;align-items:center;gap:12px;font:700 25px Mali;color:#233c50;text-decoration:none}.brandmark{background:#008f89;color:white;width:42px;height:42px;border-radius:13px;display:grid;place-items:center}.brandtag{font:14px Sarabun;color:#72808e;border-left:1px solid #ddd;padding-left:14px}nav{display:flex;gap:16px;flex:1}.navbtn{border:0;background:none;color:#64758b;padding:8px}.navbtn.selected{color:#008f89;font-weight:bold;border-bottom:3px solid}.primary{background:#008f89;color:white;border:0;border-radius:12px;padding:11px 22px}.secondary{background:white;color:#008f89;border:1px solid #008f89;border-radius:12px;padding:10px 20px}.textbtn{background:none;border:0;color:#008f89;padding:10px 0}.accountname{font-size:14px;display:inline-block;margin-right:12px}main{max-width:1200px;margin:32px auto 60px;padding:0 26px}.intro{background:#e3f4f2;border-radius:28px;display:grid;grid-template-columns:1.2fr 1fr;padding:32px 42px;align-items:center;gap:20px;overflow:hidden}.eyebrow{color:#008f89;font-size:15px;margin-bottom:8px}h1,h2,h3{font-family:Mali;line-height:1.5;margin:0}h1{font-size:36px}h2{font-size:23px}h3{font-size:19px}p{color:#64758b}.pill{display:inline-block;border-radius:30px;background:white;color:#008f89;padding:5px 13px;font-size:14px;margin-right:8px}.pill.yellow{background:#ffe8a0;color:#71551d}.heroart{position:relative;margin:0 16px;background:white;border-radius:24px;padding:10px;transform:rotate(2deg)}.heroart img{display:block;width:100%;height:220px;object-fit:contain}.sticker{position:absolute;right:-15px;bottom:5px;background:#f9bb38;color:#564016;font:700 17px/1.5 Mali;padding:16px;border-radius:50%;transform:rotate(-8deg)}.libraryarea{display:grid;grid-template-columns:250px 1fr;gap:32px;margin-top:36px}aside{background:white;border:1px solid #e3eaf0;border-radius:20px;padding:24px;align-self:start}aside h2{font-size:20px;margin-bottom:18px}label{display:block;margin:14px 0 6px;font-size:15px}input,select{width:100%;border:1px solid #d3dee6;background:white;border-radius:10px;padding:10px;color:#233c50}.asideNote{border-top:1px solid #e3eaf0;margin-top:14px;padding-top:18px;color:#008f89}.asideNote small{display:block;color:#64758b;line-height:1.8}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.sectionhead span{color:#72808e;font-size:14px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid #e3eaf0;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px #233c5006}.cardimage{height:225px;background:#e5efee;padding:18px;position:relative}.card:nth-child(2) .cardimage{background:#fff0ce}.cardimage img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px #0002)}.gradebadge{position:absolute;top:14px;left:14px;background:white;color:#008f89;border-radius:8px;padding:3px 10px;font-size:14px}.cardbody{padding:20px}.meta{color:#008f89;font-size:14px;margin-bottom:7px}.tags{display:flex;gap:6px;margin:12px 0 18px;flex-wrap:wrap}.tags span{font-size:13px;background:#f0f4f7;color:#64758b;border-radius:7px;padding:2px 9px}.cardactions{display:flex;gap:10px}.cardactions button{font-size:15px;padding:9px 12px;flex:1}.empty{background:white;border-radius:20px;padding:50px;text-align:center;grid-column:1/-1}.tablewrap{overflow:auto;background:white;border-radius:16px;border:1px solid #e3eaf0}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:18px;border-bottom:1px solid #e3eaf0}th{background:#e3f4f2}.status{border-radius:20px;background:#e3f4f2;color:#007b76;padding:4px 12px;white-space:nowrap}.status.off{background:#fce8ee;color:#b52e4c}footer{max-width:1200px;padding:20px 26px;margin:auto;border-top:1px solid #e3eaf0;font-size:14px;color:#72808e;display:flex;justify-content:space-between;gap:15px}dialog{border:0;border-radius:22px;padding:32px;width:min(450px,calc(100% - 30px));color:#233c50;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#10283c80}dialog h2{margin-bottom:20px}.close{position:absolute;right:16px;top:10px;background:none;border:0;font-size:27px;color:#64758b}.full{width:100%}.error{color:#b52e4c;font-size:14px}.demobox{margin-top:22px;background:#f0f6f7;border-radius:12px;padding:16px;font-size:14px}.demobox button{display:block;background:white;border:1px solid #d3dee6;padding:8px;border-radius:8px;margin:8px 0;width:100%;color:#008f89}.demobox small{color:#72808e}#detailDialog{width:min(600px,calc(100% - 30px))}#detail img{width:100%;max-height:60vh;object-fit:contain;margin:12px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#233c50;color:white;padding:12px 24px;border-radius:12px;z-index:10;max-width:90vw}@media(max-width:850px){header{flex-wrap:wrap;gap:14px;padding:16px 22px}.brandtag{display:none}nav{order:3;flex-basis:100%}#account{margin-left:auto}.intro{padding:26px;grid-template-columns:1fr 1fr}h1{font-size:28px}.heroart img{height:180px}.libraryarea{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}aside h2,.asideNote{grid-column:1/-1}aside label{margin:0}aside input,aside select{align-self:start}.cards{gap:16px}}@media(max-width:550px){main{padding:0 16px;margin-top:20px}.intro{grid-template-columns:1fr;gap:24px}.heroart{margin:0 20px}.heroart img{height:170px}.cards{grid-template-columns:1fr}footer{flex-direction:column}.brand{font-size:21px}.accountname{display:none}h1{font-size:27px}.cardimage{height:260px}.sectionhead{align-items:flex-start}#admin .sectionhead{flex-direction:column}dialog{padding:28px 22px}}

.adminbox{background:white;border:1px solid #e3eaf0;border-radius:20px;padding:24px;margin:24px 0}.quotaGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end}.quotaGrid button{grid-column:1/-1;justify-self:start}.worksheetRow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #e3eaf0}.quotaNote{font-size:12px;color:#64758b}#worksheetDialog{max-height:90vh;overflow:auto}@media(max-width:700px){.quotaGrid{grid-template-columns:1fr 1fr}.worksheetRow{flex-direction:column;align-items:flex-start}}
progress{display:block;width:100%;height:14px;accent-color:#008f89}.error{color:#b43b40}
textarea{font:inherit;width:100%;border:1px solid #d3dee6;border-radius:10px;padding:10px;color:#233c50;background:#fff;resize:vertical}.grantRow{border-top:1px solid #e4eaf0;padding:8px 0}.grantExpiry{font-size:12px;color:#6c7d89;margin:3px 0}.grantExpiry input{padding:7px;font-size:14px}#grantEditor details{padding:10px 0;border-bottom:1px solid #e4eaf0}#grantEditor summary{cursor:pointer;font-weight:bold}#memberDialog{max-height:90vh;overflow:auto;width:min(580px,calc(100% - 30px))}.documentDescription{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0;font-size:14px}.documentAuthor{font-size:13px;margin:5px 0;color:#7b8b95}.detailDescription{white-space:pre-wrap}
.checkline{display:flex!important;align-items:center;gap:9px;margin:8px 0}.checkline input{width:18px;height:18px;margin:0;flex-shrink:0}.accessbox{border:1px solid #b9d8d5;border-radius:14px;padding:14px;margin:16px 0}.subjectchecks{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.asideNote:empty{display:none}@media(max-width:500px){.subjectchecks{grid-template-columns:1fr}}

/* Library identity: shared navigation, distinct primary and secondary rooms. */
:root{color-scheme:light;--accent:#087e78;--ink:#203e4d;--tint:#e9f6f1;--border:#dbe7e8}
body{background:#f6f8fa;color:var(--ink)}body[data-level="primary"]{--accent:#078477;--ink:#23463c;--tint:#ecf8ed;--border:#dcebdd;background:#fffcf6}body[data-level="secondary"]{--accent:#385bc0;--ink:#24345e;--tint:#edf1fb;--border:#dfe5f3;background:#f6f7fc}
.preview{background:#edf3f5;color:#53717b;font-size:12px;letter-spacing:.02em;padding:7px}header{padding:20px max(5vw,24px);gap:28px}.brandmark{background:var(--accent);font-family:Sarabun}.brandtag{border:0;padding:0;color:#819198;font-size:13px}.brand{flex-wrap:wrap;font-size:23px}.navbtn.selected{color:var(--accent)}.primary{background:var(--accent);border-radius:11px}.secondary{color:var(--accent);border-color:var(--border)}.secondary:hover{background:var(--tint)}.textbtn,.meta,.eyebrow{color:var(--accent)}
main{max-width:1240px;margin-top:32px}.intro{min-height:310px;padding:42px 48px;background:#edf4f4;border:1px solid #e0eaeb;position:relative;border-radius:24px;grid-template-columns:1.15fr 1fr;gap:32px}.heroCopy{position:relative;z-index:1}.intro h1{font-size:42px;letter-spacing:-.015em;line-height:1.38}.intro p{font-size:17px;line-height:1.85;margin:18px 0;color:#607882}.eyebrow{font-weight:700;font-size:13px}.heroBenefits{display:flex;gap:8px;flex-wrap:wrap}.heroBenefits span{font-size:12px;background:#fff9;color:#536d73;border:1px solid #fff;padding:5px 11px;border-radius:30px}
body[data-level="primary"] .intro{background:linear-gradient(115deg,#ebf8e8,#fff3d5);border-color:#e1edda}body[data-level="primary"] .intro h1{color:#21604e}.heroart{transform:rotate(3deg);box-shadow:0 12px 26px #60744712;border:8px solid #fff;padding:4px}.heroart img{height:210px}.sticker{background:#faca64;border:4px solid #fff;padding:13px 19px;color:#755223;right:-19px;bottom:-14px}
body[data-level="secondary"] h1,body[data-level="secondary"] h2,body[data-level="secondary"] h3{font-family:Sarabun,sans-serif;font-weight:700}body[data-level="secondary"] .intro{background:linear-gradient(110deg,#edf1fc,#f8f9ff);border-color:#e0e5f5;border-radius:18px}body[data-level="secondary"] .intro h1{font-size:43px;color:#263969}body[data-level="secondary"] .card,body[data-level="secondary"] aside{border-radius:14px}body[data-level="secondary"] .cardimage{background:#edf0f9}body[data-level="secondary"] .gradebadge{color:#385bc0}
.levelChoices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 0}.levelChoice{display:flex;align-items:center;gap:16px;text-align:left;padding:20px 24px;border:1px solid var(--border);border-radius:18px;background:#fff;transition:box-shadow .15s,transform .15s;color:#294549}.levelChoice:hover{transform:translateY(-2px);box-shadow:0 6px 18px #243a5d0c}.levelChoice strong{display:block;font:700 21px Mali;line-height:1.5}.levelChoice small{display:block;margin-top:3px;color:#6c7d89;font-size:14px}.levelIcon{font:700 32px Sarabun;background:#f0f7e7;color:#4c8b60;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;flex-shrink:0}.levelArrow{margin-left:auto;font-size:24px;color:#9aabb0}.secondaryChoice strong{font-family:Sarabun;color:#344c81}.secondaryChoice .levelIcon{background:#edf1fb;color:#4564aa;border-radius:12px}.primaryChoice[aria-pressed="true"]{background:#f2faec;border:2px solid #8bbd8b;padding:19px 23px}.secondaryChoice[aria-pressed="true"]{background:#f0f3fd;border:2px solid #718ac3;padding:19px 23px}
.overviewVisual{display:flex;align-items:center;justify-content:center;padding:18px;position:relative;gap:10px}.bookCard{width:180px;min-height:210px;border-radius:12px;padding:23px;box-shadow:0 16px 24px #31575113;border-left:7px solid #ffffff70}.bookCard span{font-size:12px;opacity:.75}.bookCard strong{display:block;font:700 22px/1.6 Mali;margin-top:20px}.primaryBook{background:#e3eed4;color:#34664a;transform:rotate(-8deg)}.secondaryBook{background:#304c7b;color:#fff;transform:rotate(8deg) translateY(12px)}.secondaryBook strong{font-family:Sarabun;font-size:25px}.bookShapes{font-size:24px;margin-top:20px;letter-spacing:8px;color:#ad8650}.bookRule{height:3px;background:#7892bf;margin-top:26px;width:75%;box-shadow:0 10px 0 #7892bf80}
.studyVisual{position:relative;min-height:240px;display:flex;align-items:center;justify-content:center}.studyOrbit{position:absolute;width:240px;height:240px;border:1px solid #cdd6ee;border-radius:50%;box-shadow:0 0 0 25px #e3e9f860}.studySheet{position:relative;background:#fff;box-shadow:0 18px 35px #334b8712;border:1px solid #e1e6f1;border-radius:12px;padding:24px 30px;transform:rotate(-3deg);min-width:280px}.sheetLabel{font-size:12px;font-weight:bold;color:#667caa;letter-spacing:.02em}.studySheet strong{display:block;font:700 25px/1.65 Sarabun;margin:10px 0;color:#344b7f}.sheetLines i{display:block;height:3px;background:#edf0f7;margin:7px 0;width:95%}.sheetLines i:nth-child(2){width:70%}.sheetDiagram{display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:#8290ae;gap:10px}.sheetDiagram span{font-size:13px;color:#41609e;background:#edf1fc;padding:4px 12px;border-radius:6px}.studyNote{position:absolute;bottom:-10px;right:15px;background:#3455a0;color:#fff;padding:9px 15px;font-size:12px;border-radius:8px}
.libraryarea{margin-top:34px;gap:26px;grid-template-columns:240px 1fr}aside{border-color:var(--border);padding:22px;border-radius:18px}aside h2{font-size:18px}.sectionhead h2{font-size:24px}.sectionhead .eyebrow{font-weight:400;color:#7a8a96;font-size:12px;margin-bottom:3px}.sectionhead #count{background:#edf2f5;padding:4px 12px;border-radius:20px;white-space:nowrap}.asideNote{font-size:13px;color:var(--accent);border-color:var(--border);line-height:1.8}.asideNote small{font-size:12px}.card{border-color:var(--border);border-radius:18px;box-shadow:0 5px 18px #24435d04}.cardimage{height:245px}.cardbody{padding:20px 22px}.cardbody h3{font-size:19px}.gradebadge{box-shadow:0 2px 8px #243a5d08}.tags span{font-size:12px}.cardactions{margin-top:20px}.cardactions button{font-size:14px;line-height:1.5;min-height:42px}.empty{border:1px dashed var(--border);padding:48px 24px}.empty h3{font-family:Sarabun;font-size:21px}.empty p{font-size:14px}footer{margin-top:64px;color:#7b8b95;font-size:12px;border-color:var(--border)}footer strong{font-weight:400;color:#526a75}
@media(max-width:850px){.intro{padding:30px;gap:24px}.intro h1,body[data-level="secondary"] .intro h1{font-size:33px}.bookCard{width:145px;min-height:180px;padding:18px}.bookCard strong{font-size:20px}.heroart img{height:180px}.levelChoice{padding:17px;gap:12px}.levelChoice strong{font-size:19px}.levelChoice small{font-size:12px}.levelIcon{width:45px;height:45px}.libraryarea{grid-template-columns:1fr}aside{display:block}aside h2{margin-bottom:12px}.studySheet{min-width:235px;padding:20px}.studySheet strong{font-size:23px}}
@media(max-width:550px){header{padding:15px 18px;gap:12px}.brand{font-size:20px}main{margin-top:22px}.intro{grid-template-columns:1fr;padding:28px 25px;gap:20px;min-height:0;border-radius:20px}.intro h1,body[data-level="secondary"] .intro h1{font-size:32px}.intro p{font-size:15px;margin:14px 0}.heroBenefits span{font-size:11px}.overviewVisual{padding:12px 4px}.bookCard{min-height:170px;width:140px}.bookCard strong{margin-top:14px}.heroart{margin:5px 22px 14px}.studyVisual{min-height:240px;margin-bottom:12px}.levelChoices{grid-template-columns:1fr;gap:12px;margin-top:16px}.levelChoice{padding:16px 18px}.primaryChoice[aria-pressed="true"],.secondaryChoice[aria-pressed="true"]{padding:15px 17px}.levelChoice strong{font-size:20px}.levelChoice small{font-size:13px}.libraryarea{margin-top:24px;gap:22px}.cards{gap:18px}.cardimage{height:265px}.sectionhead h2{font-size:22px}footer{margin-top:35px;gap:6px}.brandtag{display:none}}
body[data-level="university"]{--accent:#536b58;--ink:#343d33;--tint:#f0f2e9;--border:#e0e4d8;background:#faf9f5}body[data-level="training"]{--accent:#bc642d;--ink:#443c32;--tint:#fff1e4;--border:#efdfcf;background:#fffbf7}body[data-level="university"] h1,body[data-level="university"] h2,body[data-level="university"] h3,body[data-level="training"] h1,body[data-level="training"] h2,body[data-level="training"] h3{font-family:Sarabun,sans-serif;font-weight:700}body[data-level="university"] .intro{background:linear-gradient(110deg,#f1f2e8,#eee9dc);border-color:#e0dfd1;border-radius:12px}body[data-level="training"] .intro{background:linear-gradient(110deg,#fff1e5,#ffead4);border-color:#efdfcf;border-radius:20px}.universityChoice strong,.trainingChoice strong{font-family:Sarabun}.universityChoice .levelIcon{background:#eef1e7;color:#5a715b;border-radius:8px}.trainingChoice .levelIcon{background:#fff0e2;color:#bd6939;border-radius:50%}.universityChoice[aria-pressed="true"]{background:#f1f4e9;border:2px solid #829779;padding:19px 23px}.trainingChoice[aria-pressed="true"]{background:#fff2e6;border:2px solid #d69b6d;padding:19px 23px}.universityVisual{display:flex;justify-content:center;align-items:center;gap:8px;min-height:250px}.librarySpine{background:#61715a;color:#fff;min-height:240px;padding:20px 17px;border-radius:5px;transform:rotate(-4deg)}.librarySpine span{font-size:11px}.librarySpine strong{font:700 25px/1.7 Sarabun;display:block;margin-top:15px}.libraryCover{background:#fbf6e8;color:#505949;padding:24px 27px;min-height:235px;max-width:270px;border:1px solid #d8d3be;border-left:8px solid #d6d4bd;box-shadow:0 14px 28px #5f68431a;transform:rotate(4deg)}.libraryCover span{font-size:12px}.libraryCover strong{display:block;font:700 25px/1.65 Sarabun;margin:26px 0}.coverRule{width:70px;height:3px;background:#899272;margin:20px 0 10px}.libraryCover small{font-size:12px}.trainingVisual{position:relative;min-height:260px;display:flex;align-items:center;justify-content:center}.trainingSheet{position:relative;background:#fff8f0;border:1px solid #ebd3b9;box-shadow:0 15px 30px #835f3012;padding:25px 30px;border-radius:16px;transform:rotate(-2deg);min-width:270px}.trainingSheet strong{display:block;font:700 29px/1.5 Sarabun;color:#774624;margin:18px 0}.trainingSheet .sheetLabel{color:#986b49}.trainingSteps{display:grid;gap:8px}.trainingSteps span{font-size:13px;color:#8b6e57}.trainingSteps b{display:inline-block;background:#f5e1ca;color:#9d6636;padding:3px 7px;border-radius:5px;margin-right:8px}.trainingSeal{position:absolute;right:-8px;bottom:10px;background:#c77d43;color:#fff;padding:10px 16px;border-radius:30px;font-size:12px}body[data-level="university"] .cards,body[data-level="training"] .cards{grid-template-columns:1fr}body[data-level="university"] .documentCard,body[data-level="training"] .documentCard{display:grid;grid-template-columns:170px 1fr;border-radius:12px}body[data-level="university"] .documentCard .cardimage,body[data-level="training"] .documentCard .cardimage{height:auto;min-height:235px;background:#ececdf;padding:24px 16px}body[data-level="training"] .documentCard .cardimage{background:#f8eadc}.documentCard .cardactions{max-width:450px}.documentCard .gradebadge{top:10px;left:10px;font-size:11px}.documentCard .cardbody{display:flex;flex-direction:column;justify-content:center}.documentCard .tags{margin:8px 0}.documentCard .cardactions{margin-top:12px}body[data-level="university"] .levelChoice strong,body[data-level="training"] .levelChoice strong{font-family:Sarabun}.results .sectionhead{align-items:center}
@media(max-width:850px){.levelChoices{gap:12px}.levelChoice small{font-size:12px}.libraryCover{padding:20px;min-height:215px}.libraryCover strong{font-size:23px}.librarySpine{min-height:220px}.trainingSheet{min-width:240px;padding:22px}.trainingSeal{right:0;font-size:11px}body[data-level="university"] .documentCard,body[data-level="training"] .documentCard{grid-template-columns:155px 1fr}}
@media(max-width:550px){.universityChoice[aria-pressed="true"],.trainingChoice[aria-pressed="true"]{padding:15px 17px}.universityVisual{min-height:240px}.libraryCover{max-width:220px;padding:18px;min-height:215px}.libraryCover strong{font-size:22px}.librarySpine{min-height:215px;padding:18px 12px}.librarySpine strong{font-size:23px}.trainingSeal{right:-3px;bottom:0}body[data-level="university"] .documentCard,body[data-level="training"] .documentCard{grid-template-columns:1fr}body[data-level="university"] .documentCard .cardimage,body[data-level="training"] .documentCard .cardimage{height:235px;min-height:0}.levelChoices{grid-template-columns:1fr}.documentCard .cardbody{padding:20px}.levelChoice small{font-size:13px}}
body[data-level="training"] .cards{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-level="training"] .documentCard{display:flex;flex-direction:column}body[data-level="training"] .documentCard .cardimage{height:170px;min-height:170px;background:#f8eadc}body[data-level="training"] .documentCard .cardbody{justify-content:flex-start;flex:1}body[data-level="training"] .documentCard .cardactions{margin-top:auto;padding-top:16px}body[data-level="training"] .documentCard .tags span{border-radius:20px;background:#fff1e4;color:#9e7653}@media(max-width:650px){body[data-level="training"] .cards{grid-template-columns:1fr}}
