:root{color:#1d332b;font-synthesis:none;text-rendering:optimizelegibility;background:#eef8f3;font-family:Inter,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #0f766e}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{background:linear-gradient(135deg,#fff5d6b8,#ebfaf3e6 44%,#e8f4ffc2),#eef8f3;min-height:100vh;padding:28px}.lab-header{justify-content:space-between;align-items:end;gap:24px;width:min(1180px,100%);margin:0 auto 22px;display:flex}.eyebrow{color:#b23b2c;margin:0 0 8px;font-size:.86rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:#17392e;margin-bottom:10px;font-size:2.25rem;line-height:1.15}.intro{color:#47645b;max-width:620px;margin-bottom:0;line-height:1.6}.drop-counter{color:#17483b;white-space:nowrap;background:#fff;border:1px solid #b8dccd;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:96px;padding:10px 14px;font-weight:800;display:inline-flex}.lab-grid{grid-template-columns:minmax(220px,.85fr) minmax(340px,1.3fr) minmax(240px,.95fr);align-items:stretch;gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.panel{background:#ffffffe0;border:1px solid #2d6d5638;border-radius:8px;padding:20px;box-shadow:0 18px 40px #1c4f3d1a}.panel-heading{color:#17523f;align-items:center;gap:10px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0;font-size:1.08rem}.mode-field{border:0;margin:0 0 24px;padding:0}.mode-field legend,.drop-section h3,.note-field label{color:#34564c;margin-bottom:10px;font-size:.92rem;font-weight:800}.mode-toggle{background:#eef8f3;border:1px solid #c8e5d7;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;display:grid}.mode-button{color:#31544a;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;display:inline-flex}.mode-button[aria-pressed=true]{color:#7a3a18;background:#fff9e7;border-color:#f4c54d;box-shadow:0 6px 16px #b56e1a24}.drop-section{margin-bottom:18px}.drop-grid{gap:10px;display:grid}.drop-button{border:2px solid var(--drop-color);color:#203b33;text-align:left;background:#fffef9;border-radius:8px;grid-template-columns:28px 1fr minmax(38px,auto);align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 12px;font-weight:800;display:grid}.drop-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #2157441f}.drop-swatch{background:var(--drop-color);border:2px solid #1f332b2e;border-radius:50%;width:28px;height:28px}.drop-button strong{color:#17483b;background:#e9f6f0;border-radius:999px;justify-content:center;align-items:center;min-width:34px;min-height:32px;padding:0 8px;display:inline-flex}.reset-button{color:#8f331f;background:#fff3ed;border:1px solid #efb8a4;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;font-weight:800;display:inline-flex}.reset-button:hover{background:#ffe6dc}.result-panel{flex-direction:column;align-items:center;display:flex}.result-heading{align-self:stretch}.result-circle{aspect-ratio:1;border:14px solid #ffffffd1;border-radius:50%;width:min(62vw,340px);max-width:100%;margin:6px auto 24px;box-shadow:inset 0 18px 28px #ffffff6b,inset 0 -24px 32px #17392e2e,0 24px 46px #19423438}.result-details{gap:0;width:100%;margin:0 0 18px;display:grid}.result-details div{border-top:1px solid #d8eadf;grid-template-columns:minmax(84px,.35fr) 1fr;gap:12px;padding:12px 0;display:grid}.result-details div:last-child{border-bottom:1px solid #d8eadf}.result-details dt{color:#587167;font-size:.9rem;font-weight:800}.result-details dd{color:#183a31;margin:0;font-weight:800;line-height:1.45}code{color:#1b5794;background:#e8f4ff;border-radius:6px;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.note-field{width:100%}.note-field label{display:block}.note-field textarea{resize:vertical;color:#1d332b;background:#fffef9;border:1px solid #b9d9cb;border-radius:8px;width:100%;min-height:104px;padding:12px;line-height:1.55}.note-field textarea::placeholder{color:#72847d}.export-box{width:100%;margin-top:12px}.export-button{color:#17483b;background:#e9f6f0;border:1px solid #2f8b69;border-radius:8px;width:100%;min-height:44px;font-weight:900}.export-button:hover{background:#dff1e9}.observation-card{color:#183a31;white-space:pre-wrap;overflow-wrap:anywhere;background:#fffef9;border:1px solid #d8eadf;border-radius:8px;margin:12px 0 0;padding:12px;font-family:inherit;font-size:.94rem;line-height:1.55}.challenge-list{gap:10px;display:grid}.mission-feedback{color:#183a31;background:#f7fcf9;border:1px solid #c9dfd5;border-radius:8px;margin-bottom:14px;padding:12px}.mission-feedback.success{background:#fff8dc;border-color:#f4c54d}.mission-feedback strong{margin-bottom:6px;font-weight:900;display:block}.mission-feedback p{color:#526e64;margin-bottom:0;line-height:1.5}.challenge-button{color:#183a31;text-align:left;background:#fffef9;border:1px solid #c9dfd5;border-radius:8px;gap:8px;width:100%;min-height:104px;padding:14px;display:grid}.challenge-button:hover{background:#f2fbf6;border-color:#2f8b69;transform:translateY(-1px)}.challenge-prompt{font-size:1rem;font-weight:900}.challenge-mode{color:#7a3a18;background:#ffe9c5;border-radius:999px;justify-self:start;padding:3px 8px;font-size:.82rem;font-weight:800}.challenge-ratio{color:#526e64;font-size:.9rem;line-height:1.45}.teacher-panel{width:min(1180px,100%);margin:18px auto 0}.teacher-grid{grid-template-columns:1.25fr .9fr 1fr;gap:20px;display:grid}.teacher-column{border-top:1px solid #d8eadf;padding-top:12px}.teacher-column h3{color:#34564c;margin-bottom:10px;font-size:.92rem;font-weight:900}.standard-list,.teacher-steps,.prompt-list{color:#183a31;gap:10px;margin:0;padding:0;line-height:1.5;display:grid}.standard-list,.prompt-list{list-style:none}.standard-list li{gap:5px;display:grid}.standard-code{color:#b23b2c;font-weight:900}.teacher-steps{padding-left:1.3rem}.teacher-steps li::marker{color:#2f8b69;font-weight:900}.prompt-list li{border-left:3px solid #f4c54d;padding-left:12px}@media (width<=960px){.app{padding:22px}.lab-header{flex-direction:column;align-items:start}.lab-grid{grid-template-columns:1fr}.drop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-grid{grid-template-columns:1fr}}@media (width<=620px){.app{padding:16px}h1{font-size:1.9rem}.panel{padding:16px}.drop-grid{grid-template-columns:1fr}.result-circle{border-width:10px;width:min(76vw,280px)}.result-details div{grid-template-columns:1fr;gap:4px}}
