diff --git a/frontend/textbooks/algebra_8.html b/frontend/textbooks/algebra_8.html index 1a075f8..bf3e694 100644 --- a/frontend/textbooks/algebra_8.html +++ b/frontend/textbooks/algebra_8.html @@ -475,6 +475,75 @@ input,select,textarea{font-family:inherit} /* Task 2: geo proof animation badge */ .proof-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,var(--ok),#059669);color:#fff;border-radius:8px;font-weight:700;font-size:.85rem;animation:badgeIn .4s cubic-bezier(.34,1.56,.64,1)} @keyframes badgeIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}} + +/* ═══════════════════════════════════════════════ + WAVE 3 — UX / NAVIGATION + ═══════════════════════════════════════════════ */ + +/* Task 1: Ctrl+K Search modal */ +.search-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:9998;padding-top:80px} +.search-modal.open{display:block;animation:fadeIn .2s ease} +.search-box{max-width:560px;margin:0 auto;background:var(--card);border-radius:14px;box-shadow:0 16px 50px rgba(0,0,0,.4);overflow:hidden} +.search-input{width:100%;padding:18px 22px;border:none;background:transparent;color:var(--text);font-size:1.05rem;font-family:inherit;outline:none;border-bottom:1px solid var(--border)} +.search-results{max-height:50vh;overflow-y:auto} +.search-result{padding:11px 22px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s} +.search-result:hover,.search-result.selected{background:var(--pri-soft)} +.search-result-title{font-weight:700;font-size:.92rem;color:var(--text)} +.search-result-sub{font-size:.78rem;color:var(--muted);margin-top:2px} +.search-empty{padding:22px;text-align:center;color:var(--muted);font-size:.9rem} +.search-hint-badge{padding:4px 8px;background:rgba(255,255,255,.18);border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em} + +/* Task 2: Shortcuts modal */ +.shortcuts-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);z-index:9998;align-items:center;justify-content:center} +.shortcuts-modal.open{display:flex;animation:fadeIn .2s ease} +.shortcuts-box{background:var(--card);border-radius:16px;padding:24px 28px;min-width:300px;max-width:400px;box-shadow:0 16px 50px rgba(0,0,0,.35)} +.shortcuts-box h3{font-size:1rem;font-weight:800;color:var(--pri2);margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:10px} +.shortcut-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.88rem} +.shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:3px 8px;background:var(--pri-soft);border:1px solid var(--border);border-radius:5px;font-family:monospace;font-size:.82rem;font-weight:700;color:var(--pri2)} +.shortcut-desc{color:var(--text);flex:1} + +/* Task 3: Bookmarks */ +.bm-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:transparent;color:var(--muted);transition:color .15s,background .15s;z-index:2;padding:0} +.bm-btn:hover{background:var(--pri-soft);color:var(--pri)} +.bm-btn.saved{color:var(--pri)} +.bm-icon-outline{display:block}.bm-icon-filled{display:none} +.bm-btn.saved .bm-icon-outline{display:none}.bm-btn.saved .bm-icon-filled{display:block} +.sidecard-bm-row{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px dashed var(--border);font-size:.8rem} +.sidecard-bm-row:last-child{border-bottom:none} +.sidecard-bm-title{flex:1;color:var(--text);font-weight:600;cursor:pointer} +.sidecard-bm-title:hover{color:var(--pri);text-decoration:underline} +.sidecard-bm-del{color:var(--fail);font-size:.78rem;cursor:pointer;padding:2px 5px;border-radius:4px} +.sidecard-bm-del:hover{background:var(--fail-bg)} + +/* Task 4: Glossary tooltips */ +.gloss{border-bottom:1.5px dashed var(--sec-acc,var(--pri));cursor:help;font-style:normal} +.gloss-tip{position:fixed;max-width:280px;padding:10px 14px;background:var(--card);border:1px solid var(--sec-acc,var(--pri));border-radius:10px;font-size:.82rem;line-height:1.5;box-shadow:0 8px 24px rgba(0,0,0,0.15);z-index:9990;display:none;pointer-events:none} +.gloss-tip.show{display:block;animation:tipIn .15s ease} +@keyframes tipIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}} + +/* Task 5: Mini-map */ +.minimap{position:fixed;right:16px;bottom:80px;display:flex;flex-direction:column;gap:6px;z-index:50;background:var(--card);padding:8px;border-radius:10px;border:1px solid var(--border);box-shadow:var(--sh)} +.mm-dot{width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,.15);cursor:pointer;transition:transform .15s,background .15s} +.dark .mm-dot{background:rgba(255,255,255,.2)} +.mm-dot:hover{transform:scale(1.4);background:var(--sec-acc,var(--pri))} +.mm-dot.active{background:var(--sec-acc,var(--pri));transform:scale(1.3)} +@media(max-width:980px){.minimap{display:none}} + +/* Task 6: Hint system */ +.hint-box{background:linear-gradient(135deg,var(--warn-bg),var(--pri-soft));border-left:4px solid var(--warn);padding:10px 14px;border-radius:9px;margin-top:10px;font-size:.88rem;animation:fadeIn .2s ease} +.dark .hint-box{background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(233,30,99,.12));color:var(--text)} +.hint-level-badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:.72rem;font-weight:800;background:var(--warn);color:#451a03;margin-bottom:5px;letter-spacing:.04em} + +/* Task 7: Mobile Cheatsheet Sidebar button */ +#sidebar-btn{display:none} +@media(max-width:980px){ + #sidebar-btn{display:inline-flex} + .col-side{position:fixed;right:0;top:0;width:300px;max-width:90vw;height:100vh;background:var(--card);box-shadow:-12px 0 32px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .25s;z-index:1000;overflow-y:auto;padding:20px;display:block} + .col-side.open{transform:translateX(0)} + .col-side-close{display:block;position:absolute;top:12px;right:12px;z-index:2} + .col-side.side-open{transform:translateX(0)} +} +@media(min-width:981px){.col-side-close{display:none}.col-side{transform:none!important}} @@ -486,11 +555,18 @@ input,select,textarea{font-family:inherit}
Квадратные корни и их свойства. Действительные числа
- + +
-