@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;650;700&family=Sora:wght@500;600;650&display=swap";:root{--font:"Figtree", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--display:"Sora", "Figtree", sans-serif;--bg:#f4f7fc;--surface:#fff;--muted-surface:#f7f9fd;--strong-surface:#eef3fc;--line:#d5deec;--strong-line:#b8c9e8;--text:#1e3348;--text-muted:#4a5f78;--text-strong:#0a1628;--accent:#1d4ed8;--accent-soft:#e8f0ff;--star:#b45309;--warn-bg:#fff8eb;--warn-line:#e8c56a;--warn-text:#7a4b00;--warn-strong:#9a5b00;--danger:#b42318;--section-gap:1rem;--mokdong:#6d28d9;--mokdong-soft:#ede9fe;--mokdong-line:#c4b5fd;--pyeongchon:#047857;--pyeongchon-soft:#d1fae5;--pyeongchon-line:#6ee7b7;--sindorim:#0369a1;--sindorim-soft:#e0f2fe;--sindorim-line:#7dd3fc;--rank1:#b45309;--rank1-soft:#fef3c7;--rank1-line:#fcd34d;--rank2:#475569;--rank2-soft:#e2e8f0;--rank2-line:#94a3b8;--rank3:#c2410c;--rank3-soft:#ffedd5;--rank3-line:#fdba74;--success:#15803d;--success-soft:#dcfce7;--type-a:#be123c;--type-a-soft:#ffe4e6;--type-b:#7c3aed;--type-b-soft:#ede9fe;--type-c:#0d9488;--type-c-soft:#ccfbf1}@media (prefers-color-scheme:dark){:root{--bg:#0f1728;--surface:#162033;--muted-surface:#1a2740;--strong-surface:#1e3054;--line:#2f4160;--strong-line:#3d5680;--text:#e3ebf8;--text-muted:#a8b8d4;--text-strong:#f5f8ff;--accent:#7eb0ff;--accent-soft:#1a2d4f;--star:#f0b429;--warn-bg:#3a2a12;--warn-line:#7a5a1f;--warn-text:#ffdca8;--warn-strong:#ffe4ba;--danger:#ff8a80;--mokdong:#c4b5fd;--mokdong-soft:#2e1065;--mokdong-line:#6d28d9;--pyeongchon:#6ee7b7;--pyeongchon-soft:#064e3b;--pyeongchon-line:#047857;--sindorim:#7dd3fc;--sindorim-soft:#0c4a6e;--sindorim-line:#0369a1;--rank1:#fcd34d;--rank1-soft:#422006;--rank1-line:#b45309;--rank2:#cbd5e1;--rank2-soft:#1e293b;--rank2-line:#64748b;--rank3:#fdba74;--rank3-soft:#431407;--rank3-line:#c2410c;--success:#86efac;--success-soft:#14532d;--type-a:#fda4af;--type-a-soft:#4c0519;--type-b:#c4b5fd;--type-b-soft:#2e1065;--type-c:#5eead4;--type-c-soft:#134e4a}body{background:radial-gradient(circle at top right, #4171f42e, transparent 38%), radial-gradient(circle at 10% 10%, #1a54b31f, transparent 35%), var(--bg)}.lead{background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.badge{background:color-mix(in srgb, var(--accent) 22%, var(--surface));color:#d9e8ff}.cautionBox{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}.cautionBox strong{color:var(--warn-strong)}th{color:#eef4ff;background:linear-gradient(#1b2d4f,#243b66)}.badgeExam{background:color-mix(in srgb, #f472b6 18%, var(--surface));color:#fbcfe8;border-color:#9d174d}.badgeContent{background:color-mix(in srgb, #818cf8 18%, var(--surface));color:#c7d2fe;border-color:#4338ca}.badgeDeep{background:color-mix(in srgb, var(--rank1) 16%, var(--surface));color:var(--rank1);border-color:var(--rank1-line)}tbody tr:nth-child(-n+3){background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.tab{background:var(--muted-surface)}.regionCard.zoneGood{background:color-mix(in srgb, var(--mokdong) 14%, var(--surface));border-color:var(--mokdong-line)}.regionCard.zoneMid{background:color-mix(in srgb, var(--pyeongchon) 12%, var(--surface));border-color:var(--pyeongchon-line)}.keyCardTone1,.keyCardTone2,.keyCardTone3{background:var(--surface)}.highlightBoxRank{background:color-mix(in srgb, var(--mokdong) 12%, var(--surface));border-color:var(--mokdong-line)}}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font);background:radial-gradient(circle at top right, #4171f41f, transparent 38%), radial-gradient(circle at 10% 10%, #1a54b314, transparent 35%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}#root{min-height:100vh}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em}strong{color:var(--text-strong);font-weight:650}.page{max-width:1080px;min-height:100vh;padding:2rem 1.25rem max(.5rem, env(safe-area-inset-bottom));touch-action:pan-y;margin:0 auto}.hero{border:1px solid var(--strong-line);background:linear-gradient(135deg, color-mix(in srgb, var(--mokdong) 8%, var(--surface)), var(--surface) 52%), linear-gradient(180deg, var(--accent-soft), transparent 70%);border-radius:16px;margin-bottom:1.35rem;padding:1rem 1.05rem 1.05rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .55rem;font-size:.72rem;font-weight:700}h1{color:var(--text-strong);margin:0;font-size:clamp(1.55rem,3vw,1.95rem);line-height:1.28}.lead{color:var(--text);border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;max-width:780px;margin:.85rem 0 0;padding:.9rem 1rem;font-size:.92rem;line-height:1.62}.lead strong{color:var(--mokdong)}.tabs{z-index:10;border:1px solid var(--strong-line);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface) 45%);box-shadow:0 2px 12px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:14px;flex-wrap:wrap;gap:.5rem;margin-bottom:1.15rem;padding:.65rem;display:flex;position:sticky;top:.35rem}.tab{border:1px solid var(--line);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.48rem .82rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.tab:hover:not(.active){color:var(--text-strong);border-color:var(--strong-line)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:1.15rem 1.2rem 1.25rem}.panel h2{color:var(--text-strong);border-bottom:2px solid color-mix(in srgb, var(--accent) 35%, var(--line));margin:0 0 .85rem;padding-bottom:.55rem;font-size:1.05rem}.panel p{color:var(--text);margin:0;font-size:.86rem;line-height:1.62}.panel p+p{margin-top:.7rem}.note{background:var(--muted-surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:.72rem .85rem;color:var(--text)!important;margin:0 0 .85rem!important;font-size:.84rem!important;line-height:1.58!important}.callout{color:var(--text);background:var(--muted-surface);border:1px solid var(--line);border-left:3px solid var(--strong-line);border-radius:10px;margin:0 0 .9rem;padding:.72rem .85rem;font-size:.84rem;line-height:1.58}.callout strong{color:var(--accent)}.keyGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.keyCard{border:1px solid var(--line);background:var(--surface);border-top-width:3px;border-radius:12px;padding:.9rem .95rem}.keyCardTone1{border-top-color:var(--mokdong);background:linear-gradient(180deg, var(--mokdong-soft), var(--surface) 42%)}.keyCardTone1 strong{color:var(--mokdong)}.keyCardTone2{border-top-color:var(--pyeongchon);background:linear-gradient(180deg, var(--pyeongchon-soft), var(--surface) 42%)}.keyCardTone2 strong{color:var(--pyeongchon)}.keyCardTone3{border-top-color:var(--accent);background:linear-gradient(180deg, var(--accent-soft), var(--surface) 42%)}.keyCard strong{color:var(--accent);letter-spacing:.02em;margin-bottom:.45rem;font-size:.76rem;display:block}.keyCard p{color:var(--text);font-size:.86rem;line-height:1.58}.keyCardTone3 strong{color:var(--accent)}.highlightBox{background:var(--strong-surface);border:1px solid var(--strong-line);border-radius:12px;gap:.55rem;margin-top:.9rem;padding:.85rem .95rem;display:grid}.highlightBoxRank{background:linear-gradient(135deg, var(--mokdong-soft), var(--rank1-soft));border-color:var(--mokdong-line)}.highlightBoxRank strong{color:var(--mokdong)}.highlightBox p{font-size:.86rem;line-height:1.58}.highlightBox strong{color:var(--accent)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:0;overflow:hidden}.card.rankTone1{border-color:var(--rank1-line);box-shadow:0 2px 14px color-mix(in srgb, var(--rank1) 12%, transparent)}.card.rankTone2{border-color:var(--rank2-line)}.card.rankTone3{border-color:var(--rank3-line)}.cardTop{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--muted-surface), var(--surface));align-items:flex-start;gap:.7rem;padding:.95rem 1rem .8rem;display:flex}.card.rankTone1 .cardTop{background:linear-gradient(180deg, var(--rank1-soft), var(--surface))}.card.rankTone2 .cardTop{background:linear-gradient(180deg, var(--rank2-soft), var(--surface))}.card.rankTone3 .cardTop{background:linear-gradient(180deg, var(--rank3-soft), var(--surface))}.rankMark{background:var(--accent);color:#fff;border-radius:10px;flex:none;place-items:center;width:2.1rem;height:2.1rem;font-size:.84rem;font-weight:700;display:grid}.cardTitleWrap{min-width:0}.cardTitleWrap h3{color:var(--text-strong);margin:0;font-size:.98rem;line-height:1.35}.rankMark.rankTone1{background:linear-gradient(145deg, var(--rank1), #d97706)}.rankMark.rankTone2{background:linear-gradient(145deg, var(--rank2), #64748b)}.rankMark.rankTone3{background:linear-gradient(145deg, var(--rank3), #ea580c)}.badge{background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:999px;margin:.35rem 0 0;padding:.2rem .52rem;font-size:.68rem;font-weight:700;display:inline-block}.badgeTop,.catChip.badgeTop{background:var(--mokdong-soft);color:var(--mokdong);border-color:var(--mokdong-line)}.badgeStrong,.catChip.badgeStrong{background:var(--accent-soft);color:var(--accent)}.badgeCommute,.catChip.badgeCommute{background:var(--pyeongchon-soft);color:var(--pyeongchon);border-color:var(--pyeongchon-line)}.badgeExam,.catChip.badgeExam{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.badgeDeep,.catChip.badgeDeep{color:#92400e;background:#fef3c7;border-color:#fcd34d}.badgeTest,.badgeDefault,.catChip.badgeTest,.catChip.badgeDefault{background:var(--muted-surface);color:var(--text-muted)}.badgeContent,.catChip.badgeContent{color:#3730a3;background:#e0e7ff;border-color:#a5b4fc}.badgeAlt,.catChip.badgeAlt{background:var(--sindorim-soft);color:var(--sindorim);border-color:var(--sindorim-line)}.regionChip,.regionTag{border:1px solid #0000;border-radius:999px;margin:.35rem 0 0;padding:.14rem .48rem;font-size:.68rem;font-weight:700;display:inline-block}.toneMokdong{background:var(--mokdong-soft);color:var(--mokdong);border-color:var(--mokdong-line)}.tonePyeongchon{background:var(--pyeongchon-soft);color:var(--pyeongchon);border-color:var(--pyeongchon-line)}.toneSindorim{background:var(--sindorim-soft);color:var(--sindorim);border-color:var(--sindorim-line)}.catChip{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.16rem .46rem;font-size:.72rem;font-weight:650;line-height:1.35;display:inline-block}.cardBody{gap:.85rem;padding:.95rem 1rem 1.05rem;display:grid}.desc{color:var(--text);margin:0;font-size:.86rem;line-height:1.62}.sectionLabel{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);border-left:2px solid var(--accent);margin:0 0 .5rem;padding-left:.45rem;font-size:.7rem;font-weight:700}.metaTiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.metaTile{border:1px solid var(--line);background:var(--muted-surface);border-radius:10px;margin:0;padding:.62rem .68rem}.metaTile strong{color:var(--text-muted);letter-spacing:.02em;margin-bottom:.28rem;font-size:.68rem;font-weight:650;display:block}.metaTile span{color:var(--text-strong);font-size:.84rem;line-height:1.5;display:block}.metaTileWide{grid-column:1/-1}.metaTileTuition{border-color:var(--mokdong-line);background:linear-gradient(180deg, var(--mokdong-soft), var(--muted-surface))}.metaTileTuition strong{color:var(--mokdong)}.strengthList{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.strengthList li{color:var(--text);padding-left:1.1rem;font-size:.84rem;line-height:1.52;position:relative}.strengthList li:before{content:"";background:var(--accent);border-radius:999px;width:.45rem;height:.45rem;position:absolute;top:.48rem;left:0}.cautionBox{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-text);border-radius:10px;margin:0;padding:.72rem .78rem;font-size:.84rem;line-height:1.55}.cautionBox strong{color:var(--warn-strong)}.questionGrid{gap:.65rem;display:grid}.questionItem{border:1px solid var(--line);background:var(--muted-surface);border-radius:12px;grid-template-columns:2.1rem 1fr;align-items:start;gap:.75rem;padding:.78rem .85rem;display:grid}.questionNo{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:2.1rem;height:2.1rem;font-size:.8rem;font-weight:700;display:grid}.questionItem p{color:var(--text-strong);margin:.15rem 0 0;font-size:.86rem;line-height:1.58}.strategyList{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.strategyList li{border:1px solid var(--line);background:var(--muted-surface);color:var(--text);border-radius:12px;padding:.78rem .85rem;font-size:.86rem;line-height:1.58}.strategyList li:first-child{border-color:var(--strong-line);background:var(--strong-surface)}.tableWrap{border:1px solid var(--line);border-radius:12px;margin-top:.25rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.72rem .78rem;font-size:.82rem}th{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, #0f172a), var(--accent));color:#fff;white-space:nowrap;letter-spacing:.02em;border-bottom:none;font-size:.76rem;font-weight:650}td{color:var(--text);line-height:1.48}tbody tr:last-child td{border-bottom:none}tbody tr:nth-child(-n+3){background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.commuteTable tr.rankTone1{background:color-mix(in srgb, var(--rank1) 10%, var(--surface))}.commuteTable tr.rankTone2{background:color-mix(in srgb, var(--rank2) 8%, var(--surface))}.commuteTable tr.rankTone3{background:color-mix(in srgb, var(--rank3) 8%, var(--surface))}.rankPill.rankTone1{background:linear-gradient(145deg, var(--rank1), #d97706)}.rankPill.rankTone2{background:linear-gradient(145deg, var(--rank2), #64748b)}.rankPill.rankTone3{background:linear-gradient(145deg, var(--rank3), #ea580c)}.commuteTable td:nth-child(2){color:var(--text-strong);font-weight:650}.commuteTable td:nth-child(4){color:var(--accent);font-weight:600}.rankPill{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:1.65rem;height:1.65rem;padding:0 .38rem;font-size:.74rem;font-weight:700;display:inline-grid}.regionTag{font-weight:600}.academyGroup{margin-bottom:1.25rem}.academyGroup:last-child{margin-bottom:0}.groupTitle{color:var(--text-strong);border-bottom:1px solid var(--line);margin:0 0 .75rem;padding-bottom:.4rem;font-size:.94rem}.subHeading{color:var(--text-strong);border-top:1px solid var(--line);margin:1.25rem 0 .65rem;padding-top:.85rem;font-size:.9rem}.subHeading:first-of-type{border-top:none;margin-top:0;padding-top:0}.cardAlternate{border-style:dashed;border-color:var(--strong-line)}.rankMarkAlt{background:var(--text-muted);font-size:.68rem}.regionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.regionCard{border:1px solid var(--line);background:var(--muted-surface);border-radius:12px;padding:.9rem .95rem}.regionCard h3{color:var(--text-strong);margin:0 0 .45rem;font-size:.92rem}.regionCard p{color:var(--text);font-size:.84rem;line-height:1.58}.regionCommute{font-weight:650;color:var(--accent)!important;margin-bottom:.5rem!important;font-size:.78rem!important}.regionCard ul{color:var(--text);margin:.6rem 0 0;padding-left:1.15rem;font-size:.82rem;line-height:1.52}.regionCard.zoneGood{border-color:var(--mokdong-line);background:linear-gradient(180deg, var(--mokdong-soft), var(--surface) 55%)}.regionCard.zoneGood h3{color:var(--mokdong)}.regionCard.zoneMid{border-color:var(--pyeongchon-line);background:linear-gradient(180deg, var(--pyeongchon-soft), var(--surface) 55%)}.regionCard.zoneMid h3{color:var(--pyeongchon)}.regionCard.zoneLow{border-color:var(--line);background:var(--muted-surface);opacity:.92}.finalRankList{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.finalRankList li{border:1px solid var(--line);background:var(--muted-surface);border-radius:10px;gap:.22rem;padding:.68rem .75rem;font-size:.84rem;line-height:1.5;display:grid}.finalRankList li:nth-child(-n+3){border-color:var(--strong-line);background:var(--strong-surface)}.finalRankList li strong{color:var(--text-strong);font-size:.86rem}.finalRankList li span{color:var(--text-muted);font-size:.8rem;line-height:1.48}.commuteTable{min-width:820px}.regionCommuteMuted{color:var(--text-muted)!important;margin-bottom:.5rem!important;font-weight:500!important}.factorGrid{gap:.7rem;display:grid}.factorCard{border:1px solid var(--line);background:var(--muted-surface);border-radius:12px;padding:.85rem .92rem}.factorCard:nth-child(-n+3){border-color:var(--strong-line);background:var(--strong-surface)}.factorHead{align-items:flex-start;gap:.6rem;margin-bottom:.5rem;display:flex}.factorHead h3{color:var(--text-strong);margin:0;font-size:.9rem;line-height:1.4}.factorNo{background:var(--accent);color:#fff;border-radius:8px;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.74rem;font-weight:700;display:grid}.factorCard p{color:var(--text);margin:0 0 .5rem;font-size:.86rem;line-height:1.58}.factorCard ul{color:var(--text-muted);margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.52}.factorCard ul li::marker{color:var(--accent)}.typeGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.typeCard{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.78rem .85rem}.typeCard strong{color:var(--accent);margin-bottom:.35rem;font-size:.84rem;display:block}.typeCard p{color:var(--text);margin:0;font-size:.82rem;line-height:1.52}.typeFit{border-top:1px dashed var(--line);padding-top:.4rem;font-weight:650;color:var(--text-strong)!important;margin-top:.45rem!important;font-size:.8rem!important}.scoreTable{min-width:320px}.scoreTable .weightStars,.fitStars{color:var(--star);letter-spacing:.04em;font-size:.84rem}.finalRankList li.rankTone1{border-color:var(--rank1-line);background:linear-gradient(90deg, var(--rank1-soft), var(--surface) 68%)}.finalRankList li.rankTone2{border-color:var(--rank2-line);background:linear-gradient(90deg, var(--rank2-soft), var(--surface) 68%)}.finalRankList li.rankTone3{border-color:var(--rank3-line);background:linear-gradient(90deg, var(--rank3-soft), var(--surface) 68%)}.strategyList li.strategyItemTop{border-color:var(--mokdong-line);background:linear-gradient(90deg, var(--mokdong-soft), var(--surface) 72%)}.strategyList li.strategyItemTop strong{color:var(--mokdong)}.strategyList li.strategyItemMid{border-color:var(--pyeongchon-line);background:linear-gradient(90deg, var(--pyeongchon-soft), var(--surface) 72%)}.strategyList li.strategyItemMid strong{color:var(--pyeongchon)}.typeCardA{background:linear-gradient(180deg, var(--type-a-soft), var(--surface) 50%);border-color:#fda4af}.typeCardA strong{color:var(--type-a)}.typeCardB{border-color:var(--mokdong-line);background:linear-gradient(180deg, var(--type-b-soft), var(--surface) 50%)}.typeCardB strong{color:var(--type-b)}.typeCardC{background:linear-gradient(180deg, var(--type-c-soft), var(--surface) 50%);border-color:#5eead4}.typeCardC strong{color:var(--type-c)}.factorCard:first-child .factorNo{background:var(--mokdong)}.factorCard:nth-child(2) .factorNo{background:var(--accent)}.factorCard:nth-child(3) .factorNo{background:var(--rank1)}.factorCard:nth-child(4) .factorNo,.factorCard:nth-child(5) .factorNo{background:var(--pyeongchon)}.scoreHigh{background:color-mix(in srgb, var(--star) 8%, var(--surface))}.scoreHigh td:first-child{color:var(--text-strong);font-weight:650}.scoreHigh .weightStars{font-size:.9rem}.roadmapList{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.roadmapList li{border:1px solid var(--line);background:var(--muted-surface);border-radius:10px;gap:.2rem;padding:.68rem .75rem;font-size:.84rem;display:grid}.roadmapList li:first-child{border-color:var(--accent-soft);background:linear-gradient(90deg, var(--accent-soft), var(--surface) 70%)}.roadmapList li:nth-child(2){border-color:var(--pyeongchon-line);background:linear-gradient(90deg, var(--pyeongchon-soft), var(--surface) 70%)}.roadmapList li:nth-child(3){border-color:var(--mokdong-line);background:linear-gradient(90deg, var(--mokdong-soft), var(--surface) 70%)}.roadmapList li strong{color:var(--accent);font-size:.82rem}.roadmapList li span{color:var(--text);font-size:.86rem;line-height:1.55}@media (width<=940px){.page{padding-left:1rem;padding-right:1rem}.keyGrid,.cards,.metaTiles,.regionGrid,.typeGrid{grid-template-columns:1fr}.panel{padding:1rem}}
