/* Study notes: light paper, original handwriting and a restrained daily rhythm. */
.study-page { --study-paper:#f3f4f4; --study-white:#ffffff; --study-ink:#2a2e31; --study-muted:#727c82; --study-line:#d8dde0; --study-accent:#4e5c65; margin:0; background:var(--study-paper); color:var(--study-ink); font:400 16px/1.85 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans","Yu Gothic","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
.study-page *, .study-page *::before, .study-page *::after { box-sizing:border-box; }
.study-page [hidden] { display:none !important; }
.study-page :is(h1,h2,p,figure,dl,dd,ol) { margin:0; }
.study-page a { color:inherit; text-decoration:none; }
.study-page :is(button,select) { font:inherit; color:inherit; }
.study-page button { cursor:pointer; -webkit-tap-highlight-color:transparent; }
.study-page :is(a,button,select,[tabindex="0"]):focus-visible { outline:2px solid var(--study-accent); outline-offset:5px; }
.study-page ::selection { background:#d9dfd5; color:#252824; }
.study-container { width:100%; max-width:1280px; margin-inline:auto; padding-inline:clamp(22px,4.2vw,54px); }
.study-skip { position:fixed; left:20px; top:-100px; z-index:40; padding:10px 16px; background:#333b35; color:white !important; }
.study-skip:focus { top:12px; }
.study-header { border-bottom:1px solid var(--study-line); }
.study-header__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:94px; }
.study-home { display:inline-flex; align-items:center; gap:15px; min-height:44px; font-size:13px; }
.study-home > span:first-child { font-size:20px; }
.study-wordmark { font-size:12px; font-weight:600; letter-spacing:.16em; }
.study-languages { display:flex; align-items:center; gap:8px; font-size:12px; }
.study-languages > span { color:#b6bbb2; }
.study-languages button { min-height:44px; padding:10px 2px; border:0; border-bottom:1px solid transparent; background:none; color:var(--study-muted); }
.study-languages button[aria-pressed=true] { color:var(--study-ink); border-bottom-color:var(--study-ink); }
#study-main { outline:0; min-height:65vh; }
.study-intro { padding-block:66px 43px; border-bottom:1px solid var(--study-ink); }
.study-kicker { font-size:11px; line-height:1.9; letter-spacing:.1em; color:var(--study-muted); }
.study-intro h1 { margin-top:24px; max-width:950px; font-size:clamp(40px,5vw,64px); line-height:1.4; font-weight:550; letter-spacing:-.045em; text-wrap:balance; outline:0; }
.study-page:lang(en) .study-intro h1 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.study-intro__bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-top:27px; }
.study-intro__bottom p { max-width:45em; font-size:14px; line-height:2; color:var(--study-muted); }
.study-checkin { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:44px; padding:9px 16px; border:1px solid var(--study-line); background:var(--study-white); color:var(--study-ink); font-size:12px; line-height:1.8; }
.study-rhythm { display:grid; grid-template-columns:1fr minmax(250px,.8fr); gap:45px; align-items:center; padding-block:34px 36px; border-bottom:1px solid var(--study-line); }
.study-rhythm h2 { font-size:15px; font-weight:500; line-height:1.9; }
.study-rhythm__summary > p:first-of-type { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; margin-top:13px; color:var(--study-muted); font-size:11px; }
.study-rhythm strong { font-size:29px; line-height:1.5; font-weight:500; color:var(--study-ink); font-variant-numeric:tabular-nums; }
.study-rhythm__divider { padding-inline:9px; color:#c1c6bc; }
.study-rhythm__hint { margin-top:7px !important; color:var(--study-muted); font-size:10px; line-height:1.9; }
.study-calendar { max-width:390px; width:100%; justify-self:end; }
.study-calendar__heading { display:flex; justify-content:space-between; align-items:baseline; gap:15px; color:var(--study-muted); font-size:10px; line-height:1.8; }
.study-calendar__heading > span:last-child { font-size:9px; font-variant-numeric:tabular-nums; }
.study-calendar__days { display:grid; grid-template-columns:repeat(14,minmax(0,1fr)); gap:6px; list-style:none; padding:0; margin-block:11px 8px !important; }
.study-calendar__day { aspect-ratio:1; min-height:10px; background:#e5e9eb; border:1px solid #d9dfe2; border-radius:2px; }
.study-calendar__day.has-record { background:#7d8b93; border-color:#727f87; }
.study-calendar__day.is-today { outline:1px solid #68767d; outline-offset:2px; }
.study-calendar__legend { display:flex; align-items:center; justify-content:flex-end; gap:7px; color:var(--study-muted); font-size:9px; line-height:1.8; }
.study-calendar__legend > span:first-child { width:8px; height:8px; background:#7d8b93; }
.study-library { padding-top:27px; }
.study-library__controls { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-bottom:25px; color:var(--study-muted); font-size:11px; line-height:1.8; }
.study-course-control { display:flex; align-items:center; gap:12px; min-width:0; }
.study-course-control select { max-width:330px; min-width:160px; min-height:44px; padding:9px 25px 9px 11px; border:1px solid var(--study-line); border-radius:0; background:var(--study-paper); color:var(--study-ink); font-size:12px; }
.study-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 29px; padding-bottom:85px; align-items:stretch; }
.study-card { min-width:0; background:var(--study-white); border:1px solid var(--study-line); box-shadow:0 3px 17px #252c2404; }
.study-card__link { display:flex; height:100%; flex-direction:column; }
.study-card__image { display:flex; align-items:center; justify-content:center; aspect-ratio:1.38; overflow:hidden; background:#f5f6f6; border-bottom:1px solid #e8e9e2; }
.study-card__image img { display:block; width:100%; height:100%; object-fit:contain; }
.study-card__image--type { background:repeating-linear-gradient(#f9faf9 0 27px,#e5e9ea 28px 29px); }
.study-card__image--type > span { font:400 74px/1.5 "Songti SC","Yu Mincho",Georgia,serif; color:#a2adb4; padding:10px 25px; background:#f9faf9e6; }
.study-card__copy { display:flex; flex-direction:column; flex:1; padding:26px 29px 23px; }
.study-card__meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px 18px; color:var(--study-muted); font-size:10px; line-height:1.9; font-variant-numeric:tabular-nums; }
.study-card__title { margin-top:16px !important; font-size:25px; line-height:1.6; font-weight:500; letter-spacing:-.025em; overflow-wrap:anywhere; }
.study-card__course { margin-top:13px !important; color:var(--study-accent); font-size:13px; line-height:1.9; white-space:pre-line; overflow-wrap:anywhere; }
.study-card__provider { margin-top:4px !important; color:var(--study-muted); font-size:11px; line-height:1.9; overflow-wrap:anywhere; }
.study-card__foot { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:23px; margin-top:auto; color:var(--study-muted); font-size:10px; line-height:1.9; }
.study-card__foot > span:last-child { margin-left:auto; font-size:22px; color:var(--study-ink); }
.study-state { max-width:680px; min-height:320px; padding-block:44px 80px; }
.study-state__mark { display:grid; place-items:center; width:48px; height:48px; background:#e5eaed; color:#53636d; font-size:24px; margin-bottom:24px; }
.study-state h2 { font-size:26px; font-weight:500; line-height:1.65; letter-spacing:-.025em; }
.study-state p { margin-top:15px; max-width:40em; color:var(--study-muted); font-size:14px; line-height:2; }
.study-retry { margin-top:24px; min-height:44px; padding:10px 20px; border:1px solid var(--study-accent); background:var(--study-accent); color:white !important; font-size:12px !important; }
.study-state__back { display:inline-flex; align-items:center; min-height:44px; margin-top:19px; color:var(--study-accent) !important; font-size:13px; text-decoration:underline !important; text-underline-offset:5px; }
.study-detail { padding-bottom:80px; }
.study-detail__toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; padding-block:23px; border-bottom:1px solid var(--study-line); }
.study-back { display:inline-flex; align-items:center; min-height:44px; color:var(--study-accent) !important; font-size:13px; line-height:1.8; }
.study-permalink { display:inline-flex; align-items:center; min-height:44px; font-size:11px; color:var(--study-muted) !important; }
.study-detail__header { max-width:900px; margin-inline:auto; padding-block:46px 35px; }
.study-detail__title { font-size:clamp(30px,4vw,48px); line-height:1.5; letter-spacing:-.035em; font-weight:500; margin-top:23px !important; outline:0; overflow-wrap:anywhere; }
.study-detail__meta { display:flex; flex-wrap:wrap; gap:20px 42px; margin-top:28px !important; }
.study-detail__meta > div { min-width:0; max-width:100%; }
.study-detail__meta dt { margin-bottom:3px; color:var(--study-muted); font-size:10px; line-height:1.8; }
.study-detail__meta dd { font-size:13px; line-height:1.9; white-space:pre-line; overflow-wrap:anywhere; }
.study-detail__body { max-width:820px; margin:0 auto 39px !important; font-size:17px; line-height:2.1; white-space:pre-wrap; overflow-wrap:anywhere; }
.study-gallery { max-width:1020px; margin-inline:auto; display:flex; flex-direction:column; gap:36px; }
.study-note-image { min-width:0; padding:20px; border:1px solid var(--study-line); background:var(--study-white); }
.study-note-image__button { display:block; width:100%; padding:0; border:0; background:#fafaf6; cursor:zoom-in !important; }
.study-note-image__button img { display:block; width:100%; height:auto; object-fit:contain; }
.study-note-image figcaption { padding:17px 5px 3px; font-size:12px; line-height:1.95; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--study-muted); }
.study-note-image__alt { font-size:10px; margin-top:5px !important; }
.study-back--bottom { margin-top:38px; }
.study-footer { border-top:1px solid var(--study-line); }
.study-footer__inner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px 25px; padding-block:27px 32px; color:var(--study-muted); font-size:10px; line-height:1.8; }
.study-footer__inner > span:first-child { letter-spacing:.1em; }
.study-noscript { padding:25px; text-align:center; font-size:14px; }
.study-page.has-lightbox { overflow:hidden; }
.study-lightbox { position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#1b211ef5; color:#fbfcf8; z-index:1000; overflow:hidden; }
.study-lightbox:not([open]) { display:none; }
.study-lightbox[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.study-lightbox::backdrop { background:#19201bea; }
.study-lightbox__toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:calc(10px + env(safe-area-inset-top)) max(17px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left)); background:#1c2420; min-height:66px; border-bottom:1px solid #ffffff1c; }
.study-lightbox__toolbar > span { font-size:12px; font-variant-numeric:tabular-nums; }
.study-lightbox__tools { display:flex; align-items:center; gap:8px; }
.study-lightbox__tools button { display:grid; place-items:center; min-width:44px; height:44px; padding:5px 10px; border:1px solid #ffffff45; background:#ffffff08; color:#fff; line-height:1; font-size:20px; }
.study-lightbox__tools button:disabled { opacity:.3; cursor:default; }
.study-lightbox__tools .study-lightbox__zoom { font-size:12px; min-width:68px; }
#study-lightbox-close { font-size:28px; border-color:#ffffffe0; }
.study-lightbox :focus-visible { outline:2px solid #f0e2ba !important; outline-offset:3px; }
.study-lightbox__viewport { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; overflow:auto; padding:14px; overscroll-behavior:contain; }
.study-lightbox__image { display:block; max-width:100%; max-height:100%; width:auto; height:auto; margin:auto; object-fit:contain; }
.study-lightbox.is-original .study-lightbox__viewport { align-items:flex-start; justify-content:flex-start; }
.study-lightbox.is-original .study-lightbox__image { max-width:none; max-height:none; flex:0 0 auto; margin:0; }
.study-lightbox__caption { padding:12px 22px calc(16px + env(safe-area-inset-bottom)); max-height:22vh; overflow:auto; background:#1c2420; color:#e2e8df; font-size:12px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
#study-lightbox-alt { font-size:10px; color:#b6c1b2; }
#study-lightbox-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* Homepage section only: never changes the original hero image, logo or copy. */
#home-sections #study.kk-study-home { display:block; padding:57px 0 64px; margin-block:0 70px; border-top:1px solid #cdd5d9; border-bottom:1px solid #d9dfe2; background:transparent; }
#home-sections .kk-study-home__top { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:32px; }
#home-sections .kk-study-home__eyebrow { font:500 11px/1.9 var(--sans,sans-serif); letter-spacing:.1em; color:#717b81; }
#home-sections .kk-study-home__title { font-family:var(--title-font,var(--sans,sans-serif)); font-size:clamp(30px,3.4vw,43px); font-weight:500; line-height:1.55; letter-spacing:-.035em; margin-top:17px; }
#home-sections .kk-study-home__links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; }
#home-sections .kk-study-home__link { display:inline-flex; align-items:center; gap:20px; min-height:44px; color:#45535c; border-bottom:1px solid #9ba7ae; font:500 13px/1.8 var(--sans,sans-serif); }
#home-sections .kk-study-home__checkin { font:400 12px/1.8 var(--sans,sans-serif); color:#65727a; min-height:44px; display:inline-flex; align-items:center; }
#home-sections .kk-study-home__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
#home-sections .kk-study-home__card { display:flex; min-width:0; flex-direction:column; background:#fffffc; border:1px solid #d8dde0; }
#home-sections .kk-study-home__image { display:flex; aspect-ratio:1.4; align-items:center; justify-content:center; background:#f1f3f4; border-bottom:1px solid #e6eaec; overflow:hidden; }
#home-sections .kk-study-home__image img { width:100%; height:100%; object-fit:contain; display:block; }
#home-sections .kk-study-home__image > span { font:400 64px/1.3 "Songti SC","Yu Mincho",Georgia,serif; color:#a7b1b6; }
#home-sections .kk-study-home__copy { padding:20px 22px 23px; }
#home-sections .kk-study-home__date { color:#727e85; font:400 10px/1.8 var(--sans,sans-serif); }
#home-sections .kk-study-home__entry-title { font:500 19px/1.7 var(--title-font,var(--sans,sans-serif)); letter-spacing:-.015em; margin-top:11px; overflow-wrap:anywhere; }
#home-sections .kk-study-home__course { font:400 12px/1.95 var(--sans,sans-serif); color:#626f76; margin-top:10px; overflow-wrap:anywhere; }
#home-sections .kk-study-home__provider { font:400 10px/1.9 var(--sans,sans-serif); color:#7a848a; margin-top:4px; overflow-wrap:anywhere; }
#home-sections .kk-study-home__empty { display:flex; align-items:center; gap:30px; padding:42px 38px; min-height:190px; background:#fdfefeed; border:1px solid #dce1e4; }
#home-sections .kk-study-home__mark { display:grid; place-items:center; flex:0 0 auto; width:65px; height:65px; background:#edf0f1; color:#87959d; font-size:30px; }
#home-sections .kk-study-home__empty-title { font:500 23px/1.7 var(--title-font,var(--sans,sans-serif)); color:#424e55; }
#home-sections .kk-study-home__empty-copy { font:400 13px/2 var(--sans,sans-serif); color:#7c878d; margin-top:12px; max-width:48em; }
@media (max-width:900px) { .study-rhythm { gap:30px; grid-template-columns:1fr 1fr; } #home-sections .kk-study-home__cards { gap:16px; } #home-sections .kk-study-home__copy { padding-inline:17px; } }
@media (max-width:700px) {
 .study-header__inner { min-height:79px; gap:15px; padding-block:13px; }.study-wordmark { display:none; }.study-home { font-size:12px; gap:10px; }.study-languages { gap:5px; font-size:11px; }
 .study-intro { padding-block:40px 32px; }.study-intro h1 { margin-top:22px; font-size:36px; line-height:1.5; }.study-intro__bottom { flex-direction:column; align-items:flex-start; gap:20px; }.study-intro__bottom p { font-size:14px; }
 .study-rhythm { grid-template-columns:1fr; gap:25px; padding-block:26px 29px; }.study-calendar { max-width:none; justify-self:start; }.study-calendar__days { gap:7px; }.study-calendar__day { max-height:22px; }.study-calendar__heading { font-size:10px; }
 .study-library { padding-top:23px; }.study-library__controls { flex-direction:column; align-items:flex-start; gap:15px; margin-bottom:22px; }.study-course-control { width:100%; justify-content:space-between; }.study-course-control select { max-width:80%; min-width:180px; }
 .study-grid { grid-template-columns:1fr; gap:26px; padding-bottom:60px; }.study-card__copy { padding:23px; }.study-card__title { font-size:24px; }.study-state { padding-block:31px 60px; }.study-state h2 { font-size:24px; }
 .study-detail { padding-bottom:60px; }.study-detail__toolbar { padding-block:16px; gap:9px 20px; }.study-back { font-size:12px; }.study-detail__header { padding-block:33px 29px; }.study-detail__title { font-size:30px; }.study-detail__meta { gap:17px 28px; }.study-detail__body { font-size:16px; line-height:2.1; }.study-gallery { gap:25px; }.study-note-image { padding:10px; }.study-note-image figcaption { font-size:11px; padding-inline:4px; }.study-note-image__alt { font-size:10px; }
 .study-lightbox__toolbar { padding-inline:13px; gap:10px; }.study-lightbox__tools { gap:5px; }.study-lightbox__toolbar > span { font-size:11px; }.study-lightbox__tools button { min-width:40px; width:40px; height:44px; padding:5px; }.study-lightbox__tools .study-lightbox__zoom { width:auto; min-width:64px; font-size:11px; }.study-lightbox__viewport { padding:8px; }.study-lightbox__caption { padding-inline:15px; font-size:11px; max-height:23vh; }
 #home-sections #study.kk-study-home { padding-block:39px 43px; margin-bottom:48px; } #home-sections .kk-study-home__top { display:block; margin-bottom:27px; } #home-sections .kk-study-home__title { font-size:29px; margin-top:15px; } #home-sections .kk-study-home__links { margin-top:19px; } #home-sections .kk-study-home__cards { grid-template-columns:1fr; gap:23px; } #home-sections .kk-study-home__copy { padding:20px 22px 23px; } #home-sections .kk-study-home__entry-title { font-size:23px; } #home-sections .kk-study-home__empty { display:block; padding:29px 25px 32px; } #home-sections .kk-study-home__mark { width:48px; height:48px; margin-bottom:22px; font-size:25px; } #home-sections .kk-study-home__empty-title { font-size:23px; } #home-sections .kk-study-home__empty-copy { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .study-page *, .study-page *::before, .study-page *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
@media print { .study-header,.study-library__controls,.study-checkin,.study-detail__toolbar,.study-back,.study-footer,.study-lightbox,.study-skip { display:none !important; }.study-page { background:white; color:black; }.study-container { padding:0; }.study-detail__body { font-size:12pt; }.study-note-image { break-inside:avoid; }.study-note-image__button { background:white; } }
