/
hamster75
/
Life
Обзор
Документация
Войти
/
hamster75
/
Life
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
6
CI/CD
Аналитика
Безопасность
master
css/algo.css
210 строк
5 KB
Dmitry Smirnov
fallback, when no wasm
28 май 2026, 10:40
28 май 2026, 10:40
4b7e920
Код
Авторство
О чём код?
/* ── Algo description bar ── */ #algo-description { grid-area: algodesc; padding: 5px 16px; font-size: var(--fs-sm); color: var(--text-dim); background: var(--bg-chrome); border-top: 1px solid var(--border-chrome); min-height: 0; line-height: 1.4; } #algo-description:empty { display: none; } /* ── Algo selector in footer ── */ #algo-control { display: flex; align-items: center; gap: 6px; font-size: var(--fs-base); color: var(--text-dim); } #algo-select { font-size: var(--fs-sm); font-family: monospace; background: var(--border-chrome); color: var(--text-hi); border: 1px solid var(--border-hi); border-radius: 4px; padding: 3px 6px; cursor: pointer; } #algo-select:focus { outline: none; border-color: var(--accent); } #perf-counter { color: var(--text-dim); } #computing-indicator { display: none; color: var(--accent); letter-spacing: 0.05em; } #computing-indicator.visible { display: inline; } #computing-indicator::after { content: '⚙'; animation: computing-spin 1s linear infinite; display: inline-block; } @keyframes computing-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* ── Algo-switch toast notification ─────────────────────── */ #algo-switch-toast { position: fixed; bottom: 48px; left: 50%; transform: translateX(-50%) translateY(12px); z-index: 8000; background: var(--bg-panel); border: 1px solid var(--border-hi); border-radius: 7px; box-shadow: 0 8px 32px rgba(0,0,0,0.55); padding: 12px 14px 10px; max-width: 340px; width: max-content; font-family: monospace; font-size: var(--fs-sm); color: var(--text-mid); opacity: 0; pointer-events: none; transition: opacity 0.18s, transform 0.18s; } #algo-switch-toast.visible { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); } #algo-switch-toast-title { color: var(--text-hi); font-size: var(--fs-base); margin-bottom: 5px; } #algo-switch-toast-close { position: absolute; top: 7px; right: 9px; background: none; border: none; color: var(--text-dim); font-size: var(--fs-xl); line-height: 1; padding: 0 3px; cursor: pointer; font-family: monospace; } #algo-switch-toast-close:hover { color: var(--text); } #algo-switch-toast-noshow { display: flex; align-items: center; gap: 6px; margin-top: 9px; color: var(--text-dim); cursor: pointer; user-select: none; } #algo-switch-toast-noshow input { cursor: pointer; accent-color: var(--accent); } /* ── Big-pattern toast (too large to harvest) ────────────── */ #algo-switch-toast-big { position: fixed; bottom: 48px; left: 50%; transform: translateX(-50%) translateY(12px); z-index: 8000; background: var(--bg-panel); border: 1px solid var(--border-hi); border-radius: 7px; box-shadow: 0 8px 32px rgba(0,0,0,0.55); padding: 12px 14px 10px; max-width: 360px; width: max-content; font-family: monospace; font-size: var(--fs-sm); color: var(--text-mid); opacity: 0; pointer-events: none; transition: opacity 0.18s, transform 0.18s; } #algo-switch-toast-big.visible { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); } #algo-big-toast-title { color: var(--text-hi); font-size: var(--fs-base); margin-bottom: 5px; } #algo-big-toast-close { position: absolute; top: 7px; right: 9px; background: none; border: none; color: var(--text-dim); font-size: var(--fs-xl); line-height: 1; padding: 0 3px; cursor: pointer; font-family: monospace; } #algo-big-toast-close:hover { color: var(--text); } #algo-big-toast-clear { display: inline-block; margin-top: 9px; padding: 3px 10px; background: none; border: 1px solid var(--border-hi); border-radius: 4px; color: var(--text); font-family: monospace; font-size: var(--fs-sm); cursor: pointer; } #algo-big-toast-clear:hover { background: var(--bg-hover); } /* ── WASM fallback toast ─────────────────────────────────── */ #algo-switch-toast-wasm { position: fixed; bottom: 48px; left: 50%; transform: translateX(-50%) translateY(12px); z-index: 8000; background: var(--bg-panel); border: 1px solid var(--accent); border-radius: 7px; box-shadow: 0 8px 32px rgba(0,0,0,0.55); padding: 12px 14px 10px; max-width: 340px; width: max-content; font-family: monospace; font-size: var(--fs-sm); color: var(--text-mid); opacity: 0; pointer-events: none; transition: opacity 0.18s, transform 0.18s; } #algo-switch-toast-wasm.visible { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); } #algo-wasm-toast-title { color: var(--accent); font-size: var(--fs-base); margin-bottom: 5px; } #algo-wasm-toast-close { position: absolute; top: 7px; right: 9px; background: none; border: none; color: var(--text-dim); font-size: var(--fs-xl); line-height: 1; padding: 0 3px; cursor: pointer; font-family: monospace; } #algo-wasm-toast-close:hover { color: var(--text); }