#poc-auth-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #44465E;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    visibility: visible;
    transition: none;
    cursor: url('sprites/cursor_default.ico'), default;
}

#poc-auth-overlay.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#auth-modal-card { visibility: hidden; }
#auth-modal-card.auth-card-ready { visibility: visible; }

.modal-portrait-card {
    background-color: #eee;
    max-width: 400px;
    padding: 50px 40px;
    border-radius: 1px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    position: relative;
    text-align: center;
    transform: translateY(0);
    border-top: 4px solid #AAA348;
    cursor: url('sprites/cursor_default.ico'), default;
}

.auth-form-container {
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 1;
    transform: translateX(0);
}

.auth-form-container.auth-hidden {
    display: none;
    opacity: 0;
    transform: translateX(20px);
}

.modal-portrait-card h3 {
    color: #44465E;
    font-size: 22pt;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.modal-subtitle {
    color: #44465E;
    font-size: 13pt;
    margin-bottom: 30px;
    opacity: 0.8;
}

.minimal-input {
    width: 100%;
    padding: 12px 15px;
    font-family: 'Afacad', sans-serif;
    font-size: 14pt;
    color: #44465E;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid rgba(68, 70, 94, 0.3);
    margin-bottom: 25px;
    transition: border-color 0.3s ease;
    outline: none;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
    box-sizing: border-box;
}

.minimal-input:focus {
    border-bottom-color: #AAA348;
}

.minimal-input::placeholder {
    color: rgba(68, 70, 94, 0.4);
}

.auth-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11pt;
    margin-bottom: 25px;
    color: #44465E;
}

.auth-options a {
    color: #44465E;
    text-decoration: none;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: color 0.2s ease;
}

.auth-options a:hover {
    color: #AAA348;
}

.auth-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: url('sprites/cursor_point.ico'), pointer;
    user-select: none;
}

.auth-checkbox-label input[type="checkbox"] {
    display: none;
}

.auth-checkbox-custom {
    width: 16px;
    height: 16px;
    border: 2px solid #44465E;
    border-radius: 2px;
    position: relative;
    transition: all 0.2s ease;
}

.auth-checkbox-label input[type="checkbox"]:checked + .auth-checkbox-custom {
    background-color: #AAA348;
    border-color: #AAA348;
}

.auth-checkbox-label input[type="checkbox"]:checked + .auth-checkbox-custom::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid #2b2c3b;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.poc-auth-submit {
    width: 100%;
    padding: 12px;
    font-family: 'Afacad', sans-serif;
    font-size: 14pt;
    color: #EEEEEE;
    background-color: #44465E;
    border: none;
    border-radius: 3px;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background-color 0.2s ease;
}

.poc-auth-submit:hover {
    background-color: #AAA348;
    color: #2b2c3b;
}

.cf-turnstile-holder:not(:empty) {
    display: flex;
    justify-content: center;
    margin: 0 0 18px;
}

.auth-strength {
    font-size: 10pt;
    text-align: left;
    margin: -18px 0 18px;
    min-height: 14px;
    opacity: 0.9;
    transition: color 0.2s ease;
}
.auth-strength.is-weak   { color: #b81b1b; }
.auth-strength.is-fair   { color: #b07d1b; }
.auth-strength.is-strong { color: #5a6b1f; }

.modal-fine-print {
    display: block;
    margin-top: 20px;
    font-size: 10pt;
    color: #44465E;
    opacity: 0.8;
}

.modal-fine-print a {
    color: #AAA348;
    text-decoration: none;
    cursor: url('sprites/cursor_point.ico'), pointer;
}

.auth-msg {
    font-size: 11pt;
    min-height: 16px;
    margin-bottom: 14px;
    text-align: center;
    line-height: 1.3;
    color: #44465E;
}
.auth-msg.error { color: #b23b3b; }
.auth-msg.success { color: #6a7d2e; }

.back-to-login {
    position: absolute;
    top: 15px;
    left: 20px;
    background: none;
    border: none;
    font-size: 18pt;
    color: #44465E;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: color 0.2s ease;
    padding: 5px;
}

.back-to-login:hover {
    color: #AAA348;
}


#auth-loader-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 60%;
    max-width: 600px;
    align-items: center;
}

/* Every loading bar looks the same (2026-10-05, Matt): bright gold filling dark gold. The Gridtop, the hosting
   dashboard (shell/desktop_poc.css), the Preview tab (gt/staging.js) and the Windows app's splash (Startup.cs). */
.auth-loader-bar {
    width: 100%;
    height: 8px;
    background-color: #AAA348;
    position: relative;
    border-radius: 0;
}

.auth-loader-fill {
    height: 100%;
    width: 0%;
    background-color: #FFEC64;
    border-radius: 0;
    transition: none;
}

.auth-loader-text {
    position: absolute;
    bottom: -22px;
    left: 0;
    width: 100%;
    text-align: left;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: #FFEC64;
    letter-spacing: 1px;
}

.desktop-poc-section {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    position: relative;
    padding-top: 5px;
    width: 100%;
    height: calc(100vh - 65px);
    background-color: #2b2c3b;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    box-sizing: border-box;
	overflow-anchor: none;
} 

#poc-desktop-environment {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    height: 100%;
    max-height: 900px;
    font-family: 'Afacad', sans-serif;
    color: #44465E;
    user-select: none;
    -webkit-user-select: none;
    margin: 0;
}

#poc-desktop-grid {
	cursor: url('sprites/cursor_cross.ico') 12 12, auto;
    height: 100%; 
    aspect-ratio: 12 / 8; 
    flex-shrink: 0; 
    display: grid;
    grid-template-columns: repeat(12, 1fr); 
    grid-template-rows: repeat(8, 1fr);     
    gap: 1px;
    z-index: auto;
    border-left: 2px solid #44465E;
    border-right: 2px solid #44465E;
    background: radial-gradient(
			222px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px),
			rgba(238, 238, 238, 0.33),
			transparent 100%
		), var(--gridtop-line, #44465E);
}

#poc-desktop-grid.in-workflow {
    --gridtop-line: #A99FFC;
}

#poc-desktop-grid.in-folder {
    --gridtop-line: #4FC3E8;
}

#poc-desktop-grid.in-blueprint {
    --gridtop-line: #214263;
}

#poc-desktop-grid.in-blueprint .poc-grid-cell { 
    background-color: #DEE1F2;
}

#poc-desktop-grid.in-blueprint .poc-grid-cell:hover { 
    background-image: linear-gradient(rgba(33, 66, 99, 0.12), rgba(33, 66, 99, 0.12)); 
}

#poc-desktop-grid {
    overflow-y: auto; 
    overflow-x: hidden;
}

#poc-desktop-grid::-webkit-scrollbar { width: 5px; }
#poc-desktop-grid::-webkit-scrollbar-track { background: rgba(0,0,0,0.1); }
#poc-desktop-grid::-webkit-scrollbar-thumb { background: #AAA348; border-radius: 0px; }

@media (display-mode: fullscreen) {
    #poc-desktop-grid {
        grid-template-columns: repeat(10, 1fr);
        aspect-ratio: 10 / 8;
    }
    
    .poc-side-pane {
        min-width: 360px; 
    }
}

.poc-side-pane {
    flex: 1; 
    min-width: 200px;
    max-width: 400px; 
    position: relative;
    overflow-y: auto;
}

#poc-left-pane {
    background: linear-gradient(to bottom, rgba(255,255,255,0.2) 0%, transparent 40%, rgba(0,0,0,0.15) 100%), 
                linear-gradient(to bottom, #808390 0%, #a8abb8 15%, #dbdce6 45%, #c0c3cf 80%, #9598a6 100%);
    box-shadow: inset -5px 0 15px rgba(0,0,0,0.25), inset 1px 0 0 rgba(255,255,255,0.5);
	overflow-anchor: none;
}

#poc-right-pane {
    background: linear-gradient(to bottom, rgba(255,255,255,0.2) 0%, transparent 40%, rgba(0,0,0,0.15) 100%), 
                linear-gradient(to bottom, #808390 0%, #a8abb8 15%, #dbdce6 45%, #c0c3cf 80%, #9598a6 100%);
    box-shadow: inset 5px 0 15px rgba(0,0,0,0.25), inset -1px 0 0 rgba(255,255,255,0.5);
}

.poc-pane-content {
    padding: 20px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.docked-item-mockup {
    width: 100%;
    height: 120px;
    background-color: #eee; 
    border: 2px solid #44465E;
    margin-bottom: 15px;
    box-shadow: inset 0 0 10px rgba(169, 159, 252, 0.2), 0 4px 6px rgba(0,0,0,0.3);
}

.docked-item-mockup:hover {
    background-color: #eee; 
	border: 2px solid #7D6988;
}

.poc-side-pane::-webkit-scrollbar { width: 5px; }
.poc-side-pane::-webkit-scrollbar-track { background: #C8BFE7; }
.poc-side-pane::-webkit-scrollbar-thumb { background: #44465E; border-radius: 3px; }

#poc-desktop-grid::-webkit-scrollbar, #poc-desktop-grid::-webkit-scrollbar-thumb, #poc-desktop-grid::-webkit-scrollbar-track, #poc-desktop-grid::-webkit-scrollbar-corner,
.poc-side-pane::-webkit-scrollbar, .poc-side-pane::-webkit-scrollbar-thumb, .poc-side-pane::-webkit-scrollbar-track, .poc-side-pane::-webkit-scrollbar-corner,
.poc-ctx-menu::-webkit-scrollbar, .poc-ctx-menu::-webkit-scrollbar-thumb, .poc-ctx-menu::-webkit-scrollbar-track, .poc-ctx-menu::-webkit-scrollbar-corner,
.poc-ctx-submenu::-webkit-scrollbar, .poc-ctx-submenu::-webkit-scrollbar-thumb, .poc-ctx-submenu::-webkit-scrollbar-track, .poc-ctx-submenu::-webkit-scrollbar-corner,
.perfmon-scroll-wrapper::-webkit-scrollbar, .perfmon-scroll-wrapper::-webkit-scrollbar-thumb, .perfmon-scroll-wrapper::-webkit-scrollbar-track, .perfmon-scroll-wrapper::-webkit-scrollbar-corner,
.file-tree-wrapper::-webkit-scrollbar, .file-tree-wrapper::-webkit-scrollbar-thumb, .file-tree-wrapper::-webkit-scrollbar-track, .file-tree-wrapper::-webkit-scrollbar-corner,
.poc-chat-history::-webkit-scrollbar, .poc-chat-history::-webkit-scrollbar-thumb, .poc-chat-history::-webkit-scrollbar-track, .poc-chat-history::-webkit-scrollbar-corner,
.poc-chat-input::-webkit-scrollbar, .poc-chat-input::-webkit-scrollbar-thumb, .poc-chat-input::-webkit-scrollbar-track, .poc-chat-input::-webkit-scrollbar-corner,
.poc-chat-msg .msg-text pre.msg-code::-webkit-scrollbar, .poc-chat-msg .msg-text pre.msg-code::-webkit-scrollbar-thumb, .poc-chat-msg .msg-text pre.msg-code::-webkit-scrollbar-track, .poc-chat-msg .msg-text pre.msg-code::-webkit-scrollbar-corner,
.poc-settings-body::-webkit-scrollbar, .poc-settings-body::-webkit-scrollbar-thumb, .poc-settings-body::-webkit-scrollbar-track, .poc-settings-body::-webkit-scrollbar-corner,
.poc-dir-picker::-webkit-scrollbar, .poc-dir-picker::-webkit-scrollbar-thumb, .poc-dir-picker::-webkit-scrollbar-track, .poc-dir-picker::-webkit-scrollbar-corner,
.poc-app-window .poc-app-content::-webkit-scrollbar, .poc-app-window .poc-app-content::-webkit-scrollbar-thumb, .poc-app-window .poc-app-content::-webkit-scrollbar-track, .poc-app-window .poc-app-content::-webkit-scrollbar-corner {
    cursor: url('sprites/cursor_default.ico'), auto;
}

.poc-grid-cell {
    background-color: #EEEEEE; 
    transition: background-image 0.15s ease, outline 0.1s ease, filter 0.15s ease;
    cursor: url('sprites/cursor_point.ico'), auto;    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: 2px solid transparent;
    outline-offset: -2px;
	cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}

.poc-grid-cell:hover {
    background-image: linear-gradient(rgba(125, 105, 136, 0.25), rgba(125, 105, 136, 0.25));
}

.poc-grid-cell.poc-active-menu {
    background-image: linear-gradient(rgba(68, 70, 94, 0.25), rgba(68, 70, 94, 0.25));
}

.poc-grid-cell.poc-selected {
    background-image: linear-gradient(rgba(170, 163, 72, 0.4), rgba(170, 163, 72, 0.4)) !important; 
    outline: 2px dashed #AAA348;
}

.poc-grid-cell[data-group] {
    background-image: linear-gradient(var(--group-color), var(--group-color)) !important;
}

.poc-group-badge {
    position: absolute;
    top: 4px;
    right: 6px;
    font-size: 11px;
    color: #44465E;
    opacity: 0.8;
    pointer-events: none;
	z-index: 10;
}

.poc-desktop-icon {
    width: 45%; 
    height: 45%;
    transform: scale(1);
    filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.15)); 
    transition: filter 0.2s ease, transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: url('sprites/cursor_move.ico') 12 12, move;
	position: relative;
    z-index: 10;
}

.poc-desktop-icon:active {
    cursor: moving;
}

.poc-desktop-icon * {
    pointer-events: none !important;
}

.poc-grid-cell:hover .poc-desktop-icon,
.poc-grid-cell.poc-active-menu .poc-desktop-icon,
.poc-grid-cell.poc-selected .poc-desktop-icon {
    transform: scale(1.15);
    filter: saturate(0) brightness(1.5) drop-shadow(0px 8px 12px rgba(0,0,0,0.25));
}

.poc-grid-cell.poc-selected-connect {
    background-image: linear-gradient(rgba(68, 70, 94, 0.4), rgba(68, 70, 94, 0.4)) !important;
    outline: 2px solid #44465E;
}

.poc-desktop-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.poc-ctx-menu {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    background-color: #FAFAFA; 
    border: 1px solid rgba(68, 70, 94, 0.2);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.15);
    z-index: 10000;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 170px;
    overflow: visible;
    font-family: 'Afacad', sans-serif;
	cursor: url('sprites/cursor_point.ico'), auto;

}

.poc-ctx-menu::-webkit-scrollbar { width: 4px; }
.poc-ctx-menu::-webkit-scrollbar-thumb {
    background: rgba(68, 70, 94, 0.3);
}

.poc-ctx-menu.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-ctx-item { 
    position: relative; 
    list-style: none; 
}

.poc-ctx-item > a {
    font-size: 11pt; 
    color: #44465E;
    padding: 6px 12px;
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    border-left: 3px solid transparent;
    cursor: url('sprites/cursor_point.ico'), auto;    position: relative;
    overflow: hidden; 
    transition: background-color 0.1s, border-left-color 0.1s;
}

.poc-ctx-item > a:hover {
    background-color: rgba(68, 70, 94, 0.1); 
    border-left-color: #44465E;
    color: #44465E;
}

.poc-ctx-item > a::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(
        400px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px), 
        rgba(68, 70, 94, 0.08), 
        transparent 95%
    );
    opacity: 0;
    transition: opacity 0.2s;
}

.poc-ctx-item > a:hover::before { opacity: 1; }

.poc-ctx-submenu {
    visibility: hidden;
    opacity: 0;
    position: fixed; 
    width: 170px;
    background-color: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.2);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.15);
    padding: 0;
    margin: 0;
    max-height: 400px;
    overflow-y: auto;
    z-index: 10005; 
}

.poc-ctx-submenu::-webkit-scrollbar { width: 4px; }
.poc-ctx-submenu::-webkit-scrollbar-thumb {
    background: rgba(68, 70, 94, 0.3);
}

.poc-ctx-submenu.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-eq-submenu {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    background-color: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.2);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.15);
    padding: 15px;
    display: flex;
    flex-direction: row;
    gap: 12px;
    z-index: 10005;
    width: auto;
    max-height: none;
    overflow-y: visible;
    cursor: url('sprites/cursor_default.ico'), auto;
}

.poc-eq-submenu.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-eq-band {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 45px;
    gap: 10px;
}

.poc-eq-btncol {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
}

.poc-eq-label {
    font-size: 10pt;
    
    text-align: center;
    line-height: 1.1;
    height: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.poc-eq-track {
    position: relative;
    height: 130px;
    width: 100%;
    cursor: url('sprites/cursor_default.ico'), auto;
}

.poc-eq-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 130px;
    height: 4px;
    background: #A99FFC;
    outline: none;
    border-radius: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    margin: 0;
    cursor: url('sprites/cursor_default.ico'), auto;
}

.poc-eq-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 6px;
    height: 18px;
    background: #44465E;
	cursor: url('sprites/cursor_ns.ico') 12 12, auto;
    border-radius: 0px;
}

.poc-eq-slider::-moz-range-thumb {
    width: 6px;
    height: 18px;
    background: #44465E;
	cursor: url('sprites/cursor_ns.ico') 12 12, auto;
    border-radius: 0px;
    border: none;
}

.poc-param-submenu {
    width: 220px;
}

.poc-param-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background-color: #FAFAFA;
    cursor: url('sprites/cursor_default.ico'), auto;}

.poc-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 120px;
    height: 4px;
    background: #AAA348;
    outline: none;
    border-radius: 2px;
}

.poc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 6px;
    height: 18px;
    background: #44465E;
	cursor: url('sprites/cursor_ew.ico') 12 12, auto;
    border-radius: 0px; 
}

.poc-slider::-moz-range-thumb {
    width: 6px;
    height: 18px;
    background: #44465E;
	cursor: url('sprites/cursor_ew.ico') 12 12, auto;
    border-radius: 0px;
    border: none;
}

.poc-number {
    width: 45px;
    padding: 4px;
    border: 1px solid rgba(68, 70, 94, 0.2);
    background: #EEEEEE;
    color: #44465E;
    font-family: 'Afacad', sans-serif;
    font-size: 11pt;
    
    text-align: center;
    border-radius: 2px;
    outline: none;
    transition: border-color 0.15s;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}

.poc-number:focus {
    border-color: #AAA348;
    background: #FAFAFA;
}

.poc-number::-webkit-outer-spin-button,
.poc-number::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.poc-number[type=number] {
    -moz-appearance: textfield;
}

.poc-ctx-check > a {
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}

.poc-ctx-checkbox {
    -webkit-appearance: none;
    appearance: none;
    width: 13px;
    height: 13px;
    margin: 0;
    flex-shrink: 0;
    border: 1px solid rgba(68, 70, 94, 0.5);
    background: #EEEEEE;
    border-radius: 2px;
    cursor: url('sprites/cursor_point.ico'), auto;    position: relative;
    transition: background 0.1s, border-color 0.1s;
}

.poc-ctx-checkbox:checked {
    background: #AAA348;
    border-color: #44465E;
}

.poc-ctx-checkbox:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 3px;
    height: 7px;
    border: solid #44465E;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.poc-eq-band {
    position: relative;
}

.poc-eq-help-overlay {
    position: absolute;
    inset: -4px;
    z-index: 10;
    display: none;
}

.poc-eq-submenu.eq-help-active .poc-eq-help-overlay {
    display: block;
    cursor: url('sprites/cursor_help.ico'), help;
}

.poc-eq-submenu.eq-help-active .poc-eq-band {
    cursor: url('sprites/cursor_help.ico'), help;
}

.poc-eq-help-btn {
    align-self: flex-start;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    color: #44465E;
    font-family: 'Afacad', sans-serif;
    
    font-size: 10pt;
    line-height: 1;
    padding: 3px 7px;
    cursor: url('sprites/cursor_point.ico'), auto;    border-radius: 2px;
    transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

.poc-eq-help-btn:hover {
    border-color: #AAA348;
    color: #AAA348;
}

.poc-eq-submenu.eq-help-active .poc-eq-help-btn {
    box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2);
    background: #E0E0E0;
    border-color: #AAA348;
    color: #AAA348;
}

.poc-eq-help-tip {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #FAFAFA;
    border: 2px solid #AAA348;
    color: #44465E;
    padding: 10px 14px;
    font-family: 'Afacad', sans-serif;
    font-size: 11pt;
    line-height: 1.4;
    max-width: 220px;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
    z-index: 10030;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    border-radius: 2px;
}

.poc-eq-help-tip.is-visible {
    opacity: 1;
    visibility: visible;
}

.poc-eq-help-tip strong {
    display: block;
    margin-bottom: 4px;
    
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px dashed rgba(68, 70, 94, 0.3);
    padding-bottom: 4px;
}

@media (max-width: 768px) {
    #poc-desktop-environment {
        height: 60vh;
        min-height: 400px;
    }
    .poc-group-badge {
        font-size: 9px;
        top: 2px;
        right: 4px;
    }
}

#poc-selection-box {
    position: fixed;
    pointer-events: none;
    z-index: 10500;
    display: none;
}

#poc-selection-box.gold-select {
    background-color: #AAA34833;
    border: 2px dashed #AAA348;
}

#poc-selection-box.magenta-select {
    background-color: #44465E33;
    border: 2px solid #44465E;
}

#poc-selection-box.green-select {
    background-color: #2FBF4F26;
    border: 2px solid #2FBF4F;
}

#poc-selection-box.blue-select {
    background-color: #7F78C526;
    border: 2px solid #7F78C5;
}

#poc-connection-layer {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
}

.poc-flow-line {
    stroke: #A99FFC;
    stroke-width: 3;
    stroke-dasharray: 10 6;
    animation: flowDash 1s linear infinite;
    stroke-linecap: round;
}

.poc-flow-line.poc-flow-ghost {
    opacity: 0.4;
}

.poc-flow-line.poc-flow-line-agent-task {
    stroke: #A99FFC;
}
.poc-flow-line.poc-flow-line-skill {
    stroke: #AAA348;
}
.poc-flow-line.poc-flow-line-agentic {
    stroke: #7D6988;
}

.poc-flow-line.poc-flow-line-agent-created {
    stroke: #A99FFC;
}

.poc-flow-line.poc-flow-line-messaging {
    stroke: #FFEC64;
    stroke-width: 4;
}
/* An agent using the object at the other end: a Tool while it runs, its Role, Task and Skills during a turn (gt/objtools.js). */
.poc-flow-line.poc-flow-line-inuse {
    stroke: #FFEC64;
    stroke-width: 4;
}
/* An asset its agent has paused on the INSTR tab (gt/instr.js): the line goes grey and still. */
.poc-flow-line.poc-flow-line-paused {
    stroke: #9C9DA8;
    animation: none;
}

#poc-desktop-grid.poc-foursplit-arming { cursor: cell; }
#poc-desktop-grid.poc-foursplit-arming .poc-grid-cell.poc-foursplit-target {
    outline: 2px dashed #FFEC64;
    background-image: linear-gradient(rgba(255, 236, 100, 0.18), rgba(255, 236, 100, 0.18));
}
.poc-grid-cell.poc-foursplit { padding: 0 !important; }
.poc-foursplit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 100%; height: 100%;
    gap: 1px;
}
.poc-foursplit-cell {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(170, 163, 72, 0.25);
}
.poc-foursplit-clone { width: 58%; line-height: 0; }
.poc-foursplit-clone svg { width: 100%; height: 100%; display: block; }
.poc-foursplit-label {
    font-size: 8px; color: #EEEEEE; text-align: center;
    max-width: 96%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.poc-desktop-icon.poc-wf-reveal { position: relative; display: block; padding: 0; width: 94%; height: 94%; }
.poc-desktop-icon.poc-wf-reveal .poc-foursplit-grid {
    display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr;
    width: 100%; height: 100%; gap: 1px; background: rgba(68,70,94,0.18); border-radius: 3px; overflow: hidden;
}
.poc-desktop-icon.poc-wf-reveal .poc-foursplit-cell { display: flex; align-items: center; justify-content: center; background: rgba(238,238,238,0.85); overflow: hidden; }
.poc-desktop-icon.poc-wf-reveal .poc-foursplit-clone { width: 78%; line-height: 0; }
.poc-desktop-icon.poc-wf-reveal .poc-foursplit-clone svg { width: 100%; height: 100%; display: block; }
.poc-wf-pager { position: absolute; left: 0; right: 0; bottom: 1px; display: flex; justify-content: center; gap: 3px; }
.poc-wf-dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(68,70,94,0.45); cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-wf-dot.is-on { background: #FFEC64; box-shadow: 0 0 2px #AAA348; }

.poc-cloud { padding: 4px 2px 12px; color: #1D070E; font-family: 'Afacad', sans-serif; }
.poc-cloud-intro { font-size: 12px; line-height: 1.5; color: #1D070E; opacity: 0.8; margin: 2px 2px 14px; max-width: 640px; }
.poc-cloud-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.poc-cloud-loading { color: #44465E; opacity: 0.6; padding: 14px 4px; font-size: 12px; }
.poc-cloud-card { background: #FAFAFA; border: 1px solid rgba(68,70,94,0.25); border-radius: 2px; padding: 11px 12px 12px; display: flex; flex-direction: column; gap: 7px; }
.poc-cloud-card.is-connected { box-shadow: inset 3px 0 0 #5a6b1f; }
.poc-cloud-card-h { display: flex; flex-direction: column; gap: 1px; }
.poc-cloud-card-name { color: #1D070E; font-weight: 700; font-size: 14px; }
.poc-cloud-card-tag { color: #44465E; opacity: 0.55; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; }
.poc-cloud-card-status { color: #1D070E; font-size: 12px; display: flex; align-items: center; gap: 6px; }
.poc-cloud-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.poc-cloud-dot.ok { background: #5a6b1f; }
.poc-cloud-dot.soon { background: #AAA348; }
.poc-cloud-dot.off { background: rgba(68,70,94,0.35); }
.poc-cloud-card-detail { color: #44465E; opacity: 0.7; font-size: 11px; min-height: 13px; word-break: break-word; }
.poc-cloud-btn { align-self: flex-start; margin-top: 2px; appearance: none; font-family: 'Afacad', sans-serif; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: #EEEEEE; background: #44465E; border: 1px solid #1D070E; padding: 5px 16px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.poc-cloud-btn:hover:not(:disabled) { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-cloud-btn:disabled, .poc-cloud-btn.is-ghost { opacity: 0.4; cursor: default; }
.poc-cloud-wizardhost:not(:empty) { margin-top: 14px; }

.poc-wizard { display: flex; flex-direction: column; max-width: 540px; border: 1px solid rgba(68,70,94,0.35); border-radius: 2px; background: #EEEEEE; box-shadow: 0 2px 10px rgba(30,32,44,0.18); }
.poc-wizard-header { display: flex; align-items: center; gap: 9px; padding: 9px 14px; background: #44465E; color: #EEEEEE; }
.poc-wizard-header-glyph { font-size: 20px; line-height: 1; color: #FFEC64; }
.poc-wizard-header-title { font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.poc-wizard-main { display: flex; flex-direction: column; min-width: 0; }
.poc-wizard-body { padding: 14px 16px; color: #1D070E; font-size: 13px; line-height: 1.5; min-height: 170px; }
.poc-wizard-body h3 { margin: 0 0 8px; font-size: 13px; font-weight: 700; color: #44465E; letter-spacing: 0.3px; }
.poc-wizard-body p { margin: 0 0 10px; opacity: 0.9; }
.poc-wizard-body code { background: rgba(68,70,94,0.10); color: #44465E; padding: 1px 4px; border-radius: 2px; font-size: 12px; }
.poc-wizard-steps { margin: 0; padding-left: 18px; }
.poc-wizard-steps li { margin-bottom: 5px; }
.poc-wizard-input { width: 100%; box-sizing: border-box; font-family: 'Afacad', sans-serif; font-size: 13px; color: #1D070E; background: #EEEEEE; border: 1px solid rgba(68,70,94,0.3); border-radius: 2px; padding: 5px 6px; box-shadow: inset 1px 1px 2px rgba(0,0,0,0.08); resize: vertical; outline: none; }
.poc-wizard-input:focus { border-color: #AAA348; background: #FAFAFA; }
.poc-wizard-msg { font-size: 11px; margin-top: 8px; color: #44465E; min-height: 14px; opacity: 0.85; }
.poc-wizard-msg.is-error { color: #b81b1b; opacity: 0.95; }
.poc-wizard-footer { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-top: 1px solid rgba(68,70,94,0.2); }
.poc-wizard-foot-spacer { flex: 1; }
.poc-wizard-btn { appearance: none; font-family: 'Afacad', sans-serif; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; padding: 5px 16px; border-radius: 2px; min-width: 64px; cursor: url('sprites/cursor_point.ico'), pointer; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; background: #EEEEEE; color: #44465E; border: 1px solid rgba(68,70,94,0.4); }
.poc-wizard-btn:hover:not(:disabled) { border-color: #AAA348; color: #AAA348; background: #FAFAFA; }
.poc-wizard-btn:disabled { opacity: 0.4; cursor: default; }
.poc-wizard-btn.is-primary { background: #44465E; color: #EEEEEE; border-color: #1D070E; }
.poc-wizard-btn.is-primary:hover:not(:disabled) { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-wizard-label { display: block; font-size: 11px; color: #44465E; opacity: 0.8; margin: 4px 0 3px; letter-spacing: 0.3px; }
.poc-wizard-actions { margin-top: 10px; }
.poc-cloud-section { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(68,70,94,0.2); }
.poc-cloud-section-h { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: #44465E; opacity: 0.55; margin-bottom: 4px; }
.poc-cloud-section-p { font-size: 12px; color: #1D070E; opacity: 0.8; margin-bottom: 8px; max-width: 540px; }
.poc-cloud-btn.is-armed, .poc-cloud-btn.is-armed:hover { background: #b81b1b; border-color: #8a1f1f; color: #EEEEEE; }

.poc-apikeys-create { margin-bottom: 12px; }
.poc-apikeys-disabled { opacity: 0.5; pointer-events: none; margin-top: 10px; }

.poc-webfront { padding: 4px 2px 2px; font-family: 'Afacad', sans-serif; }
.poc-webfront-sections { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }
.poc-webfront-section { background: #FAFAFA; border: 1px solid rgba(68, 70, 94, 0.25); border-radius: 2px; }
.poc-webfront-section-head { display: flex; align-items: center; justify-content: space-between; padding: 5px 8px; background: rgba(68, 70, 94, 0.06); border-bottom: 1px solid rgba(68, 70, 94, 0.15); }
.poc-webfront-section-label { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; opacity: 0.6; }
.poc-webfront-section-tools { display: flex; gap: 4px; }
.poc-webfront-section-body { display: flex; flex-direction: column; gap: 6px; padding: 8px; }
.poc-webfront-add { display: flex; gap: 8px; align-items: center; margin: 8px 0; }
.poc-webfront-foot { display: flex; gap: 8px; align-items: center; justify-content: flex-end; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(68, 70, 94, 0.15); }
.poc-webfront-foot .poc-settings-msg { margin-right: auto; }
.poc-apikeys-row { display: flex; gap: 8px; align-items: center; }
.poc-apikeys-row .poc-settings-input { flex: 1; }
.poc-apikeys-new { background: #FAFAFA; border: 1px solid #AAA348; border-radius: 2px; padding: 10px 12px; margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px; }
.poc-apikeys-new-h { font-size: 12px; color: #1D070E; font-weight: 700; }
.poc-apikeys-token { font-family: monospace; font-size: 12px; color: #1D070E; background: #EEEEEE; border: 1px solid rgba(68,70,94,0.25); border-radius: 2px; padding: 6px 8px; word-break: break-all; }
.poc-apikeys-new .poc-settings-save { align-self: flex-start; }
.poc-apikeys-list { display: flex; flex-direction: column; gap: 6px; }
.poc-apikeys-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: #FAFAFA; border: 1px solid rgba(68,70,94,0.25); border-radius: 2px; }
.poc-apikeys-item.is-revoked { opacity: 0.5; }
.poc-apikeys-meta { flex: 1; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.poc-apikeys-label { font-size: 13px; color: #1D070E; font-weight: 700; }
.poc-apikeys-prefix { font-family: monospace; font-size: 11px; color: #44465E; }
.poc-apikeys-date { font-size: 10px; color: #44465E; opacity: 0.7; }

@keyframes flowDash {
    to { stroke-dashoffset: -16; }
}

#poc-right-pane .poc-pane-content {
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: stretch;
}

.descriptor-dots-group {
    display: flex;
    gap: 4px;
    align-items: center;
    margin-right: 6px;
}

.desc-dot-btn {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(68, 70, 94, 0.3);
    cursor: url('sprites/cursor_point.ico'), auto;    transition: background 0.15s ease, transform 0.15s ease;
}

.desc-dot-btn:hover {
    background: #44465E;
    transform: scale(1.2);
}

.desc-dot-btn.active {
    background: #AAA348;
    box-shadow: 0 0 3px rgba(170, 163, 72, 0.5);
}

.descriptor-panel {
    flex: 0 0 12.5%;
    width: 100%;
    background-color: #b9bac4; 
    box-shadow: inset 3px 3px 6px rgba(255, 255, 255, 0.8), 
                inset -3px -3px 6px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 0px 15px 0 12px; 
    border-bottom: 1px solid rgba(68, 70, 94, 0.3);
    overflow: hidden;
    position: relative;
    transition: flex-basis 0.35s cubic-bezier(0.34, 1.4, 0.64, 1), padding-top 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.descriptor-panel.expanded-height {
    flex: 0 0 25% !important;
}

.descriptor-panel.expanded-height.poc-desc-maxed {
    flex: 1 1 auto !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.descriptor-panel a {
	cursor: url('sprites/cursor_default.ico'), auto;
}


.descriptor-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: radial-gradient(
        350px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px), 
        rgba(255, 255, 255, 0.45), 
        transparent 80%
    );
    opacity: 0;
    z-index: 1;
    transition: opacity 0.3s ease;
}

.descriptor-panel:hover::before {
    opacity: 1;
}

.descriptor-drag-grip {
    width: 14px;
    height: 14px;
    margin-right: 6px;
    cursor: url('sprites/cursor_move.ico') 12 12, move;
    background-image: radial-gradient(rgba(68, 70, 94, 0.4) 35%, transparent 35%);
    background-size: 4px 4px;
    background-position: 0 0;
    flex-shrink: 0;
    transition: background-image 0.2s ease;
}

.descriptor-drag-grip:hover {
    background-image: radial-gradient(rgba(68, 70, 94, 0.8) 35%, transparent 35%);
}

.descriptor-drag-grip:active {
    cursor: url('sprites/cursor_move.ico') 12 12, move;
}

.descriptor-panel.dragging {
    opacity: 0.6;
}

.descriptor-panel.collapsed {
    flex: 0 0 3.125% !important; 
    /* Closed to the headline means the stripe and nothing else. A flex item will not shrink below
       its content's minimum, and an agent's docked chat carries a 200px one, so its bar stood
       taller than the rest and the top of the body showed under it -- which read as a second
       expand square (2026-09-23). */
    min-height: 0 !important;
    max-height: 25px;
    overflow: hidden;
    padding-top: 0px; 
    box-shadow: inset 4px 9px 6px rgba(255, 255, 255, 0.8), 
                inset -3px -1px 6px rgba(0, 0, 0, 0.25);
}

.descriptor-panel.is-contained .descriptor-drag-grip,
.descriptor-panel.is-contained .descriptor-drag-grip:hover {
    background-image: none;
}

#file-explorer-main.collapsed {
    flex: 0 0 25px !important;
}

.descriptor-header-stripe {
    width: 100%;
    height: 24px;
    display: flex;
    flex-direction: row;
    align-items: center; 
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 2;
	cursor: url('sprites/cursor_default.ico'), auto;

}

.descriptor-mini-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.descriptor-mini-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0px 2px 3px rgba(0,0,0,0.2));
}

.descriptor-input {
    flex: 0 1 85px;
    width: 85px;
    min-width: 40px;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    font-family: 'Afacad', sans-serif;
    font-size: 12pt;
    color: #44465E;
    padding: 0 4px;
    margin: 0;
    line-height: 24px;
    border-radius: 2px;
    cursor: url('sprites/cursor_input.ico') 12 12, text;

    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;

    transition: background-color 0.1s ease, flex 0.25s ease, width 0.25s ease;
}

.descriptor-input:focus {
    background-color: #EEEEEE;
    box-shadow: inset 1px 1px 3px rgba(0,0,0,0.1);
    flex: 1 0 auto;
    width: 140px;
}

.descriptor-input-clash,
.descriptor-input-clash:focus {
    background-color: #FBE3E6;
    box-shadow: inset 0 0 0 1px #C0392B;
    color: #8E2A20;
}

.descriptor-utility-controls {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-left: 8px;
    flex-shrink: 0;
    color: #44465E;
	margin-left: auto;
}

.descriptor-page-btn,
.descriptor-chevron-btn {
    cursor: url('sprites/cursor_point.ico'), auto;    font-size: 6pt;
    user-select: none;
    color: #44465E;
    padding: 2px 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease;
	transform: none;
}

/* The tab-page arrows (2026-10-09): ◀ and ▶ as themselves, no rotation (a rotated ◀ sat at a different height:
   the glyph rests on the baseline, and turning it over moved the gap below it to the top), on one line height. */
.tab-page-left,
.tab-page-right {
    line-height: 1;
    height: 12px;
}

.descriptor-page-btn:hover,
.descriptor-chevron-btn:hover {
    color: #AAA348;
}

.descriptor-panel.collapsed .descriptor-page-btn {
    display: none !important;
}


.descriptor-input::placeholder {
    color: rgba(68, 70, 94, 0.5);
}

.descriptor-input:focus {
    background-color: #EEEEEE;
    box-shadow: inset 1px 1px 3px rgba(0,0,0,0.1);
}

:root {
    --panel-bg: #44465E;
    --panel-highlight: #7F78C5;
    --glow-color: #7F78C5;
    --glow-intense: #A99FFC;
    --glass-bg: #000000B4;
}

#poc-left-pane .poc-pane-content {
    padding: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.fisher-panel {
    background: linear-gradient(180deg, var(--panel-highlight) 0%, var(--panel-bg) 5%, var(--panel-bg) 95%, #44465E 100%);
    width: 100%; 
    padding: 0px; 
    border-radius: 0px;
	border-bottom: 2px solid #22222c;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 0;
	flex: 0 0 25%;
	transition: flex-basis 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.3s ease, 
                transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                border-width 0.4s ease;
    transform-origin: top;
    max-height: 500px;
    overflow: hidden;
}

.fisher-panel.meters-hidden {
    flex-basis: 0% !important;
    max-height: 0px !important;
    opacity: 0 !important;
    transform: translateY(-50px);
    border-bottom-width: 0px !important;
    margin-bottom: 0px !important;
}

.display-window {
    background: var(--glass-bg);
    border: 2px, 0px, 2px, 0px solid #857EB6;
    border-bottom-color: #22222c;
    border-right-color: #22222c;
    padding: 10px 10px 0px 10px; 
    border-radius: 0px;
    box-shadow: inset 0 5px 15px rgba(0,0,0,0.9);
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
	height: 100%;
	box-sizing: border-box;
	align-items: center; 
}

.display-window::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: linear-gradient(to bottom right, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 40%, rgba(0,0,0,0) 40%, rgba(0,0,0,0) 100%);
    pointer-events: none; z-index: 10;
}

.meter-container { width: 100%; position: relative; text-align: center; }
.meter-svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 0 3px var(--glow-color)); margin-bottom: -6px; overflow: visible;}
.tick { stroke: var(--glow-color); stroke-width: 1.5; stroke-linecap: round; }
.tick-thick { stroke: var(--glow-color); stroke-width: 2; stroke-linecap: round; }
.scale-line { stroke: var(--glow-color); stroke-width: 2; fill: none; }
.meter-text { fill: var(--glow-color); font-family: 'Montserrat', 'Afacad', sans-serif; letter-spacing: 1px;  }
.meter-text-title { fill: var(--glow-color); font-size: 12px; letter-spacing: 4px; opacity: 0.8;  }
.needle-pivot { transform-origin: 150px 180px; transform: rotate(-49deg); }
.needle-line { stroke: var(--glow-intense); stroke-width: 2.5; stroke-linecap: round; filter: drop-shadow(0 0 6px #fff); }
.meter-label { color: var(--glow-color); font-size: 11px; letter-spacing: 4px; margin-top: 5px; opacity: 0.9; filter: drop-shadow(0 0 4px var(--glow-color));  }

.fisher-panel.can-flip {
    perspective: 1000px;
    position: relative;
    cursor: url('sprites/cursor_point.ico'), auto;}

.fisher-panel.can-flip .panel-inner {
    position: relative;
    width: 100%;
    height: 100%;
}

.panel-front, .panel-back {
    width: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform 0.65s cubic-bezier(0.4, 0, 0.2, 1);
}

.panel-front {
    position: relative;
    z-index: 2;
    transform: rotateY(0deg);
	height: 100%;
}

.panel-back {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1;
    transform: rotateY(-180deg);
}

.fisher-panel.can-flip.flipped .panel-front {
    transform: rotateY(180deg);
}

.fisher-panel.can-flip.flipped .panel-back {
    transform: rotateY(0deg);
}

.display-window-back {
    background: var(--glass-bg);
    border: 2px solid #857EB6;
    border-bottom-color: #22222c;
    border-right-color: #22222c;
    padding: 12px 14px 10px 14px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
}

.perfmon-container {
    font-family: 'JetBrains Mono', monospace, Courier, monospace;
    color: var(--glow-color);
    font-size: 11px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    filter: drop-shadow(0 0 2px var(--glow-color));
}

.perfmon-header {
    border-bottom: 1px dashed rgba(127, 120, 197, 0.4);
    padding-bottom: 5px;
    margin-bottom: 6px;
    font-weight: bold;
    letter-spacing: 1px;
}

.perfmon-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.perfmon-table th {
    border-bottom: 1px solid rgba(127, 120, 197, 0.2);
    padding-bottom: 3px;
    font-weight: bold;
    font-size: 10px;
    opacity: 0.7;
}

.perfmon-table td {
    padding: 4px 0;
}

.proc-name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: bold;
}

.perfmon-footer {
    border-top: 1px dashed rgba(127, 120, 197, 0.4);
    padding-top: 5px;
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: bold;
}

.blink-dot {
    width: 6px;
    height: 6px;
    background-color: var(--glow-color);
    border-radius: 50%;
    animation: diagnosticBlink 1s infinite steps(2);
}

@keyframes diagnosticBlink {
    to { opacity: 0; }
}

.perfmon-scroll-wrapper {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    margin-bottom: 6px;
    padding-right: 4px;
}

.perfmon-scroll-wrapper::-webkit-scrollbar { width: 4px; }
.perfmon-scroll-wrapper::-webkit-scrollbar-thumb { background: rgba(127, 120, 197, 0.4); border-radius: 2px; }

.net-mini-icon {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-right: 6px;
    flex-shrink: 0;
}

.net-mini-icon svg { width: 100%; height: 100%; }

.net-mini-icon svg * {
    fill: var(--glow-color) !important;
    stroke: var(--glow-color) !important;
}

.net-mini-icon svg [fill="none"] { fill: none !important; }

.net-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
}

.net-status-dot.green { background-color: #00E200; box-shadow: 0 0 4px #00E200; }
.net-status-dot.red { background-color: #FF3333; box-shadow: 0 0 4px #FF3333; }

.proc-id-col {
    display: flex;
    align-items: center;
    max-width: 125px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.proc-id-col {
    display: flex;
    align-items: center;
    max-width: 125px;
    overflow: hidden;
    white-space: nowrap;
}

.net-marquee-box {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: block;
}

.net-node-name {
    display: inline-block;
    white-space: nowrap;
}

.net-node-name.winamp-scroll {
    animation: winampMarquee 20s linear infinite;
}

@keyframes winampMarquee {
    0%, 50% { transform: translateX(0); }
    65% { transform: translateX(var(--scroll-dist, 0)); }
    90% { transform: translateX(var(--scroll-dist, 0)); }
    100% { transform: translateX(0); }
}

.proc-id-col {
    display: flex;
    align-items: center;
    width: 125px;
    max-width: 125px;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

.net-marquee-box {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: block;
}

.net-node-name {
    display: inline-block;
    white-space: nowrap;
    padding-right: 14px;
}

.net-node-name.winamp-scroll {
    animation: winampMarquee 20s linear infinite;
}

@keyframes winampMarquee {
    0%, 50% { transform: translateX(0); }
    65%, 90% { transform: translateX(var(--scroll-dist, 0)); }
    100% { transform: translateX(0); }
}

.file-explorer-panel {
    margin-top: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(68, 70, 94, 0.3);
	padding-right: 0;
}

.file-explorer-panel .descriptor-input:focus {
    background-color: transparent;
    box-shadow: none;
	padding-right: 15px;
}

.file-explorer-panel.collapsed .descriptor-chevron-btn {
    transform: rotate(90deg);
}

.file-explorer-panel:not(.collapsed) .descriptor-chevron-btn {
    transform: rotate(270deg) ;
}

.file-explorer-panel .descriptor-chevron-btn {
    transition: color 0.15s ease, transform 0.25s ease-in-out;
}

.file-tree-wrapper {
    flex: 1;
    overflow-x: hidden;
    padding: 10px 15px;
    font-family: 'Afacad', sans-serif;
    font-size: 11pt;
    
    color: #44465E;
	text-align: left;
	position: relative;
	z-index: 2;
	border-top: 1px solid #44465E;
    border-image: linear-gradient(to right, transparent 0%, transparent 15%, #44465E 90%) 1;
	transition: opacity 0.3s ease-in;
}

.file-explorer-panel.collapsed .file-tree-wrapper {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.1s ease-out;
}

.file-tree-wrapper::-webkit-scrollbar {
    width: 5px;
    background-color: #C8BFE7;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}
.file-tree-wrapper::-webkit-scrollbar-track {
    background-color: #C8BFE7;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}
.file-tree-wrapper::-webkit-scrollbar-thumb {
    background: #44465E;
    border-radius: 0px;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}

ul.file-tree, ul.file-tree ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul.file-tree ul {
    padding-left: 10px;
}

ul.file-tree-nested {
    position: relative;
}

ul.file-tree-nested::before {
    content: "";
    position: absolute;
    left: 8px; 
    top: 6px;
    bottom: 8px;
    width: 1px;
    background-image: linear-gradient(to bottom, #44465E 75%, transparent 75%);
	background-size: 1px 2px;
    background-repeat: repeat-y;
    opacity: 0.7;
    pointer-events: none;
	transition: background-image 0.15s ease, opacity 0.15s ease;
}

ul.file-tree-nested:hover::before {
    opacity: 0.9;
    background-image: linear-gradient(to bottom, #7F78C5 66%, transparent 66%);
}

.file-tree li {
    margin: 4px 0;
    white-space: nowrap;
}

.file-tree-caret {
    cursor: url('sprites/cursor_point.ico'), auto;    user-select: none;
    display: inline-flex;
    align-items: center;
    padding: 2px 4px;
    border-radius: 2px;
    transition: background-color 0.1s;
}

.file-tree-caret::before {
    content: "\25B6";
    color: #44465E;
    display: inline-block;
    margin-right: 6px;
    font-size: 8pt;
    transition: transform 0.15s ease;
}

.file-tree-caret.file-tree-caret-down::before {
    transform: rotate(90deg);
}

.file-tree-nested {
    display: none;
}

.file-tree-active {
    display: block;
}

.file-node {
    cursor: url('sprites/cursor_point.ico'), auto;    padding: 2px 4px;
    border-radius: 2px;
    display: inline-block;
    margin-left: 14px;
    transition: background-color 0.1s;
}
/*
.file-node:hover, .file-tree-caret:hover {
    background-color: rgba(68, 70, 94, 0.1);
}
*/
.file-search-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 24px;
    padding-left: 0px;
    padding-right: 15px;
    margin-top: 8px;
    margin-bottom: 4px;
    position: relative;
    z-index: 2;
    transition: opacity 0.3s ease-in;
}

.file-search-container .descriptor-mini-icon {
    margin-right: 0px; 
}

.file-explorer-panel.collapsed .file-search-container {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.1s ease-out;
}

.poc-agent-ctxdir {
    flex: 1 1 auto;
    min-height: 0;
    background: transparent;
    border: 0;
    margin: 0;
    padding: 0 6px 6px;
    overflow-y: auto;
    box-sizing: border-box;
}
.poc-agent-ctxdir-head { margin-top: 2px; margin-bottom: 2px; padding-right: 4px; }
.poc-agent-ctxdir-head .descriptor-input { flex: 1 1 auto; min-width: 0; }
.poc-agent-ctxdir-title {
    font-family: 'Afacad', sans-serif;
    font-weight: 700;
    font-size: 10.5pt;
    color: #44465E;
}
.poc-agent-ctxdir-count {
    font-family: 'Afacad', sans-serif;
    font-size: 9pt;
    color: #7F78C5;
    flex: 0 0 auto;
    margin-left: 6px;
    white-space: nowrap;
}
.poc-agent-ctxdir-empty {
    font-family: 'Afacad', sans-serif;
    font-size: 10pt;
    color: #7F78C5;
    list-style: none;
    padding: 4px 2px;
}
.poc-agent-ctxdir-list, .poc-agent-ctxdir-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.poc-agent-ctxdir-list ul.file-tree-nested {
    padding-left: 14px;
}
.poc-agent-ctxdir .poc-ctxdir-check {
    accent-color: #44465E;
    margin-right: 6px;
    vertical-align: middle;
    cursor: url('sprites/cursor_point.ico'), auto;
}
.poc-agent-ctxdir .file-node {
    margin-left: 4px;
}
.poc-agent-ctxdir::-webkit-scrollbar {
    width: 6px;
}
.poc-agent-ctxdir::-webkit-scrollbar-thumb {
    background: #44465E;
    border-radius: 0px;
}

#poc-modal-overlay {
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 20000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.poc-custom-modal {
    width: 280px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.2) 0%, transparent 40%, rgba(0,0,0,0.15) 100%), 
                linear-gradient(to bottom, #808390 0%, #a8abb8 15%, #dbdce6 45%, #c0c3cf 80%, #9598a6 100%);
    border: 1px solid rgba(68, 70, 94, 0.4);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.3), inset 1px 1px 0 rgba(255,255,255,0.5);
    font-family: 'Afacad', sans-serif;
    color: #44465E;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.poc-custom-modal::before {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    background: radial-gradient(
        350px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px), 
        rgba(255, 255, 255, 0.45), 
        transparent 80%
    );
    opacity: 0;
    z-index: 1;
    transition: opacity 0.3s ease;
}

.poc-custom-modal:hover::before {
    opacity: 1;
}

.poc-modal-header {
    width: 100%;
    height: 24px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-bottom: 1px solid rgba(68, 70, 94, 0.3);
    font-size: 11pt;
    
    color: #44465E;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    cursor: url('sprites/cursor_default.ico'), auto;}

.poc-modal-body {
    padding: 20px 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    position: relative;
    z-index: 2;
}

.poc-modal-input {
    width: 100%;
    background: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.3);
    font-family: 'Afacad', sans-serif;
    font-size: 12pt;
    color: #44465E;
    padding: 4px 8px;
    outline: none;
    box-shadow: inset 1px 1px 3px rgba(0,0,0,0.1);
    border-radius: 2px;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}

.poc-modal-input:focus {
    border-color: #AAA348;
}

.poc-modal-input-clash,
.poc-modal-input-clash:focus {
    border-color: #C0392B;
    background: #FBE3E6;
}

.poc-modal-error {
    width: 100%;
    font-family: 'Afacad', sans-serif;
    font-size: 10.5pt;
    color: #C0392B;
    text-align: center;
}

.poc-modal-btn {
    background: transparent;
    border: 1px solid rgba(68, 70, 94, 0.5);
    font-family: 'Afacad', sans-serif;
    font-size: 11pt;
    
    color: #44465E;
    padding: 4px 16px;
    cursor: url('sprites/cursor_point.ico'), auto;    border-radius: 2px;
    transition: background 0.1s ease, border-color 0.1s ease;
}

.poc-modal-btn:hover {
    background: rgba(68, 70, 94, 0.1);
    border-color: #44465E;
}

.poc-modal-btn:focus {
    outline: 2px solid #44465E;
    outline-offset: 0;
    border-color: #44465E;
}

.poc-modal-btn-row {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
    gap: 22px;
    margin-top: 4px;
}

.poc-modal-keybtn {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 0;
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    cursor: url('sprites/cursor_point.ico'), auto;
    outline: none;
}

.poc-modal-keybtn svg {
    display: block;
    overflow: visible;
}

.poc-modal-keybtn .key-top {
    transition: transform 0.08s ease;
}

.poc-modal-keybtn .cap-base {
    transition: stroke 0.15s ease;
}

.poc-modal-keybtn .key-top text {
    transition: fill 0.15s ease;
}

.poc-modal-keybtn:hover .key-top {
    transform: translate(1px, 1px);
}

.poc-modal-keybtn:hover .cap-base {
    stroke: #AAA348;
}

.poc-modal-keybtn:hover .key-top text {
    fill: #AAA348;
}

.poc-modal-keybtn:active .key-top {
    transform: translate(3px, 3px);
}

.poc-modal-keybtn:focus-visible .cap-base {
    stroke: #AAA348;
    stroke-width: 2;
}

@media (max-width: 1600px) {
    #poc-desktop-grid {
        aspect-ratio: 1 / 1;
        grid-template-columns: repeat(8, 1fr);
    }
}

.mini-gridtop-wrapper {
    overflow: visible;
}

.mini-gridtop {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(8, 1fr);
    gap: 1px;
    width: 100%;
    height: 100%;
    background: #22222c; 
    box-sizing: border-box;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
    overflow: hidden;
}

.mini-grid-cell {
    background: rgba(127, 120, 197, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.1s;
    position: relative;
    width: 100%;
    height: 100%;
}

.mini-grid-cell:hover {
    background: rgba(127, 120, 197, 0.4);
}

.mini-grid-cell svg {
    width: 80%;
    height: 80%;
    display: block;
}

.mini-grid-cell svg * { 
    fill: var(--glow-color) !important; 
    stroke: var(--glow-color) !important; 
}
.mini-grid-cell svg [fill="none"] { fill: none !important; }

.grid-tooltip {
    position: absolute;
    background: var(--glass-bg);
    border: 1px solid var(--glow-color);
    box-shadow: 0 4px 10px rgba(0,0,0,0.8);
    padding: 6px 8px;
    font-size: 10px;
    color: var(--glow-color);
    z-index: 100;
    pointer-events: none;
    min-width: 100px;
    backdrop-filter: blur(2px);
}

.grid-tooltip .tooltip-header {
    border-bottom: 1px dashed rgba(127, 120, 197, 0.5);
    margin-bottom: 4px;
    padding-bottom: 3px;
    font-weight: bold;
    letter-spacing: 1px;
}

.grid-tooltip .lbl { 
    opacity: 0.6; 
}

.poc-silver-menu {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    background: linear-gradient(to bottom, rgba(255,255,255,0.95) 0%, rgba(240,240,240,0.95) 40%, rgba(220,220,220,0.95) 100%);
    border: 1px solid rgba(68, 70, 94, 0.4);
    box-shadow: 2px 2px 10px rgba(30, 32, 44, 0.2), inset 1px 1px 0 rgba(255,255,255,0.8);
    z-index: 10000;
    margin: 0;
    padding: 2px;
    list-style: none;
    width: 160px;
    font-family: 'Afacad', sans-serif;
    border-radius: 2px;
}

.poc-silver-menu.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-silver-item {
    position: relative;
    list-style: none;
    margin-bottom: 1px;
}

.poc-silver-item > a {
    font-size: 10.5pt; 
    color: #44465E;
    padding: 5px 12px;
    display: flex;
    text-decoration: none;
	cursor: url('sprites/cursor_key.ico'), auto;
    position: relative;
    overflow: hidden;
    background-color: transparent;
    transition: color 0.1s;
	z-index: 1;
}

.poc-silver-item > a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: radial-gradient(
        200px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px), 
        rgba(255, 255, 255, 0.6), 
        transparent 80%
    );
    opacity: 0;
    transition: opacity 0.2s ease;
	z-index: -1;
}

.poc-silver-item > a:hover {
    color: #44465E;
    background-color: rgba(127, 120, 197, 0.2); 
    box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.1);
    border-radius: 2px;
}

.poc-silver-item > a:hover::before {
    opacity: 1;
}

.poc-silver-shortcut {
    margin-left: auto;
    padding-left: 24px;
    opacity: 0.45;
    font-size: 9pt;
    white-space: nowrap;
    align-self: center;
}

#omegaContextMenu {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    z-index: 10000;
}
#omegaContextMenu.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-eq-margin {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
	background: linear-gradient(to bottom, #b0b3be 0%, #d8d9e0 12%, rgba(240,240,240,0.95) 35%, rgba(240,240,240,0.95) 65%, #d0d2da 88%, #a8aab6 100%);
    border-left: 2px solid #35364c;
    box-shadow: -3px 0 6px rgba(30, 32, 44, 0.35), inset 1px 0 0 rgba(255,255,255,0.7);
    margin-top: -15px;
    margin-right: -15px;
    margin-bottom: -15px;
    margin-left: 4px;
    padding: 15px 10px 15px 10px;
    align-self: stretch;
    cursor: url('sprites/cursor_default.ico'), auto;
    position: relative;
    outline: none;
    z-index: -2;
    user-select: none;
    -webkit-user-select: none;
}

.poc-eq-margin:active {
    cursor: url('sprites/cursor_default.ico'), auto;
}

.poc-eq-margin::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(
        180px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px),
        rgba(255, 255, 255, 0.55),
        transparent 80%
    );
    opacity: 0;
    transition: opacity 0.25s ease;
}

.poc-eq-margin:hover::before {
    opacity: 1;
}

.poc-eq-util-btn {
    width: 22px;
    height: 22px;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    color: #44465E;
    font-family: 'Afacad', sans-serif;
    
    font-size: 9pt;
    cursor: url('sprites/cursor_point.ico'), auto;    border-radius: 2px;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.1s ease;
    position: relative;
    z-index: 1;
}

.poc-eq-util-btn:hover {
    border-color: #AAA348;
    color: #AAA348;
    background-color: rgba(127, 120, 197, 0.15);
    box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.1);
}

.poc-eq-util-btn.active {
    background: #44465E;
    color: #FFFFFF;
    border-color: #44465E;
}

.poc-eq-util-btn svg {
    width: 14px;
    height: 14px;
    display: block;
    overflow: visible;
}

.poc-ctx-row {
    display: none;
    gap: 5px;
    padding: 5px 6px;
    align-items: center;
    border-bottom: 1px solid rgba(68, 70, 94, 0.18);
    margin-bottom: 3px;
}

.poc-diaflow-ctrl {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    padding: 0;
}
.poc-diaflow-toggle .poc-autosave-box { font-size: 10pt; line-height: 1; }

.view-hidden {
    display: none !important;
}

.is-floating {
    position: fixed !important;
    z-index: 9900;
    visibility: visible !important;
    opacity: 1 !important;
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.25) !important;
    border: 1px solid #7D6988 !important;
}

.descriptor-input:focus ~ .descriptor-tabs {
    max-width: 0;
    opacity: 0;
    margin-left: 0;
    pointer-events: none;
}

.descriptor-tabs {
    display: flex;
    gap: 2px;
    margin-left: 3px;
    overflow: hidden;
    max-width: 300px;
    opacity: 1;
    flex: 0 1 auto;
    transition: max-width 0.25s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.2s ease, 
                margin-left 0.25s ease;
}

.desc-tab {
    font-size: 9.5pt;
    
    padding: 2px 3px;
    cursor: url('sprites/cursor_point.ico'), auto;    color: rgba(68, 70, 94, 0.5);
    border: 1px solid transparent;
    border-radius: 2px;
    flex-shrink: 0;
    transition: background 0.1s;
}

.desc-tab:hover {
    color: #44465E;
}

.desc-tab.active {
    color: #44465E;
    background: rgba(255, 255, 255, 0.4);
    border-color: rgba(68, 70, 94, 0.3);
}

.docked-eq-panel {
    display: none;
    position: relative;
    justify-content: center;
    align-items: center;
    overflow: hidden !important; 
    flex: 1;
    width: 100%;
    box-sizing: border-box;
    perspective: 800px; 
    padding: 0; 
    z-index: 2; 
}

.docked-eq-panel.active {
    display: flex;
}

.knob-wheel {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
}

.knob-row {
    display: flex;
    justify-content: center;
    gap: 8px;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -27px;
    align-items: center;
    backface-visibility: hidden;
    transition: opacity 0.5s ease;
}

.knob-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 22px;
    flex: 0 0 32px;
    gap: 3px;
    z-index: 99;
}

.knob-label {
    font-size: 8px;
    
    color: #44465E;
    text-align: center;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    width: 100%;
}

.knob-val {
    font-size: 9px;
    width: 100%;
    background: transparent;
    border: none;
    color: #44465E;
    font-family: 'JetBrains Mono', monospace;
    
    text-align: center;
    padding: 0;
    outline: none;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}

.knob-val:focus {
    background: #FAFAFA;
    border-radius: 2px;
}

.knob-body {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 50%;
	cursor: url('sprites/cursor_ns.ico') 12 12, auto;
    position: relative;
    background: linear-gradient(135deg, #F0F0F0 0%, #C0C3CF 40%, #9598A6 100%);
    box-shadow: 
        inset 1px 1px 2px rgba(255, 255, 255, 0.9), 
        inset -1px -1px 3px rgba(0, 0, 0, 0.4),
        1px 2px 4px rgba(0, 0, 0, 0.3);
    border: 1px solid #777;
    transition: filter 0.1s;
}

.knob-body:active {
    filter: brightness(0.9);
}

.knob-dial {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    pointer-events: none;
}

.knob-dial::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 50%;
    width: 2px;
    height: 7px;
    background-color: #44465E;
    transform: translateX(-50%);
    border-radius: 1px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.6);
}

.descriptor-panel.expanded-height .docked-eq-panel {
    padding: 10px 5px;
    align-items: flex-start;
}

.descriptor-panel.expanded-height .knob-wheel {
    transform: none !important;
    display: grid !important; 
    grid-template-columns: repeat(auto-fit, 32px);
    justify-content: center !important;
    gap: 15px 12px;
    width: 100%;
}

.descriptor-panel.expanded-height .knob-row {
    display: contents !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.docked-eq-panel.is-locked .knob-container {
    pointer-events: none;
    opacity: 0.6;
    filter: grayscale(1);
}

.poc-eq-submenu.is-locked .poc-eq-band,
.poc-eq-submenu.is-locked .poc-number {
    pointer-events: none;
    opacity: 0.5;
    filter: grayscale(1);
}

.poc-eq-submenu.is-floating.is-locked,
.poc-chat-box.is-open.is-locked {
    opacity: 0.4 !important;
    pointer-events: none;
    transition: opacity 0.2s ease-in-out;
}

.poc-eq-submenu.is-floating.is-locked .poc-eq-margin,
.poc-chat-box.is-open.is-locked .poc-eq-margin {
    pointer-events: auto;
}

.poc-eq-submenu.is-floating.is-locked .poc-eq-band,
.poc-eq-submenu.is-floating.is-locked .poc-number,
.poc-chat-box.is-open.is-locked .poc-chat-input,
.poc-chat-box.is-open.is-locked .poc-chat-icon-btn {
    opacity: 1; 
}

.poc-chat-box {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    background-color: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.2);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.15);
    z-index: 9905;
    margin: 0;
    padding: 15px;
    gap: 12px;
    width: 500px;
    display: flex;
    flex-direction: row;
    font-family: 'Afacad', sans-serif;
    box-sizing: border-box;
    transition: border-color 0.2s ease, transform 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}

.poc-chat-box.is-open {
    visibility: visible;
    opacity: 1;
    border: 1px solid #7D6988;
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.25);
}

.poc-chat-box .poc-eq-margin::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(
        180px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px),
        rgba(255, 255, 255, 0.55),
        transparent 80%
    );
    opacity: 0;
    transition: opacity 0.25s ease;
    z-index: 0;
}

.poc-chat-box .poc-eq-margin:hover::before {
    opacity: 1;
}

.poc-chat-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
}

.poc-chat-history {
    flex: 1 1 auto;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.25);
    box-shadow: inset 1px 1px 2px rgba(0,0,0,0.1);
    padding: 6px 8px;
    overflow-y: auto;
    height: 200px;
    min-height: 200px;
    font-family: 'Afacad', sans-serif;
    font-size: 15.4px;                 /* a notch up from 14 (2026-09-22) */
    color: #1D070E;
    line-height: 1.35;
    margin-bottom: 6px;
    border-radius: 2px;
    box-sizing: border-box;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}

.poc-chat-history::-webkit-scrollbar,
.poc-chat-input::-webkit-scrollbar {
    width: 3px;
    background-color: #C8BFE7;
}
.poc-chat-history::-webkit-scrollbar-thumb,
.poc-chat-input::-webkit-scrollbar-thumb {
    background: #44465E;
    border-radius: 0px;
}

.poc-chat-msg {
    margin: 0 -8px 9px -8px;
    padding: 2px 8px;
    word-break: break-word;
    white-space: pre-wrap;
}

.poc-chat-msg.from-agent { color: #1D070E; }
.poc-chat-msg.from-user  { color: #1D070E; }

.poc-chat-msg .who {
    display: inline-block;
    
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0.55;
    margin-right: 5px;
    min-width: 32px;
}

.poc-chat-msg.is-queued,
.poc-chat-msg.is-queued .who,
.poc-chat-msg.is-queued .msg-text { color: #7D6988; }
.poc-chat-msg.is-queued { opacity: 0.92; }

.poc-chat-msg { border-radius: 3px; transition: background-color 0.12s ease; }
.poc-chat-msg.from-user:hover  { background-color: rgba(170, 163, 72, 0.13); }
.poc-chat-msg.from-agent:hover { background-color: rgba(125, 105, 136, 0.15); }

.poc-chat-input {
    width: 100%;
    max-width: 100%;
    font-family: 'Afacad', sans-serif;
    font-size: 14px;
    color: #1D070E;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    padding: 3px 6px;
    outline: none;
    box-shadow: inset 1px 1px 2px rgba(0,0,0,0.08);
    border-radius: 2px;
    resize: none;
    line-height: 1.3;
    box-sizing: border-box;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}

.poc-chat-input:focus { border-color: #AAA348; background: #FAFAFA; }

.poc-chat-history { min-height: 90px; }
.docked-chat-panel .poc-chat-history { min-height: 90px; }
.poc-chat-input { flex: 0 0 auto; }

.poc-chat-resize-bar {
    position: relative;
    display: flex;
    align-items: center;
    height: 12px;
    margin: 1px 0 3px 0;
    cursor: url('sprites/cursor_ns.ico') 12 12, ns-resize;
}

.poc-chat-resize-grip {
    flex: 1 1 auto;
    height: 10px;
    border-radius: 2px;
    border: 1px solid rgba(68, 70, 94, 0.28);
    background: linear-gradient(to bottom, #f6f6f6 0%, #e2e2e2 45%, #cfcfcf 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
    position: relative;
    cursor: url('sprites/cursor_ns.ico') 12 12, ns-resize;
}
.poc-chat-resize-grip:hover { border-color: #AAA348; }

.poc-chat-resize-ctrls {
    position: absolute;
    right: 5px; top: 0; bottom: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 1;
}
.poc-chat-stop-btn {
    display: flex; align-items: center; justify-content: center;
    width: 12px; height: 12px;
    padding: 0;
    background: transparent; color: #44465E;
    border: none; border-radius: 2px;
    font-size: 12px; font-weight: 700; line-height: 1; font-family: 'Afacad', sans-serif;
    cursor: url('sprites/cursor_default.ico'), pointer;
}
.poc-chat-stop-btn:hover { color: #2f3145; background: rgba(68, 70, 94, 0.14); }
body.poc-row-resizing { cursor: url('sprites/cursor_ns.ico') 12 12, ns-resize; user-select: none; }

.poc-chat-input-wrap { position: relative; flex: 0 0 auto; display: block; }
.poc-chat-send-btn {
    position: absolute;
    top: 5px; right: 7px;
    width: 20px; height: 20px;
    display: flex; align-items: center; justify-content: center;
    padding: 2px;
    background: transparent;
    color: rgba(68, 70, 94, 0.45);
    border: none;
    border-radius: 3px;
    cursor: url('sprites/cursor_default.ico'), pointer;
    transition: color 0.12s ease, background 0.12s ease;
    z-index: 2;
}
.poc-chat-send-btn:hover { color: #44465E; background: rgba(68, 70, 94, 0.10); }
.poc-chat-send-btn:active { color: #2f3145; }
.poc-chat-send-btn svg { width: 100%; height: 100%; display: block; }

.poc-chat-mic-btn {
    position: absolute;
    top: 5px; right: 31px;
    width: 20px; height: 20px;
    display: flex; align-items: center; justify-content: center;
    padding: 2px;
    background: transparent;
    color: rgba(68, 70, 94, 0.45);
    border: none;
    border-radius: 3px;
    cursor: url('sprites/cursor_default.ico'), pointer;
    transition: color 0.12s ease, background 0.12s ease;
    z-index: 2;
}
.poc-chat-mic-btn:hover { color: #44465E; background: rgba(68, 70, 94, 0.10); }
.poc-chat-mic-btn svg { width: 100%; height: 100%; display: block; }
.poc-chat-mic-btn.is-listening { color: #b81b1b; background: rgba(184, 27, 27, 0.12); }
.poc-chat-mic-btn.is-listening svg { animation: pocMicPulse 1s ease-in-out infinite; }
@keyframes pocMicPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

.poc-chat-input {
    white-space: pre-wrap;
    word-break: break-word;
    overflow-y: auto;
    min-height: 100px;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}
.poc-chat-input:empty::before {
    content: attr(data-placeholder);
    color: #9a96ad;
    pointer-events: none;
}
.md-syntax { color: rgba(68, 70, 94, 0.40); }
.md-h1 { font-size: 1.5em;  font-weight: 700; color: #2f3145; }
.md-h2 { font-size: 1.3em;  font-weight: 700; color: #2f3145; }
.md-h3 { font-size: 1.15em; font-weight: 700; color: #2f3145; }
.md-h4 { font-size: 1.05em; font-weight: 700; color: #2f3145; }
.md-h5 { font-size: 1.0em;  font-weight: 700; color: #44465E; }
.md-h6 { font-size: 0.95em; font-weight: 700; color: #55576f; }
.md-bold   { font-weight: 700; }
.md-italic { font-style: italic; }
.md-strike { text-decoration: line-through; }
.md-code, .md-code-block {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.92em;
    color: #2f3145;
    background: rgba(68, 70, 94, 0.10);
    border-radius: 2px;
    padding: 0 2px;
}

.md-fence, .md-code > .md-syntax { color: rgba(68, 70, 94, 0.70); }
.md-quote { color: #55576f; font-style: italic; }
.md-link { text-decoration: underline; text-decoration-color: #AAA348; }
.md-link-url { color: rgba(68, 70, 94, 0.55); }
.md-hr .md-syntax { color: rgba(68, 70, 94, 0.6); letter-spacing: 1px; }
.md-task.is-checked { color: #55576f; }

.poc-md-toggle {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 22px;
    padding: 0 4px;
    border-radius: 2px;
    color: rgba(68, 70, 94, 0.55);
    cursor: url('sprites/cursor_default.ico'), pointer;
}
.poc-md-toggle:hover { color: #44465E; }
.poc-md-toggle-first { margin-left: auto; }
.poc-md-toggle input[type="checkbox"] {
    appearance: none; -webkit-appearance: none;
    width: 12px; height: 12px; margin: 0;
    border: 1px solid rgba(68, 70, 94, 0.5);
    border-radius: 2px;
    background: #EEEEEE;
    position: relative;
    cursor: url('sprites/cursor_default.ico'), pointer;
}
.poc-md-toggle input[type="checkbox"]:checked { background: #44465E; border-color: #44465E; }
.poc-md-toggle input[type="checkbox"]:checked::after {
    content: '';
    position: absolute; left: 3px; top: 0;
    width: 3px; height: 7px;
    border: solid #FFEC64; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.poc-md-toggle-icon { display: inline-flex; width: 16px; height: 13px; }
.poc-md-toggle-icon svg { width: 100%; height: 100%; }

.poc-chat-mdbar.md-disabled .poc-chat-mdbtn:not(.poc-chat-mdbtn-save):not(.poc-chat-mdbtn-task) {
    opacity: 0.4;
    pointer-events: none;
}

.poc-chat-icon-row {
    display: flex;
    flex-direction: row;
    gap: 14px;
    margin-top: 6px;
    align-items: center;
}

.poc-chat-icon-btn {
    width: 22px;
    height: 22px;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    color: #44465E;
    cursor: url('sprites/cursor_point.ico'), auto;
    border-radius: 2px;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    transition: all 0.1s ease;
    position: relative;
    box-sizing: border-box;
}

.poc-chat-icon-btn:hover {
    border-color: #AAA348;
    background-color: rgba(127, 120, 197, 0.15);
    box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.1);
}

.poc-chat-icon-btn svg {
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible;
}

.poc-chat-box.is-locked .poc-chat-input,
.poc-chat-box.is-locked .poc-chat-icon-btn {
    pointer-events: none;
    opacity: 0.5;
    filter: grayscale(1);
}

.poc-chat-box.is-maximized {
    padding: 0;
    gap: 0;
    border-radius: 0;
}

.poc-chat-box.is-maximized .poc-eq-margin {
    margin: 0;
}

.poc-chat-box.is-maximized .poc-chat-content {
    padding: 10px;
}

.poc-chat-box.is-maximized .poc-chat-history {
    height: auto;
    min-height: 0;
}

.docked-chat-panel {
    display: none;
    flex-direction: column;
    flex: 1;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 8px 8px 8px;
    background: transparent;
    position: relative;
    z-index: 2;
    overflow: hidden;
    min-height: 0;
}

.docked-chat-panel.active { display: flex; }

.docked-chat-panel .poc-chat-history {
    flex: 1 1 auto;
    height: auto;
    min-height: 30px;
    margin-bottom: 5px;
    background: #EEEEEE;
    padding: 5px 7px;
    border-color: rgba(68, 70, 94, 0.18);
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.05);
}

.docked-chat-panel .poc-chat-input {
    width: 100%;
    box-sizing: border-box;
    height: 34px;
    min-height: 34px;
    flex: 0 0 34px;
    font-family: 'Afacad', sans-serif;
    line-height: 1.3;
    resize: none;
    padding: 6px 8px;
    border-color: rgba(68, 70, 94, 0.2);
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.04);
}

.docked-chat-panel .poc-chat-history::-webkit-scrollbar,
.docked-chat-panel .poc-chat-input::-webkit-scrollbar {
    width: 3px;
    background-color: #C8BFE7;
}
.docked-chat-panel .poc-chat-history::-webkit-scrollbar-thumb,
.docked-chat-panel .poc-chat-input::-webkit-scrollbar-thumb {
    background: #44465E;
    border-radius: 0;
}

.docked-chat-panel .poc-chat-icon-row {
    margin-top: 4px;
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 6px;
    padding-right: 2px;
}

.docked-chat-panel .poc-chat-icon-btn {
    background: transparent;
    border: none;
    box-shadow: none;
    width: 18px;
    height: 18px;
    padding: 0;
}

.docked-chat-panel .poc-chat-icon-btn:hover {
    background: transparent;
    box-shadow: none;
}

.docked-chat-panel .poc-chat-icon-btn:hover svg path,
.docked-chat-panel .poc-chat-icon-btn:hover svg circle {
    stroke: #AAA348;
}

.docked-chat-panel.is-locked .poc-chat-input,
.docked-chat-panel.is-locked .poc-chat-icon-btn {
    pointer-events: none;
    opacity: 0.5;
    filter: grayscale(1);
}

.descriptor-panel.expanded-height .docked-chat-panel {
    padding-right: 32px;
}

.poc-grid-cell.poc-agent-active::after,
.poc-grid-cell.poc-obj-selected::after {
    content: "";
    position: absolute;
    inset: -2px;
    pointer-events: none;
    border: 2px solid #7F78C5;
    box-shadow: 0 0 6px #7F78C5A6;
    z-index: 6;
}

.descriptor-panel.poc-panel-active,
.descriptor-panel.poc-panel-focused {
    outline: none;
}

.descriptor-panel.poc-panel-active::after,
.descriptor-panel.poc-panel-focused::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 2px solid #7F78C5;
    z-index: 50;
}

.poc-grid-cell:has(.poc-desktop-icon.wf-filled)::before {
    content: "";
    position: absolute;
    inset: 3px;
    border: 2px dashed #7D6988;
    pointer-events: none;
    z-index: 5;
}

.descriptor-panel.is-container {
    flex: 0 0 auto !important;
    background-color: color-mix(in srgb, var(--container-hue, #A99FFC) 12%, #b9bac4);
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.34, 1.4, 0.64, 1),
                flex-basis 0.35s cubic-bezier(0.34, 1.4, 0.64, 1),
                box-shadow 0.2s ease-in-out;
}

.descriptor-panel.is-container > .descriptor-header-stripe {
    padding-left: 12px;
    padding-right: 15px;
}

.descriptor-children {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
}

.descriptor-panel.is-container.max-height {
    flex: 1 1 auto !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.descriptor-panel.is-container.collapsed .descriptor-children {
    display: none;
}

.descriptor-panel.is-contained {
    flex: 0 0 auto !important;
    height: var(--nested-row-h, 112px);
    max-height: none;
    overflow: hidden;
    transition: height 0.35s cubic-bezier(0.34, 1.4, 0.64, 1),
                padding-top 0.2s ease-in-out,
                box-shadow 0.2s ease-in-out;
    background-color: color-mix(in srgb, var(--container-hue, #A99FFC) 18%, #b9bac4);
    background-image: none;
}

.descriptor-panel.is-contained.collapsed {
    flex: 0 0 auto !important;
    height: calc(var(--nested-row-h, 112px) / 4) !important;
    padding-top: 0 !important;
    box-shadow: inset 4px 9px 6px rgba(255, 255, 255, 0.8),
                inset -3px -1px 6px rgba(0, 0, 0, 0.25) !important;
}

.descriptor-panel.is-contained.expanded-height {
    flex: 0 0 auto !important;
    height: calc(var(--nested-row-h, 112px) * 2) !important;
    overflow-y: auto;
}

.poc-desktop-icon.wf-view-host {
    filter: grayscale(1) opacity(0.5);
    transition: filter 0.2s ease, transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.poc-grid-cell:hover .poc-desktop-icon.wf-view-host,
.poc-grid-cell.poc-selected .poc-desktop-icon.wf-view-host,
.poc-grid-cell.poc-active-menu .poc-desktop-icon.wf-view-host {
    filter: none;
    transform: scale(1.15);
}

body.poc-add-task-mode .poc-eq-submenu.is-floating,
body.poc-add-task-mode .poc-chat-box.is-open {
    opacity: 0.4 !important;
    pointer-events: none !important;
}

body.poc-knob-dragging,
body.poc-knob-dragging * {
    cursor: url('sprites/cursor_ns.ico') 12 12, ns-resize !important;
}

body.poc-add-task-mode #poc-desktop-grid .poc-grid-cell {
    cursor: url('sprites/cursor_cross.ico') 12 12, crosshair;
}

#poc-add-task-banner {
    position: fixed;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #44465E;
    color: #FFEC64;
    padding: 8px 18px;
    font-family: 'Afacad', sans-serif;
    font-size: 12pt;
    
    z-index: 10100;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    letter-spacing: 0.5px;
    display: none;
}

body.poc-add-task-mode #poc-add-task-banner { display: block; }

.docked-eq-margin {
    position: absolute;
    top: 6px;
    right: 0;
    bottom: 6px;
    width: 20px;
    display: none;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
    z-index: 12;
}

.descriptor-panel.expanded-height .docked-eq-margin {
    display: flex;
}

.descriptor-panel.expanded-height .docked-eq-panel {
    padding-right: 28px;
}

.descriptor-panel.expanded-height .docked-chat-panel {
    padding-right: 28px;
}

.docked-eq-margin .poc-eq-util-btn {
    width: 18px;
    height: 18px;
    font-size: 9pt;
    background: transparent;
    border: none;
    box-shadow: none;
    color: #44465E;
    padding: 0;
}

.docked-eq-margin .poc-eq-util-btn:hover {
    background: transparent;
    box-shadow: none;
    color: #AAA348;
    border: none;
}

.docked-eq-margin .poc-eq-util-btn.active {
    background: transparent;
    color: #AAA348;
    border: none;
}

.poc-chat-icon-menu {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    background-color: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.2);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.15);
    z-index: 10010;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 160px;
    font-family: 'Afacad', sans-serif;
}

.poc-chat-icon-menu.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-chat-icon-menu .poc-ctx-item > a {
    font-size: 10.5pt;
    color: #44465E;
    padding: 5px 12px;
    display: block;
    text-decoration: none;
    border-left: 3px solid transparent;
    cursor: url('sprites/cursor_point.ico'), auto;
    transition: background-color 0.1s, border-left-color 0.1s;
}

.poc-chat-icon-menu .poc-ctx-item > a:hover {
    background-color: rgba(68, 70, 94, 0.1);
    border-left-color: #44465E;
}

.poc-chat-icon-row {
    flex-wrap: wrap;
    align-items: center;
}

.poc-chat-chips {
    display: flex;
    flex-direction: row;
    gap: 4px;
    margin-left: auto;
    flex-wrap: wrap;
    align-items: center;
}

.poc-chat-chip {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: 'Afacad', sans-serif;
    font-size: 9.5pt;
    color: #44465E;
    background: linear-gradient(to bottom, #fafafa 0%, #e8e8ee 100%);
    border: 1px solid rgba(68, 70, 94, 0.4);
    border-radius: 3px;
    padding: 2px 6px;
    cursor: url('sprites/cursor_point.ico'), auto;
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.1);
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    transition: border-color 0.1s, color 0.1s;
}

.poc-chat-chip .chip-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.poc-chat-chip .chip-caret { font-size: 7pt; opacity: 0.7; }

.poc-chat-chip:hover { border-color: #AAA348; color: #AAA348; }

.poc-silver-menu.chat-cursor .poc-silver-item > a {
    cursor: url('sprites/cursor_default.ico'), auto;
}

.poc-silver-item > a.is-checked::after {
    content: "\2713";
    margin-left: auto;
    padding-left: 10px;
    color: #AAA348;
    
}

.poc-silver-item.is-disabled > a {
    opacity: 0.4;
    pointer-events: none;
}

.poc-silver-sep {
    height: 0;
    margin: 3px 5px;
    border-top: 1px solid rgba(68, 70, 94, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.85);
    list-style: none;
}

.poc-ctx-sep {
    height: 0;
    margin: 4px 6px;
    border-top: 1px solid rgba(68, 70, 94, 0.3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    list-style: none;
}

.poc-chat-msg .msg-text pre.msg-code {
    background: #2b2c3b;
    color: #e6e6ef;
    border: 1px solid #44465E;
    border-radius: 3px;
    padding: 8px 10px;
    margin: 5px 0;
    overflow-x: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    line-height: 1.4;
    white-space: pre;
}

.poc-chat-msg .msg-text pre.msg-code code {
    font-family: inherit;
    white-space: pre;
    background: none;
    border: none;
    padding: 0;
}

.poc-chat-msg .msg-text pre.msg-code::-webkit-scrollbar { height: 5px; }
.poc-chat-msg .msg-text pre.msg-code::-webkit-scrollbar-thumb { background: #AAA348; border-radius: 0; }

.poc-chat-msg .msg-text code.msg-inline-code {
    background: rgba(68, 70, 94, 0.12);
    border: 1px solid rgba(68, 70, 94, 0.2);
    border-radius: 3px;
    padding: 0 3px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
}

.poc-chat-msg .msg-text .msg-h1 { font-weight: 700; font-size: 1.35em; color: #2f3145; }
.poc-chat-msg .msg-text .msg-h2 { font-weight: 700; font-size: 1.2em;  color: #2f3145; }
.poc-chat-msg .msg-text .msg-h3 { font-weight: 700; font-size: 1.08em; color: #2f3145; }
.poc-chat-msg .msg-text .msg-quote {
    color: #55576f;
    font-style: italic;
    border-left: 3px solid #AAA348;
    padding-left: 6px;
}
.poc-chat-msg .msg-text s { opacity: 0.7; }
.poc-chat-msg .msg-text .msg-h4 { font-weight: 700; font-size: 1em;    color: #2f3145; }
.poc-chat-msg .msg-text .msg-h5 { font-weight: 700; font-size: 0.95em; color: #44465E; }
.poc-chat-msg .msg-text .msg-h6 { font-weight: 700; font-size: 0.9em;  color: #55576f; }
.poc-chat-msg .msg-text a.msg-link {
    color: #44465E;
    text-decoration: underline;
    text-decoration-color: #AAA348;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-chat-msg .msg-text a.msg-link:hover { color: #2f3145; }
.poc-chat-msg .msg-text hr.msg-hr { border: none; border-top: 1px solid #AAA348; margin: 6px 0; }
.poc-chat-msg .msg-text .msg-task .msg-task-box { font-family: 'JetBrains Mono', monospace; margin-right: 2px; }

.poc-app-window {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    box-sizing: border-box;
    width: 520px;
    padding: 0;
    gap: 0;
    display: flex;
    flex-direction: row;
    font-family: 'Afacad', sans-serif;
    background-color: #44465E;
    border: 2px solid #1D070E;
    box-shadow: 4px 4px 18px rgba(30, 32, 44, 0.35);
    z-index: 9900;
    transition: border-color 0.2s ease, transform 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}

.poc-app-window.is-selected {
    border-color: #7F78C5; 
}

.poc-app-window.is-open {
    visibility: visible;
    opacity: 1;
}

.poc-app-window.is-shaded {
    display: none !important;
}
.poc-chat-box.is-shaded {
    display: none !important;
}

.poc-app-content {
    flex: 1;
    min-width: 0;
    min-height: 320px;
    box-sizing: border-box;
    background-color: #EEEEEE ;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.poc-app-content::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    pointer-events: none;
    z-index: 5;
    box-shadow: inset -5px 0 15px rgba(0,0,0,0.25), inset 1px 0 0 rgba(255,255,255,0.5);
}
.poc-term-window .poc-app-content::after,
.poc-app-content:has(.poc-term)::after,
.poc-app-content:has(.poc-media)::after { content: none; }

.poc-app-window .poc-eq-margin {
    margin: 0;
    z-index: 1;
}

.poc-app-window .poc-eq-margin::before {
    background: radial-gradient(160px circle at var(--mouse-x, -1000px) var(--mouse-y, -1000px),
        rgba(255, 255, 255, 0.18), transparent 80%);
}

.poc-app-window.is-maximized {
    padding: 0;
    gap: 0;
}
.poc-app-window.is-maximized .poc-eq-margin {
    margin: 0;
}
.poc-app-window.is-maximized .poc-app-content {
    min-height: 0;
}

.poc-eq-util-btn.poc-app-close-armed,
.poc-eq-util-btn.poc-app-close-armed:hover {
    background: #FF3333;
    border-color: #b81b1b;
    color: #FFFFFF;
    box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.3), 0 0 6px rgba(255, 51, 51, 0.6);
}

.poc-eq-util-btn:hover {
	border-color: #1D070E;
    background-color: #44465E;
}

.poc-app-window.is-open.is-locked {
    opacity: 0.4 !important;
    pointer-events: none;
}

.poc-app-window.is-open.is-locked .poc-eq-margin {
    pointer-events: auto;
}

.drawer-icon.app-running {
    position: relative;
}
.drawer-icon.app-running::after {
    content: "";
    position: absolute;
    left: -3px;
    right: -3px;
    bottom: -5px;
    height: 3px;
    border-radius: 0px;
    background: var(--app-underline, #A99FFC);
    box-shadow: 0 0 5px var(--app-underline, #A99FFC);
    transition: background 0.3s ease, box-shadow 0.3s ease;
    pointer-events: none;
}

.poc-app-window.is-focused:not(.is-maximized) {
    border-color: #7F78C5;
    box-shadow: 4px 4px 18px rgba(30, 32, 44, 0.35), 0 0 0 1px rgba(127, 120, 197, 0.5);
}

.poc-app-titlebar-icon {
    margin-top: auto;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    pointer-events: none;
}

.poc-app-titlebar-icon img,
.poc-app-titlebar-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0.5px 1px 0.5px rgba(0, 0, 0, 0.65));
}

.poc-app-title {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px 12px 14px;
    margin-bottom: 8px;
    font-family: 'Afacad', sans-serif;
    color: #44465E;
    user-select: none;
    -webkit-user-select: none;
}
.poc-app-title-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.poc-app-title-icon img,
.poc-app-title-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0.5px 1px 0.5px rgba(0, 0, 0, 0.65));
}
.poc-app-title-text {
    position: relative;
    z-index: 1;
    font-family: 'Afacad', sans-serif;
    font-size: 14pt;
    color: #44465E;
    line-height: 1;
    white-space: nowrap;
}

.poc-app-title-divider {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, #eee 0%, #44465E 50%, #eee 100%);
    background-size: 200% 100%;
    animation: moveGradientSeamless 33s linear infinite;
    z-index: 0;
    pointer-events: none;
}

.dropdown-menu li[data-auth="in"] { display: none; }
body.is-authed .dropdown-menu li[data-auth="in"]  { display: block; }
body.is-authed .dropdown-menu li[data-auth="out"] { display: none; }

.poc-settings {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0 14px 12px 14px;
    font-family: 'Afacad', sans-serif;
    color: #44465E;
}

.poc-settings-tabs {
    flex: 0 0 auto;
    display: flex;
    gap: 2px;
    border-bottom: 1px solid rgba(68,70,94,0.2);
    margin-bottom: 10px;
}
.poc-settings-tab {
    appearance: none;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    padding: 5px 11px;
    font-family: 'Afacad', sans-serif;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #44465E;
    opacity: 0.5;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: opacity 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.poc-settings-tab:hover { opacity: 0.85; }
.poc-settings-tab.is-active {
    opacity: 1;
    color: #1D070E;
    border-bottom-color: #AAA348;
}

.poc-settings-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 5px;
}

.poc-settings-body::-webkit-scrollbar { width: 3px; background-color: #C8BFE7; }
.poc-settings-body::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }

.poc-settings-panel { display: none; }
.poc-settings-panel.is-active { display: block; }

.poc-settings-group { margin: 0 0 16px 0; }
.poc-settings-group-title {
    font-size: 9px;
    
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0.55;
    margin: 0 0 7px 0;
    padding-bottom: 3px;
    border-bottom: 1px solid rgba(68,70,94,0.12);
}

.poc-settings-field { display: block; margin: 0 0 8px 0; }
.poc-settings-manual { display: flex; gap: 6px; margin-top: 4px; }   /* Settings > General > Manual: Open, Download */
.poc-settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 10px;
}

.poc-settings-label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.3px;
    color: #1D070E;
    opacity: 0.8;
    margin-bottom: 2px;
}

.poc-settings-input,
.poc-settings-select,
.poc-settings-textarea {
    width: 100%;
    max-width: 100%;
    font-family: 'Afacad', sans-serif;
    font-size: 14px;
    color: #1D070E;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    padding: 3px 6px;
    outline: none;
    box-shadow: inset 1px 1px 2px rgba(0,0,0,0.08);
    border-radius: 2px;
    box-sizing: border-box;
    line-height: 1.3;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}
.poc-settings-textarea { resize: none; line-height: 1.35; }
.poc-settings-select { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-settings-input:focus,
.poc-settings-select:focus,
.poc-settings-textarea:focus { border-color: #AAA348; background: #FAFAFA; }
.poc-settings-input:disabled,
.poc-settings-select:disabled { opacity: 0.5; }

.poc-settings-hint {
    font-size: 9px;
    letter-spacing: 0.3px;
    opacity: 0.5;
    margin-top: 3px;
}

.poc-settings-footer {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 9px;
    margin-top: 2px;
    border-top: 1px solid rgba(68,70,94,0.2);
}

.poc-settings-msg {
    flex: 1;
    font-size: 10px;
    letter-spacing: 0.3px;
    min-height: 12px;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.poc-settings-msg.is-show { opacity: 0.85; }
.poc-settings-msg.error   { color: #b81b1b; opacity: 0.95; }
.poc-settings-msg.success { color: #5a6b1f; opacity: 0.95; }

.poc-settings-save {
    appearance: none;
    font-family: 'Afacad', sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #EEEEEE;
    background: #44465E;
    border: 1px solid #1D070E;
    padding: 5px 16px;
    border-radius: 2px;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.poc-settings-save:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-settings-save:disabled { opacity: 0.4; cursor: default; }
.poc-settings-save:disabled:hover { background: #44465E; color: #EEEEEE; border-color: #1D070E; }

.poc-settings-save.is-danger { background: #8a1f1f; border-color: #5e1313; }
.poc-settings-save.is-danger:hover { background: #b81b1b; color: #EEEEEE; border-color: #b81b1b; }

.poc-llm-row {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px; margin-bottom: 6px;
    background: #FAFAFA; border: 1px solid rgba(68,70,94,0.25);
}

.poc-llm-info { display: flex; align-items: center; gap: 10px; flex: 1 1 auto; min-width: 0; }
.poc-llm-name { font-family: 'Afacad', sans-serif; color: #44465E; font-size: 13px; }
.poc-llm-hint { font-family: 'Afacad', sans-serif; color: #6a6c82; font-size: 12px; }
.poc-llm-default {
    font-family: 'Afacad', sans-serif; font-size: 9px; letter-spacing: 1px; text-transform: uppercase;
    color: #1D070E; background: #FFEC64; border: 1px solid #AAA348; padding: 1px 6px;
}

.poc-llm-actions { display: flex; gap: 6px; flex: 0 0 auto; }
.poc-llm-picker { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.poc-llm-prov-btn {
    appearance: none; font-family: 'Afacad', sans-serif; font-size: 12px;
    color: #44465E; background: #EEEEEE; border: 1px solid rgba(68,70,94,0.4);
    padding: 5px 12px; cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.poc-llm-prov-btn:hover { background: #857EB6; color: #EEEEEE; border-color: #44465E; }
.poc-llm-formmount:not(:empty) { padding-top: 4px; }

.poc-2fa-row { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.poc-2fa-status { flex: 1; font-size: 11px; color: #44465E; opacity: 0.7; }
.poc-2fa-status.is-on { opacity: 1; color: #5a6b1f; font-weight: 600; }
.poc-2fa-setup, .poc-2fa-backups, .poc-2fa-disableform {
    margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(68,70,94,0.15);
}

.poc-2fa-qr {
    width: 168px; margin: 0 auto 10px; padding: 8px; box-sizing: content-box;
    background: #EEEEEE; border: 1px solid rgba(68,70,94,0.25); text-align: center; font-size: 10px;
}

.poc-2fa-qr img, .poc-2fa-qr canvas, .poc-2fa-qr table { display: block; margin: 0 auto; }
.poc-2fa-secret-wrap { text-align: center; margin-bottom: 10px; }
.poc-2fa-secret {
    display: inline-block; margin-top: 4px; padding: 4px 8px;
    font-family: 'Courier New', monospace; font-size: 12px; letter-spacing: 2px;
    color: #1D070E; background: #DAD6EC; border-radius: 2px; word-break: break-all;
    user-select: all; -webkit-user-select: all;
    cursor: url('sprites/cursor_input.ico') 12 12, text;
}

.poc-2fa-code { letter-spacing: 4px; }
.poc-2fa-actions { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.poc-2fa-cancel {
    appearance: none; background: none; border: none; padding: 2px;
    font-family: 'Afacad', sans-serif; font-size: 11px; color: #44465E; opacity: 0.7;
    text-decoration: underline; cursor: url('sprites/cursor_point.ico'), pointer;
}

.poc-2fa-cancel:hover { opacity: 1; color: #AAA348; }
.poc-2fa-codes { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 8px 0; }
.poc-2fa-code-chip {
    font-family: 'Courier New', monospace; font-size: 12px; letter-spacing: 1px; text-align: center;
    padding: 5px 4px; color: #1D070E; background: #DAD6EC; border-radius: 2px;
    user-select: all; -webkit-user-select: all;
}

.poc-2fa-level { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(68,70,94,0.15); }
.poc-2fa-level-name { color: #5a6b1f; font-weight: 700; }
.poc-2fa-slider-track { padding: 9px 2px 2px; }
.poc-2fa-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    background: #A99FFC;
    outline: none;
    border-radius: 2px;
    margin: 0;
    cursor: ew-resize;
}

.poc-2fa-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 18px;
    background: #44465E;
    border-radius: 2px;
    cursor: ew-resize;
    box-shadow: inset 1px 1px 0 rgba(255,255,255,0.35);
}

.poc-2fa-slider::-moz-range-thumb {
    width: 14px;
    height: 18px;
    background: #44465E;
    border: none;
    border-radius: 2px;
    cursor: ew-resize;
}

.poc-2fa-level-ticks {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-family: 'Afacad', sans-serif;
    font-size: 9px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: #44465E;
}

.poc-2fa-level-ticks span {
    opacity: 0.5;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: opacity 0.12s ease, color 0.12s ease;
}

.poc-2fa-level-ticks span:hover { opacity: 0.85; }
.poc-2fa-level-ticks span.is-active { opacity: 1; color: #5a6b1f; font-weight: 700; }

.poc-2fa-level.is-2fa-off .poc-2fa-level-name,
.poc-2fa-level.is-2fa-off .poc-2fa-level-ticks span.is-active { color: #C0392B; }
.poc-2fa-level.is-2fa-off .poc-2fa-slider::-webkit-slider-thumb { background: #C0392B; }
.poc-2fa-level.is-2fa-off .poc-2fa-slider::-moz-range-thumb { background: #C0392B; }

.poc-settings-plan {
    border: 1px solid rgba(68,70,94,0.25);
    background: #FAFAFA;
    padding: 10px 12px;
    border-radius: 2px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.poc-settings-plan-name  { font-size: 13px;  }
.poc-settings-plan-price { font-size: 12px; color: #1D070E; }
.poc-settings-plan-price b { font-size: 16px; }
.poc-settings-badge {
    display: inline-block;
    font-size: 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 1px 6px;
    border-radius: 2px;
    background: rgba(68,70,94,0.12);
    color: #44465E;
    opacity: 0.85;
}

.poc-settings-stripe {
    border: 1px dashed rgba(68,70,94,0.35);
    background: #EEEEEE;
    padding: 14px 12px;
    border-radius: 2px;
    font-size: 11px;
    opacity: 0.7;
    text-align: center;
}

.poc-settings-empty {
    font-size: 11px;
    opacity: 0.6;
    padding: 4px 0;
    line-height: 1.5;
}

.poc-settings-userrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(68,70,94,0.1);
}

body:not(.gridtop-ready) { overflow: hidden; }
body:not(.gridtop-ready) #poc-desktop-environment { visibility: hidden; }

.poc-settings-card {
    padding: 7px 8px;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    border-radius: 2px;
    box-shadow: inset 1px 1px 2px rgba(0,0,0,0.08);
    box-sizing: border-box;
}

.poc-settings-card.StripeElement--focus { border-color: #AAA348; background: #FAFAFA; }
.poc-settings-card.StripeElement--invalid { border-color: #b81b1b; }
.poc-settings-saved-card {
    font-size: 12px;
    color: #44465E;
    padding: 7px 8px;
    background: #FAFAFA;
    border: 1px solid rgba(68,70,94,0.25);
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.poc-settings-saved-card .card-meta { letter-spacing: 0.5px; }

.poc-pm-list { margin-bottom: 12px; }
.poc-pm-row {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 7px 9px; margin-bottom: 6px;
    background: #FAFAFA; border: 1px solid rgba(68,70,94,0.22); border-left: 3px solid rgba(68,70,94,0.22);
    border-radius: 2px;
}

.poc-pm-row.is-primary { border-left-color: #AAA348; background: #F6F4E6; }
.poc-pm-meta { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.poc-pm-rank { font-size: 8px; letter-spacing: 1px; text-transform: uppercase; opacity: 0.55; }
.poc-pm-row.is-primary .poc-pm-rank { color: #5a6b1f; opacity: 0.95; font-weight: 700; }
.poc-pm-card { font-size: 12px; color: #44465E; letter-spacing: 0.5px; }
.poc-pm-actions { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.poc-pm-btn {
    appearance: none; font-family: 'Afacad', sans-serif; font-size: 10px; letter-spacing: 0.5px;
    color: #44465E; background: #EEEEEE; border: 1px solid rgba(68,70,94,0.3);
    padding: 3px 8px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.poc-pm-btn:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-pm-btn.is-icon { padding: 3px 6px; font-size: 11px; line-height: 1; }
.poc-pm-btn.is-danger { color: #8a1f1f; }
.poc-pm-btn.is-danger:hover { background: #b81b1b; color: #EEEEEE; border-color: #b81b1b; }
.poc-pm-add-title { display: block; margin-bottom: 5px; }

.auth-pay-row { display: flex; flex-direction: column; gap: 3px; margin-bottom: 10px; text-align: left; }
.auth-pay-label { cursor: url('sprites/cursor_default.ico'), default; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; opacity: 0.55; }
/* Sign-up order review (2026-09-30): what will be charged, confirmed before any charge. */
.auth-pay-review { margin: 10px 0 4px; padding: 6px 0; border-top: 1px solid rgba(68, 70, 94, .2); border-bottom: 1px solid rgba(68, 70, 94, .2); text-align: left; }
.auth-pay-review-h { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; opacity: .55; margin-bottom: 4px; }
.auth-pay-review-row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; padding: 2px 0; color: #44465E; }
.auth-pay-review-row span:last-child { text-align: right; }
.auth-pay-review-row.is-today { font-weight: 600; }
#auth-payment-view select.minimal-input { cursor: url('sprites/cursor_point.ico'), pointer; }
#auth-payment-view select.minimal-input option:disabled { color: #999; }

.auth-pay-card {
	cursor: url('sprites/cursor_input.ico'), 12 12, auto;    padding: 11px 12px;
    background: #FFFFFF;
    border: 1px solid rgba(68, 70, 94, 0.3);
    border-radius: 3px;
    margin-bottom: 10px;
}

.auth-pay-card.StripeElement--focus { border-color: #AAA348; }
.auth-pay-card.StripeElement--invalid { border-color: #b81b1b; }
.auth-pay-check { margin-bottom: 10px; font-size: 12px; }
.auth-pay-check a { color: #AAA348; text-decoration: underline; cursor: url('sprites/cursor_point.ico'), pointer; }

.poc-app-window:not(.is-maximized) .poc-app-content:has(.poc-settings) {
    height: 600px;
    max-height: calc(100vh - 130px);
}

.poc-app-window:not(.is-maximized) .poc-app-content:has(.poc-ib) {
    height: 560px;
    max-height: calc(100vh - 130px);
}

.poc-chat-filetags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 4px 2px 2px;
    margin: 0;
}

.poc-file-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 180px;
    font-family: 'Afacad', sans-serif;
    font-size: 10.5pt;
    color: #44465E;
    background: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.3);
    border-left: 3px solid #AAA348;
    border-radius: 2px;
    padding: 2px 6px;
}

.poc-file-tag-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.poc-file-tag-x {
    border: none;
    background: transparent;
    color: #44465E;
    font-size: 12pt;
    line-height: 1;
    padding: 0 1px;
    cursor: url('sprites/cursor_point.ico'), pointer;
    opacity: 0.6;
    transition: opacity 0.1s;
}

.poc-file-tag-x:hover { opacity: 1; }

/* A Task attached to the next prompt (INSTR > Send to Agent..., 2026-10-05): green. */
.poc-file-tag.is-task { background: #E4F4E6; border-color: rgba(46, 125, 60, 0.45); border-left-color: #2E7D3C; color: #1E4D27; }
.poc-chat-filechip.is-task { background: #E4F4E6; border-color: rgba(46, 125, 60, 0.45); color: #1E4D27; }
.poc-chat-filechip.is-task .poc-chat-filechip-ext { background: #2E7D3C; color: #FAFAFA; }
.poc-instr-send { margin-left: auto; padding-left: 8px; font-size: 9.5pt; color: #2E7D3C; text-decoration: none; white-space: nowrap; }
.poc-instr-send:hover { text-decoration: underline; }

.poc-dir-picker {
    position: fixed;
    z-index: 10010;
    background-color: #FAFAFA;
    border: 1px solid rgba(68, 70, 94, 0.2);
    box-shadow: 4px 4px 15px rgba(30, 32, 44, 0.15);
    padding: 8px 10px;
    min-width: 220px;
    max-width: 320px;
    max-height: 320px;
    overflow: auto;
    font-family: 'Afacad', sans-serif;
    font-size: 10.5pt;
    color: #44465E;
}

.poc-dir-picker .file-tree,
.poc-dir-picker .file-tree-nested { list-style: none; margin: 0; padding-left: 14px; }
.poc-dir-picker > ul.file-tree { padding-left: 0; }
.poc-dir-action {
    display: block;
    padding: 2px 4px;
    border-radius: 2px;
    border-left: 3px solid transparent;
    cursor: url('sprites/cursor_point.ico'), pointer;
    user-select: none;
    transition: background-color 0.1s, border-left-color 0.1s;
}

.poc-dir-action:hover { background-color: rgba(68, 70, 94, 0.1); border-left-color: #44465E; }
.poc-dir-new  { color: #AAA348; font-weight: 600; }
.poc-dir-here { color: #44465E; opacity: 0.85; }
.poc-dir-picker .file-tree-nested { display: none; }
.poc-dir-picker .file-tree-active { display: block; }

#poc-place-banner {
    position: fixed;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #44465E;
    color: #FFEC64;
    padding: 8px 18px;
    font-family: 'Afacad', sans-serif;
    font-size: 12pt;
    z-index: 10100;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    letter-spacing: 0.5px;
    display: none;
}

body.poc-place-mode #poc-place-banner { display: block; }
body.poc-place-mode #poc-desktop-grid .poc-grid-cell {
    cursor: url('sprites/cursor_cross.ico') 12 12, crosshair;
}

body.poc-place-mode .poc-eq-submenu.is-floating,
body.poc-place-mode .poc-chat-box.is-open {
    opacity: 0.4 !important;
    pointer-events: none !important;
}

/* Toasts (stacked since 2026-09-29, gt/toast.js): up to four, newest at the bottom; errors are red, stay longer and close with x. */
#poc-toast-stack {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10200;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    pointer-events: none;
    max-width: min(640px, 92vw);
}
.poc-toast-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #44465E;
    color: #FFEC64;
    padding: 8px 18px;
    font-family: 'Afacad', sans-serif;
    font-size: 11pt;
    letter-spacing: 0.4px;
    border-radius: 2px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: auto;
}
.poc-toast-item.is-show { opacity: 1; transform: translateY(0); }
.poc-toast-item.is-error { background-color: #5A2230; color: #FFE3E3; border-left: 4px solid #D96C6C; padding-right: 10px; }
.poc-toast-count { font-size: 9pt; opacity: .8; }
.poc-toast-count:empty { display: none; }
.poc-toast-x { border: 0; background: transparent; color: inherit; font-size: 14pt; line-height: 1; cursor: url('sprites/cursor_point.ico'), pointer; padding: 0 2px; opacity: .8; }
.poc-toast-x:hover { opacity: 1; }

.poc-dir-picker::-webkit-scrollbar {
    width: 5px;
    background-color: #C8BFE7;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}

.poc-dir-picker::-webkit-scrollbar-track {
    background-color: #C8BFE7;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}

.poc-dir-picker::-webkit-scrollbar-thumb {
    background: #44465E;
    border-radius: 0px;
    cursor: url('sprites/cursor_cross.ico') 12 12, auto;
}

.poc-dir-picker .poc-dir-file {
    display: block;
    padding: 1px 4px;
    border-radius: 2px;
    cursor: url('sprites/cursor_point.ico'), pointer;
}

.poc-dir-picker .poc-dir-file:hover { background-color: rgba(170, 163, 72, 0.18); }

.poc-dir-picker .poc-dir-file.is-disabled { opacity: 0.4; cursor: default; }
.poc-dir-picker .poc-dir-file.is-disabled:hover { background-color: transparent; }

/* System folders (Agentic Matrix, Gridtop, Blueprints) can't be moved: steel blue instead of lilac. */
.poc-desktop-icon.sys-folder > svg > path:nth-of-type(1) { fill: #9DBBD6; }
.poc-desktop-icon.sys-folder > svg > path:nth-of-type(2) { fill: #6F92B2; }
/* A Directory folder you can drop onto. */
.file-tree-caret.dir-drop-target { background-color: rgba(79, 195, 232, 0.28); border-radius: 3px; }

.poc-desktop-icon.folder-view-host {
    filter: grayscale(1) opacity(0.5);
    transition: filter 0.2s ease, transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.poc-grid-cell:hover .poc-desktop-icon.folder-view-host,
.poc-grid-cell.poc-selected .poc-desktop-icon.folder-view-host,
.poc-grid-cell.poc-active-menu .poc-desktop-icon.folder-view-host {
    filter: none;
    transform: scale(1.15);
}

.poc-desktop-icon.folder-view-item:not(.folder-view-host) { cursor: url('sprites/cursor_move.ico') 12 12, move; }
.poc-desktop-icon.folder-view-host { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-fv-label {
    position: absolute;
    top: 102%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 180%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Afacad', sans-serif;
    font-size: 9pt;
    line-height: 1.1;
    color: #2b2c3b;
    text-align: center;
    text-shadow: 0 1px 2px rgba(255,255,255,0.7);
}

.poc-desktop-icon > .poc-fv-label {
    pointer-events: auto !important;
    cursor: url('sprites/cursor_default.ico'), help;
}

.poc-chat-attach {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.poc-chat-thumb {
    display: inline-block;
    border: 1px solid rgba(68, 70, 94, 0.25);
    border-radius: 3px;
    overflow: hidden;
    line-height: 0;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-chat-thumb img {
    display: block;
    max-width: 120px;
    max-height: 120px;
    object-fit: cover;
}
.poc-chat-filechip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    border: 1px solid rgba(68, 70, 94, 0.25);
    border-radius: 3px;
    background: rgba(200, 191, 231, 0.25);
    text-decoration: none;
    color: #44465E;
    font-size: 9.5pt;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-chat-filechip:hover { background: rgba(200, 191, 231, 0.5); }
.poc-chat-filechip-ext { font-weight: 700; font-size: 8pt; color: #AAA348; }
.poc-chat-filechip-name {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html.route-login header,
html.route-login main,
html.route-login footer {
    display: none !important;
}

html.route-login body {
    background-color: #44465E;
    background-image: none;
    overflow: hidden;
}

html.route-login #poc-auth-overlay {
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #44465E;
    z-index: 99999;
}

html.route-marketing #poc-auth-overlay {
    display: none !important;
}

html.route-gridtop footer,
html.route-gridtop .video-section {
    display: none !important;
}

html.route-gridtop body {
    overflow: hidden;
}

html.route-gridtop #poc-auth-overlay {
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background-color: #44465E;
    z-index: 99999;
}

.poc-app-window .poc-app-content {
    overflow-y: auto;
    overflow-x: hidden;
}
.poc-app-window .poc-app-title {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: #EEEEEE;
}
.poc-app-window .poc-app-content::-webkit-scrollbar { width: 7px; height: 7px; background-color: #C8BFE7; }
.poc-app-window .poc-app-content::-webkit-scrollbar-track { background: #C8BFE7; }
.poc-app-window .poc-app-content::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.poc-app-window .poc-app-content::-webkit-scrollbar-thumb:hover { background: #857EB6; }
.poc-app-window .poc-app-content::-webkit-scrollbar-corner { background: #C8BFE7; }

.descriptor-panel.collapsed .descriptor-tabs,
.descriptor-panel.collapsed .knob-container {
    display: none !important;
}

.mini-grid-cell .poc-fv-label,
.mini-grid-cell [class*="-label"] {
    display: none !important;
}

@media (max-width: 768px) {
    #auth-loader-container {
        width: 85%;
        gap: 42px;
    }
    .auth-loader-text {
        font-size: 10px;
        bottom: -20px;
    }
}

.poc-chat-input {
    min-height: 96px;
}

.docked-chat-panel .poc-chat-input {
    height: auto;
    min-height: 92px;
    flex: 0 0 auto;
}

.poc-chat-mdbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 4px 0;
}

.poc-chat-mdbar .poc-md-pushright { margin-left: auto; }
.poc-chat-mdbtn {
    min-width: 22px;
    height: 22px;
    padding: 2px 5px;
    font-family: 'Afacad', sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: #44465E;
    background: #EEEEEE;
    border: 1px solid rgba(68, 70, 94, 0.3);
    border-radius: 2px;
    box-shadow: inset 1px 1px 0 rgba(255,255,255,0.8), 1px 1px 2px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition: all 0.1s ease;
    cursor: url('sprites/cursor_point.ico'), auto;
}
.poc-chat-mdbtn:hover {
    border-color: #AAA348;
    background-color: rgba(127, 120, 197, 0.15);
    box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.1);
}
.poc-chat-mdbtn-save {
    min-width: 0;
    gap: 2px;
    padding: 2px 5px;
}
.poc-chat-mdbtn-save svg {
    width: 13px;
    height: 13px;
    display: block;
    flex: 0 0 auto;
}

.poc-chat-mdbtn-task svg {
    width: 14px;
    height: 14px;
    display: block;
    flex: 0 0 auto;
}
.poc-md-save-tag {
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.3px;
}
.docked-chat-panel .poc-chat-mdbar { gap: 5px; }
.docked-chat-panel .poc-chat-mdbtn { min-width: 20px; height: 20px; font-size: 11px; }
.docked-chat-panel .poc-chat-mdbtn-save { min-width: 0; padding: 2px 5px; }
.docked-chat-panel .poc-chat-mdbtn-save svg { width: 12px; height: 12px; }
.docked-chat-panel .poc-chat-mdbtn-task svg { width: 12px; height: 12px; }

.poc-editor-window .poc-app-content { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.poc-editor-body {
    display: flex; flex-direction: column;
    flex: 1 1 auto; min-height: 0;
    padding: 0 10px 10px; gap: 4px; overflow: hidden;
}
.poc-editor-body .poc-chat-input-wrap { flex: 1 1 auto; min-height: 0; display: flex; }
.poc-editor-body .poc-chat-input { flex: 1 1 auto; min-height: 120px; height: auto; }
.poc-editor-filelist {
    flex: 0 0 auto; max-height: 38%; overflow-y: auto;
    border: 1px solid rgba(68,70,94,0.25); border-radius: 3px;
    background: #FAFAFA; margin-bottom: 2px;
}
.poc-editor-fl-head, .poc-editor-fl-row {
    display: flex; gap: 8px; padding: 3px 8px;
    font-family: 'Afacad', sans-serif; font-size: 12px;
}
.poc-editor-fl-head {
    font-weight: 700; color: #44465E;
    border-bottom: 1px solid rgba(68,70,94,0.2);
    position: sticky; top: 0; background: #EEEEEE;
}
.poc-editor-fl-row {
    color: #2f3145; border-bottom: 1px solid rgba(68,70,94,0.08);
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-editor-fl-row:hover { background: rgba(127,120,197,0.15); }
.poc-editor-fl-row.is-active { background: rgba(170,163,72,0.20); }
.poc-editor-fl-name { flex: 0 0 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-editor-fl-path { flex: 1 1 auto; color: #6a6c82; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-editor-fl-empty { padding: 8px; font-family: 'Afacad', sans-serif; font-size: 12px; color: #6a6c82; }

.drawer-icon-dynamic img { width: 100%; height: 100%; object-fit: contain; display: block; }

.poc-media { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 8px 12px 12px; gap: 8px; }
.poc-media-stage {
    flex: 1 1 auto; min-height: 0;
    display: flex; align-items: center; justify-content: center;
    position: relative;
    background: #1d1e28;
    border: 2px solid #35364c;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.4);
}
.poc-media-video {
    display: block; width: 100%; height: 100%;
    max-width: 100%; max-height: 100%;
    background: #000; outline: none;
}
.poc-media-empty {
    color: #857EB6; font-family: 'Afacad', sans-serif; font-size: 12pt;
    text-align: center; padding: 24px; user-select: none;
}

.poc-chat-icon-row { gap: 6px; }
.poc-chat-chips { margin-left: auto; }

.poc-silver-menu.has-custom { width: 256px; }
.poc-silver-custom { padding: 0 !important; background: transparent; }
.poc-preset-params {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 10px;
    width: 100%;
    box-sizing: border-box;
    background: rgba(68, 70, 94, 0.06);
    border-top: 1px solid rgba(68, 70, 94, 0.18);
}

.poc-preset-tabs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 2px;
    margin-bottom: 2px;
}
.poc-preset-tab {
    font-family: 'JetBrains Mono', monospace;
    font-size: 8.5px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #44465E;
    background: rgba(68, 70, 94, 0.08);
    border: 1px solid rgba(68, 70, 94, 0.18);
    border-radius: 2px;
    padding: 3px 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: url('sprites/cursor_default.ico'), auto;
    transition: background 0.1s, color 0.1s, border-color 0.1s;
}
.poc-preset-tab:hover { background: rgba(68, 70, 94, 0.16); }
.poc-preset-tab.is-active {
    background: #44465E;
    color: #FFEC64;
    border-color: #44465E;
}

.poc-preset-presets-btn {
    margin-top: 8px;
    color: #AAA348;
    border-color: #AAA348;
    font-weight: 700;
}
.poc-preset-presets-btn:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-preset-rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.poc-preset-row {
    display: grid;
    grid-template-columns: 84px 1fr 50px;
    align-items: center;
    gap: 6px;
}
.poc-preset-label {
    font-family: 'Afacad', sans-serif;
    font-size: 11px;
    color: #44465E;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.poc-preset-slider {
    position: static;
    transform: none;
    top: auto;
    left: auto;
    width: 100%;
    height: 4px;
    margin: 0;
    cursor: url('sprites/cursor_ew.ico') 12 12, ew-resize;
}

.poc-preset-slider::-webkit-slider-thumb { cursor: url('sprites/cursor_ew.ico') 12 12, ew-resize; }
.poc-preset-slider::-moz-range-thumb { cursor: url('sprites/cursor_ew.ico') 12 12, ew-resize; }
.poc-preset-num {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Afacad', sans-serif;
    font-size: 11px;
    padding: 1px 3px;
    border: 1px solid rgba(68,70,94,0.3);
    border-radius: 2px;
    background: #EEEEEE;
    color: #1D070E;
}

#poc-right-pane.has-app-overlay { overflow: hidden; }
.descriptor-app-overlay {
    position: absolute;
    inset: 0;
    z-index: 6;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    background: linear-gradient(to bottom, rgba(255,255,255,0.2) 0%, transparent 40%, rgba(0,0,0,0.15) 100%),
                linear-gradient(to bottom, #808390 0%, #a8abb8 15%, #dbdce6 45%, #c0c3cf 80%, #9598a6 100%);
}
.descriptor-app-overlay .descriptor-app-panel { flex: 1 1 auto; }
.descriptor-app-panel { display: flex; flex-direction: column; }
.descriptor-app-head {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 1.5px;
    color: #FFEC64;
    background: #44465E;
    padding: 8px 10px;
    border-bottom: 2px solid #AAA348;
}
.descriptor-app-body {
    font-family: 'Afacad', sans-serif;
    font-size: 13px;
    color: #44465E;
    background: #EEEEEE;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 160px;
}
.descriptor-app-back {
    align-self: flex-start;
    font-family: 'Afacad', sans-serif;
    font-size: 12px;
    color: #44465E;
    background: linear-gradient(180deg, #FDFEFF, #C8CBD5);
    border: 1px solid #44465E;
    border-radius: 3px;
    padding: 4px 10px;
    cursor: url('sprites/cursor_point.ico'), auto;
}
.descriptor-app-back:hover {
    background: linear-gradient(180deg, #FFF7C4, #FFEC64);
    border-color: #AAA348;
}

.docked-conn-panel { display: none; flex-direction: column; gap: 9px; padding: 12px 12px 13px; }
.docked-conn-panel.active { display: flex; }
.descriptor-panel.collapsed .docked-conn-panel { display: none; }
.descriptor-conn-row { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 10px; }
.descriptor-conn-cap { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: #1D070E; font-weight: 700; }
.descriptor-conn-btn {
    justify-self: start;
    font-family: 'Afacad', sans-serif;
    font-size: 12px;
    color: #1D070E;
    background: linear-gradient(180deg, #FDFEFF, #C8CBD5);
    border: 1px solid #44465E;
    border-radius: 2px;
    padding: 3px 10px;
    cursor: url('sprites/cursor_point.ico'), auto;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 104px;
}
.descriptor-conn-btn:hover { background: linear-gradient(180deg, #FFF7C4, #FFEC64); border-color: #AAA348; }
.descriptor-conn-btn .conn-caret { font-size: 8px; opacity: 0.55; }
.descriptor-conn-actions { display: flex; gap: 5px; margin-top: 2px; padding-top: 9px; border-top: 1px solid rgba(68, 70, 94, 0.18); }
.descriptor-conn-action {
    flex: 1;
    font-family: 'Afacad', sans-serif;
    font-size: 11px;
    color: #1D070E;
    background: linear-gradient(180deg, #FDFEFF, #C8CBD5);
    border: 1px solid #44465E;
    border-radius: 2px;
    padding: 4px 2px;
    cursor: url('sprites/cursor_point.ico'), auto;
}
.descriptor-conn-action:hover { background: linear-gradient(180deg, #FFF7C4, #FFEC64); border-color: #AAA348; }

.poc-preset-params.is-vertical { flex-direction: row; align-items: stretch; gap: 8px; }
.poc-preset-params.is-vertical .poc-preset-tabs { grid-auto-flow: row; grid-auto-columns: auto; align-content: start; flex: 0 0 50px; width: 50px; margin-bottom: 0; }
.poc-preset-params.is-vertical .poc-preset-rows { flex: 1; min-width: 0; }
.poc-preset-params.is-vertical .poc-preset-row { grid-template-columns: 68px 1fr 40px; }
.poc-preset-pager { display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 0 2px; }
.poc-preset-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(68, 70, 94, 0.35); cursor: url('sprites/cursor_point.ico'), auto; }
.poc-preset-dot.is-on { background: #FFEC64; box-shadow: 0 0 2px #AAA348; }

.poc-agentbase { display: flex; flex-direction: column; gap: 10px; padding: 10px; height: 100%; box-sizing: border-box; }
.poc-agentbase-section { display: flex; flex-direction: column; flex: 1 1 50%; min-height: 0; }
.poc-agentbase-head { margin-bottom: 6px; }
.poc-agentbase-section .poc-editor-filelist { flex: 1 1 auto; min-height: 0; overflow-y: auto; }

html.route-gridtop body:not(.gridtop-ready) > header,
html.route-gridtop body:not(.gridtop-ready) > main {
    display: none !important;
}
html.route-gridtop body:not(.gridtop-ready),
html.route-login body {
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
}

html.route-gridtop #poc-auth-overlay,
html.route-login #poc-auth-overlay {
    height: 100dvh;
    overscroll-behavior: contain;
    touch-action: none;
}

.poc-sched {
    display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0;
    gap: 8px; padding: 0 12px 12px;
    font-family: 'Afacad', sans-serif; color: #44465E;
}
.poc-sched-head { display: flex; align-items: baseline; gap: 10px; flex: 0 0 auto; flex-wrap: wrap; }
.poc-sched-obj { font-size: 16px; font-weight: 700; color: #44465E; }
.poc-sched-sub { font-size: 11px; color: #857EB6; }
.poc-sched-grid {
    flex: 1 1 auto; min-height: 0;
    display: grid;
    grid-template-columns: 48px repeat(7, 1fr);
    grid-template-rows: 24px repeat(6, minmax(30px, 1fr));
    gap: 2px;
}
.poc-sched-corner, .poc-sched-dayhdr, .poc-sched-timehdr {
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; background: #44465E; color: #EEEEEE; user-select: none; -webkit-user-select: none;
}
.poc-sched-corner { color: #A99FFC; font-size: 9px; letter-spacing: 1px; }
.poc-sched-dayhdr { font-weight: 700; }
.poc-sched-timehdr { color: #A99FFC; font-size: 10px; }
.poc-sched-cell {
    background: #FAFAFA; outline: 1px solid #D8D9E0; outline-offset: -1px;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background 0.08s ease, outline-color 0.08s ease;
}
.poc-sched-cell:hover { outline: 2px solid #A99FFC; outline-offset: -2px; background: #EFEDFB; }
.poc-sched-cell.is-scheduled { background: #FFEC64; outline-color: #AAA348; }
.poc-sched-cell.is-scheduled:hover { background: #FFF18C; outline: 2px solid #AAA348; outline-offset: -2px; }
.poc-sched-foot {
    flex: 0 0 auto; font-size: 12px; padding: 5px 2px 0; border-top: 1px solid #C8CBD5; color: #44465E;
}
.poc-sched-foot.is-cost { color: #7A6A00; font-weight: 600; }
.poc-sched-menu { width: 170px; }


.docked-sched-panel {
    display: none; flex-direction: column; flex: 1; width: 100%;
    box-sizing: border-box; padding: 6px; position: relative; min-height: 0;
}
.docked-sched-panel.active { display: flex; }
.descriptor-panel.expanded-height .docked-sched-panel { padding-right: 28px; }
.docked-sched-panel .poc-sched { padding: 0; gap: 4px; }
.docked-sched-panel .poc-sched-sub { display: none; }
.docked-sched-panel .poc-sched-obj { font-size: 12px; }
.docked-sched-panel .poc-sched-grid {
    grid-template-columns: 26px repeat(7, 1fr);
    grid-template-rows: 13px repeat(6, minmax(10px, 1fr));
    gap: 1px;
}
.docked-sched-panel .poc-sched-corner { font-size: 7px; letter-spacing: 0; }
.docked-sched-panel .poc-sched-dayhdr { font-size: 8px; }
.docked-sched-panel .poc-sched-timehdr { font-size: 7px; }
.docked-sched-panel .poc-sched-foot { font-size: 9px; padding: 2px 0 0; }

.poc-logs {
    display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0;
    padding: 0 12px 12px; font-family: 'Afacad', sans-serif; color: #44465E;
}
.poc-logs-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 4px 0 6px; }
.poc-logs-btn {
    font-family: 'Afacad', sans-serif; background: #44465E; color: #EEEEEE;
    border: 1px solid #1D070E; padding: 4px 12px; border-radius: 2px;
    font-size: 11px; letter-spacing: 1px; text-transform: uppercase;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-logs-btn:hover { background: #AAA348; color: #1D070E; }
.poc-logs-btn.is-danger { background: #8a1f1f; color: #fff; border-color: #5c1414; }
.poc-logs-stat { margin-left: auto; font-size: 11px; color: #857EB6; }
.poc-logs-body {
    flex: 1 1 auto; min-height: 0; overflow-y: auto;
    background: #FAFAFA; border: 1px solid #D8D9E0;
}
.poc-logs-empty { padding: 16px; text-align: center; color: #857EB6; font-size: 12px; }
.poc-logs-session {
    position: sticky; top: 0; z-index: 1;
    background: #44465E; color: #FFEC64;
    font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
    padding: 4px 10px;
}
.poc-logs-row {
    display: grid; grid-template-columns: 82px 70px 132px 1fr; gap: 8px;
    padding: 2px 10px; font-size: 12px; border-bottom: 1px solid #EFEFF3; align-items: baseline;
}
.poc-logs-row:hover { background: #EFEDFB; }
.poc-logs-time { color: #857EB6; font-variant-numeric: tabular-nums; }
.poc-logs-cat { color: #A99FFC; text-transform: uppercase; font-size: 10px; }
.poc-logs-act { font-weight: 600; }
.poc-logs-det { color: #44465E; word-break: break-word; }

.poc-mb { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0 12px 12px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-mb-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 0 6px; }
.poc-mb-find { flex: 0 0 200px; max-width: 240px; }
.poc-mb-hint { font-size: 11px; color: #857EB6; margin-left: auto; }
.poc-mb-chip { padding: 2px 10px !important; font-size: 10px !important; letter-spacing: 0.3px !important; }
.poc-mb-wftag { flex: 0 0 auto; font-size: 9px; letter-spacing: 0.5px; text-transform: uppercase; color: #1D070E; background: linear-gradient(#EDEDF2, #C9CAD6); border: 1px solid #AAA348; padding: 1px 6px; max-width: 96px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-mb-cols { flex: 1 1 auto; min-height: 0; display: flex; gap: 10px; overflow-x: auto; overflow-y: hidden; padding-bottom: 4px; align-items: stretch; }
.poc-mb-empty { padding: 20px; color: #857EB6; font-size: 12px; }
.poc-mb-col { flex: 0 0 232px; display: flex; flex-direction: column; min-height: 0; overflow-y: auto; background: #FAFAFA; border: 1px solid #D8D9E0; }
.poc-mb-colhead { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 6px; background: #44465E; color: #EEEEEE; padding: 5px 8px; }
.poc-mb-colic { width: 18px; height: 18px; flex: 0 0 18px; display: inline-flex; }
.poc-mb-colic svg { width: 18px; height: 18px; }
.poc-mb-colname { flex: 1 1 auto; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-mb-saverole { padding: 2px 8px !important; font-size: 9px !important; letter-spacing: 0.5px !important; }
.poc-mb-colx { background: transparent; border: none; color: #EEEEEE; font-size: 16px; line-height: 1; cursor: url('sprites/cursor_point.ico'), pointer; padding: 0 2px; }
.poc-mb-colx:hover { color: #FF8888; }
.poc-mb-role { font-size: 10px; color: #857EB6; padding: 3px 8px; border-bottom: 1px solid #EFEFF3; }
.poc-mb-sec { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #A99FFC; background: #EFEDFB; padding: 3px 8px; }
.poc-mb-none { font-size: 11px; color: #B9BAC4; padding: 4px 10px; }
.poc-mb-item { display: flex; align-items: center; gap: 6px; padding: 3px 8px; border-bottom: 1px solid #EFEFF3; font-size: 12px; }
.poc-mb-item:hover { background: #EFEDFB; }
.poc-mb-item-ic { width: 16px; height: 16px; flex: 0 0 16px; display: inline-flex; }
.poc-mb-item-ic svg { width: 16px; height: 16px; }
.poc-mb-item-name { flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-mb-additem {
    flex: 0 0 auto; font-family: 'Afacad', sans-serif; background: transparent;
    border: 1px solid #A99FFC; color: #44465E; font-size: 9px; letter-spacing: 0.5px;
    text-transform: uppercase; padding: 1px 6px; border-radius: 2px;
    cursor: url('sprites/cursor_point.ico'), pointer; opacity: 0; transition: opacity 0.1s;
}
.poc-mb-item:hover .poc-mb-additem { opacity: 1; }
.poc-mb-additem:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }

.poc-cfg { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-cfg-tabs { flex: 0 0 auto; display: flex; gap: 2px; padding: 6px 12px 0; background: #44465E; }
.poc-cfg-tab { font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase; color: #C9C6E6; background: #383A4F; border: 1px solid #1D070E; border-bottom: none; padding: 5px 14px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-cfg-tab:hover { color: #FFEC64; }
.poc-cfg-tab.active { color: #1D070E; background: #EEEEEE; font-weight: 700; }
.poc-cfg-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 10px; background: #EEEEEE; }
.poc-cfg-section { display: flex; flex-direction: column; gap: 5px; }
.poc-cfg-sechead { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #A99FFC; }
.poc-cfg-instruction { min-height: 92px; resize: vertical; }
.poc-cfg-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.poc-cfg-ddrow { display: flex; flex-direction: column; gap: 3px; min-width: 160px; flex: 1 1 160px; }
.poc-cfg-cap { font-size: 11px; color: #857EB6; }
.poc-cfg-dd { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: 'Afacad', sans-serif; font-size: 13px; color: #1D070E; background: #FAFAFA; border: 1px solid rgba(68,70,94,0.4); padding: 5px 10px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-cfg-dd:hover { border-color: #AAA348; }
.poc-cfg-ddcaret { color: #857EB6; font-size: 10px; }
.poc-cfg-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.poc-cfg-btn { padding: 4px 12px !important; font-size: 10px !important; }
.poc-cfg-note { font-size: 11px; color: #857EB6; }
.poc-cfg-list { max-height: none; flex: 0 0 auto; }
.poc-cfg-itemrow { display: flex; align-items: center; gap: 8px; padding: 4px 8px; border-bottom: 1px solid rgba(68,70,94,0.08); font-size: 13px; }
.poc-cfg-itemrow:hover { background: rgba(127,120,197,0.12); }
.poc-cfg-itemic { width: 16px; height: 16px; flex: 0 0 16px; display: inline-flex; }
.poc-cfg-itemic svg { width: 16px; height: 16px; }
.poc-cfg-itemname { flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-cfg-itemloc { flex: 0 0 auto; font-size: 11px; color: #6a6c82; max-width: 40%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-cfg-mini { flex: 0 0 auto; font-family: 'Afacad', sans-serif; background: transparent; border: 1px solid #A99FFC; color: #44465E; font-size: 9px; letter-spacing: 0.5px; text-transform: uppercase; padding: 1px 7px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-cfg-mini:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-cfg-mini:disabled { opacity: 0.3; cursor: default; }
.poc-cfg-mini:disabled:hover { background: transparent; color: #44465E; border-color: #A99FFC; }

.poc-hl { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0 12px 12px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-hl-head { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 4px 0 8px; }
.poc-hl-pill { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 3px 12px; border-radius: 2px; background: #857EB6; color: #fff; }
.poc-hl-pill.is-online { background: #2e8b3d; }
.poc-hl-pill.is-degraded { background: #AAA348; color: #1D070E; }
.poc-hl-pill.is-offline, .poc-hl-pill.is-notset { background: #8a1f1f; }
.poc-hl-refresh { margin-left: auto; padding: 3px 12px !important; }
.poc-hl-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.poc-hl-card { background: #FAFAFA; border: 1px solid #D8D9E0; }
.poc-hl-card-h { background: #44465E; color: #EEEEEE; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; }
.poc-hl-row { display: grid; grid-template-columns: 158px 1fr; gap: 8px; padding: 3px 10px; font-size: 12px; border-bottom: 1px solid #EFEFF3; }
.poc-hl-row:last-child { border-bottom: none; }
.poc-hl-k { color: #857EB6; }
.poc-hl-v { color: #44465E; word-break: break-word; }
.poc-hl-v.is-ok { color: #2e8b3d; font-weight: 600; }
.poc-hl-v.is-warn { color: #8a6d00; }
.poc-hl-v.is-bad { color: #8a1f1f; }
.poc-hl-note { font-size: 11px; color: #857EB6; padding: 6px 10px; }
.poc-hl-setup { flex: 0 0 auto; margin-top: 8px; border-top: 1px solid #C8CBD5; padding-top: 8px; }
.poc-hl-setup-h { font-size: 12px; font-weight: 700; color: #44465E; }
.poc-hl-setup .poc-hl-note { padding: 4px 0; }
.poc-hl-choices { display: flex; gap: 16px; margin: 6px 0 8px; font-size: 12px; }
.poc-hl-choice { display: inline-flex; align-items: center; gap: 4px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-hl-progress { height: 14px; background: #EEEEEE; border: 1px solid #1D070E; margin: 8px 0 4px; overflow: hidden; }
.poc-hl-bar { height: 100%; width: 0; background: linear-gradient(#AAA348, #FFEC64); transition: width 0.15s; }
.poc-hl-plabel { font-size: 11px; color: #44465E; min-height: 14px; }
.poc-hl-plabel b { color: #1D070E; }

.poc-ib { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0 12px 12px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-ib-head { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 4px 0 6px; }
.poc-ib-pill { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 3px 12px; border-radius: 2px; background: #857EB6; color: #fff; white-space: nowrap; }
.poc-ib-pill.is-on { background: #2e8b3d; }
.poc-ib-pill.is-off { background: #8a1f1f; }
.poc-ib-search { flex: 1 1 auto; min-width: 80px; }
.poc-ib-search::-webkit-search-cancel-button, .poc-ib-search::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
.poc-ib-group, .poc-ib-refresh { padding: 5px 12px !important; white-space: nowrap; }
.poc-ib-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 0 0 6px; }
.poc-ib-btn { font-family: 'Afacad', sans-serif; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; background: #44465E; color: #EEEEEE; border: 1px solid #1D070E; border-radius: 2px; padding: 4px 10px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-ib-btn:hover { background: #AAA348; color: #1D070E; }
.poc-ib-btn:disabled { opacity: 0.4; cursor: default; }
.poc-ib-stat { margin-left: auto; font-size: 11px; color: #857EB6; }
.poc-ib-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; border: 1px solid #D8D9E0; background: #FAFAFA; }
.poc-ib-empty { padding: 16px; text-align: center; color: #857EB6; font-size: 12px; }
.poc-ib-group { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; gap: 8px; background: #44465E; color: #EEEEEE; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 3px 10px; }
.poc-ib-group-count { margin-left: auto; color: #A99FFC; }
.poc-ib-row { display: flex; align-items: center; gap: 8px; padding: 5px 10px; border-bottom: 1px solid #EFEFF3; }
.poc-ib-row:hover { background: #EFEDFB; }
.poc-ib-row.is-active { box-shadow: inset 3px 0 0 #AAA348; }
.poc-ib-fav { flex: 0 0 16px; width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; color: #857EB6; font-size: 12px; }
.poc-ib-fav img { width: 16px; height: 16px; }
.poc-ib-meta { flex: 1 1 auto; min-width: 0; }
.poc-ib-title { font-size: 12px; color: #1D070E; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-ib-url { font-size: 10px; color: #857EB6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-ib-acts { flex: 0 0 auto; display: flex; gap: 4px; }
.poc-ib-act { font-family: 'Afacad', sans-serif; font-size: 10px; letter-spacing: 0.5px; text-transform: uppercase; background: #EEEEEE; color: #44465E; border: 1px solid rgba(68,70,94,0.3); border-radius: 2px; padding: 3px 8px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-ib-act:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-ib-setup { padding: 14px; }
.poc-ib-setup-h { font-size: 13px; font-weight: 700; color: #44465E; }
.poc-ib-note { font-size: 12px; color: #857EB6; padding: 6px 0; line-height: 1.5; }
.poc-ib-steps { margin: 4px 0 10px; padding-left: 20px; font-size: 12px; color: #44465E; line-height: 1.7; }
.poc-ib-setup-acts { display: flex; align-items: center; }

.poc-rp-toolbar { position: sticky; top: 0; z-index: 5; padding: 10px 12px; display: flex; gap: 6px; box-sizing: border-box; border-bottom: 1px solid rgba(68,70,94,0.3); background: rgba(216,217,224,0.75); backdrop-filter: blur(2px); }
.poc-rp-loadbtn { width: 100%; }
.poc-rp-loadbtn.poc-rp-deploy { background: #AAA348; color: #1D070E; border-color: #AAA348; }
.poc-rp-loadbtn.poc-rp-deploy:hover { background: #b8b052; }
.descriptor-panel.poc-agent-staged { box-shadow: inset 0 0 0 2px #AAA348; }

.poc-dom-searchrow { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:6px; }
.poc-dom-search { flex:1 1 180px; min-width:140px; }
.poc-dom-sort { flex:0 0 auto; }
.poc-dom-results { margin-top:12px; display:flex; flex-direction:column; gap:4px; }
.poc-dom-row { display:flex; align-items:center; gap:10px; padding:9px 12px; background:linear-gradient(180deg,#fbfcfe,#eceef2); border:1px solid #c2c6d0; border-left:3px solid #857EB6; border-radius:3px; }
.poc-dom-name { flex:1 1 auto; font-family:'JetBrains Mono',monospace; font-size:13px; color:#1D070E; word-break:break-all; }
.poc-dom-avail { flex:0 0 auto; font-size:11px; font-weight:700; letter-spacing:.4px; padding:2px 8px; border-radius:10px; }
.poc-dom-avail.av-available { color:#1f7a32; background:#dff3e4; }
.poc-dom-avail.av-taken { color:#9a2b2b; background:#f6dede; }
.poc-dom-avail.av-unknown { color:#6b6478; background:#e6e3ee; }
.poc-dom-price { flex:0 0 auto; font-family:'Afacad',sans-serif; font-size:14px; color:#44465E; min-width:84px; text-align:right; }

.poc-dom-filtermenu { z-index:9999; width:264px; max-height:72vh; overflow:auto; background:linear-gradient(180deg,#f7f8fb,#e4e6ec); border:1px solid #878b99; border-radius:4px; box-shadow:0 10px 28px rgba(29,7,14,.3); font-family:'Afacad',sans-serif; color:#1D070E; }
.poc-dom-fm-head { display:flex; align-items:center; justify-content:space-between; padding:8px 10px; background:#44465E; color:#FFEC64; font-size:12px; letter-spacing:1px; text-transform:uppercase; border-bottom:2px solid #AAA348; position:sticky; top:0; }
.poc-dom-fm-x { background:none; border:none; color:#EEEEEE; font-size:18px; line-height:1; cursor: url('sprites/cursor_point.ico'), pointer; padding:0 4px; }
.poc-dom-fm-x:hover { color:#FFEC64; }
.poc-dom-fm-sec { padding:8px 10px; border-bottom:1px solid #d0d2da; }
.poc-dom-fm-h { font-size:11px; font-weight:700; letter-spacing:.6px; color:#857EB6; text-transform:uppercase; margin-bottom:5px; }
.poc-dom-fm-chk { display:flex; align-items:center; gap:6px; font-size:13px; padding:3px 0; cursor: url('sprites/cursor_point.ico'), pointer; color:#2a2535; }
.poc-dom-fm-chk input { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dom-fm-range { display:flex; align-items:center; gap:6px; margin-top:6px; }
.poc-dom-fm-num { width:74px; flex:0 0 auto; padding:5px 7px; }
.poc-dom-fm-dash { color:#857EB6; }
.poc-dom-fm-tlds { max-height:184px; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:0 8px; }
.poc-dom-fm-empty { color:#7D6988; font-size:12px; padding:4px 0; }
.poc-dom-fm-foot { padding:8px 10px; display:flex; justify-content:flex-end; position:sticky; bottom:0; background:#e4e6ec; }

.poc-dom-btnrow { display:flex; gap:10px; flex-wrap:wrap; margin:8px 0 4px; }
.poc-dom-rowwrap { display:flex; flex-direction:column; }
.poc-dom-row.is-exact { border-left-color:#AAA348; box-shadow:0 0 0 1px #AAA348 inset; }
.poc-dom-namelink { color:#1D070E; text-decoration:none; }
.poc-dom-namelink:hover { color:#7F78C5; text-decoration:underline; }
.poc-dom-detbtn { flex:0 0 auto; font-family:'Afacad',sans-serif; font-size:12px; color:#44465E; background:#e4e6ec; border:1px solid #c2c6d0; border-radius:3px; padding:3px 9px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dom-detbtn:hover { background:#fff; border-color:#A99FFC; color:#1D070E; }
.poc-dom-details { margin:2px 0 6px; padding:8px 12px; background:#f3f2f7; border:1px solid #d0d2da; border-left:3px solid #A99FFC; border-radius:0 0 3px 3px; }
.poc-dom-links { display:flex; flex-wrap:wrap; gap:6px 14px; margin-bottom:6px; }
.poc-dom-link { font-family:'Afacad',sans-serif; font-size:12.5px; color:#7F78C5; text-decoration:none; }
.poc-dom-link:hover { color:#44465E; text-decoration:underline; }
.poc-dom-whois { font-family:'Afacad',sans-serif; font-size:12.5px; color:#43404c; }
.poc-dom-wrow { display:flex; gap:8px; padding:1px 0; }
.poc-dom-wk { flex:0 0 84px; color:#857EB6; }
.poc-dom-wv { flex:1 1 auto; color:#2a2535; word-break:break-word; }

.poc-dom-renew { font-size:11px; color:#857EB6; font-weight:400; }
.poc-dom-fm-tldsearch { width:100%; margin:0 0 6px; padding:5px 8px; box-sizing:border-box; }


.poc-webfront-cpanel { border: 1px solid rgba(0,0,0,0.15); background: #F4F4F6; padding: 4px 2px; }
.poc-webfront-cpanel .poc-dirtree { list-style: none; margin: 0; padding-left: 14px; }
.poc-webfront-cpanel > .poc-dirtree { padding-left: 4px; }
.poc-dirnode { list-style: none; }
.poc-dirnode-row { display: flex; align-items: center; gap: 4px; padding: 2px 4px; cursor: url('sprites/cursor_point.ico'), pointer; font-family: 'Afacad', sans-serif; font-size: 13px; color: #2A2A33; }
.poc-dirnode-row:hover { background: rgba(68,70,94,0.10); }
.poc-dirnode-twisty { display: inline-block; width: 12px; text-align: center; opacity: 0.7; font-size: 11px; }
.poc-dirnode-name { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.poc-cfg-body::-webkit-scrollbar { width: 3px; background-color: #C8BFE7; }
.poc-cfg-body::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.poc-cfg .poc-settings-tabs { padding: 8px 12px 0; }

.poc-seo-meter { margin: -2px 0 6px; }
.poc-seo-meter.ok { color: #2e7d32; opacity: 1; }
.poc-seo-meter.warn { color: #9a7d00; opacity: 1; }
.poc-seo-meter.bad { color: #a11; opacity: 1; }
.poc-seo-chips { display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0 6px; }
.poc-seo-chips .poc-chat-chip { max-width: none; }
.poc-seo-check { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 4px; }
.poc-seo-check-item { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.poc-seo-check-item.ok { color: #2e7d32; }
.poc-seo-check-item.no { color: #a11; }
.poc-seo-dot { width: 12px; display: inline-block; text-align: center; }
.poc-seo-checkline { display: flex; gap: 18px; margin: 4px 0 8px; }
.poc-seo-chk { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: #1D070E; opacity: 0.85; }
.poc-seo-serp { background: #fff; border: 1px solid rgba(0,0,0,0.15); padding: 8px 10px; margin: 2px 0 8px; }
.poc-seo-serp-url { color: #006621; font-size: 12px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-seo-serp-title { color: #1a0dab; font-size: 15px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-seo-serp-desc { color: #4d5156; font-size: 12px; line-height: 1.35; }
.poc-seo-gen { font-family: 'Consolas','Menlo',monospace; font-size: 11px; white-space: pre; }

.poc-email-list { margin: 4px 0 8px; }
.poc-email-row { display: flex; align-items: center; gap: 8px; padding: 5px 4px; border-bottom: 1px solid rgba(68,70,94,0.12); }
.poc-email-row .em-addr { flex: 1; color: #1D070E; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-email-row .em-use { font-size: 11px; opacity: 0.6; white-space: nowrap; }
.poc-email-empty { opacity: 0.6; font-size: 12px; padding: 6px 4px; }
.poc-email-suffix { opacity: 0.75; padding: 0 6px 0 2px; font-size: 13px; color: #1D070E; }
.poc-email-addrow { display: flex; align-items: center; }
.poc-email-addrow .poc-settings-input { flex: 1; }

.poc-chat-wait { display: inline-block; vertical-align: -2px; transform-origin: 50% 50%; animation: poc-hourglass 8s ease-in-out infinite; }
@keyframes poc-hourglass { 0%, 44% { transform: rotate(0deg); } 50%, 94% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
/* "Engaged" while a reply is pending: the dots draw one, two, three, then back to none. */
.poc-chat-waitrow { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; line-height: 1; }
.poc-chat-msg:has(.poc-chat-waitrow) .who { vertical-align: middle; }
.poc-chat-wait-word { font-size: 13px; letter-spacing: 0.3px; color: #44465E; opacity: 0.9; line-height: 1; }
.poc-chat-wait-dots { letter-spacing: 1px; color: #44465E; }
.poc-chat-wait-dots i { font-style: normal; opacity: 0; }
.poc-chat-wait-dots i:nth-child(1) { animation: poc-wait-dot1 3.2s steps(1, end) infinite; }
.poc-chat-wait-dots i:nth-child(2) { animation: poc-wait-dot2 3.2s steps(1, end) infinite; }
.poc-chat-wait-dots i:nth-child(3) { animation: poc-wait-dot3 3.2s steps(1, end) infinite; }
@keyframes poc-wait-dot1 { 0%, 24% { opacity: 0; } 25%, 100% { opacity: 1; } }
@keyframes poc-wait-dot2 { 0%, 49% { opacity: 0; } 50%, 100% { opacity: 1; } }
@keyframes poc-wait-dot3 { 0%, 74% { opacity: 0; } 75%, 100% { opacity: 1; } }
.poc-progress { height: 14px; background: #E4E1F0; border: 1px solid #B7B0DA; border-radius: 2px; overflow: hidden; position: relative; }
.poc-progress-fill { height: 100%; width: 0; background: linear-gradient(180deg, #9E96D6 0%, #857EB6 100%); transition: width 0.3s ease; }
.poc-progress.is-indeterminate .poc-progress-fill { width: 40%; animation: poc-prog-indet 1.15s ease-in-out infinite; }
@keyframes poc-prog-indet { 0% { margin-left: -40%; } 100% { margin-left: 100%; } }
.poc-progress-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 10px; letter-spacing: 0.3px; color: #2A2A33; }

.poc-media-controls { display: flex; align-items: center; gap: 8px; padding: 6px 4px 2px; }
.poc-media-controls .poc-progress { flex: 1; }
.poc-media-procmsg { font-size: 11px; color: #C8BFE7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/jetbrains-mono-400.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/jetbrains-mono-700.woff2') format('woff2'); }
.poc-term { display: flex; flex-direction: column; height: 100%; background: #000; font-family: 'JetBrains Mono','Consolas',monospace; font-size: 13.5px; }
.poc-term-tabs { display: flex; gap: 2px; padding: 6px 8px 0; background: #000; flex: 0 0 auto; }
.poc-term-tab {  font-size: 11px; padding: 4px 12px; color: #5A5A6E; border: 1px solid #16161c; border-bottom: none; border-radius: 4px 4px 0 0; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-term-tab.on { color: #8FD3FF; background: #060a16; text-shadow: 0 0 5px rgba(143,211,255,.4); }
.poc-term-tab.dis { cursor: url('sprites/cursor_point.ico') ; opacity: 0.55; cursor: default; }
.poc-term-screen { flex: 1 1 auto; overflow-y: auto; overflow-x: hidden; padding: 10px 12px; line-height: 1.6; }
.poc-term-line { white-space: pre-wrap; word-break: break-word; }
.poc-term-inputrow { flex: 0 0 auto; display: flex; align-items: center; padding: 2px 12px 10px; }
.poc-term-prompt { white-space: nowrap; }
.poc-term-input { cursor: url('sprites/cursor_input.ico') 12 12, text; flex: 1 1 auto; background: transparent; border: none; outline: none; color: #8FD3FF; font-family: inherit; font-size: inherit; caret-color: #8FD3FF; padding: 0; text-shadow: 0 0 2px rgba(143,211,255,.6), 0 0 6px rgba(143,211,255,.5); }
.poc-term-input::selection { cursor: url('sprites/cursor_input.ico') 12 12, text; background: rgba(143,211,255,.28); }
.term-dir { color: #9B87F5; font-weight: 700; text-shadow: 0 0 5px rgba(155,135,245,.45); }
.term-sl { color: #FFFFFF; text-shadow: 0 0 2px rgba(255,255,255,.5), 0 0 6px rgba(255,255,255,.35); }
.term-cn { color: #8FD3FF; text-shadow: 0 0 2px rgba(143,211,255,.6), 0 0 6px rgba(143,211,255,.5); }
.term-cmd, .term-out { color: #8FD3FF; text-shadow: 0 0 2px rgba(143,211,255,.55), 0 0 6px rgba(143,211,255,.45); }
.term-ag { color: #7D6988; text-shadow: 0 0 2px rgba(125,105,136,.6), 0 0 6px rgba(125,105,136,.5); }
.term-err { color: #E24A4A; text-shadow: 0 0 2px rgba(226,74,74,.55), 0 0 6px rgba(226,74,74,.45); }
.term-dim { color: #5A5A6E; }
.poc-term-screen::-webkit-scrollbar { width: 7px; height: 7px; background-color: #0a0a0a; }
.poc-term-screen::-webkit-scrollbar-track { background: #0a0a0a; }
.poc-term-screen::-webkit-scrollbar-thumb { background: #16263f; border-radius: 0; }
.poc-term-screen::-webkit-scrollbar-thumb:hover { background: #8FD3FF; }

.trunc-ico { position: relative; display: inline-block; width: 100%; height: 100%; line-height: 0; }
.trunc-ico img { width: 100%; height: 100%; object-fit: contain; display: block; }
.trunc-ico .trunc-eyes { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.2s ease; pointer-events: none; }
.trunc-ico.is-countering .trunc-eyes { opacity: 1; }
.poc-term.truncator .term-dir { color: #FFFFFF; text-shadow: 0 0 3px rgba(255,255,255,.22); }
.poc-term.truncator .term-sl { color: #FFEC64; text-shadow: 0 0 3px rgba(255,236,100,.26); }
.poc-term.truncator .term-cn { color: #FF6A5A; text-shadow: 0 0 3px rgba(255,106,90,.22); }
.poc-term.truncator .term-cmd, .poc-term.truncator .term-out { color: #FF6A5A; text-shadow: 0 0 3px rgba(255,106,90,.2); }
.poc-term.truncator .poc-term-input { cursor: url('sprites/cursor_input.ico') 12 12, text; color: #FF6A5A; caret-color: #FF6A5A; text-shadow: 0 0 3px rgba(255,106,90,.2); }
.poc-term.truncator .term-ag { color: #FFB0A0; text-shadow: 0 0 3px rgba(255,176,160,.3); }
.poc-term.truncator .term-err { color: #FF6A5A; }
.poc-term.truncator .poc-term-tab.on { color: #FF6A5A; background: #140606; text-shadow: 0 0 3px rgba(255,106,90,.3); }
.poc-term.truncator .poc-term-screen::-webkit-scrollbar-thumb { background: #3a1414; }
.poc-term.truncator .poc-term-screen::-webkit-scrollbar-thumb:hover { background: #FF6A5A; }

.poc-eq-band.poc-param-na,
.knob-container.poc-param-na,
.poc-preset-row.poc-param-na { opacity: 0.35; }
.poc-eq-band.poc-param-na .poc-eq-slider,
.poc-eq-band.poc-param-na .poc-number,
.knob-container.poc-param-na .knob-body,
.knob-container.poc-param-na .knob-val,
.poc-preset-row.poc-param-na input { pointer-events: none; }

.docked-cpanel-panel {
    display: none; flex-direction: column; flex: 1; width: 100%;
    box-sizing: border-box; padding: 6px; position: relative; min-height: 0;
    overflow-y: auto;
}
.docked-cpanel-panel.active { display: flex; }
.descriptor-panel.expanded-height .docked-cpanel-panel { padding-right: 28px; }

.poc-cfg-mini:disabled { opacity: 0.5; cursor: default; }

.poc-rule-row { align-items: center; }
.poc-rule-check { accent-color: #A99FFC; width: 15px; height: 15px; margin: 0 4px 0 0; flex: 0 0 auto; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-rule-usage { color: #8A8CA6; font-size: 12px; }

.poc-cpanel-edit .poc-cpanel-edit-ta {
    flex: 1 1 auto; min-height: 0; resize: none;
    font-family: 'JetBrains Mono', monospace; font-size: 12px; line-height: 1.45;
    white-space: pre; overflow: auto;
}

#autocoding-left-panel { margin-top: auto; }
#autocoding-left-panel + .file-explorer-panel { margin-top: 0; }

.poc-ib-viewtabs { padding: 8px 12px 0; }
.poc-ib-view { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.poc-ib-infoface { overflow-y: auto; padding: 10px 12px 14px; gap: 10px; }
.poc-if-chooser { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.poc-if-chooser-lbl { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: #44465E; opacity: .6; }
.poc-if-chooser .poc-settings-select { flex: 1 1 auto; }
.poc-if-sec { background: #FAFAFA; border: 1px solid rgba(68,70,94,0.22); border-radius: 2px; padding: 9px 11px; margin-bottom: 9px; }
.poc-if-sec-h { font-size: 12px; font-weight: 700; letter-spacing: .3px; color: #1D070E; margin-bottom: 2px; }
.poc-if-sec-sub { font-size: 11px; color: #6A6C82; margin-bottom: 7px; line-height: 1.35; }
.poc-if-sub2 { font-size: 11px; color: #6A6C82; margin: 7px 0 3px; }
.poc-if-empty { font-size: 12px; color: #8A8CA6; padding: 3px 0; }
.poc-if-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12px; }
.poc-if-co { color: #26283B; font-weight: 600; }
.poc-if-co.is-off { font-weight: 400; opacity: .6; }
.poc-if-host, .poc-if-count, .poc-if-idval { color: #6A6C82; font-size: 11px; margin-left: auto; text-align: right; }
.poc-if-idval { font-family: "JetBrains Mono", monospace; word-break: break-all; max-width: 55%; }
.poc-if-cookie { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12px; }
.poc-if-cookie.poc-if-deleted { opacity: .4; text-decoration: line-through; }
.poc-if-cookie-name { font-family: "JetBrains Mono", monospace; font-size: 11px; color: #26283B; min-width: 90px; }
.poc-if-cookie-desc { color: #6A6C82; font-size: 11px; margin-left: auto; text-align: right; }
.poc-if-cookie-desc.is-known { color: #44465E; }
.poc-if-tag { font-size: 9px; letter-spacing: .5px; text-transform: uppercase; padding: 1px 6px; border-radius: 2px; border: 1px solid rgba(68,70,94,0.3); color: #44465E; }
.poc-if-tag.is-third { background: #F3D9D9; border-color: #C98A8A; color: #7A1D1D; }
.poc-if-tag.is-first { background: #E2E9DE; border-color: #9DB58C; color: #33502A; }
.poc-if-tag.is-on { background: #F3D9D9; border-color: #C98A8A; color: #7A1D1D; }
.poc-if-tag.is-off { background: #E7E7EE; color: #8A8CA6; }

.poc-ib-update { background: #AAA348 !important; color: #1D070E !important; }

.wf-minimap { position: relative; flex: 1 1 auto; min-height: 0; width: 100%; overflow: hidden; margin: 2px 0 6px; }
.descriptor-panel.collapsed .wf-minimap { display: none; }
.wf-minimap-glyph { position: absolute; width: calc(100% / 12); height: calc(100% / 8); box-sizing: border-box; padding: 4%; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.wf-minimap-glyph svg, .wf-minimap-glyph img { width: 78%; height: 78%; display: block; filter: drop-shadow(0.5px 0.5px 0.5px rgba(29, 7, 14, 0.35)); }
.wf-minimap-glyph.is-host svg, .wf-minimap-glyph.is-host img { filter: grayscale(1); opacity: 0.38; }

.poc-spawn-bp-only { display: none; }
body[data-subview="blueprint"] .poc-spawn-bp-only { display: block; }
body[data-subview] #poc-spawn-blueprint { display: none; }

/* Sign Up — the secondary action under Login. Mirrors .poc-auth-submit's geometry so the
   two read as a pair, but inverted (outline, not filled) so Login stays the primary.
   Restored 2026-08-27; the element existed but was display:none with no text. */
.poc-auth-secondary {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 12px;
    box-sizing: border-box;
    font-family: 'Afacad', sans-serif;
    font-size: 14pt;
    text-align: center;
    text-decoration: none;
    color: #44465E;
    background-color: transparent;
    border: 1px solid #44465E;
    border-radius: 3px;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.poc-auth-secondary:hover {
    background-color: #44465E;
    color: #EEEEEE;
}

/* Model picker (Settings > LLM Integrations > Choose model). Reuses .poc-llm-row for
   each result; this only bounds the list so ten results cannot push the tab off-screen. */
.poc-llm-modelresults { max-height: 320px; overflow-y: auto; margin-top: 8px; }
.poc-llm-modelresults .poc-llm-row { padding: 6px 8px; }
.poc-llm-modelpick .poc-settings-input { width: 100%; }

/* Signed out: the sign-in card's "Autocomputing" heading goes to the homepage (2026-09-17). It looks the
   same as before; only the cursor says it's a link. */
.auth-home-link, .auth-home-link:visited, .auth-home-link:hover, .auth-home-link:focus { color: inherit; text-decoration: none; }
.auth-home-link { cursor: url('sprites/cursor_point.ico'), pointer; }

/* Agent chat (2026-09-17): the mic sits over Send/Stop in a greyed column on the editor's right edge, so
   typed text wraps before it instead of running underneath. The editor keeps its border and its 3px
   scrollbar; the column sits just inside them. */
.poc-chat-input-wrap.has-side > .poc-chat-input { padding-right: 36px; }
.poc-chat-side {
    position: absolute;
    top: 1px; bottom: 1px; right: 4px;
    width: 28px;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding-top: 4px;
    box-sizing: border-box;
    background: rgba(68, 70, 94, 0.06);
    border-left: 1px solid rgba(68, 70, 94, 0.12);
    z-index: 2;
}
.poc-chat-side .poc-chat-mic-btn,
.poc-chat-side .poc-chat-send-btn { position: static; flex: 0 0 auto; }
.poc-chat-send-btn.is-stop { color: #b81b1b; }
.poc-chat-send-btn.is-stop:hover { color: #8f1414; background: rgba(184, 27, 27, 0.10); }

/* -------------------------------------------------------------------------
   Unified Editor — Code mode groundwork (2026-09-19)
   Markdown and Code are two modes of the same contenteditable Editor app.
   The spans below preserve the original text byte-for-byte for caret math;
   they only add presentation, so the tokenizer can grow without changing
   the Editor's save/load contract.
   ------------------------------------------------------------------------- */
.poc-editor-window .poc-chat-input.code-on {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    line-height: 1.45;
    tab-size: 4;
    color: #44465E;
    background: #F7F3F0;
    border-color: rgba(68, 70, 94, 0.34);
}
.poc-editor-window .poc-chat-input.code-on::selection,
.poc-editor-window .poc-chat-input.code-on *::selection {
    background: rgba(169, 159, 252, 0.30);
}
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] {
    font-family: inherit;
    color: #000;
}
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-tag,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-attr,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-string,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-comment,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-keyword,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-number,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-literal,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-function,
.poc-editor-window .poc-chat-input.code-on[data-code-language="plain"] .code-punct { color: #000; font-weight: normal; font-style: normal; }
/* Autocomputing syntax palette — derived from the company's Winamp-era palette. */
.code-tag { color: #7D6988; font-weight: 700; }
.code-attr { color: #7F78C5; font-weight: 600; }
.code-string { color: #AAA348; }
.code-comment { color: #7D6988; font-style: italic; }
.code-keyword { color: #857EB6; font-weight: 700; }
.code-number { color: #7F78C5; }
.code-literal { color: #AAA348; font-weight: 700; }
.code-function { color: #A99FFC; font-weight: 600; }
.code-punct { color: #44465E; }
.poc-chat-mdbar.poc-editor-code-mode .poc-chat-mdbtn-save.poc-md-pushright { margin-left: auto; }
/* CMMT / LANG are ordinary chips now (2026-09-21): no code-mode tint. */
.poc-editor-server-picker {
    height: 100%;
    min-height: 0;
    overflow: auto;
    padding: 8px 10px 12px;
    box-sizing: border-box;
}
.poc-editor-server-picker .poc-dirnode-row.is-editor-file { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-editor-server-picker .poc-dirnode-row.is-editor-file:hover { background: rgba(127,120,197,0.15); }
.poc-editor-server-picker .poc-dirnode-row.is-disabled { opacity: 0.42; }

/* ---- Right pane with many objects (2026-09-21) -------------------------------------------
   Panel sizes are fractions of the pane (collapsed 1/32, open 1/8, expanded 1/4) and never
   shrink, so with enough objects the list is taller than the pane. It now scrolls inside the
   pane itself, and the third stage is a full-pane panel -- "fill whatever is left" meant nothing
   once the list overflowed, so maxed collapsed back to its content height. */
#poc-right-pane .poc-pane-content { overflow-y: auto; overflow-x: hidden; overflow-anchor: none; }
#poc-right-pane .poc-pane-content::-webkit-scrollbar { width: 5px; }
#poc-right-pane .poc-pane-content::-webkit-scrollbar-track { background: #C8BFE7; }
#poc-right-pane .poc-pane-content::-webkit-scrollbar-thumb { background: #44465E; border-radius: 3px; }
.descriptor-panel.expanded-height.poc-desc-maxed { flex: 0 0 100% !important; }

/* Half-pane stage (2026-09-21): between two cells and the full pane; two halves share the pane. */
.descriptor-panel.expanded-height.poc-desc-half { flex: 0 0 50% !important; overflow-y: auto; overflow-x: hidden; }

/* Right pane wheel stepping between expanded descriptors lives in desktop_poc.js
   (descriptorWheelStepping); CSS snapping was removed on 2026-09-21 so the two never fight. */

/* ---- Gridtop columns, Windows-style (2026-09-21) ------------------------------------------
   Cells are pinned to fixed 12 x 8 spots (inline grid-row/grid-column set in desktop_poc.js). Each
   breakpoint publishes how many columns it shows; the JS hides the rest and moves their icons in.
   Keep --grid-cols in step with the grid-template-columns rules above. */
#poc-desktop-grid { --grid-cols: 12; }
@media (display-mode: fullscreen) { #poc-desktop-grid { --grid-cols: 10; } }
@media (max-width: 1600px) { #poc-desktop-grid { --grid-cols: 8; } }
#poc-desktop-grid .poc-grid-cell.poc-cell-off { display: none !important; }

/* Descriptor names use the whole header (2026-09-21). The field was a fixed 85px (140px while
   typing), so "Autocomputing Business Corporation" showed as "Autocom...". It now takes whatever
   the header has left after the icon, any tabs (agents' CONN / DIR keep their natural size) and
   the stage controls; long names still end in an ellipsis. */
.descriptor-input { flex: 1 1 0; width: auto; min-width: 40px; }
.descriptor-input:focus { flex: 1 1 0; width: auto; }

/* Not editing: the name reads as a label (double-click to edit). */
.descriptor-panel .descriptor-input:not(:focus) { cursor: url('sprites/cursor_default.ico'), auto; }

/* ---- Unsaved changes (2026-09-21) ----------------------------------------------------------
   A file open in an Editor with unsaved changes: " *" on its File Directory entry. "Don't Save"
   in the Save-first modal wears the armed-X red, and its keyboard highlight is red as well. */
.file-node.is-edit-dirty::after { content: ' *'; }
.poc-modal-btn.poc-modal-btn-dontsave {
    background: #FF3333;
    border-color: #b81b1b;
    color: #FFFFFF;
    box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.3);
}
.poc-modal-btn.poc-modal-btn-dontsave:hover {
    background: #FF4D4D;
    border-color: #b81b1b;
}
.poc-modal-btn.poc-modal-btn-dontsave:focus {
    outline: 2px solid #b81b1b;
    border-color: #b81b1b;
    box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.3), 0 0 6px rgba(255, 51, 51, 0.6);
}

/* Model chip with a fixed model (Ethocana, OpenRouter): greyed, no menu (2026-09-21). */
.poc-chat-chip.chip-tier.is-fixed { opacity: 0.5; cursor: default; }
.poc-chat-chip.chip-tier.is-fixed .chip-caret { display: none; }

/* ---- Alignment in docked panels (2026-09-21) --------------------------------------------------
   The page centres text by default (shared site CSS), and docked descriptor panels inherited it:
   file trees lost their indentation cues and chats read down the middle. Trees and chats are
   left-aligned; in every chat the agent speaks from the left and the user's messages sit right. */
#poc-right-pane .docked-chat-panel,
#poc-right-pane .poc-webfront-cpanel,
#poc-right-pane .poc-agent-ctxdir,
#poc-right-pane .poc-dirtree { text-align: left; }
.poc-chat-history .poc-chat-msg.from-agent { text-align: left; margin-right: auto; }
.poc-chat-history .poc-chat-msg.from-user {
    width: auto;
    max-width: none;
    margin-left: -8px;
    text-align: right;                 /* the words sit right; the band spans (2026-09-22) */
}
.poc-chat-history .poc-chat-msg.from-user .msg-text {
    display: inline-block;
    max-width: 85%;
    text-align: left;                  /* a wrapped message still reads down a straight edge */
    vertical-align: top;
}

/* ---- Folder trees: nesting shows, docked tree scrolls with the house scrollbar (2026-09-21) ----
   Every nested level is indented with a faint guide line (the window, the CPNL dock, the pickers).
   The CPNL dock's scroll area gets the same slim scrollbar as the chat panels. */
.poc-dirtree { list-style: none; margin: 0; padding-left: 0; }
.poc-dirtree .poc-dirtree {
    margin-left: 9px;
    padding-left: 8px;
    border-left: 1px solid rgba(68, 70, 94, 0.18);
}
.docked-cpanel-panel { text-align: left; }
.docked-cpanel-panel::-webkit-scrollbar { width: 3px; background-color: #C8BFE7; }
.docked-cpanel-panel::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }

/* Media app: images (2026-09-21) -- fitted inside the stage, never stretched. */
.poc-media-image { display: block; max-width: 100%; max-height: 100%; object-fit: contain; margin: auto; }

/* ---- Names, labels and headings inside windows and panels (2026-09-21) ------------------------
   These fell back to the browser's text cursor (and could be selected, like "Name" highlighting on a
   stray drag). Plain text keeps the house default cursor and is not selectable; fields, buttons and
   links keep their own cursors. A label that wraps a checkbox is clickable, so it gets the pointer. */
:is(.poc-app-window, .descriptor-panel, .poc-silver-menu, #poc-modal-overlay) :is(
    label, .poc-settings-label, .poc-settings-hint, .poc-settings-group-title,
    .poc-cfg-note, .poc-cfg-cap, .poc-cfg-sechead, .poc-llm-hint, .poc-hl-note, .poc-fv-label,
    .poc-ib-note, .poc-ib-title, .poc-ib-setup-h, .poc-hl-setup-h, .poc-hl-plabel, .poc-hl-card-h,
    .poc-apikeys-new-h, .poc-apikeys-label, .poc-agent-ctxdir-title, .poc-agent-activity-label,
    .descriptor-conn-cap, .poc-preset-label, .poc-mb-hint, .poc-if-sec-h, .knob-label, .conn-label,
    .poc-progress-label, .poc-modal-header, .poc-modal-message, .poc-app-title) {
    cursor: url('sprites/cursor_default.ico'), default;
    user-select: none;
    -webkit-user-select: none;
}
:is(.poc-app-window, .descriptor-panel) label:has(input[type="checkbox"], input[type="radio"]) {
    cursor: url('sprites/cursor_point.ico'), pointer;
}

/* ---- Archives (2026-09-21): silver submenus and the 7-Zip-style dialogs ------------------------ */
.poc-silver-hassub > a { position: relative; padding-right: 22px; }
.poc-silver-subcaret { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 10px; opacity: 0.7; }
.poc-silver-sub { z-index: 100001; }

.poc-arc-dlg { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; text-align: left; min-height: 0; flex: 1 1 auto; }
.poc-arc-what { font-size: 12px; color: #6a6c82; word-break: break-all; }
.poc-arc-row { display: grid; grid-template-columns: 130px 1fr; gap: 10px; align-items: start; }
.poc-arc-row > .poc-settings-label { padding-top: 7px; }
.poc-arc-ctl { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-width: 0; }
.poc-arc-ctl .poc-settings-input, .poc-arc-ctl .poc-settings-select { flex: 1 1 180px; min-width: 0; }
.poc-arc-ext, .poc-arc-pre { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #44465E; }
.poc-arc-path { flex: 1 1 200px; min-width: 0; font-size: 12px; color: #2A2A33; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 6px 0; }
.poc-arc-note { flex-basis: 100%; }
.poc-arc-check { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #44465E; }
.poc-arc-row.is-off { opacity: 0.45; }
.poc-arc-msg { min-height: 16px; font-size: 12px; color: #C0392B; }
.poc-arc-bar { display: flex; gap: 8px; justify-content: flex-end; margin-top: auto; }
.poc-arc-btn-ghost { background: transparent; color: #44465E; border: 1px solid rgba(68, 70, 94, 0.45); }
.poc-arc-btn-ghost:hover:not(:disabled) { background: rgba(68, 70, 94, 0.08); color: #44465E; }
.poc-arc-viewer .poc-arc-tablewrap { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid rgba(68, 70, 94, 0.2); background: #fff; }
.poc-arc-tablewrap::-webkit-scrollbar { width: 3px; height: 3px; background-color: #C8BFE7; }
.poc-arc-tablewrap::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.poc-arc-table { width: 100%; border-collapse: collapse; font-size: 12px; color: #2A2A33; }
.poc-arc-table th { position: sticky; top: 0; background: #f4f4f7; color: #6a6c82; font-weight: 400; text-align: left; padding: 5px 6px; cursor: url('sprites/cursor_default.ico'), default; user-select: none; }
.poc-arc-table td { padding: 4px 6px; border-top: 1px solid #eee; white-space: nowrap; }
.poc-arc-table td.poc-arc-name { white-space: normal; word-break: break-all; }
.poc-arc-table td:first-child, .poc-arc-table th:first-child { width: 20px; }

/* Descriptor spotlight (2026-09-21): the glow is .descriptor-panel::before at z-index 1. The EQ and
   chat docks already sit above it at z-index 2; the CPNL file tree, Connection and Scheduler docks
   did not, so their text sat under the glow and washed out. */
.descriptor-panel > .docked-cpanel-panel,
.descriptor-panel > .docked-conn-panel,
.descriptor-panel > .docked-sched-panel { position: relative; z-index: 2; }

/* The Web Front's cPanel tree uses the File Directory's markup and styles (2026-09-21). Only the
   pane's own divider line is left off, and the docked scroll area gets the Directory's scrollbar. */
.poc-cpanel-treewrap { border-top: none; flex: 0 0 auto; overflow: visible; padding: 6px 10px; }
.poc-cpanel-treewrap .poc-tree-note { opacity: 0.6; cursor: url('sprites/cursor_default.ico'), default; }
.docked-cpanel-panel::-webkit-scrollbar { width: 5px; background-color: #C8BFE7; }
.docked-cpanel-panel::-webkit-scrollbar-track { background-color: #C8BFE7; }
.docked-cpanel-panel::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }

/* Tree search (2026-09-21). Non-matches hide; matches are marked; the search box types on one click. */
.file-tree li.poc-search-hide { display: none !important; }
.file-tree .poc-search-hit { background-color: rgba(255, 236, 100, 0.55); }
.file-search-container .descriptor-input,
.file-search-container .descriptor-input:not(:focus) { cursor: url('sprites/cursor_input.ico') 12 12, text; }
.poc-cpanel-search { padding-left: 4px; margin-top: 2px; }
.poc-cpanel-search .descriptor-input,
.poc-cpanel-search .descriptor-input:focus { flex: 1 1 auto; width: auto; background-color: transparent; box-shadow: none; }

/* Tree search scope (2026-09-21): the selected folder name. */
/* The arrow is drawn inside the same element as the name, so these fills start after it: the arrow
   is its own zone and is never highlighted. */
.file-tree-caret.poc-tree-selected,
.file-tree-caret.poc-search-hit {
    background-repeat: no-repeat;
    background-position: 15px 0;
    background-size: calc(100% - 15px) 100%;
}
.file-tree-caret.poc-tree-selected { background-color: transparent; background-image: linear-gradient(rgba(127, 120, 197, 0.26), rgba(127, 120, 197, 0.26)); }
.file-tree-caret.poc-search-hit { background-color: transparent; background-image: linear-gradient(rgba(255, 236, 100, 0.55), rgba(255, 236, 100, 0.55)); }
.file-tree-caret.poc-tree-selected.poc-search-hit { background-image: linear-gradient(rgba(214, 196, 150, 0.6), rgba(214, 196, 150, 0.6)); }

/* Directory scrolling (2026-09-21). The Directory panel used to grow to fit every open folder, so its
   tree never overflowed and could not scroll; the wheel fell through to the page, whose snap pulled
   it straight back. It now fills the space left in the pane: the header and Search stay put and the
   tree scrolls inside it, on its own 5px scrollbar. */
#poc-left-pane .file-explorer-panel { min-height: 0; }
#poc-left-pane .file-explorer-panel > .file-tree-wrapper { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.docked-cpanel-panel { overscroll-behavior: contain; }

/* UI Recorder (2026-09-21): the Record button while recording, and the REC pill on screen. */
.poc-logs-btn.is-recording { background: #EEEEEE; color: #b81b1b; border-color: #b81b1b; display: inline-flex; align-items: center; gap: 5px; }
.poc-logs-btn.is-recording:hover { background: rgba(184, 27, 27, 0.10); color: #8f1414; }
.poc-logs-btn.is-recording svg { width: 12px; height: 12px; flex: 0 0 12px; display: block; }
.poc-rec-pill {
    position: fixed; right: 16px; bottom: 16px; z-index: 2147483000;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 2px; border: 1px solid #b81b1b;
    background: #EEEEEE; color: #b81b1b; font: 600 12px 'Afacad', sans-serif; letter-spacing: 1px; text-transform: uppercase;
    font-variant-numeric: tabular-nums; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    cursor: url('sprites/cursor_point.ico'), pointer;
    animation: poc-rec-pulse 1.6s ease-in-out infinite;
}
.poc-rec-pill svg { width: 12px; height: 12px; flex: 0 0 12px; display: block; }
.poc-rec-pill .poc-rec-time { color: #44465E; font-weight: 400; letter-spacing: 0; }
.poc-rec-pill:hover { background: #f6dede; color: #8f1414; }
@keyframes poc-rec-pulse { 0%, 100% { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(184, 27, 27, 0.5); } 50% { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3), 0 0 0 6px rgba(184, 27, 27, 0); } }
@media (prefers-reduced-motion: reduce) { .poc-rec-pill { animation: none; } }
.file-tree-ico.is-recept { background: none; }
.file-tree-ico.is-recept svg { width: 16px; height: 16px; display: block; }
.poc-rec-pill.poc-rec-shot { bottom: 54px; animation: none; color: #44465E; border-color: #44465E; }
.poc-rec-pill.poc-rec-shot:hover { background: #44465E; color: #FFEC64; }
.gt-replay-pill {
    position: fixed; right: 16px; bottom: 16px; z-index: 2147483000;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 6px; border-radius: 2px; border: 1px solid #44465E;
    background: #EEEEEE; color: #44465E; font: 600 12px 'Afacad', sans-serif; letter-spacing: 1px; text-transform: uppercase;
    font-variant-numeric: tabular-nums; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.gt-replay-state { padding: 0 8px; min-width: 88px; text-align: center; font-weight: 400; letter-spacing: 0; text-transform: none; }
.gt-replay-btn {
    border: 1px solid transparent; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit;
    padding: 3px 8px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer;
}
.gt-replay-btn:hover { background: #44465E; color: #FFEC64; }
.gt-replay-shots {
    position: fixed; z-index: 2147483000; display: flex; flex-direction: column; min-width: 140px; max-height: 50vh; overflow: auto;
    padding: 4px; border: 1px solid #44465E; border-radius: 2px; background: #EEEEEE; color: #44465E;
    font: 600 12px 'Afacad', sans-serif; letter-spacing: 1px; text-transform: uppercase; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.gt-replay-shots .gt-replay-btn { text-align: left; }
.gt-replay-cursor { position: fixed; left: 0; top: 0; z-index: 2147483001; pointer-events: none; width: 20px; height: 20px; will-change: transform; }
.gt-replay-cursor svg { display: block; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)); }

/* Windows stay on screen (2026-09-21): a window without its own height (Logs, Settings...) used to
   grow with its content past the bottom of the screen. Its content now scrolls inside it instead. */
.poc-app-window:not(.is-maximized) { max-height: calc(100vh - var(--gt-header-h, 72px) - 12px); }
/* The house scrollbar everywhere inside windows and chatboxes (the Logs list and the Editor showed
   the browser's own). */
.poc-app-window ::-webkit-scrollbar, .poc-chat-box ::-webkit-scrollbar { width: 7px; height: 7px; background-color: #C8BFE7; }
.poc-app-window ::-webkit-scrollbar-track, .poc-chat-box ::-webkit-scrollbar-track { background: #C8BFE7; }
.poc-app-window ::-webkit-scrollbar-thumb, .poc-chat-box ::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }

/* Server app (2026-09-21): one row per Web Front -- the live folder, its domains, and the scan's
   databases and forms. A traced form's colour (--srv-hl) marks the form, its files and its tables. */
.poc-srv-rows { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding-bottom: 4px; }
.poc-srv-row { flex: 0 0 auto; display: flex; flex-direction: column; background: #FAFAFA; border: 1px solid #D8D9E0; }
.poc-srv-rowhead { position: static; }
.poc-srv-name { flex: 0 1 auto; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-dom { flex: 0 1 auto; font-size: 11px; color: #C8BFE7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-when { margin-left: auto; flex: 0 0 auto; font-size: 10px; color: #C8BFE7; white-space: nowrap; }
.poc-srv-body { display: grid; grid-template-columns: 250px 240px minmax(0, 1fr); height: 360px; min-height: 0; }
.poc-srv-body.is-empty { display: block; height: auto; }
.poc-srv-nodomain { display: flex; align-items: center; gap: 10px; padding: 10px; font-size: 12px; color: #857EB6; }
.poc-srv-col { display: flex; flex-direction: column; min-height: 0; min-width: 0; border-right: 1px solid #E4E4EA; }
.poc-srv-col:last-child { border-right: none; }
.poc-srv-tree { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.poc-srv-tree .poc-cpanel-treewrap { flex: 1 1 auto; min-height: 0; overflow: auto; }
.poc-srv-infocol { overflow-y: auto; }
.poc-srv-domrow { display: flex; align-items: center; gap: 6px; padding: 3px 8px; border-bottom: 1px solid #EFEFF3; font-size: 12px; }
.poc-srv-domname { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-domkind { flex: 0 0 auto; font-size: 9px; letter-spacing: 0.5px; text-transform: uppercase; color: #857EB6; }
.poc-srv-kv { font-size: 11px; color: #44465E; padding: 4px 8px; word-break: break-all; }
.poc-srv-mini {
    flex: 0 0 auto; font: 600 9px 'Afacad', sans-serif; letter-spacing: 0.5px; text-transform: uppercase;
    padding: 1px 6px; border: 1px solid #C8BFE7; background: #FFFFFF; color: #44465E; border-radius: 0;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-srv-mini:hover { background: #AAA348; border-color: #AAA348; color: #1D070E; }
.poc-srv-mini.is-danger:hover { background: #b81b1b; border-color: #b81b1b; color: #FFFFFF; }
.poc-srv-db { margin: 4px 6px; padding: 4px 6px; border: 1px solid #E4E4EA; background: #FFFFFF; }
.poc-srv-dbhead { display: flex; align-items: center; gap: 5px; }
.poc-srv-dbic { width: 14px; height: 14px; flex: 0 0 14px; display: inline-flex; }
.poc-srv-dbic svg { width: 14px; height: 14px; }
.poc-srv-dbname { flex: 1 1 auto; min-width: 0; font-size: 11px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-dbmeta { font-size: 10px; color: #857EB6; padding: 1px 0 3px; }
.poc-srv-tables { display: flex; flex-wrap: wrap; gap: 3px; }
.poc-srv-tbl { font-size: 10px; padding: 0 4px; background: #EFEDFB; color: #44465E; border: 1px solid transparent; cursor: url('sprites/cursor_default.ico'), default; }
.poc-srv-rescol { min-width: 0; }
.poc-srv-forms { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.poc-srv-sum { font-size: 10px; color: #857EB6; padding: 3px 8px; border-bottom: 1px solid #EFEFF3; }
.poc-srv-form { border-bottom: 1px solid #EFEFF3; border-left: 3px solid transparent; }
.poc-srv-formline { display: flex; align-items: center; gap: 6px; padding: 3px 8px 3px 4px; font-size: 12px; cursor: url('sprites/cursor_point.ico'), pointer; min-width: 0; }
.poc-srv-formline:hover { background: #EFEDFB; }
.poc-srv-caret { flex: 0 0 14px; width: 14px; text-align: center; color: #857EB6; font-size: 9px; }
.poc-srv-caret::before { content: '\25B6'; }
.poc-srv-form.is-open .poc-srv-caret::before { content: '\25BC'; }
.poc-srv-swatch { flex: 0 0 10px; width: 10px; height: 10px; border: 1px solid #C8BFE7; background: transparent; }
.poc-srv-flabel { flex: 0 1 auto; min-width: 40px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-fkind { flex: 0 0 auto; font-size: 9px; letter-spacing: 0.5px; text-transform: uppercase; color: #1D070E; background: linear-gradient(#EDEDF2, #C9CAD6); padding: 0 5px; }
.poc-srv-fwhere, .poc-srv-fto { flex: 0 1 auto; min-width: 0; font-size: 11px; color: #857EB6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-fto.is-missing { color: #b81b1b; }
.poc-srv-fdbs { margin-left: auto; flex: 0 0 auto; display: inline-flex; gap: 3px; }
.poc-srv-dbchip { font-size: 10px; padding: 0 5px; border: 1px solid #A99FFC; color: #44465E; background: #FFFFFF; }
.poc-srv-dbchip.is-likely { border-style: dashed; }
.poc-srv-nodb { font-size: 10px; color: #B9BAC4; }
.poc-srv-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 4px 8px 8px 22px; }
.poc-srv-pane { border: 1px solid #E4E4EA; background: #FFFFFF; min-width: 0; }
.poc-srv-panehead { display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #A99FFC; background: #EFEDFB; padding: 3px 6px; }
.poc-srv-kvrow { display: flex; gap: 6px; padding: 2px 6px; font-size: 11px; min-width: 0; }
.poc-srv-kvlab { flex: 0 0 70px; color: #857EB6; }
.poc-srv-kvval { flex: 1 1 auto; min-width: 0; word-break: break-all; }
.poc-srv-kvval.is-link { text-decoration: underline; text-decoration-color: #C8BFE7; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-srv-kvval.is-link:hover { color: #857EB6; }
.poc-srv-fields { border-top: 1px solid #EFEFF3; margin-top: 3px; }
.poc-srv-field { display: flex; align-items: center; gap: 6px; padding: 2px 6px; font-size: 11px; border-bottom: 1px solid #F4F4F7; border-left: 3px solid transparent; }
.poc-srv-fname { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-srv-ftype { flex: 0 0 auto; color: #857EB6; font-size: 10px; }
.poc-srv-fused { flex: 0 0 auto; color: #4FAF62; font-weight: 700; }
/* The trace colour */
.poc-srv-form.poc-srv-hl { border-left-color: var(--srv-hl); box-shadow: inset 0 0 0 1px var(--srv-hl); }
.poc-srv-form.poc-srv-hl .poc-srv-swatch { background: var(--srv-hl); border-color: var(--srv-hl); }
.poc-srv-db.poc-srv-hl { border-color: var(--srv-hl); box-shadow: 0 0 0 1px var(--srv-hl); }
.poc-srv-tbl.poc-srv-hl { border-color: var(--srv-hl); background: #FFFFFF; font-weight: 700; }
.poc-srv-field.poc-srv-hl { border-left-color: var(--srv-hl); }
.poc-srv-tree .file-node.poc-srv-hl { outline: 2px solid var(--srv-hl); outline-offset: -1px; }
.poc-srv-tree .file-tree-caret.poc-srv-hl-dir::after { content: ''; display: inline-block; width: 6px; height: 6px; margin-left: 5px; background: var(--srv-hl); vertical-align: middle; }

/* Domains > DNS records (2026-09-21) */
.poc-dns-bar { display: flex; align-items: center; gap: 12px; margin: 4px 0 6px; }
.poc-dns-sys { font-size: 12px; color: #44465E; display: inline-flex; align-items: center; gap: 4px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dns-form { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: flex-end; padding: 8px; margin-bottom: 6px; border: 1px solid #E4E4EA; background: #FAFAFA; }
.poc-dns-form[hidden], .poc-dns-field[hidden] { display: none; }
.poc-dns-field { display: flex; flex-direction: column; gap: 2px; min-width: 90px; }
.poc-dns-field .poc-settings-input, .poc-dns-field .poc-settings-select { min-width: 0; }
.poc-dns-form .poc-dom-btnrow { flex: 1 1 100%; }
.poc-dns-table { display: flex; flex-direction: column; border: 1px solid #E4E4EA; }
.poc-dns-table:empty { display: none; }
.poc-dns-row { display: grid; grid-template-columns: 56px minmax(60px, 1fr) minmax(0, 2.4fr) 70px 104px; gap: 8px; align-items: center; padding: 3px 8px; font-size: 12px; border-bottom: 1px solid #EFEFF3; }
.poc-dns-row.is-head { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #A99FFC; background: #EFEDFB; }
.poc-dns-row > span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-dns-type { font-weight: 700; }
.poc-dns-val { font-family: Consolas, monospace; font-size: 11px; }
.poc-dns-act { display: inline-flex; gap: 4px; justify-content: flex-end; color: #B9BAC4; font-size: 10px; }

/* Server > database window (2026-09-21) */
.poc-sdb { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.poc-sdb-status { display: flex; align-items: center; gap: 8px; padding: 4px 12px; font-size: 11px; color: #857EB6; border-bottom: 1px solid #EFEFF3; }
.poc-sdb-dbname { font-weight: 700; color: #44465E; font-size: 12px; }
.poc-sdb-user { flex: 1 1 auto; }
.poc-sdb-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.poc-sdb-panel { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow: auto; padding: 8px 12px; }
.poc-sdb-panel[hidden], .poc-sdb-connect[hidden] { display: none; }
.poc-sdb-connect { padding: 20px 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.poc-sdb-connect-t { font-size: 13px; color: #44465E; }
.poc-sdb-tables { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 10px; }
.poc-sdb-tlist { min-height: 0; overflow-y: auto; border: 1px solid #E4E4EA; background: #FAFAFA; }
.poc-sdb-titem { display: flex; align-items: center; gap: 6px; padding: 3px 8px; font-size: 12px; border-bottom: 1px solid #EFEFF3; border-left: 3px solid transparent; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-sdb-titem:hover { background: #EFEDFB; }
.poc-sdb-titem.is-used { border-left-color: #C8BFE7; }
.poc-sdb-titem.is-focus { border-left-color: #AAA348; }
.poc-sdb-titem.is-active { background: #44465E; color: #EEEEEE; }
.poc-sdb-tname { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-sdb-trows { flex: 0 0 auto; font-size: 10px; color: #857EB6; }
.poc-sdb-titem.is-active .poc-sdb-trows { color: #C8BFE7; }
.poc-sdb-tmain { min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.poc-sdb-tbar { display: flex; align-items: center; gap: 6px; padding-bottom: 6px; }
.poc-sdb-tbar[hidden] { display: none; }
.poc-sdb-ttitle { font-size: 13px; font-weight: 700; margin-right: 6px; }
.poc-srv-mini.is-on { background: #44465E; border-color: #44465E; color: #EEEEEE; }
.poc-sdb-pager { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #857EB6; }
.poc-sdb-pager[hidden], .poc-srv-mini[hidden] { display: none; }
.poc-sdb-view { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid #E4E4EA; background: #FFFFFF; }
.poc-sdb-view:empty { border: none; }
.poc-sdb-grid { border-collapse: collapse; font-size: 12px; min-width: 100%; }
.poc-sdb-grid th { position: sticky; top: 0; z-index: 1; background: #EFEDFB; color: #44465E; font-weight: 700; text-align: left; padding: 3px 8px; border-bottom: 1px solid #D8D9E0; white-space: nowrap; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-sdb-grid td { padding: 2px 8px; border-bottom: 1px solid #F0F0F4; max-width: 280px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: top; }
.poc-sdb-grid tr:hover td { background: #F7F6FD; }
.poc-sdb-grid td.is-null { color: #B9BAC4; font-style: italic; }
.poc-sdb-grid td.is-special { color: #857EB6; }
.poc-sdb-rowx { width: 18px; padding: 0 2px !important; }
.poc-sdb-del { border: none; background: transparent; color: #B9BAC4; font-size: 14px; line-height: 1; padding: 0 2px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-sdb-del:hover { color: #b81b1b; }
.poc-sdb-edit { display: flex; align-items: flex-start; gap: 4px; white-space: normal; }
.poc-sdb-editin { min-width: 160px; font: 12px Consolas, monospace; border: 1px solid #A99FFC; padding: 2px 4px; resize: vertical; }
.poc-sdb-grid td:has(.poc-sdb-edit) { max-width: none; overflow: visible; }
.poc-sdb-addform { display: flex; flex-wrap: wrap; gap: 6px 10px; padding: 8px; border-bottom: 1px solid #E4E4EA; background: #FAFAFA; }
.poc-sdb-addhead { flex: 1 1 100%; font-size: 11px; color: #857EB6; }
.poc-sdb-addfield { display: flex; flex-direction: column; gap: 2px; width: 150px; }
.poc-sdb-addform .poc-dom-btnrow { flex: 1 1 100%; }
.poc-sdb-index { font-size: 11px; padding: 2px 8px; }
.poc-sdb-sql { flex: 0 0 auto; min-height: 110px; resize: vertical; font: 12px Consolas, monospace; border: 1px solid #D8D9E0; padding: 6px; }
.poc-sdb-sqlbar { display: flex; align-items: center; gap: 12px; padding: 6px 0; }
.poc-sdb-formrow, .poc-sdb-agent { display: flex; align-items: center; gap: 8px; padding: 4px 6px; font-size: 12px; border-bottom: 1px solid #EFEFF3; min-width: 0; }
.poc-sdb-formrow .poc-srv-tables { flex: 1 1 auto; min-width: 0; }
.poc-sdb-formrow .poc-srv-tbl { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-sdb-agent .poc-srv-flabel { flex: 1 1 auto; }

/* Form Editor (2026-09-21) */
.poc-fe { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0 12px 10px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-fe-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 0 8px; font-size: 12px; }
.poc-fe-head .poc-srv-kvlab { flex: 0 0 auto; }
.poc-fe-head .poc-srv-kvval { flex: 0 1 auto; margin-right: 12px; }
.poc-fe-grid { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 12px; }
.poc-fe-left, .poc-fe-right { min-height: 0; overflow: auto; border: 1px solid #E4E4EA; background: #FAFAFA; }
.poc-fe-note { font-size: 11px; color: #857EB6; padding: 5px 8px; background: #EFEDFB; }
.poc-fe-row { display: grid; grid-template-columns: 38px minmax(90px, 1fr) minmax(90px, 1.2fr) 96px 34px minmax(80px, 1fr) 22px; gap: 6px; align-items: center; padding: 3px 6px; border-bottom: 1px solid #EFEFF3; font-size: 12px; }
.poc-fe-row.is-head { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #A99FFC; background: #EFEDFB; }
.poc-fe-row .poc-settings-input, .poc-fe-row .poc-settings-select { min-width: 0; width: 100%; padding: 2px 5px; font-size: 12px; }
.poc-fe-move { display: inline-flex; gap: 1px; }
.poc-fe-req { text-align: center; }
.poc-sdb-del:disabled { opacity: 0.3; cursor: url('sprites/cursor_default.ico'), default; }
.poc-fe-add { display: flex; gap: 6px; align-items: center; padding: 6px; }
.poc-fe-add .poc-settings-input { width: 160px; }
.poc-fe-tablebar { display: flex; align-items: center; gap: 6px; padding: 5px 8px; }
.poc-fe-tablebar .poc-settings-select { flex: 1 1 auto; min-width: 0; }
.poc-fe-map { border-top: 1px solid #EFEFF3; }
.poc-fe-maprow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 84px; gap: 6px; align-items: center; padding: 3px 8px; font-size: 11px; border-bottom: 1px solid #EFEFF3; }
.poc-fe-maprow.is-head { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #A99FFC; background: #EFEDFB; }
.poc-fe-cell { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-fe-add-col { display: inline-flex; align-items: center; gap: 3px; color: #857EB6; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-fe-foot { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 8px; }
.poc-fe-foot .poc-settings-hint { margin-right: auto; }
.poc-fe-foot [hidden] { display: none; }
.poc-fe-review { position: absolute; inset: 0; z-index: 5; background: rgba(68, 70, 94, 0.35); display: flex; align-items: stretch; justify-content: center; padding: 10px; }
.poc-fe-review-box { flex: 1 1 auto; max-width: 900px; overflow: auto; background: #FFFFFF; border: 1px solid #44465E; padding: 10px 12px; }
.poc-fe-review-t { font-size: 14px; font-weight: 700; padding-bottom: 6px; }
.poc-fe-diff { font: 12px Consolas, monospace; border: 1px solid #E4E4EA; margin-bottom: 6px; max-height: 320px; overflow: auto; }
.poc-fe-dl { display: flex; white-space: pre; }
.poc-fe-dl.is-add { background: #E7F6EA; }
.poc-fe-dl.is-del { background: #FBE6E6; }
.poc-fe-dl.is-fold { color: #B9BAC4; }
.poc-fe-dn { flex: 0 0 44px; text-align: right; padding-right: 6px; color: #B9BAC4; }
.poc-fe-dk { flex: 0 0 14px; color: #857EB6; }
.poc-fe-manual { font: 12px Consolas, monospace; padding: 2px 6px; }
/* Server row flash (from Domains > DNS "Databases...") */
.poc-srv-row.is-flash { animation: poc-srv-flash 1.4s ease-out 1; }
@keyframes poc-srv-flash { 0% { box-shadow: 0 0 0 3px #AAA348; } 100% { box-shadow: 0 0 0 0 rgba(170, 163, 72, 0); } }

/* The Autocoding cover sits above the descriptor panels' focus borders (their ::after is z-index 50),
   which used to shine through it (2026-09-21). */
.descriptor-app-overlay { z-index: 60; }

/* Autocoding session (2026-09-21) */
.poc-ac-editorhost { display: flex; flex-direction: column; padding: 0 !important; overflow: hidden !important; }
.poc-ac-editorhost > .poc-editor-body { flex: 1 1 auto; min-height: 0; padding-top: 6px; }
.poc-acs-empty { color: #9A9CB0; padding: 12px; }
.poc-acs-file { font-size: 15px; font-weight: 700; color: #44465E; word-break: break-all; }
.poc-acs-h { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #857EB6; }
.poc-acs-agents { display: flex; flex-direction: column; gap: 4px; }
.poc-acs-none { color: #9A9CB0; }
.poc-acs-agent {
    display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
    padding: 6px 8px; background: #FFFFFF; border: 1px solid #D8D9E0; color: #44465E;
    font: 13px 'Afacad', sans-serif; cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-acs-agent:hover { background: #EFEDFB; border-color: #A99FFC; }
.poc-acs-agent.is-on { border-color: #AAA348; box-shadow: inset 3px 0 0 #AAA348; }
.poc-acs-ic { width: 18px; height: 18px; flex: 0 0 18px; display: inline-flex; }
.poc-acs-ic svg { width: 18px; height: 18px; }
.poc-acs-name { flex: 1 1 auto; font-weight: 700; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-acs-sub { flex: 0 0 auto; font-size: 11px; color: #857EB6; }
.poc-acl { padding: 8px 12px; font-family: 'Afacad', sans-serif; font-size: 13px; color: #44465E; display: flex; flex-direction: column; gap: 6px; }
.poc-acl-h { font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: #857EB6; margin-top: 4px; }
.poc-acl-sec { display: flex; flex-direction: column; gap: 3px; }
.poc-acl-sec.is-row { flex-direction: row; gap: 6px; flex-wrap: wrap; }
.poc-acl-kv { display: flex; gap: 8px; }
.poc-acl-k { flex: 0 0 64px; color: #857EB6; }
.poc-acl-v { flex: 1 1 auto; min-width: 0; word-break: break-all; }
.poc-acl-dim { color: #9A9CB0; }
.poc-acl-sub { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: #9A9CB0; margin-top: 4px; }
.poc-acl-opt { display: flex; align-items: center; gap: 7px; padding: 4px 6px; border: 1px solid transparent; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-acl-opt:hover { background: #EFEDFB; }
.poc-acl-opt.is-on { border-color: #AAA348; background: #FFFBE0; }
.poc-acl-opt.is-off { cursor: url('sprites/cursor_default.ico'), default; }
.poc-acl-opt.is-off:hover { background: transparent; }
.poc-acl-dot { font-size: 10px; color: #00B200; }
.poc-acl-opt.is-off .poc-acl-dot { color: #B9BAC4; }
.poc-acl-optt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.poc-acl-optl { font-weight: 700; }
.poc-acl-opt.is-off .poc-acl-optl { color: #9A9CB0; font-weight: 400; }
.poc-acl-opts { font-size: 11px; color: #857EB6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-acl-setup { flex: 0 0 auto; font: 600 9px 'Afacad', sans-serif; letter-spacing: .5px; text-transform: uppercase; padding: 1px 6px; border: 1px solid #C8BFE7; background: #FFFFFF; color: #44465E; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-acl-setup:hover { background: #AAA348; border-color: #AAA348; color: #1D070E; }
.poc-acl-start { align-self: flex-start; margin-top: 6px; }
.poc-acl-btn { padding: 3px 10px !important; font-size: 12px !important; }

/* Terminal Modes (2026-09-21): Gridtop / cPanel / SQL, each its own cordoned prompt. */
.poc-term-modes { display: flex; flex-direction: column; height: 100%; }
.poc-term-modebody { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.poc-term-modepane { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.poc-term-modepane[hidden] { display: none; }
.poc-term-modepane > .poc-term { flex: 1 1 auto; min-height: 0; height: auto; }
.poc-term-modes .poc-term-tab { color: #7A7A90; }
.poc-term-modes[data-mode="gridtop"] .poc-term-tab.on { color: #8FD3FF; background: #060a16; text-shadow: 0 0 2px rgba(143,211,255,.6), 0 0 6px rgba(143,211,255,.5); }
.poc-term-modes[data-mode="cpanel"] .poc-term-tab.on { color: #FFB347; background: #140d04; text-shadow: 0 0 2px rgba(255,179,71,.6), 0 0 6px rgba(255,179,71,.5); }
.poc-term-modes[data-mode="sql"] .poc-term-tab.on { color: #4FD1E8; background: #04121a; text-shadow: 0 0 2px rgba(79,209,232,.6), 0 0 6px rgba(79,209,232,.5); }
/* Terminal Modes formatting (2026-09-21): match Gridtop hallmark glow + bold. */

/* ── cPanel (amber) ── */
.poc-term.mode-cpanel .term-dir { color: #FFB347; font-weight: 700; text-shadow: 0 0 2px rgba(255,179,71,.6), 0 0 6px rgba(255,179,71,.5); }
.poc-term.mode-cpanel .term-sl { color: #AAA348; text-shadow: 0 0 2px rgba(170,163,72,.6), 0 0 6px rgba(170,163,72,.5); }
.poc-term.mode-cpanel .term-cn { color: #FFB347; text-shadow: 0 0 2px rgba(255,179,71,.6), 0 0 6px rgba(255,179,71,.5); }
.poc-term.mode-cpanel .term-cmd, .poc-term.mode-cpanel .term-out { color: #FFB347; text-shadow: 0 0 2px rgba(255,179,71,.55), 0 0 6px rgba(255,179,71,.45); }
.poc-term.mode-cpanel .term-ag { color: #9A7D5A; text-shadow: 0 0 2px rgba(154,125,90,.6), 0 0 6px rgba(154,125,90,.5); }
.poc-term.mode-cpanel .term-err { color: #E24A4A; text-shadow: 0 0 2px rgba(226,74,74,.55), 0 0 6px rgba(226,74,74,.45); }
.poc-term.mode-cpanel .term-dim { color: #5A5A6E; }
.poc-term.mode-cpanel .poc-term-input { color: #FFB347; caret-color: #FFB347; text-shadow: 0 0 2px rgba(255,179,71,.6), 0 0 6px rgba(255,179,71,.5); }
.poc-term.mode-cpanel .poc-term-input::selection { background: rgba(255,179,71,.28); }
.poc-term.mode-cpanel .poc-term-screen::-webkit-scrollbar { width: 7px; height: 7px; background-color: #0a0a0a; }
.poc-term.mode-cpanel .poc-term-screen::-webkit-scrollbar-track { background: #0a0a0a; }
.poc-term.mode-cpanel .poc-term-screen::-webkit-scrollbar-thumb { background: #3a2a10; border-radius: 0; }
.poc-term.mode-cpanel .poc-term-screen::-webkit-scrollbar-thumb:hover { background: #FFB347; }

/* ── SQL (cyan) ── */
.poc-term.mode-sql .term-dir { color: #4FD1E8; font-weight: 700; text-shadow: 0 0 2px rgba(79,209,232,.6), 0 0 6px rgba(79,209,232,.5); }
.poc-term.mode-sql .term-sl { color: #AAA348; text-shadow: 0 0 2px rgba(170,163,72,.6), 0 0 6px rgba(170,163,72,.5); }
.poc-term.mode-sql .term-cn { color: #4FD1E8; text-shadow: 0 0 2px rgba(79,209,232,.6), 0 0 6px rgba(79,209,232,.5); }
.poc-term.mode-sql .term-cmd, .poc-term.mode-sql .term-out { color: #4FD1E8; text-shadow: 0 0 2px rgba(79,209,232,.55), 0 0 6px rgba(79,209,232,.45); }
.poc-term.mode-sql .term-ag { color: #5A8A9A; text-shadow: 0 0 2px rgba(90,138,154,.6), 0 0 6px rgba(90,138,154,.5); }
.poc-term.mode-sql .term-err { color: #E24A4A; text-shadow: 0 0 2px rgba(226,74,74,.55), 0 0 6px rgba(226,74,74,.45); }
.poc-term.mode-sql .term-dim { color: #5A5A6E; }
.poc-term.mode-sql .poc-term-input { color: #4FD1E8; caret-color: #4FD1E8; text-shadow: 0 0 2px rgba(79,209,232,.6), 0 0 6px rgba(79,209,232,.5); }
.poc-term.mode-sql .poc-term-input::selection { background: rgba(79,209,232,.28); }
.poc-term.mode-sql .poc-term-screen::-webkit-scrollbar { width: 7px; height: 7px; background-color: #0a0a0a; }
.poc-term.mode-sql .poc-term-screen::-webkit-scrollbar-track { background: #0a0a0a; }
.poc-term.mode-sql .poc-term-screen::-webkit-scrollbar-thumb { background: #102a30; border-radius: 0; }
.poc-term.mode-sql .poc-term-screen::-webkit-scrollbar-thumb:hover { background: #4FD1E8; }
.poc-term.mode-sql .poc-term-line { white-space: pre; }

/* The whole prompt line is bold, like the prompt name (Truncator keeps its own look). */
.poc-term:not(.truncator) .term-cn, .poc-term:not(.truncator) .term-sl, .poc-term:not(.truncator) .term-cmd, .poc-term:not(.truncator) .poc-term-input { font-weight: 700; }

/* Cloud Storage (2026-09-22): Restore Points + Drive */
.poc-cs { position: relative; }
.poc-cs-bar { display: flex; align-items: center; gap: 8px; margin: 2px 0 8px; }
.poc-cs-pick { font: 13px 'Afacad', sans-serif; color: #44465E; background: #FFFFFF; border: 1px solid #C8BFE7; padding: 3px 6px; min-width: 180px; }
.poc-cs-btn { padding: 3px 10px !important; font-size: 12px !important; }
.poc-cs-sum { margin-left: auto; font-size: 12px; color: #857EB6; }
.poc-cs-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.poc-cs-list { display: flex; flex-direction: column; gap: 4px; }
.poc-cs-row { padding: 6px 8px; background: #FFFFFF; border: 1px solid #D8D9E0; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-cs-row:hover { background: #EFEDFB; border-color: #A99FFC; }
.poc-cs-row.is-on { border-color: #AAA348; box-shadow: inset 3px 0 0 #AAA348; }
.poc-cs-row.is-done { opacity: .65; }
.poc-cs-rtop { display: flex; align-items: center; gap: 8px; }
.poc-cs-rlab { flex: 1 1 auto; min-width: 0; font-weight: 700; color: #44465E; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-cs-chip { flex: 0 0 auto; font-size: 9px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 1px 6px; border: 1px solid #C8BFE7; color: #857EB6; }
.poc-cs-rsub { display: flex; gap: 10px; flex-wrap: wrap; font-size: 11px; color: #857EB6; margin-top: 2px; }
.poc-cs-st { font-weight: 700; color: #44465E; }
.poc-cs-st.is-warn, .poc-cs-itag.is-warn { color: #B5651D; }
.poc-cs-detail { background: #FFFFFF; border: 1px solid #D8D9E0; padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; min-height: 80px; }
.poc-cs-dtitle { font-size: 15px; font-weight: 700; color: #44465E; word-break: break-word; }
.poc-cs-dsub { font-size: 11px; color: #857EB6; margin-bottom: 4px; }
.poc-cs-item { display: flex; align-items: baseline; gap: 8px; font-size: 12px; padding: 2px 0; }
.poc-cs-item.is-changed .poc-cs-iname { color: #B5651D; }
.poc-cs-iname { flex: 1 1 auto; min-width: 0; color: #44465E; font-family: 'JetBrains Mono', Consolas, monospace; font-size: 11px; word-break: break-all; }
.poc-cs-iname.is-link { cursor: url('sprites/cursor_point.ico'), pointer; text-decoration: underline; text-decoration-color: #C8BFE7; }
.poc-cs-iname.is-link:hover { color: #857EB6; }
.poc-cs-itag { flex: 0 0 auto; font-size: 11px; color: #857EB6; }
.poc-cs-err { font-size: 12px; color: #B53A3A; }
.poc-cs-empty { font-size: 12px; color: #9A9CB0; padding: 6px 2px; }
.poc-cs-kv { display: flex; gap: 10px; font-size: 13px; padding: 3px 0; }
.poc-cs-k { flex: 0 0 120px; color: #857EB6; }
.poc-cs-v { color: #44465E; font-weight: 700; }
.poc-cs-ov { position: absolute; inset: 0; background: rgba(68,70,94,.35); display: flex; align-items: center; justify-content: center; z-index: 5; }
.poc-cs-ovbox { background: #FFFFFF; border: 1px solid #A99FFC; width: min(760px, 92%); max-height: 88%; display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; box-shadow: 0 6px 24px rgba(29,7,14,.25); overflow: auto; }
.poc-cs-ovbox.is-small { width: min(520px, 92%); }
.poc-cs-ovhead { display: flex; align-items: center; gap: 8px; }
.poc-cs-ovtitle { flex: 1 1 auto; min-width: 0; font-weight: 700; color: #44465E; word-break: break-all; }
.poc-cs-pre { margin: 0; flex: 1 1 auto; min-height: 0; overflow: auto; background: #F7F6FC; border: 1px solid #E4E1F3; padding: 8px; font: 11.5px/1.45 'JetBrains Mono', Consolas, monospace; color: #26283B; white-space: pre; }
@media (max-width: 720px) { .poc-cs-grid { grid-template-columns: 1fr; } }

/* Settings > Ethocana > Model, and Z.ai plan/model (2026-09-22) */
.poc-etho-models { display: flex; flex-direction: column; gap: 6px; }
.poc-etho-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.poc-etho-bar .poc-settings-input { flex: 1 1 220px; }
.poc-etho-check { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: #44465E; cursor: url('sprites/cursor_point.ico'), pointer; white-space: nowrap; }
.poc-etho-list { display: flex; flex-direction: column; max-height: 340px; overflow-y: auto; border: 1px solid #E4E1F3; background: #FFFFFF; }
.poc-etho-list .poc-llm-row { padding: 5px 8px; border-bottom: 1px solid #F0EEF8; }
.poc-etho-list .poc-llm-row.is-current { box-shadow: inset 3px 0 0 #AAA348; background: #FFFBE0; }
.poc-etho-list::-webkit-scrollbar { width: 5px; background-color: #C8BFE7; }
.poc-etho-list::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.poc-llm-modelpick .poc-settings-field select.poc-settings-input + .poc-settings-input { margin-top: 6px; }

/* Tools app (2026-09-22) */
.poc-tools-list { display: flex; flex-direction: column; border: 1px solid #E4E1F3; background: #FFFFFF; max-height: 420px; overflow-y: auto; }
.poc-tools-list .poc-llm-row { padding: 6px 9px; border-bottom: 1px solid #F0EEF8; align-items: flex-start; }
.poc-tools-list::-webkit-scrollbar { width: 5px; background-color: #C8BFE7; }
.poc-tools-list::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.poc-tools-desc { font-size: 12px; color: #44465E; margin: 2px 0; line-height: 1.35; }
.poc-tools-sys .poc-llm-info { gap: 2px; }

/* Budgeting (2026-09-22) */
.poc-bud-strip { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.poc-bud-stat { flex: 1 1 130px; background: #FFFFFF; border: 1px solid #D8D9E0; padding: 7px 10px; }
.poc-bud-val { font-size: 20px; font-weight: 700; color: #44465E; line-height: 1.1; }
.poc-bud-lab { font-size: 11px; color: #857EB6; text-transform: uppercase; letter-spacing: .5px; margin-top: 2px; }
.poc-bud-computes { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.poc-bud-compute { background: #FFFFFF; border: 1px solid #D8D9E0; padding: 7px 10px; display: flex; flex-direction: column; gap: 4px; }
.poc-bud-chead { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.poc-bud-crow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 6px 0; }
.poc-bud-crow .poc-settings-input { flex: 0 1 260px; }
.poc-bud-cost { flex: 0 0 auto; font-weight: 700; color: #44465E; font-size: 13px; margin-left: 8px; }
.poc-bud-rec { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-bud-rec:hover { background: #EFEDFB; }
.poc-bud-det { font-size: 11px; color: #857EB6; margin-top: 3px; }

/* Records: a turn's tokens, split (2026-09-23). In and out sit level with each other, the total is
   the one to land on, and the cached share is the only figure allowed a colour of its own. */
.poc-bud-toks { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
.poc-bud-sep { color: #B9B4D4; }
.poc-bud-in, .poc-bud-out { color: #6a6c82; }
.poc-bud-tot { color: #44465E; font-weight: 600; }
.poc-bud-cache { color: #2E8B77; font-weight: 600; }

/* ---- An agent's own meter: the USE tab on its descriptor panel (2026-09-23) -------------------
   Budgeting for one agent, in a panel a fraction of its width, so everything is one line per turn
   and the cached share is the figure that carries the colour. */
.poc-agent-meter { flex-direction: column; overflow: hidden; min-height: 0; padding: 6px 7px; }
.poc-agent-meter.active { display: flex; }
.poc-agm-head { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; margin-bottom: 5px; }
.poc-agm-sum {
    flex: 1 1 auto; min-width: 0;
    font-family: 'Afacad', sans-serif; font-size: 11px; color: #44465E; line-height: 1.25;
}
.poc-agm-refresh {
    flex: 0 0 auto; font-family: 'Afacad', sans-serif; font-size: 10px; text-transform: uppercase;
    letter-spacing: .4px; color: #44465E; background: #FFFFFF; border: 1px solid #D8D9E0;
    padding: 2px 7px; cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-agm-refresh:hover { background: #EFEDFB; }
.poc-agm-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.poc-agm-list::-webkit-scrollbar { width: 3px; background-color: #C8BFE7; }
.poc-agm-list::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.poc-agm-row {
    display: flex; align-items: baseline; gap: 6px;
    padding: 3px 2px; border-bottom: 1px solid rgba(68, 70, 94, .10);
    font-family: 'Afacad', sans-serif; font-size: 11px;
}
.poc-agm-when { flex: 0 0 auto; color: #857EB6; }
.poc-agm-toks { flex: 1 1 auto; min-width: 0; color: #6a6c82; }
.poc-agm-cache { flex: 0 0 auto; color: #B9B4D4; }
.poc-agm-cache.is-hit { color: #2E8B77; font-weight: 600; }
.poc-agm-empty { font-family: 'Afacad', sans-serif; font-size: 11px; color: #857EB6; padding: 6px 2px; }

/* ---- The descriptor's docked chat is narrow (2026-09-23) --------------------------------------
   The full-width user band carries a negative left margin that the main chatbox absorbs in its
   gutter; docked, the gutter is 7px and there is nothing to absorb it. A long URL or a code line
   had nothing telling it to break either. Fixed defensively -- the browser pane cannot render the
   Gridtop to tell us which of the two it was on any given message. */
.poc-chat-msg .msg-text { overflow-wrap: break-word; }
.poc-chat-msg .msg-text pre.msg-code { max-width: 100%; box-sizing: border-box; }
.docked-chat-panel .poc-chat-history { overflow-x: hidden; }
.docked-chat-panel .poc-chat-history .poc-chat-msg.from-user { margin-left: 0; }

/* A dial's own menu: the meter's face, not the silver one (2026-09-22). */
.poc-vu-menu {
    position: fixed; z-index: 2147483000; min-width: 210px; padding: 4px;
    background: #241F3A; border: 1px solid #7F78C5; border-radius: 2px;
    box-shadow: 0 6px 22px rgba(15, 12, 30, .55);
    font-family: 'JetBrains Mono', Consolas, monospace; font-size: 11px; letter-spacing: 1px;
}
.poc-vu-menu-item {
    display: flex; align-items: center; gap: 8px; padding: 6px 8px; color: #C8BFE7;
    cursor: url('sprites/cursor_point.ico'), pointer; text-transform: uppercase;
}
.poc-vu-menu-item:hover { background: #3A3160; color: #FFFFFF; }
.poc-vu-menu-item.is-on { color: #A99FFC; text-shadow: 0 0 6px rgba(169, 159, 252, .55); }
.poc-vu-menu-tick { width: 10px; flex: 0 0 10px; }

/* Memory Banks: what an agent has spent (2026-09-22) */
.poc-mb-use { font-size: 11px; color: #857EB6; padding: 0 8px 4px; }

/* Command blocks (2026-09-28): a command an agent hands over, lit like the Terminal it runs in,
   with Run (pastes it into that Terminal tab) and Copy. Other code blocks get Copy only. */
.gt-cmd { --cmd: #8FD3FF; --cmd-bg: #060a16; margin: 6px 0; border: 1px solid color-mix(in srgb, var(--cmd) 45%, #000); border-radius: 4px; background: var(--cmd-bg); box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 0 10px color-mix(in srgb, var(--cmd) 22%, transparent); overflow: hidden; }
.gt-cmd[data-mode="cpanel"] { --cmd: #FFB347; --cmd-bg: #140d04; }
.gt-cmd[data-mode="sql"] { --cmd: #4FD1E8; --cmd-bg: #04121a; }
.gt-cmd[data-mode="pc"] { --cmd: #00E200; --cmd-bg: #07110a; }
.gt-cmd-bar { display: flex; align-items: center; gap: 4px; padding: 3px 6px 3px 10px; background: #000; border-bottom: 1px solid color-mix(in srgb, var(--cmd) 30%, #000); }
.gt-cmd-label { flex: 1 1 auto; font: 600 10px 'Afacad', sans-serif; letter-spacing: 1px; text-transform: uppercase; color: var(--cmd); text-shadow: 0 0 2px color-mix(in srgb, var(--cmd) 60%, transparent), 0 0 6px color-mix(in srgb, var(--cmd) 50%, transparent); }
.gt-cmd-btn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 22px; padding: 0; border: 1px solid transparent; border-radius: 3px; background: transparent; color: var(--cmd); cursor: url('sprites/cursor_point.ico'), pointer; filter: drop-shadow(0 0 3px color-mix(in srgb, var(--cmd) 55%, transparent)); }
.gt-cmd-btn:hover { background: color-mix(in srgb, var(--cmd) 18%, transparent); border-color: color-mix(in srgb, var(--cmd) 45%, transparent); }
.poc-chat-msg .msg-text .gt-cmd pre.msg-code { margin: 0; border: none; border-radius: 0; background: transparent; color: var(--cmd); font-weight: 700; text-shadow: 0 0 2px color-mix(in srgb, var(--cmd) 60%, transparent), 0 0 6px color-mix(in srgb, var(--cmd) 50%, transparent); }
.gt-code-copy { position: absolute; top: 4px; right: 4px; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 20px; padding: 0; border: 1px solid #44465E; border-radius: 3px; background: #2b2c3b; color: #C8BFE7; cursor: url('sprites/cursor_point.ico'), pointer; opacity: 0; transition: opacity .12s; }
pre.msg-code:hover .gt-code-copy, .gt-code-copy:focus { opacity: 1; }
.gt-code-copy:hover { background: #44465E; color: #FFEC64; }
/* A command an agent hands over, ready to beam into the Terminal (2026-09-22) */
.poc-chat-msg .msg-text pre.msg-code { position: relative; }
.poc-send-term {
    position: absolute; right: 6px; bottom: 6px;
    font: 600 9px 'Afacad', sans-serif; letter-spacing: .5px; text-transform: uppercase;
    padding: 2px 7px; border: 1px solid #C8BFE7; background: #FFFFFF; color: #44465E;
    cursor: url('sprites/cursor_point.ico'), pointer; opacity: 0; transition: opacity .12s;
}
pre.msg-code:hover .poc-send-term, .poc-send-term:focus { opacity: 1; }
.poc-send-term:hover { background: #AAA348; border-color: #AAA348; color: #1D070E; }

/* Autocoding's left pane: the project's agents (2026-09-22) */
.poc-acl-tag { flex: 0 0 auto; font-size: 9px; font-weight: 700; letter-spacing: .5px; color: #AAA348; }
.poc-acl-opt .poc-acs-ic { flex: 0 0 18px; }

/* Autocoding's editor tabs: one session, several files (2026-09-22) */
.poc-actabs {
    display: none;
    flex: 0 0 auto;
    gap: 2px;
    padding: 4px 6px 0;
    background: #E2E3EC;
    border-bottom: 1px solid #D2D3DD;
    overflow-x: auto;
    overflow-y: hidden;
}
.poc-actab {
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 200px;
    padding: 3px 8px;
    font-family: 'Afacad', sans-serif;
    font-size: 11px;
    color: #6A6C82;
    background: #D8D9E4;
    border: 1px solid #C9CAD6;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    white-space: nowrap;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-actab.on { color: #26283B; background: #EEEEEE; font-weight: 700; }
.poc-actab-n { overflow: hidden; text-overflow: ellipsis; }
.poc-actab.dirty .poc-actab-n::after { content: ' \2022'; color: #AAA348; }
.poc-actab-x { flex: 0 0 auto; font-size: 12px; line-height: 1; opacity: 0.45; }
.poc-actab-x:hover { opacity: 1; }

/* The DIR tab's Web Server branch (2026-09-22) */
.poc-ctxdir-web { margin-top: 2px; }
.poc-ctxdir-web > .file-tree-caret { font-style: italic; }
.poc-agent-ctxdir .poc-ctxdir-check:disabled { opacity: 0.55; }

/* Memory Banks: sessions and memory in each agent's column (2026-09-22) */
.poc-mb-item-col { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.poc-mb-itemsub { font-size: 10px; color: #857EB6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-mb-memtext { font-size: 11px; color: #2A2A33; line-height: 1.25; }
.poc-mb-sec { display: flex; align-items: center; justify-content: space-between; }
.poc-mb-secbtn {
    font-family: 'Afacad', sans-serif; background: transparent; border: 1px solid #A99FFC;
    color: #44465E; font-size: 9px; letter-spacing: 0.5px; text-transform: uppercase;
    padding: 0 6px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-mb-secbtn:hover { background: #AAA348; color: #1D070E; border-color: #AAA348; }

/* Carrier Crow's setup checklist (2026-09-22) */
.poc-crow-step { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
.poc-crow-step-n { flex: 0 0 120px; font-size: 12px; font-weight: 700; color: #44465E; }
.poc-crow-chip {
    flex: 0 0 auto; font-size: 10px; letter-spacing: 0.5px; text-transform: uppercase;
    padding: 1px 8px; border-radius: 2px; border: 1px solid #C9CAD6; color: #6A6C82; background: #F3F3F7;
}
.poc-crow-chip.is-ok { border-color: #AAA348; color: #55521F; background: #F6F4E2; }
.poc-crow-chip.is-bad { border-color: #B4544F; color: #7A2F2B; background: #F7ECEB; }
.poc-crow-chip.is-off { border-color: #C9CAD6; color: #8B8D9E; }
.poc-crow-chip.is-wait { border-color: #A99FFC; color: #5B54A0; background: #EFEDFB; }
.poc-crow-sub { font-size: 11px; color: #857EB6; margin: 0 0 6px 128px; word-break: break-word; }
.poc-crow-copy { display: flex; align-items: center; gap: 8px; padding: 3px 0; border-bottom: 1px solid #EFEFF3; }
.poc-crow-copy-l { flex: 0 0 140px; font-size: 11px; color: #6A6C82; }
.poc-crow-copy-v { flex: 1 1 auto; font-family: 'JetBrains Mono','Consolas',monospace; font-size: 11px; color: #26283B; word-break: break-all; }
.poc-crow-send { display: flex; flex-direction: column; }

/* A message waiting its turn: hover its label to send it through the one in flight (2026-09-22) */
/* The label keeps one width and a wide target (2026-10-05): POISED becomes the longer EDGEWISE! on hover, and bold
   widened it under the pointer; the boldness is a shadow now, and the target reaches past the letters. */
.poc-chat-msg.is-queued .who.poc-poised { cursor: url('sprites/cursor_point.ico'), pointer; display: inline-block; min-width: 9.5ch; padding: 4px 10px; margin: -4px -10px; }
.poc-chat-msg.is-queued .who.poc-poised:hover { color: #AAA348; opacity: 1; text-shadow: 0 0 0.7px currentColor, 0 0 0.7px currentColor; }
.poc-chat-msg.is-edgewise .who { color: #AAA348; opacity: 1; font-weight: 700; }

/* The agent's activity readout (2026-10-05, Matt): each kind of step its own colour, step names bold, details italic. */
/* The chat history as a read-only document: a cursor, no editing (2026-10-05); Select All Chats / Activity highlight. */
/* The Gridtop's own cursors in the read-only history (2026-10-06, Matt: lost when it became editable, p214). */
.poc-chat-history.poc-chat-readonly { outline: none; caret-color: #44465E; cursor: url('sprites/cursor_input.ico') 12 12, text; }
.poc-chat-history.poc-chat-readonly * { cursor: url('sprites/cursor_input.ico') 12 12, text; }
.poc-chat-history.poc-chat-readonly button, .poc-chat-history.poc-chat-readonly a, .poc-chat-history.poc-chat-readonly summary,
.poc-chat-history.poc-chat-readonly button *, .poc-chat-history.poc-chat-readonly a *, .poc-chat-history.poc-chat-readonly summary *,
.poc-chat-history.poc-chat-readonly .gt-ask label, .poc-chat-history.poc-chat-readonly .gt-ask input[type=radio], .poc-chat-history.poc-chat-readonly .gt-ask input[type=checkbox],
.poc-chat-history.poc-chat-readonly [role=button] { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-chat-history.poc-chat-readonly .gt-ask input[type=text], .poc-chat-history.poc-chat-readonly .gt-ask textarea { cursor: url('sprites/cursor_input.ico') 12 12, text; }
.poc-chat-history.gt-sel-chats .poc-chat-msg > .msg-text, .poc-chat-history.gt-sel-chats .poc-chat-msg > .who { background: rgba(127, 120, 197, 0.22); }
.poc-chat-history.gt-sel-activity .poc-agent-activity { background: rgba(170, 163, 72, 0.18); }
.poc-agent-activity-summary { font-weight: 600; color: #44465E; }
.poc-agent-activity-close { display: inline-block; margin: 4px 0 2px; font-weight: 600; color: #44465E; text-decoration: none; cursor: url('sprites/cursor_point.ico'), pointer; user-select: none; }
.poc-agent-activity-close:hover { text-decoration: underline; }
.poc-agent-activity-tick { font-weight: 400; font-style: italic; color: #7D6988; }
.poc-agent-activity-meta { font-size: 0.85em; font-style: italic; opacity: 0.7; margin: 2px 0 4px; }
.poc-agent-activity-row { display: flex; gap: 6px; align-items: baseline; margin: 3px 0; }
.poc-agent-activity-mark { flex: 0 0 12px; text-align: center; font-weight: 700; }
.poc-agent-activity-copy { display: flex; flex-direction: column; min-width: 0; }
.poc-agent-activity-label { font-weight: 600; }
.poc-agent-activity-detail { font-style: italic; font-size: 0.9em; opacity: 0.8; word-break: break-word; }
.poc-agent-activity-row.is-tool .poc-agent-activity-mark, .poc-agent-activity-row.is-tool .poc-agent-activity-label { color: #5B4FA8; }
.poc-agent-activity-row.is-ok .poc-agent-activity-mark, .poc-agent-activity-row.is-ok .poc-agent-activity-label { color: #2E7D3C; }
.poc-agent-activity-row.is-error .poc-agent-activity-mark, .poc-agent-activity-row.is-error .poc-agent-activity-label { color: #B23B3B; }
.poc-agent-activity-row.is-wait .poc-agent-activity-mark, .poc-agent-activity-row.is-wait .poc-agent-activity-label { color: #8A7A1E; }
.poc-agent-activity-row.is-info .poc-agent-activity-mark, .poc-agent-activity-row.is-info .poc-agent-activity-label { color: #6B6E80; }

.descriptor-panel.collapsed > *:not(.descriptor-header-stripe) { display: none !important; }

/* Autocoding panel buttons wear the agent descriptor's CONN action style (Matt, 2026-09-25):
   silver, 11px Afacad, #44465E border, yellow on hover -- the same as .descriptor-conn-action. */
#autocoding-left-panel .poc-acl-sec.is-row { flex-wrap: nowrap; gap: 5px; }
#autocoding-left-panel .poc-settings-save.poc-acl-btn,
#autocoding-left-panel .poc-settings-save.poc-acl-start,
#autocoding-left-panel .poc-acl-setup {
    flex: 1;
    font-family: 'Afacad', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #1D070E !important;
    background: linear-gradient(180deg, #FDFEFF, #C8CBD5) !important;
    border: 1px solid #44465E !important;
    border-radius: 2px !important;
    padding: 4px 2px !important;
    box-shadow: none !important;
    cursor: url('sprites/cursor_point.ico'), auto;
}
#autocoding-left-panel .poc-settings-save.poc-acl-btn:hover:not(:disabled),
#autocoding-left-panel .poc-settings-save.poc-acl-start:hover:not(:disabled),
#autocoding-left-panel .poc-acl-setup:hover {
    background: linear-gradient(180deg, #FFF7C4, #FFEC64) !important;
    border-color: #AAA348 !important;
}
#autocoding-left-panel .poc-settings-save.poc-acl-btn:disabled,
#autocoding-left-panel .poc-settings-save.poc-acl-start:disabled { opacity: .5; cursor: url('sprites/cursor_default.ico'), default; }
#autocoding-left-panel .poc-settings-save.poc-acl-start { flex: 0 0 auto; align-self: stretch; margin-top: 6px; }
#autocoding-left-panel .poc-acl-setup { flex: 0 0 auto; padding: 1px 8px !important; }

/* Configure... > Permissions (2026-09-25): a Windows-Permissions style table. */
.poc-perm-table { border-collapse: collapse; margin-top: 8px; font-family: 'Afacad', sans-serif; font-size: 13px; color: #1D070E; }
.poc-perm-table th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: #6A6C82; padding: 4px 18px 4px 6px; border-bottom: 1px solid rgba(68, 70, 94, 0.25); }
.poc-perm-table td { padding: 5px 18px 5px 6px; border-bottom: 1px solid rgba(68, 70, 94, 0.10); }
.poc-perm-table td:last-child, .poc-perm-table th:last-child { text-align: center; padding-right: 6px; }
.poc-perm-table input[type="checkbox"] { cursor: url('sprites/cursor_point.ico'), pointer; }

/* Chats can be selected and copied wherever they sit (2026-09-25). The desktop turns text selection
   off (#poc-desktop-environment), so a chat docked in a descriptor panel could not be selected --
   Select All did nothing there. */
.poc-chat-history, .poc-chat-history * { user-select: text; -webkit-user-select: text; }

/* The two meters by the model chips (2026-09-25): CTX = how full the context window was on the last
   turn, LIM = what is left of the provider's allotment. A thin bar each, house silver, yellow fill. */
.poc-chat-meters { display: inline-flex; align-items: center; gap: 8px; margin-left: 6px; font-family: 'Afacad', sans-serif; }
.poc-meter { display: inline-flex; align-items: center; gap: 4px; cursor: url('sprites/cursor_default.ico'), default; user-select: none; -webkit-user-select: none; }
.poc-meter-cap { font-size: 9px; font-weight: 700; letter-spacing: .6px; color: #6A6C82; }
.poc-meter-bar { position: relative; width: 38px; height: 5px; border: 1px solid #44465E; border-radius: 2px; background: linear-gradient(180deg, #FDFEFF, #C8CBD5); overflow: hidden; }
.poc-meter-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: linear-gradient(180deg, #FFF7C4, #FFEC64); transition: width .4s ease; }
.poc-meter.is-high .poc-meter-fill { background: linear-gradient(180deg, #F3B4B4, #D96C6C); }
.poc-meter-val { font-size: 10px; color: #26283B; min-width: 22px; }
.descriptor-conn-row .poc-chat-meters { margin-left: 0; }

/* Hardline set-up walkthrough (2026-09-25) */
.poc-hl-steps .poc-hl-step { display: flex; gap: 10px; padding: 8px 10px; border-bottom: 1px solid #EFEFF3; }
.poc-hl-steps .poc-hl-step:last-child { border-bottom: none; }
.poc-hl-num { flex: 0 0 22px; height: 22px; border-radius: 50%; background: #857EB6; color: #FFFFFF; font-weight: 700; font-size: 12px; display: flex; align-items: center; justify-content: center; }
.poc-hl-step.is-done .poc-hl-num { background: #2e8b3d; }
.poc-hl-step-b { flex: 1 1 auto; min-width: 0; }
.poc-hl-step-h { font-size: 12px; font-weight: 700; color: #44465E; display: flex; align-items: center; gap: 8px; }
.poc-hl-step-st { margin-left: auto; font-size: 11px; font-weight: 600; color: #8a6d00; }
.poc-hl-step.is-done .poc-hl-step-st { color: #2e8b3d; }
.poc-hl-step-in { font-size: 12px; margin-top: 2px; }
.poc-hl-step-in .poc-hl-note { padding: 2px 0; }
.poc-hl-step-in button { margin-top: 6px; }
.poc-hl-step-in .poc-2fa-qr { margin: 6px 0; }
.poc-hl-step-in .poc-2fa-qr img, .poc-hl-step-in .poc-2fa-qr canvas { margin: 0; }
.poc-hl-2fa-code { width: 110px; letter-spacing: 2px; }

/* Hardline in the Autocomputing app (2026-09-25): the model loader. */
.poc-hl-mrow { display: flex; gap: 6px; align-items: center; padding: 8px 10px 4px; }
.poc-hl-mrow .poc-settings-input { min-width: 0; }
.poc-hl-model { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-bottom: 1px solid #EFEFF3; }
.poc-hl-model:last-child { border-bottom: none; }
.poc-hl-minfo { flex: 1 1 auto; min-width: 0; }
.poc-hl-mname { font-size: 13px; font-weight: 700; color: #44465E; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-hl-mst { font-size: 11px; color: #857EB6; }
.poc-hl-mst.is-running { color: #2e8b3d; font-weight: 600; }
.poc-hl-mst.is-downloading, .poc-hl-mst.is-paused { color: #8a6d00; }
.poc-hl-merr { font-size: 11px; color: #8a1f1f; padding: 2px 0; }
.poc-hl-macts { flex: 0 0 auto; display: flex; gap: 6px; }
.poc-hl-macts .poc-settings-save { min-width: 76px; }
.poc-hl-model .poc-hl-progress { margin: 4px 0 2px; height: 8px; }

/* Media app: actions on the open file and Tools (2026-09-25). */
.poc-media-controls .poc-media-acts { width: auto; max-width: 190px; flex: 0 0 auto; }
.poc-media-controls .poc-media-toolsbtn { margin-left: auto; flex: 0 0 auto; }
.poc-media-controls .poc-media-toolsbtn.is-on { background: #44465E; color: #EEEEEE; }
.poc-media-tools { flex: 0 1 auto; max-height: 45%; overflow-y: auto; background: #FAFAFA; border: 1px solid #D8D9E0; padding: 2px 10px 8px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-media-th { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 8px 0 2px; }
.poc-media-trow { display: flex; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px solid #EFEFF3; font-size: 12px; }
.poc-media-trow:last-child { border-bottom: none; }
.poc-media-trow > .poc-media-tnote:first-child, .poc-media-tinfo, .poc-media-trow > .poc-media-tname { flex: 1 1 auto; min-width: 0; }
.poc-media-tname { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-media-tnote { font-size: 11px; color: #857EB6; }
.poc-media-tok { color: #2e8b3d; font-weight: 600; }
.poc-media-tbad { color: #8a1f1f; }
.poc-media-trow .poc-settings-save { flex: 0 0 auto; min-width: 76px; }

/* Properties (2026-09-25): global object settings, a small close-or-shade window. */
.poc-props .poc-settings-panel { padding: 4px 2px; }
.poc-props-row { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 10px; padding: 5px 0; }
.poc-props-row .poc-settings-label { margin: 0; }
.poc-props-path { display: flex; align-items: center; gap: 4px; min-width: 0; }
.poc-props-path .poc-settings-input { flex: 1 1 auto; min-width: 0; }
.poc-props-pathshow { flex: 1 1 auto; min-width: 0; font: 12px/1.3 Consolas, monospace; color: #1D070E; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-props-path .poc-settings-save { flex: 0 0 auto; }
.poc-props-drv { font-weight: 600; color: #44465E; }
.poc-props-mail { display: flex; flex-direction: column; gap: 10px; }
.poc-props-mailrow { display: flex; flex-direction: column; gap: 3px; }
.poc-props-mailhead { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.poc-props-mailaddr { font: 11px/1.3 Consolas, monospace; color: #44465E; opacity: .8; cursor: url('sprites/cursor_point.ico'), pointer; word-break: break-all; align-self: flex-start; }
.poc-props-mailaddr:hover { opacity: 1; text-decoration: underline; }
.poc-props-mailaddr.copied { color: #2E7D3C; opacity: 1; text-decoration: none; }
.poc-props-mailaddr.copied::after { content: '  Copied'; font-family: inherit; }
.poc-settings-save.is-done { border-color: #2E7D3C; color: #2E7D3C; }
.poc-props-maillist { display: flex; flex-direction: column; gap: 2px; }
.poc-props-mailfrom { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 6px; font: 12px/1.35 Consolas, monospace; color: #1D070E; background: rgba(255,255,255,.55); border: 1px solid rgba(68,70,94,.25); border-radius: 2px; }
.poc-props-mailx { border: 0; background: none; padding: 0 2px; font: 14px/1 system-ui, sans-serif; color: #44465E; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-props-mailx:hover { color: #B23B3B; }
.poc-props-mailadd { align-self: flex-start; border: 0; background: none; padding: 1px 0; font-family: inherit; font-weight: 600; font-size: 12px; line-height: 1.3; color: #44465E; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-props-mailadd:hover { text-decoration: underline; }
.poc-props-foot { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 12px; }
.poc-props-link { display: inline-block; margin: 4px 0 0; font-size: 12px; color: #857EB6; text-decoration: underline; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-props-link:hover { color: #44465E; }

/* Define Task: Max Steps for agents on this Task (2026-09-25). */
.poc-task-steps { display: flex; align-items: center; gap: 8px; padding: 6px 0 2px; flex: 0 0 auto; }
.poc-task-steps .poc-settings-label { margin: 0; }
.poc-task-steps .poc-settings-input { width: 96px; flex: 0 0 auto; }

/* Gridtop menu shortcut hints; the Receptaculum window (2026-09-25). */
.poc-ctx-key { float: right; margin-left: 18px; opacity: 0.55; font-size: 0.85em; }
.poc-recept { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0 12px 12px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-recept-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 4px 0 8px; }
.poc-recept-count { font-size: 12px; color: #857EB6; margin-right: auto; }
.poc-recept-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; background: #FAFAFA; border: 1px solid #D8D9E0; }
.poc-recept-row { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-bottom: 1px solid #EFEFF3; }
.poc-recept-row:last-child { border-bottom: none; }
.poc-recept-info { flex: 1 1 auto; min-width: 0; }
.poc-recept-name { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-recept-meta { font-size: 11px; color: #857EB6; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-recept-acts { flex: 0 0 auto; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.poc-recept-acts .poc-settings-save { min-width: 96px; }
.poc-recept-danger { color: #8a1f1f !important; }
.poc-recept-note { font-size: 12px; color: #857EB6; padding: 12px; }

/* Autocoding: proposals waiting for the operator (2026-09-25). */
#autocoding-left-panel .poc-settings-save.poc-acl-btn.is-waiting { background: #AAA348 !important; color: #1D070E !important; }

/* Properties fills its own small box (2026-09-25): the Settings-layout windows get a fixed 600px
   content height above, which made the white panel hang out below the 360px Properties box. */
.poc-app-window:not(.is-maximized) .poc-app-content:has(.poc-props) { height: auto; max-height: none; min-height: 0; }

/* The Gridtop never scrolls (2026-09-26): a selected bottom-row icon (scale 1.15) reached past the grid's edge
   and brought up its scrollbar. clip, not hidden: a clipped box cannot be scrolled by script either. */
#poc-desktop-grid { overflow: clip; }

/* Chatbox bottom rows (Matt, 2026-09-27): the upload buttons and the model chips share one row; the CTX and LIM
   meters take a full-width row of their own beneath it, each bar stretching across half. Windowed and maximized. */
.poc-chat-icon-row { gap: 6px; }
.poc-chat-icon-row > .poc-chat-chips { flex-wrap: nowrap; }
.poc-chat-icon-row > .poc-chat-meters { flex: 0 0 100%; display: flex; gap: 16px; margin: 4px 0 0; }
.poc-chat-icon-row > .poc-chat-meters .poc-meter { flex: 1 1 0; min-width: 0; }
.poc-chat-icon-row > .poc-chat-meters .poc-meter-bar { flex: 1 1 auto; width: auto; }

/* Read-only panel titles (Directory, Autocoding) keep the custom arrow (2026-09-27). */
.descriptor-input[readonly], .descriptor-input[readonly]:focus { cursor: url('sprites/cursor_default.ico'), default; }

/* Logs > Report and Reports (2026-09-27). */
.poc-logs-btn.is-on { background: #AAA348; color: #1D070E; }
.poc-logs-report { flex: 0 0 auto; display: flex; flex-direction: column; gap: 6px; padding: 6px 0 10px; }
.poc-logs-reptext { min-height: 90px; resize: vertical; font-family: 'Afacad', sans-serif; font-size: 13px; }
.poc-logs-reprow { display: flex; align-items: center; gap: 10px; }
/* Report attachments (2026-09-28): one chip per file, x removes it. */
.poc-logs-repatt { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.poc-logs-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 260px; padding: 2px 4px 2px 8px; border: 1px solid #857EB6; border-radius: 10px; background: #ECE8FA; color: #44465E; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-logs-chipx { border: 0; background: transparent; color: #7D6988; font-size: 13px; line-height: 1; padding: 0 3px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-logs-chipx:hover { color: #B81B1B; }
.poc-logs-repcheck { font-size: 12px; color: #44465E; display: inline-flex; align-items: center; gap: 4px; }
.poc-logs-repmsg { margin-left: auto; font-size: 12px; color: #857EB6; }
.poc-logs-replist { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.poc-logs-rep { padding: 6px 4px 8px; border-bottom: 1px solid #EFEFF3; font-size: 12px; color: #44465E; }
.poc-logs-reph { color: #857EB6; font-variant-numeric: tabular-nums; margin-bottom: 2px; }
.poc-logs-repm { white-space: pre-wrap; word-break: break-word; }
.poc-logs-reply { margin-top: 5px; padding: 4px 8px; border-left: 3px solid #AAA348; background: #F6F6F9; white-space: pre-wrap; word-break: break-word; }

/* Media tabs (2026-09-27): one per open video, song or image. */
.poc-media-tabs { flex: 0 0 auto; display: flex; gap: 2px; overflow-x: auto; scrollbar-width: thin; border-bottom: 1px solid #D8D9E0; }
.poc-media-tab { flex: 0 1 180px; min-width: 70px; display: flex; align-items: center; gap: 4px; padding: 4px 6px 4px 10px; font-family: 'Afacad', sans-serif; font-size: 12px; color: #857EB6; background: #EFEDFB; border: 1px solid #D8D9E0; border-bottom: none; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-media-tab.is-active { background: #FAFAFA; color: #44465E; box-shadow: inset 0 2px 0 #AAA348; }
.poc-media-tabname { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poc-media-tabx { flex: 0 0 auto; border: none; background: none; color: inherit; font-size: 14px; line-height: 1; padding: 0 2px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-media-tabx:hover { color: #8a1f1f; }

/* File Directory, 2026 pass (2026-09-27): the Gridtop's own folder and file icons, hover and selection. */
.file-tree li { margin: 2px 0; }
.file-tree-caret, .file-node { border-radius: 4px; padding: 2px 6px 2px 4px; transition: background-color .12s ease; }
.file-tree-caret:hover, .file-node:hover { background-color: rgba(127, 120, 197, 0.13); }
.file-tree-caret::before { color: #857EB6; font-size: 7pt; }
.file-tree-ico { display: inline-block; width: 16px; height: 16px; margin-right: 5px; flex: 0 0 16px; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-50 -50 100 100%22%3E%3Cpath d=%22M-45,-30 h30 l10,10 h45 v50 h-85 z%22 fill=%22%23A99FFC%22/%3E%3Cpath d=%22M-45,-10 h90 v45 h-90 z%22 fill=%22%23857EB6%22 stroke=%22%2344465E%22 stroke-width=%224%22/%3E%3Cpath d=%22M-45,0 h15 l10,10 M45,25 h-15 l-10,-10%22 fill=%22none%22 stroke=%22%2344465E%22 stroke-width=%223%22/%3E%3Cpath d=%22M-25,12 q25,-20 50,0 q-25,20 -50,0 z%22 fill=%22%23AAA348%22 stroke=%22%2344465E%22 stroke-width=%224%22/%3E%3Ccircle cx=%220%22 cy=%2212%22 r=%229%22 fill=%22%2344465E%22/%3E%3Ccircle cx=%22-2%22 cy=%2210%22 r=%223%22 fill=%22%23AAA348%22/%3E%3C/svg%3E") no-repeat center / contain; }
.file-node::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 5px; vertical-align: -2px; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-50 -50 100 100%22%3E%3Cpath d=%22M-30,-42 h44 l16,16 v68 h-60 z%22 fill=%22%23857EB6%22 stroke=%22%2344465E%22 stroke-width=%224%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M14,-42 v16 h16 z%22 fill=%22%23A99FFC%22 stroke=%22%2344465E%22 stroke-width=%224%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M-18,-6 h36 M-18,8 h36 M-18,22 h24%22 fill=%22none%22 stroke=%22%23AAA348%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") no-repeat center / contain; }

/* Directory app (2026-09-27): Details view of the drive, steered by the File Directory panel while open. */
.poc-dirapp { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 0 12px 12px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-dirapp-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 4px; padding: 2px 0 8px; }
.poc-dirapp-btn { width: 26px; height: 24px; border: 1px solid #D8D9E0; background: #FAFAFA; color: #44465E; font-size: 13px; line-height: 1; border-radius: 4px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dirapp-btn:hover:not(:disabled) { background: #AAA348; color: #1D070E; }
.poc-dirapp-btn:disabled { opacity: .4; cursor: url('sprites/cursor_default.ico'), default; }
.poc-dirapp-crumbs { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 2px; margin-left: 6px; padding: 2px 8px; border: 1px solid #D8D9E0; border-radius: 4px; background: #FAFAFA; font-size: 13px; overflow: hidden; white-space: nowrap; }
.poc-dirapp-crumb { padding: 0 3px; border-radius: 3px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dirapp-crumb:hover:not(.is-last) { background: rgba(127, 120, 197, 0.15); }
.poc-dirapp-crumb.is-last { cursor: url('sprites/cursor_default.ico'), default; }
.poc-dirapp-sep { color: #857EB6; }
.poc-dirapp-count { flex: 0 0 auto; margin-left: 8px; font-size: 11px; color: #857EB6; }
.poc-dirapp-destroyall { flex: 0 0 auto; margin-left: 8px; }
.poc-dirapp-destroyall[hidden] { display: none; }
.poc-dirapp-list { flex: 1 1 auto; min-height: 0; overflow: auto; border: 1px solid #D8D9E0; background: #FAFAFA; outline: none; }
.poc-dirapp-list:focus-visible { box-shadow: 0 0 0 2px rgba(170, 163, 72, .5); }
.poc-dirapp-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.poc-dirapp-table th { position: sticky; top: 0; z-index: 1; background: #EFEDFB; color: #857EB6; font-weight: 400; text-align: left; padding: 5px 10px; border-bottom: 1px solid #D8D9E0; border-right: 1px solid #E4E2F2; white-space: nowrap; user-select: none; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dirapp-table th:hover { background: #E4E0FA; color: #44465E; }
.poc-dirapp-table th.is-sorted { color: #44465E; }
.poc-dirapp-arrow { margin-left: 5px; font-size: 8px; color: #AAA348; }
.poc-dirapp-table td { padding: 3px 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 320px; border-bottom: 1px solid #F0EFF6; }
.poc-dirapp-table .is-right { text-align: right; }
.poc-dirapp-table tbody tr { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-dirapp-table tbody tr:hover { background: rgba(127, 120, 197, 0.10); }
.poc-dirapp-table tbody tr.is-selected { background: rgba(127, 120, 197, 0.26); }
.poc-dirapp-table tbody tr.is-multi { background: rgba(170, 163, 72, 0.28); }
.poc-dirapp-table tbody tr.is-multi.is-selected { background: rgba(170, 163, 72, 0.42); }
.poc-dirapp-table tbody tr.is-drop { background: rgba(79, 195, 232, 0.28); }
.poc-dirapp-cell { display: flex; align-items: center; gap: 7px; min-width: 0; }
.poc-dirapp-icon { flex: 0 0 16px; width: 16px; height: 16px; display: inline-flex; }
.poc-dirapp-icon svg { width: 16px; height: 16px; }
.poc-dirapp-name { overflow: hidden; text-overflow: ellipsis; }
.poc-dirapp-empty td { text-align: center; color: #857EB6; padding: 18px; }
.poc-dirapp-arrow { display: inline-block; width: 8px; text-align: center; }
.poc-dirapp-arrow.is-off { visibility: hidden; }
.poc-dirapp-list { position: relative; }
.poc-dirapp-table tbody { user-select: none; }
.poc-dirapp-crumbs { cursor: text; }
.poc-dirapp-crumbs[hidden], .poc-dirapp-addr[hidden] { display: none; }
.poc-dirapp-crumb.is-last { cursor: text; }
.poc-dirapp-addr { flex: 1 1 auto; min-width: 0; margin-left: 6px; padding: 2px 8px; border: 1px solid #AAA348; border-radius: 4px; background: #FAFAFA; color: #44465E; font: 13px 'Afacad', sans-serif; line-height: 18px; outline: none; }
/* One height in both states (2026-10-12): the crumb row and the text box that replaces it share font, line and box. */
.poc-dirapp-crumbs, .poc-dirapp-addr { box-sizing: border-box; height: 26px; font: 400 13px/20px 'Afacad', sans-serif; }
.poc-dirapp-crumbs *, .poc-dirapp-addr { font-weight: 400; }
.poc-dirapp-addr::selection { background: rgba(127, 120, 197, 0.35); }
.poc-dirapp-marquee { position: absolute; display: none; z-index: 2; pointer-events: none; background-color: #AAA34833; border: 2px dashed #AAA348; }

/* Terminal themes (2026-09-27, Matt): the Gridtop tab is cool (royal purple folders, light blue, white slashes); the
   green it had moves to the PC tab (Bash, in the Windows app), with its lavender folders and gold slashes. */
.poc-term-modes[data-mode="pc"] .poc-term-tab.on { color: #00E200; background: #07110a; text-shadow: 0 0 2px rgba(0,226,0,.6), 0 0 6px rgba(0,226,0,.5); }
.poc-term.mode-pc .term-dir { color: #A99FFC; font-weight: 700; text-shadow: 0 0 5px rgba(169,159,252,.4); }
.poc-term.mode-pc .term-sl { color: #AAA348; text-shadow: 0 0 2px rgba(170,163,72,.6), 0 0 6px rgba(170,163,72,.5); }
.poc-term.mode-pc .term-cn { color: #00E200; text-shadow: 0 0 2px rgba(0,226,0,.6), 0 0 6px rgba(0,226,0,.5); }
.poc-term.mode-pc .term-cmd, .poc-term.mode-pc .term-out { color: #00E200; text-shadow: 0 0 2px rgba(0,226,0,.55), 0 0 6px rgba(0,226,0,.45); }
.poc-term.mode-pc .term-err { color: #E24A4A; text-shadow: 0 0 2px rgba(226,74,74,.55), 0 0 6px rgba(226,74,74,.45); }
.poc-term.mode-pc .poc-term-input { color: #00E200; caret-color: #00E200; text-shadow: 0 0 2px rgba(0,226,0,.6), 0 0 6px rgba(0,226,0,.5); }
.poc-term.mode-pc .poc-term-input::selection { background: rgba(0,226,0,.28); }
.poc-term.mode-pc .poc-term-screen::-webkit-scrollbar-thumb { background: #1c3a20; }
.poc-term.mode-pc .poc-term-screen::-webkit-scrollbar-thumb:hover { background: #00E200; }

/* The hosting dashboard's menu (2026-09-27): the account email on its own line at the top. */
.dropdown-menu .hd-menu-who {
    padding: 6px 12px 8px; margin-bottom: 4px;
    border-bottom: 1px solid rgba(238, 238, 238, 0.18);
    font-size: 10.5pt; color: rgba(238, 238, 238, 0.72); word-break: break-all; cursor: default;
}

/* Token accounting (2026-09-27): Token Use... on object cards, Budgeting > Tokens, agent limits. */
.descriptor-tokuse { display: block; text-align: right; font-size: 10px; padding: 1px 8px 3px; color: #857EB6; text-decoration: none; cursor: url('sprites/cursor_point.ico'), pointer; }
.descriptor-tokuse:hover { color: #44465E; text-decoration: underline; }
.descriptor-panel.collapsed > .descriptor-tokuse { display: none; }
.poc-tok-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 8px; border-radius: 10px; background: #EFEDFB; color: #44465E; font-size: 12px; }
.poc-tok-chipx { border: none; background: none; color: #857EB6; font-size: 14px; line-height: 1; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-tok-limits { display: flex; gap: 10px; flex-wrap: wrap; padding: 4px 10px 10px; border-bottom: 1px solid #EFEFF3; }
.poc-tok-limit { display: flex; flex-direction: column; gap: 2px; flex: 0 1 150px; }

/* Schedules (2026-09-27). */
.poc-sched { display: flex; flex-direction: column; gap: 8px; padding: 0 12px 12px; }
.poc-sched-form { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid #D8D9E0; background: #FAFAFA; }
.poc-sched-row { display: grid; grid-template-columns: 90px 1fr; gap: 8px; align-items: center; }
.poc-sched-row[hidden] { display: none; }
.poc-sched-prompt { min-height: 80px; resize: vertical; font-family: 'Afacad', sans-serif; }
.poc-sched-days { display: flex; gap: 10px; flex-wrap: wrap; }
.poc-sched-run { opacity: 0.85; }

/* ---- Media player (gt/playerdeck.js, 2026-09-27) ------------------------------------------------------------
   The picture's box takes the picture's shape (no bars, never black); its own colours glow around it; the controls
   are glass on straight lines, flush to the picture's bottom edge, with the Gridtop's spotlight under the pointer. */
.poc-media-area {
    flex: 1 1 auto; min-height: 0; position: relative; overflow: hidden; outline: none;
    display: flex; align-items: center; justify-content: center;
    background: none;   /* the window itself around the picture; the blurred fill is gone (2026-09-30) */
}
.poc-media-area.is-full { background: #1d1e28; }
.poc-media-area .poc-media-stage {
    flex: none; position: relative; overflow: hidden; container-type: inline-size;
    background: transparent; border: none;
    box-shadow: 0 18px 44px rgba(29,30,40,.34), 0 0 0 1px rgba(255,255,255,.14);
    transition: width .28s cubic-bezier(.2,.8,.2,1), height .28s cubic-bezier(.2,.8,.2,1);
}
.poc-media-area .poc-media-stage.is-free { width: 100%; height: 100%; box-shadow: none; }
.poc-media-area .poc-media-video { background: transparent; object-fit: contain; opacity: 0; transition: opacity .35s ease; }
.poc-media-area .poc-media-stage.is-ready .poc-media-video { opacity: 1; }
.poc-media-area .poc-media-stage[data-aspect="fill"] .poc-media-video,
.poc-media-area .poc-media-stage[data-aspect="fill"] .poc-media-image { object-fit: cover; width: 100%; height: 100%; }
.poc-media-area .poc-media-image { width: 100%; height: 100%; max-width: none; max-height: none; opacity: 0; transition: opacity .3s ease; }
.poc-media-area .poc-media-stage.is-ready .poc-media-image { opacity: 1; }
/* Loading: a lavender glass sheen instead of a black box. */
.poc-media-area .poc-media-stage.is-video:not(.is-ready) {
    background: linear-gradient(110deg, #E4E1F3 30%, #F6F5FC 45%, #E4E1F3 60%) 0 0 / 300% 100%;
    animation: gt-deck-sheen 1.4s linear infinite;
}
@keyframes gt-deck-sheen { from { background-position: 100% 0; } to { background-position: -200% 0; } }
/* A song (or a picture this browser can't draw): a glass panel with the name, the controls always showing. */
.poc-media-area .poc-media-stage.is-audio { width: min(100%, 720px) !important; height: 220px !important; background: linear-gradient(135deg, #44465E, #5B5480 55%, #857EB6); animation: none; }
.poc-media-area .poc-media-stage.is-audio .poc-media-video { opacity: 0 !important; }
.poc-media-area .poc-media-stage.is-audio::before {
    content: attr(data-name); position: absolute; left: 24px; right: 24px; top: 34%;
    font-family: 'Afacad', sans-serif; font-size: 22px; color: #F4F3FA; letter-spacing: .5px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gt-deck-note { position: absolute; left: 24px; top: calc(34% + 34px); font-family: 'Afacad', sans-serif; font-size: 12px; color: #C8BFE7; pointer-events: none; }

.gt-deck-bar {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
    display: none; flex-direction: column;
    color: #F4F3FA; font-family: 'Afacad', sans-serif;
    /* Solid, not frosted: a backdrop blur over a playing video is redrawn every frame and made playback stutter. */
    background: linear-gradient(180deg, rgba(68,70,94,.78), rgba(29,30,40,.9));
    border-top: 1px solid rgba(255,255,255,.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(0,0,0,.28), 0 -10px 28px rgba(29,30,40,.22);
    transition: opacity .35s ease, transform .35s ease;
    cursor: url('sprites/cursor_default.ico'), default;
}
.poc-media-stage.is-video .gt-deck-bar { display: flex; }
.gt-deck-bar::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px), rgba(255,255,255,.30), transparent 72%);
}
.gt-deck-bar::after {
    content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9) 20%, rgba(255,255,255,.35) 55%, rgba(255,255,255,.85) 85%, transparent);
}
.poc-media-stage.is-idle .gt-deck-bar { opacity: 0; transform: translateY(8px); pointer-events: none; }
.poc-media-stage.is-idle { cursor: none; }

.gt-deck-seek { position: relative; height: 14px; margin: 0 12px; cursor: url('sprites/cursor_point.ico'), pointer; touch-action: none; }
.gt-deck-seek::before { content: ''; position: absolute; left: 0; right: 0; top: 6px; height: 3px; background: rgba(255,255,255,.22); transition: top .15s, height .15s; }
.gt-deck-seek-buf, .gt-deck-seek-fill, .gt-deck-seek-ab { position: absolute; left: 0; top: 6px; height: 3px; pointer-events: none; transition: top .15s, height .15s; }
.gt-deck-seek-buf { background: rgba(255,255,255,.34); }
.gt-deck-seek-fill { background: linear-gradient(90deg, #C8BFE7, #F4F3FA); box-shadow: 0 0 10px rgba(200,191,231,.8); }
.gt-deck-seek-ab { background: rgba(170,163,72,.55); outline: 1px solid #AAA348; }
.gt-deck-seek-ab.is-half { width: 2px !important; }
.gt-deck-seek-head { position: absolute; top: 3px; width: 3px; height: 9px; margin-left: -1px; background: #FFF; box-shadow: 0 0 8px rgba(255,255,255,.9); pointer-events: none; opacity: 0; transition: opacity .15s; }
.gt-deck-seek-tip { position: absolute; bottom: 16px; transform: translateX(-50%); padding: 2px 6px; font-size: 11px; background: rgba(29,30,40,.72); color: #F4F3FA; pointer-events: none; opacity: 0; white-space: nowrap; }
.gt-deck-seek:hover::before, .gt-deck-seek:hover .gt-deck-seek-buf, .gt-deck-seek:hover .gt-deck-seek-fill, .gt-deck-seek:hover .gt-deck-seek-ab,
.gt-deck-seek.is-drag::before, .gt-deck-seek.is-drag .gt-deck-seek-buf, .gt-deck-seek.is-drag .gt-deck-seek-fill, .gt-deck-seek.is-drag .gt-deck-seek-ab { top: 4px; height: 6px; }
.gt-deck-seek:hover .gt-deck-seek-head, .gt-deck-seek.is-drag .gt-deck-seek-head, .gt-deck-seek:hover .gt-deck-seek-tip { opacity: 1; }

.gt-deck-row { position: relative; display: flex; align-items: center; padding: 0 6px 4px; min-width: 0; }
.gt-deck-spacer { flex: 1 1 auto; min-width: 4px; }
.gt-deck-btn {
    flex: 0 0 auto; width: 34px; height: 32px; padding: 0; border: none; border-radius: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; color: #F4F3FA; position: relative;
    cursor: url('sprites/cursor_point.ico'), pointer;
    transition: background .15s, color .15s, box-shadow .15s;
}
.gt-deck-btn:hover { background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,0,0,.18); }
.gt-deck-btn:active { background: rgba(255,255,255,.26); }
.gt-deck-btn:disabled { opacity: .35; pointer-events: none; }
.gt-deck-btn.is-on { color: #E6DF8A; }
.gt-deck-btn.is-on svg { filter: drop-shadow(0 0 5px rgba(230,223,138,.75)); }
.gt-deck-btn.is-half { color: #C8BFE7; }
.gt-deck-btn[data-mode]::after { content: attr(data-mode); position: absolute; right: 3px; bottom: 3px; font-size: 8px; font-weight: 700; color: #E6DF8A; }
.gt-deck-btn[data-mode=""]::after { content: none; }
.gt-deck-speed { width: auto; min-width: 40px; padding: 0 6px; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.gt-deck-time {
    flex: 0 0 auto; padding: 0 10px; height: 32px; border: none; background: transparent; color: #F4F3FA;
    font-family: 'JetBrains Mono', monospace; font-size: 12px; white-space: nowrap;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.gt-deck-vol { -webkit-appearance: none; appearance: none; flex: 0 1 80px; width: 80px; min-width: 40px; height: 3px; margin: 0 8px 0 2px; border-radius: 0;
    background: linear-gradient(90deg, #F4F3FA var(--v, 100%), rgba(255,255,255,.25) var(--v, 100%)); cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-deck-vol::-webkit-slider-thumb { -webkit-appearance: none; width: 3px; height: 12px; border-radius: 0; background: #FFF; box-shadow: 0 0 6px rgba(255,255,255,.9); }
.gt-deck-vol::-moz-range-thumb { width: 3px; height: 12px; border: none; border-radius: 0; background: #FFF; }

.gt-deck-menu {
    position: absolute; right: 8px; bottom: 58px; z-index: 4; display: none; flex-direction: column; min-width: 128px;
    background: linear-gradient(180deg, rgba(68,70,94,.92), rgba(29,30,40,.95));
    border: 1px solid rgba(255,255,255,.38); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 12px 30px rgba(29,30,40,.35);
}
.gt-deck-menu.is-open { display: flex; }
.gt-deck-menu-item { border: none; background: transparent; color: #F4F3FA; text-align: left; padding: 5px 14px; font-family: 'Afacad', sans-serif; font-size: 13px; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-deck-menu-item:hover { background: rgba(255,255,255,.16); }
.gt-deck-menu-item.is-on { color: #E6DF8A; }
.gt-deck-menu-pitch { border-top: 1px solid rgba(255,255,255,.25); }
.gt-deck-menu-pitch.is-on::before { content: "\2713\00a0"; }

.gt-deck-flash {
    position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; z-index: 2; pointer-events: none;
    display: flex; align-items: center; justify-content: center; color: #FFF; opacity: 0;
    background: rgba(29,30,40,.55);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 8px 24px rgba(0,0,0,.25);
}
.gt-deck-flash svg { width: 28px; height: 28px; }
.gt-deck-flash.is-on { animation: gt-deck-flash .6s ease-out; }
@keyframes gt-deck-flash { 0% { opacity: .95; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.25); } }

.gt-deck-plist {
    position: absolute; top: 0; right: 0; bottom: 0; z-index: 5; width: 260px; max-width: 70%;
    display: none; flex-direction: column; overflow-y: auto;
    background: linear-gradient(180deg, rgba(248,247,253,.96), rgba(239,237,251,.98));
    border-left: 1px solid rgba(255,255,255,.7); box-shadow: inset 1px 0 0 rgba(68,70,94,.12), -12px 0 30px rgba(29,30,40,.18);
    font-family: 'Afacad', sans-serif; color: #44465E;
}
.gt-deck-plist.is-open { display: flex; }
.gt-deck-plist-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px 6px 12px; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; border-bottom: 1px solid rgba(68,70,94,.15); }
.gt-deck-plist-add { border: 1px solid rgba(68,70,94,.3); background: rgba(255,255,255,.5); color: #44465E; font-family: 'Afacad', sans-serif; font-size: 11px; padding: 2px 8px; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-deck-plist-add:hover { background: #FFF; }
.gt-deck-plist-item { display: flex; gap: 8px; align-items: baseline; border: none; background: transparent; text-align: left; padding: 6px 12px; font-family: inherit; font-size: 13px; color: inherit; border-bottom: 1px solid rgba(68,70,94,.08); cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-deck-plist-item:hover { background: rgba(255,255,255,.6); }
.gt-deck-plist-item.is-active { box-shadow: inset 3px 0 0 #AAA348; background: rgba(255,255,255,.7); font-weight: 600; }
.gt-deck-plist-n { flex: 0 0 18px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: #857EB6; }
.gt-deck-plist-name { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gt-deck-plist-none { padding: 10px 12px; font-size: 12px; color: #857EB6; }

/* Narrow pictures: the rarer controls step aside first. */
@container (max-width: 620px) { .gt-deck-vol, .gt-deck-pip, .gt-deck-snap, .gt-deck-stop { display: none; } }
@container (max-width: 440px) { .gt-deck-fstep, .gt-deck-shuf, .gt-deck-asp { display: none; } }
/* Directorium header: the drive's sync readout, inside Autocomputing '26 (gt/syncstatus.js, 2026-09-29). */
.gt-sync-readout { font-size: 10px; letter-spacing: .4px; color: #6A6C82; margin-right: 8px; white-space: nowrap; align-self: center; }
.gt-sync-readout.is-busy { color: #7D6988; }
/* Agent questions and permission requests in the chat (gt/agentask.js, 2026-09-29). */
.gt-ask { margin: 8px 4px 10px; padding: 10px 12px; border: 1px solid #A99FFC; border-radius: 2px; background: linear-gradient(180deg, #F7F5FF, #ECE8FA); color: #26283B; font-size: 13px; box-shadow: 0 2px 8px rgba(68,70,94,.12); }
.gt-ask-perm { border-color: #FFEC64; background: linear-gradient(180deg, #FFFDEB, #FFF7C2); }   /* the Gridtop gold (Matt, 2026-10-02) */
.gt-ask-who { font-size: 9px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: #6A6C82; margin-bottom: 4px; }
.gt-ask-q { font-size: 13.5px; line-height: 1.4; margin-bottom: 8px; }
.gt-ask-detail { font-family: Consolas, monospace; font-size: 11px; color: #44465E; background: rgba(255,255,255,.7); border-radius: 2px; padding: 4px 6px; margin-bottom: 8px; word-break: break-all; }
.gt-ask-options { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.gt-ask-opt { display: grid; grid-template-columns: 18px 1fr; column-gap: 6px; align-items: start; padding: 5px 6px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-ask-opt:hover { background: rgba(169,159,252,.18); }
.gt-ask-opt input { margin: 2px 0 0; accent-color: #857EB6; }
.gt-ask-optdesc { grid-column: 2; font-size: 11px; color: #6A6C82; }
.gt-ask-other { grid-template-columns: 18px auto 1fr; }
.gt-ask-othertext, .gt-ask-text { width: 100%; font-family: 'Afacad', sans-serif; box-sizing: border-box; border: 1px solid #C8BFE7; border-radius: 2px; padding: 4px 6px; font: inherit; font-size: 12.5px; background: #fff; }
.gt-ask-othertext { margin-left: 6px; }
.gt-ask-text { max-width: 520px; resize: vertical; margin-bottom: 8px; }
.gt-ask-bar { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.gt-ask-btn { font-family: 'Afacad', sans-serif; border: 1px solid #857EB6; background: #fff; color: #44465E; border-radius: 2px; padding: 4px 10px; font-size: 12px; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-ask-btn:hover { background: #ECE8FA; }
.gt-ask-btn.is-primary { background: #44465E; color: #FFEC64; border-color: #44465E; }
.gt-ask-btn.is-deny { border-color: #D96C6C; color: #B81B1B; }
.gt-ask.is-done { padding: 6px 10px; background: rgba(236,232,250,.6); box-shadow: none; }
.gt-ask-done { font-size: 12px; color: #6A6C82; }

/* First-run welcome over the empty grid (gt/welcome.js, 2026-09-29), and the Directorium's loading line. */
.gt-welcome { position: fixed; left: 50%; top: 45%; transform: translate(-50%, -50%); z-index: 40; width: min(460px, 86%); padding: 22px 26px 18px; border: 1px solid #A99FFC; border-radius: 2px; background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(236,232,250,.97)); box-shadow: 0 10px 30px rgba(68,70,94,.22); color: #26283B; text-align: center; }
.gt-welcome-title { font-size: 20px; color: #44465E; margin-bottom: 8px; }
.gt-welcome-lead { font-size: 14px; margin-bottom: 6px; }
.gt-welcome-how { font-size: 12px; color: #6A6C82; margin-bottom: 16px; }
.gt-welcome-bar { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.gt-welcome-btn { font-family: 'Afacad', sans-serif; border: 1px solid #857EB6; background: #fff; color: #44465E; border-radius: 2px; padding: 6px 14px; font-size: 13px; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-welcome-btn:hover { background: #ECE8FA; }
.gt-welcome-btn.is-primary { background: #44465E; color: #FFEC64; border-color: #44465E; }
.file-tree-muted { color: #8A8CA0; font-size: 12px; font-style: italic; padding-left: 6px; }
.poc-meter-x { border: 0; background: transparent; color: #7D6988; font-size: 12px; line-height: 1; padding: 0 2px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-meter-x:hover { color: #B81B1B; }
/* Settings > Appearance (2026-09-29): Grid "Square (8 x 8)" and Reduced motion, as classes on <html> (gt/settingsprefs.js). */
html.gt-grid-square #poc-desktop-grid { aspect-ratio: 1 / 1; grid-template-columns: repeat(8, 1fr); --grid-cols: 8; }
/* The square grid leaves more room at the sides than the panes' 400px cap: let them share it (2026-09-29, Matt). */
html.gt-grid-square .poc-side-pane { max-width: none; }
html.gt-reduced-motion *, html.gt-reduced-motion *::before, html.gt-reduced-motion *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }

/* Usage card (gt/usagecard.js), styled as the silver menu (2026-09-29, Matt). --tint (0 to 1) is heat on a steep
   curve, so the #7D6988 reddening stays out of sight until a reading nears 92% and is plain only at the top. */
.gt-usage-card { --tint: 0; position: fixed; z-index: 100050; width: 280px; box-sizing: border-box; padding: 6px 10px 4px; border-radius: 2px;
  font-family: "Afacad", sans-serif; font-size: 10.5pt; color: #44465E;
  background:
    linear-gradient(to bottom, rgba(125,105,136,calc(var(--tint) * .10)), rgba(125,105,136,calc(var(--tint) * .30))),
    linear-gradient(to bottom, rgba(255,255,255,0.95) 0%, rgba(240,240,240,0.95) 40%, rgba(220,220,220,0.95) 100%);
  border: 1px solid rgba(68, 70, 94, calc(.4 + .35 * var(--tint)));
  box-shadow: 2px 2px 10px rgba(30, 32, 44, 0.2), inset 1px 1px 0 rgba(255,255,255,0.8), 0 0 calc(var(--tint) * 10px) rgba(125,105,136,calc(var(--tint) * .5));
  transition: border-color .4s ease, box-shadow .4s ease; }
.gt-usage-card.is-pinned { border-color: rgba(68, 70, 94, .7); }
.gt-uc-sec { padding: 5px 0; border-top: 1px solid rgba(68, 70, 94, 0.35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85); }
.gt-uc-sec:first-child { border-top: 0; box-shadow: none; padding-top: 2px; }
.gt-uc-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.gt-uc-title { font-weight: 600; }
.gt-uc-right { font-size: 9pt; opacity: .7; white-space: nowrap; }
.gt-uc-bar { display: flex; height: 5px; border: 1px solid #44465E; border-radius: 2px; background: linear-gradient(180deg, #FDFEFF, #C8CBD5); overflow: hidden; margin-bottom: 4px; }
.gt-uc-seg { display: block; height: 100%; }
.gt-uc-sys { background: #857EB6; } .gt-uc-tools { background: #A99FFC; } .gt-uc-msgs { background: linear-gradient(180deg, #FFF7C4, #FFEC64); } .gt-uc-free { background: transparent; }
.gt-uc-left, .gt-uc-used { background: linear-gradient(180deg, #FFF7C4, #FFEC64); }
.gt-uc-row { display: flex; align-items: center; gap: 6px; padding: 1px 0; font-size: 9.5pt; }
.gt-uc-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; border: 1px solid rgba(68,70,94,.35); box-sizing: border-box; }
.gt-uc-lbl { flex: 1; }
.gt-uc-val { font-size: 9pt; opacity: .7; }
.gt-uc-note { font-size: 9pt; opacity: .45; }
.gt-uc-note:empty { display: none; }
.gt-uc-more { display: flex; width: 100%; margin-top: 2px; padding: 5px 2px 3px; border: 0; border-top: 1px solid rgba(68, 70, 94, 0.35); box-shadow: inset 0 1px 0 rgba(255,255,255,.85); background: none; color: #44465E; text-align: left; font: inherit; font-size: 10.5pt; border-radius: 0; }
.poc-chat-meters .poc-meter-ctx, .poc-chat-meters .poc-meter-lim, .poc-chat-meters .poc-meter-ctx *, .poc-chat-meters .poc-meter-lim * { cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-usage-card, .gt-usage-card * { cursor: url('sprites/cursor_default.ico'), default; }
.gt-usage-card .gt-uc-more { cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-usage-card .gt-uc-more:hover { background-color: rgba(127, 120, 197, 0.2); box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.1); border-radius: 2px; }

/* Break-out windows (2026-09-30, gt/breakout.js): the window fills its own window; Windows (or the browser) does
   close, maximize and minimize there, so only Break Out (now Put Back) and What's This? stay. In the app the silver
   bar replaces the strip altogether. */
body.gt-breakout-doc { margin: 0; overflow: hidden; background: #EEEEEE; }
.poc-app-window.is-broken-out {
    position: fixed !important; left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important;
    width: auto !important; height: auto !important; max-width: none !important; max-height: none !important;
    transform: none !important; opacity: 1 !important; visibility: visible !important; display: flex !important; z-index: 1 !important;
}
.poc-app-window.is-broken-out .poc-app-close-btn, .poc-app-window.is-broken-out .poc-app-max-btn,
.poc-app-window.is-broken-out .poc-app-shade-btn, .poc-app-window.is-broken-out .poc-app-lock-btn,
.poc-app-window.is-broken-out .poc-app-dock-btn { display: none !important; }
body.gt-breakout-doc.gt-breakout-app .poc-app-window.is-broken-out .poc-eq-margin { display: none !important; }
/* A broken-out chatbox does the same (2026-10-02): it fills its window, its conversation takes the height, and only
   Break In and What's This? stay on its strip (in the app, the silver bar replaces the strip). */
.poc-chat-box.is-broken-out {
    position: fixed !important; left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important;
    width: auto !important; height: auto !important; max-width: none !important; max-height: none !important;
    transform: none !important; opacity: 1 !important; visibility: visible !important; display: flex !important; z-index: 1 !important;
    border: none; box-shadow: none; border-radius: 0; padding: 0 !important; gap: 0 !important;
}
.poc-chat-box.is-broken-out .poc-eq-margin { margin: 0 !important; }
.poc-chat-box.is-broken-out .poc-chat-content { padding: 10px; }
.poc-chat-box.is-broken-out .poc-chat-history { flex: 1 1 auto; height: auto !important; min-height: 0 !important; }
.poc-chat-box.is-broken-out .poc-chat-close-btn, .poc-chat-box.is-broken-out .poc-chat-max-btn,
.poc-chat-box.is-broken-out .poc-chat-shade-btn, .poc-chat-box.is-broken-out .poc-chat-dock-btn,
.poc-chat-box.is-broken-out .poc-chat-lock-btn { display: none !important; }
body.gt-breakout-doc.gt-breakout-app .poc-chat-box.is-broken-out .poc-eq-margin { display: none !important; }

/* An app drawer too long for the header (2026-09-30, gt/drawerpan.js): it stops before Call Support and pans. The
   padding (taken back by the margins) keeps the hover lift, the shadows and the running-app underline inside the clip. */
.header-icon-drawer.is-overflow { overflow: hidden; padding: 6px 6px 13px; margin: -6px -6px -13px; }
.header-icon-drawer .drawer-icon { flex: 0 0 auto; }   /* the drawer pans; its icons never squeeze to fit */
.header-icon-drawer.is-overflow.can-right { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 44px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 44px), transparent); }
.header-icon-drawer.is-overflow.can-left { -webkit-mask-image: linear-gradient(90deg, transparent, #000 44px); mask-image: linear-gradient(90deg, transparent, #000 44px); }
.header-icon-drawer.is-overflow.can-left.can-right { -webkit-mask-image: linear-gradient(90deg, transparent, #000 44px, #000 calc(100% - 44px), transparent); mask-image: linear-gradient(90deg, transparent, #000 44px, #000 calc(100% - 44px), transparent); }

/* ---- Docked chat (2026-10-02) ------------------------------------------------------------------
   The descriptor panel itself is the chatbox: no boxed history or prompt inside it. The panel turns from
   silver to white while its CHAT tab has focus. One row per kind of control: Save Prompt buttons, editor
   buttons, the prompt, upload/attach, model chips, context bars. */
.descriptor-panel:has(> .docked-chat-panel.active):focus-within { background-color: #FAFAFA; }
.docked-chat-panel { padding: 4px 0 6px 0; gap: 4px; }
.docked-chat-panel:focus { outline: none; }
.descriptor-panel.expanded-height .docked-chat-panel { padding-right: 24px; }
.docked-chat-panel .poc-chat-history,
.docked-chat-panel .poc-chat-input,
.docked-chat-panel .poc-chat-input:focus {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}
.docked-chat-panel .poc-chat-history { padding: 2px 0; margin-bottom: 0; }
.docked-chat-panel .poc-chat-input-wrap { border-top: 1px solid rgba(68, 70, 94, 0.18); }
.docked-chat-panel .poc-chat-input { padding: 4px 0; min-height: 64px; }
.docked-chat-panel .poc-dock-row {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    margin: 0;
    padding: 4px 0;
}
.docked-chat-panel .poc-chat-icon-row.poc-dock-row { margin-top: 0; padding-right: 0; gap: 8px; }
.docked-chat-panel .poc-dock-chiprow .poc-chat-chips { margin-left: 0; }
.docked-chat-panel .poc-dock-meterrow .poc-chat-meters { margin-left: 0; }
.docked-chat-panel.is-locked .poc-dock-saverow,
.docked-chat-panel.is-locked .poc-dock-chiprow { pointer-events: none; opacity: 0.5; filter: grayscale(1); }

/* ---- Assets and INSTR (2026-10-02) -------------------------------------------------------------
   Roles, Skills, Tasks and Tools keep no visible descriptor panel; they appear on their agents' INSTR tab,
   grouped by kind, each icon joined to the next by a fine line, with a checkbox to pause it. */
.descriptor-panel.poc-desc-asset { display: none !important; }
.poc-agent-instr { gap: 4px; padding: 8px 10px 10px; overflow-y: auto; min-height: 0; text-align: left; }
.descriptor-panel.expanded-height .poc-agent-instr { padding-right: 10px; }
.poc-instr-list { display: flex; flex-direction: column; gap: 4px; }
.poc-instr-head { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: #1D070E; font-weight: 700; margin-top: 2px; }
.poc-instr-group { position: relative; display: flex; flex-direction: column; gap: 5px; margin-bottom: 6px; }
.poc-instr-group::before {
    content: "";
    position: absolute;
    left: 34px;
    top: 13px;
    bottom: 13px;
    width: 1px;
    background: rgba(68, 70, 94, 0.35);
}
.poc-instr-row { position: relative; display: flex; align-items: center; gap: 8px; min-height: 30px; font-family: 'Afacad', sans-serif; color: #44465E; }
.poc-instr-row > .poc-ctx-checkbox { margin: 0; flex: 0 0 auto; }
/* The icon is a button with the app drawer's gold hover. */
.poc-instr-ic {
    position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; flex: 0 0 26px; padding: 0; margin: 0; border: none; background: transparent;
    filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.35));
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.2s ease;
    cursor: url('sprites/cursor_point.ico'), pointer;
}
.poc-instr-ic svg { width: 26px; height: 26px; pointer-events: none; }
.poc-instr-ic:hover {
    transform: scale(1.10);
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.6)) saturate(0) brightness(1.5) sepia(100%) hue-rotate(15deg) saturate(450%) brightness(110%) contrast(95%);
}
/* The name is the descriptor header's field: double-click to rename. */
.poc-instr-name {
    flex: 1 1 auto; min-width: 40px; height: 24px; line-height: 24px; box-sizing: border-box;
    background: transparent; border: none; outline: none; border-radius: 2px; margin: 0; padding: 0 4px;
    font-family: 'Afacad', sans-serif; font-size: 12pt; color: #44465E;
    text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
    cursor: url('sprites/cursor_default.ico'), auto;
    transition: background-color 0.1s ease;
}
.poc-instr-name:not([readonly]) { background-color: #EEEEEE; box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.1); cursor: url('sprites/cursor_input.ico') 12 12, text; }
.poc-instr-row.is-off .poc-instr-ic,
.poc-instr-row.is-off .poc-instr-name { opacity: 0.45; }
.poc-instr-float { padding: 10px 12px; height: 100%; overflow-y: auto; box-sizing: border-box; text-align: left; }

/* Docked chat Keep in View (2026-10-02): L pins the agent's panel in the right pane's view while it scrolls. */
#poc-right-pane .descriptor-panel.poc-chat-pinned:has(> .docked-chat-panel) { position: sticky; top: 0; bottom: 0; z-index: 6; }
.descriptor-panel.poc-chat-pinned:has(> .docked-chat-panel.active) { background-color: #FAFAFA; }
.docked-chat-panel .docked-eq-margin .poc-eq-util-btn.active { color: #AAA348; }
/* ...and the right pane's scrolling locks while it is kept in view. */
#poc-right-pane .poc-pane-content:has(.descriptor-panel.poc-chat-pinned > .docked-chat-panel) { overflow-y: hidden; scrollbar-gutter: stable; }

/* INSTR scrollbars match the right pane's. */
.poc-agent-instr::-webkit-scrollbar, .poc-instr-float::-webkit-scrollbar { width: 5px; }
.poc-agent-instr::-webkit-scrollbar-track, .poc-instr-float::-webkit-scrollbar-track { background: #C8BFE7; }
.poc-agent-instr::-webkit-scrollbar-thumb, .poc-instr-float::-webkit-scrollbar-thumb { background: #44465E; border-radius: 3px; }
.poc-agent-instr::-webkit-scrollbar-button, .poc-instr-float::-webkit-scrollbar-button { display: none; }

/* INSTR checkboxes are lilac (Matt, 2026-10-02). */
.poc-instr-row .poc-ctx-checkbox:checked { background: #A99FFC; }

/* BUDG (2026-10-02): an agent's token use as a descriptor tab. */
.poc-agent-budg { gap: 6px; padding: 8px 10px 10px; overflow-y: auto; min-height: 0; text-align: left; }
.descriptor-panel.expanded-height .poc-agent-budg { padding-right: 30px; }
.poc-agent-budg .poc-bud-crow { flex-wrap: wrap; }
.poc-agent-budg::-webkit-scrollbar { width: 5px; }
.poc-agent-budg::-webkit-scrollbar-track { background: #C8BFE7; }
.poc-agent-budg::-webkit-scrollbar-thumb { background: #44465E; border-radius: 3px; }
.poc-agent-budg::-webkit-scrollbar-button { display: none; }

/* Gridtop dropdowns (2026-10-02): native selects become buttons that open the silver menu (gt/dropdowns.js). */
select.gt-dd-native { display: none !important; }
:where(button.gt-dd) { background: #EEEEEE; border: 1px solid rgba(68, 70, 94, 0.3); border-radius: 2px; padding: 3px 6px; color: #1D070E; font-size: 13px; font-family: 'Afacad', sans-serif; }
button.gt-dd { display: inline-flex; align-items: center; justify-content: space-between; gap: 6px; text-align: left; min-width: 0; box-sizing: border-box; cursor: url('sprites/cursor_point.ico'), pointer; }
button.gt-dd[hidden] { display: none !important; }
button.gt-dd:disabled { opacity: 0.5; cursor: url('sprites/cursor_default.ico'), auto; }
.gt-dd-val { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-dd-caret { flex: 0 0 auto; font-size: 9px; opacity: 0.7; }
.poc-silver-menu.gt-dd-menu { max-height: 60vh; overflow-y: auto; }
.poc-llm-modelpick .poc-settings-field select.poc-settings-input + button.gt-dd { margin-top: 0; }
.poc-llm-modelpick .poc-settings-field button.gt-dd + .poc-settings-input { margin-top: 6px; }

/* Harness (2026-10-02, gt/harness.js, gt/skillport.js). */
.poc-harness .poc-settings-group { text-align: left; }
.poc-harness-perms { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 6px 0; }
.poc-harness-perm { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #44465E; }
.poc-harness-snippet { white-space: pre-wrap; word-break: break-all; font-family: Consolas, monospace; font-size: 11.5px; background: #EEEEEE; border: 1px solid rgba(68, 70, 94, 0.25); border-radius: 2px; padding: 8px; margin: 6px 0; user-select: text; }
.poc-harness-conn { display: flex; flex-direction: column; gap: 4px; padding: 8px 0; border-bottom: 1px solid rgba(68, 70, 94, 0.15); }
.poc-skill-verdict { display: inline-block; font-weight: 700; padding: 2px 8px; border-radius: 2px; margin: 6px 0; }
.poc-skill-verdict.is-clean { background: #E2F4E5; color: #1E6B2E; }
.poc-skill-verdict.is-flagged { background: #FFF7C2; color: #6B5A00; border: 1px solid #FFEC64; }
.poc-skill-verdict.is-blocked { background: #FBE3E6; color: #8E2A20; }
.poc-zap-row { display: grid; grid-template-columns: 1fr 2fr auto; gap: 6px; align-items: center; margin: 4px 0; }
.poc-harness-as { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.poc-harness-as .poc-settings-select, .poc-harness-as .gt-dd { flex: 1; }

/* Staging tab of a Web Front (gt/staging.js, 2026-10-04): one row per version, newest first. */
.poc-stage-list { max-height: 260px; overflow-y: auto; }
.poc-stage-row { display: flex; align-items: center; gap: 8px; padding: 5px 6px; line-height: 1.35; border-bottom: 1px solid rgba(68, 70, 94, 0.15); }
.poc-stage-row:last-child { border-bottom: 0; }
.poc-stage-v { font-weight: 600; min-width: 34px; }
.poc-stage-note { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-stage-tag { font-size: 9pt; opacity: .7; white-space: nowrap; }

/* Website builder (gt/genome.js, 2026-10-04): the template's checkbox form. Rows breathe like the older settings windows. */
.poc-gn-top { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid rgba(68, 70, 94, 0.25); }
.poc-gn-top .poc-settings-select { flex: 1; }
.poc-gn-top .poc-settings-input { width: 110px; text-transform: uppercase; }
.poc-gn-body { overflow-y: auto; }
.poc-gn-mod { padding: 6px 0 8px; line-height: 1.4; border-bottom: 1px solid rgba(68, 70, 94, 0.12); }
.poc-gn-mod .poc-settings-hint { margin: 2px 0 0 24px; }
.poc-gn-name { font-weight: 600; }
.poc-gn-params { margin: 6px 0 0 24px; display: flex; flex-direction: column; gap: 6px; }
.poc-gn-params:empty { display: none; }
.poc-gn-form { padding: 8px 0; border-bottom: 1px solid rgba(68, 70, 94, 0.12); }
.poc-gn-formhead { display: flex; gap: 6px; align-items: center; }
.poc-gn-formhead .poc-settings-select { flex: 1.4; }
.poc-gn-formhead .poc-settings-input { flex: 1; min-width: 0; }
.poc-gn-bar { justify-content: space-between; align-items: center; padding: 8px 12px; gap: 10px; }
.poc-gn-filerow { display: flex; gap: 6px; align-items: center; }
.poc-gn-filerow .poc-settings-input { flex: 1; min-width: 0; }

/* The chat input never stretches its chatbox (2026-10-05, Matt): a long paste scrolls inside the input. Until the
   operator sets a height with the resize bar (an inline height), it grows with its text only this far. */
.poc-chat-input:not([style*="height"]) { max-height: 35vh; overflow-y: auto; }
/* In a docked panel the history gives up room first, so the input and its buttons always stay inside the pane. */
.docked-chat-panel .poc-chat-history { flex-shrink: 1; }
.docked-chat-panel .poc-chat-input-wrap { flex-shrink: 0; }

/* The docked Code Editor (2026-10-05): the Editor's own content in the left pane, above the Directory. It takes the
   larger share of the pane; collapsed, only its header shows. Matt reformats this. */
#code-editor-dock { margin-top: auto; flex: 1 1 0; min-height: 0; }
#code-editor-dock + .file-explorer-panel { margin-top: 0; flex: 1 1 0; }   /* half and half with the Directorium (Matt) */
/* The size button's steps: each panel weighs 1, 2 or 3 against the other (a quarter, a half, three quarters). */
#code-editor-dock[data-gt-w="1"], #code-editor-dock + .file-explorer-panel[data-gt-w="1"] { flex: 1 1 0; }
#code-editor-dock[data-gt-w="2"], #code-editor-dock + .file-explorer-panel[data-gt-w="2"] { flex: 2 1 0; }
#code-editor-dock[data-gt-w="3"], #code-editor-dock + .file-explorer-panel[data-gt-w="3"] { flex: 3 1 0; }
#code-editor-dock.collapsed, #code-editor-dock + .file-explorer-panel.collapsed { flex: 0 0 auto; }
#poc-left-pane .gt-lp-size { transform: none !important; margin-right: 4px; }
/* (The meters left the pane for a Gridtop widget, gt/vuwidget.js; the thirds rule went with them.) */
#code-editor-dock.collapsed { flex: 0 0 auto; }
#code-editor-dock .code-editor-dock-body { flex: 1; min-height: 0; display: flex; flex-direction: column; border-top: 1px solid rgba(68, 70, 94, 0.3); }
#code-editor-dock.collapsed .code-editor-dock-body { display: none; }
#code-editor-dock .code-editor-dock-body > .poc-ac { flex: 1; min-height: 0; height: auto !important; }
#code-editor-dock .code-editor-undock { transform: none !important; margin-right: 4px; }
/* Docked, its text reads left-aligned and a size smaller (2026-10-05, Matt); the pane centres text otherwise. */
#code-editor-dock .code-editor-dock-body { text-align: left; }
#code-editor-dock .code-editor-dock-body textarea { text-align: left; font-size: 12px; }
/* The Editor and its Terminal read left-aligned, docked or in its window (2026-10-05, Matt). */
.poc-ac, .poc-ac .poc-actabs, .poc-ac textarea { text-align: left; }
/* The docked Code Editor wears the Directorium's scrollbars (2026-10-05, Matt). */
#code-editor-dock ::-webkit-scrollbar { width: 5px; height: 5px; background-color: #C8BFE7; }
#code-editor-dock ::-webkit-scrollbar-track { background-color: #C8BFE7; }
#code-editor-dock ::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
#code-editor-dock ::-webkit-scrollbar-corner { background-color: #C8BFE7; }
#code-editor-dock ::-webkit-scrollbar-button { display: none; }
/* A drop target for files from the computer (gt/dropupload.js). */
.gt-file-drop { outline: 2px dashed #AAA348 !important; outline-offset: -2px; }

/* Logs: Record and its dropdown end read as one button (2026-10-05). */
.poc-logs-btn.poc-rec-btn { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: 0; }
.poc-logs-btn.poc-rec-more { border-top-left-radius: 0; border-bottom-left-radius: 0; border-left-width: 0; padding-left: 5px; padding-right: 5px; margin-left: 0; }
.poc-logs-btn.poc-rec-more.is-recording { color: #b81b1b; }

/* The VU meters widget (gt/vuwidget.js, 2026-10-05): six cells across, two down, over the grid; each meter keeps its own
   size and shape (288 x 185) and is scaled whole to fit its three by two cells. */
#poc-desktop-grid { position: relative; }
.gt-vu-widget { position: absolute; inset: 0; display: flex; gap: 1px; z-index: 3; background: var(--gridtop-line, #44465E); }
#poc-desktop-grid.in-folder .gt-vu-widget, #poc-desktop-grid.in-workflow .gt-vu-widget, #poc-desktop-grid.in-blueprint .gt-vu-widget { display: none; }
.gt-vu-slot { flex: 1 1 0; position: relative; overflow: hidden; min-width: 0; }
.fisher-panel.in-widget { position: absolute; left: 50%; top: 50%; width: 288px !important; height: 185px !important; margin: -92.5px 0 0 -144px;
    flex: none !important; max-height: none !important; opacity: 1 !important; transform-origin: 50% 50%; transition: none !important; border-bottom-width: 2px !important; }
.gt-vu-ghost { position: fixed; z-index: 100000; display: flex; gap: 2px; opacity: 0.5; pointer-events: none; outline: 2px dashed #AAA348; }
.gt-vu-ghost.is-snapped { opacity: 0.6; }

/* ---- The drive picker (2026-10-06, Matt): the usage card's silver and width, a search-and-address bar, defined folder
   rows with icons, actions as icons on each folder's row, bigger text (gt/chatfilepicker.js). ---- */
.poc-dir-picker.gtp2 { width: 280px; min-width: 280px; max-width: 280px; min-height: 220px; padding: 0; display: flex; flex-direction: column; overflow: hidden;
  font-size: 11.5pt; border-radius: 2px; border: 1px solid rgba(68, 70, 94, .45);
  background: linear-gradient(to bottom, rgba(255,255,255,0.97) 0%, rgba(240,240,240,0.97) 40%, rgba(220,220,220,0.97) 100%);
  box-shadow: 2px 2px 10px rgba(30, 32, 44, 0.2), inset 1px 1px 0 rgba(255,255,255,0.8); }
.gtp2 .gtp2-bar { display: flex; align-items: center; gap: 6px; padding: 9px 10px 8px; border-bottom: 1px solid rgba(68, 70, 94, 0.3); box-shadow: 0 1px 0 rgba(255,255,255,.85); flex: none; }
.gtp2 .gtp2-field { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px; box-sizing: border-box; border-radius: 3px;
  background: linear-gradient(180deg, #FFFFFF, #F1F1F5); border: 1px solid rgba(68, 70, 94, .35); box-shadow: inset 1px 1px 2px rgba(30,32,44,.12); }
.gtp2 .gtp2-field:focus-within { border-color: #7F78C5; box-shadow: inset 1px 1px 2px rgba(30,32,44,.12), 0 0 0 2px rgba(169,159,252,.35); }
.gtp2 .gtp2-input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 11pt; color: #44465E; padding: 0; }
.gtp2 .gtp2-input::placeholder { color: rgba(68,70,94,.45); }
.gtp2 .gtp2-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 26px; padding: 0; border-radius: 3px;
  border: 1px solid transparent; background: transparent; cursor: url('sprites/cursor_point.ico'), pointer; opacity: .8; transition: background-color .1s, opacity .1s, border-color .1s; }
.gtp2 .gtp2-icon:hover { opacity: 1; background-color: rgba(127, 120, 197, 0.18); border-color: rgba(127,120,197,.35); box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.08); }
.gtp2 .gtp2-bar > .gtp2-icon { width: 30px; height: 28px; border-color: rgba(68,70,94,.25); background: linear-gradient(180deg, #FFFFFF, #E7E7EC); opacity: 1; }
.gtp2 .gtp2-scroll { flex: 1; min-height: 0; overflow: auto; padding: 8px 8px 6px; }
.gtp2 .file-tree, .gtp2 .file-tree-nested { list-style: none; margin: 0; padding-left: 0; }
.gtp2 .gtp2-nested { padding-left: 16px; margin-left: 9px; border-left: 1px solid rgba(127,120,197,.28); display: none; }
.gtp2 .gtp2-nested.file-tree-active { display: block; }
.gtp2 .gtp2-li { margin: 2px 0; }
.gtp2 .gtp2-row { display: flex; align-items: center; gap: 7px; min-height: 30px; padding: 2px 4px 2px 6px; box-sizing: border-box; border-radius: 3px;
  cursor: url('sprites/cursor_point.ico'), pointer; user-select: none; transition: background-color .1s; }
.gtp2 .gtp2-folder { background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(232,232,238,.75)); border: 1px solid rgba(68,70,94,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.gtp2 .gtp2-folder:hover { background: linear-gradient(180deg, rgba(240,238,255,.95), rgba(222,218,246,.95)); border-color: rgba(127,120,197,.45); }
.gtp2 .gtp2-folder.is-found { border-color: #AAA348; box-shadow: 0 0 0 2px rgba(255,236,100,.5); }
.gtp2 .gtp2-arrow { flex: none; width: 10px; font-size: 7.5pt; color: #857EB6; transition: transform .15s ease; }
.gtp2 .gtp2-folder.is-open > .gtp2-arrow { transform: rotate(90deg); }
.gtp2 .gtp2-ic { flex: none; display: inline-flex; align-items: center; }
.gtp2 .gtp2-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; flex-direction: column; line-height: 1.2; }
.gtp2 .gtp2-path { font-size: 9pt; opacity: .55; overflow: hidden; text-overflow: ellipsis; }
.gtp2 .gtp2-acts { flex: none; display: inline-flex; gap: 2px; opacity: .55; transition: opacity .12s; }
.gtp2 .gtp2-row:hover .gtp2-acts, .gtp2 .gtp2-acts:focus-within { opacity: 1; }
.gtp2 .gtp2-file { padding-left: 22px; min-height: 26px; }
.gtp2 .gtp2-file:hover { background-color: rgba(170, 163, 72, 0.18); }
.gtp2 .gtp2-file.is-disabled { opacity: .4; cursor: default; }
.gtp2 .gtp2-file.is-disabled:hover { background-color: transparent; }
.gtp2 .gtp2-results .gtp2-row { margin: 2px 0; }
.gtp2 .gtp2-results .gtp2-file { padding-left: 6px; }
.gtp2 .gtp2-none { padding: 12px 6px; opacity: .6; }
.gtp2 .gtp2-hint { flex: none; padding: 6px 12px 7px; font-size: 9.5pt; opacity: .6; border-top: 1px solid rgba(68, 70, 94, 0.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.85); }

/* ---- Effort (2026-10-06, gt/effort.js): a square chip with a tesseract right of the model chip; the chips keep to one row. ---- */
.poc-chat-chip.chip-effort { width: 24px; min-width: 24px; height: 22px; padding: 0; justify-content: center; flex: none; }
.poc-chat-chip.chip-effort .gt-eff-ic { display: block; }
.poc-chat-chip.chip-effort.is-none { opacity: .45; }
.poc-chat-chip.chip-effort:hover .gt-eff-core { fill: rgba(169,159,252,calc(var(--eff,.35) + .15)); }
.poc-chat-icon-row > .poc-chat-chips, .docked-chat-panel .poc-dock-chiprow .poc-chat-chips { flex-wrap: nowrap; min-width: 0; }
.poc-chat-icon-row > .poc-chat-chips .poc-chat-chip:not(.chip-effort), .docked-chat-panel .poc-dock-chiprow .poc-chat-chip:not(.chip-effort) { min-width: 0; flex: 0 1 auto; overflow: hidden; }
.poc-chat-chips .poc-chat-chip .chip-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.gt-eff-pop { width: 230px; padding: 8px 10px 6px; font-family: 'Afacad', sans-serif; color: #44465E; box-sizing: border-box; }
.gt-eff-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; font-size: 10.5pt; }
.gt-eff-name { font-weight: 600; }
.gt-eff-val { font-size: 10pt; color: #7F78C5; font-weight: 600; }
.gt-eff-range { width: 100%; accent-color: #857EB6; margin: 2px 0 4px; }
.gt-eff-ticks { display: flex; justify-content: space-between; gap: 2px; font-size: 8.5pt; }
.gt-eff-tick { opacity: .55; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-eff-tick.is-on { opacity: 1; font-weight: 600; color: #44465E; }
.gt-eff-foot { margin-top: 6px; padding-top: 5px; border-top: 1px solid rgba(68,70,94,.25); font-size: 8.5pt; opacity: .6; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- The notice box (2026-10-06, Matt, gt/toast.js): every toast in one silver box, the upload dialog's width and style;
   it grows with each notice; the most recent is the title and the last row; older rows ride up; progress rows carry the
   big_beautiful_bar (gt/uploadbar.js). ---- */
#poc-toast-stack { gap: 8px; align-items: center; }
.gt-notice.poc-custom-modal { width: 360px; box-sizing: border-box; pointer-events: auto; opacity: 0; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease; }
.gt-notice.is-show { opacity: 1; transform: translateY(0); }
.gt-notice .gt-notice-head { height: auto; min-height: 30px; padding: 6px 12px; gap: 6px; background: none; font-size: 10.5pt; font-weight: 600;
  border-bottom: 1px solid rgba(68, 70, 94, 0.28); }
.gt-notice .gt-notice-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-notice.is-error .gt-notice-head { color: #6E1F2C; }
.gt-notice .gt-notice-list { display: flex; flex-direction: column; padding: 6px 12px 10px; position: relative; z-index: 2; }
.gt-notice .gt-notice-row { display: block; overflow: hidden; background: none; color: #44465E; box-shadow: none; padding: 0; border-radius: 0;
  font-size: 10.5pt; letter-spacing: .2px; opacity: 1; transform: none; transition: max-height .26s ease, opacity .22s ease, padding .26s ease; }
.gt-notice .gt-notice-row + .gt-notice-row { border-top: 1px solid rgba(68, 70, 94, 0.16); }
.gt-notice .gt-notice-line { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.gt-notice .gt-notice-row.has-bar .gt-notice-line { padding-bottom: 5px; }
.gt-notice .gt-notice-row.has-bar { padding-bottom: 8px; }
.gt-notice .gt-notice-row.is-new, .gt-notice .gt-notice-row.is-gone { opacity: 0; }
.gt-notice .poc-toast-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.gt-notice .poc-toast-count { font-size: 9pt; opacity: .7; }
.gt-notice .poc-toast-x { color: inherit; }
.gt-notice .gt-notice-row.is-error { color: #6E1F2C; border-left: 3px solid #C25B5B; padding-left: 8px; }
.gt-notice .gt-notice-row.is-done .poc-toast-text { opacity: .8; }

/* ---- Effort, round 2 (2026-10-06): the drawn tesseract's core face; the slider on the big_beautiful_bar, a silver knob
   riding it (the flare sits on the knob and brightens with the level, gt/effort.js). ---- */
.poc-chat-chip.chip-effort .gt-eff-core { fill: rgba(169,159,252,var(--eff,.35)); stroke: none; }
.gt-eff-track { position: relative; height: 22px; display: flex; align-items: center; margin: 2px 0 4px; }
.gt-eff-track .big_beautiful_bar { position: absolute; left: 0; right: 0; top: 3px; }
.gt-eff-track .gt-eff-range { position: relative; z-index: 3; width: 100%; height: 22px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: url('sprites/cursor_point.ico'), pointer; }
.gt-eff-track .gt-eff-range::-webkit-slider-runnable-track { height: 16px; background: transparent; border: 0; }
.gt-eff-track .gt-eff-range::-moz-range-track { height: 16px; background: transparent; border: 0; }
.gt-eff-track .gt-eff-range::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 20px; margin-top: -2px; border-radius: 4px;
  background: linear-gradient(180deg, #FFFFFF 0%, #E4E5EC 45%, #B9BCC9 100%); border: 1px solid rgba(68,70,94,.55);
  box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(30,32,44,.35); }
.gt-eff-track .gt-eff-range::-moz-range-thumb { width: 14px; height: 20px; border-radius: 4px; background: linear-gradient(180deg, #FFFFFF 0%, #E4E5EC 45%, #B9BCC9 100%);
  border: 1px solid rgba(68,70,94,.55); box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(30,32,44,.35); }
.gt-eff-pop { width: 250px; }

/* ---- The drive picker, round 2 (2026-10-06, Matt): the Gridtop's own scrollbar on its list, and half again as tall
   (its height still yields to the room beside the button: placeDirPicker's max-height wins). ---- */
.poc-dir-picker.gtp2 { height: 400px; }
.gtp2 .gtp2-scroll::-webkit-scrollbar { width: 5px; background-color: #C8BFE7; }
.gtp2 .gtp2-scroll::-webkit-scrollbar-track { background-color: #C8BFE7; }
.gtp2 .gtp2-scroll::-webkit-scrollbar-thumb { background: #44465E; border-radius: 0; }
.gtp2 .gtp2-scroll::-webkit-scrollbar-button { display: none; height: 0; }
.gtp2 .gtp2-scroll::-webkit-scrollbar, .gtp2 .gtp2-scroll::-webkit-scrollbar-thumb, .gtp2 .gtp2-scroll::-webkit-scrollbar-track { cursor: url('sprites/cursor_default.ico'), auto; }

/* ---- The Directorium's folder chips (2026-10-06, Matt: the drive picker's chips on its folders): upload here, new
   folder here, beside each folder's label; faint until the row is under the pointer. Background and spotlight unchanged. ---- */
#file-explorer-main .dir-acts { display: inline-flex; gap: 1px; margin-left: 2px; vertical-align: middle; opacity: .35; transition: opacity .12s; }
#file-explorer-main .file-tree-caret:hover ~ .dir-acts, #file-explorer-main .dir-acts:hover, #file-explorer-main .dir-acts:focus-within { opacity: 1; }
#file-explorer-main .dir-act { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 20px; padding: 0; border: 1px solid transparent; border-radius: 3px;
  background: transparent; cursor: url('sprites/cursor_point.ico'), pointer; opacity: .8; }
#file-explorer-main .dir-act:hover { opacity: 1; background-color: rgba(127, 120, 197, 0.18); border-color: rgba(127,120,197,.35); box-shadow: inset 1px 1px 2px rgba(255,255,255,0.8), inset -1px -1px 2px rgba(0,0,0,0.08); }
.dir-acts { display: none; }
#file-explorer-main .dir-acts { display: inline-flex; }
/* The Gridtop's folder icon in the picker and on the New folder chips, with a gold plus (2026-10-06). */
.gtp2 .gtp2-ic svg { width: 17px; height: 17px; display: block; }
.gt-nf { position: relative; display: inline-flex; width: 17px; height: 17px; }
.gt-nf > svg:first-child { width: 17px; height: 17px; display: block; }
.gt-nf .gt-nf-plus { position: absolute; right: -3px; bottom: -2px; width: 9px; height: 9px; }

/* ---- The chip row stays inside its panel: it shrinks its chips rather than run off the left edge. The usage card opens
   by clicking the CTX / LIM / UP meters (2026-10-06, Matt; the square button that replaced that is gone). ---- */
.poc-chat-meters .poc-meter { cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-chat-icon-row > .poc-chat-chips { flex: 0 1 auto; max-width: 100%; overflow: hidden; padding: 1px; }
.docked-chat-panel .poc-dock-chiprow { min-width: 0; max-width: 100%; }
.docked-chat-panel .poc-dock-chiprow .poc-chat-chips { max-width: 100%; overflow: hidden; padding: 1px; }


/* ---- The agent's DIR tab (2026-10-06, Matt): the drive picker's bar and rows inside the descriptor (gt/dirpicker.js);
   each row keeps its checkbox, each file has its three buttons (preview, re-read, Editor). ---- */
.poc-agent-ctxdir.gtp2-dir { padding: 0 4px 6px; font-size: 11pt; color: #44465E; font-family: 'Afacad', sans-serif; }
.gtp2-dir .gtp2-bar { position: sticky; top: 0; z-index: 2; padding: 6px 4px 7px; margin: 0 -4px 0; border-bottom: 1px solid rgba(68, 70, 94, 0.3);
  background: linear-gradient(to bottom, rgba(255,255,255,0.97) 0%, rgba(236,236,240,0.97) 100%); }
.gtp2-dir .gtp2-scroll { overflow: visible; padding: 6px 0 0; }
.gtp2-dir .poc-agent-ctxdir-count { margin-left: 2px; }
.gtp2-dir .poc-ctxdir-check { flex: none; margin: 0; accent-color: #44465E; cursor: url('sprites/cursor_point.ico'), pointer; }
.gtp2-dir .gtp2-file { padding-left: 8px; }
.gtp2-dir .gtp2-acts .gtp2-icon { width: 24px; height: 22px; }
.gtp2-dir .gtp2-ic svg { width: 17px; height: 17px; display: block; }
.gtp2-dir .gtp2-nested { padding-left: 12px; margin-left: 8px; }
.gtp2-dir .poc-agent-ctxdir-empty { padding: 4px 8px; }

/* ---- A menu item's shortcut keeps whole and sits further left (2026-10-06, Matt: "Ctrl+Alt+Shift+C" ran past the
   menu's right edge): it never shrinks, the label beside it wraps instead, and the gaps either side are smaller. ---- */
.poc-silver-shortcut { flex: none; padding-left: 8px; }
.poc-silver-item > a:has(> .poc-silver-shortcut) { padding-right: 6px; gap: 0; }

/* ---- Selected messages (2026-10-06, Matt): a thin #A99FFC line around each; copied whole (gt/chatmenu.js). ---- */
.poc-chat-msg.gt-msg-sel { outline: 1px solid #A99FFC; outline-offset: 2px; border-radius: 2px; }

/* Website templates (2026-10-06, gt/templates.js): the gallery, the questions, Configure ▸ Forms. */
.poc-tpl { display: flex; flex-direction: column; gap: 10px; }
.poc-tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; padding: 4px 2px 10px; }
.poc-tpl-card { display: flex; flex-direction: column; padding: 0; border: 1px solid rgba(68, 70, 94, 0.25); border-radius: 6px; overflow: hidden; background: rgba(255, 255, 255, 0.55); cursor: url('sprites/cursor_point.ico'), pointer; text-align: left; font: inherit; color: inherit; transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s; }
.poc-tpl-card * { cursor: url('sprites/cursor_point.ico'), pointer; }   /* the New... button and the picture too */
.poc-tpl-card:hover, .poc-tpl-card:focus-visible { border-color: rgba(68, 70, 94, 0.6); box-shadow: 0 8px 22px -12px rgba(29, 7, 14, 0.45); transform: translateY(-2px); }
.poc-tpl-thumb { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; border-bottom: 1px solid rgba(68, 70, 94, 0.15); }
.poc-tpl-meta { padding: 9px 11px 11px; display: flex; flex-direction: column; gap: 3px; }
.poc-tpl-name { font-weight: 700; font-size: 15px; }
.poc-tpl-ind { font-size: 12px; opacity: 0.75; }
.poc-tpl-desc { font-size: 12.5px; line-height: 1.45; margin-top: 4px; }
.poc-tpl-sw { display: flex; gap: 3px; margin-top: 6px; }
.poc-tpl-sw span { width: 18px; height: 18px; border-radius: 3px; border: 1px solid rgba(0, 0, 0, 0.15); }
.poc-tpl-asktop { display: grid; grid-template-columns: 220px 1fr; gap: 14px; align-items: start; padding: 4px 2px; }
.poc-tpl-askthumb { width: 100%; border-radius: 5px; border: 1px solid rgba(68, 70, 94, 0.25); }
.poc-tpl-addr { display: grid; grid-template-columns: 2fr 1.2fr 0.6fr 0.8fr; gap: 6px; }
.poc-tpl-bar { justify-content: space-between; align-items: center; position: sticky; bottom: 0; z-index: 2; margin-top: 16px; padding: 10px 0 4px; background: #FFFFFF; border-top: 1px solid rgba(68, 70, 94, 0.15); }   /* 2026-10-10, Matt: the form showed through the buttons */
.poc-tpl-formhead { gap: 8px; align-items: center; }
.poc-tpl-item { display: flex; align-items: center; gap: 8px; padding: 4px 6px; border-bottom: 1px solid rgba(68, 70, 94, 0.12); line-height: 1.35; }
.poc-tpl-item:last-child { border-bottom: 0; }
.poc-tpl-itemtext { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Configure ▸ Forms (2026-10-09, Matt: items too close): each Add sits on its own row with room below it, the
   auto-reply line has room above and below, and each form ends with a gap before the next form's heading. */
.poc-tpl-addrow { display: flex; margin: 6px 0 12px; }
.poc-tpl-ar { display: flex; margin: 2px 0 12px; }
.poc-tpl-formwrap { padding-bottom: 14px; }
.poc-tpl-formwrap > .poc-settings-label { display: block; margin-top: 2px; }
.poc-tpl-click { cursor: url('sprites/cursor_point.ico'), pointer; border: 1px solid rgba(68, 70, 94, 0.18); border-radius: 4px; margin-bottom: 10px; }
.poc-tpl-click:hover { border-color: rgba(68, 70, 94, 0.5); }
.poc-tpl-x { border: 0; background: none; font: inherit; font-size: 16px; line-height: 1; padding: 0 4px; cursor: url('sprites/cursor_point.ico'), pointer; opacity: 0.6; color: inherit; }
.poc-tpl-x:hover { opacity: 1; }
@media (max-width: 700px) { .poc-tpl-asktop { grid-template-columns: 1fr; } .poc-tpl-addr { grid-template-columns: 1fr 1fr; } }

/* ---- The template funnel (2026-10-09): steps, content-model cards with wireframe thumbnails, and the Layout step
   (a draggable wireframe of the home page beside the header styles, parts and sections). ---- */
.poc-tpl-steps { display: flex; flex-wrap: wrap; gap: 4px; font-size: 12px; }
.poc-tpl-step { padding: 3px 10px; border-radius: 2px; background: rgba(68, 70, 94, 0.08); color: rgba(68, 70, 94, 0.7); }
.poc-tpl-step.done { color: #44465E; }
.poc-tpl-step.on { background: #44465E; color: #FFEC64; }
.poc-tpl-steptitle { font-size: 14px; } .poc-tpl-steptitle span { opacity: 0.7; }
.poc-tpl-models { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.poc-tpl-wfthumb { aspect-ratio: 4 / 5; overflow: hidden; background: #EEEEEE; border-bottom: 1px solid rgba(68, 70, 94, 0.15); }
.poc-tpl-wfthumb svg { display: block; width: 100%; height: 100%; }
.poc-tpl-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(220px, 1fr); gap: 14px; align-items: start; }
.poc-tpl-wf { display: flex; flex-direction: column; gap: 6px; padding: 8px; background: rgba(68, 70, 94, 0.06); border: 1px solid rgba(68, 70, 94, 0.18); border-radius: 2px; max-height: 470px; overflow-y: auto; }
.poc-tpl-wfhead { position: relative; border-radius: 2px; overflow: hidden; }
.poc-tpl-wfhead svg, .poc-tpl-wfpic svg { display: block; width: 100%; height: auto; }
.poc-tpl-wflab { position: absolute; right: 6px; bottom: 2px; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: #6A6C82; background: rgba(255, 255, 255, 0.85); padding: 0 4px; border-radius: 2px; }
.poc-tpl-wfblock { background: #FAFAFA; border: 1px solid rgba(68, 70, 94, 0.22); border-radius: 2px; padding: 4px 6px 6px; cursor: url('sprites/cursor_move.ico') 12 12, move; user-select: none; touch-action: none; }
.poc-tpl-wfblock:hover { border-color: #AAA348; }
.poc-tpl-wfblock.is-drag { position: relative; z-index: 2; box-shadow: 0 10px 24px -10px rgba(29, 7, 14, 0.5); cursor: url('sprites/cursor_move.ico') 12 12, move; }
.poc-tpl-wfblock.is-off .poc-tpl-wfpic, .poc-tpl-wfblock.is-optoff .poc-tpl-wfpic { opacity: 0.3; filter: grayscale(1); }
.poc-tpl-wfblock.is-optoff { border-style: dashed; }
.poc-tpl-wfph { border: 2px dashed #AAA348; border-radius: 2px; background: rgba(255, 236, 100, 0.15); }
.poc-tpl-wfrow { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; font-size: 12.5px; }
.poc-tpl-wfgrip { cursor: url('sprites/cursor_move.ico') 12 12, move; color: #857EB6; font-size: 14px; line-height: 1; }
.poc-tpl-wfcheck { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 0; }
.poc-tpl-wfnote { font-size: 11px; color: #7D6988; }
.poc-tpl-wfvars { display: flex; gap: 2px; }
.poc-tpl-wfvar { border: 1px solid rgba(68, 70, 94, 0.3); background: #fff; color: #44465E; font: inherit; font-size: 11px; padding: 1px 7px; border-radius: 2px; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-tpl-wfvar.on { background: #44465E; color: #FFEC64; border-color: #44465E; }
.poc-tpl-wfpic { border-radius: 2px; overflow: hidden; }
.poc-tpl-wfside { display: flex; flex-direction: column; gap: 4px; max-height: 470px; overflow-y: auto; }
.poc-tpl-hdrs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.poc-tpl-hdr { display: flex; flex-direction: column; gap: 3px; padding: 4px; border: 1px solid rgba(68, 70, 94, 0.25); border-radius: 2px; background: #FAFAFA; font: inherit; font-size: 11.5px; color: #44465E; cursor: url('sprites/cursor_point.ico'), pointer; text-align: left; }
.poc-tpl-hdr svg { display: block; width: 100%; height: auto; border-radius: 2px; }
.poc-tpl-hdr.on { border-color: #44465E; box-shadow: inset 0 0 0 1px #44465E, 0 0 0 2px #FFEC64; }
@media (max-width: 760px) { .poc-tpl-layout { grid-template-columns: 1fr; } }
.poc-tpl-go { align-self: flex-start; margin-top: 8px; }   /* the card's own Create New Version from... (2026-10-09) */

/* The funnel's Look (2026-10-09): palette chips (click one) and the font set (a button that opens the list). */
.poc-tpl-pals { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin-bottom: 8px; }
.poc-tpl-pal { display: flex; flex-direction: column; gap: 4px; padding: 4px; border: 1px solid rgba(68, 70, 94, 0.25); border-radius: 2px; background: #FAFAFA; font: inherit; font-size: 11.5px; color: #44465E; text-align: left; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-tpl-pal:hover { border-color: #AAA348; }
.poc-tpl-pal.on { border-color: #44465E; box-shadow: inset 0 0 0 1px #44465E, 0 0 0 2px #FFEC64; }
.poc-tpl-palstrip { display: grid; grid-template-columns: repeat(6, 1fr); height: 18px; border-radius: 2px; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.12); }
.poc-tpl-palname { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-tpl-fontbtn { display: flex; align-items: center; gap: 10px; width: 100%; max-width: 520px; padding: 6px 10px; border: 1px solid rgba(68, 70, 94, 0.35); border-radius: 2px; background: #FAFAFA; font: inherit; color: #44465E; text-align: left; cursor: url('sprites/cursor_point.ico'), pointer; }
.poc-tpl-fontbtn:hover { border-color: #AAA348; }
.poc-tpl-fontbtn span { flex: 1; font-size: 12px; opacity: 0.75; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poc-tpl-fontbtn i { font-style: normal; opacity: 0.6; }
