:root{--paper: #eef2f6;--ink: #122033;--muted: #5a6a7d;--line: #d5dee8;--card: #ffffff;--field: #1e4d6b;--field-ink: #14344a;--warm: #9a4a32;--radius: .95rem;--shadow: 0 10px 28px color-mix(in srgb, #122033 8%, transparent);--font: "Apple SD Gothic Neo", "Noto Sans KR", "Pretendard", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(1200px 480px at 8% -10%,color-mix(in srgb,var(--field) 14%,transparent),transparent 55%),radial-gradient(900px 420px at 100% 0%,color-mix(in srgb,var(--warm) 10%,transparent),transparent 50%),var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65}a{color:var(--field);text-decoration-thickness:1px;text-underline-offset:3px}.wrap{width:min(1100px,calc(100% - 2rem));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(14px)}.bar{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;padding:.7rem 0 .45rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:750;text-decoration:none;font-size:1.18rem;letter-spacing:-.02em}.brand-mark{width:2.15rem;height:2.15rem;border-radius:.55rem;flex-shrink:0;box-shadow:0 2px 8px color-mix(in srgb,#122033 14%,transparent)}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text>span{display:block;font-size:.72rem;font-weight:500;color:var(--muted);margin-top:.12rem}.nav-study,.nav-exams{display:flex;flex-wrap:wrap;gap:.35rem .55rem;font-size:.9rem;align-items:flex-start}.nav-study a{text-decoration:none;color:var(--muted);padding:.2rem .15rem}.nav-study a:hover{color:var(--field)}.nav-exams-wrap{padding:0 0 .65rem}.nav-exam-link,.nav-drop>summary{font-size:.82rem;padding:.22rem .55rem;border-radius:999px;border:1px solid transparent;background:color-mix(in srgb,var(--field) 7%,var(--card));color:var(--field-ink);text-decoration:none;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.3rem;font:inherit;line-height:1.4}.nav-drop>summary::-webkit-details-marker{display:none}.nav-exam-link:hover,.nav-drop[open]>summary,.nav-drop>summary:hover{border-color:color-mix(in srgb,var(--field) 28%,var(--line))}.nav-drop{position:relative}.nav-drop-count{font-size:.7rem;color:var(--muted);font-weight:650}.nav-drop-panel{position:absolute;left:0;top:calc(100% + .3rem);z-index:40;min-width:14rem;max-width:min(22rem,88vw);max-height:min(70vh,22rem);overflow:auto;padding:.4rem;background:var(--card);border:1px solid var(--line);border-radius:.7rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.15rem}.nav-drop-panel a{text-decoration:none;color:var(--ink);font-size:.84rem;padding:.35rem .55rem;border-radius:.45rem;background:transparent;border:none}.nav-drop-panel a:hover{background:color-mix(in srgb,var(--field) 10%,var(--card));color:var(--field)}.family-list{margin-top:1.75rem;display:flex;flex-direction:column;gap:.65rem}.family-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:clip}.family-block>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;padding:.85rem 1.1rem;font-weight:700;letter-spacing:-.02em;user-select:none}.family-block>summary::-webkit-details-marker{display:none}.family-block>summary:after{content:"▾";color:var(--muted);font-weight:500;margin-left:auto;transition:transform .15s ease}.family-block[open]>summary:after{transform:rotate(-180deg)}.family-label{font-size:1.05rem}.family-meta{font-size:.82rem;font-weight:550;color:var(--muted)}.family-block .grid{margin:0;padding:1rem;border-top:1px solid var(--line)}.site-footer{border-top:1px solid var(--line);margin-top:3rem;padding:1.5rem 0 2.5rem;color:var(--muted);font-size:.92rem}main{padding:1.75rem 0 2rem}.hero h1,h1{font-size:clamp(1.75rem,3vw,2.35rem);margin:0 0 .55rem;letter-spacing:-.03em}.lede{max-width:44rem;color:var(--muted)}.kicker{font-size:.8rem;letter-spacing:.04em;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.exam-list{list-style:none;padding:0;margin:.75rem 0 0;border-top:1px solid var(--line)}.exam-list a{display:grid;gap:.1rem;padding:.48rem .15rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.exam-list a:hover{background:color-mix(in srgb,var(--field) 6%,transparent)}.exam-list .row-title{font-weight:650;font-size:.98rem;line-height:1.35}.exam-list .row-sub{margin:0;color:var(--muted);font-size:.88rem;line-height:1.4}.exam-list .meta{margin:0;font-size:.8rem;color:var(--field)}html[data-density="1"] .exam-list a{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}html[data-density="1"] .exam-list .row-title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}html[data-density="1"] .exam-list .row-sub{display:none}html[data-density="1"] .exam-list .meta{flex-shrink:0;margin:0;white-space:nowrap;max-width:48%;overflow:hidden;text-overflow:ellipsis;text-align:right}html[data-density="2"] .exam-list a{display:grid;grid-template-columns:1fr}html[data-density="2"] .exam-list .row-sub{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.15rem 1.2rem;color:inherit;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--field) 40%,var(--line))}.card h2{margin:0 0 .35rem;font-size:1.12rem}.card p{margin:0;color:var(--muted);font-size:.95rem}.meta{margin-top:.65rem;font-size:.82rem;color:var(--field)}.density-toggle{display:inline-flex;gap:.25rem;align-items:center}.density-toggle .btn[aria-pressed=true]{background:var(--field);color:#fff;border-color:transparent}.hero-actions,.toolbar{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .55rem}.btn{font:inherit;padding:.42rem .78rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:.9rem;text-decoration:none;display:inline-block}.btn.primary{background:var(--field);color:#fff;border-color:transparent}.notice{margin:1rem 0;padding:.7rem .9rem;background:color-mix(in srgb,var(--warm) 10%,var(--card));border-radius:.6rem;font-size:.92rem}.drill{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem 1.25rem;box-shadow:var(--shadow);border-left:4px solid var(--field)}#list{display:flex;flex-direction:column;gap:1rem}.drill h2{margin:0 0 .45rem;font-size:1.08rem}.drill .kicker{margin:0 0 .35rem}.choice{display:block;margin:.35rem 0;padding:.42rem .6rem;border-radius:.55rem;border:1px solid transparent;cursor:pointer}.choice:hover{background:color-mix(in srgb,var(--field) 8%,var(--card));border-color:var(--line)}.exam{margin:.7rem 0 0;padding:.55rem .75rem;background:color-mix(in srgb,var(--field) 10%,var(--card));border-radius:.55rem;font-size:.92rem}.filter{display:block;margin:.4rem 0 .8rem;width:min(28rem,100%);font:inherit;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.6rem;background:var(--card)}.timer-bar{position:sticky;top:4.6rem;z-index:20;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:.55rem .85rem;background:var(--card);border:1px solid var(--line);border-radius:.7rem;box-shadow:var(--shadow)}.timer-bar.warn{border-color:var(--warm);color:var(--warm)}.skip{position:absolute;left:-9999px}.skip:focus{left:.75rem;top:.75rem;z-index:40;background:var(--card);padding:.4rem .7rem;border:1px solid var(--line)}.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:1rem}.explain .why{margin:0}.explain strong{display:inline-block;margin-right:.35rem}.formula{margin:.55rem 0 0;padding:.45rem .55rem;background:color-mix(in srgb,var(--ink) 5%,var(--card));border-radius:.4rem;font-size:.9rem}.formula span{display:block;margin-bottom:.15rem;color:var(--muted);font-size:.72rem;font-weight:650;letter-spacing:.02em}.formula-sheet ul{list-style:none;padding:0;margin:0 0 1.5rem;border-top:1px solid var(--line)}.formula-sheet li{display:grid;gap:.12rem;padding:.42rem .1rem;border-bottom:1px solid var(--line);background:transparent;border-radius:0}.formula-sheet li strong{font-size:.95rem;line-height:1.35}.formula-sheet li span{color:var(--muted);font-size:.9rem;line-height:1.4}html[data-density="1"] .formula-sheet li{grid-template-columns:minmax(7rem,11rem) minmax(0,1fr);align-items:baseline;column-gap:.65rem}html[data-density="1"] .formula-sheet li strong,html[data-density="1"] .formula-sheet li span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}html[data-density="2"] .formula-sheet li{grid-template-columns:1fr}html[data-density="2"] .formula-sheet li span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}#cardFilter{width:min(100%,24rem);padding:.55rem .75rem;border:1px solid var(--line);border-radius:.55rem;background:var(--card);color:var(--ink);font:inherit}.mode-badge{display:inline-block;margin-right:.35rem;padding:.08rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;vertical-align:.08em;line-height:1.5}.mode-badge.site{background:color-mix(in srgb,var(--field) 14%,var(--card));color:var(--field-ink);border:1px solid color-mix(in srgb,var(--field) 28%,var(--line))}.mode-badge.cbt{background:color-mix(in srgb,var(--warm) 14%,var(--card));color:var(--warm);border:1px solid color-mix(in srgb,var(--warm) 32%,var(--line))}.mode-badge.gichul{background:color-mix(in oklab,var(--ink) 12%,transparent);color:var(--ink)}.btn .mode-badge{margin-right:.2rem;vertical-align:.05em}.practice-row{display:grid;gap:.25rem;padding-bottom:.35rem;border-bottom:1px solid var(--line)}.practice-row>a{border-bottom:none;padding-bottom:.15rem}.practice-links{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .35rem;padding:0 .15rem .2rem}.practice-links .btn{font-size:.8rem;padding:.22rem .58rem}.cbt-top{gap:.65rem 1rem}.cbt-top-left,.cbt-top-right{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem}.cbt-layout{display:grid;grid-template-columns:minmax(9.5rem,13rem) minmax(0,1fr);gap:1rem;align-items:start}.cbt-nav{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .7rem .85rem;box-shadow:var(--shadow);position:sticky;top:8.4rem}.cbt-nav-title{margin:0 0 .45rem;font-size:.82rem;font-weight:700;color:var(--muted)}.cbt-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.28rem}.cbt-num{font:inherit;min-width:2rem;height:2rem;padding:0;border-radius:.4rem;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:650}.cbt-num.answered{background:color-mix(in srgb,var(--field) 14%,var(--card));border-color:color-mix(in srgb,var(--field) 35%,var(--line))}.cbt-num.marked{box-shadow:inset 0 0 0 2px var(--warm)}.cbt-num.current{background:var(--field);color:#fff;border-color:transparent}.cbt-num:disabled{cursor:default;opacity:.85}.cbt-legend{list-style:none;padding:.55rem 0 0;margin:.55rem 0 0;border-top:1px solid var(--line);display:grid;gap:.2rem;font-size:.75rem;color:var(--muted)}.cbt-legend li{display:flex;align-items:center;gap:.35rem}.cbt-legend .dot{width:.7rem;height:.7rem;border-radius:.2rem;border:1px solid var(--line);background:var(--card);display:inline-block}.cbt-legend .dot.current{background:var(--field);border-color:transparent}.cbt-legend .dot.answered{background:color-mix(in srgb,var(--field) 14%,var(--card));border-color:color-mix(in srgb,var(--field) 35%,var(--line))}.cbt-legend .dot.marked{box-shadow:inset 0 0 0 2px var(--warm)}.cbt-nav-btns{display:flex;gap:.45rem;margin:.85rem 0 .4rem}.cbt-q h2{white-space:normal}.gichul-figs{display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 1rem}.gichul-fig{display:block;max-width:min(100%,520px);height:auto;border:1px solid color-mix(in srgb,var(--line, #ccc) 80%,transparent)}.cbt-summary{padding-left:1.1rem}.cbt-summary li{margin:.55rem 0}.cbt-summary li.ok{color:var(--field-ink)}.cbt-summary li.bad{color:var(--warm)}.cbt-summary li.skip{color:var(--muted)}@media(max-width:720px){.cbt-layout{grid-template-columns:1fr}.cbt-nav{position:static}}.gichul-empty{margin:1.5rem 0;padding:1.25rem 1.35rem;border:1px dashed color-mix(in oklab,var(--ink) 22%,transparent);border-radius:12px;background:color-mix(in oklab,var(--panel) 88%,transparent)}.gichul-empty h2{margin:0 0 .4rem;font-size:1.1rem}.gichul-empty p{margin:.35rem 0}.gichul-pack-section{margin:1.75rem 0 1rem}.gichul-pack-section h2{margin:0 0 .35rem;font-size:1.15rem}.gichul-pack-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.45rem}.gichul-pack-link{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;padding:.7rem .9rem;border:1px solid color-mix(in oklab,var(--ink) 14%,transparent);border-radius:10px;text-decoration:none;color:inherit;background:color-mix(in oklab,var(--panel) 92%,transparent)}.gichul-pack-link:hover{border-color:color-mix(in oklab,var(--accent, #2a6) 45%,transparent)}.gichul-pack-title{flex:1 1 12rem;font-weight:600}.gichul-pack-meta{opacity:.72;font-size:.92rem}.pack-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:1rem 0 1.25rem}.pack-picker span{font-size:.92rem;opacity:.8}.pack-picker select{flex:1 1 16rem;max-width:100%;padding:.45rem .6rem;border-radius:8px;border:1px solid color-mix(in oklab,var(--ink) 18%,transparent);background:var(--panel, #fff);color:inherit}.cbt-top.untimed #timer{font-weight:500;opacity:.85}
