:root{--bg: #fafafa;--fg: #1a1a1a;--accent: #2563eb;--accent-light: #3b82f6;--border: #e5e7eb;--muted: #6b7280;--highlight: #fef3c7}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--fg);margin:0;padding:0;line-height:1.6}header{background:#fff;border-bottom:1px solid var(--border);padding:1rem 2rem;position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center}header .header-content a{text-decoration:none;color:inherit}header h1{margin:0;font-size:1.5rem}header p{margin:0;color:var(--muted);font-size:.875rem}header nav{display:flex;gap:.5rem;align-items:center}header nav a{padding:.5rem 1rem;border-radius:6px;background:var(--bg);color:var(--fg);text-decoration:none;font-weight:500}header nav a:hover{background:var(--border)}header nav a.github-link{display:flex;align-items:center;padding:.5rem}main{max-width:1200px;margin:0 auto;padding:2rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.loading{padding:2rem;text-align:center;color:var(--muted)}.prep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.prep-link{display:flex;flex-direction:column;padding:.75rem 1rem;background:#fff;border:1px solid var(--border);border-radius:4px;transition:border-color .15s,box-shadow .15s}.prep-link:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000d;text-decoration:none}.prep-link .prep-name{font-weight:500}.prep-link .prep-stats{font-size:.75rem;color:var(--muted)}.search-box{margin-bottom:.5rem}.search-box input{width:100%;max-width:400px;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border);border-radius:4px}.search-box input:focus{outline:none;border-color:var(--accent)}.sort-options{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--muted);margin-bottom:1rem}.sort-options span{cursor:pointer;transition:color .15s}.sort-options span:hover{color:var(--fg)}.sort-options span.active{color:var(--fg);font-weight:600}.prep-header{margin-bottom:2rem}.prep-header h2{font-size:2.5rem;margin:0 0 .5rem}.sense-count{color:var(--muted)}.sense-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1rem;scroll-margin-top:7rem}.sense-card h3{margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.sense-anchor{text-decoration:none;color:inherit}.sense-anchor:hover .sense-id,.sense-card.highlighted{box-shadow:0 0 0 2px var(--accent)}.sense-id{font-family:monospace;background:var(--highlight);padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.sense-def{font-size:1.125rem;margin-bottom:1rem}.sense-props{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;font-size:.875rem}.prop{display:flex;gap:.5rem}.prop-label{font-weight:600;color:var(--muted);min-width:80px}.prop-value{color:var(--fg)}.examples-section{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.examples-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.875rem;padding:0}.examples-toggle:hover{text-decoration:underline}.example{padding:.75rem;background:var(--bg);border-radius:4px;margin-top:.5rem;font-size:.9375rem}.example .prep-highlight{background:var(--highlight);font-weight:600}.example-meta{font-size:.75rem;color:var(--muted);margin-top:.25rem}.alt-preps{margin-top:.5rem}.alt-preps-label{font-size:.875rem;color:var(--muted)}.alt-preps a{margin-right:.5rem}.sense-sticky-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:1rem 2rem;z-index:200;box-shadow:0 2px 8px #0000001a;max-height:50vh;overflow-y:auto}.sense-sticky-header .prep-header,.sense-sticky-header .sense-sticky-top{margin-bottom:.75rem}.sense-sticky-header h2{font-size:1.25rem;margin:0 0 .25rem}.sense-sticky-header .sense-def{font-size:1rem;margin:0}.sense-sticky-header .sense-props{font-size:.8rem;gap:.5rem}.sense-sticky-header p{margin:0 0 .25rem}.sticky-close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted);padding:.25rem .5rem;line-height:1}.sticky-close:hover{color:var(--fg)}.sense-page{scroll-behavior:smooth}.sense-sticky-top p{margin:0 0 .25rem}.quiz-page{max-width:800px}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.quiz-header h2{margin:0}.quiz-stats{display:flex;gap:1rem;align-items:center}.quiz-stats .stat{background:#fff;padding:.5rem 1rem;border-radius:4px;border:1px solid var(--border)}.quiz-stats .streak{background:var(--highlight);border-color:#f59e0b;color:#b45309;font-weight:600}.quiz-sentence{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.quiz-sentence p{margin:0 0 1rem;color:var(--muted)}.quiz-sentence blockquote{margin:0;font-size:1.125rem;line-height:1.6}.quiz-sentence .prep-highlight{background:var(--highlight);font-weight:600;padding:.1em .2em;border-radius:2px}.quiz-options{display:flex;flex-direction:column;gap:.75rem}.quiz-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:#fff;border:2px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s}.quiz-option:hover:not(:disabled){border-color:var(--accent)}.quiz-option:disabled{cursor:default}.quiz-option.selected{border-color:var(--accent);background:#eff6ff}.quiz-option.correct{border-color:#22c55e;background:#f0fdf4}.quiz-option.wrong{border-color:#ef4444;background:#fef2f2}.quiz-option .sense-id{flex-shrink:0}.quiz-option .sense-def{flex:1}.quiz-feedback{margin-top:1.5rem;padding:1.25rem;border-radius:8px}.quiz-feedback.correct{background:#f0fdf4;border:1px solid #22c55e}.quiz-feedback.correct p{color:#166534;font-weight:600}.quiz-feedback.wrong{background:#fef2f2;border:1px solid #ef4444}.quiz-feedback.wrong p{color:#991b1b}.quiz-feedback p{margin:0 0 1rem}.quiz-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.btn-primary{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;font-weight:500}.btn-primary:hover{background:var(--accent-light)}.loading-overlay{position:fixed;inset:0;background:var(--bg);z-index:1000;display:flex;align-items:center;justify-content:center}.loading-content{text-align:center}.loading-content h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--fg)}.loading-content p{margin:.75rem 0 0;color:var(--muted);font-size:.875rem}.progress-bar{width:300px;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .1s ease-out}
