@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}.app.monokai{--bg: #000000;--surface: #0a0a0a;--elevated: #141414;--accent: #f92672;--accent-dim: rgba(249, 38, 114, .1);--text: #e8e8e8;--text-dim: #888;--border: rgba(255, 255, 255, .06);--code-bg: #000000}.app.gruvbox{--bg: #1d2021;--surface: #282828;--elevated: #32302f;--accent: #fe8019;--accent-dim: rgba(254, 128, 25, .1);--text: #ebdbb2;--text-dim: #a89984;--border: rgba(235, 219, 178, .08);--code-bg: #1d2021}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg);color:var(--text);font-family:IBM Plex Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}.icon{width:18px;height:18px}.header{border-bottom:1px solid var(--border);padding:1rem 2.5rem;background:var(--surface);flex-shrink:0}.header-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;width:100%}.header-logo pre{font-family:IBM Plex Mono,monospace;font-size:.8rem;line-height:.9;margin:0;color:var(--accent);font-weight:600}.theme-switch{position:relative;display:inline-block;width:44px;height:24px}.theme-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--elevated);border:1px solid var(--border);transition:.4s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--text-dim);transition:.4s}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}input:checked+.slider{background-color:var(--accent-dim);border-color:var(--accent)}input:checked+.slider:before{background-color:var(--accent);transform:translate(20px)}.primary-nav{display:flex;gap:.5rem;padding:.75rem 2.5rem;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.nav-tab{background:none;border:none;padding:.5rem 1rem;border-radius:4px;color:var(--text-dim);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.nav-tab:hover{background:var(--elevated);color:var(--text)}.nav-tab.active{background:var(--accent);color:var(--bg);font-weight:600}.secondary-nav{display:flex;gap:.5rem;padding:.75rem 2.5rem;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.nav-tab-secondary{background:none;border:1px solid transparent;padding:.375rem .75rem;border-radius:4px;color:var(--text-dim);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.nav-tab-secondary:hover{background:var(--elevated);color:var(--text)}.nav-tab-secondary.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.main-content{flex:1;overflow-y:auto;padding:2.5rem}.subject-title{font-size:1.75rem;font-weight:600;color:var(--text);letter-spacing:-.02em;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.main-content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem;align-items:stretch}.concept-card{background:none;border:3px dashed var(--text-dim);border-radius:0;padding:1.25rem;text-align:left;font-family:inherit;color:var(--text);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.concept-card:hover{background:var(--elevated);border-color:var(--accent);box-shadow:0 0 10px var(--accent-dim),0 0 5px var(--accent-dim)}.card-title{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.concept-card:hover .card-title{color:var(--accent)}.card-syntax-preview{font-family:Roboto Mono,SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.4;color:var(--text-dim);flex:1}.card-syntax-preview code{color:var(--text-dim);white-space:pre-wrap}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text)}.close-button{background:none;border:none;font-size:2rem;font-weight:300;color:var(--text-dim);cursor:pointer;line-height:1;padding:0}.modal-body{padding:.5rem 1.5rem 1.5rem;overflow-y:auto}.code-section{margin-bottom:1.5rem}.code-section:last-child{margin-bottom:0}.code-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:1rem 0 .75rem}.modal-code-block{background:var(--elevated);border-radius:4px;padding:.875rem;overflow-x:auto;font-family:Roboto Mono,SF Mono,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.5}.modal-code-block code{color:var(--text)}@media(max-width:768px){.header{padding:1rem 1.5rem}.primary-nav{padding:.5rem 1.5rem;gap:.25rem}.secondary-nav{padding:.5rem 1.5rem}.main-content{padding:1.5rem}.subject-title{font-size:1.5rem}.main-content-grid{grid-template-columns:1fr}}@media(max-width:640px){.header{padding:1.25rem}.header-logo pre{font-size:.6rem}.primary-nav{padding:.5rem}.nav-tab{padding:.5rem .25rem;font-size:.8rem;text-align:center;flex:1}.secondary-nav{padding:.5rem}.main-content{padding:1.5rem 1rem}}
