:root{--sans:system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--ink:#182338;--bg:#f5f7fc;--card:#fff;--sub:#57627c;--line:#e6eaf3;--brand:#3350e0;--brand-soft:#eef2ff;--mint:#0fae7a;--heart:#c23a58;--radius:14px}@media (prefers-color-scheme:dark){:root{--ink:#e7eaf0;--bg:#0f1319;--card:#161b23;--sub:#98a1b2;--line:#242b36;--brand:#7c93ff;--brand-soft:#1d2438;--mint:#2fc493}}*{box-sizing:border-box}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%}.tnum{font-variant-numeric:tabular-nums}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.site-top{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:14px 0;display:flex}.site-top .inner{align-items:center;gap:22px;width:100%;display:flex}.brand{letter-spacing:-.03em;color:var(--brand);font-size:21px;font-weight:800}.brand em{color:var(--ink);font-style:normal}.nav{color:var(--sub);gap:18px;font-size:14px;font-weight:600;display:flex}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav-toggle{display:none}@media (width<=720px){.site-top .inner{flex-wrap:wrap}.nav-toggle{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:10px 14px;font-size:18px;line-height:1;display:inline-flex}.nav-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.nav{flex-direction:column;gap:0;width:100%;margin-top:10px;display:none}.site-top.nav-open .nav{display:flex}.nav a{border-top:1px solid var(--line);padding:12px 4px;font-size:15px}}.grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=860px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid{grid-template-columns:1fr}}.grid-cats{grid-template-columns:repeat(6,1fr)}@media (width<=860px){.grid-cats{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.grid-cats{grid-template-columns:repeat(2,1fr)}}.grid-balanced>:last-child:nth-child(3n+1){grid-column:span 2}@media (width<=860px){.grid-balanced>:last-child:nth-child(odd){grid-column:span 2}}@media (width<=560px){.grid-balanced>:last-child{grid-column:auto}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:15px 16px;display:flex}.mock-promo{border-radius:var(--radius);color:#fff;background:linear-gradient(118deg,#2f4be0 0%,#4a5fe8 58%,#6a54e6 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 30px;margin:8px 0 6px;padding:24px 28px;text-decoration:none;display:flex;box-shadow:0 10px 26px -14px #2f4be099}.mock-promo .mp-body{flex-direction:column;gap:7px;min-width:0;display:flex}.mock-promo .mp-eyebrow{letter-spacing:.02em;color:#dfe6ff;font-size:12.5px;font-weight:800}.mock-promo .mp-title{letter-spacing:-.02em;font-size:clamp(19px,2.4vw,23px);font-weight:800;line-height:1.25}.mock-promo .mp-sub{color:#e7ebff;opacity:.92;font-size:13.5px;line-height:1.55}.mock-promo .mp-types{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.mock-promo .mp-types span{color:#fff;background:#ffffff29;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.mock-promo .mp-cta{color:#2f4be0;white-space:nowrap;background:#fff;border-radius:11px;flex:none;align-self:center;padding:13px 22px;font-size:14.5px;font-weight:800}.mock-promo:hover .mp-cta{background:var(--mint);color:#fff}@media (width<=560px){.mock-promo{padding:20px 18px}.mock-promo .mp-cta{text-align:center;width:100%}}.grade-select{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center;max-width:520px;margin:0 auto 18px;padding:16px 18px 18px}.grade-select .gs-label{color:var(--ink);letter-spacing:-.01em;margin-bottom:12px;font-size:14.5px;font-weight:800;display:block}.grade-select .gs-opts{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.grade-select .gs-opt{border:1.5px solid var(--line);background:var(--card);min-width:70px;color:var(--sub);border-radius:12px;padding:12px 20px;font-size:15px;font-weight:700;text-decoration:none;transition:all .12s}.grade-select .gs-opt:hover{border-color:var(--brand);color:var(--brand)}.grade-select .gs-opt.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 16px -8px var(--brand)}.badge{color:var(--brand);background:var(--brand-soft);border-radius:6px;align-self:flex-start;padding:4px 9px;font-size:11px;font-weight:700}.card .t{letter-spacing:-.01em;font-size:14.5px;font-weight:700;line-height:1.35}.card .foot{color:var(--sub);align-items:center;gap:10px;margin-top:auto;font-size:12px;display:flex}.card .more{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:9px;margin-left:auto;padding:10px 16px;font-size:12.5px;font-weight:700}.list-item .badge{white-space:nowrap;flex:none}.pill-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;display:flex}.pill{border:1px solid var(--line);min-height:40px;color:var(--sub);background:var(--card);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:9px 15px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.pill.active{background:var(--brand);color:#fff;border-color:var(--brand)}.q-set{border:0;margin:0;padding:0}.q-legend{width:100%;margin:8px 0 0;padding:0;font-weight:600}.choice{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:8px 6px;display:flex}.choice:hover{background:var(--brand-soft)}.choice input[type=radio]{flex:none}.empty-state{color:var(--sub);text-align:center;padding:30px 0}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:10px;padding:15px 40px;font-size:16px;font-weight:800;display:inline-flex}.sec-h{align-items:baseline;gap:10px;margin:26px 0 14px;display:flex}.sec-h h2{letter-spacing:-.02em;margin:0;font-size:18px}.sec-h .all{color:var(--brand);margin-left:auto;font-size:13px;font-weight:600}.detail{max-width:760px;margin:0 auto;padding:24px 20px 40px}.crumb{color:var(--sub);margin:14px 0 10px;font-size:12.5px}.d-title{letter-spacing:-.025em;text-wrap:balance;margin:0 0 12px;font-size:clamp(20px,3vw,27px);line-height:1.3}.d-meta{color:var(--sub);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-bottom:16px;font-size:12.5px;display:flex}.d-meta .tag{background:var(--brand-soft);color:var(--brand);border-radius:6px;padding:3px 9px;font-weight:700}.prose{word-break:keep-all;overflow-wrap:anywhere;font-size:15.5px;line-height:1.8}.prose img{border-radius:8px}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose a{color:var(--brand);text-underline-offset:2px;text-decoration:underline}.filebox{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:14px;margin:16px 0;padding:14px 16px;display:flex}.filebox .ico{color:#d64545;background:#fdecec;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:12px;font-weight:800;display:grid}.dlbox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center;margin:22px 0;padding:22px}.dlbtn{background:var(--mint);color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:10px;padding:15px 40px;font-size:16px;font-weight:800;display:inline-flex}.dlbox .sub{color:var(--sub);margin-top:10px;font-size:12.5px}.ad:empty,.ad:has(>ins[data-ad-status=unfilled]){display:none}.ad:not(:empty){max-width:728px;margin:18px auto}.ad.ad-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-sizing:border-box;align-self:center;max-width:none;margin:0;padding:15px 16px;overflow:hidden}.ad.ad-card>ins{width:100%;display:block}.ad.ad-card:has(>ins[data-ad-status=unfilled]){display:none}.prose a.pkg-card,.pkg-card{border:1.5px solid var(--brand);background:var(--brand-soft);border-radius:12px;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;text-decoration:none;display:flex}.pkg-card .pkg-ico{flex:none;font-size:22px}.pkg-card .pkg-body{min-width:0}.pkg-card b{letter-spacing:-.01em;color:var(--brand);font-size:14.5px;display:block}.pkg-card small{color:var(--sub);font-size:12px}.pkg-file b{color:var(--ink)}.cmt{margin-top:20px}.react-row{gap:10px;margin:18px 0;display:flex}.like-form{display:inline}.like-btn{border:1px solid var(--line);background:var(--card);color:var(--heart);cursor:pointer;border-radius:10px;min-height:40px;padding:10px 16px;font-size:12.5px;font-weight:700}.like-btn.liked{background:var(--heart);color:#fff;border-color:var(--heart)}.share-bar{flex-wrap:wrap;gap:8px;display:inline-flex}.share-bar button,.share-bar a{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;min-height:40px;padding:10px 16px;font-size:12.5px;font-weight:600;display:inline-flex}.cmt-item{border-bottom:1px dashed var(--line);gap:10px;padding:12px 0;display:flex}.cmt-item.reply{margin-left:34px}.cmt-item .av{background:var(--brand-soft);width:30px;height:30px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.cmt-item .meta{color:var(--sub);font-size:11.5px}.cmt-item .body{white-space:pre-line;margin-top:2px;font-size:13.5px}.cmt-form{flex-direction:column;gap:8px;margin-top:14px;display:flex}.cmt-form .hp{height:0;margin:0;position:absolute;left:-9999px;overflow:hidden}.cmt-form .row{gap:8px;display:flex}.cmt-form input,.cmt-form textarea{border:1px solid var(--line);background:var(--card);color:inherit;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:13.5px}.cmt-form .row input{flex:1;min-width:0}.cmt-form button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:9px;align-self:flex-end;padding:9px 18px;font-size:13px;font-weight:700}.list-item{border-bottom:1px solid var(--line);align-items:baseline;gap:14px;padding:14px 0;display:flex}.list-item .t{font-size:15px;font-weight:600}.list-item .d{color:var(--sub);flex:none;margin-left:auto;font-size:12px}.list-item.now{background:var(--brand-soft);border-radius:8px;padding-left:10px;padding-right:10px}.list-item.now .t{color:var(--brand)}.board-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.board-head .d-title{margin:0}.board-count{color:var(--sub);font-size:13px;font-weight:600}.board-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:2px 0 6px;padding:2px 14px}.board-list .list-item:last-child{border-bottom:0}.list-item.board-row{border-radius:8px;padding-left:8px;padding-right:8px;transition:background .12s}.list-item.board-row:hover{background:var(--brand-soft)}.list-item.board-row:hover .t{color:var(--brand)}.list-item .cc{color:var(--brand);white-space:nowrap;flex:none;font-size:12px;font-weight:700}.lb-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:2px 0 6px;padding:2px 14px}.lb-wrap .list-item:last-child{border-bottom:0}.list-item.lb-row{padding-left:8px;padding-right:8px}.lb-rank{color:var(--sub);flex:none;min-width:28px;font-size:14px;font-weight:800}.lb-score{color:var(--brand);text-align:right;flex:none;min-width:56px;font-size:14px;font-weight:700}.lb-who{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lb-name{align-items:center;gap:7px;font-size:14.5px;font-weight:600;display:flex}.lb-name .badge{flex:none}.lb-meta{color:var(--sub);font-variant-numeric:tabular-nums;font-size:11.5px}.lb-row .d,.lb-head .d{text-align:right;flex:none;min-width:82px}.lb-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:9px 8px;display:flex}.lb-head span{letter-spacing:.03em;color:var(--sub);font-size:11px;font-weight:800}.lb-head .lb-who{flex:1}.lb-cols{grid-template-columns:1fr 1fr;gap:16px 18px;display:grid}@media (width<=720px){.lb-cols{grid-template-columns:1fr}}.lb-col-h{letter-spacing:-.01em;margin:0 0 10px;font-size:15px}@media (width<=560px){.lb-head,.list-item.lb-row{gap:9px}.lb-score{min-width:44px}.lb-row .d,.lb-head .d{min-width:64px;font-size:11px}}.prose.doc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;padding:20px 22px}.doc-card p{margin:0 0 .7em}.doc-card p:last-child{margin-bottom:0}.doc-card img{margin:10px auto;display:block}@media (width<=560px){.prose.doc-card{padding:16px 15px}}.board-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:22px 0;display:flex}.board-pager .pg{border:1px solid var(--line);background:var(--card);min-width:38px;height:38px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 10px;font-size:13.5px;font-weight:600;display:inline-flex}.board-pager .pg:hover{border-color:var(--brand);color:var(--brand)}.board-pager .pg.on{background:var(--brand);border-color:var(--brand);color:#fff}.board-pager .pg.disabled{opacity:.4;pointer-events:none}.board-pager .pg-gap{color:var(--sub);font-variant-numeric:tabular-nums;padding:0 2px}.board-write .row input,.board-write>input[name=title]{padding:12px 14px;font-size:15px}.board-write>input[name=title]{font-weight:600}.board-write textarea{min-height:220px;font-size:14.5px;line-height:1.7}.board-write button{align-self:stretch;padding:13px;font-size:14.5px}.pn{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.pn-item{border:1px solid var(--line);background:var(--card);border-radius:10px;min-width:0;padding:10px 14px}.pn-item small{color:var(--sub);margin-bottom:2px;font-size:11px;display:block}.pn-item span{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.pn-item:only-child{grid-column:span 2}@media (width<=560px){.pn{grid-template-columns:1fr}.pn-item:only-child{grid-column:auto}}footer.site-foot{border-top:1px solid var(--line);color:var(--sub);text-align:center;margin-top:48px;padding:26px 0;font-size:12.5px}.foot-links{justify-content:center;gap:18px;margin-bottom:8px;display:flex}.foot-links a{color:var(--sub);font-weight:600}.foot-links a:hover{color:var(--brand)}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quiz-submit-bar{z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex;position:sticky;bottom:0}.quiz-submit-bar .quiz-progress{color:var(--sub);white-space:nowrap;font-size:13px;font-weight:600}
