| |
| |
| @use "breakpoints" as *; |
|
|
| |
|
|
| |
| @mixin full-width-container { |
| width: 100%; |
| box-sizing: border-box; |
| } |
|
|
| |
| @mixin mobile-scroll-container { |
| overflow: visible; |
| overflow-x: hidden; |
| overflow-y: visible; |
| } |
|
|
| |
| @mixin full-width-adaptive { |
| width: 100%; |
| max-width: 100%; |
| box-sizing: border-box; |
| } |
|
|
| |
| @mixin narrow-app-layout($root) { |
| #{$root} { |
| margin: 0; |
| padding: 0; |
| height: auto; |
| overflow-x: hidden; |
| width: 100%; |
| max-width: 100vw; |
| touch-action: pan-y; |
| } |
|
|
| #{$root} body { |
| margin: 0; |
| padding: 0; |
| overflow-y: auto; |
| overflow-x: hidden; |
| width: 100%; |
| max-width: 100vw; |
| height: auto; |
| min-height: 0; |
| touch-action: pan-y; |
| -webkit-overflow-scrolling: touch; |
| } |
|
|
| #{$root} .main_frame { |
| position: relative; |
| height: auto; |
| min-height: 0; |
| flex-direction: column; |
| overflow-x: hidden; |
| overflow-y: visible; |
| overflow: visible; |
| width: 100%; |
| max-width: 100vw; |
| box-sizing: border-box; |
| touch-action: pan-y; |
| } |
|
|
| #{$root} .left_panel { |
| flex: 0 0 auto; |
| @include full-width-adaptive; |
| min-width: 100%; |
| padding: 8px 15px 15px; |
| border-right: none; |
| border-bottom: 1px solid var(--border-color); |
| @include mobile-scroll-container; |
| touch-action: pan-y; |
| } |
|
|
| #{$root} .resizer { |
| display: none; |
| } |
|
|
| #{$root} .right_panel { |
| flex: 1 1 auto; |
| @include full-width-adaptive; |
| padding: 0; |
| overflow-x: hidden; |
| overflow-y: hidden; |
| overflow: hidden; |
| background: var(--panel-bg); |
| min-height: 0; |
| height: auto; |
| position: relative; |
| touch-action: pan-y; |
| } |
|
|
| #{$root} #results { |
| padding: 0; |
| margin: 0; |
| position: relative; |
| @include full-width-container; |
| @include mobile-scroll-container; |
| min-height: 0; |
| height: auto; |
| } |
|
|
| #{$root} .LMF { |
| position: relative; |
| @include full-width-container; |
| @include mobile-scroll-container; |
| min-height: 350px; |
| height: auto; |
| padding: 15px 12px; |
|
|
| &.minimap-enabled { |
| padding-right: calc(12px + var(--minimap-width)); |
| } |
| } |
|
|
| #{$root} .text-loading-overlay { |
| min-height: 0; |
| height: auto; |
| } |
|
|
| #{$root} .container { |
| padding: 10px; |
| box-sizing: border-box; |
| } |
|
|
| #{$root} .floating_content { |
| @include full-width-adaptive; |
| overflow: visible; |
| } |
|
|
| #{$root} #stats { |
| order: 2; |
| padding: 0 5px; |
| @include full-width-adaptive; |
|
|
| svg { |
| @include full-width-adaptive; |
| height: auto; |
| display: block; |
| } |
| } |
|
|
| #{$root} #all_result { |
| @include full-width-container; |
| @include mobile-scroll-container; |
| padding: 0; |
| } |
|
|
| #{$root} #res { |
| order: 1; |
| } |
|
|
| #{$root} .app-page-toolbar--bleed { |
| margin: 0 -15px 10px -15px; |
| padding: max(10px, env(safe-area-inset-top)) 15px 10px 15px; |
| } |
|
|
| #{$root} button { |
| padding: 8px 12px; |
| font-size: 11pt; |
| } |
|
|
| #{$root} .textarea-wrapper textarea { |
| min-height: 80px; |
| font-size: 16px; |
| } |
|
|
| #{$root} input[type="text"], |
| #{$root} input[type="url"], |
| #{$root} input[type="search"], |
| #{$root} input[type="email"], |
| #{$root} input[type="number"], |
| #{$root} input[type="tel"], |
| #{$root} input[type="password"], |
| #{$root} select { |
| font-size: 16px; |
| } |
| } |
|
|
| |
| @media (min-width: $breakpoint-tablet) { |
| html:not([data-force-narrow]) { |
| height: 100%; |
|
|
| body { |
| height: 100vh; |
| min-height: 100vh; |
| } |
|
|
| .main_frame { |
| position: fixed; |
| top: 0px; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| min-height: 100vh; |
| display: flex; |
| overflow: hidden; |
| } |
|
|
| .left_panel { |
| flex: 0 0 1200px; |
| min-width: 10vw; |
| max-width: 90vw; |
| padding: 8px 20px 20px; |
| overflow-y: auto; |
| overflow-x: hidden; |
| border-right: 1px solid var(--border-color); |
| background-color: var(--bg-color); |
| box-sizing: border-box; |
| transition: background-color 0.3s ease, border-color 0.3s ease; |
|
|
| > * { |
| max-width: 100%; |
| box-sizing: border-box; |
| } |
| } |
|
|
| .resizer { |
| width: 8px; |
| background: var(--resizer-bg); |
| cursor: col-resize; |
| position: relative; |
| flex-shrink: 0; |
| transition: background-color 0.3s ease; |
| } |
|
|
| .resizer::before { |
| content: ''; |
| position: absolute; |
| left: 50%; |
| top: 0; |
| bottom: 0; |
| width: 2px; |
| background: var(--border-color); |
| transform: translateX(-50%); |
| transition: background-color 0.3s ease; |
| } |
|
|
| .resizer:hover::before { |
| background: var(--resizer-hover); |
| } |
|
|
| .right_panel { |
| flex: 1; |
| display: flex; |
| flex-direction: column; |
| min-height: 0; |
| padding: 0; |
| overflow-y: auto; |
| overflow-x: hidden; |
| background: var(--panel-bg); |
| transition: background-color 0.3s ease; |
| position: relative; |
|
|
| |
| |
| > #results { |
| @include full-width-container; |
| overflow: visible; |
| position: relative; |
| min-height: 100%; |
| margin: 0; |
| } |
|
|
| > #results > .LMF { |
| @include full-width-container; |
| min-height: 100%; |
| padding: 20px; |
| overflow: visible; |
| } |
| } |
|
|
| .floating_content { |
| @include full-width-adaptive; |
| } |
| } |
|
|
| |
| @include narrow-app-layout('html[data-force-narrow]:has(.main_frame)'); |
| } |
|
|
| |
| @media (max-width: $breakpoint-mobile) { |
| @include narrow-app-layout('html'); |
| } |
|
|