/* The study tools share the existing HSK paper, ink and deep-red palette. */
.page-library .foundation-progress{grid-template-columns:minmax(0,1fr)}.page-library .study-tools-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(340px,1.22fr);align-items:stretch}.page-library .study-tools-cards .learning-dashboard{align-self:stretch;padding:26px 24px;display:flex;flex-direction:column}.page-library .notes-entry-card .photo{aspect-ratio:16/9;height:auto;min-height:0;overflow:hidden;background:var(--ink)}.notes-entry-card .photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.learning-dashboard button,.study-calendar button,.study-calendar input{font:inherit}.chart-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:5px 0 12px}.chart-tabs button{flex:1;padding:10px 4px;min-height:44px;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;font-weight:650;font-size:.875rem;cursor:pointer}.chart-tabs [aria-selected="true"]{color:var(--red);border-bottom-color:var(--red)}.study-chart-pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;min-width:0}.study-chart-pages::-webkit-scrollbar{display:none}.study-chart-panel{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.chart-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;font-size:.875rem;color:var(--muted)}.chart-filter select{background:var(--paper);border:1px solid var(--line);font:inherit;color:var(--ink);padding:6px;min-width:0;max-width:65%}.chart-unit{font-size:.875rem;color:var(--muted);min-height:38px;margin:0;display:flex;align-items:center}.study-bars{display:flex;align-items:stretch;gap:7px;height:198px;padding-top:15px}.study-bar{flex:1;min-width:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;padding:0;cursor:pointer;color:var(--ink)}.study-bar:hover .bar-track>span{background:var(--brown)}.bar-value{font-size:.75rem;font-weight:650;min-height:25px;font-variant-numeric:tabular-nums}.bar-track{display:flex;align-items:flex-end;flex:1;width:100%;max-width:29px;background:linear-gradient(to top,#d7c2a84d 1px,transparent 1px);background-size:100% 25%}.bar-track>span{display:block;width:100%;background:#721f24;min-height:0;border-radius:2px 2px 0 0}.time-bars .bar-track>span{background:#684433}.bar-label{display:block;width:100%;padding-top:8px;border-top:1px solid var(--line);font-size:.75rem;white-space:nowrap;color:var(--muted)}.chart-caption{font-size:.8125rem!important;color:var(--muted);margin:13px 0 0!important;line-height:1.5!important;min-height:40px}.chart-empty{min-height:198px;display:grid;place-content:center;text-align:center;padding:25px 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:1rem;line-height:1.7}.chart-swipe-hint{margin:8px 0 18px!important;font-size:.75rem!important;color:var(--muted);line-height:1.5!important}.study-mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:18px;margin-top:auto;gap:12px}.study-mini-metrics strong{display:block;font:400 1.8rem/1.3 "Palatino Linotype",Georgia,serif;color:var(--red)}.study-mini-metrics span{display:block;font-size:.8125rem;line-height:1.5;margin-top:4px;color:var(--muted)}.learning-dashboard .calendar-open{display:flex;justify-content:space-between;align-items:center;margin-top:22px;min-height:44px;width:100%}.study-calendar-open{overflow:hidden}.study-calendar{--ink:#251711;--red:#721f24;--line:#d7c2a8;--muted:#706158;--paper:#faf7f1;--surface:#fffdf9;width:min(1030px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:3px;padding:30px;color:var(--ink);box-shadow:0 20px 90px #25171155;font:400 1rem/1.6 Aptos,"Segoe UI",Arial,sans-serif}.study-calendar::backdrop{background:rgba(24,14,10,.55);backdrop-filter:blur(6px)}.calendar-header{display:flex;justify-content:space-between;gap:20px;align-items:start}.study-calendar h2{font:400 2rem/1.3 "Palatino Linotype",Georgia,serif;margin:5px 0 24px}.study-calendar .learning-kicker{font-size:.75rem;letter-spacing:.13em;font-weight:700;color:var(--red);margin:0}.calendar-close{width:42px;height:42px;background:transparent;border:1px solid var(--line);font-size:1.7rem!important;cursor:pointer}.calendar-month-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-month-nav button{background:var(--surface);border:1px solid var(--line);color:var(--ink);min-height:42px;min-width:42px;padding:5px 12px;cursor:pointer}.calendar-month-nav input{min-height:42px;padding:6px 12px;max-width:220px;border:1px solid var(--line);color:var(--ink);background:var(--surface)}.calendar-summary{display:flex;flex-wrap:wrap;gap:16px 32px;margin:20px 0 25px;color:var(--muted);font-size:.875rem}.calendar-summary b{color:var(--ink);margin-left:10px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,1fr);gap:30px;align-items:start}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{text-align:center;font-size:.8125rem;color:var(--muted);margin-bottom:8px}.calendar-day{min-width:0;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer}.calendar-day span{font-size:.9375rem}.calendar-day small{font-size:.75rem;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}.calendar-day.has-study{background:#eee3d5;border-color:#b99054}.calendar-day[aria-current="date"] span{text-decoration:underline;text-underline-offset:4px;font-weight:700}.calendar-day[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fffdf9}.calendar-day[aria-pressed="true"] small{color:#eee3d5}.calendar-day-detail{border-left:1px solid var(--line);padding-left:28px;min-width:0}.calendar-day-detail h3{font:400 1.5rem/1.45 "Palatino Linotype",Georgia,serif;margin:6px 0 14px}.calendar-day-detail .day-total{font:400 1.6rem/1.4 "Palatino Linotype",Georgia,serif;color:var(--red);margin:0 0 18px}.calendar-day-detail p{color:var(--muted)}.calendar-day-detail table{border-collapse:collapse;width:100%;font-size:.875rem}.calendar-day-detail th,.calendar-day-detail td{text-align:left;padding:10px 5px;border-bottom:1px solid var(--line);font-weight:400;overflow-wrap:anywhere}.calendar-day-detail thead th{font-weight:650;color:var(--muted)}.calendar-day-detail td{text-align:right}.calendar-day-detail h4{margin:20px 0 10px}.day-results{padding-left:18px;margin:0;font-size:.875rem}.day-results li{margin:8px 0}.day-results b{display:block;font-weight:600}.calendar-legacy,.calendar-tracking{font-size:.8125rem;line-height:1.7;color:var(--muted);margin-top:24px}.calendar-legacy{padding-top:20px;border-top:1px solid var(--line)}.study-calendar :focus-visible,.learning-dashboard :focus-visible{outline:2px solid #721f24;outline-offset:3px}.study-calendar .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1100px){.page-library .study-tools-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-library .study-tools-cards .learning-dashboard{grid-column:1/-1}.study-bars{height:220px}.bar-track{max-width:44px}.chart-tabs{max-width:540px}.study-mini-metrics{max-width:600px}.learning-dashboard .calendar-open{max-width:400px}}@media(max-width:680px){.page-library .study-tools-cards{grid-template-columns:1fr}.page-library .study-tools-cards .learning-dashboard{grid-column:auto;padding:22px 18px}.study-calendar{padding:20px 14px;width:calc(100% - 16px);max-height:94dvh}.calendar-layout{grid-template-columns:1fr;gap:24px}.calendar-day-detail{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.calendar-month-nav{gap:7px}.calendar-month-nav input{max-width:170px;padding:6px}.calendar-day{min-height:60px}.study-calendar h2{font-size:1.8rem}.study-mini-metrics{gap:8px}.study-mini-metrics span{font-size:.8125rem}.chart-swipe-hint{font-size:.8125rem!important}}
@media(prefers-reduced-motion:reduce){.study-chart-pages{scroll-behavior:auto}}
