:root{font-family:"Noto Sans Thai",Tahoma,system-ui,sans-serif;color:#2d2037;background:#f6f4f8;font-size:14px;--green:#421269;--line:#dfdbe3;--muted:#7b7480}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:white;color:#3e3148;border-radius:7px;padding:8px 12px;transition:.15s}button:hover{background:#eee8f2;border-color:#b2a8ba}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green)}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:#fff}#brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#2a1c36}#brand strong{font-size:19px;letter-spacing:-.5px}#brand b{font-weight:500}#brand small{display:block;font-size:11px;letter-spacing:1.2px;color:var(--muted);margin-top:3px}.logo{display:grid;place-content:center;background:#401464;color:white;width:43px;height:46px;border-radius:10px;font-size:31px;font-weight:800;position:relative}.logo span{position:absolute;right:3px;top:0px;font-size:15px;color:#cba8e7}nav{display:flex;gap:10px;align-items:center}nav button{border:none;background:none;font-size:13px}.local{font-size:11px;color:#7b7184;border:1px solid var(--line);padding:6px 10px;border-radius:30px}#home{max-width:1320px;margin:auto;padding:65px 4% 35px}.eyebrow{color:#756384;font-size:11px;font-weight:700;letter-spacing:2px}h1{font-size:clamp(38px,4vw,58px);line-height:1.33;font-weight:600;letter-spacing:-1.8px;margin:19px 0 16px}h1 span{color:#b09a58}.intro{color:#7b7480;line-height:1.8;font-size:16px}.home-meta{display:flex;align-items:center;gap:20px;font-size:12px;color:#665971;margin:25px 0 52px}.home-meta i{font-style:normal;color:#b0a9b5}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:20px;font-weight:500}.section-title>span{font-size:11px;color:var(--muted);letter-spacing:.5px}.cards{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.active-card{box-shadow:0 10px 30px #35254309}.card-photo{height:225px;position:relative;overflow:hidden;background:#eee}.card-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;background:#e1d5db}.badge{position:absolute;top:17px;left:17px;background:#faf3ffe8;color:#4b256b;font-size:11px;border-radius:5px;padding:5px 9px}.card-body{padding:23px}.card-body small{font-size:10px;letter-spacing:1.5px;color:#8f8697}.card-body h2{font-size:21px;font-weight:500;margin:13px 0 9px}.card-body p{font-size:13px;line-height:1.8;color:#807985;margin-bottom:20px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.chips span{font-size:10px;background:#f2eef5;color:#74687e;padding:5px 7px;border-radius:4px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#310951;color:white}.wide{width:100%;text-align:left;padding:12px 15px}.wide span{float:right}.future-art{height:225px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:100px;color:#aea7b4;background:repeating-linear-gradient(45deg,#f0ecf3,#f0ecf3 20px,#ede9f1 20px,#ede9f1 21px)}.future-art small{font-size:10px;letter-spacing:3px;margin-top:10px}.sumo{color:#b4b09f;background:#efeee6}.soon{display:inline-block;font-size:11px;border:1px solid #e0dbe5;padding:7px 12px;border-radius:6px;color:#908a95}.notice{font-size:12px;line-height:1.9;background:#eee9f2;border:1px solid #e0d8e6;color:#7a7e65;padding:13px 17px;border-radius:8px;margin-top:27px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 4%;font-size:10px;color:#8e8694}footer>span{letter-spacing:2px;font-size:9px}footer p{margin:0}#lab{padding:24px 2.5%}.lab-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.lab-title h2{font-size:23px;font-weight:500;margin:8px 0}.title-tools{display:flex;gap:7px}.project-bar{display:flex;gap:7px;align-items:center;margin-bottom:17px;flex-wrap:wrap}.project-bar input{border:1px solid var(--line);border-radius:6px;padding:8px;background:#fff;min-width:0;width:140px}.project-bar #project{width:210px}.project-bar #classroom,.project-bar #number{width:58px}.project-bar #saved{margin-left:auto;font-size:10px;color:#8c8394}.workbench{display:grid;grid-template-columns:minmax(320px,42%) minmax(400px,1fr);gap:14px;align-items:stretch}.editor-panel,.sim-panel,.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.editor-panel{resize:horizontal;overflow:auto;min-width:300px;max-width:80vw}.panel-head{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:10px;min-height:46px}.panel-head strong{font-size:12px;font-weight:600}.tiny{font-size:10px;color:#918a96}.dot{display:inline-block;width:7px;height:7px;background:#8257a5;border-radius:50%;margin-right:7px}.blue{background:#bc6995}.example-bar{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--line);font-size:10px;flex-wrap:wrap}.example-bar select{font-size:11px;border:1px solid var(--line);padding:5px;border-radius:5px;max-width:165px}.example-bar button{font-size:10px;padding:5px 7px}#blockly{height:445px;width:100%;min-width:300px}.editor-bottom{font-size:9px;color:#928c97;padding:8px;border-top:1px solid var(--line)}.viewport-wrap{position:relative;height:365px;background:#eae7ed}#viewport{width:100%;height:100%}#viewport canvas{display:block}.view-buttons{position:absolute;top:13px;left:13px;display:flex;gap:4px}.view-buttons button{font-size:10px;padding:6px 11px;background:#ffffffe8}.view-buttons .selected{background:#422857;color:white;border-color:#422857}.view-label{position:absolute;left:14px;bottom:16px;font-size:9px;letter-spacing:1px;color:#6a5c76;pointer-events:none}.view-label span{font-size:9px;letter-spacing:0;color:#998fa2}.debug{position:absolute;bottom:16px;right:14px;font-size:10px;color:#6a5c75}.debug input{vertical-align:middle}.state{position:absolute;right:13px;top:13px;background:#ffffffbb;padding:6px 9px;border-radius:20px;font-size:10px;color:#645272}.controls{display:flex;align-items:center;gap:7px;padding:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.controls button{font-size:11px}.controls label{margin-left:auto;font-size:10px}.controls select{border:0;background:#f2eff5;padding:5px;border-radius:5px}.telemetry{display:grid;grid-template-columns:repeat(4,1fr);padding:13px 5px}.telemetry>div{padding:0 13px;border-right:1px solid var(--line)}.telemetry>div:last-child{border:0}.telemetry small{display:block;font-size:9px;color:#8a8092;margin-bottom:6px}.telemetry strong{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}.telemetry em{font-size:10px;font-style:normal;color:#9d94a4}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}#sensors{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;padding:16px 13px}.sensor{text-align:center;color:#857c8c;font-size:9px}.sensor strong{display:block;font-size:15px;color:#4b3a59;margin:6px 0;font-weight:500}.sensor progress{width:100%;height:5px;accent-color:#774e99}.sensor-note{font-size:9px;padding:0 13px 12px;color:#978ca0}#events{height:120px;overflow:auto;padding:8px 14px;font-size:10px;line-height:1.8}.event{border-bottom:1px solid #efedf1;padding:4px 0;display:flex;gap:10px}.event time{color:#9c8fa7;min-width:40px}.event small{color:#9a90a3;font-size:9px;margin-left:auto}.results{margin-top:14px}.panel-head button{font-size:10px;padding:5px 9px}.panel-head select{padding:5px;border:1px solid var(--line);font-size:10px;border-radius:4px}textarea{resize:vertical;width:calc(100% - 28px);margin:14px;padding:12px;min-height:70px;border:1px solid var(--line);border-radius:7px;font-size:12px}#history{padding:0 14px 15px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}td,th{border-bottom:1px solid var(--line);padding:10px;vertical-align:top}th{font-weight:500;background:#f1edf4;color:#74687e}dialog{border:1px solid var(--line);border-radius:13px;width:min(940px,95vw);max-height:88vh;padding:0;color:#392946;background:#f9f7fb}dialog::backdrop{background:#21142ba8;backdrop-filter:blur(3px)}.dialog-top{padding:17px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f9f7fb;z-index:1}#dialogBody{padding:22px;line-height:1.9;font-size:13px}#dialogBody h3{font-size:19px;font-weight:500}#dialogBody p{color:#766b7f}.mission{padding:15px;border:1px solid var(--line);border-radius:8px;margin:12px 0;background:white}.mission button{float:right}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery img{width:100%;border-radius:7px}.gallery small{font-size:10px}.settings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.settings label{display:flex;flex-direction:column;gap:4px;font-size:11px}.settings input,.settings select{padding:8px;border:1px solid var(--line);border-radius:6px;background:white}.settings button{align-self:end}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#32243d;color:white;padding:12px 20px;border-radius:8px;font-size:12px;display:none;max-width:90vw;z-index:999}#history button{padding:3px 7px;font-size:10px}@media(min-width:1600px){#blockly{height:520px}.viewport-wrap{height:440px}}@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{grid-column:span 2}.future-art{height:200px}.workbench{grid-template-columns:1fr}.editor-panel{resize:vertical;max-width:100%}.viewport-wrap{height:420px}.lab-title{align-items:start}.title-tools{flex-wrap:wrap}.lower-grid{grid-template-columns:1fr}.local{display:none}footer small{display:none}}@media(max-width:600px){header{height:76px;padding:0 15px}#brand strong{font-size:13px}#brand small{font-size:9px}nav button{font-size:10px;padding:5px}nav button:first-child{display:none}.logo{width:33px;height:36px;font-size:24px}#home{padding:40px 20px}.cards{grid-template-columns:1fr}.cards .card:last-child{grid-column:auto}.home-meta{gap:8px;font-size:9px;margin-bottom:30px}.section-title>span{display:none}.intro{font-size:13px}h1{font-size:39px}.lab-title{flex-direction:column}.lab-title h2{font-size:19px}.title-tools button{font-size:10px}.project-bar #project{width:100%}#lab{padding:18px 10px}.viewport-wrap{height:330px}.view-label span{display:none}.telemetry strong{font-size:15px}.telemetry>div{padding:0 8px}.panel-head{flex-wrap:wrap}.settings{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.tiny{font-size:8px}footer{flex-direction:column;gap:10px;text-align:center}.debug{font-size:8px}.state{font-size:8px}.controls{gap:5px}.controls button{font-size:10px;padding:8px}.results .panel-head>div{display:flex;flex-wrap:wrap;gap:5px}#sensors{gap:4px}.sensor strong{font-size:12px}}@media print{body>*{display:none!important}body>#printArea{display:block!important}#printArea{font-size:12px;color:black;padding:15px}#printArea h1{font-size:24px}#printArea table{font-size:10px}#printArea pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:8px}#printArea img{max-width:600px;width:100%}}

/* Dedicated toolbar above both panels; no generic .controls selector. */
#lab > #simulationControls.nkw-sim-toolbar{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;flex-wrap:wrap;gap:9px;position:sticky;top:8px;z-index:30;width:100%;min-height:66px;margin:0 0 16px;padding:12px 16px;background:#fff;border:1px solid #cabfd3;border-radius:10px;box-shadow:0 3px 14px #341b4811}
#simulationControls .nkw-toolbar-title{font-size:12px;color:#5d4d6b;margin-right:7px}
#simulationControls button{display:inline-flex!important;visibility:visible!important;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;font-size:14px;font-weight:600;white-space:nowrap;border:1px solid #cfc7d5;background:#f5f2f7;color:#352543;border-radius:7px}
#simulationControls #run{background:#421269;color:#fff;border-color:#421269;min-width:164px}
#simulationControls #pause{background:#fff7df;color:#806122;border-color:#e7d9a5}
#simulationControls #stop{background:#fff0ed;color:#9a473a;border-color:#e7c4bb}
#simulationControls #reset{background:#faedf4;color:#824264;border-color:#e4c7d6}
#simulationControls button:disabled{opacity:.45;cursor:not-allowed}
#simulationControls label{margin-left:auto;display:flex;align-items:center;gap:7px;color:#72667c;font-size:12px}
#simulationControls select{padding:7px 9px;border:1px solid #d5cedb;border-radius:5px;background:#fff}
@media(max-width:600px){#lab > #simulationControls.nkw-sim-toolbar{top:0;padding:10px;gap:7px}#simulationControls .nkw-toolbar-title{width:100%;font-size:11px}#simulationControls button{flex:1 1 40%;font-size:13px;min-height:44px;padding:8px 12px}#simulationControls #run{min-width:0}#simulationControls label{width:100%;justify-content:flex-end}}

#simulationControls .nkw-audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding-left:12px;border-left:1px solid #dfdbe3}
#simulationControls #motorSound{min-width:112px;padding:8px 11px;background:#f2edf6;color:#4e3265;font-size:12px}
#simulationControls #motorSound[aria-pressed="false"]{background:#f1eff3;color:#7e7684}
#simulationControls .nkw-audio-controls label{margin:0;width:auto;font-size:11px}
#simulationControls #motorVolume{width:100px;min-height:32px;accent-color:#421269;cursor:pointer}
#simulationControls #motorVolumeValue{min-width:34px;font-size:11px;color:#72657c;font-variant-numeric:tabular-nums}
@media(max-width:600px){#simulationControls .nkw-audio-controls{width:100%;border-left:0;border-top:1px solid #dfdbe3;padding:8px 0 0;flex-wrap:nowrap}#simulationControls #motorSound{flex:0 0 auto;min-width:110px}#simulationControls #motorVolume{flex:1;min-width:40px;width:80px}#simulationControls .nkw-audio-controls label{width:auto;justify-content:initial}}

.nkw-field-tools,.nkw-field-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0}
.nkw-field-tools label{display:flex;align-items:center;gap:6px;font-size:12px}.nkw-field-tools select{max-width:260px;padding:8px;border:1px solid #d5cddb;border-radius:6px;background:white}
#fieldMap{width:100%;overflow:auto;background:#eae7ed;border:1px solid #d1c9d8;border-radius:9px;padding:10px}#fieldMap svg{display:block;width:100%;min-width:500px;height:auto;touch-action:manipulation}
#fieldMap .nkw-field-cell{cursor:crosshair}#fieldMap .nkw-field-cell:hover,#fieldMap .nkw-field-cell:focus{fill:#7d40af22;stroke:#511583;stroke-width:5;outline:none}
#fieldStatus{font-size:11px;color:#70627c}.view-buttons{max-width:calc(100% - 20px);flex-wrap:wrap}.view-buttons button{padding:6px 8px}
@media(max-width:600px){.nkw-field-tools label{width:100%;justify-content:space-between}.nkw-field-tools select{max-width:220px}.nkw-field-actions button{flex:1 1 45%;font-size:11px}.view-buttons{gap:3px}.view-buttons button{font-size:9px;padding:5px 6px}}
.rescue-issues{max-height:420px;overflow:auto;padding:12px;display:grid;gap:10px}.rescue-issues article{padding:14px;border:1px solid #ddd5e4;border-left:4px solid #cf7847;border-radius:12px;background:#fffaf2}.rescue-issues article p{margin:8px 0;font-size:13px;line-height:1.6}.rescue-issues article small{color:#6c5662}.rescue-campaign>p,.rescue-campaign>a{margin:12px;display:block}#rescueStudyStatus{font-size:12px}#rescueStudySeeds{width:180px}.rescue-ledger button{font-size:12px;white-space:normal}
