@font-face{font-family:TriniteNo2;src:url(/assets/TriniteNo2%20Roman-C9bJG5lu.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(189,147,249,.7) #0b0d17}}html{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-color:#0b0d17;scrollbar-gutter:stable}body{min-height:100%;margin:0;padding:0;color:#f8f8f2;font:20px/1.6 TriniteNo2,Georgia,Times New Roman,serif;letter-spacing:.03em;background:radial-gradient(ellipse 1200px 800px at 15% 10%,rgba(189,147,249,.18),transparent 60%),radial-gradient(ellipse 900px 700px at 80% 15%,rgba(139,233,253,.14),transparent 55%),radial-gradient(ellipse 900px 700px at 30% 90%,rgba(255,121,198,.12),transparent 60%),linear-gradient(180deg,#0b0d17,#11132a 35%,#171a35);background-attachment:fixed;background-size:100% 100%;background-repeat:no-repeat}*::-webkit-scrollbar{width:14px;height:14px;background:#0b0d17}*::-webkit-scrollbar-track,*::-webkit-scrollbar-track-piece{background:#0b0d17}*::-webkit-scrollbar-corner{background:#0b0d17}*::-webkit-scrollbar-thumb{background:radial-gradient(ellipse at center,#bd93f999,#1f2350f2);border-radius:999px;border:3px solid #0b0d17;cursor:pointer;box-shadow:6px 6px 12px #00000080,-3px -3px 8px #ffffff08,inset 0 1px 2px #ffffff26,inset 0 -1px 1px #0003}a{color:#8be9fd;text-decoration:none;transition:color .2s ease}button,[role=button]{outline:none;-webkit-tap-highlight-color:transparent}h1,h2{margin:0 0 8px;letter-spacing:.03em}h1{font-size:48px;line-height:1.2}h2{font-size:24px;color:#d6d8f3;letter-spacing:.02em}.muted{color:#9aa0c6}.app-shell{width:min(1500px,100% - 28px);margin:0 auto}.app-shell:not(.sticky-header){margin-top:20px}.main-title{text-align:center;padding:24px 20px;margin:0}.sticky-header{position:sticky;top:0;z-index:100;transition:transform .3s ease-out;cursor:pointer;border-radius:0 0 18px 18px;border:1px solid rgba(255,255,255,.06);border-top:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#ffffff0a,#00000014);box-shadow:12px 12px 28.8px #0009,-12px -12px 28.8px #ffffff0f}.sticky-header.header-hidden{transform:translateY(-100%);pointer-events:none;transition:transform .6s ease-in}@media(max-width:768px){.sticky-header{position:relative;cursor:default;border-radius:18px;border:1px solid rgba(255,255,255,.06);box-shadow:10px 10px 24px #0009,-10px -10px 24px #ffffff0f}}.scroll-nav-btn{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:12px 12px 24px #0000008c,-6px -6px 16px #ffffff0f,inset 0 1px #ffffff14;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease;background:linear-gradient(145deg,#bd93f940,#8be9fd26)}.scroll-nav-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-nav-btn:hover{background:linear-gradient(145deg,#bd93f966,#8be9fd4d);box-shadow:16px 16px 32px #000000a6,-8px -8px 20px #ffffff14,inset 0 1px #ffffff1f}.scroll-nav-btn:active{transform:translateY(2px)}@media(max-width:768px){.scroll-nav-btn{width:56px;height:56px;padding:0;border-radius:50%;justify-content:center}.scroll-nav-btn .scroll-label{display:none}}.scroll-arrow{width:24px;height:24px;color:#f8f8f2;transition:transform .3s ease}.scroll-label{font-size:12px;font-weight:600;color:#d6d8f3;text-transform:uppercase;letter-spacing:.08em}.sort-fab{display:none;position:fixed;bottom:24px;left:24px;z-index:200;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:50%;background:linear-gradient(145deg,#171a35,#1f2350);box-shadow:8px 8px 20px #0000008c,-4px -4px 12px #ffffff0d,inset 0 1px #ffffff14;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s ease}@media(max-width:768px){.sort-fab{display:flex}}.sort-fab.visible{opacity:1;visibility:visible}.sort-fab:active{box-shadow:inset 4px 4px 10px #00000080,inset -2px -2px 6px #ffffff08}.sort-fab-icon{width:24px;height:24px;transition:all .3s ease}.sort-fab-icon.sort-lesson{stroke:#8be9fd;transform:rotate(0)}.sort-fab-icon.sort-chrono{stroke:#bd93f9;transform:rotate(180deg)}.sort-fab-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:8px 14px;border-radius:10px;background:linear-gradient(145deg,#171a35,#1f2350);border:1px solid rgba(255,255,255,.08);color:#d6d8f3;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1001;box-shadow:4px 4px 12px #00000080,-2px -2px 8px #ffffff0a}.sort-fab-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#171a35}.sort-fab-tooltip.show{opacity:1;visibility:visible}.sort-fab-touch-zone{display:none;position:fixed;bottom:0;left:0;width:100px;height:100px;z-index:199}@media(max-width:768px){.sort-fab-touch-zone{display:block}}.table-wrap{margin-top:14px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,#ffffff0d,#ffffff05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:10px 10px 24px #0009,-10px -10px 24px #ffffff0f}.scroll{overflow:auto;border-radius:18px;background:transparent}table.timeline{width:100%;border-collapse:separate;border-spacing:0 12px;min-width:800px;border:none}table.timeline thead{background:#171a35;border-radius:18px 18px 0 0}table.timeline thead tr{border:none}table.timeline thead tr th:first-child{border-top-left-radius:18px}table.timeline thead tr th:last-child{border-top-right-radius:18px}table.timeline thead th{position:sticky;top:0;z-index:2;text-align:center;font-size:27px;letter-spacing:.14em;text-transform:uppercase;color:#d6d8f3;padding:20px 14px 5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171a35}table.timeline thead th:after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:#171a35;z-index:1}table.timeline tbody td{padding:12px;border-bottom:none;vertical-align:top;color:#d6d8f3}table.timeline tbody tr{position:relative;background:linear-gradient(145deg,#0000001f,#0000000d);border-radius:14px;transition:background .3s ease;box-shadow:inset 0 6px 18px #0009,inset 0 -4px 12px #ffffff08,0 2px #ffffff05,0 -2px #0003}table.timeline tbody tr:nth-child(2n){background:linear-gradient(145deg,#00000024,#0000000f)}table.timeline tbody tr td:first-child{border-top-left-radius:14px;border-bottom-left-radius:14px}table.timeline tbody tr td:last-child{border-top-right-radius:14px;border-bottom-right-radius:14px}table.timeline tbody tr .row-overlay{position:absolute;inset:0;display:block;opacity:0;border-radius:14px;background:linear-gradient(135deg,#ff79c60f,#bd93f90f,#8be9fd0d);transition:opacity .3s ease;pointer-events:none;z-index:0}table.timeline tbody tr .week-bg{position:absolute;inset:0;display:block;border-radius:14px;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.15;mix-blend-mode:soft-light;filter:brightness(.6) contrast(1.5);pointer-events:none;z-index:-1}table.timeline tbody tr:hover:not(.current-week) .row-overlay{opacity:1}table.timeline tbody tr.current-week{background:linear-gradient(145deg,#50fa7b2e,#8be9fd1f,#0000000d);transition:background .3s ease;box-shadow:inset 6px 0 #50fa7b,inset 0 8px 20px #0000008c,inset 0 -5px 15px #ffffff08,0 2px #ffffff05,0 -2px #0003,inset 0 0 24px #50fa7b1f}table.timeline tbody tr.current-week .weeknum{color:#50fa7b}table.timeline tbody tr.current-week .dates{color:#d6d8f3}table.timeline tbody tr.current-week .row-overlay{display:none}@media not (max-width:768px){table.timeline tbody tr:first-child{border-top-left-radius:0;border-top-right-radius:0}table.timeline tbody tr:first-child td:first-child{border-top-left-radius:0}table.timeline tbody tr:first-child td:last-child{border-top-right-radius:0}table.timeline tbody tr:first-child .week-bg,table.timeline tbody tr:first-child .row-overlay{border-top-left-radius:0;border-top-right-radius:0}}.col-week{width:150px}.col-cfm{width:480px}.col-cfm a{font-weight:600;color:#8be9fd;display:block;margin-bottom:6px;line-height:1.4;font-size:22px;letter-spacing:.04em}.col-cfm a:hover{color:#ff79c6}.col-readings{width:320px;font-size:22px;line-height:1.6;letter-spacing:.02em}.reading-header{display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.sort-toggle-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;border-radius:10px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;background:transparent;border:none;box-shadow:none;transition:box-shadow .15s ease,background .15s ease}.sort-toggle-btn:hover .sort-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.sort-toggle-btn:active{background:linear-gradient(145deg,#00000014,#0000000a);box-shadow:inset 3px 3px 6px #0006,inset -2px -2px 4px #ffffff08}.sort-icon{width:20px;height:20px;transition:all .3s ease}.sort-icon.sort-lesson{stroke:#8be9fd;transform:rotate(0)}.sort-icon.sort-chrono{stroke:#bd93f9;transform:rotate(180deg)}.sort-tooltip{position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%,-8px);padding:8px 16px;border-radius:10px;background:linear-gradient(145deg,#171a35,#1f2350);border:1px solid rgba(255,255,255,.08);color:#d6d8f3;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1001;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0003,4px 4px 12px #00000080,-2px -2px 8px #ffffff0a}.sort-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#171a35}.day-buttons{display:flex;flex-direction:column;gap:6px}.day-button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;outline:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .3s ease,background-color .4s ease-in-out,border-color .4s ease-in-out;background-color:#0000000a;border:1px solid rgba(255,255,255,.05);box-shadow:2px 2px 6px #00000080,-1px -1px 4px #ffffff08,inset 0 1px #ffffff0a}.day-button:hover:not([disabled]){box-shadow:8px 8px 20px #0009,-5px -5px 14px #ffffff0f,inset 0 1px #ffffff1a}.day-button:active:not([disabled],.day-button--read){box-shadow:inset 4px 4px 10px #00000080,inset -2px -2px 6px #ffffff08}.day-button--read{background-color:#50fa7b0f;border:1px solid rgba(80,250,123,.12);box-shadow:inset 6px 6px 12px #0000008c,inset -3px -3px 8px #ffffff08}.day-button--read .day-label{color:#50fa7b}.day-button--read:hover:not([disabled]){box-shadow:inset 8px 8px 16px #0009,inset -4px -4px 10px #ffffff08}.day-button--read:active:not([disabled]){box-shadow:inset 10px 10px 20px #000000b3,inset -5px -5px 12px #ffffff0a}.day-button--empty{opacity:.4;cursor:not-allowed}.day-button[disabled]{pointer-events:none}.day-label{flex-shrink:0;font-weight:700;font-size:20px;color:#8be9fd;letter-spacing:.04em;min-width:6ch;transition:color .4s ease-in-out}.day-reading{min-width:0;flex:1 1 auto;color:#d6d8f3;font-size:22px;line-height:1.6;letter-spacing:.02em}.day-reading--empty{color:#9aa0c6;font-style:italic}.weeknum{font-weight:800;font-size:32px;letter-spacing:.03em;color:#f8f8f2;padding-left:8px}.dates{margin-top:6px;color:#9aa0c6;padding-left:8px;font-size:22px;line-height:1.6;letter-spacing:.02em}.cfm-reading{padding-left:8px;border-left:2px solid rgba(139,233,253,.3);color:#9aa0c6;font-size:22px;line-height:1.6;letter-spacing:.02em}.cfm-excerpt{margin-top:8px;font-size:20px;font-style:italic;color:#d6d8f3d9;line-height:1.5;position:relative}@media(max-width:768px){.cfm-excerpt{display:none}}.cfm-excerpt-text{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:10;line-clamp:10;-webkit-box-orient:vertical;line-break:auto;overflow-wrap:break-word}.cfm-excerpt-more{display:inline;margin-left:6px;font-style:normal;font-weight:600;color:#8be9fd;text-decoration:none;white-space:nowrap;transition:color .2s ease}.cfm-excerpt-more:hover{color:#ff79c6;text-decoration:none}@media(max-width:768px){table.timeline{min-width:100%}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}tbody tr{display:flex;flex-direction:column;padding:10px;margin-bottom:10px;border-radius:14px}tbody tr:first-child{border-top-left-radius:14px;border-top-right-radius:14px}tbody td{display:block;width:100%!important;border-bottom:none;padding:2px 0}.col-week{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:4px;margin-bottom:4px}.col-week .weeknum{padding-left:0}.col-week .dates{margin-top:0;padding-left:0}.col-cfm{margin-bottom:4px;padding:2px 0}.col-cfm a{font-size:18px;margin-bottom:2px}.day-button:hover:not([disabled],.day-button--read){box-shadow:2px 2px 6px #00000080,-1px -1px 4px #ffffff08,inset 0 1px #ffffff0a}.day-button--read:hover:not([disabled]){box-shadow:inset 6px 6px 12px #0000008c,inset -3px -3px 8px #ffffff08}thead{display:none}}
