@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Bold.woff2) format("woff2");font-style:normal;font-weight:500 900;font-display:swap}@font-face{font-family:Noto Sans Thai;src:url(/fonts/NotoSansThai-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noto Sans Thai;src:url(/fonts/NotoSansThai-Bold.woff2) format("woff2");font-style:normal;font-weight:500 900;font-display:swap}:root{--ink:#0A0A0A;--accent:#3EDC81;--accent-ink:#0A0A0A;--link:#17653F;--focus:#17653F;--mist:#FFFFFF;--sky:#EEF2EF;--muted:#4A4A4A;--line:#D1D5DB;--paper:#F7F7F7;--button-hover-bg:#0A0A0A;--button-hover-ink:#F7F7F7;--box:#FFFFFF;--panel:#F7F7F7;font-family:Inter,Noto Sans Thai,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.75;scroll-behavior:smooth;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}a:hover{color:var(--link)}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.38}h1{font-size:clamp(2.4rem,4.3vw,4.25rem);letter-spacing:-1.8px}h2{font-size:clamp(1.7rem,2.6vw,2.6rem);letter-spacing:-.6px}h3{font-size:1.32rem}.wrap{max-width:1240px;margin:auto;padding-left:44px;padding-right:44px}.header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{max-width:1328px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 44px;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;line-height:1.3;white-space:nowrap}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav-start{border:1px solid var(--line);padding:9px 19px;border-radius:7px}.skip{position:fixed;top:-100px;left:15px;z-index:99;background:var(--paper);padding:12px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:60px;padding-top:74px;padding-bottom:78px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.2px;color:var(--muted);font-weight:600;margin-bottom:19px}.hero h1 span{color:var(--ink)}.lead{font-size:18px;line-height:1.9;color:var(--muted);margin:24px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 24px;border-radius:7px;font-weight:600;font-size:14px;border:1px solid transparent;line-height:1.8;min-height:48px}.primary{background:var(--accent);color:var(--accent-ink)}.primary:hover{background:var(--button-hover-bg);color:var(--button-hover-ink)}.secondary{border-color:var(--muted);background:var(--paper);color:var(--ink)}.hero-note{margin-top:23px;font-size:12px;color:var(--muted)}.workbench{background:var(--box);border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:none;transform:none}.workbench-bar{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:23px}.live-dot{width:7px;height:7px;background:var(--muted);border-radius:50%}.workbench-tag{margin-left:auto;background:var(--paper);padding:3px 9px;border-radius:4px;font-size:9px;letter-spacing:0}.brief-label{font-size:11px;color:var(--muted);margin-bottom:7px}.brief-paper{display:flex;align-items:flex-start;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:22px;font-size:17px;line-height:1.75}.prompt-cursor{color:var(--ink);font-size:24px}.pipeline{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;font:10px ui-monospace,monospace;gap:7px}.pipeline b{color:var(--muted)}.cloud-step{color:var(--ink);font-weight:700}.mini-preview{display:grid;grid-template-columns:43% 1fr;background:var(--paper);border-radius:9px;overflow:hidden;min-height:150px;border:1px solid var(--line)}.mini-preview img{height:100%;object-fit:cover}.mini-preview>div{padding:17px;display:flex;flex-direction:column;gap:7px;justify-content:center}.mini-preview span{font-size:10px;color:var(--muted)}.mini-preview strong{font-size:17px;line-height:1.5}.mini-preview .mini-link{color:var(--ink);margin-top:8px}.workbench-foot{font-size:10px;text-align:center;color:var(--muted);padding-top:16px}.course-strip{background:var(--mist);border-block:1px solid var(--line)}.course-strip>div{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:18px;font-size:12px;color:var(--muted)}.course-strip span:first-child{font-weight:600;color:var(--ink)}.section{padding-block:74px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.example-card{display:block;background:var(--box);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.example-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0a0a0a24;border-color:var(--muted)}.example-image{position:relative;overflow:hidden;background:var(--box)}.example-image img{aspect-ratio:1.5;object-fit:cover;transition:transform .4s}.example-card:hover .example-image img{transform:scale(1.025)}.open-demo{position:absolute;bottom:15px;right:15px;width:35px;height:35px;text-align:center;line-height:35px;border-radius:50%;background:var(--paper);color:var(--ink)}.example-copy{padding:20px 22px 24px}.example-copy>span{font-size:10px;color:var(--muted)}.example-copy h3{margin:5px 0 8px}.example-copy p{font-size:11px;color:var(--muted)}.small-note{font-size:11px;color:var(--muted);margin-top:10px}.curriculum-section{background:var(--mist);padding-block:70px;border-block:1px solid var(--line)}.curriculum-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:75px}.curriculum-intro h2{font-size:2rem}.curriculum-intro>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:22px;max-width:340px}.progress-summary{margin:30px 0 18px;max-width:320px;font-size:12px}.progress-summary progress{display:block;width:100%;height:7px;margin-top:12px;accent-color:var(--accent)}.text-link{font-size:13px;color:var(--link);font-weight:600}.days{display:grid;gap:12px}.day{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding-inline:20px}.day[open]{border-color:var(--muted)}.day summary{list-style:none;display:flex;align-items:center;gap:16px;padding:23px 0;cursor:pointer}.day summary::-webkit-details-marker{display:none}.day-number{color:var(--link);font:11px ui-monospace,monospace;white-space:nowrap}.day summary strong{font-size:15px}.day summary small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.plus{margin-left:auto;font-size:24px;font-weight:400}.day[open] .plus{transform:rotate(45deg)}.day-lessons{padding:0 0 18px 34px}.day-lessons a{display:flex;align-items:baseline;gap:9px;font-size:12px;padding:8px 0}.day-lessons a>span:last-child{margin-left:auto}.lesson-check{flex:none;color:var(--muted)}.done .lesson-check{color:var(--link)}.resource-band{background:var(--mist)}.resource-feature{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.resource-feature>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:22px 0;max-width:400px}.prompt-example{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}.prompt-example>div{display:flex;justify-content:space-between;padding:16px 20px;background:var(--mist);font-size:11px;border-bottom:1px solid var(--line)}.code-label{color:var(--muted);font:10px ui-monospace,monospace}.prompt-example pre{border:0;margin:0;border-radius:0;font-size:12px;color:var(--ink);background:var(--paper);padding:23px 23px 55px}.prompt-example>p{font-size:10px!important;margin:0!important;padding:13px 20px;background:var(--mist)}.closing-band{background:var(--paper);border-top:1px solid var(--line)}.closing{text-align:center;padding-block:50px}.closing:before{content:"";display:block;width:56px;height:3px;background:var(--accent);border-radius:2px;margin:0 auto 28px}.closing h2{font-size:2rem}.closing p{color:var(--muted);margin:15px 0 24px;font-size:14px}.footer{color:var(--muted)}.footer .brand{font-size:16px;color:var(--ink)}.footer small{width:100%;font-size:10px}.resource-page{min-height:65vh}.resource-band{background:var(--sky);border-bottom:1px solid var(--line);padding-block:65px 42px}.resource-body{padding-block:42px 80px}.resource-page h1{font-size:2.7rem}.error-band{background:var(--sky);min-height:65vh;padding-block:70px}.error-card{max-width:660px;margin:auto;background:var(--box);border:1px solid var(--line);border-radius:16px;padding:42px 44px}.band-sky{background:var(--sky)}.search-label{display:block;font-size:13px;margin:30px 0 9px}.search-input{width:100%;max-width:750px;padding:16px;border:1px solid var(--muted);background:var(--box);border-radius:7px;color:var(--ink)}#search-status{font-size:12px;color:var(--muted);margin:19px 0}.resource-row{display:grid;grid-template-columns:130px 1fr 24px;align-items:baseline;gap:20px;border-top:1px solid var(--line);padding:20px 0}.resource-row>span{font-size:11px;color:var(--muted)}.resource-row h2{font-size:17px;letter-spacing:0}.resource-row b{font-weight:400}.lesson-layout{max-width:1328px;margin:auto;display:grid;grid-template-columns:275px minmax(0,1fr);gap:54px;padding:36px 44px 80px}.lesson-sidebar{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;align-self:start;font-size:12px;padding-right:18px}.lesson-sidebar>p{margin:30px 0 14px;font-weight:600}.lesson-sidebar nav{display:flex;flex-direction:column}.lesson-sidebar a{display:flex;gap:10px;padding:9px 10px;border-radius:5px;line-height:1.65}.lesson-sidebar a[aria-current]{color:var(--link);background:var(--sky);font-weight:600}.lesson-sidebar>a{margin-top:14px}.article-wrap{min-width:0;max-width:830px}.article-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:32px;font-size:11px;color:var(--muted)}.article-tools>div{display:flex;gap:16px;align-items:center}.article-tools button{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:6px 12px;color:var(--ink);font-size:11px}.prose{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.prose h1{font-size:2.25rem;letter-spacing:-.5px;margin:12px 0 26px}.prose h2{font-size:1.55rem;margin:42px 0 18px;letter-spacing:0}.prose h3{font-size:1.18rem;margin:30px 0 14px}.prose h4{font-size:1rem;margin:24px 0 12px}.prose p{margin:16px 0}.prose ul,.prose ol{padding-left:25px;margin:16px 0}.prose li{margin:7px 0}.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.prose blockquote{border-left:3px solid var(--muted);margin:25px 0;padding:5px 20px;background:var(--mist);color:var(--muted);font-size:14px}.prose code{font:12px ui-monospace,SFMono-Regular,monospace;background:var(--mist);padding:3px 5px;border-radius:3px;word-break:break-word}pre{position:relative;background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:20px 20px 50px;overflow:auto;font:12px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0}.prose pre code{background:transparent;padding:0;color:var(--ink);line-height:1.8}.copy-code{position:absolute;bottom:9px;right:10px;border:1px solid var(--line);background:var(--paper);color:var(--muted);padding:4px 9px;border-radius:4px;font-size:10px}.table-scroll{overflow-x:auto;margin:24px 0}.prose table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.8;min-width:480px}.prose th,.prose td{padding:13px;text-align:left;border:1px solid var(--line)}.prose th{background:var(--mist);font-weight:600}.prose img{border-radius:8px;margin:24px 0;max-height:540px;object-fit:contain}.lesson-finish{display:flex;gap:12px;flex-wrap:wrap;margin:45px 0 20px;padding-top:25px;border-top:1px solid var(--line)}.storage-note{font-size:11px;color:var(--muted)}.handbook{max-width:960px;padding-block:50px}.handbook h1{font-size:2rem}.handbook-toc{display:flex;flex-direction:column;gap:8px;margin:30px 0;font-size:14px;color:var(--ink)}.book-chapter{margin-top:60px;padding-top:40px;border-top:2px solid var(--line)}@media(max-width:1000px){.hero{gap:32px}.wrap,.header-inner{padding-inline:28px}.header nav{gap:18px}.hero h1{font-size:3rem}.curriculum-layout,.resource-feature{gap:35px}.lesson-layout{grid-template-columns:220px minmax(0,1fr);gap:28px;padding-inline:28px}.footer-inner{padding-inline:28px}}@media(max-width:760px){.header-inner{padding:18px 20px;flex-wrap:wrap;gap:15px}.header nav{width:100%;justify-content:space-between;font-size:12px;gap:12px}.brand{font-size:15px}.brand small{font-size:10px}.nav-start{padding:6px 12px}.wrap{padding-inline:22px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:44px;gap:38px}.hero h1{font-size:clamp(2.3rem,8vw,3.5rem);letter-spacing:-1px}.hero .lead{font-size:16px}.hero-note br{display:none}.workbench{transform:none;padding:19px;max-width:530px}.brief-paper{font-size:16px}.course-strip>div{justify-content:flex-start;gap:10px 22px;font-size:10px}.section{padding-block:45px}.section-heading{display:block}.section-heading>p{margin-top:15px}.section-heading>p br{display:none}.example-grid{grid-template-columns:1fr;gap:20px}.example-image img{aspect-ratio:1.8}.example-copy{padding:14px 18px 20px}.example-copy h3{font-size:1.4rem}.example-copy p{font-size:12px}.curriculum-layout{grid-template-columns:1fr;gap:25px}.curriculum-section{padding-block:40px}.curriculum-intro h2{font-size:1.7rem}.curriculum-intro>p:not(.eyebrow){max-width:none}.day summary strong{font-size:14px}.day summary small{font-size:11px}.day-number{font-size:10px}.day-lessons{padding-left:28px}.resource-feature{grid-template-columns:1fr;gap:30px}.closing{padding-block:35px}.closing h2{font-size:1.7rem}.footer-inner{padding:28px 22px;display:block}.resource-band{padding-block:35px 26px}.resource-body{padding-block:26px 35px}.error-band{padding-block:35px}.error-card{padding:28px 22px}.resource-page h1{font-size:2rem}.resource-row{grid-template-columns:1fr 20px;gap:7px;padding-block:16px}.resource-row>span{grid-column:1/-1}.resource-row h2{font-size:15px}.lesson-layout{display:block;padding:25px 22px 50px}.lesson-sidebar{position:static;max-height:none;padding:0 0 20px;margin-bottom:28px;border-bottom:1px solid var(--line)}.lesson-sidebar>p,.lesson-sidebar nav,.lesson-sidebar>a:not(:first-child){display:none}.lesson-sidebar>a:first-child{margin:0;padding:0}.article-tools{gap:10px;align-items:flex-start}.article-tools>div{gap:10px;flex-wrap:wrap;justify-content:flex-end}.prose{font-size:15px}.prose h1{font-size:1.9rem}.prose h2{font-size:1.4rem}.prose pre,.prose pre code{font-size:11px}.lesson-finish .button{width:100%}.handbook .article-tools{flex-direction:column}.handbook{padding-top:25px}.desktop-only{display:none}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.workbench{transform:none}.example-card:hover,.example-card:hover .example-image img,.tool-guides>a:hover,.catalog-card:hover{transform:none}}@media print{@page{size:A4;margin:18mm}body{font-size:11pt}.header,.footer,.lesson-sidebar,.article-tools,.copy-code,.lesson-finish,.storage-note,.skip,.handbook-toc{display:none!important}.lesson-layout,.article-wrap,.handbook{display:block;max-width:none;padding:0}.prose{font-size:10pt;line-height:1.7}.prose h1{font-size:22pt}.prose h2{font-size:16pt;break-after:avoid}.prose h3{break-after:avoid}.book-chapter{break-before:page;border:0;padding-top:0}.prose table{font-size:8pt;min-width:0}.table-scroll{overflow:visible}.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;break-inside:auto;padding:12px}.prose a{color:#111}.prose img{max-height:180mm}pre code{font-size:8pt!important}tr{break-inside:avoid}}.book-cover{padding:12px 0 20px}.book-cover h1{font-size:2.5rem;line-height:1.45;margin-bottom:18px}.book-cover>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:12px 0}.book-cover img{margin:28px 0;width:100%;height:auto}@media print{.handbook-toc{display:flex!important;font-size:10pt;gap:5px;margin:20px 0}.book-cover h1{font-size:28pt}.book-cover>p:not(.eyebrow){font-size:10pt}.book-cover img{max-height:55mm;margin:20px 0}.book-chapter{break-before:page}.book-cover{padding:0}}@media(min-width:801px){.example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.book-supplement{break-before:page}}.course-diagram{margin:28px 0;break-inside:avoid}.diagram-scroll{overflow-x:auto;overscroll-behavior-x:contain}.diagram-theme-dark,[data-theme=dark] .diagram-theme-light{display:none}[data-theme=dark] .diagram-theme-dark{display:block}.prose .course-diagram img{display:block;width:100%;min-width:640px;max-height:none;margin:0;border-radius:0}.diagram-scroll-hint{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}.book-cover img[src^="/diagrams/"]{max-height:none}@media(min-width:1000px){.diagram-scroll-hint{display:none}}@media print{.course-diagram{margin:16px 0;break-inside:avoid}.diagram-theme-light{display:block!important}.diagram-theme-dark{display:none!important}.diagram-scroll{overflow:visible}.prose .course-diagram img{min-width:0;width:100%;max-height:140mm;object-fit:contain}.diagram-scroll-hint{display:none}.book-cover img[src^="/diagrams/"]{max-height:75mm}.handbook-toc a{break-inside:avoid}}[data-theme=dark]{--ink:#F7F7F7;--accent:#3EDC81;--accent-ink:#0A0A0A;--link:#3EDC81;--focus:#3EDC81;--mist:#1A1A1A;--sky:#141414;--box:#202020;--panel:#202020;--muted:#9CA3AF;--line:#2A2A2A;--paper:#0A0A0A;--button-hover-bg:#F7F7F7;--button-hover-ink:#0A0A0A;color-scheme:dark}button{color:inherit}.header-inner{padding-block:16px}.brand{white-space:normal;flex-shrink:0}.brand-logo{display:grid;place-items:center;padding:10px;flex-shrink:0}.brand-logo img{width:40px;height:40px;object-fit:contain}.course-brand{gap:18px}.partner-lockup{display:flex;align-items:center;gap:8px;flex-shrink:0}.psu-logo{display:grid;place-items:center;flex-shrink:0}.psu-logo img{width:116px;height:44px;object-fit:contain}.partner-cross{color:var(--muted);font-size:18px;font-weight:400;line-height:1}.partner-lockup .brand-logo{padding:0}.partner-lockup .brand-logo img{width:36px;height:36px}.rawinlab-wordmark{color:var(--ink);font-size:15px;font-weight:800;letter-spacing:-.04em;line-height:1}.rawinlab-wordmark span{color:var(--link)}[data-theme=dark] .rawinlab-wordmark span{color:var(--accent)}.course-brand-copy{padding-left:18px;border-left:1px solid var(--line)}.course-brand-copy strong{display:block;max-width:180px;font-size:12px;line-height:1.45}.logo-dark,[data-theme=dark] .logo-light{display:none}[data-theme=dark] .logo-dark{display:block}.brand small{font-size:10px;letter-spacing:.08em}.theme-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--mist);color:var(--ink);font-size:11px;white-space:nowrap}.theme-toggle:hover{border-color:var(--muted);color:var(--ink)}.theme-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:12px;line-height:1}.hero{gap:48px;padding-top:64px;padding-bottom:72px}.hero-band{background:var(--sky);position:relative;overflow:hidden}.hero-band:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:76px 76px;opacity:.4;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}.hero-band .hero{position:relative}.hero h1{font-family:Inter,sans-serif;font-size:clamp(4.5rem,7.5vw,7rem);font-weight:700;line-height:1.02;letter-spacing:-.065em}.hero-subtitle{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;margin-top:24px;line-height:1.6}.hero .lead{font-size:16px;margin:16px 0 24px}.module-context{border-left:2px solid var(--muted);padding-left:16px;margin:24px 0 28px;max-width:560px}.module-context span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.module-context strong{display:block;font-size:14px;line-height:1.65}.module-context p{font-size:12px;color:var(--muted);margin:6px 0 0}.workbench{border-radius:12px;padding:24px}.workbench-bar{font-size:10px;letter-spacing:.06em}.workbench-tag{color:var(--ink)}.brief-paper{border-radius:8px;min-height:145px}.hero-note{line-height:1.8}.footer-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:28px}.footer-identity{display:block!important}.footer-identity>p{margin-top:14px}.footer-module{display:block!important;align-self:center;line-height:1.9}.footer-module strong{color:var(--ink);font-size:12px}.footer nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 24px}.footer small{grid-column:1/-1}.lesson-context{color:var(--muted);font-size:11px;margin-bottom:18px;letter-spacing:.03em}.book-brand{display:flex;align-items:center;gap:20px;margin-bottom:40px;font-size:10px;letter-spacing:.1em}.book-brand img{width:64px;height:64px;margin:16px;object-fit:contain;flex-shrink:0}.book-cover .brand-print{display:none}.book-cover h1{font-family:Inter,sans-serif;letter-spacing:-.05em;font-size:3.5rem;line-height:1.1}.book-cover .book-subtitle{font-size:20px;font-weight:700;color:var(--ink)}.book-cover .module-context{margin-block:28px}@media(max-width:800px){.header-inner{padding:12px 14px;gap:12px}.brand{gap:4px;font-size:14px}.brand small{font-size:8px;letter-spacing:.04em}.brand-logo{padding:8px}.brand-logo img{width:32px;height:32px}.hero{padding-top:40px;gap:32px}.hero h1{font-size:clamp(4rem,16vw,6rem);letter-spacing:-.065em}.hero-subtitle{font-size:20px}.hero .lead{font-size:15px}.module-context strong{font-size:13px}.module-context p{font-size:12px}.workbench{padding:16px}.workbench-bar{font-size:9px;gap:6px}.workbench-tag{font-size:9px;padding:3px 6px}.footer-inner{display:block;padding:30px 22px}.footer-identity,.footer-module{margin-bottom:24px!important}.footer nav{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.book-cover h1{font-size:2.5rem}}@media print{:root{--paper:#FFFFFF;--ink:#0A0A0A;--mist:#F7F7F7;--sky:#F7F7F7;--muted:#4A4A4A;--line:#D1D5DB;--accent:#0A0A0A;color-scheme:light;background:#fff;color:#0a0a0a}body{background:#fff;color:#0a0a0a}.book-cover .brand-screen{display:none}.book-cover .brand-print{display:block}.book-brand img{width:15mm;height:15mm;margin:4mm}.book-brand{margin-bottom:10mm}.book-cover h1{font-size:36pt}.book-cover .book-subtitle{font-size:15pt}.book-cover .module-context{max-width:none;margin:8mm 0}.book-cover .module-context strong{font-size:11pt}.book-cover .module-context p{font-size:10pt}.lesson-context{font-size:9pt}.book-cover .brand-print{max-height:none}.prose a{color:#0a0a0a}}.tools-section{background:var(--sky);border-bottom:1px solid var(--line)}.tool-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tool-guides>a{display:block;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--box);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tool-guides>a:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0a0a0a24;border-color:var(--muted)}.tool-guides span{font-size:11px;letter-spacing:.06em;color:var(--muted)}.tool-guides h3{margin:16px 0 12px;font-size:22px}.tool-guides p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:24px}.tool-guides b{font-size:13px;font-weight:600}.tool-guides>a:last-child:nth-child(odd){grid-column:1/-1}.footer{border-top:3px solid var(--accent);background:var(--mist)}.footer-inner{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:42px;max-width:1328px;margin:0 auto;padding:48px 44px 30px;color:var(--muted);font-size:12px}.footer .brand{color:var(--ink);font-size:16px}.footer-identity,.footer-module{display:block!important;margin:0!important}.footer-identity>p{margin:18px 0 16px;max-width:360px;line-height:1.8}.company-link{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:5px}.company-link:hover{color:var(--link)}.footer-identity-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:16px}.muted-link{font-weight:500;color:var(--muted);text-decoration-thickness:1px}.muted-link:hover{color:var(--ink)}.footer-label{margin:0 0 14px!important;color:var(--muted);font:700 10px/1.4 Inter,Noto Sans Thai,sans-serif;letter-spacing:.1em;text-transform:uppercase}.footer-module{align-self:start;line-height:1.8}.footer-module strong{display:block;color:var(--ink);font-size:13px;line-height:1.65;margin-bottom:10px}.footer-module p:not(.footer-label){margin:5px 0}.footer-links{display:grid!important;grid-column:auto!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px!important;align-self:start}.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0!important}.footer-links a{color:var(--ink);line-height:1.6}.footer-lower{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 0!important;padding-top:22px;border-top:1px solid var(--line)}.footer-lower small{width:auto;font-size:10px}.footer-lower a{color:var(--ink)}@media(max-width:1000px){.header nav{gap:14px}.course-brand-copy{display:none}.footer-inner{grid-template-columns:1fr 1fr;gap:34px;padding-inline:28px}.footer-links{grid-column:1/-1!important}}@media(max-width:800px){.tool-guides{grid-template-columns:1fr}.course-brand{gap:12px}.tool-guides>a{padding:22px}.theme-toggle{margin-left:auto}.theme-toggle [data-theme-label]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer-inner{display:grid;grid-template-columns:1fr;padding:36px 22px 26px;gap:30px}.footer-links{grid-column:auto!important;grid-template-columns:1fr 1fr;gap:22px!important;margin:0!important}.footer-lower{grid-column:auto;align-items:flex-start;flex-direction:column;gap:12px;margin:0!important}}@media(max-width:560px){.header nav{gap:10px}.header nav>a:not(.nav-start){display:none}.partner-lockup{gap:6px}.psu-logo img{width:88px;height:34px}.partner-lockup .brand-logo img{width:30px;height:30px}.partner-cross{font-size:16px}.rawinlab-wordmark{font-size:13px}.footer-links{grid-template-columns:1fr}}@media print{:root,[data-theme=dark]{--paper:#FFFFFF;--ink:#0A0A0A;--mist:#F7F7F7;--sky:#F7F7F7;--muted:#4A4A4A;--line:#D1D5DB;--accent:#0A0A0A;--link:#0A0A0A;--box:#FFFFFF;--panel:#F7F7F7;color-scheme:light;background:#fff;color:#0a0a0a}.hero-band,.band-sky,.resource-band,.closing-band,.error-band,.tools-section,.curriculum-section,.course-strip{background:transparent}.hero-band:before,.closing:before{display:none}}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:10px}.catalog-card{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--box);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.catalog-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 14px 30px #0a0a0a24}.catalog-card h3{font-size:1.7rem}.catalog-tag{font:600 11px/1.4 Inter,Noto Sans Thai,sans-serif;letter-spacing:.08em;color:var(--muted)}.catalog-subtitle{font-size:14px;color:var(--ink)}.catalog-meta{font-size:12px;color:var(--muted);line-height:1.8}.catalog-cta{margin-top:auto;font-size:13px;font-weight:600;color:var(--link)}.catalog-updated{font-size:10px;color:var(--muted)}.footer-platform .footer-inner{grid-template-columns:1fr;max-width:1240px}@media(max-width:800px){.catalog-card{padding:22px}}
