:root{color-scheme:light;--navy-950:#002238;--navy-900:#002f4c;--navy-800:#003b5c;--navy-700:#075271;--gold-500:#d6b35a;--gold-400:#e8c86f;--gold-200:#f5e6b8;--paper:#f7f3e9;--paper-deep:#eee7d7;--ink:#122b39;--muted:#60717a;--line:#d9d6ca;--danger:#a33b32;--success:#1c6a57;--shadow:0 18px 50px #0022381a;--shadow-lift:0 24px 60px #00223829;--display:Georgia, "Times New Roman", serif;--body:Aptos, "Trebuchet MS", sans-serif;--header-h:76px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.32, .64, 1);--dur:.2s;accent-color:var(--gold-500);scrollbar-color:var(--navy-700) var(--paper-deep);scrollbar-width:thin}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem);scrollbar-gutter:stable}::selection{background:var(--gold-200);color:var(--navy-950)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper-deep)}::-webkit-scrollbar-thumb{border:2px solid var(--paper-deep);background:var(--navy-700)}::-webkit-scrollbar-thumb:hover{background:var(--navy-900)}body{background:linear-gradient(90deg, #003b5c08 1px, transparent 1px) 0 0 / 44px 44px, var(--paper);color:var(--ink);font-family:var(--body);text-wrap:pretty;margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.schedule-scroll:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px}button:disabled{cursor:not-allowed}.skip-link{z-index:100;color:var(--navy-900);background:#fff;padding:.75rem 1rem;font-weight:700;position:fixed;top:1rem;left:1rem;translate:0 -200%}.skip-link:focus{translate:0}.site-header{z-index:50;min-height:var(--header-h);color:#fff;backdrop-filter:blur(14px)saturate(140%);background:#002f4cf5;border-bottom:1px solid #d6b35a52;grid-template-columns:auto minmax(220px,540px) auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:.75rem clamp(1rem,4vw,4.5rem);display:grid;position:sticky;top:0}.site-header:after{background:linear-gradient(90deg, var(--navy-700), var(--gold-500) 60%, var(--gold-200));content:"";transform-origin:0;height:3px;position:absolute;bottom:-1px;left:0;right:0;scale:0 1}.brand{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--gold-500);width:48px;height:48px;color:var(--gold-400);font-family:var(--display);letter-spacing:.08em;transition:rotate .32s var(--ease-spring), background .32s var(--ease-out);place-items:center;font-size:.95rem;font-weight:700;display:grid;rotate:-3deg}.brand:hover .brand-mark{background:#d6b35a24;rotate:3deg}.brand strong,.brand small{display:block}.brand strong{font-family:var(--display);letter-spacing:.02em;font-size:1.02rem}.brand small{color:#cddce3;letter-spacing:.1em;text-transform:uppercase;margin-top:.05rem;font-size:.72rem}.site-header nav{gap:1.5rem;display:flex}.site-header nav a{color:#edf5f8;font-size:.88rem;font-weight:700;text-decoration:none;position:relative}.site-header nav a:after{background:var(--gold-500);content:"";transform-origin:100%;height:2px;transition:scale .24s var(--ease-out);position:absolute;bottom:-.35rem;left:0;right:0;scale:0 1}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform-origin:0;scale:1}.header-search{width:100%;transition:border-color var(--dur) ease, background var(--dur) ease, box-shadow var(--dur) ease;background:#00223875;border:1px solid #d6b35a85;grid-template-columns:minmax(0,1fr) auto;display:grid}.header-search:focus-within{border-color:var(--gold-400);background:#002238b8;box-shadow:0 0 0 3px #d6b35a38}.header-search input{color:#fff;background:0 0;border:0;min-width:0;min-height:42px;padding:.55rem .75rem}.header-search input::placeholder{color:#b9cbd3}.header-search input::-webkit-search-cancel-button{filter:invert()}.header-search button{background:var(--gold-500);min-width:76px;color:var(--navy-950);transition:background var(--dur) ease, letter-spacing var(--dur) ease;border:0;border-left:1px solid #d6b35a85;font-size:.72rem;font-weight:800}.header-search button:hover{background:var(--gold-400);letter-spacing:.06em}.header-search button:active{background:var(--gold-200)}.eyebrow{color:var(--gold-500);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .75rem;font-size:.73rem;font-weight:800}.export-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{letter-spacing:.035em;min-height:46px;transition:translate .22s var(--ease-out), box-shadow .22s var(--ease-out), background .16s ease, color .16s ease, opacity .16s ease;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:.75rem 1.1rem;font-size:.83rem;font-weight:800;text-decoration:none;display:inline-flex;position:relative}@media (hover:hover){.button:not(:disabled):hover{translate:0 -2px;box-shadow:0 10px 24px #0022382e}}.button:not(:disabled):active{box-shadow:none;translate:0 1px}.button-gold{background:var(--gold-500);color:var(--navy-950)}.button-gold:not(:disabled):hover{background:var(--gold-400)}.button-outline{border-color:var(--navy-800);color:var(--navy-800);background:0 0}.button-outline:not(:disabled):hover{background:var(--navy-800);color:#fff}.button:disabled{opacity:.45}.workspace-shell{grid-template-columns:minmax(250px,320px) minmax(0,1fr);max-width:1800px;margin:0 auto;display:grid}.filters{top:var(--header-h);height:calc(100dvh - var(--header-h));border-right:1px solid var(--line);overscroll-behavior:contain;scrollbar-color:#b9b0a0 transparent;background:#eee8da;align-self:start;padding:2.5rem clamp(1.2rem,2.5vw,2.2rem);position:sticky;overflow-y:auto}.section-heading{align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading.compact{align-items:center}.section-heading .eyebrow{color:var(--navy-700);margin-bottom:.2rem}.section-heading h2{color:var(--navy-900);font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:1}.section-heading.compact h2{font-size:2rem}.section-number{border:1px solid var(--gold-500);width:2.2rem;height:2.2rem;color:var(--navy-800);flex:none;place-items:center;font-size:.68rem;font-weight:800;display:grid}.filter-grid{gap:1rem;display:grid}.filter-grid label{gap:.4rem;display:grid}.filter-grid label>span{color:var(--navy-900);letter-spacing:.08em;text-transform:uppercase;transition:color var(--dur) ease;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:flex}.filter-grid label:has(option:checked:not([value=""]))>span:after,.filter-grid label:has(input:not(:placeholder-shown))>span:after{background:var(--gold-500);content:"";width:6px;height:6px;rotate:45deg}.filter-grid label:has(:focus-visible)>span{color:var(--navy-700)}.filter-grid input,.filter-grid select{width:100%;min-height:45px;color:var(--ink);transition:border-color var(--dur) ease, background var(--dur) ease, box-shadow var(--dur) ease;background:#fbf8f1;border:1px solid #c9c2b2;border-radius:0;padding:.65rem .75rem}.filter-grid input:hover,.filter-grid select:hover{border-color:var(--navy-700)}.filter-grid input:focus,.filter-grid select:focus{border-color:var(--navy-800);box-shadow:inset 0 -2px 0 var(--gold-500);background:#fff}.filter-grid input::placeholder{color:#7b858a}.text-button{color:var(--navy-700);transition:color var(--dur) ease, opacity var(--dur) ease, translate var(--dur) var(--ease-out);background:0 0;border:0;border-bottom:1px solid;margin-top:1rem;padding:.35rem 0;font-size:.8rem;font-weight:800}.text-button:not(:disabled):hover{color:var(--navy-950);translate:0 -1px}.text-button.danger:not(:disabled):hover{color:#7c2b23}.text-button[data-confirm]{animation:1.1s ease-in-out infinite pulse-warn}.text-button.danger{color:var(--danger);margin:0}.text-button:disabled{opacity:.4}.filter-note{color:#56656c;border-top:1px solid #d3cbbb;grid-template-columns:28px 1fr;gap:.7rem;margin-top:2rem;padding-top:1.2rem;font-size:.78rem;display:grid}.filter-note>span{border:1px solid var(--gold-500);width:24px;height:24px;color:var(--navy-800);font-family:var(--display);place-items:center;font-weight:700;display:grid}.filter-note p{margin:0}.workspace-main{min-width:0}.catalog-panel,.planner-panel{padding:clamp(2.5rem,5vw,5.5rem)}.catalog-panel>.section-heading{z-index:10;top:var(--header-h);background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(8px);margin-inline:calc(-1*clamp(2.5rem,5vw,5.5rem));padding:1rem clamp(2.5rem,5vw,5.5rem);position:sticky}.result-count{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;margin:0 0 0 auto;font-size:.8rem;font-weight:800}.catalog-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:stretch;gap:1rem;display:grid}.course-card{--tone:var(--navy-700);border:1px solid var(--line);border-top:5px solid var(--tone);transition:border-color var(--dur) ease, translate .26s var(--ease-out), box-shadow .26s var(--ease-out);background:#fffdfa;flex-direction:column;padding:1.35rem;display:flex;position:relative;box-shadow:0 8px 30px #0022380d}.course-card:before{z-index:0;background:radial-gradient(220px circle at 50% 0%, color-mix(in srgb, var(--tone) 12%, transparent), transparent 70%);content:"";opacity:0;pointer-events:none;transition:opacity .26s var(--ease-out);position:absolute;inset:0}.course-card>*{z-index:1;position:relative}@media (hover:hover){.course-card:hover{box-shadow:var(--shadow-lift);border-color:#bbb6aa;translate:0 -4px}.course-card:hover:before{opacity:1}}.course-card:focus-within{box-shadow:var(--shadow);border-color:#bbb6aa}.course-card.is-selected{border-color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.course-card.is-selected:after{background:var(--success);color:#fff;content:"✓";place-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;line-height:1;display:grid;position:absolute;top:0;right:0}.course-card.has-conflict{border-top-color:var(--danger);background:#fffaf7}.course-card.has-duplicate{border-top-color:var(--gold-500);background:#fffdf7}.tone-0{--tone:#075271}.tone-1{--tone:#8a6a18}.tone-2{--tone:#316b61}.tone-3{--tone:#7b4654}.tone-4{--tone:#4a5d92}.tone-5{--tone:#8b552a}.course-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tag-row{flex-wrap:wrap;gap:.35rem;display:flex}.tag{color:#59666c;letter-spacing:.04em;min-height:24px;transition:border-color var(--dur) ease, color var(--dur) ease;border:1px solid #d7d2c6;align-items:center;padding:.22rem .45rem;font-size:.65rem;font-weight:800;display:inline-flex}.course-card:hover .tag{border-color:color-mix(in srgb, var(--tone) 28%, #d7d2c6)}.tag-category{border-color:color-mix(in srgb, var(--tone) 32%, white);background:color-mix(in srgb, var(--tone) 9%, white);color:var(--tone)}.source-page{color:#7b858a;white-space:nowrap;flex:none;font-size:.68rem}.course-card h3{color:var(--navy-950);font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:1.2rem 0 .55rem;font-size:1.42rem;font-weight:400;line-height:1.12}.teacher-line,.programme-line{margin:0}.teacher-line{color:#344e5a;font-size:.88rem;font-weight:700}.programme-line{color:var(--muted);margin-top:.25rem;font-size:.72rem}.meeting-list{gap:.45rem;margin:1.2rem 0;padding:0;list-style:none;display:grid}.meeting-list li{border-bottom:1px dotted #d8d3c8;grid-template-columns:5.7rem 6.8rem minmax(0,1fr);align-items:baseline;gap:.45rem;padding-bottom:.4rem;font-size:.75rem;display:grid}.meeting-list li strong{color:var(--navy-800)}.meeting-list li span{font-variant-numeric:tabular-nums}.meeting-list li small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.conflict-warning{border-left:3px solid var(--danger);color:#7c3029;background:#faece8;margin:0 0 1rem;padding:.65rem .75rem;font-size:.73rem}.duplicate-warning{border-left:3px solid var(--gold-500);color:var(--navy-900);background:#f8edcc;margin:0 0 1rem;padding:.65rem .75rem;font-size:.73rem}.course-action{border:1px solid var(--navy-800);background:var(--navy-800);color:#fff;min-height:42px;transition:background var(--dur) ease, color var(--dur) ease, letter-spacing var(--dur) ease, translate .14s var(--ease-out);border-radius:0;margin-top:auto;font-size:.78rem;font-weight:800}.course-action:not(:disabled):hover{background:var(--navy-950);letter-spacing:.06em}.course-action:not(:disabled):active{translate:0 1px}.course-action.remove{border-color:var(--success);color:var(--success);background:0 0}.course-action.remove:not(:disabled):hover{background:var(--success);color:#fff}.course-action:disabled{color:#77473f;background:#ead7d2;border-color:#d1b5ad}.catalog-empty{text-align:center;border:1px dashed #bbb5a8;grid-column:1/-1;padding:4rem 1rem}.catalog-empty strong{font-family:var(--display);font-size:1.7rem;font-weight:400}.catalog-empty p{color:var(--muted);margin:.4rem 0 0}.planner-panel{border-top:1px solid var(--line);background:#fffdfa}.planner-heading{justify-content:space-between;align-items:center;gap:2rem;display:flex}.planner-totals{color:var(--muted);text-transform:uppercase;gap:1.5rem;font-size:.76rem;display:flex}.planner-totals strong{color:var(--navy-900);font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:400;line-height:1;display:block}#selectedCount{view-transition-name:total-materias}#totalHours{view-transition-name:total-horas}.intersection-state{border-left:4px solid var(--success);color:#315e50;view-transition-name:estado-cruces;background:#eaf3ee;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8rem;display:flex}.intersection-state strong{color:var(--success)}.schedule-scroll{overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-color:var(--navy-700) #e6ebe9;scrollbar-width:thin;background:#f8faf9;border:1px solid #cdd3d4;max-width:100%;scroll-padding-left:76px;overflow-x:auto}.schedule-grid{isolation:isolate;grid-template-rows:44px repeat(13,64px);grid-template-columns:76px repeat(6,minmax(118px,1fr));min-width:850px;display:grid;position:relative}.schedule-grid[hidden]{display:none}.grid-heading,.time-label,.grid-cell{border-bottom:1px solid #dfe4e4;border-right:1px solid #dfe4e4}.grid-heading{z-index:4;background:var(--navy-900);color:#fff;letter-spacing:.06em;scroll-snap-align:start;text-transform:uppercase;place-items:center;font-size:.69rem;font-weight:800;display:grid;position:sticky;top:0}.grid-heading.is-today{background:var(--navy-700);box-shadow:inset 0 -3px 0 var(--gold-500);color:var(--gold-200)}.grid-corner{z-index:5;scroll-snap-align:none;grid-area:1/1;left:0}.time-label{z-index:3;color:var(--navy-800);font-variant-numeric:tabular-nums;background:#f0eadc;padding:.45rem .5rem;font-size:.67rem;font-weight:800;position:sticky;left:0}.grid-cell:nth-child(2n){background:#003b5c04}.grid-cell.is-today{background:#d6b35a14}.schedule-event{--tone:var(--navy-700);z-index:2;border:0;border-left:4px solid var(--tone);background:color-mix(in srgb, var(--tone) 13%, white);min-width:0;color:var(--navy-950);text-align:left;cursor:pointer;transition:background var(--dur) ease, box-shadow .24s var(--ease-out), scale .24s var(--ease-out);border-radius:0;flex-direction:column;align-items:flex-start;margin:3px;padding:.5rem;display:flex;overflow:hidden;box-shadow:0 2px 6px #0022381a}.schedule-event:hover{z-index:3;background:color-mix(in srgb, var(--tone) 19%, white);scale:1.02;box-shadow:0 10px 22px #00223838}.schedule-event:active{scale:.99}.schedule-event strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.68rem;line-height:1.15;display:-webkit-box;overflow:hidden}.schedule-event span,.schedule-event small{color:#425965;font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.6rem}.schedule-event small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-schedule,.mobile-dock{display:none}.empty-schedule{min-height:250px;color:var(--muted);border:1px dashed #bbb5a8;align-content:center;place-items:center;display:grid}.empty-schedule[hidden]{display:none}.empty-schedule span{border:1px solid var(--gold-500);width:48px;height:48px;color:var(--navy-700);animation:breathe 3.2s var(--ease-out) infinite;place-items:center;font-size:1.6rem;display:grid}.empty-schedule p{margin:.75rem 0 0}.selection-heading{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.selection-heading h3,.export-panel h3{color:var(--navy-900);font-family:var(--display);margin:0;font-size:1.45rem;font-weight:400}.selected-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.5rem;margin-top:1rem;display:grid}.selected-item{--tone:var(--navy-700);border-left:4px solid var(--tone);transition:background var(--dur) ease, translate .2s var(--ease-out);background:#f5f3ed;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;display:flex}.selected-item:hover{background:#efece3;translate:3px}.selected-item div{min-width:0}.selected-item strong,.selected-item span{display:block}.selected-item strong{color:var(--navy-900);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.selected-item span{color:var(--muted);margin-top:.15rem;font-size:.69rem}.selected-item button{color:var(--danger);transition:color var(--dur) ease, translate .16s var(--ease-out);background:0 0;border:0;border-bottom:1px solid;flex:none;font-size:.7rem;font-weight:800}.selected-item button:hover{color:#7c2b23;translate:0 -1px}.export-panel{border:1px solid var(--gold-500);background:linear-gradient(120deg, transparent 40%, #ffffff73 50%, transparent 60%) 0 0 / 300% 100% no-repeat, var(--gold-200);transition:background-position .9s var(--ease-out), box-shadow .3s var(--ease-out);justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem;padding:clamp(1.3rem,3vw,2rem);display:flex;position:relative;overflow:hidden}.export-panel:hover{box-shadow:var(--shadow);background-position:100% 0}.export-panel .eyebrow{color:#765b16;margin-bottom:.25rem}.export-panel p:last-child{color:#5e604f;margin:.4rem 0 0;font-size:.78rem}.export-actions{flex:none;margin-top:0}footer{background:var(--navy-950);color:#c5d4db;justify-content:space-between;align-items:center;gap:2rem;padding:2rem clamp(1rem,5vw,5rem);font-size:.75rem;display:flex}footer p{max-width:780px;margin:0}footer a{color:var(--gold-400);text-underline-offset:.2em;transition:color var(--dur) ease, text-underline-offset var(--dur) ease;font-weight:800}footer a:hover{color:var(--gold-200);text-underline-offset:.35em}.noscript{z-index:100;color:#5f4510;text-align:center;background:#fff1d0;margin:0;padding:1rem;position:fixed;bottom:1rem;left:1rem;right:1rem}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.toast{z-index:80;border-left:4px solid var(--gold-500);color:#eaf2f6;opacity:0;pointer-events:none;backdrop-filter:blur(10px);max-width:min(92vw,460px);transition:opacity .22s var(--ease-out), translate .32s var(--ease-spring);background:#002238f5;align-items:center;gap:.7rem;padding:.85rem 1.1rem;font-size:.82rem;display:flex;position:fixed;bottom:1.5rem;left:50%;translate:-50% 18px;box-shadow:0 18px 44px #00223866}.toast.is-visible{opacity:1;translate:-50%}.toast.is-error{border-left-color:var(--danger)}.toast:before{color:var(--gold-400);content:"✓";font-weight:800}.toast.is-error:before{color:#e88a80;content:"!"}.to-top{z-index:55;border:1px solid var(--gold-500);width:46px;height:46px;color:var(--gold-200);opacity:0;pointer-events:none;backdrop-filter:blur(10px);transition:background .2s ease, scale .22s var(--ease-spring);background:#002f4cf0;place-items:center;font-size:1.05rem;line-height:1;text-decoration:none;display:grid;position:fixed;bottom:1.25rem;right:1.25rem;translate:0 14px}.to-top:hover{background:var(--navy-800);scale:1.08}@media (width<=1120px){.workspace-shell{flex-direction:column;display:flex}.workspace-main{display:contents}.planner-panel{order:1}.filters{order:2}.catalog-panel{order:3}.filters{z-index:2;border-right:0;border-bottom:1px solid var(--line);height:auto;position:relative;top:auto;overflow:visible}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-grid label:nth-last-child(-n+2){grid-column:span 1}}@media (width<=760px){:root{--header-h:118px}html{scroll-padding-top:calc(var(--header-h) + 1rem)}.site-header{grid-template-columns:1fr;gap:.65rem;min-height:0;padding-block:.65rem}.site-header nav{display:none}.brand-mark{width:42px;height:42px}.header-search input,.header-search button{min-height:44px}.filter-grid{grid-template-columns:1fr}.filter-grid label:nth-last-child(-n+2){grid-column:auto}.catalog-panel,.planner-panel{padding-inline:1rem}.section-heading{align-items:center}.section-heading h2{font-size:2.25rem}.catalog-list{grid-template-columns:1fr}.course-card{min-height:0}.meeting-list li{grid-template-columns:5.2rem 6.3rem minmax(0,1fr)}.planner-heading,.export-panel,footer{flex-direction:column;align-items:flex-start}.planner-totals{justify-content:space-between;width:100%}.schedule-scroll{display:none}.mobile-schedule:not([hidden]){gap:.8rem;display:grid}.mobile-day{background:#f8faf9;border:1px solid #cdd3d4}.mobile-day>h3{z-index:5;top:var(--header-h);border-bottom:2px solid var(--gold-500);background:var(--navy-900);color:#fff;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:.65rem .8rem;font-size:.76rem;position:sticky}.mobile-day.is-today>h3{background:var(--navy-700);color:var(--gold-200)}.mobile-day.is-today>h3:after{color:var(--gold-400);content:"· hoy";margin-left:.5rem}.mobile-day-empty{color:var(--muted);margin:0;padding:.8rem;font-size:.76rem}.mobile-event{--tone:var(--navy-700);border-left:4px solid var(--tone);background:color-mix(in srgb, var(--tone) 11%, white);grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;margin:.65rem;padding:.75rem .8rem;display:grid;position:relative}.mobile-event p,.mobile-event h4{grid-column:1;margin:0}.mobile-event-time{color:var(--tone);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:800}.mobile-event h4{color:var(--navy-950);font-family:var(--display);font-size:1.05rem;line-height:1.2}.mobile-event-group,.mobile-event-teacher,.mobile-event-location{color:#4f626c;font-size:.69rem}.mobile-event button{border:1px solid var(--danger);min-width:54px;min-height:46px;color:var(--danger);background:0 0;grid-area:1/2/span 5;align-self:center;font-size:.68rem;font-weight:800}.intersection-state{flex-direction:column;align-items:flex-start}.export-actions,.export-actions .button{width:100%}footer{padding-bottom:6.5rem}.mobile-dock{z-index:60;backdrop-filter:blur(14px);background:#002f4cf7;border:1px solid #d6b35a9e;grid-template-columns:repeat(3,1fr);min-height:54px;display:grid;position:fixed;bottom:.75rem;left:.75rem;right:.75rem;box-shadow:0 12px 32px #00223847}.mobile-dock a{color:#fff;place-items:center;font-size:.72rem;font-weight:800;text-decoration:none;transition:background .18s,color .18s;display:grid;position:relative}.mobile-dock a:active{color:var(--gold-200);background:#d6b35a38}.mobile-dock a+a{border-left:1px solid #ffffff29}.toast{bottom:5.25rem}.to-top{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.to-top{opacity:1;pointer-events:auto;translate:0}}@keyframes reveal-up{0%{opacity:0;scale:.975}to{opacity:1;scale:1}}@keyframes reveal-slide{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0}}@keyframes progress-scroll{0%{scale:0 1}to{scale:1}}@keyframes to-top-in{0%{opacity:0;pointer-events:none;translate:0 14px}to{opacity:1;pointer-events:auto;translate:0}}@keyframes breathe{0%,to{border-color:var(--gold-500);scale:1}50%{border-color:var(--navy-700);scale:1.06}}@keyframes pulse-warn{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.site-header:after{animation:linear both progress-scroll scroll(root)}.to-top{animation:linear both to-top-in scroll(root);animation-range:340px 700px}.course-card{animation:linear both reveal-up view();animation-range:entry 4% entry 58%}.mobile-day,.export-panel{animation:linear both reveal-slide view();animation-range:entry 2% entry 55%}}}::view-transition-old(root),::view-transition-new(root){animation-duration:.24s}::view-transition-group(total-materias),::view-transition-group(total-horas),::view-transition-group(estado-cruces){animation-duration:.32s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
