:root{--bg-color: #F4F1EA;--text-color: #36312C;--border-color: #D8D4CB;--hover-color: #E6E2D6;--link-color: #2A5F8A;--font-main: "SF Mono", "Menlo", "Monaco", "Courier New", monospace;--spacing-unit: 1rem}[data-theme=dark]{--bg-color: #000000;--text-color: #ffffff;--border-color: #ffffff;--hover-color: #333333;--link-color: #FF00FF}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);transition:background-color .3s,color .3s}#pdf-viewer-container{background-color:var(--bg-color);color:var(--text-color)}#pdf-canvas{background-color:var(--bg-color);border-color:var(--border-color)}#app{display:grid;grid-template-columns:20% 55% 25%;height:100vh;width:100vw;border-top:1px solid var(--border-color)}.column{border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;overflow:hidden}.column:last-child{border-right:none}.header{padding:var(--spacing-unit);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:1px;background-color:var(--bg-color);position:sticky;top:0;z-index:10}.content-wrapper,.tree-content{padding:var(--spacing-unit);padding-top:calc(var(--spacing-unit) * 2);overflow-y:auto;flex:1}.tree-item{margin-bottom:.5rem}.tree-folder{font-weight:700;cursor:pointer}.tree-children{margin-left:1.5rem;display:none;padding-top:.5rem;padding-bottom:.5rem}.tree-children.open{display:block}.tree-file a{text-decoration:none;color:var(--text-color)}.tree-file a:hover{text-decoration:underline}.intro-text{margin-bottom:2rem;font-size:1.1em}.transcript-preview{border:1px solid var(--border-color);padding:1rem;position:relative}.transcript-fade{max-height:400px;overflow:hidden;mask-image:linear-gradient(to bottom,black 50%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%)}pre{white-space:pre-wrap;font-family:var(--font-main)}.read-more-btn{display:block;text-align:center;margin-top:1rem;font-weight:700;color:var(--text-color);text-decoration:none;border:1px solid var(--border-color);padding:.5rem}.read-more-btn:hover{background-color:var(--hover-color)}.theme-btn{background:none;border:1px solid var(--border-color);color:var(--text-color);padding:.2rem .5rem;cursor:pointer;font-family:var(--font-main)}.theme-btn:hover{background-color:var(--hover-color)}section{margin-bottom:2rem}h4{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.2rem}ul{list-style:none}li{margin-bottom:.5rem}a{color:var(--link-color)}@media (max-width: 768px){#app{grid-template-columns:1fr;height:auto;overflow-y:auto}.column{border-right:none;border-bottom:1px solid var(--border-color);height:auto;min-height:auto}.content-wrapper,.tree-content{max-height:500px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:100}.modal-content{background-color:var(--bg-color);border:1px solid var(--border-color);padding:2rem;max-width:500px;width:90%;position:relative;box-shadow:10px 10px 0 var(--border-color)}.close-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color)}.keyword-highlight{border-bottom:1px dotted var(--text-color);cursor:help;font-weight:700}.keyword-highlight:hover{background-color:var(--hover-color)}.mirror-test-section{margin-top:2rem;padding:1.5rem;border:1px solid var(--border-color)}.mirror-test-section h4{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.5rem}.ai-prompt{font-style:italic;margin:1rem 0;padding:1rem;background-color:var(--hover-color);border-left:3px solid var(--link-color)}.try-it-btn{display:block;width:100%;text-align:center;margin-top:1rem;font-weight:700;color:var(--text-color);text-decoration:none;border:1px solid var(--border-color);padding:.5rem;background:none;cursor:pointer;font-family:var(--font-main);transition:background-color .3s;font-size:1em}.try-it-btn:hover{background-color:var(--hover-color)}
