/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Mobile
src/components/osPlays.module.css
556 строк
10 KB
Spirzen
Components Pack
21 май 2026, 18:53
21 май 2026, 18:53
44241e8
Код
Авторство
О чём код?
.root { max-width: min(820px, 100%); margin: 0 auto; } .tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: center; margin-bottom: 0.75rem; } .tab { padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-surface-color); font-size: 0.78rem; font-weight: 600; color: var(--ifm-color-content-secondary); cursor: pointer; transition: all 0.2s ease; } .tab:hover { border-color: var(--ifm-color-primary); color: var(--ifm-color-primary); } .tabActive { border-color: var(--ifm-color-primary); background: color-mix(in srgb, var(--ifm-color-primary) 12%, var(--ifm-background-surface-color)); color: var(--ifm-color-primary); } .panel { border: 1px solid var(--ifm-color-emphasis-300); border-radius: 10px; padding: 0.85rem 1rem; background: var(--ifm-background-surface-color); } .mono { font-family: var(--ifm-font-family-monospace); font-size: 0.8rem; line-height: 1.45; margin: 0; white-space: pre-wrap; word-break: break-word; } .hint { margin: 0.5rem 0 0; font-size: 0.78rem; color: var(--ifm-color-content-secondary); line-height: 1.4; } /* —— OsStackPlay —— */ .stack { display: flex; flex-direction: column; gap: 0.35rem; } .stackLayer { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0.5rem; padding: 0.55rem 0.75rem; border-radius: 8px; border: 2px solid transparent; cursor: pointer; transition: transform 0.15s ease, box-shadow 0.15s ease; text-align: left; width: 100%; background: var(--ifm-background-color); } .stackLayer:hover { transform: translateX(4px); } .stackLayerActive { border-color: var(--layer-accent, var(--ifm-color-primary)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--layer-accent, var(--ifm-color-primary)) 35%, transparent); } .stackName { font-weight: 700; font-size: 0.85rem; } .stackRole { font-size: 0.72rem; color: var(--ifm-color-content-secondary); } .stackBadge { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.15rem 0.45rem; border-radius: 4px; background: color-mix(in srgb, var(--layer-accent) 18%, transparent); color: var(--layer-accent); } .stackDetail { margin-top: 0.75rem; padding: 0.75rem; border-radius: 8px; border-left: 4px solid var(--layer-accent, var(--ifm-color-primary)); background: color-mix(in srgb, var(--layer-accent, var(--ifm-color-primary)) 8%, var(--ifm-background-surface-color)); } .managerGrid { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.5rem; } .managerChip { font-size: 0.72rem; padding: 0.2rem 0.5rem; border-radius: 6px; border: 1px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-color); } /* —— Classification —— */ .classGrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.5rem; } .classCard { padding: 0.65rem; border-radius: 8px; border: 1px solid var(--ifm-color-emphasis-300); background: var(--ifm-background-color); cursor: pointer; text-align: left; transition: border-color 0.15s ease; } .classCardActive { border-color: var(--ifm-color-primary); background: color-mix(in srgb, var(--ifm-color-primary) 8%, var(--ifm-background-color)); } .classTitle { font-weight: 700; font-size: 0.82rem; margin: 0 0 0.25rem; } .classExamples { font-size: 0.72rem; color: var(--ifm-color-content-secondary); margin: 0; } .osTable { width: 100%; border-collapse: collapse; font-size: 0.75rem; margin-top: 0.5rem; } .osTable th, .osTable td { padding: 0.35rem 0.5rem; border-bottom: 1px solid var(--ifm-color-emphasis-200); text-align: left; } .osTable th { color: var(--ifm-color-content-secondary); font-weight: 600; } /* —— Kernel —— */ .kernelDiagram { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; } @media (max-width: 600px) { .kernelDiagram { grid-template-columns: 1fr; } } .kernelBox { border-radius: 10px; padding: 0.75rem; min-height: 120px; position: relative; } .kernelUser { background: color-mix(in srgb, #43a047 12%, var(--ifm-background-surface-color)); border: 2px dashed #43a047; } .kernelCore { background: color-mix(in srgb, #e53935 15%, var(--ifm-background-surface-color)); border: 2px solid #e53935; } .kernelModule { display: inline-block; margin: 0.2rem; padding: 0.25rem 0.45rem; border-radius: 4px; font-size: 0.68rem; font-weight: 600; background: var(--ifm-background-color); border: 1px solid var(--ifm-color-emphasis-300); } .kernelArrow { text-align: center; font-size: 0.75rem; color: var(--ifm-color-content-secondary); padding: 0.35rem 0; } .kernelLatency { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.5rem; } .latencyBar { flex: 1; height: 8px; border-radius: 4px; background: var(--ifm-color-emphasis-200); overflow: hidden; } .latencyFill { height: 100%; border-radius: 4px; transition: width 0.4s ease; } /* —— Platform hub —— */ .platformFrame { border-radius: 10px; overflow: hidden; border: 1px solid var(--ifm-color-emphasis-300); min-height: 280px; display: flex; flex-direction: column; } .winDesktop { --pf-accent: #0078d4; background: linear-gradient(135deg, #1a3a5c 0%, #0d2137 50%, #1e4976 100%); flex: 1; padding: 0.5rem; display: flex; flex-direction: column; gap: 0.5rem; } .winTaskbar { display: flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.5rem; background: rgba(30, 30, 30, 0.85); border-radius: 6px; margin-top: auto; } .winStart { width: 32px; height: 32px; border-radius: 4px; background: var(--pf-accent); border: none; color: #fff; font-size: 0.7rem; font-weight: 700; cursor: pointer; } .winWindow { background: #f3f3f3; color: #1a1a1a; border-radius: 8px 8px 4px 4px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); flex: 1; display: flex; flex-direction: column; min-height: 0; } .winTitle { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.6rem; background: #e8e8e8; font-size: 0.75rem; font-weight: 600; } .winBody { flex: 1; padding: 0.5rem; overflow: auto; font-size: 0.78rem; } .linuxTerm { background: #300a24; color: #eee; flex: 1; display: flex; flex-direction: column; font-family: var(--ifm-font-family-monospace); } .linuxHeader { padding: 0.35rem 0.6rem; background: #2d0920; font-size: 0.72rem; color: #d3a6c8; } .linuxOut { flex: 1; padding: 0.5rem 0.65rem; overflow: auto; font-size: 0.76rem; line-height: 1.5; } .linuxPrompt { color: #8ae234; } .linuxInputRow { display: flex; padding: 0.35rem 0.65rem 0.5rem; gap: 0.35rem; border-top: 1px solid #5c3566; } .linuxInput { flex: 1; background: transparent; border: none; color: #fff; font-family: inherit; font-size: 0.76rem; outline: none; } .macDesktop { background: linear-gradient(160deg, #5b8def 0%, #a8c8f0 40%, #e8d5b5 100%); flex: 1; display: flex; flex-direction: column; padding: 0.35rem; } .macMenuBar { display: flex; align-items: center; gap: 0.65rem; padding: 0.25rem 0.5rem; background: rgba(255, 255, 255, 0.55); backdrop-filter: blur(8px); border-radius: 6px; font-size: 0.72rem; font-weight: 600; } .macApple { font-size: 0.85rem; } .macWindow { margin: 0.5rem auto; width: min(92%, 340px); background: rgba(255, 255, 255, 0.92); border-radius: 10px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2); flex: 1; min-height: 0; display: flex; flex-direction: column; } .macTraffic { display: flex; gap: 0.35rem; padding: 0.45rem 0.6rem; } .macTraffic span { width: 10px; height: 10px; border-radius: 50%; } .macDock { display: flex; justify-content: center; gap: 0.35rem; padding: 0.4rem; background: rgba(255, 255, 255, 0.4); backdrop-filter: blur(12px); border-radius: 14px; margin: 0.35rem auto 0; } .macDockIcon { width: 36px; height: 36px; border-radius: 8px; border: none; font-size: 1.1rem; cursor: pointer; background: rgba(255, 255, 255, 0.7); transition: transform 0.15s ease; } .macDockIcon:hover { transform: scale(1.08) translateY(-4px); } .fileRow { display: flex; align-items: center; gap: 0.4rem; padding: 0.2rem 0; cursor: pointer; border-radius: 4px; } .fileRow:hover { background: color-mix(in srgb, var(--ifm-color-primary) 12%, transparent); } .procRow { display: grid; grid-template-columns: 1.2fr 0.6fr 0.5fr; gap: 0.35rem; padding: 0.25rem 0; font-size: 0.72rem; border-bottom: 1px solid var(--ifm-color-emphasis-200); } .badge { font-size: 0.62rem; padding: 0.1rem 0.35rem; border-radius: 4px; margin-left: 0.25rem; background: color-mix(in srgb, var(--ifm-color-primary) 15%, transparent); color: var(--ifm-color-primary); font-weight: 700; } .mobileFrame { flex: 1; display: flex; justify-content: center; align-items: center; padding: 0.75rem; background: linear-gradient(160deg, #1a1a2e, #16213e); } .mobileDevice { width: min(220px, 100%); border-radius: 24px; border: 3px solid #333; background: #111; padding: 0.5rem 0.35rem 0.65rem; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45); } .mobileNotch { width: 40%; height: 5px; background: #222; border-radius: 4px; margin: 0 auto 0.4rem; } .mobileScreen { border-radius: 16px; min-height: 200px; padding: 0.5rem; font-size: 0.72rem; overflow: auto; } .mobileAndroid { background: linear-gradient(180deg, #1b5e20 0%, #2e7d32 40%, #e8f5e9 100%); color: #1a1a1a; } .mobileIos { background: linear-gradient(180deg, #5ac8fa 0%, #e8f4fc 60%, #f5f5f7 100%); color: #1a1a1a; } .appGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.45rem; margin-top: 0.5rem; } .appIcon { display: flex; flex-direction: column; align-items: center; gap: 0.15rem; border: none; background: transparent; cursor: pointer; font-size: 0.62rem; padding: 0.2rem; border-radius: 8px; } .appIcon span:first-child { font-size: 1.35rem; line-height: 1; } .appIconActive { background: rgba(255, 255, 255, 0.35); } .layerList { margin: 0.35rem 0 0; padding-left: 1rem; font-size: 0.7rem; line-height: 1.45; }