:root{--ink:#1a1000;--yellow:#f5c030;--yellow-dark:#c89010;--panel:#e8dfc0;--paper:#fffbe8;--footer-h:34px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:#7ccaf5;font-family:Nanum Gothic,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer}.app{min-height:100vh;padding:22px 22px calc(var(--footer-h) + 58px);background:linear-gradient(#4aaae8 0%,#7ccaf5 58%,#9bdbf6 100%);position:relative;overflow-x:hidden}.app:after{content:"";left:0;right:0;bottom:var(--footer-h);border-top:5px solid var(--ink);pointer-events:none;z-index:1;background:linear-gradient(#39a842,#39a842) top/100% 20px no-repeat,repeating-linear-gradient(90deg,#7a4a20 0 28px,#6c3f18 28px 56px);height:34px;position:fixed}h1,h2,h3,p{letter-spacing:0}h1{text-shadow:4px 4px 0 var(--yellow-dark);margin:0;font-size:clamp(2.25rem,5vw,4.8rem);line-height:1}.pixel-label{color:#5a3900;margin:0 0 9px;font-size:.72rem;font-weight:900}.start-screen,.topbar,.lab-layout{z-index:1;width:min(1220px,100%);margin:0 auto;position:relative}.start-screen{min-height:calc(100vh - 44px - var(--footer-h) - 34px);text-align:center;align-content:center;justify-items:center;gap:18px;display:grid}.start-screen h1{border:5px solid var(--ink);background:var(--yellow);box-shadow:7px 7px 0 var(--ink);padding:18px 28px;display:inline-block}.start-copy{border:4px solid var(--ink);background:var(--paper);max-width:820px;box-shadow:5px 5px 0 var(--ink);margin:0;padding:12px 18px;font-weight:900;line-height:1.7}.cloud{filter:drop-shadow(3px 3px #0002);background:#fff;width:86px;height:22px;position:absolute}.cloud:before,.cloud:after{content:"";background:#fff;position:absolute}.cloud:before{width:42px;height:24px;top:-22px;left:20px}.cloud:after{width:60px;height:18px;top:-10px;left:12px}.c1{top:44px;left:4%}.c2{top:96px;right:8%;transform:scale(.8)}.partner-select{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;width:min(920px,100%);display:grid}.partner,.start-btn,.score-board span,.lab,.partner-mini,.mission-board,.question-box,.pokemon-card,.answer-grid button,.feedback,.research-panel{border:4px solid var(--ink);background:var(--panel);box-shadow:5px 5px 0 var(--ink)}.partner,.start-btn,.answer-grid button,.lab,.mission-head button,.feedback button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.partner{min-height:160px;padding:10px;transition:transform .12s,box-shadow .12s}.partner:hover,.partner.active,.start-btn:hover,.lab:hover,.answer-grid button:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.partner.active{background:var(--yellow)}.partner img{object-fit:contain;width:84px;height:84px}.partner strong,.partner span{display:block}.partner span{margin-top:5px;font-size:.84rem;font-weight:900}.start-btn{color:#fff;background:#e84040;align-items:center;gap:10px;min-height:58px;padding:0 28px;font-weight:900;display:inline-flex}.topbar{justify-content:space-between;align-items:flex-end;gap:16px;padding-top:8px;display:flex}.topbar h1{font-size:clamp(2rem,4vw,3.8rem)}.score-board{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.score-board span{background:var(--paper);align-items:center;gap:6px;padding:9px 12px;font-weight:900;display:inline-flex}.lab-layout{grid-template-columns:250px minmax(0,1fr) 230px;gap:16px;padding:18px 0 70px;display:grid}.lab-list{align-content:start;gap:12px;display:grid}.partner-mini{background:var(--paper);grid-template-columns:72px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.partner-mini img{object-fit:contain;width:70px;height:70px}.partner-mini span,.partner-mini strong{display:block}.partner-mini span{color:#6b4b00;font-size:.82rem;font-weight:900}.lab{text-align:left;grid-template-columns:30px 1fr;align-items:center;gap:8px 10px;min-height:96px;padding:12px;display:grid}.lab.active{background:var(--lab-color);color:#fff}.lab strong{font-size:1.04rem}.lab span{grid-column:1/-1;font-size:.86rem;font-weight:900;line-height:1.45}.mission-board{background:#fff8d5;padding:18px}.mission-head{border-bottom:4px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.mission-head h2{margin:0;font-size:clamp(1.7rem,3vw,2.45rem)}.mission-head button,.feedback button{border:3px solid var(--ink);min-height:42px;box-shadow:3px 3px 0 var(--ink);background:#fff;justify-content:center;align-items:center;gap:7px;font-weight:900;display:inline-flex}.question-box{background:#c8e8ff;padding:14px}.mission-badge{border:2px solid var(--ink);background:var(--yellow);margin-bottom:8px;padding:4px 9px;font-size:.86rem;font-weight:900;display:inline-block}.question-box h3{border-left:6px solid var(--yellow-dark);background:#fffbe8;border-radius:2px;margin:0 0 14px;padding:10px 14px;font-size:clamp(1.55rem,3.5vw,2rem);line-height:1.3;box-shadow:3px 3px #0000001f}.question-box p{margin:0;font-size:1.08rem;font-weight:900;line-height:1.6}.hint-toggle{color:#2e5a78;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#7aaecf1f;border:2px solid #7aaecf;align-items:center;gap:6px;margin-bottom:10px;padding:6px 14px;font-size:.84rem;font-weight:900;transition:background .15s;display:inline-flex}.hint-toggle:hover,.hint-toggle.open{background:#7aaecf47}.question-steps{background:#ffffff80;border:2px dashed #7aaecf;gap:7px;padding:10px 12px 11px;display:grid}.question-steps:before{content:"▶  어떻게 풀까요?";color:#2e5a78;letter-spacing:.05em;border-bottom:1.5px solid #aac8e0;margin-bottom:5px;padding-bottom:6px;font-size:.74rem;font-weight:900;display:block}.question-steps p{grid-template-columns:88px 1fr;align-items:center;gap:10px;display:grid}.question-steps b{border:3px solid var(--ink);background:var(--yellow);min-height:34px;box-shadow:2px 2px 0 var(--ink);justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.question-steps span{color:#2e4d60;min-width:0;font-size:.98rem;font-weight:700;display:block}.card-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.card-row.many{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.pokemon-card{text-align:center;background:#fff;min-height:255px;padding:12px}.pokemon-card.compact{min-height:190px}.pokemon-card.selected{outline:5px solid var(--yellow)}.dex-no{text-align:left;color:#6d5a23;font-size:.82rem;font-weight:900;display:block}.pokemon-card img{object-fit:contain;width:116px;height:116px}.pokemon-card.compact img{width:84px;height:84px}.pokemon-card strong{margin-bottom:7px;font-size:1.18rem;display:block}.focus-box{border:4px solid var(--ink);background:var(--yellow);box-shadow:3px 3px 0 var(--ink);grid-template-columns:auto auto;align-items:center;gap:8px;margin:4px auto 8px;padding:7px 10px;font-weight:900;display:inline-grid}.focus-box.wide{grid-template-columns:1fr;gap:3px}.focus-box span{font-size:.9rem}.focus-box strong{margin:0;font-size:1.45rem;line-height:1}.pokemon-card p{margin:8px 0 0;font-size:.88rem;font-weight:900;line-height:1.45}.pokemon-card p.muted-stats{color:#6d6758;font-size:.82rem}.formula-note{color:#3d2c00}.type-chip{border:2px solid var(--ink);background:color-mix(in srgb, var(--type-color), white 16%);min-width:56px;box-shadow:2px 2px 0 var(--ink);justify-content:center;align-items:center;margin:2px;padding:5px 9px;font-size:.84rem;font-weight:900;display:inline-flex}.type-chip.highlight{outline:4px solid var(--yellow);outline-offset:2px}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.answer-grid button{word-break:keep-all;min-height:68px;padding:10px;font-size:1.18rem;font-weight:900}.answer-grid button.correct{background:#b8f5bd}.answer-grid button.wrong{background:#ffc4c4}.feedback{background:var(--paper);margin-top:14px;padding:14px}.feedback.correct{background:#d8ffd8}.feedback.wrong{background:#ffe2c6}.feedback strong{font-size:1.2rem;display:block}.feedback p{margin:8px 0 12px;font-weight:900;line-height:1.55}.feedback button{background:var(--yellow)}.research-panel{background:var(--paper);align-self:start;padding:14px}.research-panel h2{margin:0 0 12px}.progress-track{border:3px solid var(--ink);height:22px;box-shadow:2px 2px 0 var(--ink);background:#fff;overflow:hidden}.progress-track span{background:linear-gradient(90deg, #43a85f, var(--yellow));height:100%;display:block}.research-panel p{margin:12px 0;font-weight:900}.mini-collection{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.mini-collection img{object-fit:contain;border:2px solid var(--ink);background:#fff;width:46px;height:46px}@media (width<=980px){.topbar{flex-direction:column;align-items:flex-start;gap:10px}.lab-layout{grid-template-rows:auto auto;grid-template-columns:220px minmax(0,1fr)}.lab-list{grid-area:1/1/3}.mission-board{grid-area:1/2}.research-panel{grid-area:2/2}.partner-mini{grid-column:1/-1}.partner-select{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.lab-layout{grid-template-columns:1fr}.lab-list{grid-area:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.mission-board,.research-panel{grid-area:auto}.partner-mini{grid-column:1/-1}.partner-select{grid-template-columns:repeat(3,minmax(0,1fr))}.card-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){:root{--footer-h:46px}.app{padding:14px 14px calc(var(--footer-h) + 50px)}.app:after{display:none}.partner-select{grid-template-columns:repeat(2,minmax(0,1fr))}.partner{min-height:130px}.partner img{width:66px;height:66px}.lab-list,.card-row,.card-row.many{grid-template-columns:repeat(2,minmax(0,1fr))}.pokemon-card{min-height:200px}.pokemon-card img{width:88px;height:88px}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-grid button{min-height:60px;font-size:1.08rem}.mission-head{flex-direction:column;align-items:flex-start}.question-steps p{grid-template-columns:1fr}.question-box h3{padding:8px 10px;font-size:1.35rem}.question-steps span{font-size:.88rem}.topbar h1{font-size:1.9rem}}@media (width<=400px){:root{--footer-h:50px}.app{padding:10px 10px calc(var(--footer-h) + 46px)}.partner{min-height:110px;padding:8px}.partner img{width:52px;height:52px}.partner strong{font-size:.88rem}.partner span{font-size:.74rem}.answer-grid button{min-height:52px;font-size:.96rem}}@media (width>=1440px){.lab-layout{grid-template-columns:280px minmax(0,1fr) 260px;gap:20px}.partner-select{width:min(1100px,100%)}.partner{min-height:200px}.partner img{width:110px;height:110px}.answer-grid button{min-height:84px;font-size:1.35rem}.lab{min-height:116px}.pokemon-card{min-height:290px}.pokemon-card img{width:140px;height:140px}.question-box h3{font-size:1.7rem}.question-steps span{font-size:1.3rem}.start-btn{min-height:70px;padding:0 40px;font-size:1.2rem}}.attribution-footer{z-index:50;min-height:var(--footer-h);border-top:3px solid var(--yellow);color:#b8a070;letter-spacing:.02em;background:#120e00;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0 .55rem;padding:0 16px;font-size:.67rem;font-weight:700;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #0000008c}.attr-dot{color:var(--yellow);opacity:.85;flex-shrink:0;font-size:.78rem}.attr-sep{color:#e3350d;flex-shrink:0;font-size:.62rem}.attr-copy{white-space:nowrap}.attribution-footer a{color:var(--yellow);font-weight:900;text-decoration:none}.attribution-footer a:hover{color:#ffe066;text-decoration:underline}@media (width<=680px){:root{--footer-h:52px}.attribution-footer{flex-wrap:wrap;place-content:center;gap:1px .35rem;padding:5px 10px 6px;font-size:.6rem;line-height:1.55}.attr-dot,.attr-sep{display:none}.attr-copy{text-align:center;white-space:normal;word-break:keep-all;width:100%}}@media (width<=400px){:root{--footer-h:56px}.attribution-footer{font-size:.55rem}}
