@charset "utf-8";
#pzcFinderToggle{display:none}
#pzcResults a{text-decoration:none;border-radius:6px}#pzcResults a:hover,#pzcResults a:focus-visible{background:var(--paper);color:var(--accent-dark)}
@media(max-width:760px){#pzcFinderToggle{display:block;width:100%;min-height:44px;border:0;background:transparent;color:var(--ink);text-align:left;font-weight:800}.pzc_finder:not(.is-open)>:not(#pzcFinderToggle){display:none!important}}
/* PUZLANG v30 - 표현사전 레이아웃 기준으로 발음/듣기/문법/회화/복습 통일 */
.pzc{--ink:#15203a;--dim:#718096;--line:#f5f5f5;--card:#fff;--paper:#f7f9fc;--accent:#303238;--accent-dark:#303238;--navy:#15285f;max-width:1200px;margin:32px auto 56px;padding:0;color:var(--ink)}
.pzc *{box-sizing:border-box}.pzc button,.pzc a{font:inherit}
.pzc_hero{padding:28px 30px;border-radius:22px;background:linear-gradient(135deg,#15285f,#213f7d);color:#fff;box-shadow:0 16px 42px rgba(21,32,58,.08)}
.pzc_eye{display:block;margin-bottom:8px;font-size:16px;font-weight:900;letter-spacing:.09em;color:#fff;opacity:.72}
.pzc_hero h2{margin:0 0 8px;font-size:29px;line-height:1.4;letter-spacing:-.035em;color:#fff}
.pzc_hero p{margin:0;max-width:870px;font-size:16px;line-height:1.75;color:#fff;opacity:.86}
.pzc_viewer{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 10px 30px rgba(21,32,58,.05);scroll-margin-top:118px}
.pzc_viewer_head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.pzc_viewer_head span{font-size:16px;font-weight:900;color:var(--accent-dark)}.pzc_viewer_head h3{margin:4px 0 0;font-size:25px;line-height:1.35;letter-spacing:-.03em;color:var(--ink)}.pzc_viewer_head b{font-size:16px;color:var(--dim)}
.pzc_az_jump{margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.pzc_az_jump_head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:12px}.pzc_az_jump_head strong{font-size:17px;color:var(--ink)}.pzc_az_jump_head span{font-size:16px;color:var(--dim)}.pzc_az_letters{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:7px}.pzc_az_letters button{min-width:0;min-height:42px;border:1px solid #f5f5f5;border-radius:10px;background:#fff;color:#263750;font-size:16px;font-weight:900;cursor:pointer;transition:.14s}.pzc_az_letters button:hover{border-color:#f5f5f5;background:#f5f5f7;color:#303238}.pzc_az_letters button.on{border-color:#f5f5f5;background:#303238;color:#fff;box-shadow:0 6px 16px rgba(16,185,129,.18)}
.pzc_lesson{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink)}.pzc_lesson_label{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef3fa;color:#536279;font-size:16px;font-weight:800}.pzc_lesson h4{margin:14px 0 9px;font-size:25px;line-height:1.4;letter-spacing:-.025em;color:var(--ink)}.pzc_ko{margin:0;color:#2e3c51;font-size:18px;line-height:1.75}.pzc_en{margin-top:15px;padding:17px 18px;border-radius:13px;background:#f3f7fb;font-size:20px;font-weight:800;line-height:1.55;color:#15243d;min-height:58px}.pzc_en.pzl-role-sentence{display:flex;font-size:20px;gap:10px 12px}.pzc_tip{display:flex;gap:10px;align-items:flex-start;margin-top:15px;padding-top:15px;border-top:1px solid #f5f5f5;color:#68758a;font-size:16px;line-height:1.6}.pzc_tip strong{flex:none;color:#303238}
.pzc_audio{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding:14px 16px;border:1px solid #f5f5f5;border-radius:15px;background:#f5f5f7}.pzc_audio strong{margin-right:4px;font-size:16px;color:#303238}.pzc_audio button{min-height:46px;padding:9px 14px;border:1px solid #f5f5f5;border-radius:12px;background:#fff;color:#26344e;font-size:16px;font-weight:800}.pzc_audio button:disabled{opacity:.38}.pzc_audio button.playing{border-color:#f5f5f5;box-shadow:0 0 0 3px rgba(16,185,129,.12);color:#303238}.pzc_audio span{font-size:16px;color:#8290a4}.pzc_audio span[data-error="1"]{color:#b42318;font-weight:700}
.pzc_nav{display:grid;grid-template-columns:160px 1fr 160px;align-items:center;gap:14px;margin-top:16px}.pzc_nav button{min-height:50px;padding:13px 18px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--ink);font-size:16px;font-weight:900;cursor:pointer}.pzc_nav button.next{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(16,185,129,.2)}.pzc_nav button:disabled{opacity:.45;cursor:not-allowed}.pzc_nav span{text-align:center;color:var(--dim);font-size:16px}.pzc_empty{margin-top:24px;padding:40px 24px;border:1px dashed var(--line);border-radius:18px;background:var(--paper);text-align:center;color:var(--dim);font-size:16px}
html.pzl-dark .pzc,body.pzl-dark .pzc,html.pz-dark .pzc{--ink:#e6e9ed;--dim:#98a2b1;--line:#f5f5f5;--card:#171b21;--paper:#0f1216;--accent:#303238;--accent-dark:#303238}html.pzl-dark .pzc_lesson,html.pzl-dark .pzc_az_jump,body.pzl-dark .pzc_lesson,body.pzl-dark .pzc_az_jump{background:var(--card);color:var(--ink)}html.pzl-dark .pzc_en,body.pzl-dark .pzc_en{background:#1c232c;color:#edf3f8}html.pzl-dark .pzc_ko,body.pzl-dark .pzc_ko{color:#cbd5df}html.pzl-dark .pzc_tip,body.pzl-dark .pzc_tip{border-color:#f5f5f5;color:#a9b4c2}html.pzl-dark .pzc_audio,body.pzl-dark .pzc_audio{background:#303238;border-color:#f5f5f5}html.pzl-dark .pzc_audio button,body.pzl-dark .pzc_audio button{background:#1b2129;border-color:#f5f5f5;color:#e8ecf3}html.pzl-dark .pzc_az_letters button,body.pzl-dark .pzc_az_letters button{background:#1a2028;border-color:#f5f5f5;color:#dce5ef}
@media(min-width:769px) and (max-width:1100px){.pzc{margin:26px 22px 46px}.pzc_hero{padding:25px 26px}.pzc_hero h2{font-size:27px}.pzc_az_letters{grid-template-columns:repeat(9,minmax(0,1fr))}.pzc_lesson h4{font-size:24px}}
@media(max-width:768px){.pzc{margin:18px 0 36px;padding-bottom:84px}.pzc_hero{padding:21px 18px;border-radius:18px}.pzc_eye{font-size:16px}.pzc_hero h2{font-size:23px}.pzc_hero p{font-size:16px}.pzc_viewer{padding:15px;margin-top:16px;border-left:0;border-right:0;border-radius:0}.pzc_viewer_head h3{font-size:23px}.pzc_az_jump{padding:14px 12px}.pzc_az_jump_head{display:block}.pzc_az_jump_head span{display:block;margin-top:4px}.pzc_az_letters{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.pzc_az_letters button{min-height:46px;font-size:17px}.pzc_lesson{padding:21px 17px}.pzc_lesson h4{font-size:23px}.pzc_ko{font-size:17.5px}.pzc_en,.pzc_en.pzl-role-sentence{font-size:19px}.pzc_audio button{min-height:50px;font-size:16px}.pzc_audio span{flex-basis:100%}.pzc_nav{grid-template-columns:1fr 1fr;gap:9px;position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:50;padding:9px;margin:15px -6px -6px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 10px 28px rgba(15,23,42,.16);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.pzc_nav span{display:none}.pzc_nav button{min-width:0;width:100%;min-height:54px;padding:13px 10px;font-size:16px}.pzc_nav button.next{font-size:17px}}
@media(max-width:430px){.pzc_hero h2{font-size:23px}.pzc_viewer_head h3{font-size:21px}.pzc_az_letters{grid-template-columns:repeat(5,minmax(0,1fr))}.pzc_az_letters button{min-height:44px}}

/* 설명 음성: 다운로드 메뉴 없는 간단한 재생 컨트롤 */
#pzcSourceSeek{flex:1 1 140px;min-width:80px;max-width:320px;accent-color:#303238}#pzcSourceTime{font-variant-numeric:tabular-nums;white-space:nowrap}

#pzcTargetSeek{flex:1 1 120px;min-width:80px;max-width:320px;accent-color:#303238}#pzcTargetTime{font-variant-numeric:tabular-nums;white-space:nowrap}.pzc_speeds{display:flex;gap:4px;flex-wrap:wrap}.pzc_audio .pzc_speeds button{padding:6px 9px;min-width:0}.pzc_audio button[aria-pressed="true"]{background:#f5f5f7;border-color:#f5f5f5}

/* 일정한 플레이어 배치: 상태 문구가 재생바의 폭과 위치에 영향을 주지 않는다. */
.pzc .pzc_audio{display:grid;grid-template-columns:220px minmax(180px,1fr) 250px;gap:8px 16px;padding:12px 14px;align-items:center}
.pzc .pzc_audio_head{display:flex;align-items:center;gap:6px;min-width:0}
.pzc .pzc_audio_head strong{white-space:nowrap;font-size:16px;margin-right:4px}
.pzc .pzc_audio button{min-height:40px;padding:6px 10px;font-size:16px;border-radius:9px;cursor:pointer;line-height:1.2;box-shadow:none}
.pzc .pzc_audio button:focus-visible,.pzc .pzc_audio input:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
.pzc .pzc_transport{display:grid;grid-template-columns:40px minmax(0,1fr) 82px;align-items:center;gap:10px;min-width:0}
.pzc #pzcSourceSeek,.pzc #pzcTargetSeek{width:100%;max-width:none;min-width:0;margin:0;height:28px;accent-color:var(--accent);cursor:pointer}
.pzc #pzcSourceTime,.pzc #pzcTargetTime{font-size:16px;letter-spacing:-.3px;text-align:right;flex-basis:auto;font-variant-numeric:tabular-nums}
.pzc .pzc_speeds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.pzc .pzc_speeds button{min-width:0;padding:6px 2px;font-size:16px;font-weight:700;min-height:36px}
.pzc .pzc_audio_status{grid-column:1/-1;display:block;min-height:20px;line-height:20px;font-size:16px;margin:0;overflow-wrap:anywhere}
.pzc .pzc_audio_source{grid-template-columns:90px minmax(0,1fr);background:var(--paper);border-color:var(--line);margin:12px 0 18px}
.pzc .pzc_audio_source .pzc_audio_status{grid-column:2}
@media(max-width:1000px){
 .pzc .pzc_audio_target{grid-template-columns:1fr 250px}
 .pzc .pzc_audio_target .pzc_transport{grid-column:1/-1;grid-row:2}
 .pzc .pzc_audio_target .pzc_speeds{grid-column:2;grid-row:1}
}
@media(max-width:768px){
 .pzc{margin:12px 0 24px;padding-bottom:0}
 .pzc .pzc_viewer{padding:12px 8px;margin-top:12px;border-radius:14px}
 .pzc .pzc_viewer_head{padding:0 4px;margin-bottom:12px}
 .pzc .pzc_lesson{padding:16px 12px;border-radius:14px}
 .pzc .pzc_lesson h4{font-size:21px;margin:10px 0 6px}
 .pzc .pzc_ko{font-size:16px;line-height:1.65}
 .pzc .pzc_en{padding:12px 10px}
 .pzc .pzc_audio{padding:10px;gap:8px}
 .pzc .pzc_audio_target{grid-template-columns:1fr}
 .pzc .pzc_audio_target .pzc_audio_head{grid-column:1;grid-row:1}
 .pzc .pzc_audio_target .pzc_transport{grid-column:1;grid-row:2}
 .pzc .pzc_audio_target .pzc_speeds{grid-column:1;grid-row:3}
 .pzc .pzc_audio_status{grid-column:1;min-height:20px}
 .pzc .pzc_audio_source{grid-template-columns:1fr;margin:10px 0 14px}
 .pzc .pzc_audio_source .pzc_audio_status{grid-column:1}
 .pzc .pzc_audio span{flex-basis:auto}
 .pzc .pzc_speeds button{min-height:40px}
 .pzc .pzc_nav{position:static;margin:12px 0 0;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}
 .pzc .pzc_nav button{min-height:46px;padding:10px;font-size:16px}
 .pzc .pzc_nav button.next{font-size:16px}
}

.pzc .pzc_audio_head button{white-space:nowrap;flex-shrink:0}

.pzc_chunk_ko{display:block;margin-top:7px;font-size:16px;font-weight:500;line-height:1.55;color:var(--ink)}
@media(max-width:768px){body:has(.pzc) #container_wr{padding-left:6px;padding-right:6px}.pzc .pzc_viewer{padding-left:4px;padding-right:4px}.pzc .pzc_lesson{padding-left:10px;padding-right:10px}}

.pzc_audio_hint{grid-column:1/-1;color:var(--dim);font-size:16px;line-height:1.4}.pzc .pzc_tip span{white-space:pre-line}

/* 문장 수가 늘어도 목록은 20개씩 표시한다. */
.pzc_browser_layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}.pzc_browser_layout>.pzc_viewer{margin-top:0;min-width:0}
.pzc_sound_note{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:15px;padding-top:15px;font-size:16px;line-height:1.7}.pzc_sound_note strong{flex:none;color:var(--accent-dark)}
.pzc_finder{min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.pzc_finder label{display:block;font-weight:800;margin-bottom:7px}.pzc_finder input,.pzc_finder select{width:100%;min-width:0;min-height:42px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);padding:6px}.pzc_finder #pzcFound{font-size:16px;color:var(--dim)}#pzcResults{max-height:480px;overflow-y:auto;margin:10px 0}#pzcResults a{display:block;padding:10px 5px;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px;line-height:1.5;overflow-wrap:anywhere}.pzc_finder_pages{display:flex;gap:4px}.pzc_finder_pages select{margin:0}.pzc_finder_pages button{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);min-width:32px}
@media(max-width:760px){.pzc_browser_layout{display:flex;flex-direction:column}.pzc_finder{order:-1;width:100%}#pzcResults{max-height:340px}.pzc_browser_layout>.pzc_viewer{width:100%}.pzc_sound_note{flex-direction:column;gap:3px}}

#pzcResults{max-height:none;overflow:visible}
@media(min-width:761px){.pzc_finder{position:sticky;top:var(--finder-top,140px);align-self:start}}
/* 태블릿에서는 오른쪽 패널을 제외한 학습 카드 폭에 맞춰 재생기를 세 줄로 배치한다. */
@media(min-width:761px) and (max-width:1100px){
 .pzc .pzc_audio_target{grid-template-columns:minmax(0,1fr)}
 .pzc .pzc_audio_target .pzc_audio_head{grid-column:1;grid-row:1}
 .pzc .pzc_audio_target .pzc_transport{grid-column:1;grid-row:2}
 .pzc .pzc_audio_target .pzc_speeds{grid-column:1;grid-row:3}
 .pzc .pzc_audio_target .pzc_audio_status{grid-column:1}
 .pzc .pzc_lesson{padding:18px}
}

.pzc_sound_group{padding:16px 0;border-bottom:1px solid #f5f5f5}.pzc_sound_group:last-child{border-bottom:0}.pzc_sound_group strong{color:#303238;font-size:16px}.pzc_sound_group p{font-size:21px;line-height:1.8;margin:10px 0}.pzc_sound_group button{font-size:16px;font-weight:400;line-height:1.4;min-height:38px;padding:8px 12px;border:1px solid #f5f5f5;border-radius:10px;background:white;color:#1d3654;margin-right:8px;cursor:pointer}.pzc_sound_group button:disabled{opacity:.5;cursor:default}

.pzc_ko,.pzc_card{word-break:keep-all;overflow-wrap:break-word}

@media(max-width:768px){.pzc{padding-bottom:100px}.pzc .pzc_nav{position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:50;margin:0;padding:9px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:0 10px 28px #0f172329}.pzc:has(.pzc_overview:not([hidden])) .pzc_nav{visibility:visible}}

#pzcResults a[aria-current="true"]{background:var(--paper);color:var(--accent-dark);font-weight:400;box-shadow:none}

.pzc_pronunciation{background:#eef0f3;color:inherit;font-weight:700;border-radius:4px;padding:1px 4px}html.pzl-dark .pzc_pronunciation{background:#34383e}

.pzc_linking_guide{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}.pzc_linking_guide strong{font-size:18px;line-height:1.6}.pzc_linking_guide p{font-size:16px;line-height:1.8;margin:10px 0 0}

.pzc_finder [hidden]{display:none!important}
.pzc_finder #pzcScope{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23222' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid #f5f5f5;color:#222;border-radius:10px;padding:11px 40px 11px 12px;font-size:16px;font-weight:600;cursor:pointer}
@media(max-width:760px){.pzc_finder{padding:10px}#pzcFinderToggle{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #f5f5f5;border-radius:10px;background:#fff;color:#222;font-size:16px;min-height:46px}.pzc_finder.is-open #pzcFinderToggle{margin-bottom:12px;background:#f5f5f7}#pzcFinderToggle:focus-visible{outline:3px solid #303238;outline-offset:2px}}

/* 상단 주제 메뉴와 중복되는 목록 필터는 숨긴다. */
.pzc_finder #pzcScope{display:none!important}
@media(max-width:760px){
 #container:has(#pzcRoot){padding-left:6px!important;padding-right:6px!important}
 #pzcRoot.pzc{width:100%;max-width:100%;margin:16px auto 32px;padding:0;box-sizing:border-box}
 #pzcRoot .pzc_viewer{padding:12px 0;border-radius:12px;box-shadow:none}
 #pzcRoot .pzc_viewer_head{padding:0 10px}
 #pzcRoot .pzc_lesson{padding:12px 8px;border:0;border-radius:0}
 #pzcRoot .cafe-dialogue,#pzcRoot .cafe-example{padding:12px 8px}
 #pzcRoot .cafe-dialogue.male{margin-left:0}
}

@media(max-width:760px){#container_wr:has(#pzcRoot){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box}}
