@import "https://fonts.googleapis.com/css2?family=Phetsarath:wght@400;700&family=Inter:wght@400;500;600;700;800;900&display=swap";
@font-face{font-family:Phetsarath;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d48d1af3e6d5ab8a.p.01v4cgsqxxd7_.woff2)format("woff2");unicode-range:U+E81-EDF,U+200C-200D,U+25CC,U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Phetsarath;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2ae3a2d17762ff83.p.07ca9s_cu1-ey.woff2)format("woff2");unicode-range:U+E81-EDF,U+200C-200D,U+25CC,U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.phetsarath_19af2b58-module__jHB-hW__className{font-family:Phetsarath;font-style:normal}.phetsarath_19af2b58-module__jHB-hW__variable{--font-lao:"Phetsarath"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--color-primary:#f38020;--color-primary-light:#ffb74d;--color-primary-dark:#e65100;--color-accent:#0051ad;--color-accent-light:#4fc3f7;--color-accent-dark:#003d82;--color-surobo-body:#f5f5f5;--color-surobo-blue:#4fc3f7;--color-surobo-dark:#1a237e;--color-surobo-cyan:#00e5ff;--color-surobo-heart:#ff6d00;--color-hint-green-bg:#e8f5e9;--color-hint-green-border:#66bb6a;--color-hint-blue-bg:#e3f2fd;--color-hint-blue-border:#42a5f5;--color-text:#1a1a1a;--color-text-light:#555;--color-text-muted:#888;--color-border:#333;--color-border-light:#ccc;--color-bg:#fff;--color-bg-subtle:#fafafa;--color-bg-muted:#f0f0f0;--color-answer:#d32f2f;--color-answer-light:#ffcdd2;--font-lao:"Phetsarath", sans-serif;--font-number:"Inter", sans-serif;--font-heading:"Phetsarath", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-lao);color:var(--color-text);background-color:var(--color-bg);line-height:1.7}p,li,td,th,label,span{font-family:var(--font-lao)}.number,.math,.score,.page-number{font-family:var(--font-number)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:700;line-height:1.3}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%;height:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-answer{color:var(--color-answer)}.text-muted{color:var(--color-text-muted)}.font-bold{font-weight:700}.font-extra-bold{font-weight:800}.font-black{font-weight:900}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes floatUp{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animated-bg{background:linear-gradient(-45deg,#ffb74d,#4fc3f7,#e8f5e9,#f3e5f5) 0 0/400% 400%;animation:15s infinite gradientBG}.glass-card{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #fff6;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 8px 32px #0000001a}.glass-card:hover{background:#ffffffd9;border-color:#fffc;transform:translateY(-8px)scale(1.02);box-shadow:0 16px 40px #00000026}
@page{size:A4 portrait;margin:0}@media print{.no-print,.print-controls,.web-navigation,.web-header,.web-footer,button,nav{display:none!important}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:210mm;margin:0;padding:0;font-size:11pt;line-height:1.6;color:#000!important;background:#fff!important}a{color:inherit!important;text-decoration:none!important}*{box-shadow:none!important;text-shadow:none!important}}.page-break{page-break-after:always;break-after:page}.page-break-before{page-break-before:always;break-before:page}.no-page-break{page-break-inside:avoid;break-inside:avoid}.drill-page{box-sizing:border-box;page-break-after:always;break-after:page;text-align:left;background:#fff;flex-direction:column;width:210mm;height:297mm;padding:15mm 15mm 20mm;display:flex;position:relative;overflow:hidden}.drill-page--cover{padding:0}@media screen{.drill-page{border-radius:4px;margin:20px auto;box-shadow:0 2px 20px #0000001f}.drill-page+.drill-page{margin-top:40px}}.drill-header{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:flex-start;display:flex}.drill-header__page-number{font-family:var(--font-number);color:var(--color-primary);min-width:80px;font-size:48pt;font-weight:900;line-height:1}.drill-header__unit-info{padding-left:var(--space-4);flex:1}.drill-header__unit-title{font-family:var(--font-lao);font-size:var(--text-2xl);color:var(--color-accent);margin-bottom:var(--space-1);font-weight:700}.drill-header__unit-goal{font-family:var(--font-lao);color:var(--color-text-light);font-size:1.125rem!important}.drill-header__textbook-ref{font-family:var(--font-lao);color:var(--color-text-muted);margin-top:var(--space-1);font-size:1.125rem!important}.drill-meta{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.drill-meta__date{align-items:center;gap:var(--space-2);font-family:var(--font-lao);display:flex;font-size:1.125rem!important}.drill-meta__date-line{border-bottom:1px solid var(--color-border);width:120px;margin-left:var(--space-2);display:inline-block}.drill-meta__score{align-items:center;gap:var(--space-2);font-family:var(--font-number);font-size:var(--text-xl);padding:var(--space-2) var(--space-4);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-weight:700;display:flex}.drill-meta__score-blank{border-bottom:2px solid var(--color-border);width:50px;margin:0 var(--space-1);vertical-align:bottom;height:1.2em;display:inline-block}.hint-box{background:var(--color-hint-green-bg);border-left:5px solid var(--color-hint-green-border);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4) var(--space-5);padding-left:calc(var(--space-5) + 60px);margin:var(--space-6) 0;page-break-inside:avoid;position:relative}.hint-box--blue{background:var(--color-hint-blue-bg);border-left-color:var(--color-hint-blue-border)}.hint-box__surobo{left:var(--space-3);width:50px;height:50px;position:absolute;top:50%;transform:translateY(-50%)}.hint-box__text{font-family:var(--font-lao);font-size:var(--text-base);color:var(--color-text);line-height:1.8}.hint-box__speech{border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-top:var(--space-2);box-shadow:var(--shadow-sm);background:#fff;position:relative}.hint-box__speech:before{content:"";border:8px solid #0000;border-left-width:0;border-right:12px solid #fff;width:0;height:0;position:absolute;top:12px;left:-10px}.problem-area{margin:var(--space-3) 0}.problem{margin-bottom:var(--space-2);page-break-inside:avoid}.problem__number{background:var(--color-accent);color:#fff;width:36px;height:36px;font-family:var(--font-number);font-size:var(--text-lg);border-radius:var(--radius-full);margin-right:var(--space-3);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.problem__content{font-family:var(--font-lao);line-height:1.6;font-size:1.375rem!important}.problem__content:not(.math-illustration,.math-illustration *,.answer-blank,.answer-blank *,.point-label,.point-label *,table,table *,.item-grid,.item-grid *,svg,svg *),.problem__content :not(.math-illustration,.math-illustration *,.answer-blank,.answer-blank *,.point-label,.point-label *,table,table *,.item-grid,.item-grid *,svg,svg *){font-family:var(--font-lao)!important;text-align:left!important;word-break:break-word!important;overflow-wrap:break-word!important;font-size:1.375rem!important;font-weight:400!important}.problem__content p{text-align:left!important;letter-spacing:normal!important}.problem__content p:first-of-type,.problem__content p:first-of-type span{margin-bottom:var(--space-1);color:var(--color-text)!important;font-size:1.375rem!important;font-weight:400!important}.problem__content p:first-of-type .point-label{margin-left:var(--space-2);color:var(--color-text-light)!important;font-size:1.125rem!important;font-weight:400!important}.problem__content div[style*="display: flex"]{margin-bottom:var(--space-2);word-break:break-word;align-items:center;width:100%;gap:var(--space-1) var(--space-3)!important;flex-wrap:wrap!important;display:flex!important}.problem__content div[style*="display: flex"]>span:first-child,.problem__content div[style*="display: flex"]>div:first-child{flex-shrink:0;white-space:nowrap!important;min-width:45px!important;font-family:var(--font-lao)!important;font-size:1.375rem!important;font-weight:400!important;display:inline-block!important}.answer-blank{border-bottom:2px solid var(--color-border);min-width:160px;margin:0 var(--space-2);text-align:left;vertical-align:-6px;display:inline-block}.answer-blank--large{min-width:120px;padding:var(--space-2)}.point-label{margin-left:var(--space-2);color:var(--color-text-light)!important;font-size:1.125rem!important;font-family:var(--font-lao)!important}.answer-sheet{font-size:1.25rem;line-height:1.6;font-family:var(--font-lao)!important}.answer-sheet *{font-family:var(--font-lao)!important}.answer-sheet__unit{break-inside:avoid;margin-bottom:var(--space-6)}.answer-sheet__title{padding-bottom:var(--space-1);margin-bottom:var(--space-3);font-family:var(--font-lao)!important;color:var(--color-accent)!important;border-bottom:2px solid var(--color-accent)!important;font-size:1.5rem!important;font-weight:700!important}.answer-sheet__answer{color:var(--color-answer)!important;font-weight:700!important}.answer-sheet__explanation{margin-top:var(--space-1);font-family:var(--font-lao)!important;color:var(--color-text-light)!important}.stamp-area{margin-top:var(--space-8);justify-content:flex-end;display:flex}.stamp-box{border:2px dashed var(--color-primary);border-radius:var(--radius-full);width:70px;height:70px;font-family:var(--font-lao);font-size:var(--text-xs);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.cover{text-align:center;background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 30%,#fff 60%,#fff3e0 100%);flex-direction:column;justify-content:center;align-items:center;width:210mm;height:297mm;display:flex;position:relative;overflow:hidden}.cover__title{font-family:var(--font-lao);color:var(--color-accent);margin-bottom:var(--space-4);text-shadow:0 2px 4px #0051ad26;font-size:36pt;font-weight:700}.cover__subtitle{font-family:var(--font-lao);color:var(--color-primary);margin-bottom:var(--space-8);font-size:18pt;font-weight:700}.cover__surobo{width:200px;height:200px;margin:var(--space-8) 0}.cover__input-area{margin-top:var(--space-10);text-align:left}.cover__input-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-family:var(--font-lao);font-size:var(--text-xl);display:flex}.cover__input-line{border-bottom:2px solid var(--color-border);width:180px;display:inline-block}.certificate{text-align:center;border:8px double var(--color-primary);background:linear-gradient(135deg,#fffde7 0%,#fff8e1 50%,#fff 100%);flex-direction:column;justify-content:center;align-items:center;width:210mm;height:297mm;padding:30mm;display:flex;position:relative}.certificate:before{content:"";border:2px solid var(--color-primary-light);pointer-events:none;position:absolute;inset:8px}.certificate__title{font-family:var(--font-lao);color:var(--color-primary);margin-bottom:var(--space-8);font-size:42pt;font-weight:700}.certificate__name-area{margin:var(--space-8) 0}.certificate__name-line{border-bottom:3px solid var(--color-border);width:250px;margin:0 var(--space-2);display:inline-block}.certificate__body{font-family:var(--font-lao);font-size:var(--text-xl);max-width:400px;line-height:2}.certificate__date{margin-top:var(--space-10);font-family:var(--font-lao);font-size:var(--text-lg)}.certificate__surobo{width:120px;height:120px;position:absolute;bottom:30mm;right:30mm}.adventure-map{width:100%;height:267mm;position:relative}.adventure-map__title{font-family:var(--font-lao);font-size:var(--text-3xl);color:var(--color-accent);text-align:center;margin-bottom:var(--space-4);font-weight:700}.adventure-map__stage{border-radius:var(--radius-full);border:3px solid var(--color-accent);width:60px;height:60px;font-family:var(--font-number);font-size:var(--text-lg);color:var(--color-accent);cursor:default;background:#fff;justify-content:center;align-items:center;font-weight:700;transition:background .2s;display:flex;position:absolute}.adventure-map__stage--start{border-color:var(--color-primary);background:var(--color-primary);color:#fff;width:80px;height:80px;font-size:var(--text-xl)}.adventure-map__stage--goal{border-color:var(--color-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:#fff;width:80px;height:80px;font-size:var(--text-xl)}.adventure-map__stage-label{font-family:var(--font-lao);font-size:var(--text-xs);white-space:nowrap;color:var(--color-text-light);margin-top:4px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.section-title{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.section-title__icon{background:var(--color-accent);border-radius:var(--radius-full);color:#fff;width:40px;height:40px;font-family:var(--font-number);justify-content:center;align-items:center;font-weight:700;display:flex}.section-title__text{font-family:var(--font-lao);font-size:var(--text-2xl);color:var(--color-accent);font-weight:700}.section-title__badge{font-family:var(--font-lao);font-size:var(--text-sm);background:var(--color-primary);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:600}.problem-area>.problem:only-child .problem__content div[style*="1fr 1fr"]:not(.math-illustration,.math-illustration *),.problem-area>.problem:only-child .problem__content div[style*=repeat\(2]:not(.math-illustration,.math-illustration *){gap:var(--space-4)!important;grid-template-columns:1fr!important}.problem-area>.problem:only-child .problem__content div[style*="1fr 1fr"]:not(.math-illustration,.math-illustration *)>div,.problem-area>.problem:only-child .problem__content div[style*=repeat\(2]:not(.math-illustration,.math-illustration *)>div{grid-column:span 1!important;width:100%!important;margin-left:0!important;margin-right:auto!important}.keypoints-content:not(.math-illustration,.math-illustration *,table,table *),.keypoints-content :not(.math-illustration,.math-illustration *,table,table *),.hint-box__speech,.hint-box__speech *{line-height:1.6;font-family:var(--font-lao)!important;font-size:1.375rem!important}.drill-page:has(.hint-box):has(.math-illustration) .hint-box{margin:var(--space-3) 0!important;padding:var(--space-3) var(--space-4)!important}.drill-page:has(.hint-box):has(.math-illustration) .section-title{margin-bottom:var(--space-3)!important}.drill-page:has(.hint-box):has(.math-illustration) .drill-header{margin-bottom:var(--space-2)!important}.problem__content div[style*="flex-direction: column"]:not(.math-illustration,.math-illustration *){align-items:flex-start!important;width:100%!important}.problem__content p:not(.math-illustration,.math-illustration *),.problem__content div:not(.math-illustration,.math-illustration *,table,table *,.item-grid,.item-grid *):not([style*="display: flex"] *),.problem__content span:not(.math-illustration,.math-illustration *,.answer-blank,.answer-blank *,.point-label,.point-label *,.item-grid,.item-grid *){text-align:left!important}
