.compress { width: 100%; height: 100%; contain: strict; display: grid; grid-template-rows: max-content 1fr; grid-template-areas: 'header' 'opts'; --options-radius: 7px; @media (min-width: 600px) { grid-template-rows: max-content 1fr; grid-template-columns: max-content 1fr max-content; grid-template-areas: 'header header header' 'optsLeft viewportOpts optsRight'; } } .options { position: relative; color: #fff; font-size: 1.2rem; max-width: 400px; margin: 0 auto; width: calc(100% - 60px); max-height: 100%; overflow: hidden; grid-area: opts; display: grid; grid-template-rows: 1fr max-content; align-content: end; align-self: end; @media (min-width: 600px) { width: 300px; margin: 0; } } .options-1-theme { --main-theme-color: var(--pink); --hot-theme-color: var(--hot-pink); --header-text-color: var(--white); --scroller-radius: var(--options-radius) var(--options-radius) 0 0; --rotate-copyoverbutton-angle: 90deg; /* To point down */ @media (min-width: 600px) { --scroller-radius: 0 var(--options-radius) var(--options-radius) 0; --rotate-copyoverbutton-angle: 0deg; /* To point right (no change) */ } } .options-2-theme { --main-theme-color: var(--blue); --hot-theme-color: var(--deep-blue); --header-text-color: var(--dark-text); --scroller-radius: var(--options-radius) var(--options-radius) 0 0; --rotate-copyoverbutton-angle: -90deg; /* To point up */ @media (min-width: 600px) { --scroller-radius: var(--options-radius) 0 0 var(--options-radius); --rotate-copyoverbutton-angle: 180deg; /* To point left */ } } .options-1 { composes: options; composes: options-1-theme; grid-area: optsLeft; } .options-2 { composes: options; composes: options-2-theme; grid-area: optsRight; } .multi-panel { position: relative; display: flex; flex-flow: column; overflow: hidden; /* Reorder so headings appear after content: */ & > :nth-child(1) { order: 2; margin-bottom: 10px; } & > :nth-child(2) { order: 1; } & > :nth-child(3) { order: 4; } & > :nth-child(4) { order: 3; } } .back { composes: unbutton from global; position: relative; grid-area: header; margin: 9px; justify-self: start; align-self: start; & > svg { width: 47px; } @media (min-width: 600px) { margin: 14px; & > svg { width: 58px; } } } .back-blob { fill: var(--hot-pink); opacity: 0.77; } .back-x { fill: var(--white); }