@font-face{font-family:Pretendard;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pretendard-400-b0c3b40d.woff) format("woff")}@font-face{font-family:Pretendard;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pretendard-700-75a7f038.woff) format("woff")}:root{--ink:#17272F;--bg:#F7F3EC;--card:#ffffff;--line:#E4DCCF;--line2:#D9CFBF;--text:#17272F;--muted:#5F574D;--teal:#1F5E5A;--teal-soft:#E4EEEA;--clay:#A8492A;--clay-soft:#F2E4DA;--sand:#EFE6D6;--warm:#F1EADD;--lav:#ECE8F3;--on-accent:#ffffff;--danger:#B42318;--radius:16px;--shadow:0 1px 2px rgba(60,40,20,.06),0 14px 32px rgba(60,40,20,.09);--shadow-sm:0 1px 2px rgba(60,40,20,.05),0 6px 16px rgba(60,40,20,.07);--f:"Pretendard","Noto Sans KR",system-ui,sans-serif;color-scheme:light}:root[data-style=dark]{--ink:#E8EDF2;--bg:#0E1620;--card:#16212D;--line:#2A3644;--line2:#3A4A5C;--text:#E8EDF2;--muted:#A9B5C1;--teal:#2DD4BF;--teal-soft:#16302D;--clay:#F59A4A;--clay-soft:#3A2616;--sand:#16212D;--warm:#1D2A38;--lav:#1D2A38;--on-accent:#0E1620;--danger:#FF8A7B;--shadow:none;--shadow-sm:none;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:var(--f);font-size:16px;line-height:1.65}a{color:inherit}h1,h2,h3{letter-spacing:-.03em;line-height:1.25;margin:0 0 .5em;font-weight:700}h1{font-size:clamp(26px,5vw,40px)}h2{font-size:clamp(20px,3.4vw,26px)}p{margin:0 0 1em}.muted{color:var(--muted)}.wrap{max-width:960px;margin:0 auto;padding:24px 20px 56px}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:10px;z-index:50}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.topbar{flex-wrap:wrap;gap:12px 16px;padding:12px 20px;background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;text-decoration:none}.brand b{font-size:13px;letter-spacing:.1em;text-transform:uppercase;line-height:1.15;max-width:150px}.mark{flex:none}.mark,.mark img{width:46px;height:35px;display:block}:root[data-style=dark] .hero-logo,:root[data-style=dark] .mark{background:#F7F3EC;border-radius:10px;padding:2px}.nav{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.pill{display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.pill:hover{border-color:var(--teal);color:var(--teal)}.pill[aria-current=page]{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}select.pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 26px;border-radius:999px;border:0;background:var(--teal);color:var(--on-accent);font:inherit;font-size:17px;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm)}.btn:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line2);box-shadow:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.note{font-size:14px;color:var(--muted)}.hero{display:grid;grid-gap:28px;gap:28px;align-items:center;padding:28px 0 12px;grid-template-columns:1fr;text-align:center;justify-items:center}.hero-logo{width:min(340px,78vw);height:auto;display:block}.hero p.lead{font-size:18px;color:var(--muted);max-width:34em}.foot{border-top:1px solid var(--line);padding:20px;text-align:center;color:var(--muted);font-size:14px}.foot a{margin:0 8px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:560px){.topbar{padding:10px 14px}.nav{margin-left:0;width:100%}.wrap{padding:20px 16px 48px}}.form fieldset{border:0;padding:0;margin:0 0 22px}.form legend{font-weight:700;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.pill.on{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}.num{width:5em;min-height:44px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--text);font:inherit;padding:4px 10px;margin-left:8px}.bridgebar{width:100%;max-width:360px;height:auto;display:block}.guide{display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr}@media (min-width:760px){.guide{grid-template-columns:280px 1fr;align-items:start}}.mascot-box{text-align:center}.mascot-box .pal{max-width:220px;margin:0 auto;animation:palbob 3.6s ease-in-out infinite}.bubble{position:relative;border-radius:18px;padding:12px 16px;margin:0 0 14px;font-weight:600}.bubble,.bubble:after{background:var(--teal-soft)}.bubble:after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;transform:translateX(-50%) rotate(45deg)}.levelup{background:var(--clay-soft);border:2px solid var(--clay);border-radius:var(--radius);padding:14px 18px;margin-bottom:14px;font-weight:700}.task{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.task input{width:22px;height:22px;margin-top:3px;accent-color:var(--teal);flex:none}.pair{display:flex;gap:6px;justify-content:center}.pair .pal{max-width:150px}@media (max-width:560px){.nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.nav>*{flex:none}}.statusmsg{margin-left:10px}.toast-wrap{position:fixed;left:0;right:0;bottom:14px;display:flex;justify-content:center;padding:0 12px;pointer-events:none;z-index:40}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:460px;width:100%;background:var(--card);border:2px solid var(--teal);border-radius:18px;padding:10px 14px;box-shadow:var(--shadow);animation:toastin .35s ease-out}.toast.up{border-color:var(--clay);background:var(--clay-soft)}.toast-pal{width:56px;flex:none}.toast-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;flex:1 1;font-size:15px;line-height:1.45}.toast-name,.toast-xp{font-weight:800}.toast-xp{color:var(--teal);background:var(--teal-soft);border-radius:999px;padding:0 10px}.toast-text{flex-basis:100%}.toast-x{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;min-width:44px;min-height:44px}@keyframes toastin{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.quest{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.quest:last-child{border-bottom:0}.quest .xp{font-weight:700;color:var(--teal);white-space:nowrap}.dots{display:flex;gap:8px;align-items:center}.dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--teal)}.dot.on{background:var(--teal)}.tag{display:inline-block;font-size:12px;padding:1px 10px;border-radius:999px;background:var(--sand);color:var(--muted)}.status,.tag{font-weight:700}.sil-art{display:none}html[data-style=dark] .pal{filter:drop-shadow(0 0 1px rgba(255,255,255,.55)) drop-shadow(0 6px 14px rgba(0,0,0,.35))}.pal{display:block;width:100%;height:auto;overflow:visible;--fur:#F0C088;--fur2:#D9A064;--earc:#D39A5C;--snoutc:#FFEBD2;--bellyc:#FFF3E2;--innerc:#FFB8C6;--blushc:#FF9AA8}.pal-cat{--fur:#CFCBEA;--fur2:#B3AEDB;--snoutc:#FFF4F0;--bellyc:#F4F1FF;--innerc:#FFB8C6}.pal .pal-fur{fill:var(--fur)}.pal .pal-fur2{fill:var(--fur2)}.pal .pal-ear{fill:var(--earc)}.pal .pal-snout{fill:var(--snoutc)}.pal .pal-belly{fill:var(--bellyc)}.pal .pal-inner{fill:var(--innerc)}.pal .pal-blush{fill:var(--blushc);opacity:.55}.pal .pal-ink,.pal .pal-nose{fill:#3B2F2F}.pal .pal-tongue{fill:#FF8FA3}.pal-cat .pal-nose{fill:#F58CA0}.pal .pal-line{stroke:#3B2F2F;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.pal .pal-tailcat{stroke:var(--fur2)}.pal .pal-stripe path{stroke:var(--fur2);stroke-width:5;stroke-linecap:round;fill:none}.pal .pal-whisk path{stroke:#3B2F2F;stroke-width:2.4;stroke-linecap:round;opacity:.55;fill:none}.pal .pal-mark{fill:#3B2F2F}.pal .pal-head{transform-box:fill-box;transform-origin:50% 90%;animation:palhead 4.2s ease-in-out infinite}.pal .pal-eye{transform-box:fill-box;transform-origin:center;animation:palblink 5s infinite}.pal .pal-tail{transform-box:fill-box;transform-origin:0 100%;animation:paltail 1.6s ease-in-out infinite}@keyframes palbob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-8px) rotate(1.5deg)}}@keyframes palhead{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}@keyframes palblink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes paltail{0%,to{transform:rotate(-6deg)}50%{transform:rotate(10deg)}}@media (prefers-reduced-motion:reduce){.pal,.pal *{animation:none!important}.pal .pal-ln.on{stroke-dasharray:none}.pal .pal-rings,.pal .pal-scan{opacity:0!important}.pal .pal-write{opacity:1!important}.pal[data-stage] .pal-write path{stroke-dasharray:none}}.pal .pal-ov{pointer-events:none}.pal .pal-ln{stroke:#fff;stroke-opacity:0;stroke-width:2}.pal .pal-ln.on{stroke-opacity:.85;stroke-dasharray:4 6;animation:palflow 1s linear infinite}.pal .pal-dt{fill:#fff;fill-opacity:0;stroke:var(--accent,#1F5E5A);stroke-width:0}.pal .pal-dt.on{fill-opacity:1;stroke-width:2;animation:paldot 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}html[data-style=friendly] .pal .pal-ln.on{stroke:var(--accent,#1F5E5A)}html[data-style=friendly] .pal .pal-dt{fill:var(--accent,#1F5E5A);stroke:#fff}.pal .pal-rings,.pal .pal-scan,.pal .pal-write{opacity:0}.pal .pal-rings circle,.pal .pal-write path{fill:none;stroke:var(--accent,#1F5E5A);stroke-width:2.5;stroke-linecap:round}html[data-style=dark] .pal .pal-rings circle,html[data-style=dark] .pal .pal-write path{stroke:#9fe3d8}.pal .pal-scan{fill:var(--accent,#1F5E5A)}html[data-style=dark] .pal .pal-scan{fill:#9fe3d8}.pal[data-stage=received] .pal-tail{animation-duration:.5s}.pal[data-stage=received] .pal-earw{transform-box:fill-box;transform-origin:50% 100%;animation:palperk 1.1s ease-in-out infinite}.pal[data-stage=frames] .pal-head{animation:palsweep 2.4s ease-in-out infinite}.pal[data-stage=frames] .pal-scan{opacity:.9;animation:palscan 2.4s ease-in-out infinite}.pal[data-stage=sound] .pal-earw{transform-box:fill-box;transform-origin:50% 100%;animation:palear .5s ease-in-out infinite}.pal[data-stage=sound] .pal-earw2{animation-delay:.25s}.pal[data-stage=sound] .pal-rings{opacity:1}.pal[data-stage=sound] .pal-rings circle{transform-box:fill-box;transform-origin:center;animation:palring 1.8s ease-out infinite}.pal[data-stage=sound] .pal-rings circle:nth-child(2){animation-delay:.6s}.pal[data-stage=sound] .pal-rings circle:nth-child(3){animation-delay:1.2s}.pal[data-stage=explain] .pal-pawr{transform-box:fill-box;transform-origin:50% 50%;animation:palwrite .55s ease-in-out infinite}.pal[data-stage=explain] .pal-head{animation:palnod 1.1s ease-in-out infinite}.pal[data-stage=explain] .pal-write{opacity:1}.pal[data-stage=explain] .pal-write path{stroke-dasharray:40;animation:palink 2.2s ease-in-out infinite}.pal[data-stage=explain] .pal-write path:nth-child(2){animation-delay:.5s}.pal[data-stage=explain] .pal-write path:nth-child(3){animation-delay:1s}@keyframes palflow{to{stroke-dashoffset:-20}}@keyframes paldot{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@keyframes palperk{0%,to{transform:rotate(0)}40%{transform:rotate(-9deg)}70%{transform:rotate(4deg)}}@keyframes palsweep{0%,to{transform:translateX(-9px) rotate(-5deg)}50%{transform:translateX(9px) rotate(5deg)}}@keyframes palscan{0%{transform:translateY(0)}50%{transform:translateY(150px)}to{transform:translateY(0)}}@keyframes palear{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes palring{0%{transform:scale(.6);opacity:.9}to{transform:scale(3.2);opacity:0}}.pal .pal-lens{transform-box:fill-box;transform-origin:50% 100%;animation:pallens 2.6s ease-in-out infinite}.pal .pal-lens-h{stroke:#8A5A3C;stroke-width:7;stroke-linecap:round}.pal .pal-lens-r{fill:#fff;fill-opacity:.4;stroke:var(--accent,#1F5E5A);stroke-width:5}.pal .pal-lens-g{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.9}html[data-style=dark] .pal .pal-lens-r{stroke:#9fe3d8}@keyframes pallens{0%,to{transform:rotate(-8deg) translateX(-3px)}50%{transform:rotate(8deg) translateX(3px)}}@keyframes palwrite{0%,to{transform:translate(0)}25%{transform:translate(-5px,-3px)}75%{transform:translate(5px,1px)}}@keyframes palnod{0%,to{transform:rotate(-1deg)}50%{transform:rotate(5deg) translateY(3px)}}@keyframes palink{0%{stroke-dashoffset:40}60%,to{stroke-dashoffset:0}}.pick .pal{position:absolute;right:3%;top:6%;width:min(40%,250px);z-index:-1;animation:palbob 3.6s ease-in-out infinite}.end-pals .pal{width:40%}.hero-band .pal{max-width:230px;justify-self:end}@media (max-width:719px){.hero-band .pal{max-width:130px;justify-self:start}}.empty .pal,.firstrun .pal{max-width:170px}.result-pal.pal{width:110px;flex:none}@media (max-width:560px){.result-pal.pal{width:84px}.empty .pal{max-width:130px}}.jobpanel .pal{max-width:190px}.pal[data-level="1"]{transform:scale(.88);transform-origin:50% 90%}.pal[data-level="4"],.pal[data-level="5"]{transform:scale(1.04);transform-origin:50% 90%}.pal .pd-scarfband{fill:var(--teal,#1F5E5A)}.pal .pd-scarftail{fill:var(--clay,#A8492A)}.pal .pd-capbody{fill:var(--teal,#1F5E5A)}.pal .pd-capbrim{fill:none;stroke:#17272F;stroke-width:3;stroke-linecap:round}.pal .pd-capknob{fill:var(--clay,#A8492A)}.pal .pd-strap{stroke:#8A5A3C;stroke-width:5;stroke-linecap:round;fill:none}.pal .pd-bagbody{fill:#B98355}.pal .pd-bagline{stroke:#7A4E2C;stroke-width:3;stroke-linecap:round;fill:none}.pal .pd-pinbg{fill:#D9CFBF}.pal .pd-pinarch{fill:none;stroke:#5F574D;stroke-width:3;stroke-linecap:round}.pal .pd-badgebridge{fill:#E5B93A;stroke:#A87A12;stroke-width:3;stroke-linejoin:round}.pal .pd-badgeline{stroke:#A87A12;stroke-width:3;stroke-linecap:round}.pal .pd-spark path{fill:#F6C94A;transform-box:fill-box;transform-origin:center;animation:pdtwinkle 2.2s ease-in-out infinite}.pal .pd-spark path:nth-child(2){animation-delay:.7s}.pal .pd-spark path:nth-child(3){animation-delay:1.4s}.pal .pd-scarftail{transform-box:fill-box;transform-origin:20% 0;animation:pdscarf 2.4s ease-in-out infinite}@keyframes pdtwinkle{0%,to{transform:scale(.5);opacity:.35}50%{transform:scale(1.1);opacity:1}}@keyframes pdscarf{0%,to{transform:rotate(-4deg)}50%{transform:rotate(6deg)}}