.reader-root{width:100%}body.walkthrough-width-lock-active .reader-root{max-width:var(--walkthrough-lock-width);margin-inline:auto}.reader-empty{min-height:1rem}.reader-block{position:relative;margin:.5rem 0}.reader-paragraph{margin:.75rem 0;line-height:1.7}.reader-heading{font-weight:700;line-height:1.3;letter-spacing:-.01em}.reader-heading-anchor{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-left:.375rem;vertical-align:middle;border-radius:.375rem;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background-color .12s ease}.reader-heading-anchor:focus-visible,.reader-heading:hover .reader-heading-anchor{opacity:.7}.reader-heading-anchor:hover{opacity:1;color:hsl(var(--foreground));background:hsl(var(--accent)/.5)}.reader-heading-h1{font-size:2.25rem;margin:2rem 0 1rem}.reader-heading-h2{font-size:1.75rem;margin:1.75rem 0 .75rem}.reader-heading-h3{font-size:1.375rem;margin:1.5rem 0 .5rem}.reader-heading-h4{font-size:1.125rem;margin:1.25rem 0 .5rem}.reader-heading-h5{font-size:1rem;margin:1rem 0 .375rem}.reader-heading-h6{font-size:.875rem;margin:.875rem 0 .375rem;text-transform:uppercase;letter-spacing:.05em}.reader-heading-toggle{margin:.5rem 0}.reader-heading-toggle-summary{cursor:pointer;list-style:none;display:flex;align-items:center}.reader-heading-toggle-summary>.reader-heading{margin-top:0;margin-bottom:0}.reader-heading-toggle-summary::-webkit-details-marker{display:none}.reader-heading-toggle-summary:before{content:"";display:inline-block;width:0;height:0;margin-right:.5rem;border-left:8px solid;border-top:6px solid transparent;border-bottom:6px solid transparent;color:hsl(var(--muted-foreground));transform:translateY(-2px);transition:transform .12s ease-in-out}.reader-heading-toggle[open]>.reader-heading-toggle-summary:before{transform:rotate(90deg)}.reader-heading-toggle-body{margin-left:1rem}.reader-quote{border-left:3px solid hsl(var(--border));padding:.25rem 0 .25rem 1rem;margin:1rem 0;color:hsl(var(--muted-foreground));font-style:italic}.reader-code-block{background-color:hsl(var(--muted));border-radius:.5rem;padding:1rem;margin:1rem 0;overflow-x:auto;font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:.875rem;line-height:1.6;position:relative}.reader-code-block code{background:none;padding:0;border-radius:0;font-size:inherit;white-space:pre}.reader-code-copy{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;border:1px solid hsl(var(--border));background:hsl(var(--background)/.9);color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background-color .12s ease}.reader-code-block:hover .reader-code-copy,.reader-code-copy:focus-visible{opacity:1}.reader-code-copy:hover{color:hsl(var(--foreground));background:hsl(var(--accent)/.6)}.reader-bullet-list{list-style:disc outside;margin:.5rem 0;padding-left:1.5rem}.reader-numbered-list{list-style:decimal outside;margin:.5rem 0;padding-left:1.5rem}.reader-check-list{list-style:none;margin:.5rem 0;padding-left:0}.reader-list-item{display:list-item;margin:.25rem 0}.reader-list-item-body{display:block}.reader-list-item-content{display:inline}.reader-check-item{display:flex;align-items:flex-start;gap:.5rem}.reader-check-item-input{margin-top:.35rem;cursor:default}.reader-check-item-checked .reader-list-item-content{text-decoration:line-through;color:hsl(var(--muted-foreground))}.reader-toggle{margin:.25rem 0}.reader-toggle-summary{cursor:pointer;list-style:none}.reader-toggle-summary::-webkit-details-marker{display:none}.reader-toggle-summary:before{content:"";display:inline-block;width:0;height:0;margin-right:.5rem;border-left:8px solid;border-top:6px solid transparent;border-bottom:6px solid transparent;color:hsl(var(--muted-foreground));transform:translateY(-2px);transition:transform .12s ease-in-out}.reader-toggle[open]>.reader-toggle-summary:before{transform:rotate(90deg)}.reader-toggle-body{margin-left:1rem}.reader-audio,.reader-image,.reader-video{margin:1rem 0}.reader-image img,.reader-video video{display:inline-block;max-width:100%;height:auto;border-radius:.375rem}.reader-audio audio{width:100%}.reader-audio-empty,.reader-image-empty,.reader-video-empty{min-height:2rem}.reader-audio-link,.reader-image-link,.reader-video-link{padding:.5rem 0}.reader-audio-caption,.reader-image-caption,.reader-video-caption{margin-top:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground));font-style:italic}.reader-table-wrapper{margin:1rem 0;overflow-x:auto}.reader-table{border-collapse:collapse;width:100%}.reader-table td,.reader-table th{border:1px solid hsl(var(--border));padding:.5rem .75rem;text-align:left;vertical-align:top}.reader-table th{background-color:hsl(var(--muted)/.5);font-weight:600}.reader-table-empty{min-height:2rem}.reader-youtube{margin:1rem auto;max-width:720px}.reader-youtube-frame{position:relative;width:100%;height:0;overflow:hidden;border-radius:.375rem}.reader-youtube-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.reader-youtube-caption{margin-top:.5rem;font-style:italic}.reader-youtube-caption,.reader-youtube-empty{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center}.reader-youtube-empty{padding:1.5rem;border:1px dashed hsl(var(--border));border-radius:.375rem;margin:1rem 0}.reader-file{margin:.75rem 0}.reader-file-card{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;max-width:32rem;border:1px solid hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground));border-radius:.5rem;text-decoration:none;transition:background-color .12s ease-in-out,border-color .12s ease-in-out}.reader-file-card:hover{background-color:hsl(var(--muted)/.5);border-color:hsl(var(--muted-foreground)/.3)}.reader-file-icon{flex-shrink:0;width:2rem;height:2rem;color:hsl(var(--muted-foreground))}.reader-file-info{flex:1;min-width:0}.reader-file-name{font-size:.9375rem;font-weight:500;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-file-type{margin-top:.125rem;font-size:.8125rem;color:hsl(var(--muted-foreground))}.reader-file-download{flex-shrink:0;width:1.125rem;height:1.125rem;color:hsl(var(--muted-foreground))}.reader-file-caption{margin-top:.5rem;font-style:italic}.reader-file-caption,.reader-file-empty{font-size:.875rem;color:hsl(var(--muted-foreground))}.reader-file-empty{min-height:2rem}.reader-english-shadowing,.reader-python,.reader-quiz{margin:1rem 0}.reader-htmljs{position:relative;margin:10px 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.reader-htmljs-frame{width:100%;border:0;background:#fff;display:block}.reader-ai-tutor-banner{display:block;margin:.5rem 0;padding:.5rem .75rem;border:1px solid #fde68a;background-color:#fffbeb;color:#78350f;border-radius:.5rem;font-size:.75rem;line-height:1.5}.reader-block[data-block-type=aiTutorPersonaPrompt]:empty,.reader-block[data-block-type=guidedLearningPrompt]{display:none}.reader-unsupported{border:1px dashed hsl(var(--border));border-radius:.5rem;padding:.75rem 1rem;margin:.75rem 0;background-color:hsl(var(--muted)/.4)}.reader-unsupported-label{font-size:.875rem;color:hsl(var(--foreground));margin:0 0 .25rem}.reader-unsupported-label code{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);background-color:hsl(var(--background));padding:.125rem .375rem;border-radius:.25rem;font-size:.8125rem}.reader-unsupported-hint{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0}.reader-block[data-gated=true]{filter:blur(5px);user-select:none;pointer-events:none}.reader-gated-overlay{position:fixed;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:auto}.reader-gated-cta{padding:.5rem 1rem;border-radius:9999px;background:hsl(var(--background));border:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:.875rem;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.reader-gated-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.16)}.guided-focus-block{outline:2px solid hsl(var(--primary));outline-offset:4px;border-radius:.375rem;transition:outline-color .18s ease-in-out}.highlight-scroll-target{animation:reader-highlight-pulse 2.2s ease-out}@keyframes reader-highlight-pulse{0%{background-color:hsl(var(--primary)/.18)}to{background-color:transparent}}.reader-block-ask-ai,.reader-selection-ask-ai{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;background:hsl(var(--background));border:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:.75rem;font-weight:600;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.reader-block-ask-ai:hover,.reader-selection-ask-ai:hover{transform:translateY(-1px);background:hsl(var(--accent)/.6);box-shadow:0 6px 16px rgba(0,0,0,.16)}.reader-selection-chip-group{display:inline-flex;align-items:center;gap:.25rem}.reader-selection-note{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;background:hsl(var(--background));border:1px solid hsl(var(--border));color:hsl(var(--foreground));font-size:.75rem;font-weight:600;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.reader-selection-note:hover{transform:translateY(-1px);background:hsl(var(--accent)/.6);box-shadow:0 6px 16px rgba(0,0,0,.16)}.reader-note-indicator{width:10px;height:10px;border-radius:50%;border:none;padding:0;cursor:pointer;z-index:25;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .12s ease,box-shadow .12s ease}.reader-note-indicator:hover{transform:scale(1.25);box-shadow:0 2px 6px rgba(0,0,0,.3)}.reader-note-popup{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:.875rem 1rem .75rem;color:hsl(var(--foreground));display:flex;flex-direction:column;gap:.625rem}.reader-note-popup-header{display:flex;align-items:center;justify-content:space-between}.reader-note-popup-title{font-size:.8125rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.reader-note-popup-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.reader-note-popup-close:hover{background:hsl(var(--accent)/.5);color:hsl(var(--foreground))}.reader-note-popup-quote{margin:0;padding:.5rem .75rem;border-left:3px solid hsl(var(--border));background:hsl(var(--muted)/.4);font-size:.8125rem;color:hsl(var(--muted-foreground));border-radius:0 6px 6px 0;max-height:4.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.reader-note-popup-textarea{width:100%;resize:vertical;min-height:6rem;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:8px;font-size:.875rem;line-height:1.5;font-family:inherit;color:hsl(var(--foreground));background:hsl(var(--background));outline:none}.reader-note-popup-textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring)/.2)}.reader-note-popup-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.reader-note-popup-meta{font-size:.75rem;color:hsl(var(--muted-foreground))}.reader-note-popup-actions{display:inline-flex;gap:.375rem;align-items:center}.reader-note-popup-delete{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--muted-foreground));cursor:pointer}.reader-note-popup-delete:hover{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive));border-color:hsl(var(--destructive)/.4)}.reader-note-popup-save{padding:.5rem .875rem;border-radius:8px;border:none;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:.8125rem;font-weight:600;cursor:pointer}.reader-note-popup-save:disabled{opacity:.5;cursor:not-allowed}.reader-note-popup-save:not(:disabled):hover{filter:brightness(.95)}.reader-note-popup-ai-section{margin-top:.375rem;padding-top:.625rem;border-top:1px dashed hsl(var(--border))}.reader-note-popup-ai-label{font-size:.75rem;font-weight:600;color:#8b5cf6;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}.reader-note-popup-ai-body{font-size:.8125rem;line-height:1.55;color:hsl(var(--foreground));white-space:pre-wrap;max-height:8rem;overflow-y:auto}.reader-summary{margin:1.5rem 0;padding:1.25rem 1.5rem;border:1px solid hsl(var(--border));border-radius:12px;background:linear-gradient(180deg,hsl(var(--accent)/.35) 0,hsl(var(--background)) 100%)}.reader-summary-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:hsl(var(--foreground))}.reader-summary-tldr{margin:0 0 .75rem;font-size:1rem;line-height:1.55;color:hsl(var(--foreground))}.reader-summary-takeaways{margin:0 0 .75rem;padding-left:1.25rem;list-style:disc}.reader-summary-takeaways li{margin:.25rem 0;line-height:1.5;color:hsl(var(--foreground))}.reader-summary-meta{margin:.25rem 0;font-size:.875rem;color:hsl(var(--muted-foreground))}.reader-summary-meta-label{font-weight:600;color:hsl(var(--foreground))}.reader-math-display{display:block;overflow-x:auto}