@charset "UTF-8";
:root{--ink:#243954;--ocean:#0664e8;--deep:#163a66;--foam:#e5f2fa;--paper:#fff3d5;--teal:#1d5b8f;--gold:#efbf50;--orange:#b9492b;--line:#dccba4;--muted:#736d5d}
body{background:#e7f1f4}.topbar{background:#fff3d5;position:relative;z-index:2;border-bottom:1px solid #d8b25b}.brand-icon{background:var(--deep);border:2px solid #dfb252;color:#ffe1a0}.brand small{color:#856c40}.exam-link{background:var(--deep);color:#ffe1a0}.topbar .exam-mode{color:#ae4428}.archipelago-hero{height:440px;position:relative;isolation:isolate;background:#087bea;color:white;overflow:hidden}.hero-copy{position:absolute;z-index:1;left:5vw;top:65px;width:340px;pointer-events:none}.hero-copy .eyebrow{color:#fff0bd;font-size:10px}.hero-copy h1{font-size:39px;margin-bottom:15px;text-shadow:0 2px 8px #174c9020;line-height:1.55}.hero-copy h1 span{color:#ffe399}.hero-copy p{font-size:14px;line-height:1.9;color:#e7f5ff}.hero-copy small{display:block;color:#fff1c5;font-size:10px;margin-top:28px}#island-world{position:absolute;left:29%;top:0;width:71%;height:100%;overflow:hidden}#island-world canvas{display:block}.world-label{position:absolute;pointer-events:none;transform:translate(-50%,-100%);color:var(--deep);background:#fff2d5ec;border:1px solid #d8af53;border-radius:5px;font:700 11px var(--mono);padding:2px 7px;box-shadow:0 2px 0 #153c6d22}.world-loading,.world-fallback{margin:120px 30px;text-align:center;color:#fff6d6}.world-fallback{font-size:13px}.world-controls{position:absolute;bottom:16px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#e4f1ff;z-index:2}.world-controls button{background:#fff3d5ed;border:1px solid #f3d37e;color:var(--deep);font-size:11px;padding:7px 12px;border-radius:5px}.quest-shell{max-width:1440px;margin:32px auto;padding:0 30px}.quest-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:20px}.quest-toolbar h2{font:700 23px/1.5 var(--display);margin:0}.quest-toolbar .eyebrow{margin-bottom:6px}label{display:block;font-size:12px;font-weight:700;color:var(--ink)}select{display:block;max-width:100%;width:100%;padding:12px 30px 12px 12px;color:var(--ink);border:1px solid var(--line);background:var(--paper);font:14px var(--body);border-radius:4px;margin-top:6px}.quest-toolbar label{max-width:380px;flex:0 1 380px}.voyage{display:flex;align-items:stretch;margin:24px 0 20px;border:1px solid var(--line);background:var(--paper);border-radius:6px;overflow:hidden;scroll-margin-top:20px}.voyage-label{background:var(--deep);color:#f6d382;display:grid;place-items:center;font-size:12px;padding:0 24px;white-space:nowrap}.voyage button{flex:1;border:0;border-left:1px solid var(--line);padding:15px 12px;background:transparent;font-size:14px;color:var(--muted);text-align:center}.voyage b{font:15px var(--mono);margin-right:8px;color:#9b7941}.voyage button.active{background:#eed59a;color:var(--ink);font-weight:800;box-shadow:inset 0 -3px 0 #a87825}.voyage button:disabled{opacity:.55}.event-card{border-radius:6px;background:#fffbef;border-color:#d8c79f;padding:22px 28px;box-shadow:0 4px 0 #c7b98917}.event-card h2{font-size:28px}.event-card .trigger{font-size:16px}.event-top{margin-bottom:7px}.stamp{color:#84612b;border-color:#bd9347}.adaptation-note{font-size:11px;color:var(--muted);margin:10px 0 24px}.challenge{background:#fffbef;border:1px solid var(--line);border-radius:7px;padding:28px}.challenge-title{display:flex;justify-content:space-between;gap:28px;align-items:start}.challenge-title h3{font:700 25px/1.5 var(--display);margin-bottom:8px}.challenge-title p{font-size:14px;margin-bottom:10px;max-width:850px;color:#656451}.challenge-title>span{font:12px var(--mono);color:#927131;white-space:nowrap;background:#f6e9c7;padding:8px 12px;border-radius:4px}.drag-help{font-size:12px;padding:12px 15px;background:#e8f0ef;border-radius:4px;color:#446277;margin:12px 0 22px}.drag-workspace{display:grid;grid-template-columns:minmax(250px,35%) minmax(0,1fr);gap:24px;align-items:start}.module-bank{background:#e6edf0;border:1px solid #c5d6dd;padding:17px;border-radius:6px;min-height:170px}.module-bank>h4{font-size:14px;margin:0 0 14px;color:var(--deep)}.module-bank small{font-weight:400;font-size:11px;float:right;padding-top:2px}.drag-card{display:flex;gap:10px;width:100%;font-size:13px;line-height:1.7;color:var(--ink);border:1px solid #d5be86;background:#fff5d9;box-shadow:0 3px 0 #b2a07a20;border-radius:5px;text-align:left;padding:13px 12px;margin-bottom:10px;cursor:grab;touch-action:none;user-select:none;transition:box-shadow .15s,border-color .15s}.drag-card:active{cursor:grabbing}.drag-card:hover{border-color:#ba8730;box-shadow:0 4px 10px #856f4020}.drag-card.carrying{outline:3px solid var(--gold);background:#ffedb4}.grip{font:19px var(--mono);color:#a28d60;flex:0 0 12px}.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.drop-zone{padding:14px;border:2px dashed #c7b789;background:#f7f0dc;border-radius:5px;min-height:144px}.drop-zone h4{font-size:13px;margin:0 0 9px;color:#2b5373}.drop-placeholder{font-size:12px;color:#94886c;display:block;padding:11px 0}.drop-zone.filled{border:1px solid #c7b789;background:#f7eed6;padding:15px}.drop-zone .drag-card{box-shadow:none;font-size:12px;padding:10px 8px;margin:0 0 9px;background:#fffaf0}.drop-zone:nth-child(3),.phase-0 .drop-zone:nth-child(6),.phase-0 .drop-zone:nth-child(7),.phase-0 .drop-zone:nth-child(8){grid-column:auto}.phase-0 .drop-zone:nth-child(3),.phase-1 .drop-zone:last-child,.phase-2 .drop-zone:last-child{grid-column:1/-1}.phase-0 .drop-zone:nth-child(-n+3){border-color:#a7c6d2;background:#eaf1f2}.drop-zone.drag-over,.module-bank.drag-over{border:2px solid #d09529;background:#fbe3a0;box-shadow:0 0 0 4px #e5b64433}.place-here{font-size:10px;border:1px solid #c9b98d;background:#fff8e7;color:#74623a;padding:6px 9px;line-height:1.4;border-radius:3px}.place-here:hover{background:#f5dfaa}.board-note{font-size:11px;color:var(--muted);margin:14px 0 0}.reference{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:12px}.reference p{margin:10px 0}.workshop-status{color:var(--deep);font-size:14px;min-height:36px;padding:18px 0}.workshop-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 24px}.workshop-actions>span{font-size:11px;color:var(--muted)}.workshop-actions .primary,.treasure-actions .primary{background:#efbf50;color:#193755;border:1px solid #d6a344;box-shadow:0 3px 0 #b58a32;border-radius:4px}.secondary{border-radius:4px}.teaching-note{padding:16px 20px;background:#dfe9ec;font-size:12px;border-left:3px solid #2f6286;line-height:1.9;margin-top:26px}.teaching-note strong{display:block}.pilot-draft{padding:20px;background:#edf3f3;border:1px solid #c7d6d9;border-radius:5px;margin-top:20px}.pilot-draft h4{font:700 19px var(--display);margin:0 0 10px}.pilot-draft p{font-size:12px;color:#63747a}.pilot-draft label+label{margin-top:14px}textarea{display:block;width:100%;padding:12px;font:14px/1.8 var(--body);border:1px solid #b9cbd0;background:#fffcf3;color:var(--ink);resize:vertical;min-height:85px;border-radius:4px;margin-top:7px}textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.submission{padding:24px;background:#fff1d0;border:1px solid #c8a359;border-radius:6px}.submission h3{font-size:20px}.submission p{font-size:13px}.treasure{border:2px solid #d0a14b;background:#fff6dc;padding:32px;border-radius:8px;box-shadow:0 7px 0 #c1a96f25;scroll-margin-top:25px}.treasure-head{display:flex;align-items:center;gap:25px;margin-bottom:26px}.treasure-head h3{font:700 28px/1.5 var(--display);margin-bottom:8px}.treasure-head p:last-child{font-size:13px;color:var(--muted);margin:0}.chest{display:grid;place-items:center;width:90px;height:90px;border:3px double #f2ca6d;box-shadow:0 4px 0 #886a2b;background:var(--deep);color:#f8d078;font:58px var(--display);border-radius:10px;flex-shrink:0}.treasure-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.treasure-form textarea{min-height:92px}.prompt-output{min-height:480px;max-height:700px;background:#fffdf7;font:13px/1.85 var(--mono);color:#314552;padding:22px;border-color:#d7bc79}.draft-warning{font-size:12px;color:#896428;margin:18px 0 14px}.treasure-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.exam-landing{background:none}.exam-ticket{border-radius:8px;overflow:hidden}.exam-cover{background:#173a65}.exam-rules{background:#fff5da}.exam-rules label{margin-bottom:16px}.exam-rules ol{font-size:13px}.exam-rules>p{font-size:12px}.evidence{padding:18px 20px;background:#f5f4e9;border:1px solid #d9d3b9;border-radius:5px}.evidence a{color:#1b5b8d}footer{border-color:#cbd7d8}.topbar nav a[aria-current]{border-color:#aa7d27}
@media(max-width:1100px){.hero-copy{width:280px}.hero-copy h1{font-size:33px}#island-world{left:31%;width:69%}.quest-shell{padding:0 24px}.quest-toolbar h2{font-size:20px}.voyage-label{padding:0 15px}.voyage button{font-size:12px;padding:14px 8px}.voyage b{font-size:12px;margin-right:5px}.challenge{padding:22px}.drag-workspace{grid-template-columns:minmax(220px,35%) 1fr;gap:17px}.drop-zone{padding:10px}.drop-zone.filled{padding:11px}}
@media(max-width:760px){.archipelago-hero{height:520px}.hero-copy{top:28px;left:6vw;width:85%;}.hero-copy h1{font-size:29px;line-height:1.4;margin-bottom:8px}.hero-copy h1 br{display:none}.hero-copy p{font-size:12px;display:inline}.hero-copy small{margin-top:12px;font-size:9px}#island-world{top:180px;left:0;width:100%;height:320px}.world-controls{bottom:10px}.world-controls>span{display:none}.world-label{font-size:9px;padding:1px 5px}.quest-shell{margin:22px 0;padding:0 5vw}.quest-toolbar{display:block}.quest-toolbar label{margin-top:18px;max-width:none}.quest-toolbar h2{font-size:20px}.voyage{display:grid;grid-template-columns:1fr 1fr}.voyage-label{grid-column:1/-1;padding:7px;font-size:10px}.voyage button{font-size:12px;padding:12px 8px;border-bottom:1px solid var(--line)}.event-card{padding:18px}.event-card h2{font-size:23px}.event-card .trigger{font-size:15px}.adaptation-note{font-size:10px}.challenge{padding:16px}.challenge-title{display:block}.challenge-title h3{font-size:22px}.challenge-title p{font-size:13px}.challenge-title>span{display:inline-block;margin:5px 0}.drag-help{font-size:11px;margin:12px 0 16px;padding:10px}.drag-workspace{display:block}.module-bank{max-height:330px;overflow-y:auto;margin-bottom:18px;padding:13px}.drag-card{font-size:12px;padding:12px}.zone-grid{grid-template-columns:1fr}.zone-grid .drop-zone{grid-column:1}.drop-zone{min-height:115px}.drop-zone.filled{min-height:115px}.drop-zone .drag-card{font-size:12px}.place-here{font-size:11px;padding:7px 10px}.workshop-actions{flex-wrap:wrap;gap:12px}.workshop-actions>span{order:3;width:100%;font-size:10px}.workshop-actions .primary{margin-left:auto;font-size:12px;padding:11px 14px}.workshop-actions .secondary{font-size:12px;padding:11px}.pilot-draft{padding:15px}.treasure{padding:20px}.treasure-head{gap:14px;align-items:start}.chest{width:54px;height:60px;font-size:38px;border-radius:6px}.treasure-head h3{font-size:22px}.treasure-head p:last-child{font-size:12px}.treasure-form{grid-template-columns:1fr;gap:18px}.prompt-output{min-height:400px;font-size:12px;padding:15px}.treasure-actions{gap:10px}.treasure-actions button{font-size:12px}.exam-landing{padding:0 5vw;margin-top:25px}.evidence{padding:14px}.teaching-note{font-size:11px}.topbar nav{font-size:11px;gap:12px}}
@media(prefers-reduced-motion:reduce){.archipelago-hero *{animation:none!important}}

/* Tactile interaction: raised pieces above recessed sockets. */
.drag-lesson{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 28px;padding:20px 23px;background:#e0edf2;border:1px solid #abc3cf;border-radius:12px;box-shadow:inset 0 2px 0 #ffffffb3,0 4px 0 #b9cdd442}.drag-lesson-copy>strong{display:block;font-size:17px;color:#173e63;margin-bottom:10px}.drag-lesson-copy>span{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#265070;font-size:13px}.drag-lesson-copy i{font-style:normal;color:#a77825}.drag-lesson-copy>small{display:block;font-size:11px;color:#607282;margin-top:10px}.drag-demo{flex:0 0 195px;height:85px;position:relative;background:#d1e0e6;border-radius:10px;box-shadow:inset 0 2px 5px #526d8033;overflow:hidden}.demo-origin{position:absolute;top:27px;left:12px;width:53px;height:38px;border:2px dashed #98b1bf;border-radius:6px}.demo-track{position:absolute;left:77px;top:21px;font-size:24px;color:#607c8e}.demo-socket{position:absolute;right:12px;top:20px;width:66px;height:50px;display:grid;place-items:center;border:2px dashed #7898ab;border-radius:8px;font-size:23px;color:#7898ab;background:#b6cbd5;box-shadow:inset 0 4px 5px #5a778f44,inset 0 -2px 0 #eff8ff}.demo-block{position:absolute;top:18px;left:15px;display:grid;place-items:center;width:53px;height:39px;border:1px solid #a97f35;border-bottom:5px solid #ac7d2c;background:linear-gradient(#fff1b9,#edc05e);border-radius:6px;color:#765120;line-height:1;font-size:20px;box-shadow:0 6px 9px #3d566648;animation:demo-move 3.4s 2 ease-in-out}.demo-block small{font-size:8px;line-height:1}.demo-hand{position:absolute;top:43px;left:45px;color:#153d66;font-size:25px;text-shadow:0 1px white;animation:demo-hand-move 3.4s 2 ease-in-out}@keyframes demo-move{0%,12%,100%{transform:translate(0,0)}25%{transform:translate(0,-5px) rotate(-4deg)}65%,80%{transform:translate(110px,5px) rotate(0deg)}}@keyframes demo-hand-move{0%,12%,100%{transform:translate(0,0)}25%{transform:translate(0,-5px)}65%,80%{transform:translate(110px,5px)}}
.module-bank{background:linear-gradient(145deg,#a5bfca,#c4d5da);border:1px solid #8da8b5;border-bottom:7px solid #809fac;border-radius:13px;padding:23px 19px 19px;box-shadow:inset 0 3px 5px #526e8030,inset 0 0 0 5px #d4e2e870,0 5px 12px #38536c16}.module-bank>h4{font-size:15px;margin-bottom:21px}.module-bank small{font-size:10px;color:#486779}.drag-card{position:relative;align-items:stretch;gap:14px;background:linear-gradient(160deg,#fff7dd 0%,#ffe6a7 100%);border:1px solid #c29a51;border-bottom:7px solid #c69843;border-radius:12px;padding:15px 15px 15px 12px;margin:0 0 20px;min-height:103px;box-shadow:inset 0 2px 0 #fffdf4,0 3px 0 #a37932,0 7px 0 #826f4230,0 11px 15px #233f5633;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;isolation:isolate}.drag-card::before{content:"";position:absolute;left:73px;top:-6px;width:13px;height:8px;background:#f8d281;border:1px solid #c29a51;border-radius:50% 50% 2px 2px;box-shadow:26px 0 0 -1px #f8d281,26px -1px 0 0 #c29a51;z-index:-1}.module-face{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0}.module-caption{display:block;font:700 10px var(--body);letter-spacing:.08em;color:#98713a;padding-bottom:5px}.grip{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:0 0 44px;align-self:stretch;margin:-2px 0;border:1px solid #123557;border-bottom:4px solid #0f2b48;border-radius:8px;background:linear-gradient(140deg,#3d6d91,#23496a);box-shadow:inset 0 2px 0 #7898ad,0 2px 3px #7c602933;color:#fff1bc;cursor:grab}.grip i{font:normal 28px/1 var(--mono);color:#d2e1e8;text-shadow:0 1px 0 #09243a}.grip small{float:none;color:#fff2ba;font-size:11px;font-weight:800;line-height:1.4;padding-top:4px}.drag-card:hover{transform:translateY(-5px) rotate(-.6deg);border-color:#a97622;background:linear-gradient(150deg,#fff9e5,#ffdf8c);box-shadow:inset 0 2px 0 #fffdf4,0 4px 0 #a37932,0 9px 0 #826f4230,0 16px 24px #233f5640}.drag-card:active{transform:translateY(-8px) rotate(-1deg)}.drag-card.carrying{outline:3px solid #e0a32d;outline-offset:4px;transform:translateY(-8px) rotate(-1deg);box-shadow:0 4px 0 #a37932,0 19px 24px #1339574d}.dragging-module .drag-card.carrying{opacity:.38}.zone-grid{gap:20px}.drop-zone,.phase-0 .drop-zone:nth-child(-n+3){position:relative;min-height:204px;padding:20px 17px 16px;border:2px dashed #8fa8b4;border-radius:14px;background:linear-gradient(145deg,#ccdbe0,#e2edf0);box-shadow:inset 0 5px 8px #4e697c35,inset 0 -3px 0 #fff9,0 2px 0 #fff9}.drop-zone h4{font-size:14px;color:#244c6b;border-bottom:1px solid #8ca7b44d;padding-bottom:10px;margin-bottom:12px}.drop-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:96px;padding:5px;color:#647f8e;text-align:center}.drop-placeholder b{font:30px/1 var(--mono);color:#859eab;text-shadow:0 2px 0 #f6fdff}.drop-placeholder>span{font-size:13px;font-weight:700}.drop-placeholder small{font-size:10px;color:#7a919c}.drop-zone .place-here{display:block;margin:8px auto 0;font-size:10px;background:#eff6f6;border-color:#b0c5cd;color:#627c88;padding:5px 10px;border-radius:5px}.drop-zone.filled,.phase-0 .drop-zone.filled:nth-child(-n+3){border:2px solid #91aeb5;padding:20px 17px 16px;background:#c9d9da;box-shadow:inset 0 4px 7px #4e697c35,inset 0 -2px 0 #fff9}.drop-zone .drag-card{padding:12px 10px;min-height:90px;border:1px solid #c29a51;border-bottom:5px solid #c69843;border-radius:10px;background:linear-gradient(160deg,#fff7dd,#ffe6a7);box-shadow:inset 0 2px 0 #fffdf4,0 2px 0 #a37932,0 5px 8px #38506530;gap:10px;margin-bottom:12px}.drop-zone .grip{flex-basis:34px}.drop-zone .grip i{font-size:23px}.drop-zone .grip small{font-size:10px}.drop-zone .module-caption{font-size:9px}.holding-module .drop-zone{border-color:#c79b43;border-style:dashed;box-shadow:inset 0 4px 7px #4e697c2b,0 0 0 3px #efbf5020}.holding-module .drop-placeholder b{color:#bc852b}.drop-zone.drag-over,.phase-0 .drop-zone.drag-over:nth-child(-n+3),.module-bank.drag-over{border:3px solid #d09124;background:#fff0b8;box-shadow:inset 0 3px 7px #ab803e30,0 0 0 6px #efbf504d,0 8px 18px #a7752a2b;transform:scale(1.018)}.drop-zone.drag-over .drop-placeholder>span{font-size:0}.drop-zone.drag-over .drop-placeholder>span::after{content:"放開，積木就會放進來";font-size:14px;color:#8b5b15}.drop-zone.filled.drag-over .drag-card{opacity:.35}.drop-zone.filled.drag-over::after{content:"放開，替換這個模塊";position:absolute;top:50%;left:0;right:0;text-align:center;color:#764e14;font-size:14px;font-weight:800;pointer-events:none}.carry-banner{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000;background:#173e63;color:#fff1bd;border:1px solid #e4be64;border-radius:30px;padding:13px 25px;box-shadow:0 6px 24px #183e6540;font-size:14px;font-weight:700;pointer-events:none;max-width:90vw;white-space:nowrap}.touch-module-ghost{position:fixed!important;z-index:1001!important;width:220px!important;max-width:65vw;pointer-events:none!important;opacity:.88;transform:rotate(-4deg)!important;box-shadow:0 18px 28px #183e6550!important}.placed-now .drag-card{animation:module-land .35s ease-out}@keyframes module-land{0%{transform:translateY(-12px) scale(1.03)}65%{transform:translateY(2px) scale(.99)}100%{transform:translateY(0) scale(1)}}
@media(max-width:760px){.drag-lesson{padding:16px;gap:12px;align-items:start}.drag-lesson-copy>strong{font-size:15px;line-height:1.65}.drag-lesson-copy>span{font-size:11px;gap:6px;display:block}.drag-lesson-copy b{display:block}.drag-lesson-copy i{display:none}.drag-lesson-copy>small{font-size:10px}.drag-demo{flex-basis:90px;width:90px;height:140px}.demo-origin{left:19px;top:10px}.demo-socket{right:12px;top:80px}.demo-track{left:40px;top:48px;transform:rotate(90deg);font-size:20px}.demo-block{left:21px;top:5px;animation-name:demo-mobile}.demo-hand{left:52px;top:31px;animation-name:demo-mobile-hand}@keyframes demo-mobile{0%,12%,100%{transform:translate(0,0)}25%{transform:translate(0,-3px) rotate(-4deg)}65%,80%{transform:translate(0,73px)}}@keyframes demo-mobile-hand{0%,12%,100%{transform:translate(0,0)}25%{transform:translate(0,-3px)}65%,80%{transform:translate(0,73px)}}.module-bank{padding:18px 14px 14px;max-height:390px;margin-bottom:24px}.module-bank>h4{font-size:14px;margin-bottom:19px}.module-bank small{font-size:9px}.drag-card{min-height:98px;font-size:13px;padding:13px 12px;margin-bottom:18px;gap:12px}.grip{flex-basis:42px}.drag-card::before{left:70px}.drop-zone,.drop-zone.filled,.phase-0 .drop-zone:nth-child(-n+3),.phase-0 .drop-zone.filled:nth-child(-n+3){min-height:190px;padding:17px 14px 14px}.drop-zone .place-here{font-size:11px;padding:8px 12px}.carry-banner{font-size:11px;padding:11px 16px;white-space:normal;text-align:center;bottom:16px}.drop-zone.drag-over{transform:none}}
@media(prefers-reduced-motion:reduce){.demo-block,.demo-hand,.placed-now .drag-card{animation:none!important}.drag-card,.drop-zone{transition:none!important}.drag-card:hover,.drag-card.carrying{transform:none}.demo-block{transform:translate(40px,0)}.demo-hand{display:none}}
/* Let the parent draggable piece own the grip hit area. */
.grip,.grip *{pointer-events:none}

/* Learning checkpoints keep each activity tied to a usable outcome. */
.mission-brief,.learning-checkpoint,.treasure-recap{padding:20px 24px;border:1px solid #cfb778;border-left:5px solid #bc8732;border-radius:8px;background:#fff4d7;margin:18px 0;color:#26445a;font-size:14px;line-height:1.8}.mission-brief p,.learning-checkpoint p,.treasure-recap p{margin:8px 0}.learning-checkpoint small,.treasure-recap small{color:#66757b}.learning-checkpoint .prior-conclusion{padding:10px 14px;background:#fffaf0;border-radius:5px}.challenge{scroll-margin-top:24px}.treasure-recap h4{margin:0 0 8px;font-size:18px}.treasure-recap ol{padding-left:23px}.treasure-recap li{margin-bottom:8px}.mission-brief .primary{margin-top:8px}@media(max-width:760px){.mission-brief,.learning-checkpoint,.treasure-recap{padding:16px;font-size:13px}}

/* Guided practice: a small decision with its reason beside it. */
.round-banner{padding:18px 22px;margin:18px 0;border:2px solid #4b819a;background:#e3f0f2;border-radius:12px;color:#21485f}.round-banner .eyebrow{margin:0 0 5px}.round-banner h4{font-size:21px;margin:0}.round-banner p{font-size:14px;margin:7px 0}.round-banner button{font-size:12px;padding:8px 12px}.slot-question{font-size:14px;font-weight:700;color:#21485f;margin:0 0 14px}.slot-feedback{margin-top:16px;padding:13px 14px;border-radius:7px;font-size:13px;line-height:1.8;border:1px solid #759e95;background:#edf6ed;color:#285047}.slot-feedback p{margin:6px 0}.slot-feedback.rethink{border-color:#c89c43;background:#fff3cf;color:#6a4f20}.slot-feedback summary{font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.slot-feedback button{font-size:12px;margin-top:8px;white-space:normal}.holding-module .slot-feedback{opacity:.55}.module-bank{align-self:start}@media(min-width:761px){.module-bank{position:sticky;top:18px;max-height:calc(100vh - 50px);overflow-y:auto}}@media(max-width:760px){.round-banner h4{font-size:18px}.slot-feedback{font-size:12px}}

.concept-check{margin:24px 0;padding:22px;border:2px solid #528698;border-radius:12px;background:#f2f8f8;color:#234a60;scroll-margin-top:24px}.concept-check h4{font-size:20px;margin:6px 0}.concept-check p{font-size:14px;line-height:1.8}.concept-options{display:grid;gap:10px;margin:16px 0}.concept-options button{padding:14px;text-align:left;border:1px solid #a7bec5;border-radius:7px;background:#fffdf1;color:#244657;font:inherit;line-height:1.7}.concept-options button.chosen{outline:3px solid #4c8399;outline-offset:1px}.concept-result{padding:12px 15px;border-radius:7px;background:#fff0d0;border:1px solid #cba55b;margin:16px 0}.concept-result.fits{background:#e7f4eb;border-color:#7da68e}.concept-check small{display:block;line-height:1.8;color:#637b83}

.exam-error-list{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.exam-error-list button{font-size:12px;text-align:left;white-space:normal;padding:10px 14px}.your-answer{padding:10px;background:#fff8;border-radius:5px}.evidence-locked{padding:18px;border:1px dashed #a7bac1;border-radius:8px;color:#607b8a;font-size:13px}.submission h4{font-size:20px;margin:16px 0 8px}

.exam-concepts{margin:24px 0;padding:22px;border:2px solid #7897aa;background:#eff5f6;border-radius:12px;scroll-margin-top:24px}.exam-concepts-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.exam-concepts-heading h4{font-size:20px;margin:0}.exam-concepts-heading span{font-size:12px;white-space:nowrap}.exam-concepts>p{font-size:13px;line-height:1.8}.exam-concept{padding:20px 0;border-top:1px solid #b7cbd3;scroll-margin-top:24px}.exam-concept h5{font-size:16px;line-height:1.9;margin:0 0 15px}.exam-concept .concept-options button{font-size:14px}.exam-concept .concept-result{font-size:13px;line-height:1.85}.exam-concept .concept-result p{margin:8px 0}.first-concept-answer{border-top:1px solid #a1b3b855;padding-top:8px}.exam-concept details summary{cursor:pointer;font-weight:700;text-decoration:underline}.exam-concepts>small{font-size:12px;color:#62798a}.exam-instructions{padding:14px 18px;border-left:4px solid #7b9cae;background:#edf3f5;font-size:13px;line-height:1.8}.treasure-exam-score{padding:14px;background:#e4efe9;border-radius:6px}.concept-options [role=radio]:focus-visible{outline:3px solid #245b7d;outline-offset:3px}

.progress-storage{font-size:16px;line-height:1.8;padding:12px 16px;background:#e8f4ee;border-left:4px solid #19836f;border-radius:6px}.progress-resume{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:16px 0}.progress-resume p{flex:1;min-width:230px}
