@font-face{font-family:Sarabun;src:url('fonts/Sarabun-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Sarabun;src:url('fonts/Sarabun-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Sarabun;src:url('fonts/Sarabun-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--bg:#fff9ef;--paper:#fffefa;--ink:#342d48;--muted:#776b80;--line:#e8dfe4;--green:#256d60;--soft:#e8f3eb;--gold:#b84931;--warning:#fff0da;--blue:#e9f3fc;--primary:#ba4732;--purple:#69489c;--lilac:#f2ecfc;--shadow:0 10px 0 #342d4805,0 18px 40px #342d4806}
:root[data-theme=dark]{--bg:#211d2b;--paper:#2d2638;--ink:#fff2e7;--muted:#c6b8ce;--line:#514257;--green:#94d7c1;--soft:#273e37;--gold:#ffb18f;--warning:#473627;--blue:#263a50;--primary:#f5a28a;--purple:#cbb0f5;--lilac:#393048;--shadow:0 10px 24px #100c1824}
body{font-family:Sarabun,Tahoma,sans-serif}button,input,select{font-family:inherit}.hub{background-image:radial-gradient(#e9ddcb 1px,transparent 1px);background-size:24px 24px}.topbar,.reader .topbar{height:90px;max-width:none;background:var(--paper);padding:0 max(28px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line);position:relative;z-index:25}.reader .topbar{position:sticky;top:0;height:80px;padding:0 32px}.brand{font-family:Sarabun,sans-serif;font-size:24px;font-weight:700}.brand-mark{background:#5a437b;box-shadow:3px 4px 0 #d8bbf2;color:#fff4e8;border-radius:16px;transform:rotate(-5deg)}.brand small{letter-spacing:1.8px;font-size:9px;color:var(--muted)}.topbar nav{gap:15px}.desktop-nav{display:flex;align-items:center;gap:9px}.desktop-nav>a{font-size:14px;font-weight:600;padding:10px 17px;border-radius:13px}.desktop-nav>a:hover{background:var(--lilac);color:var(--purple)}.icon-button{border-radius:13px;width:44px;height:44px;background:var(--bg);border-color:var(--line)}.menu-toggle{display:none;width:46px;height:44px;border:1px solid var(--line);background:var(--lilac);border-radius:12px;padding:12px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}.button{background:var(--primary);border-color:var(--primary);color:var(--paper);border-radius:15px;min-height:48px;padding:13px 24px;font-size:15px;font-weight:700;box-shadow:0 4px 0 #7b352221;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{background:var(--primary);color:var(--paper);transform:translateY(-3px);box-shadow:0 7px 0 #7b352218}.button:active{transform:translateY(1px);box-shadow:none}.button.secondary{background:var(--paper);border:1.5px solid var(--line);color:var(--ink);box-shadow:0 3px 0 #342d4809}.button.small{font-size:13px;min-height:42px;border-radius:12px;padding:9px 15px}.text-link{background:var(--lilac);color:var(--purple);border:1px solid var(--line);border-radius:12px;padding:9px 15px;font-size:13px}.eyebrow{color:var(--purple);font-size:11px;font-weight:700;letter-spacing:1.7px}.status-dot,.live-dot{background:#74cdb0}.hero{max-width:1280px;margin:0 auto;gap:50px;padding:65px 0 55px;grid-template-columns:1fr 1fr}.hero h1{font-family:Sarabun,sans-serif;font-size:clamp(36px,3.6vw,53px);font-weight:700;line-height:1.38;letter-spacing:-1px;margin:25px 0}.hero h1>span{color:var(--primary);display:block;position:relative;width:fit-content}.hero h1>span:after{content:'';height:9px;background:#f6d98280;position:absolute;bottom:0;left:0;right:15px;border-radius:60%;transform:rotate(-2deg);z-index:-1}.hero h1 .spark{display:inline-block;color:#d69b21;font-size:38px;margin-left:12px;vertical-align:top;animation:sparkle 5s ease-in-out infinite}.hero-copy>p{font-size:18px;line-height:1.85;color:var(--muted)}.hero-actions{gap:13px;margin-top:30px}.hero-stats{border-top:1px dashed var(--line);padding-top:24px;margin-top:32px;gap:30px}.hero-stats b{font:700 31px Sarabun,sans-serif;color:var(--ink)}.hero-stats span{font-size:11px;max-width:72px;line-height:1.5}.hero-playground{background:var(--paper);border:1.5px solid var(--line);border-radius:28px;padding:15px;box-shadow:var(--shadow);position:relative;min-width:0;transform:rotate(1deg)}.playground-label{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600;margin:1px 7px 13px}.live-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px #74cdb01a}.playground-label button{margin-left:auto;background:var(--lilac);color:var(--purple);border:0;border-radius:8px;padding:5px 9px;font-size:11px;min-height:32px}.science-scene{height:282px;border-radius:18px;overflow:hidden;position:relative;background:#eee5fa;background-image:radial-gradient(#d5c5e8 1px,transparent 1px);background-size:20px 20px}.scene-orbit{position:absolute;border:1px dashed #bb9fd2;border-radius:50%;width:275px;height:275px;left:50%;top:15px;margin-left:-137px;transform:rotate(-25deg) scaleY(.5)}.orbit-two{transform:rotate(45deg) scaleY(.65);width:300px;height:300px;top:-15px;margin-left:-150px}.scene-star{position:absolute;color:#bb7134}.star-one{left:13%;top:44%;font-size:27px;animation:floaty 5s ease-in-out infinite}.star-two{right:8%;top:15%;font-size:37px;color:#8b63af;animation:sparkle 7s linear infinite}.star-three{right:15%;bottom:13%;font-size:22px;color:#9d74bb}.scene-platform{position:absolute;bottom:58px;left:14%;right:14%;height:11px;background:#8970a5;border-radius:10px;box-shadow:0 7px 0 #b7a5ce}.scene-spring{width:22%;height:33px;position:absolute;left:14%;bottom:70px;background:repeating-linear-gradient(115deg,transparent 0 8px,#88719f 9px 12px,transparent 13px 20px);transform-origin:left;animation:spring-stretch 4s ease-in-out infinite}.spring-mascot{position:absolute;left:36%;bottom:70px;width:98px;height:88px;border-radius:22px 22px 17px 17px;background:#edaa70;border:2px solid #cb8d5a;box-shadow:inset -8px -8px 0 #df985c,0 7px 10px #51406112;animation:spring-slide 4s ease-in-out infinite;transform:translateX(25px)}.mascot-eyes{position:absolute;top:17px;left:27px;font-family:Arial,sans-serif;font-size:23px;font-weight:bold;letter-spacing:7px;color:#583e48;white-space:nowrap}.mascot-smile{width:19px;height:11px;border:2px solid #583e48;border-top:0;border-radius:0 0 15px 15px;position:absolute;top:47px;left:39px}.mascot-blush{position:absolute;top:43px;width:13px;height:7px;border-radius:50%;background:#d97e6b}.blush-left{left:13px}.blush-right{right:13px}.floating-note{position:absolute;background:#fffaf0;border:1px solid #e7d6c8;border-radius:13px;padding:12px 15px;box-shadow:0 6px 0 #624d8210;z-index:2;color:#4d4059;animation:floaty 6s ease-in-out infinite}.floating-note span{display:block;font:700 8px Sarabun;letter-spacing:1.8px;color:#987a9d}.floating-note b{font:italic 25px Georgia,'Cambria Math',serif;display:block;margin-top:4px}.floating-note small{font:10px Sarabun;display:block;margin-top:5px}.note-energy{left:5%;top:20px;transform:rotate(-8deg);animation-delay:-2s}.note-force{right:5%;bottom:18px;transform:rotate(7deg);animation-delay:-4s}.note-force b{font-size:20px}.scene-caption{position:absolute;bottom:17px;left:17px;color:#79658b;font-size:10px}.pendulum-rig{position:absolute;width:48px;height:131px;top:-7px;left:61%;transform-origin:50% 0;animation:pendulum 3s ease-in-out infinite}.pendulum-string{position:absolute;width:2px;height:111px;background:#796582;left:23px}.pendulum-bob{position:absolute;bottom:0;left:5px;width:38px;height:38px;border:2px solid #438d83;background:#8ec7b4;border-radius:50%;box-shadow:inset -5px -6px 0 #6baa99}.hero-quiz{padding:17px 7px 3px}.hero-quiz strong{display:block;font-size:14px;margin:5px 0 12px}.quiz-tag{font-size:10px;color:var(--purple);font-weight:700}.quiz-options{display:flex;gap:9px}.quiz-options button{flex:1;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:8px;font-size:12px;min-height:40px}.quiz-options button:hover{border-color:var(--purple);background:var(--lilac)}.quiz-options button.correct{background:var(--soft);border-color:var(--green);color:var(--green)}.quiz-options button.try-again{background:var(--warning);border-color:var(--gold)}#quiz-feedback{font-size:11px;color:var(--muted);margin:10px 0 0;min-height:36px;line-height:1.6}.journey-strip{max-width:1280px;margin:0 auto 62px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:21px 28px;display:flex;align-items:center;gap:21px;box-shadow:var(--shadow)}.journey-icon{background:var(--lilac);color:var(--purple);font-size:24px;border-radius:16px;min-width:53px;height:53px;text-align:center;line-height:53px}.journey-strip strong{font-size:15px}.journey-strip p{margin:3px 0 0;color:var(--muted);font-size:12px}.journey-progress{margin-left:auto;min-width:180px;max-width:240px;width:24%}.journey-progress>span{font-size:12px;color:var(--purple);display:block;margin-bottom:7px}.journey-progress [role=progressbar]{height:8px;background:var(--lilac);border-radius:8px;overflow:hidden}.journey-progress [role=progressbar]>span{display:block;height:100%;width:0;background:#a18bd4;border-radius:8px}.chapter-section,.labs-section{max-width:1280px;margin:auto}.section-heading{margin-bottom:28px}.section-heading h2{font-size:31px;margin-top:7px}.section-heading p{font-size:14px;color:var(--muted);margin:9px 0 0}.search-box{border-radius:14px;padding:10px 16px;min-width:340px}.search-box input{font-size:13px}.chapter-grid{gap:25px}.chapter-card{border-radius:23px;border:1.5px solid var(--line);box-shadow:var(--shadow);padding:25px 25px 0;position:relative;background:var(--paper)}.chapter-card:hover{transform:translateY(-6px);border-color:#b7a0d0;box-shadow:0 14px 35px #66517a14}.card-top{gap:13px}.card-number{font:700 20px Sarabun;color:var(--muted)}.chapter-icon{margin-left:auto;display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--lilac);border-radius:13px;font-size:27px;color:var(--purple);order:-1}.card-status{margin-left:auto;font-size:10px}.card-status.complete{background:var(--soft);padding:5px 8px;border-radius:7px}.card-formula{font-size:29px;padding:25px 9px;margin:22px 0;border-radius:15px;background:var(--soft);color:var(--green);border:1px solid #256d6010}.chapter-card:nth-child(2n) .card-formula{background:var(--lilac);color:var(--purple);border-color:#69489c15}.chapter-card:nth-child(3n) .card-formula{background:var(--blue);color:#306286;border-color:#30628615}.card-title h3{font-size:23px;line-height:1.5;min-height:68px;color:var(--ink);font-weight:700}.card-english{font-size:11px;min-height:33px;margin-bottom:10px}.card-description{font-size:14px;line-height:1.8;min-height:76px}.card-meta{font-size:10px;gap:9px;flex-wrap:wrap}.card-meta span{background:var(--bg);padding:3px 7px;border-radius:6px}.card-meta span:before{display:none}.card-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:18px 0;border-top-style:dashed}.card-button{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--bg);padding:9px 8px;border-radius:10px;font-size:12px;min-height:41px}.card-links>a:first-child{margin:0;grid-column:1/-1;background:var(--purple);color:var(--paper);border-color:var(--purple);font-weight:700;font-size:14px;min-height:45px}.card-button:hover{filter:brightness(.96);transform:translateY(-1px)}.card-button:nth-child(2){background:var(--warning);color:var(--gold)}.card-button:nth-child(3){background:var(--soft);color:var(--green)}.math-banner{max-width:1280px;margin:54px auto 62px;background:var(--lilac);border:1.5px solid #c5b0e0;border-radius:25px;padding:34px;display:flex;gap:30px;align-items:center;position:relative;overflow:hidden}.math-banner h2{font-size:27px;color:var(--ink)}.math-banner p{font-size:14px;line-height:1.9;color:var(--muted);margin:10px 0 0}.math-banner>.button{margin-left:auto;white-space:nowrap;background:var(--purple);border-color:var(--purple)}.math-badge{background:var(--paper);border-radius:20px;width:100px;height:110px;min-width:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:47px Georgia;color:var(--purple);transform:rotate(-7deg);box-shadow:5px 6px 0 #cbb3e84a}.math-badge span{font:12px Sarabun;letter-spacing:5px;margin-top:3px}.lab-offline{padding:8px 14px;border:1px solid #b4d4e7;background:var(--blue);color:#386789;font-size:12px;border-radius:9px}.lab-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lab-card-grid a{background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:20px;display:grid;grid-template-columns:48px 1fr;gap:0 15px;box-shadow:var(--shadow)}.lab-card-grid a:hover{border-color:#8db4d0;transform:translateY(-3px)}.lab-card-grid a>span{grid-row:1/3;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:28px;border-radius:14px;background:var(--blue);color:#356789}.lab-card-grid strong{font-size:15px}.lab-card-grid small{color:var(--muted);font-size:11px;margin-top:5px}.creator-section{max-width:1280px;margin:65px auto;display:flex;align-items:center;justify-content:center;gap:24px;padding:32px;border:1px dashed #d4bbc5;border-radius:23px;background:var(--paper)}.creator-avatar{width:83px;height:83px;min-width:83px;border-radius:25px;background:#e9cbb2;color:#624651;font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-5deg)}.creator-avatar span{position:absolute;right:-10px;top:-10px;background:#f5d879;border:3px solid var(--paper);border-radius:50%;width:32px;height:32px;font-size:21px;text-align:center;line-height:27px}.creator-section h2{font-size:25px;margin:4px 0 8px}.creator-section p{font-size:14px;margin:0;color:var(--muted)}.creator-section small{font-size:12px;color:var(--muted)}.site-footer{max-width:1280px;font-size:12px;padding:30px 0;background:transparent;align-items:center}.footer-brand{font-weight:700;color:var(--purple);letter-spacing:1px}.site-footer p{font-size:12px;margin:7px 0 0}.site-footer small{font-size:10px}.footer-links{display:flex;gap:9px;flex-wrap:wrap}.footer-links a{padding:8px 13px;border:1px solid var(--line);background:var(--paper);border-radius:10px;min-height:38px}.reader-layout{max-width:1360px;gap:45px;grid-template-columns:265px minmax(0,1fr)}.sidebar{padding-right:20px}.toc-panel nav a{border-radius:10px;padding:9px 10px;font-size:13px}.toc-panel nav a.active{background:var(--lilac);border-color:var(--purple)}.sidebar-title{font-size:19px}.chapter-label{color:var(--primary)}.back-link,.sidebar-other,.sidebar-math{display:block;background:var(--paper);border:1px solid var(--line);padding:9px 12px;border-radius:10px;font-size:12px}.sidebar-other{margin-top:20px}.sidebar-math{margin-top:10px;background:var(--lilac);color:var(--purple);font-size:12px}.chapter-header{padding:35px 0}.chapter-header h1{font-size:38px;font-weight:700}.chapter-number{font:700 65px Sarabun;color:var(--purple);letter-spacing:-3px}.english-title{font-family:Georgia,serif}.chapter-header .author-credit{font-size:12px!important;margin:23px 0 0;color:var(--muted);border-top:1px dashed var(--line);padding-top:14px}.reader-toolbar button{background:var(--paper);padding:7px 12px;border-radius:9px;min-height:39px;font-size:13px}.reading-progress{top:79px}.reading-progress span{background:var(--primary)}.book-content{line-height:1.95}.book-content h2{font-size:1.5em;font-weight:700;color:var(--ink);border-top-style:dashed}.book-content h3{color:var(--purple);font-weight:700}.book-content strong{color:inherit}.color-guide{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:16px 20px;margin:25px 0;font-size:12px}.color-guide>strong{display:block;margin-bottom:9px;font-size:13px}.color-guide>div{display:flex;gap:14px;flex-wrap:wrap}.legend-main{color:var(--green)}.legend-step{color:var(--purple)}.legend-warning{color:var(--gold)}.legend-lab{color:#3c6f95}.equation{position:relative;background:var(--lilac);border:1px solid #c9b5e1;border-left:4px solid var(--purple);border-radius:13px;padding:33px 23px 20px;margin:24px 0}.equation:before{content:attr(data-equation-label);font:600 10px Sarabun,sans-serif;letter-spacing:.2px;position:absolute;top:8px;left:15px;color:var(--purple)}.equation-main,.main-equation .equation{background:var(--soft);border-color:#a8cdbf;border-left-color:var(--green)}.equation-main:before,.main-equation .equation:before{content:'สมการหลัก';color:var(--green)}.callout{border-radius:14px;border:1px solid var(--line);border-left:4px solid var(--green);padding:22px 25px}.callout.warning{background:var(--warning);border-left-color:var(--gold)}.callout.math-note{background:var(--lilac);border-left-color:var(--purple)}.callout-title{color:inherit;font-weight:700}.book-content figure{border-radius:19px;box-shadow:var(--shadow);padding:20px}.book-content figure img{border-radius:12px;max-height:none}.book-content figcaption{font-family:Sarabun,sans-serif;font-size:14px;line-height:1.8;margin-top:16px}.table-scroll{border-radius:14px}.book-content table{font-size:.91em}.book-content th{background:var(--lilac)}.solution{border-radius:17px;padding:0 24px;box-shadow:var(--shadow);margin:17px 0}.solution summary{color:var(--purple);font-size:1.12em;min-height:64px}.solution[open] summary{border-bottom-style:dashed}.solution-expansion{margin:24px 0 8px;padding:23px 24px;background:var(--lilac);border:1px solid #cbb8e3;border-radius:15px}.solution-expansion h3{margin:0 0 16px;font-size:1.08em;color:var(--purple)}.solution-expansion ol{padding-left:24px}.solution-expansion li{margin:12px 0}.solution-expansion .equation{background:var(--paper)}.solution-expansion .math-link{font-size:13px;display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #c0a8db;background:var(--paper);border-radius:10px;color:var(--purple);margin-top:10px}.simulation{background:var(--blue);border:1.5px solid #bad6e7;border-radius:20px;padding:27px}.simulation .eyebrow{color:#366e93}.simulation h2{font-size:27px}.simulation>p{font-size:15px}.lab-canvas{border-radius:15px;border-color:#bdd1df}.lab-controls label{font-size:13px}.lab-controls input{height:25px;accent-color:#3b759b}.lab-values{font-size:13px}.lab-actions .button{background:#356d91;border-color:#356d91;color:#fff}.lab-actions .button.secondary{background:var(--paper);color:#356d91;border-color:#accadd}.simulation .assumptions{font-size:12px}.chapter-pagination a{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 16px;min-height:44px}.chapter-finish{display:flex;align-items:center;gap:18px;background:var(--soft);border:1px solid #b7d4c5;border-radius:20px;padding:25px;margin-top:45px}.chapter-finish>span{font-size:32px;color:var(--green)}.chapter-finish h2{font-size:22px;margin:0}.chapter-finish p{font-size:13px;margin:6px 0 0;color:var(--muted)}.chapter-finish .button{margin-left:auto;font-size:12px;white-space:nowrap;background:var(--green);border-color:var(--green)}.formula-shelf{padding:24px;margin:26px 0;border:1px solid #a8cdbf;border-radius:18px;background:var(--soft)}.formula-shelf h2{font-size:23px;margin:0 0 8px;color:var(--green)}.formula-shelf p{font-size:14px}.formula-shelf .equation{background:var(--paper);border-color:#a8cdbf;border-left-color:var(--green)}.formula-shelf .equation:before{content:'สมการหลัก';color:var(--green)}.math-toolkit .tool-usage{background:var(--blue);border-radius:12px;padding:14px 18px;font-size:.88em}.math-toolkit .practice{background:var(--warning);padding:20px;border-radius:15px;border:1px solid #e4c6a1}.math-toolkit details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin:16px 0}.math-toolkit summary{cursor:pointer;font-weight:700;color:var(--purple)}.math-toolkit a:not(.math-link){color:var(--purple);text-decoration:underline;text-underline-offset:4px}.nav-drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;max-width:min(90vw,440px);width:440px;border:0;border-left:1px solid var(--line);background:var(--bg);color:var(--ink);padding:24px;border-radius:22px 0 0 22px;overflow:auto}.nav-drawer::backdrop{background:#231b38a6;backdrop-filter:blur(4px)}.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.drawer-top strong{font-size:22px}.drawer-top button{background:var(--paper);border:1px solid var(--line);border-radius:12px;width:42px;height:42px}.nav-drawer nav{display:flex;flex-direction:column;gap:10px}.nav-drawer nav a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:13px;font-size:15px;min-height:49px}.nav-drawer nav a span{background:var(--lilac);color:var(--purple);font-size:13px;font-weight:700;border-radius:8px;padding:6px}.nav-drawer nav a b{margin-left:auto}.nav-drawer .drawer-math{background:var(--lilac)}.drawer-credit{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.in-view{animation:enter-card .5s ease-out both;animation-delay:calc(var(--card-index,0)*45ms)}
@keyframes spring-slide{0%,100%{transform:translateX(-12px)}50%{transform:translateX(58px)}}@keyframes spring-stretch{0%,100%{transform:scaleX(.9)}50%{transform:scaleX(1.55)}}@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes pendulum{0%,100%{rotate:-22deg}50%{rotate:22deg}}@keyframes sparkle{0%,100%{rotate:0deg;scale:1}50%{rotate:18deg;scale:1.12}}@keyframes enter-card{from{opacity:.4;translate:0 15px}to{opacity:1;translate:0 0}}.motion-paused .science-scene *,.motion-paused .spark{animation-play-state:paused!important}
@media(max-width:1370px){.hero,.chapter-section,.labs-section,.journey-strip,.math-banner,.creator-section,.site-footer{margin-left:38px;margin-right:38px}.hero{gap:35px}.hero-stats{gap:23px}.hero-stats>div{gap:9px}.reader-layout{padding:0 25px;gap:30px;grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:1100px){.hero{gap:25px;grid-template-columns:1fr 1fr;padding-top:45px}.hero h1{font-size:41px}.hero-copy>p{font-size:16px}.hero-stats{gap:21px}.hero-stats>div{display:block}.hero-stats span{display:block;max-width:100px}.hero-actions .button{font-size:13px;padding:12px 15px}.science-scene{height:266px}.hero-quiz strong{font-size:13px}.note-energy{padding:10px}.note-force{right:3%;padding:10px}.journey-progress{min-width:135px}.journey-strip{gap:15px;padding:20px}.math-banner{padding:25px;gap:22px;flex-wrap:wrap}.math-banner>.button{margin-left:122px}.lab-card-grid{grid-template-columns:repeat(2,1fr)}.chapter-card{padding:22px 22px 0}.reader-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.chapter-header h1{font-size:32px}.chapter-finish{flex-wrap:wrap}.chapter-finish .button{margin-left:50px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.topbar,.reader .topbar{padding:0 24px}.hero{grid-template-columns:1fr;gap:35px;max-width:720px;margin:0 auto;padding:42px 30px}.hero h1{font-size:48px}.hero-copy>p{font-size:18px}.hero-stats>div{display:flex}.hero-stats{gap:34px}.hero-playground{transform:none}.science-scene{height:295px}.scene-spring{animation-name:spring-stretch}.journey-strip{flex-wrap:wrap}.journey-progress{margin-left:auto;width:30%}.journey-strip>.button{margin-left:auto}.reader-layout{display:block;max-width:800px}.sidebar{position:static;height:auto;border:0;padding:20px 0 0}.sidebar .chapter-label,.sidebar .sidebar-title,.sidebar .sidebar-other,.sidebar .sidebar-math{display:none}.sidebar>.back-link{display:none}.toc-panel{padding:13px 17px;border:1px solid var(--line);background:var(--lilac);border-radius:14px;margin-top:0}.toc-panel>summary{font-size:14px;margin:0;min-height:25px;cursor:pointer;color:var(--purple)}.toc-panel nav{max-height:300px;overflow:auto;margin-top:14px}.reader-toolbar{padding:17px 0}.chapter-header h1{font-size:35px}.lab-grid{grid-template-columns:minmax(0,1.6fr) minmax(185px,1fr)}.lab-controls{display:block}.site-footer{flex-direction:column;align-items:flex-start;gap:20px}.chapter-card{padding:25px 25px 0}}
@media(max-width:650px){.topbar,.reader .topbar{height:76px;padding:0 18px}.brand{font-size:21px}.brand-mark{font-size:36px;width:44px;height:44px;line-height:41px}.brand small{font-size:8px}.topbar nav{gap:9px}.icon-button{width:41px;height:42px}.menu-toggle{width:42px;height:42px}.hero{padding:34px 20px;gap:31px}.hero h1{font-size:41px;margin:21px 0}.hero .eyebrow{font-size:9px;letter-spacing:1.2px}.hero-copy>p{font-size:16px}.hero-actions{margin-top:23px;gap:10px}.hero-actions .button{min-height:47px;font-size:13px;flex:1;padding:11px}.hero-stats{gap:27px;margin-top:25px;padding-top:18px}.hero-stats b{font-size:26px}.hero-stats span{font-size:10px}.hero-stats>div{display:block}.hero-playground{padding:12px;border-radius:21px}.science-scene{height:270px}.floating-note b{font-size:23px}.note-energy{left:4%;top:19px}.note-force{bottom:17px;right:4%}.spring-mascot{width:86px;height:80px;left:32%}.mascot-eyes{left:22px}.mascot-smile{left:32px}.scene-spring{width:18%}.scene-platform{left:9%;right:9%}.scene-spring{left:9%}.playground-label{font-size:11px}.hero-quiz strong{font-size:14px}.hero-quiz{padding-top:15px}.quiz-options button{font-size:13px}#quiz-feedback{font-size:12px;min-height:40px}.journey-strip,.chapter-section,.labs-section,.math-banner,.creator-section,.site-footer{margin-left:20px;margin-right:20px}.journey-strip{margin-bottom:38px;padding:18px;gap:12px;border-radius:18px}.journey-icon{min-width:42px;height:42px;line-height:42px;border-radius:12px;font-size:21px}.journey-strip strong{font-size:14px}.journey-strip p{font-size:11px}.journey-progress{min-width:0;width:calc(100% - 145px);margin-left:0}.journey-strip>.button{font-size:11px;min-height:38px}.section-heading{margin-bottom:23px}.section-heading h2{font-size:28px}.search-box{min-width:0;margin-top:19px;padding:9px 13px}.search-box input{font-size:13px}.chapter-grid{grid-template-columns:1fr;gap:21px}.chapter-card{padding:24px 24px 0;border-radius:22px}.card-title h3{font-size:24px;min-height:0}.card-english{min-height:0;font-size:12px}.card-description{font-size:15px;min-height:0}.card-meta{font-size:11px}.card-formula{padding:24px;font-size:29px}.card-links{padding:16px 0}.card-button{font-size:13px;min-height:44px}.card-links>a:first-child{font-size:15px;min-height:47px}.math-banner{margin-top:35px;margin-bottom:40px;padding:24px;gap:19px;display:block}.math-badge{width:74px;height:80px;min-width:0;font-size:38px;margin-bottom:22px}.math-badge span{font-size:10px;letter-spacing:3px}.math-banner h2{font-size:25px}.math-banner p{font-size:14px}.math-banner p br{display:none}.math-banner>.button{margin:23px 0 0;width:100%;font-size:14px}.lab-offline{display:inline-block;margin-top:16px;font-size:11px}.lab-card-grid{grid-template-columns:1fr;gap:13px}.lab-card-grid a{padding:18px;min-height:87px}.lab-card-grid strong{font-size:17px}.lab-card-grid small{font-size:12px}.creator-section{padding:24px 19px;gap:18px;margin-top:38px;margin-bottom:38px;align-items:flex-start}.creator-avatar{width:61px;height:65px;min-width:61px;font-size:24px;border-radius:20px}.creator-section h2{font-size:20px}.creator-section p{font-size:12px}.creator-section small{font-size:11px}.creator-section .eyebrow{font-size:9px}.site-footer p{font-size:12px;line-height:1.8}.footer-links{gap:7px}.footer-links a{font-size:11px;padding:8px 11px}.reader-layout{padding:0 17px}.reader-toolbar{font-size:11px;gap:9px}.reader-toolbar button{font-size:12px;padding:6px 10px;min-height:38px}.chapter-header{padding:26px 0}.chapter-header h1{font-size:29px}.chapter-number{font-size:53px;margin:17px 0 13px}.chapter-header .eyebrow{font-size:9px}.chapter-header>p:not(.english-title){font-size:15px}.chapter-header .author-credit{font-size:11px!important;line-height:1.9}.chapter-actions .button{font-size:12px;min-height:43px}.chapter-actions .text-link{font-size:11px;min-height:40px;display:flex;align-items:center}.book-content{font-size:var(--body-size);line-height:1.95}.book-content h2{font-size:1.34em;padding-top:27px;margin-top:35px}.book-content h3{font-size:1.1em}.callout{padding:18px 17px;border-radius:12px}.color-guide{padding:15px}.color-guide>div{gap:8px 13px;font-size:11px}.color-guide>strong{font-size:12px}.equation{padding:31px 14px 17px}.book-content figure{padding:11px;border-radius:15px}.book-content figcaption{font-size:13px}.book-content table{font-size:.87em}.simulation{padding:20px 15px;border-radius:17px}.simulation h2{font-size:24px}.simulation>p{font-size:14px}.lab-grid{grid-template-columns:1fr}.lab-controls{display:grid;grid-template-columns:1fr 1fr}.lab-controls label{font-size:12px}.lab-values{grid-column:1/-1;font-size:14px}.simulation .assumptions{font-size:12px}.solution{padding:0 17px;border-radius:14px}.solution summary{font-size:1.05em;min-height:60px}.solution-expansion{padding:18px 15px}.solution-expansion h3{font-size:1.02em}.chapter-finish{padding:20px;gap:12px}.chapter-finish>span{font-size:27px}.chapter-finish>div{flex:1}.chapter-finish h2{font-size:20px}.chapter-finish .button{margin:8px 0 0;width:100%;font-size:13px;white-space:normal}.chapter-pagination{flex-wrap:wrap;gap:8px;font-size:12px}.chapter-pagination a{padding:9px 11px;flex:1;text-align:center;min-width:92px}.reading-progress{top:75px}.formula-shelf{padding:19px 15px}.formula-shelf h2{font-size:21px}.math-toolkit .practice{padding:17px}.math-toolkit details{padding:12px 15px}.nav-drawer{padding:22px 18px}.nav-drawer nav a{font-size:14px}.drawer-credit{font-size:11px}}
@media(max-width:370px){.hero h1{font-size:35px}.hero h1 .spark{font-size:26px;margin-left:6px}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats{gap:20px}.hero-playground{padding:9px}.playground-label{margin-left:3px;margin-right:3px;font-size:10px}.science-scene{height:250px}.note-energy small{display:none}.floating-note{padding:9px}.scene-caption{font-size:9px}.note-force b{font-size:18px}.lab-controls{grid-template-columns:1fr}.chapter-header h1{font-size:26px}.reader-toolbar button{padding:6px 8px}.creator-section{display:block}.creator-avatar{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.spring-mascot{transform:translateX(20px)}.scene-spring{transform:scaleX(1.1)}}
.color-guide>small{display:block;font-size:11px;color:var(--muted);margin-top:10px}.solution-expansion span.equation{display:block;margin:15px 0}.formula-item>h3{font-size:17px;color:var(--green);margin-top:23px}.formula-item>p{font-size:13px;color:var(--muted)}.formula-item .equation>p{margin:0}html[data-theme=dark] .hub{background-image:radial-gradient(#51425780 1px,transparent 1px)}
@media print{body{font-family:Sarabun,sans-serif}.platform-hero,.journey-strip,.nav-drawer,.chapter-finish,.color-guide,.platform-hero,.menu-toggle,.author-credit,.sidebar-math{display:none!important}.equation,.equation-main,.solution-expansion,.callout{box-shadow:none;break-inside:avoid;background:white}.equation:before{color:#444}.book-content{font-size:11pt}.book-content figure{box-shadow:none}.book-content figure img{max-height:90mm}.chapter-header{padding:0}.chapter-header h1{font-size:24pt}.solution-expansion{border:1px solid #ccc}.solution-expansion .math-link{display:none}.math-toolkit details{display:block}.site-footer{display:none!important}}
.volume-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 8px;scroll-margin-top:100px}
.volume-heading h3{font-size:30px;margin:6px 0;color:var(--ink)}
.volume-heading p{margin:0;color:var(--muted)}
.volume-heading .button{flex-shrink:0}
.book-content .short-answer{overflow-wrap:anywhere}
.imported-math{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle;padding:2px 0}
.imported-math math{white-space:nowrap}
.equation>.imported-math:only-child{display:block;width:100%;text-align:center}
.card-formula:has(math),.card-formula:has(mjx-container){font-size:clamp(18px,1.65vw,24px);min-height:105px;display:flex;align-items:center;justify-content:center;overflow-x:auto}
@media(max-width:650px){.card-formula:has(math),.card-formula:has(mjx-container){font-size:18px;padding:20px 10px}}
@media print{.imported-math{overflow:visible}}
.book-content .teaching-figure figcaption{text-align:left;font-size:.82em;line-height:1.85;color:#56645a}
.book-content .teaching-figure figcaption strong{color:#256d60}
.book-content .figure-question{background:#e8f3eb;border-radius:8px;padding:12px 16px;margin-bottom:0;color:#342d48}
.source-solution{border-top:1px dashed var(--line);margin-top:24px;font-size:.92em}
.solution .source-solution>summary{font-size:.95em;min-height:44px;padding:12px 0;margin-bottom:0;border-bottom:0;color:var(--muted)}
.source-solution[open]>summary{margin-bottom:14px}
@media(max-width:600px){.volume-heading{align-items:flex-start;flex-direction:column}.volume-heading h3{font-size:26px}}
