#menuOverlay.menu-overlay.portal-screen.visual-menu-configured { background-color:var(--visual-menu-background);background-image:var(--visual-menu-image);background-size:cover;background-position:center; }
#menuOverlay.visual-menu-home #menuContent > :not(#visualMenu) { display:none!important; }
#visualMenu { width:100%;margin:0 auto;padding:20px;box-sizing:border-box; }
.visual-menu-intro { margin:0 0 24px;white-space:pre-wrap; }
.visual-menu-grid { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch; }
#visualMenu .visual-menu-node { grid-column:span var(--node-span);box-sizing:border-box;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;background-size:cover;box-shadow:none;text-transform:none;overflow-wrap:anywhere;line-height:1.35;position:relative; }
#visualMenu .visual-menu-node b,#visualMenu .visual-menu-node small { font-family:inherit;color:inherit;line-height:1.35;white-space:pre-wrap; }
.visual-menu-icon { object-fit:contain;image-rendering:pixelated; }
/* Sparse hard-edged decoration; content stays above it and keeps its own color. */
#visualMenu .visual-menu-node[data-pattern]:not([data-pattern="none"]) { isolation:isolate;overflow:hidden;justify-content:center; }
#visualMenu .visual-menu-node[data-pattern]:not([data-pattern="none"])::before,
#visualMenu .visual-menu-node[data-pattern]:not([data-pattern="none"])::after { content:"";position:absolute;pointer-events:none;z-index:-1;color:rgba(255,255,255,.055); }
#visualMenu [data-pattern="corners"]::before { width:40px;height:8px;left:12px;top:12px;background:currentColor;box-shadow:0 8px currentColor,0 16px currentColor,-8px 24px currentColor; }
#visualMenu [data-pattern="corners"]::after { width:8px;height:40px;right:16px;bottom:16px;background:currentColor;box-shadow:-8px 24px currentColor,-16px 24px currentColor,-24px 24px currentColor; }
#visualMenu [data-pattern="steps"]::before { width:24px;height:24px;right:0;top:0;background:currentColor;box-shadow:-24px 24px currentColor,-48px 48px currentColor; }
#visualMenu [data-pattern="steps"]::after { width:16px;height:16px;left:12px;bottom:12px;background:currentColor;box-shadow:16px -16px currentColor,32px -32px currentColor; }
#visualMenu [data-pattern="diamond"]::before { width:80px;height:80px;right:-16px;top:-16px;background:currentColor;clip-path:polygon(40% 0,60% 0,60% 20%,80% 20%,80% 40%,100% 40%,100% 60%,80% 60%,80% 80%,60% 80%,60% 100%,40% 100%,40% 80%,20% 80%,20% 60%,0 60%,0 40%,20% 40%,20% 20%,40% 20%); }
#visualMenu [data-pattern="diamond"]::after { width:12px;height:12px;left:20px;bottom:20px;background:currentColor;box-shadow:16px 0 currentColor,0 -16px currentColor; }
#visualMenu .visual-menu-node .visual-menu-icon { flex-shrink:0;display:grid;place-items:center;align-self:center;line-height:1; }
#visualMenu .visual-menu-node[data-pattern]:not([data-pattern="none"]) :is(b,small) { width:100%;text-shadow:0 2px #101419; }
#visualMenu .visual-menu-node .queue-mode-count { color:inherit;opacity:1;text-shadow:0 2px #101419; }
#visualMenu button:focus-visible { outline:4px solid #f4da9c;outline-offset:3px; }
#visualMenu button:hover { filter:brightness(1.1); }
.visual-menu-hidden { opacity:.4; }
.visual-menu-picked { outline:4px solid #72dec0!important;outline-offset:2px; }
.visual-menu-resize { position:absolute;right:0;bottom:0;width:28px;height:28px;background:#72dec0;color:#14252a;cursor:nwse-resize;z-index:3;touch-action:none;display:grid;place-items:center; }
#visualMenuStatus { white-space:pre-wrap; }
@media(max-width:600px){.visual-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#visualMenu .visual-menu-node{grid-column:span var(--node-mobile-span);}#visualMenu{padding:12px;} }
#menuOverlay.visual-menu-configured #menuContent { width:100%;max-width:none;box-sizing:border-box; }
.visual-menu-queue { display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px;margin-bottom:20px;background:var(--t-card-bg);border:2px solid var(--t-card-border); }.visual-menu-queue[hidden]{display:none;}.visual-menu-queue span{overflow-wrap:anywhere;min-width:0;}
#visualMenu .visual-menu-node { container-type:inline-size; }.visual-menu-icon { max-width:100%; }
/* Selection is editor-only and does not change layout measurements. */
.internal-screen-picked { outline:3px dashed #62ffe0 !important;outline-offset:2px; }
.internal-screen-handle { position:fixed;z-index:9999;pointer-events:none;width:22px;height:22px;line-height:22px;text-align:center;background:#62ffe0;color:#102e32;font:18px/22px sans-serif; }
