:root{--ink:oklch(24% .035 215);--ink-foreground:oklch(96% .008 200);--ink-muted:oklch(80% .02 200);--ink-rule:oklch(100% 0 0/.1);--ink-primary:oklch(72% .11 185);--ink-primary-foreground:oklch(18% .03 200);--mix-repaso:oklch(78% .13 72);--mix-debil:oklch(72% .11 185);--mix-nuevo:oklch(92% .01 200);--danger-soft:oklch(95% .045 72);--danger-edge:oklch(74% .15 70);--danger-text:oklch(48% .12 60);--font-display:var(--font-ui);--r-hero:26px}.dark,:root[data-theme=dark]{--ink:oklch(26% .03 210);--ink-rule:oklch(100% 0 0/.08)}.display{font-family:var(--font-display);letter-spacing:-.025em;font-weight:400;line-height:1.04}.display-num{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums lining-nums;font-weight:300;line-height:.9}.ink-surface{background:var(--ink);color:var(--ink-foreground);border-radius:var(--r-hero);box-shadow:0 30px 60px -36px oklch(24% .06 215/.7)}.ink-surface .rule{box-shadow:inset 0 1px 0 var(--ink-rule)}.content-card{background:var(--card);border-radius:var(--r-container);box-shadow:0 0 0 1px oklch(24% .035 215/.05),0 1px 2px oklch(24% .035 215/.04)}.study-plan .display,.study-plan .display-num,.study-quiz .display,.study-quiz .display-num,.study-results .display,.study-results .display-num,.study-today .display,.study-today .display-num{letter-spacing:0}.study-plan .ink-surface,.study-quiz .ink-surface,.study-results .ink-surface,.study-today .ink-surface{border-radius:8px}.plan-minute-progress{appearance:none;background:var(--secondary);color:var(--primary);border:0;border-radius:999px;overflow:hidden}.plan-minute-progress::-webkit-progress-bar{background:var(--secondary)}.plan-minute-progress::-webkit-progress-value{background:var(--primary);border-radius:999px}.plan-minute-progress::-moz-progress-bar{background:var(--primary);border-radius:999px}.plan-absence-note{background:var(--danger-soft);color:var(--danger-text);border-left:2px solid var(--danger-edge)}.study-results .result-summary .text-ink{color:var(--ink-foreground)}.study-results .result-summary .text-muted-foreground{color:var(--ink-muted)}.study-results .result-summary .text-destructive{color:var(--mix-repaso)}.study-results .result-summary .text-success{color:var(--ink-primary)}.study-results .result-summary .rounded-2xl{background:0 0;border:0;border-radius:0;padding:0}.study-results .result-summary .text-success,.study-results .result-summary .text-destructive{background:0 0}.study-results .content-card{box-shadow:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding-inline:0}.study-results td{border-radius:8px}.study-plan input[type=checkbox]{accent-color:var(--primary)}.plan-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-title{font-family:var(--font-reading);letter-spacing:0;color:var(--foreground);font-size:36px;font-weight:400;line-height:1.15}.plan-phase-track{gap:6px;margin-top:26px;margin-bottom:28px;display:flex}.plan-phase{flex:1;min-width:0}.plan-phase-line{background:var(--secondary);border-radius:999px;height:8px;position:relative}.plan-phase[data-current] .plan-phase-line{background:var(--foreground)}.plan-phase-marker{border:2px solid var(--foreground);background:var(--card);border-radius:50%;width:18px;height:18px;position:absolute;top:-5px;left:5%}.plan-agenda{background:var(--card);border-radius:var(--r-container);padding:24px}.plan-week-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.plan-week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:20px;display:grid}.study-plan .plan-day{min-width:0;height:76px;color:var(--foreground);background:0 0;border-radius:12px;flex-direction:column;gap:6px;padding:8px 6px;display:flex}.study-plan .plan-day[aria-pressed=true]{background:var(--foreground);color:var(--background)}.plan-day-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;margin-top:24px;padding-bottom:12px;display:flex}.plan-day-heading h3{font-family:var(--font-reading);text-transform:capitalize;font-size:24px;font-weight:400;line-height:1.2}.plan-activity{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:16px 0;display:flex}.plan-activity:last-child{border-bottom:0}.study-plan .plan-activity-check{appearance:none;border:1.5px solid var(--muted-foreground);cursor:pointer;border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:2px}.plan-activity[data-next] .plan-activity-check{border:5px solid var(--primary)}.study-plan .plan-activity-check:checked{border-color:var(--primary);background:var(--primary)}.plan-activity-check:checked:after{content:"";border:solid var(--primary-foreground);border-width:0 1.5px 1.5px 0;width:5px;height:8px;margin:2px 0 0 5px;display:block;transform:rotate(45deg)}.plan-activity-check:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.plan-agenda-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:4px;padding-top:14px;display:flex}@media (width<=639px){.plan-title{font-size:30px}.plan-agenda{padding:20px 18px}.plan-week-heading{gap:8px}.plan-week-heading h2{font-size:12px}.plan-week-heading p{font-size:11px}.plan-week-days{gap:3px}.study-plan .plan-day{height:68px;padding-inline:5px}}.study-today .content-card{border-radius:8px}.study-session .display,.study-session .display-num{letter-spacing:0}.study-session .ink-surface{border-radius:8px}.study-plan button[aria-pressed=true]{background:var(--foreground);color:var(--background)}.study-session [aria-label^="Tipo de sesión"] button[role=radio][aria-checked=true],.study-session [aria-label^="Tipo de sesión"] button:hover{background:var(--card);color:var(--foreground)}@media (width<=767px){.study-plan{padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}.study-plan .plan-absence-note{scroll-margin-bottom:calc(160px + env(safe-area-inset-bottom,0px))}}@media (width<=639px){.study-results .result-summary .display-num{font-size:56px}.study-results .result-summary .display-num span{font-size:24px}}@layer components{.btn{border-radius:var(--r-capsule);min-height:44px;font:600 .95rem/1 var(--font-ui);white-space:nowrap;cursor:pointer;transition:transform .16s var(--ease-glass), box-shadow .2s var(--ease-calm), background-color .2s var(--ease-calm), filter .2s var(--ease-calm);justify-content:center;align-items:center;gap:.5rem;padding:0 1.2rem;display:inline-flex}.btn svg{flex-shrink:0;width:1rem;height:1rem}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2.5px solid var(--ring);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn-sm{min-height:36px;padding:0 .9rem;font-size:.875rem}.btn-lg{min-height:52px;padding:0 1.6rem;font-size:1rem}.btn-primary{color:var(--primary-foreground);background:linear-gradient(180deg, color-mix(in oklch, var(--primary), white 14%) 0%, var(--primary) 55%, color-mix(in oklch, var(--primary), black 6%) 100%);box-shadow:inset 0 1px 0 0 oklch(100% 0 0/.38), inset 0 -1px 0 0 oklch(0% 0 0/.14), 0 8px 20px -10px color-mix(in oklch, var(--primary), transparent 10%)}.btn-primary:hover{filter:brightness(1.07);box-shadow:inset 0 1px 0 0 oklch(100% 0 0/.42), inset 0 -1px 0 0 oklch(0% 0 0/.14), 0 12px 26px -12px var(--primary)}.btn-secondary{color:var(--foreground);background:linear-gradient(180deg, var(--card), color-mix(in oklch, var(--card), var(--muted) 45%));box-shadow:inset 0 0 0 1px var(--border), inset 0 1px 0 0 oklch(100% 0 0/.9), 0 1px 2px 0 oklch(24% .05 215/.06)}.btn-secondary:hover{background:var(--muted)}.dark .btn-secondary,:root[data-theme=dark] .btn-secondary{box-shadow:inset 0 0 0 1px var(--border), inset 0 1px 0 0 oklch(100% 0 0/.08)}.btn-quiet{color:var(--primary);background:0 0;padding-inline:.75rem}.btn-quiet:hover{background:color-mix(in oklch, var(--primary) 9%, transparent)}.btn-quiet-muted{color:var(--muted-foreground)}.btn-quiet-muted:hover{color:var(--foreground);background:var(--muted)}.btn-danger{color:var(--incorrect);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--incorrect) 35%, transparent);background:0 0}.btn-danger:hover{background:var(--incorrect-soft)}@media (prefers-reduced-motion:reduce){.btn,.btn:active{transition:none;transform:none}}@media (prefers-contrast:more){.btn-primary{background:var(--primary)}.btn-secondary{box-shadow:inset 0 0 0 1.5px var(--foreground)}}.ink-surface .btn-primary{--primary:var(--ink-primary);--primary-foreground:var(--ink-primary-foreground)}.ink-surface .btn-quiet{color:var(--ink-foreground,currentColor)}.ink-surface .btn-quiet:hover{background:var(--ink-rule)}}
