@font-face{font-family:FieldbookSong;src:url('/sandstorm/assets/fieldbook-title-0.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:FieldbookSong;src:url('/sandstorm/assets/fieldbook-title-1.ttf') format('truetype');font-style:normal;font-weight:900;font-display:swap}
:root{color-scheme:light;--paper:#f6efe1;--white:#fffaf1;--ink:#293b2b;--muted:#606958;--line:#d9ccb6;--orange:#a74723;--orange-dark:#823719;--soft:#ececdd;--book-green:#626e4f;--book-pale:#e6e9d8;--book-serif:FieldbookSong,"Songti SC","STSong","Noto Serif CJK SC",serif;--book-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{background:var(--paper);scroll-padding-top:20px}body{margin:0;min-width:320px;background-color:var(--paper);background-image:url('/sandstorm/assets/fieldbook-paper.png');background-size:60px 180px;color:var(--ink);font-family:var(--book-sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a,button,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{background:#e7ccb2;color:#293b2b}[hidden]{display:none!important}h1,h2{font-family:var(--book-serif);letter-spacing:normal}h1{color:var(--orange);font-weight:900}.back-link{color:var(--ink);font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;min-height:44px}.back-link:hover{text-decoration:underline}.back-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fieldbook-header{max-width:1120px;margin:0 auto;padding:9px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:transparent}.fieldbook-header>span{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.fieldbook-wordmark{font-family:var(--book-serif);font-size:17px;font-weight:700;color:var(--orange)}
/* The home page is a real table of contents, with watercolor plates beside live Chinese text. */
.home-book{max-width:1080px;padding:0 32px 58px;margin:0 auto}.home-masthead{position:relative;isolation:isolate;min-height:354px;padding:55px 4px 92px;background:none;border:0}.home-masthead::before{content:"";position:absolute;inset:0 -32px -10px;z-index:-1;background:url('/sandstorm/assets/fieldbook-hero.webp') center bottom/cover no-repeat;mix-blend-mode:multiply;pointer-events:none}.home-heading{max-width:650px}.home-title{font-family:var(--book-serif);font-weight:900;font-size:clamp(64px,7.6vw,90px);line-height:1.28;letter-spacing:.015em;margin:0 0 22px;color:var(--orange);text-align:left}.home-subtitle{font-size:18px;line-height:1.95;max-width:33em;margin:0;color:var(--ink);text-align:left;line-break:strict;word-break:normal;overflow-wrap:break-word}.module-list{list-style:none;counter-reset:chapters;padding:0 0 0 44px;margin:0;display:grid;gap:24px;position:relative}.module-list::before{content:"";position:absolute;left:20px;top:62px;bottom:64px;border-left:2px dashed #a7653d;opacity:.7}.module-list>li{position:relative;counter-increment:chapters}.module-list>li::before{content:counter(chapters,decimal-leading-zero);position:absolute;z-index:3;left:-45px;top:59px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fffaf1;font-family:var(--book-serif);font-size:20px;box-shadow:0 0 0 5px var(--paper);pointer-events:none}.module-list>li:nth-child(2)::before{background:var(--book-green)}.module-card{display:block;position:relative;isolation:isolate;min-height:240px;overflow:hidden;padding:30px 34px 32px;background-color:var(--white);border:1px solid #e5d8c3;border-radius:6px 14px 10px 5px;box-shadow:0 5px 16px #674a2620;text-decoration:none;color:var(--ink);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.module-card:hover{transform:translateY(-3px);border-color:#b7956d;box-shadow:0 9px 22px #674a2626}.sequence{display:inline-block;position:relative;z-index:2;min-width:90px;background:#dce2cd;color:#3e4d34;border-radius:4px 1px 6px 2px;padding:3px 14px 4px;font-family:var(--book-serif);font-size:16px;font-weight:700;line-height:1.7;margin-bottom:12px}.module-list>li:nth-child(2) .sequence{background:#ecdbbf}.module-card h2{position:relative;z-index:2;font-family:var(--book-serif);font-weight:900;line-height:1.5;font-size:31px;color:var(--orange);margin:0 0 12px;max-width:100%;word-break:normal}.title-dot{display:inline-block;padding:0 .13em;font-weight:600}.module-name{white-space:nowrap}.module-card p{position:relative;z-index:2;max-width:58%;font-size:16px;line-height:1.9;margin:0;text-align:left;line-break:strict;overflow-wrap:break-word}.module-art{position:absolute;z-index:1;right:3px;bottom:4px;width:42%;height:94%;object-fit:contain;object-position:right bottom;pointer-events:none}.module-arrow{position:absolute;z-index:3;right:22px;bottom:19px;width:43px;height:43px;display:grid;place-items:center;background:var(--book-green);color:#fffaf1;border-radius:50%;box-shadow:0 0 0 5px #fffaf1cc}.module-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Shared chapter masthead and tactile controls. Artwork stays outside the reading surface. */
.fieldbook-page{max-width:1080px;margin:auto;padding:0 28px 38px}.fieldbook-intro{position:relative;isolation:isolate;margin:0 0 24px;padding:36px 190px 28px 2px;min-height:170px;border-bottom:1px solid var(--line)}.fieldbook-intro::after{content:"";position:absolute;z-index:-1;right:0;bottom:0;width:190px;height:166px;background:var(--chapter-art) right center/contain no-repeat;opacity:.83;pointer-events:none}.fieldbook-intro h1{font-size:35px;line-height:1.45;letter-spacing:normal;font-weight:900;margin:0 0 10px}.fieldbook-intro p{font-size:15px!important;line-height:1.9!important;color:var(--muted);max-width:42em;margin:0}.fieldbook-identify{--chapter-art:url('/sandstorm/assets/fieldbook-observe.webp')}.fieldbook-explore{--chapter-art:url('/sandstorm/assets/fieldbook-atlas.webp')}.fieldbook-prevention{--chapter-art:url('/sandstorm/assets/fieldbook-discuss.webp')}.primary,.btn.primary,.send{background:var(--orange);color:#fffaf1;border-color:var(--orange);border-radius:5px 10px 7px 4px;min-height:48px;box-shadow:0 2px 0 #6f3d2420;transition:background .16s ease,transform .16s ease}.primary:hover:not(:disabled),.btn.primary:hover:not(:disabled),.send:hover:not(:disabled){background:var(--orange-dark);border-color:var(--orange-dark);transform:translateY(-1px)}.secondary,.btn.secondary,.text-btn,.small-button,.stop{background:#fffaf1;color:var(--ink);border:1px solid #c5bea8;border-radius:5px 8px 6px 4px;min-height:44px}.secondary:hover:not(:disabled),.small-button:hover:not(:disabled){background:#ececdd}.helper,.sources,.flood-limits{font-size:13px;color:var(--muted);line-height:1.9}.helper summary,.sources summary{min-height:44px}.error{color:#923b23;background:#f8e5d7}.status.active,.selection-count,.task-number{color:var(--orange)}textarea{caret-color:var(--orange);border-color:#b8bca7;background:#fffdf7;border-radius:5px 9px 7px 4px}textarea::placeholder{color:#6a7163;opacity:1}
/* Observe: upload and concept read as facing pages, without adding any lesson copy. */
.fieldbook-identify .workspace{gap:24px}.fieldbook-identify .upload-panel,.fieldbook-identify .result-column{border:1px solid var(--line);border-radius:6px 12px 8px 5px;background:#fffaf3;box-shadow:0 5px 18px #674a2610;padding:24px}.fieldbook-identify .panel-heading h2,.fieldbook-identify .result-head h2{font-family:var(--book-serif);font-size:20px;font-weight:700;color:var(--ink)}.fieldbook-identify .capture{background:#f2eedf;border:1px dashed #aaaf91;border-radius:5px 12px 7px 4px;min-height:240px}.fieldbook-identify .camera-drawing{color:var(--book-green);opacity:.85}.fieldbook-identify .capture strong{font-family:var(--book-serif);font-size:22px;line-height:1.7;color:var(--ink)}.fieldbook-identify .capture p{font-size:14px;line-height:1.9}.fieldbook-identify .capture.has-image{min-height:0}.fieldbook-identify .empty-result{padding:18px 0 2px;min-height:0;background:none}.fieldbook-identify .empty-result h3{font-size:15px;line-height:1.9;font-weight:400;color:var(--muted);margin:0}.fieldbook-identify .result>h3{font-family:var(--book-serif);font-size:38px;font-weight:900;color:var(--orange);line-height:1.5}.fieldbook-identify .knowledge h3{font-size:17px}.fieldbook-identify .knowledge p{font-size:17px;line-height:2}.fieldbook-identify .capture-label{background:#fffaf1;color:var(--ink);border-color:var(--line)}
/* Know: a clean map spread and written response lines. */
.fieldbook-explore .disaster-tabs{gap:10px;margin:0 0 22px}.disaster-tabs button,.topics button{border:1px solid #c7c6b1;border-radius:5px 9px 6px 4px;background:#fffaf2;color:var(--ink);font-size:16px;min-height:46px}.disaster-tabs button[aria-selected=true],.topics button[aria-pressed=true]{background:var(--book-green);border-color:var(--book-green);color:#fffaf1}.fieldbook-explore .distribution-panel{background:#fffaf3;border:1px solid #dccfb9;border-radius:6px 12px 8px 5px;box-shadow:0 5px 22px #674a2612;padding:28px}.distribution-panel h2{font-family:var(--book-serif);font-size:26px;color:var(--ink);font-weight:700}.flood-steps{margin:20px 0 25px;padding:0 0 20px;border-bottom:1px dashed #c9baa0}.flood-steps span{line-height:1.7}.flood-steps span b{border-color:#c5c5af;background:#fffaf1;font-family:var(--book-serif);color:var(--book-green);border-radius:50%;width:27px;height:27px;font-size:13px}.flood-steps [aria-current] b{background:var(--orange);border-color:var(--orange);color:#fffaf1}.flood-steps span[aria-current]{color:var(--orange)}.flood-active .task-head h3{font-size:22px;color:var(--ink);font-weight:600;line-height:1.7}.flood-note{font-size:15px;line-height:1.95}.fieldbook-explore .panel{background:#fffdf8;border-color:var(--line);border-radius:5px 9px 6px 4px}.fieldbook-explore .panel-title{border-color:var(--line);background:#f3eedf}.fieldbook-explore .panel-title h3{font-family:var(--book-sans);font-size:15px}.inquiry-question,.flood-evidence-question{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:20px 0 12px}.inquiry-question h4,.flood-evidence-question h4{font-size:17px;line-height:1.9;margin-bottom:14px}.flood-options{gap:9px;margin:12px 0}.flood-options .region-button{position:relative;width:100%;min-height:48px;padding:12px 14px 12px 39px;border:1px solid #d9d2bf;border-radius:4px 7px 5px 3px;background:#fffdf7;font-size:15px;line-height:1.85;color:var(--ink);text-align:left}.flood-options .region-button::before{content:"";position:absolute;left:14px;top:20px;width:13px;height:13px;border:1px solid #879177;border-radius:50%;background:#fffdf7}.flood-options .region-button[aria-pressed=true]{border-color:#7a8966;background:#edf0e2}.flood-options .region-button[aria-pressed=true]::before{border:4px solid var(--book-green);background:#fffaf1}.flood-guide-feedback{color:#4e6345;border-radius:4px;font-size:14px!important;line-height:1.9!important;margin-top:10px;min-height:0}.flood-guide-feedback:not(:empty){padding:10px 12px;background:#edf0e2}.inquiry-material,.inquiry-season,.flood-evidence-bank{border:1px solid #d5d4bd;border-radius:5px 9px 7px 4px;background:#eff0e3}.inquiry-clues article,.inquiry-flow li{border-radius:4px;background:#fffaf1}.inquiry-flow li{border-color:#c6c9b2}.inquiry-season-strip li{border-radius:4px;border-color:#c9cbb7;background:#fffaf1}.inquiry-season-strip li.season-active{background:#dfe6d2;border-color:#8b9b79;color:var(--ink)}.classroom-conclusion{background:#eaf0df;border-color:#aebc98;border-radius:5px 11px 7px 4px}.classroom-conclusion h3{font-family:var(--book-serif);font-size:23px;color:#435a36}.classroom-conclusion dt{color:#59684e}.feedback{border:1px solid #c9cfb8;border-radius:5px 9px 6px 4px;background:#eff2e5}.fieldbook-explore .task-actions{border-color:var(--line)}.coldwave-map-caption{color:var(--muted);border-color:var(--line)}.coldwave-evidence{padding:2px 0 18px}.coldwave-questions{gap:12px}.coldwave-questions .inquiry-question:first-child,.coldwave-reading>div>.inquiry-question:first-child{border-top:0;padding-top:0}.coldwave-reading .inquiry-question{padding-bottom:0}.flood-image-scroll,.zoom-scroll{background:#fffdf8}.base-region{fill:#eee9da}.region-button[aria-pressed=true]{border-color:#7a8966;background:#e9efdc}
/* Seek: generous dialogue on paper, with a stable composer and clear phase tabs. */
.fieldbook-prevention{max-width:940px}.fieldbook-prevention .fieldbook-intro{margin-bottom:20px}.topics{gap:8px;margin-bottom:17px}.topics button{font-size:15px;padding:10px 16px}.topic-scope{color:var(--orange);font-size:14px;font-weight:600}.engineering-note{font-size:14px;line-height:1.9}.phase-tabs{gap:10px}.phase-tabs button{background:#fffaf2;border:1px solid #c6c8b3;border-radius:4px 8px 5px 3px;font-size:15px;min-height:48px}.phase-tabs button[aria-pressed=true]{background:#e4ead7;border-color:#7d8c67;color:#33472b}.chat{border:1px solid var(--line);border-radius:6px 12px 8px 5px;background:#fffaf3;box-shadow:0 5px 22px #674a2610}.chat-head{border-color:var(--line);background:#f0ecdc;padding:10px 22px}.chat-head h2{font-family:var(--book-serif);font-size:18px;font-weight:700}.messages{height:clamp(340px,48dvh,550px);padding:24px 22px;scrollbar-color:#afb79c transparent}.message{max-width:90%;margin-bottom:22px}.speaker{font-size:12px;color:var(--muted)}.message-body{font-size:16px;line-height:1.95;padding:14px 17px;background:#eff1e4;border:1px solid #dce3cc;border-radius:3px 10px 8px 9px;color:var(--ink)}.user .message-body{background:#f6e7d5;border-color:#e5cdb0;border-radius:10px 3px 9px 8px}.composer-wrap{background:#fffaf3;border-color:var(--line);padding:13px 18px 18px}.discussion-actions button{background:transparent;border-color:#c9c6b2;color:#536047;font-size:13px;min-height:44px;border-radius:4px 7px 5px 3px}.fieldbook-prevention textarea{font-size:16px;min-height:82px;line-height:1.8}.sources a{color:#4f6046}.fieldbook-prevention .error{padding:9px 11px;border-radius:4px}.sources summary::before{color:var(--orange)}
@media(min-width:1250px){.home-masthead{min-height:390px;padding-top:66px}.home-heading{max-width:620px}.module-card{min-height:250px;padding:30px 38px}.module-card h2{font-size:35px}.module-card p{font-size:17px;max-width:57%}.module-art{width:43%;height:100%}.sequence{font-size:17px}.module-list>li::before{top:64px}}
@media(max-width:760px){.fieldbook-header{padding:7px 20px}.fieldbook-header>span{gap:8px}.fieldbook-wordmark{font-size:15px}.fieldbook-page{padding:0 18px 28px}.fieldbook-intro{padding:25px 128px 22px 0;min-height:147px;margin-bottom:20px}.fieldbook-intro::after{width:135px;height:130px;opacity:.78}.fieldbook-intro h1{font-size:27px;line-height:1.55}.fieldbook-intro p{font-size:14px!important;line-height:1.9!important}.home-book{padding:0 18px 36px}.home-masthead{min-height:295px;padding:35px 2px 68px}.home-masthead::before{inset:0 -18px -6px;background-position:58% bottom;background-size:auto 100%;opacity:.91}.home-heading{max-width:550px}.home-title{font-size:62px;line-height:1.35;margin-bottom:13px;letter-spacing:0}.home-subtitle{font-size:15px;line-height:1.95;max-width:30em;background:#f8f2e555;position:relative;max-width:83%}.module-list{padding-left:24px;gap:21px}.module-list::before{left:7px;top:53px;bottom:59px}.module-list>li::before{left:-33px;top:47px;width:35px;height:35px;font-size:17px;box-shadow:0 0 0 4px var(--paper)}.module-card{min-height:220px;padding:21px 16px 25px 20px;border-radius:5px 12px 8px 4px}.sequence{font-size:14px;min-width:77px;padding:2px 11px 3px;margin-bottom:10px}.module-card h2{font-size:24px;line-height:1.55;margin-bottom:12px;white-space:nowrap}.module-card p{max-width:64%;font-size:14px;line-height:1.95}.module-art{width:43%;height:75%;right:-5px;bottom:21px;opacity:.94}.module-arrow{width:34px;height:34px;right:12px;bottom:11px;box-shadow:0 0 0 4px #fffaf1c9}.module-arrow svg{width:19px;height:19px}.fieldbook-identify .upload-panel,.fieldbook-identify .result-column{padding:19px 17px}.fieldbook-identify .workspace{gap:19px}.fieldbook-identify .capture{min-height:205px}.fieldbook-identify .capture strong{font-size:20px}.fieldbook-identify .capture p{font-size:13px}.fieldbook-identify .capture.has-image{height:210px}.fieldbook-identify .empty-result{min-height:0;padding-top:16px}.fieldbook-identify .empty-result h3{font-size:15px;max-width:none}.fieldbook-identify .result>h3{font-size:33px}.fieldbook-identify .knowledge p{font-size:16px}.fieldbook-explore .distribution-panel{padding:22px 15px}.distribution-panel h2{font-size:23px}.fieldbook-explore .disaster-tabs{margin-bottom:19px;gap:8px}.disaster-tabs button{font-size:16px}.flood-active .task-head h3{font-size:19px;line-height:1.8}.flood-steps{padding:0 0 17px;margin-top:18px;gap:14px 7px}.flood-steps span{font-size:12px}.flood-steps span b{width:24px;height:24px}.flood-note{font-size:14px}.flood-options .region-button{font-size:15px;line-height:1.85;padding:11px 12px 11px 35px}.flood-options .region-button::before{left:12px;top:19px;width:12px;height:12px}.inquiry-question h4,.flood-evidence-question h4{font-size:16px}.inquiry-question,.flood-evidence-question{padding:18px 0 12px}.classroom-conclusion h3{font-size:21px}.fieldbook-prevention .fieldbook-intro{padding-right:125px}.topics{gap:7px}.topics button{font-size:14px;padding:9px 12px;min-height:44px}.phase-tabs button{font-size:14px;min-height:46px;padding:10px 7px}.chat-head{padding:8px 14px}.chat-head h2{font-size:16px}.messages{height:clamp(310px,43dvh,420px);padding:20px 13px}.message{max-width:95%;margin-bottom:20px}.message-body{font-size:15px;line-height:1.95;padding:12px 13px}.composer-wrap{padding:11px 12px 14px}.discussion-actions button{font-size:12px}.fieldbook-prevention .send,.fieldbook-prevention .stop{min-width:62px}.fieldbook-prevention textarea{min-height:78px}.fieldbook-intro h1{white-space:normal}}
@media(max-width:380px){.home-title{font-size:54px}.home-subtitle{max-width:88%;font-size:14px}.home-masthead{min-height:288px}.module-card{padding-left:16px}.module-card h2{font-size:21px}.module-card p{font-size:14px;max-width:67%}.module-art{width:43%;right:-10px;bottom:23px;opacity:.86}.fieldbook-wordmark{font-size:14px}.fieldbook-header>span{font-size:11px}.fieldbook-intro{padding-right:98px}.fieldbook-intro::after{width:107px;height:120px;opacity:.65}.fieldbook-intro h1{font-size:25px}.fieldbook-explore .fieldbook-intro h1{font-size:25px}.fieldbook-prevention .fieldbook-intro{padding-right:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep the teacher's full Chinese descriptions clear of the painted subjects. */
.home-subtitle{padding:6px 12px 8px 0;background:#f8f2e5e8;border-radius:4px;box-shadow:-6px 0 12px #f8f2e570}
@media(min-width:1250px){.home-masthead{min-height:430px}.home-masthead::before{background-position:center bottom}}
@media(max-width:760px){.home-masthead{min-height:325px;padding-bottom:82px}.home-subtitle{max-width:86%;background:#f8f2e5e8}.module-card p{max-width:55%}.module-art{width:43%;right:0;bottom:24px;height:72%}.module-card{min-height:226px}.fieldbook-prevention .messages{height:clamp(250px,34dvh,340px)}}
@media(max-width:380px){.module-card p{max-width:56%}.module-art{width:42%;right:-1px;bottom:25px}.home-subtitle{max-width:89%}}

.fieldbook-chapter{min-height:100vh;min-height:100dvh}
/* Chapter interiors share the home page's Chinese lettering, paper and botanical green. */
.fieldbook-header{padding-top:12px;padding-bottom:12px;border-bottom:0;gap:14px}
.fieldbook-header .fieldbook-wordmark{display:inline-flex;align-items:center;gap:7px}
.fieldbook-header .fieldbook-wordmark::before{content:"";width:23px;height:23px;background:url('/sandstorm/assets/fieldbook-mark.svg') center/contain no-repeat}
.fieldbook-header .chapter-marker{padding:3px 10px;background:#dce2cd;color:#3e4d34;border-radius:3px 1px 5px 2px;font-family:var(--book-serif);font-weight:700;font-size:13px;white-space:nowrap}
.fieldbook-page .fieldbook-intro{display:block;min-height:138px;max-width:none;padding:27px 145px 25px 0;margin:0 0 25px;border-bottom:1px solid var(--line)}
.fieldbook-page .fieldbook-intro::before{content:"";position:absolute;bottom:-2px;left:0;width:82px;height:5px;background:#ba7750;border-radius:70% 25% 65% 20%;opacity:.7;pointer-events:none}
.fieldbook-page .fieldbook-intro h1{font-size:38px;line-height:1.5;margin-bottom:8px;word-break:normal}
.fieldbook-page .fieldbook-intro p{font-size:15px!important;line-height:1.9!important;max-width:48em;line-break:strict}
.fieldbook-page .fieldbook-intro::after{display:block;width:130px;height:123px;bottom:8px;opacity:.9}
.fieldbook-page .primary,.fieldbook-page .btn.primary,.fieldbook-page .send{background:var(--book-green);border-color:var(--book-green);color:#fffaf1;box-shadow:0 3px 8px #39452d12;border-radius:4px 8px 6px 3px}
.fieldbook-page .primary:hover:not(:disabled),.fieldbook-page .btn.primary:hover:not(:disabled),.fieldbook-page .send:hover:not(:disabled){background:#4a583b;border-color:#4a583b}
.fieldbook-page .secondary,.fieldbook-page .btn.secondary,.fieldbook-page .text-btn,.fieldbook-page .small-button{border-color:#c9bea8;background:#fffaf1;border-radius:4px 7px 5px 3px}
.fieldbook-page .secondary:hover:not(:disabled),.fieldbook-page .btn.secondary:hover:not(:disabled),.fieldbook-page .text-btn:hover:not(:disabled),.fieldbook-page .small-button:hover:not(:disabled){background:#edeedc;border-color:#899373}
.fieldbook-identify .upload-panel,.fieldbook-identify .result-column,.fieldbook-explore .distribution-panel,.fieldbook-prevention .chat{background:#fffaf1;border-color:#d8c9ae;border-radius:4px 14px 8px 4px;box-shadow:0 7px 20px #674a2612}
.fieldbook-identify .panel-heading h2,.fieldbook-identify .result-head h2{background:#e6e9d8;border-radius:2px 5px 2px 4px;padding:3px 9px;margin-left:-3px;font-size:20px;line-height:1.6}
.fieldbook-identify .result-column{align-self:start}
.fieldbook-identify .result-head{padding-bottom:15px;border-bottom-style:dashed;gap:10px}
.fieldbook-identify .status{font-size:12px;color:#59664c;white-space:nowrap}
.fieldbook-identify .status.active{color:var(--orange)}
.fieldbook-identify .capture{position:relative;min-height:220px;background:#f5f1e5;border:1px solid #d5cfb9;border-radius:2px;padding:30px 22px}
.fieldbook-identify .capture::before,.fieldbook-identify .capture::after{content:"";position:absolute;width:23px;height:23px;pointer-events:none;border-color:#7f8e6d;border-style:solid}
.fieldbook-identify .capture::before{top:9px;left:9px;border-width:2px 0 0 2px}
.fieldbook-identify .capture::after{right:9px;bottom:9px;border-width:0 2px 2px 0}
.fieldbook-identify .capture.has-image{min-height:0;padding:0;background:#f5f1e5}
.fieldbook-identify .capture.has-image::before,.fieldbook-identify .capture.has-image::after{display:none}
.fieldbook-identify .capture strong{font-size:23px;font-weight:700}
.fieldbook-identify .empty-result{padding:18px 0 2px;min-height:0;background:none}
.fieldbook-identify .empty-result h3{font-size:15px;font-weight:400;max-width:none;color:var(--muted)}
.fieldbook-identify .knowledge h4{font-weight:500;color:var(--muted);margin:0 0 8px}
.fieldbook-page .helper,.fieldbook-page .sources{padding-top:7px;margin-top:21px;border-top:1px dashed var(--line)}
/* Matching chapter tabs read like the index tabs of the same book. */
.fieldbook-explore .disaster-tabs,.fieldbook-prevention .topics{display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 23px;padding:0 0 6px;border-bottom:1px solid #c9bea8}
.fieldbook-explore .disaster-tabs button,.fieldbook-prevention .topics button{position:relative;flex:1;min-height:47px;padding:10px 14px;border:1px solid transparent;border-bottom:0;border-radius:5px 7px 0 0;background:transparent;color:var(--muted);font-size:16px;line-height:1.6;white-space:nowrap}
.fieldbook-explore .disaster-tabs button[aria-selected=true],.fieldbook-prevention .topics button[aria-pressed=true]{background:#e1e6d2;border-color:#b2b99d;color:#35462c;font-weight:700}
.fieldbook-explore .disaster-tabs button[aria-selected=true]::after,.fieldbook-prevention .topics button[aria-pressed=true]::after{content:"";position:absolute;bottom:-7px;height:3px;background:#626e4f;left:13px;right:13px;border-radius:3px}
.fieldbook-explore .disaster-tabs button:hover:not(:disabled):not([aria-selected=true]),.fieldbook-prevention .topics button:hover:not(:disabled):not([aria-pressed=true]){background:#ececdd;color:var(--ink)}
.fieldbook-explore .distribution-panel{padding:29px}
.fieldbook-explore .distribution-panel>h2{width:fit-content;max-width:100%;padding:2px 0;margin:0 0 22px;font-size:26px;color:#3e4d34}
.fieldbook-explore .flood-steps{padding:0 0 22px;margin:0 0 25px;gap:14px 10px;border-bottom:1px dashed #c9baa0}
.fieldbook-explore .flood-steps span{gap:8px;font-size:13px;line-height:1.8}
.fieldbook-explore .flood-steps span b{width:29px;height:29px;font-size:14px;border-color:#c1b9a1;background:#fffaf1}
.fieldbook-explore .flood-steps [aria-current] b{background:var(--orange);border-color:var(--orange);color:#fffaf1}
.fieldbook-explore .task-head{margin-bottom:15px}
.fieldbook-explore .task-head h3{font-size:22px;line-height:1.8;margin-top:0;color:var(--ink)}
.fieldbook-explore .task-number{font-family:var(--book-serif);font-variant-numeric:tabular-nums;font-size:14px}
.fieldbook-explore .panel{border-radius:2px;border-color:#d9d1bf;background:#fff}
.fieldbook-explore .panel-title{background:#f5f0e3;border-bottom-style:dashed;padding:12px 16px}
.fieldbook-explore .panel-title h3{font-size:15px;line-height:1.8;color:#48583d}
.fieldbook-explore .coldwave-map-caption,.fieldbook-explore .material-caption{background:#fffaf1;color:var(--muted)}
.fieldbook-explore .inquiry-material{background:transparent;border:0;border-radius:0;padding:0 0 23px;border-bottom:1px solid var(--line)}
.fieldbook-explore .inquiry-clues article{background:transparent;padding:15px 0;border-bottom:1px dashed var(--line);border-radius:0}
.fieldbook-explore .inquiry-season{background:#f3f2e5;border-color:#d5d4ba;border-radius:3px 8px 5px 3px}
.fieldbook-explore .flood-guide-feedback:not(:empty){border-radius:3px 6px 4px 2px;color:#425337}
.fieldbook-explore .classroom-conclusion{border-radius:3px 8px 5px 3px;background:#eef1e2;border-color:#b5bea0}
.fieldbook-explore .classroom-conclusion h3{font-family:var(--book-serif);font-weight:700;color:#3e4d34}
.fieldbook-explore .task-actions{margin-top:24px;padding-top:20px;border-top-style:dashed}
/* The discussion is a notebook conversation, with room for the student's own words. */
.fieldbook-prevention .topic-scope{font-family:var(--book-serif);font-size:16px;color:var(--orange);margin:0 0 7px}
.fieldbook-prevention .engineering-note{margin:0 0 18px;font-size:14px;line-height:1.9}
.fieldbook-prevention .phase-tabs{gap:0;margin:0 0 21px;padding:4px;background:#ebe9d9;border:1px solid #d5cfb9;border-radius:4px 8px 5px 3px}
.fieldbook-prevention .phase-tabs button{background:transparent;border:1px solid transparent;border-radius:3px 6px 4px 2px;font-size:15px;min-height:46px;line-height:1.6}
.fieldbook-prevention .phase-tabs button[aria-pressed=true]{background:#fffaf1;border-color:#b3b89d;color:#35462c;box-shadow:0 2px 5px #4a513514}
.fieldbook-prevention .chat-head{padding:11px 23px;background:#e8ecd9;border-color:#c7cfb3}
.fieldbook-prevention .chat-head h2{font-family:var(--book-serif);font-size:19px;color:#3e4d34}
.fieldbook-prevention .chat-head button{font-size:13px;color:#4d5a40}
.fieldbook-prevention .messages{height:auto;min-height:180px;max-height:clamp(320px,46dvh,520px);padding:24px;scrollbar-color:#9ba989 transparent}
.fieldbook-prevention .message{max-width:min(92%,42em);margin-bottom:25px}
.fieldbook-prevention .speaker{width:fit-content;padding:2px 8px;background:#e6e9d8;border-radius:2px 5px 2px 3px;color:#4a583e;font-size:12px;line-height:1.8;margin-bottom:8px}
.fieldbook-prevention .user .speaker{margin-left:auto;background:transparent;padding:0 3px}
.fieldbook-prevention .assistant .message-body{background:transparent;border:0;border-radius:0;padding:0 2px;font-size:16px;line-height:2}
.fieldbook-prevention .user .message-body{background:#f3e6d3;border-color:#dfc9a9;border-radius:7px 2px 6px 4px;padding:11px 15px;font-size:16px;line-height:1.9}
.fieldbook-prevention .pending .message-body{color:var(--muted);font-size:14px}
.fieldbook-prevention .composer-wrap{background:#fcf8ed;border-top:1px dashed #cdbfa4;padding:15px 20px 20px}
.fieldbook-prevention .discussion-actions{gap:9px;margin-bottom:12px}
.fieldbook-prevention .discussion-actions button{background:#f5f3e7;color:#536047;border-color:#c5c9b1;font-size:13px}
.fieldbook-prevention textarea{background:#fffdf7;border-color:#aab397;border-radius:3px 7px 5px 3px;font-size:16px;line-height:1.9;min-height:86px;padding:12px}
@media(min-width:761px){.fieldbook-prevention{max-width:916px}}
@media(max-width:760px){
 .fieldbook-header{padding:10px 18px;gap:10px}.fieldbook-header>span{gap:7px}.fieldbook-header .fieldbook-wordmark{gap:4px;font-size:15px}.fieldbook-header .fieldbook-wordmark::before{width:20px;height:20px}.fieldbook-header .chapter-marker{font-size:12px;padding:2px 7px}
 .fieldbook-page{padding:0 18px 28px}.fieldbook-page .fieldbook-intro{padding:19px 0 22px;margin-bottom:22px;min-height:175px}.fieldbook-page .fieldbook-intro h1{font-size:29px;line-height:1.55;margin-bottom:8px}.fieldbook-page .fieldbook-intro p{font-size:14px!important;line-height:1.95!important;max-width:calc(100% - 108px)}
 .fieldbook-page .fieldbook-intro::after{width:93px;height:90px;bottom:18px}
 .fieldbook-identify .capture{min-height:195px;padding:23px 13px}.fieldbook-identify .capture.has-image{min-height:0;padding:0}.fieldbook-identify .capture strong{font-size:21px}
 .fieldbook-identify .upload-panel,.fieldbook-identify .result-column{padding:20px 17px}.fieldbook-identify .workspace{gap:19px}.fieldbook-identify .panel-heading h2,.fieldbook-identify .result-head h2{font-size:19px}.fieldbook-identify .empty-result{padding-top:16px}
 .fieldbook-explore .disaster-tabs,.fieldbook-prevention .topics{gap:3px;margin-bottom:22px}.fieldbook-explore .disaster-tabs button,.fieldbook-prevention .topics button{font-size:15px;min-height:46px;padding:9px 7px}
 .fieldbook-explore .distribution-panel{padding:23px 16px}.fieldbook-explore .distribution-panel>h2{font-size:23px;margin-bottom:20px}.fieldbook-explore .flood-steps{gap:13px 9px;margin:0 0 22px;padding-bottom:21px}.fieldbook-explore .flood-steps span{font-size:12px;gap:7px}.fieldbook-explore .flood-steps span b{width:26px;height:26px;font-size:13px}.fieldbook-explore .task-head h3{font-size:20px;line-height:1.85}.fieldbook-explore .panel-title{padding:10px 12px}
 .fieldbook-prevention .engineering-note{font-size:13px;margin-bottom:16px}.fieldbook-prevention .topic-scope{font-size:15px}.fieldbook-prevention .phase-tabs{margin-bottom:19px}.fieldbook-prevention .phase-tabs button{font-size:14px;min-height:44px;padding:8px 4px}
 .fieldbook-prevention .chat-head{padding:9px 15px}.fieldbook-prevention .chat-head h2{font-size:17px}.fieldbook-prevention .chat-head button{font-size:12px}.fieldbook-prevention .messages{min-height:195px;max-height:clamp(280px,38dvh,380px);padding:21px 17px}.fieldbook-prevention .message{max-width:95%}.fieldbook-prevention .assistant .message-body,.fieldbook-prevention .user .message-body{font-size:15px}.fieldbook-prevention .composer-wrap{padding:13px 13px 16px}.fieldbook-prevention .discussion-actions button{font-size:12px}.fieldbook-prevention textarea{min-height:84px}.fieldbook-prevention .send,.fieldbook-prevention .stop{min-width:62px}
}
@media(max-width:380px){
 .fieldbook-header .fieldbook-wordmark::before{display:none}.fieldbook-header .chapter-marker{padding:2px 6px}.fieldbook-header>span{gap:6px}.fieldbook-page .fieldbook-intro h1{font-size:27px}.fieldbook-page .fieldbook-intro p{max-width:calc(100% - 92px)}.fieldbook-page .fieldbook-intro::after{width:78px;height:85px}
 .fieldbook-prevention .topics{gap:2px}.fieldbook-prevention .topics button{font-size:14px;padding:9px 4px}.fieldbook-identify .result-head h2{font-size:18px}.fieldbook-identify .status{font-size:11px}
}
/* Teacher map inquiries retain original images and separate seasonal evidence. */
:is(.drought-steps,.typhoon-steps){grid-template-columns:repeat(4,minmax(0,1fr))}
:is(#drought-task,#typhoon-task):focus{outline:none}
.fieldbook-explore :is(.drought-material,.typhoon-material){margin:0}
:is(.drought-map,.typhoon-map){display:block;width:100%;height:auto}
:is(.drought-caption,.typhoon-caption){font-size:14px;line-height:1.9;color:var(--muted);margin:0;padding:12px 16px;border-top:1px solid var(--line);background:#fffaf1}
:is(.drought-reading,.typhoon-reading)>.inquiry-question,:is(.drought-reading,.typhoon-reading)>div>.inquiry-question{padding-top:0;border-top:0}
:is(.drought-evidence,.typhoon-evidence){font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 18px}
.fieldbook-explore :is(.drought-season,.typhoon-season){margin:0 0 24px}
.drought-season-cases{margin:18px 0}
.drought-season-cases>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;padding:13px 0;border-top:1px solid #d5d4ba;font-size:16px;line-height:1.9}
.drought-season-cases dt{font-weight:600;color:#48583d}
.drought-season-cases dd{margin:0}
:is(.drought-review,.typhoon-review) h3{font-family:var(--book-serif);font-size:21px;line-height:1.8;margin:26px 0 12px}
:is(.drought-review,.typhoon-review) ul{padding-left:22px;margin:0;font-size:15px;line-height:1.95}
:is(.drought-review,.typhoon-review) li{margin:7px 0}
:is(#drought-dialog,#typhoon-dialog){width:min(96vw,1400px);max-height:92dvh;border:1px solid var(--line);border-radius:6px 12px 8px 5px;background:var(--white);color:var(--ink);padding:0}
:is(#drought-dialog,#typhoon-dialog)::backdrop{background:rgba(20,35,28,.6)}
:is(#drought-dialog,#typhoon-dialog) :is(.drought-map,.typhoon-map){max-width:none;width:1290px;height:auto}
:is(#drought-dialog,#typhoon-dialog) .dialog-head h2{font-size:18px;line-height:1.6}
@media(max-width:600px){:is(.drought-steps,.typhoon-steps){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.drought-reading,.typhoon-reading){gap:22px}:is(.drought-material,.typhoon-material) .panel-title{gap:8px}:is(.drought-material,.typhoon-material) .small-button{white-space:nowrap}.drought-season-cases>div{grid-template-columns:48px minmax(0,1fr);gap:10px;font-size:15px}}
/* Drought starts with a qualitative water comparison; the map appears only in the summary. */
.fieldbook-explore .drought-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.drought-comparison{border-collapse:collapse;table-layout:fixed;width:100%;max-width:760px;font-size:16px;line-height:1.9;margin:22px 0 10px}
.drought-comparison caption{text-align:left;font-weight:600;font-size:18px;margin-bottom:13px;color:var(--ink)}
.drought-comparison th,.drought-comparison td{padding:14px 12px;text-align:center;border:1px solid #d5d4bd}
.drought-comparison thead th{background:#e8ecd9;color:#3e4d34;font-weight:600}
.drought-comparison tr>*:first-child{width:30%}
.drought-comparison tbody th{background:#f4f0e4;font-weight:500}
.drought-comparison td{background:#fffdf7}
.drought-region-clues{margin:22px 0 25px}
.drought-region-clues h3{font-size:19px;line-height:1.8;margin:0 0 14px}
.drought-region-clues dl{margin:0}
.drought-region-clues dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px dashed var(--line);font-size:16px;line-height:1.9}
.drought-region-clues dt{font-weight:600;color:#48583d}
.drought-region-clues dd{margin:0}
.drought-review>p{font-size:15px;line-height:1.95;margin:0 0 15px}
@media(max-width:600px){.fieldbook-explore .drought-steps span{flex-direction:column;align-items:flex-start;gap:7px}.drought-comparison{font-size:14px}.drought-comparison th,.drought-comparison td{padding:11px 7px}.drought-comparison caption{font-size:17px}.drought-region-clues dl>div{grid-template-columns:90px minmax(0,1fr);gap:12px;font-size:15px}.drought-region-clues h3{font-size:18px}}
/* Student reasoning unfolds one prompt at a time, within the existing first page. */
#inquiry-task:focus{outline:none}
.drought-guidance{max-width:800px}
.guide-position{display:flex;justify-content:space-between;gap:15px;font-size:13px;line-height:1.8;color:var(--muted);margin:20px 0 16px}
.drought-guide-options[data-mode=multiple] .region-button::before{border-radius:2px}
.guide-tools{margin:16px 0 0}
.guide-tools button{font-size:13px}
.guide-hint{font-size:15px;line-height:1.9;padding:13px 15px;background:#f4eee0;border:1px dashed #c9baa1;border-radius:3px 7px 4px 2px;color:#5d5c43;margin:12px 0}
.drought-guidance .guide-feedback{margin:18px 0 0}
.guide-controls{display:flex;justify-content:flex-end;gap:10px;margin:20px 0 0}
.guide-controls .secondary{margin-right:auto}
.guide-result{margin:26px 0 0;padding-top:22px;border-top:1px dashed var(--line)}
.guide-result h4{font-family:var(--book-serif);font-size:20px;line-height:1.8;margin:0 0 14px}
.guide-result dl{margin:0}
.guide-result dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;font-size:15px;line-height:1.9;padding:12px 0;border-bottom:1px dashed var(--line)}
.guide-result dt{font-weight:600;color:#48583d}
.guide-result dd{margin:0}
.guide-result>p{font-size:15px;line-height:1.95;margin:18px 0 0}
@media(max-width:600px){.guide-position{margin-top:17px;font-size:12px}.guide-result h4{font-size:18px}.guide-result dl>div{grid-template-columns:100px minmax(0,1fr);gap:11px}.guide-controls .primary,.guide-controls .secondary{font-size:14px;padding:11px 15px}}

/* Question headings receive programmatic focus after moving between prompts. */
#flood-task:focus{outline:none}

/* Module labels share one complete, locally hosted title subset. */

.module-list>li:nth-child(4)::before{background:var(--book-green)}
.module-list>li:nth-child(4) .sequence{background:#ecdbbf}

@font-face{font-family:FieldbookModules;src:url("/sandstorm/assets/fieldbook-modules-v4.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}
.module-card h2,.fieldbook-intro h1,.quiz-intro h1{font-family:FieldbookModules,var(--book-serif);font-weight:900;letter-spacing:normal}

@font-face{font-family:FieldbookBrand;src:url("/sandstorm/assets/fieldbook-brand-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:FieldbookBrand;src:url("/sandstorm/assets/fieldbook-brand-900.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}
.home-title,.fieldbook-wordmark{font-family:FieldbookBrand,var(--book-serif)}

/* Module four uses the same responsive illustration size and placement as the other cards. */

.fieldbook-homework{--chapter-art:url('/sandstorm/assets/fieldbook-homework.webp')}

/* Homework opens directly with the assignment brief, without an extra visible activity heading. */
.fieldbook-homework .fieldbook-intro{min-height:126px;padding-top:22px}
@media(max-width:760px){.fieldbook-homework .fieldbook-intro{min-height:120px;padding-top:17px}}
@font-face{font-family:FieldbookModules;src:url("/sandstorm/assets/fieldbook-homework-extension.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap;unicode-range:U+8BFE,U+540E,U+5EF6,U+4F38}
