/* Navigation Island - from original Yew project CSS */ /* Navigation Island - simplified transform-based collapse/expand */ .nav-island { position: fixed; right: 28px; bottom: 16px; display: flex; flex-direction: row; align-items: flex-end; background: var(--bg-medium); /* Was rgba(30,32,40,0.98), using common.css variable, assuming full opacity is acceptable */ border-radius: var(--border-radius-large); /* Was 14px, using common.css variable (16px) */ box-shadow: 0 8px 32px 0 rgba(0,0,0,0.18), 0 1.5px 8px 0 rgba(0,0,0,0.10); /* Keeping specific shadow */ padding: 4px 9px; z-index: 9000; overflow: hidden; transition: width 0.42s ease; will-change: width; } .nav-island.collapsed { width: 88px; } .nav-island.collapsed:hover:not(.clicked), .nav-island.collapsed:focus-within:not(.clicked) { width: 720px; /* 9 buttons × (82px + 6px margin) + padding = ~816px */ } .nav-island.clicked { width: 88px !important; } .nav-island-buttons { display: flex; flex-direction: row; align-items: flex-end; gap: 0; white-space: nowrap; transition: transform 0.42s ease; will-change: transform; } .nav-island.collapsed .nav-island-buttons { transform: translateX(-6px); /* Small offset to keep first button visible */ } .nav-island.collapsed:hover:not(.clicked) .nav-island-buttons, .nav-island.collapsed:focus-within:not(.clicked) .nav-island-buttons { transform: translateX(0); } .nav-island.clicked .nav-island-buttons { transform: translateX(-6px) !important; } .nav-button { width: 82px; background-color: transparent; color: var(--text-secondary); /* Common.css variable */ border: 1px solid transparent; border-radius: var(--border-radius-medium); /* Was 10px, using common.css variable (8px) */ font-size: 0.85em; font-weight: 400; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; transition: background 0.2s, color 0.2s, border 0.2s; margin-right: 6px; outline: none; padding: 10px 15px; flex-shrink: 0; } .nav-button i { font-size: 1.2em; } .nav-button:hover { background-color: color-mix(in srgb, var(--primary-accent) 10%, transparent); /* Common.css primary with alpha */ color: var(--primary-accent); /* Common.css variable */ border-color: var(--primary-accent); /* Common.css variable */ } .nav-button.active { background-color: var(--primary-accent); /* Common.css variable */ color: var(--bg-dark); /* Common.css variable */ font-weight: 600; box-shadow: 0 0 10px var(--primary-accent); /* Glow with common primary */ } .nav-button.active:hover { background-color: var(--primary-accent); /* Common.css variable, keep active color on hover */ color: var(--bg-dark); /* Common.css variable */ }