milestone(SNNBot): 48% hit rate, grid accumulator with warm-start + frozen DECIDE snapshot — pausing for BNNBot exploration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
// Minimal quiz widget — shared across lessons
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.querySelectorAll('.quiz').forEach(quiz => {
|
||||
const radios = quiz.querySelectorAll('input[type="radio"]');
|
||||
const feedbackCorrect = quiz.querySelector('.feedback.correct');
|
||||
const feedbackWrong = quiz.querySelector('.feedback.wrong');
|
||||
|
||||
radios.forEach(radio => {
|
||||
radio.addEventListener('change', () => {
|
||||
if (feedbackCorrect) feedbackCorrect.style.display = 'none';
|
||||
if (feedbackWrong) feedbackWrong.style.display = 'none';
|
||||
|
||||
if (radio.dataset.correct === 'true') {
|
||||
if (feedbackCorrect) feedbackCorrect.style.display = 'block';
|
||||
} else {
|
||||
if (feedbackWrong) feedbackWrong.style.display = 'block';
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,158 @@
|
||||
/* Teaching workspace — shared lesson stylesheet */
|
||||
:root {
|
||||
--fg: #2d2d2d;
|
||||
--bg: #fffff8;
|
||||
--accent: #e63946;
|
||||
--code-bg: #f5f5f0;
|
||||
--border: #ddd;
|
||||
--link: #457b9d;
|
||||
--success: #2a9d8f;
|
||||
--warning: #e9c46a;
|
||||
--font-body: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
|
||||
--font-code: 'Fira Code', 'Source Code Pro', 'Consolas', monospace;
|
||||
--font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
|
||||
body {
|
||||
font-family: var(--font-body);
|
||||
color: var(--fg);
|
||||
background: var(--bg);
|
||||
max-width: 740px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem 1.5rem 4rem;
|
||||
line-height: 1.7;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
h1 { font-size: 2rem; margin: 2rem 0 1rem; font-weight: 400; letter-spacing: -0.02em; }
|
||||
h2 { font-size: 1.4rem; margin: 2rem 0 0.8rem; font-weight: 600; color: var(--accent); border-bottom: 1px solid var(--border); padding-bottom: 0.3rem; }
|
||||
h3 { font-size: 1.1rem; margin: 1.5rem 0 0.5rem; font-weight: 600; }
|
||||
|
||||
p { margin: 0.8rem 0; }
|
||||
a { color: var(--link); text-decoration: none; border-bottom: 1px solid transparent; }
|
||||
a:hover { border-bottom-color: var(--link); }
|
||||
|
||||
code {
|
||||
font-family: var(--font-code);
|
||||
font-size: 0.85em;
|
||||
background: var(--code-bg);
|
||||
padding: 0.15em 0.4em;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
pre {
|
||||
background: var(--code-bg);
|
||||
border-left: 3px solid var(--accent);
|
||||
padding: 1rem 1.2rem;
|
||||
margin: 1rem 0;
|
||||
overflow-x: auto;
|
||||
line-height: 1.5;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
pre code { background: none; padding: 0; }
|
||||
|
||||
.note {
|
||||
background: #f0f7ff;
|
||||
border-left: 3px solid var(--link);
|
||||
padding: 0.8rem 1rem;
|
||||
margin: 1rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.warning {
|
||||
background: #fff8e1;
|
||||
border-left: 3px solid var(--warning);
|
||||
padding: 0.8rem 1rem;
|
||||
margin: 1rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.key-insight {
|
||||
background: #f0fff4;
|
||||
border-left: 3px solid var(--success);
|
||||
padding: 0.8rem 1rem;
|
||||
margin: 1rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1.5rem 0;
|
||||
text-align: center;
|
||||
}
|
||||
figcaption {
|
||||
font-size: 0.85rem;
|
||||
color: #666;
|
||||
margin-top: 0.5rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 1rem 0;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
th, td {
|
||||
border: 1px solid var(--border);
|
||||
padding: 0.5rem 0.8rem;
|
||||
text-align: left;
|
||||
}
|
||||
th { background: var(--code-bg); font-weight: 600; }
|
||||
|
||||
.diagram {
|
||||
font-family: var(--font-code);
|
||||
font-size: 0.8rem;
|
||||
line-height: 1.4;
|
||||
white-space: pre;
|
||||
background: var(--code-bg);
|
||||
padding: 1.2rem;
|
||||
margin: 1rem 0;
|
||||
border-radius: 4px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.quiz {
|
||||
background: var(--code-bg);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 6px;
|
||||
padding: 1.2rem;
|
||||
margin: 1.5rem 0;
|
||||
}
|
||||
.quiz h3 { margin-top: 0; color: var(--accent); }
|
||||
.quiz label {
|
||||
display: block;
|
||||
padding: 0.4rem 0.6rem;
|
||||
margin: 0.3rem 0;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
font-family: var(--font-sans);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
.quiz label:hover { background: #e8e8e0; }
|
||||
.quiz input[type="radio"] { margin-right: 0.5rem; }
|
||||
.quiz .feedback {
|
||||
display: none;
|
||||
margin-top: 0.8rem;
|
||||
padding: 0.6rem;
|
||||
border-radius: 4px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
.quiz .feedback.correct { background: #d4edda; display: block; }
|
||||
.quiz .feedback.wrong { background: #f8d7da; display: block; }
|
||||
|
||||
.nav-footer {
|
||||
margin-top: 3rem;
|
||||
padding-top: 1rem;
|
||||
border-top: 1px solid var(--border);
|
||||
font-family: var(--font-sans);
|
||||
font-size: 0.85rem;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body { max-width: none; padding: 1cm; font-size: 11pt; }
|
||||
.quiz { page-break-inside: avoid; }
|
||||
pre { font-size: 9pt; }
|
||||
}
|
||||
Reference in New Issue
Block a user