/* 우사기 공통 디자인. dark는 어두운 테마, light는 밝은 테마입니다.
   색상을 수정하고 저장한 뒤 새로고침하면 모든 화면에 적용됩니다. */
:root,:root[data-theme="dark"] {
  color-scheme:dark;
  --paper:#101410 !important;
  --ink:#ecefe6 !important;
  --muted:#a1aa9e !important;
  --green:#f1a8cc !important;
  --line:#323b30 !important;
  --surface:#191e19;
  --subtle:#151a15;
  --soft:#382331;
  --on-accent:#321525;
  --preview-border:#59404e;
  --timer-surface:#2d2029;
  --notice-bg:#302d1e;
  --notice-ink:#ddce9f;
  --error-bg:#35211f;
  --error-ink:#f2b1a0;
  --study-font:'Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif;
  --card-radius:10px;
}
:root[data-theme="light"] {
  color-scheme:light;
  --paper:#f5f4ee !important;
  --ink:#252c24 !important;
  --muted:#65715f !important;
  --green:#a52c68 !important;
  --line:#d6ddce !important;
  --surface:#fffefa;
  --subtle:#f2f3eb;
  --soft:#f5e2ec;
  --on-accent:#ffffff;
  --preview-border:#d9b9c9;
  --timer-surface:#f8eaf1;
  --notice-bg:#f0ead7;
  --notice-ink:#75612c;
  --error-bg:#f9e9e3;
  --error-ink:#98432e;
}
body{font-family:var(--study-font)!important;background:var(--paper)!important;color:var(--ink)!important}
.theme-select{font:inherit;font-size:11px!important;padding:8px 10px!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;border-radius:5px!important;cursor:pointer;min-width:0}
.panel,.card,.channel,.summary,.tool-card,.info-link{background:var(--surface)!important;border-color:var(--line)!important;border-radius:var(--card-radius)!important}
input,select,.search input{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
input::placeholder{color:var(--muted);opacity:.85}
.logo,.primary,.search button,.channel-link{background:var(--green)!important;color:var(--on-accent)!important}
.secondary,.tag,.curriculum,.d-day,.hero-note,.basis,.telegram-icon,.extension{background:var(--soft)!important;color:var(--green)!important;border-color:var(--line)!important}
.family-tabs button{background:var(--surface)!important;color:var(--muted)!important;border-color:var(--line)!important}
.family-tabs button[aria-selected="true"],.family-tabs button.active{background:var(--green)!important;color:var(--on-accent)!important}
.save,.pagination button{background:var(--surface)!important;color:var(--green)!important;border-color:var(--line)!important}
.save[aria-pressed="true"]{background:var(--soft)!important}
.progress{background:var(--line)!important}
th{background:var(--soft)!important;color:var(--muted)!important}
.plan-row,.session-list>div,td,.filelist,.record-meta{border-color:var(--line)!important}
.legal-notice,.preview-note,.notice,.missing{background:var(--notice-bg)!important;color:var(--notice-ink)!important;border-color:var(--line)!important}
.legal-notice h2,.legal-detail,.legal-notice p{color:var(--notice-ink)!important}
.success{background:var(--soft)!important;color:var(--green)!important}
.error{background:var(--error-bg)!important;color:var(--error-ink)!important}
.inline-delete button{background:var(--soft)!important;color:var(--ink)!important}
.danger{color:var(--error-ink)!important}
.toast{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)}
.download.unavailable{background:var(--subtle)!important;color:var(--muted)!important}
:root[data-theme="dark"] .trend svg line{stroke:var(--line)}
:root[data-theme="dark"] .trend svg text{fill:var(--muted)}
:root[data-theme="dark"] .trend svg polyline{stroke:var(--green)}
:root[data-theme="dark"] .trend svg circle{fill:var(--green)}
.app-header{gap:20px}.app-header nav{align-items:center;flex-wrap:wrap}
header nav{align-items:center}
@media(max-width:650px){.app-header{height:auto;min-height:80px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.app-header nav{gap:12px;width:100%;justify-content:flex-start}.theme-select{font-size:10px!important;padding:7px!important}html[data-static-theme="true"]:not(:has(.site-header)) header{height:auto;min-height:80px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:15px}html[data-static-theme="true"]:not(:has(.site-header)) header nav{flex-wrap:wrap;font-size:11px;gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* 기존 자료실과 학습 도구의 세부 색상 및 로고 */
.family-tabs button[aria-selected="true"] *, .family-tabs button.active *{color:var(--on-accent)!important;opacity:.9}
.search{background:var(--surface)!important;border-color:var(--line)!important}
.channel .channel-description{color:var(--muted)!important}
.channel-link{background:transparent!important;color:var(--green)!important}
.cardbottom,.record-meta,.filelist a{border-color:var(--line)!important}
.cardbottom span,.record-meta,.filelist small{color:var(--muted)!important}
.logo{background:transparent!important;color:var(--ink)!important;font-family:Georgia,serif;font-size:34px!important;font-style:italic;border-radius:0!important;display:inline-flex!important;align-items:baseline!important;width:auto!important;height:auto!important;line-height:1}
.logo>span{color:var(--green)}
.study-tool{border-radius:var(--card-radius)!important}
.trend svg polyline{stroke:var(--green)}
.trend svg circle{fill:var(--green)}
/* 우사기 마스코트 공통 로고 */
.brand-mascot{display:inline-block;width:38px;height:48px;object-fit:contain;vertical-align:middle;flex-shrink:0;margin-right:8px}
.wordmark .brand-mascot{margin-right:0;width:42px;height:54px}
.home-footer .brand-mascot{width:32px;height:42px}
@media(max-width:650px){.brand-mascot{width:30px;height:39px}.wordmark .brand-mascot{width:32px;height:42px}.site-header{padding-top:10px}}
.practice-open{display:block;padding:12px 15px;border:1px solid var(--green);border-radius:6px;color:var(--green);font-size:13px;text-align:center;margin-top:16px;font-weight:700}.practice-open:hover{background:var(--soft)}
.filelist{display:flex;flex-direction:column;gap:10px}
.filelist .download{padding:12px 15px;border:1px solid var(--green)!important;border-radius:6px;background:transparent;color:var(--green)}
.filelist a.download:hover{background:var(--soft)}
.filelist a.download:focus-visible,.practice-open:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.filelist .download>span:first-child{min-width:0}
.filelist .download .extension{background:transparent!important;padding:0}
.filelist .download.unavailable{border-color:var(--line)!important}
