:root {
    --radius-shell: 16px;
    --radius-panel: 10px;
    --radius-item: 6px;
    --radius-control: 4px;
    --radius-chip: 999px;
    --radius-round: 50%;
}

.cw-window,
.cw-panel,
.cw-modal-panel,
body.cw-app-page .terminal,
body.cw-app-page .workspace-selector-dropdown,
body.cw-app-page .tools-dropdown-menu,
body.cw-app-page .bg-results-panel,
body.cw-app-page .shortcuts-panel,
body.cw-app-page .modal-panel,
body.cw-app-page .tm-modal,
body.cw-app-page .performance-dashboard-container,
body.cw-app-page .view-container,
body.cw-app-page .nexis-dashboard-card,
body.cw-app-page .learning-card,
body.cw-app-page .analytics-card,
body.cw-app-page .settings-card {
    border-radius: var(--radius-shell);
}

.cw-button,
.cw-input-toggle,
.cw-modal-close,
body.cw-app-page .header-action-btn,
body.cw-app-page .sidebar-btn,
body.cw-app-page .sidebar-toolbar-btn,
body.cw-app-page .header-tm-link,
body.cw-app-page .compare-toggle-btn,
body.cw-app-page .template-btn,
body.cw-app-page .multiselect-btn,
body.cw-app-page .column-collapse-btn,
body.cw-app-page .memory-explorer-link,
body.cw-app-page .bg-results-close,
body.cw-app-page .thoughts-column-toggle,
body.cw-app-page .tab-button,
body.cw-app-page .btn,
body.cw-app-page .workspace-selector-new,
body.cw-app-page .sidebar-toggle,
body.cw-app-page .send-button,
body.cw-app-page .tools-dropdown-menu button,
.cw-statusbar-panel a,
.cw-input,
body.cw-app-page #messageInput,
body.cw-app-page .sidebar-search-input,
body.cw-app-page .compare-search,
body.cw-app-page .param-input,
body.cw-app-page #depthSelect,
body.cw-app-page #shortcutsSearch,
body.cw-app-page .settings-strategy-select,
body.cw-auth-page input[type="text"],
body.cw-auth-page input[type="password"],
body.cw-auth-page input[type="url"],
body.cw-app-page select,
body.cw-app-page textarea,
body.cw-landing-page select,
body.cw-landing-page input[type="text"],
body.cw-landing-page textarea {
    border-radius: var(--radius-control);
}

.cw-chip,
.cw-ledger-state,
body.cw-app-page .header-view-label,
body.cw-app-page .header-status,
body.cw-app-page .header-url,
body.cw-app-page .bg-activity,
body.cw-app-page .compare-count,
body.cw-app-page .reasoning-mode-badge,
body.cw-app-page .question-class-badge,
body.cw-app-page .column-badge,
body.cw-app-page .memory-indicator,
body.cw-app-page .thoughts-column-count,
body.cw-app-page .mem-badge,
body.cw-app-page .font-size-display,
body.cw-app-page .mn-stage-circle {
    border-radius: var(--radius-chip);
}

.cw-window-controls span,
body.cw-app-page .header-status-dot,
body.cw-app-page .bg-activity-dot,
body.cw-app-page #statusText::before {
    border-radius: var(--radius-round);
}

body.cw-app-page .sidebar,
body.cw-app-page .chat-area,
body.cw-app-page .thoughts-column,
body.cw-app-page .chat-column {
    border-radius: var(--radius-panel);
}

body.cw-app-page .conversation-list,
body.cw-app-page .messages-container,
body.cw-app-page .column-messages,
body.cw-app-page .thoughts-column-messages,
body.cw-app-page .compare-dropdown-list,
body.cw-app-page #workspaceSelectorList,
body.cw-app-page .view-content,
body.cw-app-page .bg-results-list,
body.cw-app-page .shortcuts-content,
body.cw-app-page .modal-body,
body.cw-app-page .thoughts-noun-table,
.cw-auth-intro,
.cw-auth-panel,
.cw-key-card,
.cw-form-message,
.cw-modal-body {
    border-radius: var(--radius-panel);
}

body.cw-app-page .conversation-item,
body.cw-app-page .conversation-empty,
body.cw-app-page .message,
body.cw-app-page .message-content pre,
body.cw-app-page .message-content blockquote,
body.cw-app-page .empty-state-card,
body.cw-app-page .pipeline-progress,
body.cw-app-page .mn-pipeline-flow,
body.cw-app-page .mn-pipeline-progress,
body.cw-app-page .mn-typing-indicator,
body.cw-app-page .setting-row,
body.cw-app-page .accessibility-row,
body.cw-app-page .accessibility-shortcut-item,
body.cw-app-page .shortcut-item,
.cw-record-list li,
.cw-auth-metric,
.cw-auth-stat,
.cw-metric {
    border-radius: var(--radius-item) !important;
}

body.cw-app-page .message-content code,
body.cw-app-page .shortcut-key,
body.cw-app-page kbd {
    border-radius: var(--radius-control);
}

body.cw-app-page .cw-workspace-shell {
    display: grid;
    grid-template-columns: minmax(208px, 228px) minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
    flex: 1 1 auto;
    min-height: 0;
}

body.cw-app-page .cw-workspace-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

body.cw-app-page .header-center,
body.cw-app-page .header-nav {
    display: none !important;
}

body.cw-app-page .header-bar {
    grid-template-columns: minmax(0, 1fr) auto;
}

body.cw-app-page .header-action-btn--session {
    display: none;
}

body.cw-app-page .cw-app-nav {
    position: sticky;
    top: 16px;
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 16px 14px;
    background:
        linear-gradient(180deg, rgba(31, 31, 36, 0.96) 0%, rgba(26, 26, 31, 0.98) 100%);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-panel);
    box-shadow: var(--panel-shadow-soft), inset 0 1px 0 var(--panel-highlight);
}

body.cw-app-page .cw-app-nav-section {
    display: grid;
    gap: 8px;
}

body.cw-app-page .cw-app-nav-title {
    color: var(--mist);
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

body.cw-app-page .cw-app-nav-link,
body.cw-app-page .cw-app-nav-utility {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 12px;
    background: transparent;
    color: var(--white);
    border: 1px solid color-mix(in srgb, var(--mist) 72%, transparent);
    border-radius: var(--radius-control);
    font-size: 0.74rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.cw-app-page .cw-app-nav-link:hover,
body.cw-app-page .cw-app-nav-utility:hover {
    border-color: var(--dust-teal);
    color: var(--dust-teal);
    transform: translateX(2px);
}

body.cw-app-page .cw-app-nav-link.active,
body.cw-app-page .cw-app-nav-link[aria-current="page"],
body.cw-app-page .cw-app-nav-link[aria-pressed="true"] {
    background: rgba(37, 37, 45, 0.94);
    color: var(--white);
    border-color: var(--dust-teal);
    box-shadow: inset 0 0 0 1px rgba(106, 138, 138, 0.2);
}

body.cw-app-page .cw-app-nav-link-label {
    font-weight: 500;
}

body.cw-app-page .cw-app-nav-link-meta {
    color: rgba(224, 224, 216, 0.46);
    font-family: var(--cwx-font-mono);
    font-size: 0.66rem;
    letter-spacing: 0.08em;
}

body.cw-app-page .cw-app-nav-utility {
    justify-content: flex-start;
}

body.cw-app-page .cw-app-nav-backdrop {
    display: none;
}

body.cw-app-page .cw-app-nav [data-nav-view="terminal"] {
    view-transition-name: header-nav-btn-terminal;
}

body.cw-app-page .cw-app-nav [data-nav-view="dashboard"] {
    view-transition-name: header-nav-btn-dashboard;
}

body.cw-app-page .cw-app-nav [data-nav-view="learning"] {
    view-transition-name: header-nav-btn-learning;
}

body.cw-app-page .cw-app-nav [data-nav-view="analytics"] {
    view-transition-name: header-nav-btn-analytics;
}

body.cw-app-page .cw-app-nav [data-nav-view="settings"] {
    view-transition-name: header-nav-btn-settings;
}

body.cw-auth-page .cw-auth-window {
    border-radius: var(--radius-shell);
}

body.cw-auth-page .cw-auth-intro,
body.cw-auth-page .cw-auth-panel {
    border-radius: var(--radius-panel);
}

@media (max-width: 1024px) {
    body.cw-app-page .cw-workspace-shell {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0 12px 12px;
    }

    body.cw-app-page .cw-app-nav {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + 76px);
        bottom: 12px;
        left: 12px;
        width: min(280px, calc(100vw - 24px));
        transform: translateX(-120%);
        transition: transform 0.18s cubic-bezier(0.32, 0.72, 0, 1);
        z-index: 92;
        overflow-y: auto;
    }

    body.cw-app-page .cw-app-nav.open {
        transform: translateX(0);
    }

    body.cw-app-page .cw-app-nav-backdrop {
        position: fixed;
        inset: 0;
        display: block;
        opacity: 0;
        pointer-events: none;
        background: rgba(8, 9, 12, 0.56);
        transition: opacity 0.18s ease;
        z-index: 91;
    }

    body.cw-app-page .cw-app-nav-backdrop.visible {
        opacity: 1;
        pointer-events: auto;
    }

    body.cw-app-page.view-terminal .header-action-btn--session {
        display: inline-flex;
    }
}
