/* Korean of the Day, expression archive and tools. Builds on styles.css tokens and components. */
.kd-chip{margin-left:auto;display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border-radius:17px;background:#f1f4eb;color:#c76f32;font-size:12px;position:relative}
.kd-chip b{color:var(--ink);font-weight:700}
.kd-chip .icon{width:16px;height:16px}
.kd-chip.pending:after{content:'';position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:#d4793a}
.kd-chip+.voice-settings{margin-left:0}
.mobile-bottom>a{position:relative}
.kd-dot{position:absolute;top:7px;left:calc(50% + 8px);width:7px;height:7px;border-radius:50%;background:#d4793a}
.kd-top{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.kd-side{display:flex;flex-direction:column;gap:18px}
.kd-hero{padding:6px 0 4px}
.kd-hero .eyebrow{display:block}
.kd-word{font-family:'Noto Sans KR',sans-serif;font-size:62px;font-weight:600;line-height:1.25;letter-spacing:-2px;color:var(--green);margin:10px 0 8px;word-break:keep-all}
.kd-say{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;font-size:14px;color:#6d7d66}
.kd-pron{font-family:'Noto Sans KR',sans-serif}
.kd-rr{font-weight:700;color:var(--ink)}
.kd-hanja{font-family:'Noto Sans JP',serif;color:#8a6f4e}
.kd-short{font-size:19px;font-weight:700;color:var(--ink);margin-top:14px;line-height:1.6}
.kd-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
.kd-listen{min-height:42px;padding:10px 16px;gap:9px}
.kd-share{display:flex;flex-wrap:wrap;gap:8px}
.kd-share:empty{display:none}
.kd-share .button{min-height:40px;padding:9px 15px;font-size:11px}
.kd-result .kd-share{justify-content:center;margin-top:18px}
.kd-quiz{margin:22px 0 0}
.kd-quiz-lead{font-size:13px;line-height:1.9;margin-bottom:6px}
.kd-start-row{justify-content:flex-start}
.kd-quiz h2{font-size:21px}
.kd-options .quiz-option{font-size:15px;line-height:1.6;min-height:58px}
.kd-options .quiz-option [lang=ko]{font-size:19px}
.kd-options .option-label{flex:none;width:24px;height:24px;border-radius:50%;background:#eef2e8;color:#6f8462;font-size:11px;display:flex;align-items:center;justify-content:center}
.kd-repeat{display:flex;align-items:flex-start;gap:8px;background:#fbefe3;color:#8a5a36;border-radius:8px;padding:10px 14px;font-size:12px;margin-bottom:18px}
.kd-repeat .icon{width:15px;height:15px;margin-top:3px}
.kd-result{text-align:center;padding:6px 0}
.kd-result h2{margin:8px 0 18px}
.kd-grid{display:flex;justify-content:center;gap:8px}
.kd-grid span{width:36px;height:36px;border-radius:8px;background:#e5eadf}
.kd-grid .ok{background:#6f9a5e}
.kd-score{font:800 26px/1.4 var(--heading);color:var(--ink);margin-top:12px}
.kd-gains{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:13px;margin-top:6px}
.kd-gains>span{display:inline-flex;align-items:center;gap:5px}
.kd-gains .icon{width:16px;height:16px;color:#d4793a}
.kd-xp{color:var(--green);font-weight:700}
.kd-new{color:#a8622d;font-weight:600;font-size:13px;margin-top:10px}
.kd-come{margin-top:12px}
.kd-record .progress-numbers{display:flex;align-items:baseline;gap:8px}
.kd-record .progress-numbers b{font:800 34px/1.2 var(--heading);color:var(--ink)}
.kd-record .progress-numbers>span{font-size:12px;color:#6f7e66}
.kd-record .progress-numbers>span span{display:block;font-size:9px;letter-spacing:1px;color:#93a084}
.kd-record .progress-top .icon{color:#d4793a}
.kd-weekrow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:14px 0 10px}
.kd-weekrow>span{display:flex;flex-direction:column;align-items:center;gap:4px}
.kd-weekrow small{font-size:8px;color:#8c977f}
.kd-weekrow i{width:24px;height:24px;border-radius:50%;border:1px solid #dbe3d4;background:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;color:#fff}
.kd-weekrow i .icon{width:13px;height:13px}
.kd-weekrow .on i{background:#7b9866;border-color:#7b9866}
.kd-weekrow .rest i{background:#f3eee2;color:#a08b62}
.kd-weekrow .today i{box-shadow:0 0 0 2px #fafbf8,0 0 0 4px #e0a571}
.kd-level{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:600;color:var(--ink);margin:16px 0 8px}
.kd-record .progress-track{margin-bottom:8px}
.kd-badges{margin-top:14px}
.kd-badges summary{font-size:11px;font-weight:600;color:var(--green);cursor:pointer;min-height:30px;display:flex;align-items:center}
.kd-badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.kd-badge{display:flex;flex-direction:column;gap:2px;font-size:10px;line-height:1.5;color:#6d7b63}
.kd-badge b{font-size:11px;color:var(--ink)}
.kd-badge small{font-size:9px;color:#86917a}
.kd-badge.off{opacity:.5}
.kd-badge-glyph{align-self:flex-start;font:600 12px/1.6 'Noto Sans KR',sans-serif;background:var(--mint);color:#3a5b45;border-radius:6px;padding:1px 7px}
.kd-badge.off .kd-badge-glyph{background:#eceee8;color:#8a9184}
.kd-lesson{margin-top:34px}
.kd-gist p{font-size:15px;font-weight:600;color:#4f6a43}
.kd-lesson .lesson-section p+p{margin-top:12px}
.kd-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 0}
.kd-forms>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px 16px}
.kd-forms dt{font-family:'Noto Sans KR',sans-serif;font-size:18px;font-weight:500;color:var(--ink)}
.kd-forms dd{margin:4px 0 0;font-size:12px;line-height:1.7;color:#74816b}
.kd-blocks{display:flex;flex-wrap:wrap;gap:10px}
.kd-block{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:9px}
.kd-block b{font-family:'Noto Sans KR',sans-serif;font-size:28px;font-weight:500;color:#3a5b45;line-height:1.3}
.kd-block small{font-size:12px;color:#7d8b72}
.kd-related{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kd-related li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:9px}
.kd-related b{font-family:'Noto Sans KR',sans-serif;font-size:18px;font-weight:500;color:var(--ink)}
.kd-related a b{color:var(--green);border-bottom:1px solid #a8b3a1}
.kd-related span{font-size:12px;color:#74816b}
.kd-source a{color:var(--green);border-bottom:1px solid #b9c6b2}
.kd-recent{margin-top:44px}
.kd-recent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kd-recent-row{display:flex;flex-direction:column;gap:3px;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:10px}
.kd-recent-row:hover{border-color:#bdceba}
.kd-recent-row small{font-size:9px;letter-spacing:.6px;color:#8b977f}
.kd-recent-row b{font-family:'Noto Sans KR',sans-serif;font-size:21px;font-weight:500;color:var(--ink)}
.kd-recent-row span{font-size:11px;color:#74816b}
.kd-recent-row i{font-style:normal;font-size:11px;letter-spacing:1px;margin-top:4px}
.kd-week{margin:0 0 6px}
.kd-week-line{display:flex;flex-wrap:wrap;gap:4px 16px}
.kd-week-line b{color:var(--green);font-weight:700}
.kd-word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kd-word-card{display:flex;flex-direction:column;gap:3px;padding:20px 21px 17px;background:#fff;border:1px solid var(--line);border-radius:12px;position:relative;min-height:150px}
.kd-word-card:hover{border-color:#bdceba;box-shadow:0 5px 20px #2a492707;transform:translateY(-2px)}
.kd-word-card.is-today{border-color:#e0a571}
.kd-word-card.is-today:before{content:attr(data-today-label);position:absolute;top:-9px;right:16px;background:#fbefe3;color:#9a562a;font-size:9px;font-weight:700;letter-spacing:1px;padding:1px 8px;border-radius:9px}
.kd-card-ko{font-family:'Noto Sans KR',sans-serif;font-size:25px;font-weight:500;color:#3a5b45;line-height:1.4;word-break:keep-all}
.kd-card-rr{font-size:11px;color:#8b977f}
.kd-card-short{font-size:12px;line-height:1.7;color:#6b7a60;margin-top:6px}
.kd-card-status{margin-top:auto;padding-top:10px;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:#64864f}
.kd-card-status .icon{width:13px;height:13px}
.kd-home-cta{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--green);margin-top:12px;padding-right:34px}
.kd-home-cta .icon{width:13px;height:13px}
.kd-home-cta.done{color:#64864f}
.kd-today-link{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;margin-top:28px;padding:15px 18px;border:1px dashed #c9d6c2;border-radius:10px;font-size:12px;font-weight:600;color:var(--green)}
.kd-today-link .icon{width:17px;height:17px}
.kd-tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.kd-tool-form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px}
.kd-label{font-size:10px;font-weight:700;letter-spacing:1.2px;color:#7d8a73}
.kd-tool textarea,.kd-tool input[type=text]{width:100%;border:1px solid #d6dfd1;border-radius:9px;padding:12px 14px;font:500 18px/1.6 'Noto Sans KR','Noto Sans JP',sans-serif;background:#fdfefb;color:var(--ink);resize:vertical}
.kd-tool textarea:focus-visible,.kd-tool input:focus-visible{outline:3px solid #cf8a50;outline-offset:2px}
.kd-checks{display:flex;flex-wrap:wrap;gap:4px 18px}
.kd-checks .off{opacity:.45}
.kd-try{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:#7d8a73}
.kd-try .filter-tab{border:1px solid var(--line);background:#fafcf7;font-size:12px}
.kd-tool-out{background:#f1f5ec;border-radius:12px;padding:22px;min-width:0}
.kd-out{display:block;font:800 26px/1.45 var(--heading);color:var(--green);margin:6px 0 14px;overflow-wrap:anywhere}
.kd-out-kata{font-size:21px}
.kd-out-small{font-size:20px}
.kd-kata-label{display:block;margin-top:18px}
.kd-notes p{font-size:12px;line-height:1.85;margin-top:8px;color:#6b7a60}
.kd-rows{display:grid;gap:8px;margin-top:16px}
.kd-row{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 14px}
.kd-row-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:13px;color:#6d7d66}
.kd-row-main b{font-family:'Noto Sans KR',sans-serif;font-size:19px;font-weight:500;color:var(--ink)}
.kd-row-rr{font-weight:700;color:var(--green)}
.kd-row small{display:block;font-size:11px;line-height:1.7;color:#86917a;margin-top:4px}
.kd-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kd-two>div{display:flex;flex-direction:column;gap:8px}
.kd-warn{font-size:12px;color:#a0522d}
.kd-tool-out .kd-share{margin:4px 0 12px}
.kd-table-wrap{overflow-x:auto;margin-top:12px}
.kd-table{width:100%;border-collapse:collapse;background:#fff;border-radius:9px;font-size:12px}
.kd-table th,.kd-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.kd-table tbody th{background:#eef3e8;font-size:11px;color:#5d7350}
.kd-how-prose{max-width:860px;margin:34px 0 0;padding:0}
.kd-how-prose h2{font-size:22px}
.kd-how-prose p{margin:14px 0}
.kd-how-prose a{color:var(--green);border-bottom:1px solid #b9c6b2}
.kd-rule-list{padding-left:20px;margin:12px 0;font-size:14px;line-height:2;color:#728363}
@media(max-width:1200px){.kd-top{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.kd-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1020px) and (min-width:761px){.kd-top{grid-template-columns:1fr}.kd-side{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:900px){.kd-tool{grid-template-columns:1fr}}
@media(max-width:760px){.kd-chip{display:none}.kd-top{grid-template-columns:1fr;gap:20px}.kd-word{font-size:48px;letter-spacing:-1.4px}.kd-short{font-size:17px}.kd-quiz h2{font-size:19px}.kd-options .quiz-option{font-size:14px}.kd-options .quiz-option [lang=ko]{font-size:18px}.kd-recent-list{grid-template-columns:1fr 1fr}.kd-forms{grid-template-columns:1fr}.kd-lesson{margin-top:26px}}
@media(max-width:560px){.kd-word{font-size:42px}.kd-say{font-size:13px;gap:4px 12px}.kd-hero-actions{gap:8px}.kd-hero-actions .kd-listen{flex:none}.kd-share .button{flex:1 1 auto;padding:9px 12px}.kd-recent-list,.kd-word-grid{grid-template-columns:1fr}.kd-word-card{min-height:0}.kd-grid span{width:32px;height:32px}.kd-tool-form,.kd-tool-out{padding:18px}.kd-out{font-size:22px}.kd-two{grid-template-columns:1fr}.kd-home-cta{padding-right:28px;font-size:9px}.kd-block{min-width:72px;padding:10px}.kd-block b{font-size:24px}}
@media(max-width:370px){.kd-word{font-size:36px}}
