| 1 | .ratatui-page .page-head { padding-block: 2.25rem 1.5rem; } |
| 2 | .ratatui-page .page-lede { max-width: 65ch; } |
| 3 | .ratatui-page .page-title { font-size: clamp(1.8rem, 3vw, 2.6rem); } |
| 4 | .rat-explorer { width: var(--container); margin: 0 auto 4rem; display: grid; grid-template-columns: 15rem minmax(0, 1fr); border-top: 1px solid var(--line); color: var(--text); scroll-margin-top: 5rem; } |
| 5 | .rat-explorer button, .rat-explorer input, .rat-explorer select { font: inherit; } |
| 6 | .rat-explorer button, .rat-explorer select { cursor: pointer; } |
| 7 | .rat-explorer button:disabled { opacity: .4; cursor: default; } |
| 8 | .rat-explorer :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } |
| 9 | .rat-explorer ::selection { background: var(--accent); color: var(--bg); } |
| 10 | .rat-explorer input { caret-color: var(--accent); } |
| 11 | .rat-explorer svg { width: 1rem; height: 1rem; flex-shrink: 0; } |
| 12 | .rat-explorer a { text-underline-offset: .2em; } |
| 13 | .rat-task-picker { grid-column: 1 / -1; display: grid; gap: 1rem; padding-block: 1.25rem; border-bottom: 1px solid var(--line); } |
| 14 | .rat-task-picker h2 { font-size: 1.1rem; font-weight: 600; margin: 0 0 .25rem; } |
| 15 | .rat-task-picker p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.55; max-width: 70ch; } |
| 16 | .rat-task-options { display: flex; flex-wrap: wrap; gap: .5rem; } |
| 17 | .rat-task-options .rat-button[aria-pressed=true] { background: var(--panel); color: var(--accent); border-color: var(--accent); } |
| 18 | .rat-task-options .rat-button { min-height: 2.75rem; } |
| 19 | .rat-usage-panel > p { font-size: .95rem; line-height: 1.6; max-width: 70ch; } |
| 20 | .rat-usage-panel > p:first-child { margin-top: 0; } |
| 21 | .rat-usage-panel .rat-code-heading { margin-top: 1.25rem; } |
| 22 | .rat-usage-links { display: flex; gap: .75rem 1.5rem; flex-wrap: wrap; margin-block: 1.25rem; } |
| 23 | .rat-empty-study { display: grid; align-content: start; justify-items: start; gap: 1rem; min-height: 20rem; } |
| 24 | .rat-empty-study p { color: var(--muted); max-width: 65ch; line-height: 1.6; } |
| 25 | .rat-browser { padding: 1.5rem 1.25rem 0 0; min-width: 0; border-inline-end: 1px solid var(--line); } |
| 26 | .rat-search { display: block; } |
| 27 | .rat-search > span, .rat-field, .rat-family-field { font-size: .8rem; font-weight: 500; } |
| 28 | .rat-search > div { display: flex; align-items: center; gap: .5rem; border-bottom: 1px solid var(--line-strong); padding-block: .5rem; margin-top: .2rem; } |
| 29 | .rat-search input { width: 100%; min-width: 0; background: none; border: 0; font-size: .875rem; color: var(--text); padding-block: .25rem; } |
| 30 | .rat-search input::placeholder { color: var(--muted); opacity: 1; } |
| 31 | .rat-search kbd { color: var(--muted); font-size: .75rem; } |
| 32 | .rat-family-field { display: grid; gap: .35rem; margin-top: 1.25rem; } |
| 33 | .rat-explorer select { color: var(--text); background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius-control); min-height: 2.4rem; padding: .35rem .5rem; max-width: 100%; min-width: 0; width: 100%; font-size: .875rem; } |
| 34 | .rat-count { font-size: .75rem; color: var(--muted); margin-block: .75rem 1rem; font-variant-numeric: tabular-nums; } |
| 35 | .rat-entry-list { max-height: 65rem; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; padding-inline-end: .25rem; } |
| 36 | .rat-family { margin-bottom: 1.5rem; } |
| 37 | .rat-family h3 { font-size: .8rem; font-weight: 600; color: var(--muted); margin: 0 0 .5rem .5rem; } |
| 38 | .rat-family-count { font-weight: 400; font-variant-numeric: tabular-nums; } |
| 39 | .rat-family-index h2 { font-size: .95rem; font-weight: 600; margin: 0; line-height: 1.35; } |
| 40 | .rat-family-index .rat-entry-list { max-height: none; overflow: visible; } |
| 41 | .rat-family-index a.rat-entry { color: var(--text); text-decoration: none; align-items: center; } |
| 42 | .rat-family-index a.rat-entry:hover { background: var(--surface); } |
| 43 | .rat-index-back { margin-top: 1.25rem; color: var(--accent); } |
| 44 | .rat-entry { display: flex; justify-content: space-between; gap: .5rem; width: 100%; min-height: 2.4rem; text-align: start; padding: .5rem; border: 0; background: none; color: var(--text); border-radius: var(--radius-control); line-height: 1.3; font-size: .875rem !important; } |
| 45 | .rat-entry:hover { background: var(--surface); } |
| 46 | .rat-entry[aria-current] { background: var(--panel); color: var(--accent); font-weight: 600; } |
| 47 | .rat-entry-width { color: var(--muted); font-size: .7rem; padding-top: .12rem; font-weight: 400; font-variant-numeric: tabular-nums; } |
| 48 | .rat-study { min-width: 0; padding: 1.5rem 0 0 2rem; } |
| 49 | .rat-study-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; } |
| 50 | .rat-study-heading p { color: var(--muted); font-size: .8rem; margin: 0 0 .35rem; } |
| 51 | .rat-study h2 { font-size: 1.625rem; font-weight: 600; line-height: 1.2; margin: 0; text-wrap: balance; } |
| 52 | .rat-link { display: inline-flex; gap: .4rem; align-items: center; font-size: .8rem; white-space: nowrap; } |
| 53 | .rat-description { font-size: .95rem; color: var(--muted); line-height: 1.55; max-width: 68ch; margin-block: .75rem 1.25rem; } |
| 54 | .rat-study-tabs { display: flex; align-items: stretch; flex-wrap: wrap; gap: .25rem 1.25rem; border-bottom: 1px solid var(--line); } |
| 55 | .rat-study-tabs > button { background: none; border: 0; color: var(--muted); padding: .65rem 0; font-size: .875rem; min-height: 2.75rem; border-bottom: 2px solid transparent; } |
| 56 | .rat-study-tabs > button[aria-pressed=true] { color: var(--text); border-bottom-color: var(--accent); } |
| 57 | .rat-pager { margin-inline-start: auto; display: flex; gap: .25rem; } |
| 58 | .rat-pager button { background: none; border: 0; color: var(--text); padding: .65rem; } |
| 59 | .rat-prev-icon { transform: rotate(180deg); } |
| 60 | .rat-preview-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; padding-block: 1rem; } |
| 61 | .rat-field { display: grid; gap: .3rem; } |
| 62 | .rat-scale { margin-inline-start: auto; } |
| 63 | .rat-button { background: var(--bg); color: var(--text); border: 1px solid var(--line-strong); border-radius: var(--radius-control); display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.4rem; padding: .4rem .7rem; font-size: .8rem !important; } |
| 64 | .rat-button:hover { background: var(--surface); } |
| 65 | .rat-button-primary { background: var(--accent); color: var(--on-brand); border-color: var(--accent); } |
| 66 | .rat-button-primary:hover { background: var(--accent-hover); } |
| 67 | .rat-terminal { overflow: auto; max-height: 48rem; background: var(--surface); scrollbar-width: thin; scrollbar-color: var(--line-strong) var(--surface); border-radius: var(--radius-surface); } |
| 68 | .rat-terminal img { display: block; width: auto; max-width: none; } |
| 69 | .rat-terminal-fit img { width: auto; max-width: 100%; height: auto; margin-inline: auto; } |
| 70 | .rat-preview-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; color: var(--muted); font-family: var(--font-mono); font-size: .7rem; margin-block: .75rem; font-variant-numeric: tabular-nums; } |
| 71 | .rat-preview-meta a { margin-inline-start: auto; font-family: var(--font-body); } |
| 72 | .rat-note { color: var(--muted); font-size: .8rem; line-height: 1.55; margin-block: .75rem; max-width: 70ch; } |
| 73 | .rat-note a { display: inline-flex; align-items: center; gap: .4rem; color: var(--accent); } |
| 74 | .rat-load { display: grid; place-content: center; justify-items: center; min-height: 18rem; background: var(--surface); color: var(--muted); gap: 1rem; border-radius: var(--radius-surface); font-size: .875rem; } |
| 75 | .rat-code-panel { padding-block: 1.25rem; } |
| 76 | .rat-code-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .75rem; } |
| 77 | .rat-code-heading h3 { font-size: 1rem; font-weight: 600; } |
| 78 | .rat-code-panel pre { overflow: auto; max-height: 37rem; background: var(--surface); border-radius: var(--radius-surface); padding: 1.25rem; font-size: .8rem; line-height: 1.65; color: var(--text); scrollbar-width: thin; scrollbar-color: var(--line-strong) var(--surface); } |
| 79 | .rat-copy-status { display: block; color: var(--muted); font-size: .75rem; margin-top: .2rem; } |
| 80 | .rat-api { border-top: 1px solid var(--line); padding-top: 1.25rem; margin-top: 1.5rem; } |
| 81 | .rat-api h3 { font-size: .875rem; font-weight: 600; margin-bottom: .6rem; } |
| 82 | .rat-api > div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; } |
| 83 | .rat-api code { color: var(--accent); font-size: .8rem; } |
| 84 | .rat-api p { color: var(--muted); font-size: .8rem; margin-top: .75rem; line-height: 1.5; } |
| 85 | .rat-empty { padding: 1rem .5rem; font-size: .875rem; line-height: 1.5; } |
| 86 | .rat-empty h3 { font-size: 1rem; font-weight: 600; } |
| 87 | .rat-empty p { color: var(--muted); margin-block: .5rem 1rem; } |
| 88 | .rat-motion-intro { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-block: 0 1rem; font-size: .8rem; } |
| 89 | .rat-motion-intro span { color: var(--muted); } |
| 90 | .rat-motion-controls { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem 1rem; padding-top: 1rem; } |
| 91 | .rat-motion-controls .rat-field { grid-template-columns: auto auto; align-items: center; } |
| 92 | .rat-motion-controls .rat-field select { width: auto; } |
| 93 | .rat-scrubber { display: flex; flex: 1; gap: .6rem; align-items: center; font-size: .8rem; } |
| 94 | .rat-scrubber input { min-width: 5rem; flex: 1; accent-color: var(--accent); } |
| 95 | .rat-scrubber output { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; } |
| 96 | @media (max-width: 1050px) { |
| 97 | .rat-explorer { grid-template-columns: 13rem minmax(0, 1fr); } |
| 98 | .rat-study { padding-inline-start: 1.25rem; } |
| 99 | .rat-study-heading { align-items: start; flex-direction: column; gap: .5rem; } |
| 100 | } |
| 101 | @media (max-width: 760px) { |
| 102 | .ratatui-page .page-head { padding-block: 1.5rem; } |
| 103 | .rat-explorer { display: block; } |
| 104 | .rat-browser { border-inline-end: 0; border-bottom: 1px solid var(--line); padding: 1rem 0; } |
| 105 | .rat-family-field { margin-top: .75rem; } |
| 106 | .rat-entry-list { max-height: 11.5rem; } |
| 107 | .rat-family { margin-bottom: 1rem; } |
| 108 | .rat-entry { min-height: 2.5rem; } |
| 109 | .rat-study { padding: 1.5rem 0 0; } |
| 110 | .rat-study-heading { flex-direction: row; } |
| 111 | .rat-study-heading > .rat-link { font-size: 0; gap: 0; padding: .4rem; } |
| 112 | .rat-study-heading > .rat-link svg { width: 1.25rem; height: 1.25rem; } |
| 113 | .rat-preview-controls { gap: .75rem; } |
| 114 | .rat-preview-controls .rat-field:first-child { flex: 1; min-width: 10rem; } |
| 115 | .rat-scale { margin-inline-start: 0; } |
| 116 | .rat-terminal-fit:not(.rat-terminal-scaled) img { width: auto; min-width: min(100%, 400px); max-width: none; } |
| 117 | .rat-scrubber { flex-basis: 100%; order: 1; } |
| 118 | .rat-preview-meta { gap: .75rem; } |
| 119 | } |
| 120 | |
| 121 | .rat-browser-results > summary { display: none; } |
| 122 | @media (min-width: 761px) { |
| 123 | .ratatui-page .page-head-text { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2rem; } |
| 124 | .ratatui-page .page-head-text .page-title, .ratatui-page .page-head-text .page-lede { grid-column: 1; } |
| 125 | .ratatui-page .page-head-text .actions { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; } |
| 126 | } |
| 127 | @media (max-width: 760px) { |
| 128 | .rat-browser-results > summary { display: flex; justify-content: space-between; align-items: center; min-height: 2.5rem; padding-block: .5rem; cursor: pointer; font-size: .875rem; } |
| 129 | .rat-browser-results > summary svg { transition: transform var(--dur-state) var(--ease-out); } |
| 130 | .rat-browser-results[open] > summary svg { transform: rotate(180deg); } |
| 131 | .rat-browser-results > summary + nav { margin-top: .5rem; } |
| 132 | } |
| 133 |