/* Sougetsu Akira FX - vertical panel layout (default).
 * The tab bar becomes a rail down the left edge; the top tools and the tab content sit beside it.
 * Layout only: no element ids, classes used by scripts, or handlers change. Opt out with body.akira-horizontal
 * (Settings > Layout). Works down to ~200px wide CEP panels. */
body:not(.akira-horizontal):not(.akira-ejected) {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    column-gap: 8px;
    align-content: stretch;
}
body:not(.akira-horizontal):not(.akira-ejected) > .top-section { grid-column: 2; grid-row: 1; min-width: 0; }
body:not(.akira-horizontal):not(.akira-ejected) > .content-area { grid-column: 2; grid-row: 2; min-width: 0; min-height: 0; }
body:not(.akira-horizontal):not(.akira-ejected) > .tab-bar {
    grid-column: 1; grid-row: 1 / span 2; align-self: start;
    display: flex !important; flex-direction: column; gap: 4px;
    width: 44px; height: auto !important; padding: 4px; margin: 0 !important;
    position: sticky; top: 0;
}
body:not(.akira-horizontal):not(.akira-ejected) > .tab-bar > .tab-item {
    width: 36px !important; height: 34px !important; min-width: 0; flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center;
}
/* narrow panels: slimmer rail */
@media (max-width: 260px) {
    body:not(.akira-horizontal):not(.akira-ejected) { grid-template-columns: 34px minmax(0, 1fr); column-gap: 4px; }
    body:not(.akira-horizontal):not(.akira-ejected) > .tab-bar { width: 34px; padding: 2px; gap: 2px; }
    body:not(.akira-horizontal):not(.akira-ejected) > .tab-bar > .tab-item { width: 30px !important; height: 30px !important; }
}
/* short panels: the rail scrolls instead of pushing content */
@media (max-height: 420px) {
    body:not(.akira-horizontal):not(.akira-ejected) > .tab-bar { max-height: calc(100vh - 8px); overflow-y: auto; scrollbar-width: none; }
    body:not(.akira-horizontal):not(.akira-ejected) > .tab-bar::-webkit-scrollbar { display: none; }
}
