.sp{--bg:#fff;--surface:#fff;--sunk:#f8f7fc;--ink:#2a2540;--muted:#6e6887;--line:#e5e1f0;--accent:#6b4fd8;--accent-shade:#4e36ae;--accent-ink:#fff;--accent-soft:#ece7fb;--sun:#ffc93c;--sun-shade:#d9a200;--sun-soft:#fff6d6;--sun-ink:#8c6a00;--good:#17693a;--good-bg:#e3f6e8;--good-strong:#22a05a;--good-shade:#17783f;--more:#8c5a00;--more-bg:#fff1d6;--more-strong:#e09a00;--more-shade:#b37a00;--again:#a33a1f;--again-bg:#fdeae4;--again-strong:#d9533a;--again-shade:#a83c27;--passage:#fff9e6;--passage-line:#f3e6b3;--round:"Jua","Noto Sans KR",sans-serif;--tabh:72px}.sp *{box-sizing:border-box}.sp [hidden]{display:none!important}.sp,.sp{margin:0}.sp{background:var(--bg);color:var(--ink);font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:15px;line-height:1.65}.sp.has-tab{padding-bottom:calc(var(--tabh) + env(safe-area-inset-bottom,0px))}.sp a{color:var(--accent)}.sp button{font:inherit}.sp .wrap{max-width:760px;margin:0 auto;padding:0 20px 64px}.sp h1{font-family:var(--round);letter-spacing:-.01em;text-wrap:balance;margin:18px 0 6px;font-size:28px;font-weight:400;line-height:1.3}.sp h2{font-family:var(--round);margin:0 0 8px;font-size:20px;font-weight:400;line-height:1.35}.sp .sub{color:var(--muted);margin:0 0 14px}.sp .card{background:var(--surface);border:2px solid var(--line);border-radius:20px;padding:18px 20px}.sp .stack{flex-direction:column;gap:14px;display:flex}.sp .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp .muted{color:var(--muted)}.sp .small{font-size:13px}.sp .btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;box-shadow:0 4px 0 var(--accent-shade);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 20px;font-size:15px;font-weight:800;text-decoration:none;transition:transform 50ms,box-shadow 50ms;display:inline-flex}.sp .btn:active{box-shadow:0 1px 0 var(--accent-shade);transform:translateY(3px)}.sp .btn.ghost{color:var(--accent);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);background:#fff}.sp .btn.ghost:active{box-shadow:0 1px 0 var(--line)}.sp .btn.sun{background:var(--sun);color:#3b2a00;box-shadow:0 4px 0 var(--sun-shade)}.sp .btn.green{background:var(--good-strong);box-shadow:0 4px 0 var(--good-shade)}.sp .btn.orange{background:var(--more-strong);box-shadow:0 4px 0 var(--more-shade)}.sp .btn.red{background:var(--again-strong);box-shadow:0 4px 0 var(--again-shade)}.sp .btn.big{width:100%;min-height:56px;padding:15px 22px;font-size:17px}.sp .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sp .btn:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sp a:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sp textarea:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sp input:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sp button:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sp .linkbtn{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-height:44px;padding:10px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.sp .pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.sp .pill.gray{background:var(--sunk);color:var(--muted)}.sp .pill.good{background:var(--good-bg);color:var(--good)}.sp .pill.sun{color:var(--sun-ink);background:#ffedb3}.sp .alert{background:var(--more-bg);color:var(--more);border-radius:14px;padding:12px 14px;font-size:14px}.sp .alert.good{background:var(--good-bg);color:var(--good)}.sp .alert.bad{background:var(--again-bg);color:var(--again)}.sp input[type=text],.sp textarea{border:2px solid var(--line);background:var(--sunk);width:100%;color:var(--ink);font:inherit;border-radius:16px;padding:12px 14px;font-size:16px}.sp input[type=text]:focus,.sp textarea:focus{border-color:var(--accent);background:#fff;outline:none}.sp textarea{resize:vertical;min-height:88px}.sp label.chk{border-bottom:2px solid var(--line);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 0;display:flex}.sp label.chk input{width:18px;height:18px;accent-color:var(--accent);margin-top:5px}.sp .logo{font-family:var(--round);color:var(--ink);align-items:center;gap:8px;font-size:18px;text-decoration:none;display:flex}.sp .logo img{object-fit:contain;width:28px;height:28px}.sp .logo small{color:var(--accent);font-size:15px}.sp .say{align-items:flex-end;gap:10px;display:flex}.sp .say img{flex:none;width:72px;height:auto}.sp .say .bub{border:2px solid var(--line);background:#fff;border-radius:18px;flex:1;margin-bottom:14px;padding:12px 14px;font-size:15px;font-weight:500;line-height:1.55}.sp .say .bub small{color:var(--muted);margin-top:4px;font-size:13px;font-weight:400;display:block}.sp .tabbar{z-index:10;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:2px solid #f1eef7;position:fixed;bottom:0;left:0;right:0}.sp .tabbar .in{max-width:760px;height:var(--tabh);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;display:grid}.sp .tabbar a{color:#8f88a8;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.sp .tabbar a svg{width:26px;height:26px}.sp .tabbar a.on{color:var(--accent);font-weight:800}.sp .landing{text-align:center;flex-direction:column;align-items:center;max-width:520px;margin:0 auto;padding:24px 20px 28px;display:flex}.sp .hero-box{background:var(--sun-soft);border-radius:32px;flex-direction:column;align-items:center;width:100%;padding:30px 20px 24px;display:flex}.sp .landing .hero-img{width:min(220px,56vw);height:auto}@media (prefers-reduced-motion:no-preference){.sp .landing .hero-img{animation:4s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-8px)}}}.sp .bubble{background:#fff;border:2px solid #efe6c6;border-radius:20px;max-width:320px;margin:0 0 18px;padding:12px 18px;font-weight:500;position:relative}.sp .bubble:after{content:"";background:#fff;border-bottom:2px solid #efe6c6;border-right:2px solid #efe6c6;width:16px;height:16px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.sp .landing .lead{word-break:keep-all;color:var(--muted);max-width:420px;margin:0 auto 22px}.sp .landing .cta{flex-direction:column;gap:14px;width:min(380px,100%);display:flex}.sp .brand-mark{justify-content:center;align-items:center;gap:12px;margin:22px 0 8px;display:flex}.sp .brand-mark .w{font-family:var(--round);color:var(--ink);font-size:max(40px,min(10vw,56px));line-height:1}.sp .brand-mark .fr{border:4px solid var(--sun);width:max(62px,min(15vw,88px));height:max(62px,min(15vw,88px));box-shadow:0 4px 0 var(--sun-shade);background:#fff;border-radius:18px;flex:none;padding:5px}.sp .brand-mark .fr i{width:100%;height:100%;font-style:normal;font-family:var(--round);color:var(--accent);border-radius:10px;justify-content:center;align-items:center;font-size:max(34px,min(8.5vw,50px));line-height:1;display:flex}.sp .lead b{color:var(--accent);font-family:var(--round);font-size:20px;font-weight:400}.sp .lp-top{z-index:5;background:#fffffff5;border-bottom:2px solid #f1eef7;justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:10px 20px;display:flex;position:sticky;top:0}.sp .lp-login{border:2px solid var(--accent);min-height:44px;color:var(--accent);border-radius:12px;align-items:center;padding:0 18px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.sp .lp-login:hover{background:var(--accent-soft)}.sp .cta-note{color:var(--muted);text-align:center;margin:-4px 0 0;font-size:13px}@media (max-width:1023px){.sp .landing{padding-top:16px}.sp .hero-box{text-align:left;border-radius:24px;flex-direction:row;gap:12px;padding:14px 16px}.sp .hero-box .bubble{order:2;margin:0;padding:10px 14px;font-size:14px}.sp .hero-box .bubble:after{top:50%;bottom:auto;left:-10px;transform:translateY(-50%)rotate(135deg)}.sp .landing .hero-img{flex:none;width:96px}.sp .brand-mark{margin:18px 0 6px}.sp .landing .lead{margin-bottom:18px}}.sp .scroll-hint{color:var(--muted);margin-top:18px;font-size:14px;font-weight:700;text-decoration:none}.sp .lp-sec{border-top:2px solid #f1eef7;max-width:760px;margin:0 auto;padding:40px 20px}.sp .lp-eye{color:var(--accent);margin:0 0 6px;font-size:13px;font-weight:800}.sp .lp-h{text-wrap:balance;margin:0 0 18px;font-size:max(22px,min(5vw,28px))}.sp .lp-p{color:var(--ink);margin:16px 0 0}.sp .poem{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.sp .poem li{border:2px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:16px;padding:12px 18px;display:flex}.sp .poem b{background:var(--accent);width:52px;height:52px;box-shadow:0 4px 0 var(--accent-shade);color:#fff;font-family:var(--round);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:28px;font-weight:400;display:flex}.sp .poem li:nth-child(2) b{background:var(--sun);color:#3b2a00;box-shadow:0 4px 0 var(--sun-shade)}.sp .poem li:nth-child(3) b{background:var(--good-strong);box-shadow:0 4px 0 var(--good-shade)}.sp .poem li:nth-child(4) b{background:#2f7de1;box-shadow:0 4px #1f5db0}.sp .poem span{font-size:max(16px,min(4vw,20px));font-weight:500}.sp .scenes{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:520px){.sp .scenes{grid-template-columns:1fr}}.sp .scene{background:var(--sunk);border-radius:18px;padding:14px 16px}.sp .scene b{font-size:16px;font-family:var(--round);font-weight:400}.sp .scene p{color:var(--muted);margin:4px 0 0;font-size:14px}.sp .how{flex-direction:column;gap:12px;margin:0 0 18px;padding:0;list-style:none;display:flex}.sp .how li{align-items:flex-start;gap:14px;display:flex}.sp .how li>span{background:var(--sun);color:#3b2a00;width:34px;height:34px;font-family:var(--round);box-shadow:0 3px 0 var(--sun-shade);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}.sp .how b{font-size:16px}.sp .how p{color:var(--muted);margin:2px 0 0;font-size:14px}.sp .ex{background:var(--passage);border:2px solid var(--passage-line);border-radius:20px;padding:16px 18px}.sp .ex-label{color:var(--sun-ink);margin:0 0 6px;font-size:12px;font-weight:800}.sp .ex-text{margin:0 0 14px;font-size:16px;line-height:1.85}.sp .ex-pair{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:10px;display:grid}@media (max-width:520px){.sp .ex-pair{grid-template-columns:1fr}.sp .ex-pair .to{justify-self:center;transform:rotate(90deg)}}.sp .ex-pair>div{border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px}.sp .ex-pair .to{color:var(--accent);background:0 0;border:0;align-self:center;padding:0;font-size:20px}.sp .ex-pair .fin{border-color:var(--accent);background:var(--accent-soft)}.sp .ex-pair small{color:var(--muted);font-size:12px;font-weight:700}.sp .ex-pair p{margin:2px 0 0;font-weight:500}.sp .ex-pair mark{color:inherit;background:#fdeba6;border-radius:3px;padding:0 2px}.sp .ex-note{color:var(--muted);margin:10px 0 0;font-size:13px}.sp .grow{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width:640px){.sp .grow{grid-template-columns:minmax(0,1fr)}}.sp .grow-item{border:2px solid var(--line);background:#fff;border-radius:20px;min-width:0;padding:16px}.sp .grow-item b{font-size:15px}.sp .grow-item p{color:var(--muted);margin:6px 0 0;font-size:14px}.sp .viz{background:var(--sunk);border-radius:14px;flex-direction:column;justify-content:center;height:150px;margin:-2px 0 12px;padding:10px;display:flex;overflow:hidden}.sp .viz-chart svg{width:100%;height:auto;display:block}.sp .viz-chart .g line{stroke:var(--line);stroke-width:1px}.sp .viz-chart .ax text{fill:var(--muted);font-family:inherit;font-size:10px}.sp .viz-chart .ln{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}.sp .viz-chart .dt circle{fill:var(--accent);stroke:var(--sunk);stroke-width:2px}.sp .viz-chart .chips{flex-wrap:nowrap;justify-content:center;gap:4px;margin-top:2px;display:flex}.sp .viz-chart .chips span{white-space:nowrap;background:var(--good-bg);color:var(--good);border-radius:999px;padding:0 7px;font-size:10px;font-weight:700}.sp .viz-cert{align-items:center}.sp .cert{background:#fff;border:3px double #b8860b;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:88%;height:128px;display:flex;position:relative}.sp .cert .c1{letter-spacing:.2em;color:var(--accent);font-size:9.5px;font-weight:700}.sp .cert .c2{color:var(--ink);font-size:17px;font-weight:800}.sp .cert .c3{color:#b8860b;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.sp .cert .c4{color:var(--muted);text-align:center;margin-top:2px;font-size:9.5px;line-height:1.4}.sp .cert .seal{color:#c0392b;border:2px solid #c0392b;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:9.5px;font-weight:800;display:inline-flex;transform:rotate(-12deg)}.sp .viz-note{justify-content:flex-start}.sp .note{border:2px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:8px 10px;display:flex;overflow:hidden}.sp .note .nh{color:var(--accent);font-size:11px;font-weight:800}.sp .note .nl{border-top:1px solid var(--line);align-items:baseline;gap:6px;min-width:0;padding-top:5px;font-size:11.5px;line-height:1.4;display:flex}.sp .note .nl b{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.sp .note .nl i{color:var(--accent);background:var(--accent-soft);border-radius:4px;flex:none;padding:0 5px;font-size:10px;font-style:normal;font-weight:700}.sp .lp-end{text-align:center;flex-direction:column;align-items:center;display:flex}.sp .lp-end .end-img{width:120px;margin-bottom:8px}.sp .lp-end .cta{margin-top:20px}.sp .foot{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:36px;font-size:12px;display:flex}.sp .foot a{color:var(--muted)}.sp .sso{border:2px solid var(--line);width:100%;box-shadow:0 4px 0 var(--line);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 16px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.sp .sso.google{color:#1f1f1f;background:#fff}.sp .sso.kakao{color:#191600;background:#fee500;border-color:#fee500;box-shadow:0 4px #d9c300}.sp .sso.off{opacity:.45;pointer-events:none}.sp .tr-top{z-index:5;background:#fff;align-items:center;gap:8px;max-width:1180px;margin:0 auto;padding:10px 20px 10px 8px;display:flex;position:sticky;top:0}.sp .tr-top .x{color:#8f88a8;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;display:flex}.sp .pbar{background:#edeaf5;border-radius:8px;flex:1;height:16px;overflow:hidden}.sp .pbar i{background:var(--sun);border-radius:8px;height:100%;transition:width .3s;display:block}.sp .tr-top .cnt{color:var(--muted);text-align:right;flex:none;min-width:34px;font-size:13px;font-weight:800}.sp .passage{background:var(--passage);border:2px solid var(--passage-line);border-radius:20px;padding:18px 18px 16px}.sp .passage h2{margin:6px 0;font-size:21px}.sp .passage p.text{color:#2f2a45;margin:0;font-size:16.5px;line-height:1.85}.sp .passage ul{color:var(--muted);margin:10px 0 0;padding-left:16px;font-size:12px}.sp .passage ul a{color:var(--muted)}.sp .passage.nosrc ul{display:none}.sp .wd{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;background:0 0;border:0;border-radius:4px;margin:0;padding:1px 0}.sp button.wd{cursor:pointer}.sp button.wd:hover:not(.m2):not(.m4):not(.m4a){background:var(--again-bg)}.sp button.wd:focus-visible{outline:2px solid var(--again-strong);outline-offset:1px}.sp .wd.m1,.sp .wd.m2,.sp .wd.m3{text-underline-offset:5px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.sp .wd.m1{color:#d92d20}.sp .wd.m2{color:#6b4fd8;background:#eee9fd}.sp .wd.m3{color:#1d5fd1}.sp .wd.m4a{background:#fff0a8}.sp .wd.m4{background:#ffc93c;font-weight:800;box-shadow:inset 0 -3px #c98a00}.sp .marked{border:2px solid var(--line);background:var(--sunk);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;padding:10px 12px;display:flex}.sp .marked span{color:#d92d20;background:#fff;border:2px solid #f3b7b0;border-radius:12px;padding:4px 12px;font-size:15px;font-weight:800}.sp .marked span.c-m4a{color:#5a4a00;background:#fff0a8;border-color:#f3de8a}.sp .marked span.c-m2{color:#6b4fd8;background:#eee9fd;border-color:#c9bcf7}.sp .marked span.c-m3{color:#1d5fd1;border-color:#afc8f2}.sp .marked span.c-m4{color:#3d2e00;background:#ffc93c;border-color:#c98a00}.sp .hintbtn{border:2px solid var(--sun);color:#7a5a00;min-height:40px;font:inherit;cursor:pointer;background:#fff6d6;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:800;display:inline-flex}.sp .hintbtn[aria-expanded=true]{background:var(--sun)}.sp .wd.miss{outline-offset:1px;outline:2px dashed #6e6788}.sp .wd.wrong{opacity:.6;-webkit-text-decoration:line-through #6e6788;text-decoration:line-through #6e6788;text-decoration-thickness:2px}.sp .pair div.model{background:var(--good-bg)}.sp .pair .checks{background:0 0;border-radius:0;padding:0}.sp .pair div.model b{color:var(--good)}.sp .scorecard{flex-direction:column;gap:10px;display:flex}.sp .scorecard .total{align-items:baseline;gap:8px;display:flex}.sp .scorecard .total span{font-weight:800}.sp .scorecard .total b{font-family:var(--round);color:var(--accent);font-size:40px;font-weight:400;line-height:1}.sp .scorecard td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sp .marked em{color:var(--muted);font-size:15px;font-style:normal}.sp .step-hd{flex-direction:column;gap:8px;margin:0;display:flex}.sp .step-hd .no{color:#fff;background:var(--accent);border-radius:999px;align-self:flex-start;padding:3px 12px;font-size:14px;font-weight:800}.sp .step-hd h2{color:var(--ink);margin:0;font-size:26px}.sp .step-do{color:var(--ink);word-break:keep-all;margin:0;font-size:19px;font-weight:800;line-height:1.5}.sp .step-do .c1{color:#d92d20}.sp .step-do .c2{color:#6b4fd8}.sp .step-do .c3{color:#1d5fd1}.sp .step-do .c4a{background:#fff0a8;border-radius:4px;padding:0 3px}.sp .step-do .c4{background:#ffc93c;border-radius:4px;padding:0 3px}.sp .ans-label{margin-bottom:6px;font-size:15px;font-weight:800;display:block}.sp .picks{flex-wrap:wrap;gap:10px;display:flex}.sp .pick{border:2px solid var(--line);color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--line);background:#fff;border-radius:14px;min-height:48px;padding:10px 16px;font-size:16px;font-weight:700}.sp .pick:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.sp .pick.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 4px #cfc4f5}.sp .chs{flex-direction:column;gap:10px;display:flex}.sp .chs .pick{text-align:left;width:100%}.sp .chs .pick.no{color:var(--muted);opacity:.6;box-shadow:none;cursor:default;text-decoration:line-through}.sp .chs .pick.ok{color:#14663a;background:#e7f6ec;border-color:#1e8a4c;box-shadow:0 4px #bfe5cc}.sp .chs .pick:disabled:not(.no):not(.ok){cursor:default;opacity:.7}.sp .mat{border:2px solid var(--accent);box-shadow:0 4px 0 var(--accent-soft);border-radius:18px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.sp .mat .mh{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sp .mat .mh b{font-family:var(--round);font-size:19px;font-weight:400}.sp .mat .ml{flex-direction:column;gap:6px;display:flex}.sp .mat .ml>span{font-size:12px;font-weight:800}.sp .mat .cs{flex-wrap:wrap;gap:8px;display:flex}.sp .mat .cs span{border:2px solid;border-radius:12px;padding:4px 12px;font-size:15px;font-weight:800}.sp .mat .k-s>span{color:#1d5fd1}.sp .mat .k-s .cs span{color:#1d5fd1;background:#fff;border-color:#afc8f2}.sp .mat .k-c>span{color:#6b4fd8}.sp .mat .k-c .cs span{color:#6b4fd8;background:#eee9fd;border-color:#c9bcf7}.sp .mat .k-m>span{color:#8c6a00}.sp .mat .k-m .cs span{color:#3d2e00;background:#ffc93c;border-color:#c98a00}.sp .mat .k-m .cs s{opacity:.6;font-weight:500}.sp .prebox{background:var(--sunk);border-radius:14px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.sp .prebox small{color:var(--muted);font-size:12px;font-weight:800}.sp .crit{background:var(--sunk);color:#3d3852;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;font-size:14px;display:flex}.sp .crit b{color:var(--ink)}.sp .sheet{background:var(--sunk);border-radius:22px;flex-direction:column;gap:12px;padding:18px 18px 20px;display:flex}.sp .sheet .hd{font-family:var(--round);align-items:center;gap:10px;font-size:23px;display:flex}.sp .sheet .hd i{background:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sp .sheet .hd svg{width:20px;height:20px}.sp .sheet .tx{white-space:pre-wrap;margin:0;font-size:15px;line-height:1.75}.sp .sheet.good{background:var(--good-bg)}.sp .sheet.good .hd{color:var(--good)}.sp .sheet.good .hd i{background:var(--good-strong)}.sp .sheet.good .tx{color:#1d4a2e}.sp .sheet.more{background:var(--more-bg)}.sp .sheet.more .hd{color:var(--more)}.sp .sheet.more .hd i{background:var(--more-strong)}.sp .sheet.more .tx{color:#5a3d00}.sp .sheet.again{background:var(--again-bg)}.sp .sheet.again .hd{color:var(--again)}.sp .sheet.again .hd i{background:var(--again-strong)}.sp .sheet.again .tx{color:#5c2112}.sp .navrow{align-items:center;gap:10px;display:flex}.sp .navrow .btn{flex:1}.sp .pair{flex-direction:column;gap:8px;display:flex}.sp .pair div{background:var(--sunk);border-radius:16px;padding:12px 16px}.sp .pair div.fin{background:var(--accent-soft)}.sp .pair b{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:800;display:block}.sp .pair div.fin b{color:var(--accent)}.sp .pair div.fin span{font-weight:700}.sp .checks{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sp .ck{background:var(--sunk);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.sp .ck.y{background:var(--good-bg);color:var(--good)}.sp .ck.n{background:var(--again-bg);color:var(--again)}.sp .done-hero{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:8px 0 4px;display:flex}.sp .done-hero img{width:130px;height:auto}.sp .done-hero h2{color:#d98e00;margin:6px 0 0;font-size:32px}.sp .tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sp .tile{border:2px solid var(--sun);text-align:center;border-radius:16px;overflow:hidden}.sp .tile span{background:var(--sun);color:#5a4300;padding:4px 0;font-size:12px;font-weight:800;display:block}.sp .tile b{font-family:var(--round);color:#b97800;padding:8px 0;font-size:22px;font-weight:400;display:block}.sp .tile.p{border-color:var(--accent)}.sp .tile.p span{background:var(--accent);color:#fff}.sp .tile.p b{color:var(--accent)}.sp .tile.g{border-color:var(--good-strong)}.sp .tile.g span{background:var(--good-strong);color:#fff}.sp .tile.g b{color:var(--good-shade)}.sp .statbar{z-index:5;background:#fff;border-bottom:2px solid #f1eef7;position:sticky;top:0}.sp .statbar .in{justify-content:space-between;align-items:center;max-width:760px;height:60px;margin:0 auto;padding:0 20px;display:flex}.sp .statbar .it{font-family:var(--round);align-items:center;gap:6px;font-size:18px;display:flex}.sp .statbar .lv{color:var(--accent)}.sp .statbar .lv b{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:400;display:flex}.sp .statbar .fire{color:#e07a00}.sp .statbar .ok{color:#1e8a4c}.sp .statbar .rk{color:#a06e00;text-decoration:none}.sp .statbar svg{width:22px;height:22px}.sp .unit{background:var(--accent);box-shadow:0 4px 0 var(--accent-shade);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:16px 20px;display:flex}.sp .unit small{opacity:.85;font-size:13px;font-weight:700;display:block}.sp .unit strong{font-family:var(--round);font-size:22px;font-weight:400}.sp .unit a{color:#fff;border:2px solid #ffffff8c;border-radius:12px;flex:none;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.sp .path{flex-direction:column;align-items:center;gap:26px;padding:30px 0 20px;display:flex}.sp .today{background:var(--sun-soft);border:2px solid var(--sun);color:var(--ink);border-radius:18px;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;text-decoration:none;display:flex}.sp .today img{object-fit:contain;flex:none;width:64px;height:64px}.sp .today .tx{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp .today small{color:var(--sun-ink);font-size:12px;font-weight:800}.sp .today b{font-family:var(--round);font-size:20px;font-weight:400;line-height:1.3}.sp .today .tx>span{color:var(--muted);font-size:12px}.sp .today .go{background:var(--accent);width:48px;height:48px;box-shadow:0 4px 0 var(--accent-shade);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.sp .today .go svg{width:22px;height:22px}.sp .today.wait{background:var(--sunk);border-color:var(--line)}.sp .today.wait .go{color:#fff;background:#d6d0e6;box-shadow:0 4px #bdb6d2}.sp .uhead{justify-content:space-between;align-items:baseline;gap:8px;margin:22px 2px 8px;display:flex}.sp .uhead h2{margin:0}.sp .units{flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.sp .ubox{background:var(--sunk);border-radius:18px;padding:4px 16px}.sp .ubox.cur{border:2px solid var(--accent);box-shadow:0 4px 0 var(--accent-soft);background:#fff;padding:6px 16px 10px}.sp .ubox summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:52px;list-style:none;display:flex}.sp .ubox .uhd{justify-content:space-between;align-items:center;gap:10px;min-height:52px;display:flex}.sp .ubox summary::-webkit-details-marker{display:none}.sp .ubox .un{font-family:var(--round);flex-direction:column;font-size:18px;line-height:1.3;display:flex}.sp .ubox .un small{color:var(--muted);font-family:Noto Sans KR,sans-serif;font-size:12px}.sp .ubox.locked .un{color:#8f88a8}.sp .ubox summary svg{color:#a9a3bf;flex:none;width:18px;height:18px}.sp .ubox .cnt{color:var(--accent);font-size:12px;font-weight:800}.sp .ubar{background:#edeaf5;border-radius:4px;height:8px;margin:0 0 6px}.sp .ubar i{background:var(--sun);border-radius:4px;height:100%;display:block}.sp .ubox .rows{flex-direction:column;display:flex}.sp .lrow{min-height:48px;color:var(--ink);border-top:1px solid #f1eef7;align-items:center;gap:10px;padding:4px 0;text-decoration:none;display:flex}.sp .lrow .mk{width:28px;height:28px;font-family:var(--round);color:#a9a3bf;background:#edeaf5;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;display:flex}.sp .lrow .mk svg{width:16px;height:16px}.sp .lrow .tt{word-break:keep-all;flex-direction:column;flex:1;min-width:0;font-size:14px;font-weight:700;line-height:1.4;display:flex}.sp .lrow .tt small{color:#8f88a8;font-size:11px;font-weight:500}.sp .lrow.done .mk{background:var(--sun)}.sp .lrow.done .sc{color:var(--sun-ink);font-size:13px;font-weight:800}.sp .lrow.now .mk{background:var(--accent);color:#fff}.sp .lrow.now .tt{color:var(--accent-shade)}.sp .lrow.now .st{background:var(--accent);box-shadow:0 3px 0 var(--accent-shade);color:#fff;border-radius:12px;flex:none;padding:7px 14px;font-size:13px;font-weight:800}.sp .lrow.lock .tt{color:#a9a3bf}.sp .lrow .lk svg{color:#a9a3bf;width:16px;height:16px}.sp .node{text-align:center;flex-direction:column;align-items:center;gap:6px;max-width:180px;display:flex;position:relative}.sp .node .c{width:70px;height:70px;font-family:var(--round);border-radius:50%;justify-content:center;align-items:center;font-size:24px;text-decoration:none;display:flex}.sp .node .t{word-break:keep-all;font-size:12px;font-weight:700;line-height:1.35}.sp .node.done .c{background:var(--sun);box-shadow:0 5px 0 var(--sun-shade)}.sp .node.done .t{color:#8c7a3a}.sp .node.now .c{background:var(--accent);width:84px;height:84px;box-shadow:0 6px 0 var(--accent-shade);outline:6px solid var(--accent-soft)}.sp .node.now .t{color:var(--accent)}.sp .node.lock .c{color:#a9a3bf;cursor:default;background:#edeaf5;box-shadow:0 5px #d6d0e6}.sp .node.lock .t{color:#a9a3bf}.sp .node .tag{border:2px solid var(--line);font-family:var(--round);color:var(--accent);white-space:nowrap;background:#fff;border-radius:12px;padding:3px 12px;font-size:16px}.sp .node .buddy{width:78px;margin-left:8px;position:absolute;top:22px;left:100%}.sp .node.flip .buddy{margin-left:0;margin-right:8px;left:auto;right:100%}.sp .node svg{width:32px;height:32px}.sp .homecard{align-items:center;gap:14px;display:flex}.sp .homecard img{flex:none;width:70px}.sp .llist{flex-direction:column;gap:8px;display:flex}.sp .litem{border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex}.sp .litem .n{width:40px;height:40px;font-family:var(--round);color:#8f88a8;background:#edeaf5;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;display:flex}.sp .litem .tt{flex-direction:column;flex:1;min-width:0;display:flex}.sp .litem .tt b{font-size:15px;font-weight:500;line-height:1.4}.sp .litem .tt span{color:var(--muted);font-size:12px}.sp .litem .st{flex:none;font-size:12px;font-weight:800}.sp .litem.done .n{background:var(--sun);color:#fff}.sp .litem.done .st{color:#8c7a3a}.sp .litem.now{border-color:var(--accent);background:var(--accent-soft)}.sp .litem.now .n{background:var(--accent);color:#fff}.sp .litem.now .st{color:var(--accent)}.sp .litem.lock{background:var(--sunk);color:#8f88a8;pointer-events:none;border-color:#0000}.sp .q{border:2px solid var(--line);background:#fff;border-radius:18px;margin-top:12px;overflow:hidden}.sp .q-head{background:var(--sunk);align-items:baseline;gap:10px;padding:12px 16px;display:flex}.sp .q-no{font-family:var(--round);color:#fff;background:var(--accent);border-radius:8px;flex:none;padding:1px 9px;font-size:15px}.sp .q-title{margin:0;font-weight:700}.sp .q-body{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.sp .stats{flex-wrap:wrap;gap:22px;display:flex}.sp .stat b{font-family:var(--round);font-size:26px;font-weight:400;line-height:1.2;display:block}.sp .stat span{color:var(--muted);font-size:12px}.sp .bar{background:#edeaf5;border-radius:6px;height:12px;overflow:hidden}.sp .bar i{background:var(--sun);border-radius:6px;height:100%;display:block}.sp .dots{grid-template-columns:repeat(15,1fr);gap:4px;display:grid}.sp .dots i{aspect-ratio:1;background:#edeaf5;border-radius:50%}.sp .dots i.d{background:var(--sun)}.sp .tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.sp .tabs a{color:var(--muted);background:var(--sunk);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;text-decoration:none}.sp .tabs a.on{color:#fff;background:var(--accent)}.sp .chart-wrap{position:relative;overflow-x:auto}.sp .chart-wrap svg{width:100%;min-width:280px;height:auto;display:block}.sp .chart-wrap .ax{fill:var(--muted);font-family:inherit;font-size:11px}.sp .chart-wrap .grid{stroke:var(--line);stroke-width:1px}.sp .chart-wrap .ln{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}.sp .chart-wrap .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.sp .chart-wrap .hit{fill:#0000;cursor:pointer}.sp .tip{pointer-events:none;background:var(--ink);color:var(--surface);white-space:nowrap;border-radius:8px;padding:6px 8px;font-size:12px;position:absolute;transform:translate(-50%,-115%)}.sp .hbars{grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;font-size:13px;display:grid}.sp .hbars .v{font-variant-numeric:tabular-nums;color:var(--muted)}.sp table.t{border-collapse:collapse;width:100%;font-size:14px}.sp table.t th,.sp table.t td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 6px}.sp table.t th{color:var(--muted);font-size:13px;font-weight:500}.sp .tw{overflow-x:auto}.sp .plans{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sp .plan{border:2px solid var(--line);text-align:left;cursor:pointer;box-shadow:0 4px 0 var(--line);background:#fff;border-radius:18px;padding:14px}.sp .plan b{font-family:var(--round);font-size:22px;font-weight:400;display:block}.sp .plan.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 4px #cfc4f5}.sp .opt{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.sp .opt input{accent-color:var(--accent);margin-top:5px}.sp .toast{left:50%;bottom:calc(var(--tabh) + 16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff;z-index:20;border-radius:12px;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.sp .tr-grid{flex-direction:column;gap:16px;display:flex}@media (min-width:700px){.sp .wrap{padding:0 24px 72px}.sp h1{font-size:30px}}@media (min-width:1024px){.sp .landing{text-align:left;flex-direction:row;align-items:center;gap:56px;max-width:1080px;padding:64px 32px 48px}.sp .hero-box{flex:1}.sp .hero-r{flex-direction:column;flex:1;align-items:flex-start;display:flex}.sp .hero-r .brand-mark{justify-content:flex-start}.sp .hero-r .lead{margin-left:0}.sp .lp-sec{max-width:1080px;padding:56px 32px}.sp .poem{max-width:640px;margin-left:auto;margin-right:auto}.sp .lp-sec .lp-eye,.sp .lp-sec .lp-h,.sp .lp-sec .lp-p{text-align:center}.sp .how{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto}.sp .scenes{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:860px){.sp[data-page=lesson] .wrap,.sp[data-page=try] .wrap{max-width:1180px}.sp .tr-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:28px;display:grid}.sp .tr-side{position:sticky;top:76px}.sp .passage p.text{font-size:18px}}.sp{--round:"NanumSquareRound","Malgun Gothic","맑은 고딕",sans-serif;background:0 0;font-family:NanumSquareRound,Malgun Gothic,맑은 고딕,system-ui,sans-serif}.sp h1,.sp h2,.sp .step-hd h2,.sp .sheet .hd,.sp .scorecard .total b,.sp .stat b,.sp .mat .mh b,.sp .ubox .un,.sp .today b{font-weight:800}.sp .wrap{max-width:none;padding:0 0 48px}.sp .tr-top{background:var(--bg);max-width:none;padding:10px 0;position:sticky;top:0}.sp .say .pe-mascot-img{width:64px!important;height:64px!important}.sp .say figure{flex:none}.sp .lsum{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.sp .parnav{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.sp .parnav button{border:2px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;min-height:36px;padding:4px 12px;font-size:13px;font-weight:800}.sp .parnav button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sp .parnav button.done{border-color:var(--sun);background:var(--sun-soft);color:var(--sun-ink)}.sp .x{color:#8f88a8;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.sp .x svg{width:24px;height:24px}.sp .sheet .hd i svg{stroke:#fff}@media (min-width:900px){.sp .tr-side{top:70px}}.pe-learner:has(.sp){background:#fff}.sp .paintbox{background:var(--passage);border:2px solid var(--passage-line);border-radius:16px;padding:14px 16px;font-size:18px;line-height:2.1}.sp .paintbox button.wd{cursor:pointer}
.CourseEditor-module__jvspPW__itemRow{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.CourseEditor-module__jvspPW__itemRow strong{overflow-wrap:anywhere;min-width:0}.CourseEditor-module__jvspPW__itemEditor{max-height:min(65vh,680px);overflow-y:auto}
