/* Import theme variables */ @import url('peek://theme/variables.css'); * { box-sizing: border-box; margin: 0; padding: 0; } /* Map local variables to Base16 theme */ :root { --bg-primary: var(--base00); --bg-secondary: var(--base01); --bg-tertiary: var(--base01); --bg-hover: var(--base02); --text-primary: var(--base05); --text-secondary: var(--base04); --text-muted: var(--base03); --border-primary: var(--base02); --border-secondary: var(--base02); --border-light: var(--base01); --input-bg: var(--base00); --input-disabled-bg: var(--base01); --input-disabled-text: var(--base03); --btn-bg: var(--base05); --btn-bg-hover: var(--base06); --btn-text: var(--base00); --btn-disabled-bg: var(--base02); --scrollbar-track: var(--base01); --scrollbar-thumb: var(--base02); --scrollbar-thumb-hover: var(--base03); --error-bg: color-mix(in srgb, var(--base08) 15%, var(--base00)); --error-border: var(--base08); --error-text: var(--base08); } body { font-family: var(--theme-font-sans); font-size: 14px; line-height: 1.5; color: var(--text-primary); background: var(--bg-primary); } .settings-layout { display: flex; height: 100vh; overflow: hidden; } /* Sidebar */ .sidebar { width: 240px; background: var(--bg-secondary); border-right: 1px solid var(--border-primary); display: flex; flex-direction: column; flex-shrink: 0; } .sidebar-header { padding: 24px 20px; border-bottom: 1px solid var(--border-primary); } .sidebar-header h1 { font-size: 18px; font-weight: 600; color: var(--text-primary); } .sidebar-nav { padding: 12px 0; overflow-y: auto; flex: 1; display: flex; flex-direction: column; } .nav-item { display: block; padding: 10px 20px; color: var(--text-secondary); text-decoration: none; cursor: pointer; border-left: 3px solid transparent; transition: none; } .nav-item:hover { background: var(--bg-hover); color: var(--text-primary); } .nav-item.active { background: var(--bg-primary); border-left-color: var(--theme-accent); color: var(--text-primary); font-weight: 500; } /* Extension nav items - visual indicator */ .nav-item-extension::before { content: '⚙'; font-size: 11px; margin-right: 6px; opacity: 0.5; } /* Content Area */ .content { flex: 1; overflow-y: auto; background: var(--bg-primary); } .section { display: none; padding: 40px; max-width: 800px; } .section.active { display: block; } .section-title { font-size: 24px; font-weight: 600; color: var(--text-primary); margin-bottom: 32px; padding-bottom: 16px; border-bottom: 1px solid var(--border-primary); } /* Form Groups */ .form-section { margin-bottom: 32px; } .form-section-title { font-size: 16px; font-weight: 600; color: var(--text-primary); margin-bottom: 16px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; font-size: 13px; font-weight: 500; color: var(--text-secondary); margin-bottom: 6px; } .form-group input[type="text"], .form-group input[type="number"], .form-group input[type="url"], .form-group select { width: 100%; padding: 8px 12px; font-size: 14px; font-family: inherit; color: var(--text-primary); background: var(--input-bg); border: 1px solid var(--border-secondary); border-radius: 4px; } .form-group input:focus, .form-group select:focus { outline: none; border-color: var(--theme-accent); } .form-group input:disabled { background: var(--input-disabled-bg); color: var(--input-disabled-text); cursor: not-allowed; } .form-group-inline { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border-light); } .form-group-inline:last-child { border-bottom: none; } .form-group-inline label { margin: 0; font-size: 14px; font-weight: 400; color: var(--text-primary); } /* Checkbox */ .checkbox-wrapper { display: inline-flex; align-items: center; } .checkbox-wrapper input[type="checkbox"] { width: 18px; height: 18px; margin: 0; cursor: pointer; accent-color: var(--theme-accent); } /* Help Text */ .help-text { font-size: 12px; color: var(--text-muted); margin-top: 4px; } /* Item Card */ .item-card { padding: 20px; margin-bottom: 16px; background: var(--bg-tertiary); border: 1px solid var(--border-primary); border-radius: 4px; } .item-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border-primary); cursor: pointer; user-select: none; } .item-card-header:hover { opacity: 0.8; } .item-card.collapsed .item-card-header { margin-bottom: 0; padding-bottom: 0; border-bottom: none; } .item-card.collapsed .item-card-body { display: none; } .item-card-title { font-size: 15px; font-weight: 600; color: var(--text-primary); } .item-card-title::before { content: '\25BC '; font-size: 10px; margin-right: 6px; } .item-card.collapsed .item-card-title::before { content: '\25B6 '; } .item-card-body .form-group { margin-bottom: 16px; } .item-card-body .form-group:last-child { margin-bottom: 0; } /* Feature List */ .feature-list { list-style: none; } .feature-item { padding: 16px; margin-bottom: 12px; background: var(--bg-tertiary); border: 1px solid var(--border-primary); border-radius: 4px; } .feature-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; } .feature-name { font-size: 14px; font-weight: 600; color: var(--text-primary); } .feature-description { font-size: 13px; color: var(--text-muted); line-height: 1.4; } /* Button */ .btn { padding: 8px 16px; font-size: 13px; font-weight: 500; font-family: inherit; color: var(--btn-text); background: var(--btn-bg); border: 1px solid var(--btn-bg); border-radius: 4px; cursor: pointer; } .btn:hover { background: var(--btn-bg-hover); border-color: var(--btn-bg-hover); } .btn:disabled { background: var(--btn-disabled-bg); border-color: var(--btn-disabled-bg); cursor: not-allowed; } /* Scrollbar */ ::-webkit-scrollbar { width: 12px; } ::-webkit-scrollbar-track { background: var(--scrollbar-track); } ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 6px; } ::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); } /* Responsive */ @media (max-width: 768px) { .settings-layout { flex-direction: column; } .sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--border-primary); } .sidebar-nav { display: flex; overflow-x: auto; padding: 0; } .nav-item { flex-shrink: 0; border-left: none; border-bottom: 3px solid transparent; } .nav-item.active { border-left: none; border-bottom-color: var(--theme-accent); } .section { padding: 24px 20px; } } /* Visual feedback during drag */ body.is-dragging { cursor: grabbing !important; } body.is-dragging * { cursor: grabbing !important; user-select: none !important; }