:root{
  --cream:#f5efdf; --paper:#fffaf0; --paper2:#efe2c6; --ink:#2b241b;
  --brown:#6e4b2d; --brown2:#8b6441; --green:#2f4a32; --green2:#49684a;
  --gold:#b58a4a; --danger:#8a3b2e; --muted:#6e6a61; --line:#d5c39c;
  --shadow:0 14px 36px rgba(52,40,24,.13); --radius:22px;
}
*{box-sizing:border-box}
html{background:#e9dfc9;scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Tahoma,"Noto Sans Thai","Leelawadee UI",Arial,sans-serif;background:
  radial-gradient(circle at top,#fffdf7 0,#f1e8d5 42%,#e5d7bc 100%);min-height:100vh}
button,input{font:inherit}
button{touch-action:manipulation}
img{display:block;max-width:100%}
.noscript{padding:16px;background:#fff1d5;color:#6f351c;text-align:center}
.app-shell{width:min(1160px,100%);min-height:100vh;margin:0 auto;background:rgba(255,250,240,.86);box-shadow:0 0 70px rgba(63,45,23,.12);display:flex;flex-direction:column}
.app-header{height:72px;padding:10px clamp(14px,3vw,30px);display:flex;align-items:center;justify-content:space-between;background:rgba(47,74,50,.97);color:#fff;position:sticky;top:0;z-index:20;backdrop-filter:blur(9px)}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;color:#e9d6a7}.brand strong{display:block;font-size:1.2rem}.brand small{display:block;color:#dfe7d8;font-size:.72rem;margin-top:2px}
.icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font-size:1.35rem;cursor:pointer}.icon-btn:hover,.icon-btn:focus-visible{background:rgba(255,255,255,.2);outline:2px solid #fff;outline-offset:2px}
.progress-wrap{padding:12px clamp(16px,3vw,30px) 10px;background:#faf4e7;border-bottom:1px solid #e1d2b5;position:sticky;top:72px;z-index:19}.progress-meta{display:flex;justify-content:space-between;gap:12px;color:#5e543f;font-size:.82rem;margin-bottom:7px}.progress-track{height:7px;border-radius:999px;background:#dfd5c0;overflow:hidden}.progress-bar{height:100%;width:11.11%;background:linear-gradient(90deg,var(--green),#6e8b58);transition:width .35s ease}
.screen{flex:1;padding:clamp(18px,4vw,44px);outline:none}.screen-inner{max-width:980px;margin:0 auto}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green2);font-weight:700}.title{font-family:Georgia,"Noto Serif Thai",serif;font-size:clamp(2rem,5vw,4.3rem);line-height:1.04;margin:.25rem 0 .8rem;color:#3d2b1d}.subtitle{font-size:clamp(1rem,2.3vw,1.25rem);color:#665b49;line-height:1.65;max-width:800px}.hero-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:26px;align-items:stretch}.hero-media{min-height:360px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative;background:#ddd}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(19,27,17,.45))}.hero-copy{background:linear-gradient(145deg,#fffaf0,#f1e5cd);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,34px);display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}
.notice{border-radius:16px;padding:14px 16px;margin:18px 0;background:#f2ead8;border-left:5px solid var(--gold);line-height:1.55}.notice.strong{background:#e7efe4;border-left-color:var(--green)}.notice.warn{background:#fff0de;border-left-color:#b97432}.notice small{color:#6c604f}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip{padding:7px 11px;border-radius:999px;background:#e7eadf;color:#29412c;font-size:.84rem;border:1px solid #c7d0be}
.app-nav{position:sticky;bottom:0;z-index:20;display:flex;gap:12px;justify-content:space-between;padding:12px clamp(14px,3vw,30px) max(12px,env(safe-area-inset-bottom));background:rgba(250,244,231,.95);border-top:1px solid #dfd1b5;backdrop-filter:blur(9px)}.nav-btn{min-height:50px;border-radius:14px;padding:10px 20px;border:1px solid transparent;font-weight:700;cursor:pointer}.nav-btn.primary{background:var(--green);color:#fff}.nav-btn.secondary{background:#fffaf0;color:var(--green);border-color:#afbdab}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.nav-btn:focus-visible,.action:focus-visible,.tab-btn:focus-visible,.option:focus-visible{outline:3px solid #cc9d52;outline-offset:3px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:clamp(18px,3vw,30px)}.media-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.section-heading{font-family:Georgia,"Noto Serif Thai",serif;font-size:clamp(1.55rem,3vw,2.45rem);margin:0 0 10px;color:#3d2b1d}.lead{font-size:1.05rem;line-height:1.7;color:#584e3f}.source-tag{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:.78rem;color:#5c6e56;background:#edf1e9;border:1px solid #ccd7c7;border-radius:10px;padding:8px 10px}.source-tag:before{content:"✓";font-weight:900}.learning-tag{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:.78rem;color:#73491f;background:#fff2df;border:1px solid #e6c79f;border-radius:10px;padding:8px 10px}.learning-tag:before{content:"!";font-weight:900}
.story-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:start}.story-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:sticky;top:155px}.story-img img{width:100%;aspect-ratio:4/5;object-fit:cover}.story-text p{line-height:1.75;margin:0 0 14px}.audio-panel{padding:18px;border:1px solid #c7d0be;border-radius:18px;background:#f2f6ef;margin-bottom:18px}.audio-panel h3{margin:0 0 6px;color:var(--green)}.audio-status{font-size:.83rem;color:#667060;min-height:1.3em}.audio-controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.action{min-height:44px;padding:9px 14px;border-radius:12px;border:1px solid #a9b6a5;background:#fff;color:#29412c;font-weight:700;cursor:pointer}.action.primary{background:var(--green);color:#fff;border-color:var(--green)}.action.brown{background:var(--brown);color:#fff;border-color:var(--brown)}
.tabs{display:flex;gap:8px;overflow:auto;padding:4px 2px 12px;scrollbar-width:thin}.tab-btn{flex:0 0 auto;min-height:44px;border:1px solid #c9b996;background:#fff8e9;border-radius:999px;padding:8px 15px;cursor:pointer;color:#5d4932}.tab-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.knowledge-panel{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.knowledge-panel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.knowledge-copy{padding:8px}.knowledge-copy p{line-height:1.78}
.stepper-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.step-dots{display:flex;gap:7px}.step-dot{width:10px;height:10px;border-radius:50%;background:#d5cbb8}.step-dot.active{background:var(--green);transform:scale(1.25)}.howto-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}.howto-panel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.step-num{font-size:.82rem;color:#fff;background:var(--green);border-radius:999px;display:inline-block;padding:6px 10px}.howto-copy p{line-height:1.75}.mini-nav{display:flex;gap:10px;margin-top:18px}.mini-nav .action{flex:1}
.video-wrap{position:relative;border-radius:24px;overflow:hidden;background:#151a14;box-shadow:var(--shadow);aspect-ratio:16/9}.video-layer{position:absolute;inset:0;opacity:0;transition:opacity .85s ease;overflow:hidden}.video-layer.active{opacity:1}.video-layer img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);animation:kenburns 6s ease-in-out both}.video-layer:nth-child(even) img{animation-name:kenburns2}@keyframes kenburns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.11) translate(-1.5%,-1%)}}@keyframes kenburns2{from{transform:scale(1.08) translate(-1%,0)}to{transform:scale(1.02) translate(1%,1%)}}.video-overlay{position:absolute;inset:auto 0 0;padding:70px 24px 22px;background:linear-gradient(transparent,rgba(14,19,13,.86));color:#fff;z-index:3}.video-caption{font-size:clamp(1.1rem,2.5vw,1.7rem);font-weight:800}.video-sub{font-size:.9rem;color:#e8e4d8;margin-top:4px}.video-controls{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.video-progress{height:8px;flex:1;min-width:180px;border-radius:999px;background:#cfc5af;overflow:hidden}.video-progress>div{height:100%;width:0;background:var(--green);transition:width .15s linear}.timecode{font-variant-numeric:tabular-nums;font-size:.84rem;color:#675d4e}
.quality-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.quality-card{padding:14px}.quality-card .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quality-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px}.quality-card h3{margin:12px 0 5px}.quality-card p{margin:0;line-height:1.55;color:#5e5548}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare-item{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.compare-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.compare-item div{padding:16px}.compare-item h3{margin:0 0 6px}.compare-item p{margin:0;line-height:1.6}
.quiz-box{max-width:820px;margin:0 auto}.activity-index{font-size:.82rem;color:var(--green2);font-weight:700}.question{font-size:clamp(1.25rem,2.8vw,1.8rem);font-weight:800;margin:12px 0 18px;line-height:1.45}.options{display:grid;gap:10px}.option{border:1px solid #cdbb98;background:#fffaf0;border-radius:15px;padding:14px 16px;text-align:left;cursor:pointer;min-height:56px;line-height:1.5}.option:hover{border-color:#7d977b;background:#f5f8f2}.option.selected{border:2px solid var(--green);background:#edf3e9}.option.correct{border-color:#4e774c;background:#e4f0df}.option.wrong{border-color:#9e5144;background:#f8e5e1}.feedback{margin-top:14px;border-radius:14px;padding:13px 15px;line-height:1.55}.feedback.good{background:#e5f1e1;color:#294c2d}.feedback.bad{background:#f8e5df;color:#6e3229}
.order-list{display:grid;gap:9px}.order-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;border:1px solid #d1c2a5;background:#fffaf0;padding:9px;border-radius:14px}.order-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7eadf;color:#2c482f;font-weight:800}.order-actions{display:flex;gap:5px}.order-actions button{width:38px;height:38px;border:1px solid #c4b697;background:#fff;border-radius:10px;cursor:pointer}.order-actions button:disabled{opacity:.3}.order-image{width:72px;height:52px;object-fit:cover;border-radius:8px;margin-right:9px;vertical-align:middle}.order-label{display:flex;align-items:center;line-height:1.4}
.quality-activity{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:center}.quality-activity img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice-row .action{flex:1;min-width:160px}.dots{display:flex;gap:6px;margin-top:14px}.dots span{width:9px;height:9px;border-radius:50%;background:#d3c7b1}.dots span.on{background:var(--green)}
.result-card{text-align:center;padding:clamp(22px,5vw,46px)}.score-circle{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;margin:16px auto;background:linear-gradient(145deg,#345738,#69825a);color:#fff;box-shadow:var(--shadow)}.score-circle strong{font-size:2.4rem}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.result-item{padding:14px;border-radius:15px;background:#f3ead6}.result-item strong{display:block;font-size:1.3rem;color:var(--green)}.qr-placeholder{margin-top:22px;padding:17px;border:2px dashed #b9a781;border-radius:16px;background:#fffaf0;text-align:left}.qr-placeholder code{background:#efe6d4;padding:3px 6px;border-radius:6px}.toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%,18px);background:#283827;color:#fff;padding:11px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:100;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.footer-note{margin-top:28px;font-size:.8rem;line-height:1.6;color:#766b5c;border-top:1px solid #dbccb0;padding-top:14px}
@media (max-width:800px){.hero-grid,.story-layout,.knowledge-panel,.howto-panel,.quality-activity{grid-template-columns:1fr}.hero-media{min-height:300px}.story-img{position:relative;top:auto;max-height:410px}.story-img img{aspect-ratio:16/11}.quality-grid,.compare-grid{grid-template-columns:1fr}.app-header{height:66px}.progress-wrap{top:66px}.screen{padding:20px 16px}.app-nav{padding-left:12px;padding-right:12px}.nav-btn{padding:9px 14px}.result-grid{grid-template-columns:1fr}.quality-card .pair{grid-template-columns:1fr 1fr}.order-item{grid-template-columns:36px 1fr auto}.order-image{width:58px;height:46px}.title{font-size:2.35rem}}
@media (max-width:480px){.brand small{display:none}.title{font-size:2rem}.hero-media{min-height:250px}.quality-card .pair{gap:5px}.video-wrap{aspect-ratio:4/3}.video-overlay{padding:55px 14px 14px}.app-nav .nav-btn{min-width:0;flex:1}.choice-row .action{min-width:100%}.order-label{font-size:.88rem}.order-image{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.video-layer img{animation:none!important}.progress-bar,.video-layer,.toast{transition:none!important}}
