:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f6f4ef)var(--lightningcss-dark,#141716);--surface:var(--lightningcss-light,#fffdf9)var(--lightningcss-dark,#1c201e);--surface-hover:var(--lightningcss-light,#ece9e1)var(--lightningcss-dark,#272c29);--border:var(--lightningcss-light,#dcd8cd)var(--lightningcss-dark,#323835);--text:var(--lightningcss-light,#1f2421)var(--lightningcss-dark,#ecebe6);--muted:var(--lightningcss-light,#5a615b)var(--lightningcss-dark,#a7ada3);--accent:var(--lightningcss-light,#0f6b5c)var(--lightningcss-dark,#58c7ae);--on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d1f1b);--accent-soft:var(--lightningcss-light,#d9ece6)var(--lightningcss-dark,#1f3a34);--skeleton:var(--lightningcss-light,#e6e2d9)var(--lightningcss-dark,#272c29);--danger:var(--lightningcss-light,#8f4a12)var(--lightningcss-dark,#e8a665);--topbar-height:3.5rem;--sidebar-width:15rem;--radius:.5rem;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img{display:block}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main:focus{outline:none}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.25rem;height:1.25rem}.skip-link{z-index:30;background:var(--surface);border-radius:var(--radius);padding:.5rem .75rem;position:absolute;top:-4rem;left:.5rem}.skip-link:focus{top:.5rem}.topbar{z-index:20;height:var(--topbar-height);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:0 1rem;display:flex;position:sticky;top:0}.logo{flex:none;align-items:center;gap:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1.125rem;font-weight:700;display:flex}.search{flex:1;min-width:0;max-width:36rem;margin-inline:auto;display:flex}.search input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) 0 0 var(--radius);border-right:0;flex:1;min-width:0;height:2.5rem;padding:0 .75rem}.search button{background:var(--surface-hover);border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;place-items:center;width:3rem;display:grid}.icon-button{border-radius:var(--radius);background:0 0;border:0;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid}.icon-button:hover{background:var(--surface-hover)}.menu-button{display:none}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.sidebar{top:var(--topbar-height);height:calc(100dvh - var(--topbar-height));border-right:1px solid var(--border);flex-direction:column;padding:.75rem;display:flex;position:sticky;overflow-y:auto}.sidebar nav{flex:1}.nav-heading{color:var(--muted);margin:1rem .75rem .25rem;font-size:.8125rem;font-weight:600}.nav-link{border-radius:var(--radius);align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.9375rem;display:flex}.nav-link:hover{background:var(--surface-hover)}.nav-link[aria-current]{background:var(--accent-soft);font-weight:600}.nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{color:var(--muted);font-size:.8125rem}.nav-add{width:100%;color:var(--muted);background:0 0;border:0}.nav-form{padding:.25rem .75rem}.sidebar-note{color:var(--muted);padding:.75rem;font-size:.75rem}main{min-width:0;padding:1rem 1.5rem 3rem}.chips{scrollbar-width:none;gap:.5rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.chips a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:none;padding:.25rem .75rem;font-size:.875rem}.chips a:hover{background:var(--surface-hover)}.chips a[aria-current]{background:var(--text);border-color:var(--text);color:var(--bg)}.feed-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0 .75rem;display:flex}.feed-heading h1,.shelf h2{font-size:1.125rem;font-weight:600}.feed-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sort{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.sort button{background:var(--surface);border:0;padding:.25rem .75rem;font-size:.875rem}.sort button[aria-pressed=true]{background:var(--accent-soft);font-weight:600}.grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.5rem 1rem;display:grid}.thumb{aspect-ratio:16/9;background:var(--skeleton);border-radius:var(--radius);position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.duration{color:#fff;background:#000c;border-radius:.25rem;padding:0 .25rem;font-size:.75rem;font-weight:600;position:absolute;bottom:.25rem;right:.25rem}.card h3{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:.5rem;font-size:.9375rem;font-weight:600;display:-webkit-box;overflow:hidden}.card a:hover h3{color:var(--accent)}.meta{color:var(--muted);font-size:.8125rem}.meta a{color:var(--accent)}.meta strong{color:var(--text)}.card .meta:first-of-type{margin-top:.125rem}.card-foot{justify-content:space-between;align-items:flex-start;gap:.25rem;display:flex}.card-save{color:var(--muted);margin-right:-.5rem}.tag{background:var(--accent-soft);color:var(--text);border-radius:.25rem;margin-left:.5rem;padding:0 .25rem;font-size:.75rem}.shelf{margin-top:.25rem}.shelf ul{scrollbar-width:thin;grid-auto-columns:15rem;grid-auto-flow:column;gap:1rem;margin-top:.5rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.course-card{flex-direction:column;gap:.25rem;display:flex}.course-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;display:-webkit-box;overflow:hidden}.course-card:hover .course-title{color:var(--accent)}.button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.button:hover{background:var(--surface-hover)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.primary:hover{opacity:.9}.button.danger{border-color:var(--danger);color:var(--danger)}.load-more{margin:1.5rem auto 0;display:flex}.text-button{color:var(--accent);background:0 0;border:0;margin-top:.25rem;padding:0;font-size:.875rem;font-weight:600}.watch{grid-template-columns:minmax(0,1fr) 24rem;align-items:start;gap:1.5rem;display:grid}.player{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;min-height:12.5rem;overflow:hidden}.player.skeleton{background:var(--skeleton)}.player iframe{border:0;width:100%;height:100%;display:block}.steps{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:.75rem;display:grid}.steps>:last-child{justify-self:end}.steps>:first-child{justify-self:start}.watch-main h1{margin-top:.75rem;font-size:1.25rem;font-weight:600}.watch-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.5rem;display:flex}.watch-actions{flex-wrap:wrap;gap:.5rem;display:flex}.toggle[aria-pressed=true]{background:var(--accent-soft)}.sleep-timer{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.75rem;display:flex}.notice{background:var(--accent-soft);border-radius:var(--radius);margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem}.brainwave-note{margin-block:0 1rem}.description{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:.75rem;padding:.75rem;font-size:.875rem}.description p{overflow-wrap:anywhere;white-space:pre-wrap}.description .clamped{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.side h2{margin-bottom:.5rem;font-size:1rem;font-weight:600}.side h2 a:hover{color:var(--accent)}.rows{flex-direction:column;gap:.25rem;display:flex}.rows.scrolling{max-height:calc(100dvh - var(--topbar-height) - 6rem);position:relative;overflow-y:auto}.row a{border-radius:var(--radius);align-items:flex-start;gap:.5rem;padding:.25rem;display:flex}.row a:hover{background:var(--surface-hover)}.row.current a{background:var(--accent-soft)}.row .thumb{flex:none;width:9rem}.row-number{width:1.75rem;color:var(--muted);text-align:right;flex:none;padding-top:.25rem;font-size:.8125rem}.row-text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.row-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:600;display:-webkit-box;overflow:hidden}.course{max-width:56rem}.course header{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:1rem;display:flex}.course h1{font-family:Georgia,Times New Roman,serif;font-size:1.625rem}.course .button{margin-top:.5rem}.field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;padding:.5rem .75rem;font-size:.875rem}.playlist-form,.note-form{flex-direction:column;gap:.5rem;width:100%;display:flex}.form-actions,.playlist-actions{flex-wrap:wrap;gap:.5rem;display:flex}.form-error{color:var(--danger);font-size:.875rem}.playlist-description{overflow-wrap:anywhere;white-space:pre-wrap}.playlist-status{min-height:1.25rem}.playlist-row{border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.25rem;display:grid}.playlist-row.dragging{background:var(--accent-soft)}.drag-handle{border-radius:var(--radius);width:2rem;height:3rem;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;display:grid}.dragging .drag-handle{cursor:grabbing}.playlist-link{border-radius:var(--radius);align-items:flex-start;gap:.5rem;min-width:0;padding:.25rem;display:flex}.playlist-link:hover{background:var(--surface-hover)}.playlist-link .thumb{flex:none;width:9rem}.row-note{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.8125rem}.row-actions{display:flex}.row-actions .icon-button{color:var(--muted)}.note-form{grid-column:1/-1;padding:.25rem .25rem .75rem}.save-inline{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:.75rem;padding:.75rem}.save-panel ul{margin-bottom:.75rem}.save-panel label{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.save-panel input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--accent)}.save-name{overflow-wrap:anywhere;flex:1;min-width:0}.save-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(26rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);padding:0}.save-dialog::backdrop{background:#00000080}.dialog-body{padding:1rem}.dialog-body header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dialog-body h2{font-size:1.125rem;font-weight:600}.dialog-body>.meta{margin-bottom:.75rem}.ai-header{max-width:44rem;margin-bottom:1.5rem}.ai-header h1{font-family:Georgia,Times New Roman,serif;font-size:1.625rem}.ai-form{gap:.5rem;margin-top:.75rem;display:flex}.ai-form .field{flex:1;min-width:0}.ai-reason{border-left:2px solid var(--accent);margin-top:.25rem;padding-left:.5rem;font-size:.8125rem}.rating{color:var(--text);font-weight:600}.film-note{margin-bottom:.75rem}.message{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.message-title{color:var(--text);font-weight:600}.skeleton{background:var(--skeleton);animation:1.4s ease-in-out infinite pulse}.line{border-radius:.25rem;height:.875rem;margin-top:.5rem}.line.short{width:60%}@keyframes pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (width<=75rem){.watch{grid-template-columns:minmax(0,1fr)}.rows.scrolling{max-height:28rem}}@media (width<=56rem){.menu-button{display:grid}.shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;display:none;position:static}.sidebar.open{display:flex}main{padding-inline:1rem}}@media (width<=36rem){.logo span{display:none}.row .thumb,.playlist-link .thumb{width:7.5rem}.playlist-row .row-number{display:none}.row-actions{grid-column:2/-1;justify-content:flex-end}.grid{grid-template-columns:minmax(0,1fr)}.steps{grid-template-columns:1fr 1fr}.steps .meta{text-align:center;grid-area:1/1/auto/-1}}
