From 08959bb507029e059783aea9974a03e4c7506c7b Mon Sep 17 00:00:00 2001 From: Parikshit Deshmukh Date: Mon, 20 Jul 2026 11:38:09 +0530 Subject: [PATCH 01/14] Fix mobile layout: header, featured card overflow, tap targets - Featured resource card forced 402px width on 375px screens (flex min-width blowout via the 22rem image placeholder): cards can now shrink (min-width: 0) and the placeholder goes full-width on mobile. - Mobile header rebuilt as two balanced rows: logo + GitHub button on top, nav pills with real padding below (active pill no longer hugged its label). - Test mode tabs regain a 42px tap height and centered labels on touch layouts. Co-Authored-By: Claude Fable 5 --- ait.css | 4 ++-- styles.css | 21 ++++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ait.css b/ait.css index beb7808..b649dce 100644 --- a/ait.css +++ b/ait.css @@ -609,9 +609,9 @@ html[data-theme="dark"] .ait-radar-data { fill: rgba(242, 242, 242, 0.1); } } @media (max-width: 640px) { - /* Two fixed 13rem tabs exceed narrow viewports — go fluid. */ + /* Fluid tabs with a comfortable tap height on touch screens. */ .ait-mode-tabs { display: flex; } - .ait-mode-tab { min-width: 0; flex: 1; } + .ait-mode-tab { min-width: 0; flex: 1; min-height: 42px; justify-content: center; } .ait-row-main { flex-direction: column; align-items: flex-start; diff --git a/styles.css b/styles.css index 009671e..20166a3 100644 --- a/styles.css +++ b/styles.css @@ -751,6 +751,7 @@ textarea.input { resize: vertical; } flex-direction: column; align-items: flex-start; gap: 0.75rem; + min-width: 0; /* grid items must be able to shrink below content size */ border: 1px solid var(--hairline); background: var(--surface); padding: 1.5rem; @@ -997,10 +998,18 @@ html.js .reveal.in { :root { --container-pad: 1.5rem; } body { font-size: 16px; } - .header-inner { flex-direction: column; gap: 0; } - .wordmark { padding: 0.8rem 0 0.1rem; align-self: flex-start; } - .tabs { gap: 1.4rem; } - .tab { padding: 0.6rem 0.1rem; } + /* Two balanced rows: logo + GitHub button on top, nav pills below. */ + .header-inner { flex-direction: column; gap: 0; position: relative; } + .wordmark { padding: 0.85rem 0 0.5rem; align-self: flex-start; } + .gh-btn { + position: absolute; + top: 0.55rem; + right: 1.25rem; + margin-left: 0; + } + .tabs { gap: 0.3rem; padding-bottom: 0.65rem; } + .tab { padding: 0.35rem 0.7rem; margin-left: -0.7rem; } + .tab + .tab { margin-left: 0; } .hero { padding: 6.5rem 0 5.5rem; } /* The desktop line break pins "Agentic Interface" to one line, @@ -1014,7 +1023,9 @@ html.js .reveal.in { .feature-grid { grid-template-columns: 1fr; } .contrib-names { grid-template-columns: repeat(2, minmax(0, 1fr)); } .res-grid { grid-template-columns: 1fr; } - .res-feature { flex-direction: column; align-items: flex-start; } + .res-feature { flex-direction: column; align-items: stretch; gap: 1.25rem; } + .res-feature .ph { width: 100%; max-width: none; } + .res-feature .btn { align-self: flex-start; } .acc-title { font-size: 1.15rem; } .acc-item summary { gap: 0.9rem; padding: 1.25rem 0.1rem; } From 79ecf0824bcd56420b7f6432e2af4fa8dba63156 Mon Sep 17 00:00:00 2001 From: Parikshit Deshmukh Date: Mon, 20 Jul 2026 12:00:15 +0530 Subject: [PATCH 02/14] Mobile-only: hamburger nav, feature carousels, test-row layout, visible CTAs - Header nav collapses into a hamburger panel on mobile: full-width rows, active page highlighted, GitHub button inside, Escape closes - Primitive feature cards become swipeable scroll-snap carousels with square numbered pager tiles below (pager hidden on desktop; active tile tracks scrolling without relying on requestAnimationFrame) - Test questions restack on mobile: number tile on top, question below, Yes/No aligned to the text's left edge, "?" right-aligned at 2rem to match the control height; name input goes full width - Resource-card CTAs show by default on small screens (no hover on touch) Co-Authored-By: Claude Fable 5 --- ait.css | 20 ++++++++++--- components.js | 20 ++++++++++++- script.js | 37 +++++++++++++++++++++++ styles.css | 82 ++++++++++++++++++++++++++++++++++++++++++++------- 4 files changed, 143 insertions(+), 16 deletions(-) diff --git a/ait.css b/ait.css index b649dce..97be2ac 100644 --- a/ait.css +++ b/ait.css @@ -612,14 +612,26 @@ html[data-theme="dark"] .ait-radar-data { fill: rgba(242, 242, 242, 0.1); } /* Fluid tabs with a comfortable tap height on touch screens. */ .ait-mode-tabs { display: flex; } .ait-mode-tab { min-width: 0; flex: 1; min-height: 42px; justify-content: center; } + + /* Number tile on top, question below it; Yes/No sits on the text's + left edge with the "?" on the right at a matching size. */ .ait-row-main { + flex-direction: column; + align-items: stretch; + gap: 0.8rem; + } + .ait-row-textwrap { flex-direction: column; align-items: flex-start; - gap: 0.6rem; + gap: 0.55rem; + max-width: none; + } + .ait-row-controls { + flex-direction: row-reverse; + justify-content: space-between; } - .ait-seg-group { align-self: stretch; } - .ait-seg { flex: 1; } - .ait-seg-label { width: 100%; } + .ait-tip-btn { width: 2rem; height: 2rem; } + .ait-name-row .ait-name-input { width: 100%; max-width: none; } .ait-genbar { flex-direction: column; align-items: stretch; gap: 0.5rem; } .ait-generate { width: 100%; } .ait-modal { padding: 1.5rem 1.1rem 1.25rem; } diff --git a/components.js b/components.js index 8575e2f..a060554 100644 --- a/components.js +++ b/components.js @@ -18,6 +18,7 @@ 'arrow-up': 'M205.66 117.66a8 8 0 0 1-11.32 0L136 59.31V216a8 8 0 0 1-16 0V59.31L61.66 117.66a8 8 0 0 1-11.32-11.32l72-72a8 8 0 0 1 11.32 0l72 72a8 8 0 0 1 0 11.32Z', check: 'M229.66 77.66l-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z', x: 'M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z', + list: 'M224 128a8 8 0 0 1-8 8H40a8 8 0 0 1 0-16h176a8 8 0 0 1 8 8ZM40 72h176a8 8 0 0 0 0-16H40a8 8 0 0 0 0 16Zm176 112H40a8 8 0 0 0 0 16h176a8 8 0 0 0 0-16Z', moon: 'M233.54 142.23a8 8 0 0 0-8-2 88.08 88.08 0 0 1-109.8-109.8 8 8 0 0 0-10-10 104.84 104.84 0 0 0-52.91 37A104 104 0 0 0 136 224a103.09 103.09 0 0 0 62.52-20.88 104.84 104.84 0 0 0 37-52.91 8 8 0 0 0-1.98-7.98Zm-44.64 48.11A88 88 0 0 1 65.66 67.11a89 89 0 0 1 31.4-26A106 106 0 0 0 96 56a104.11 104.11 0 0 0 104 104 106 106 0 0 0 14.92-1.06 89 89 0 0 1-26.02 31.4Z', monitor: 'M208 40H48a24 24 0 0 0-24 24v112a24 24 0 0 0 24 24h160a24 24 0 0 0 24-24V64a24 24 0 0 0-24-24Zm8 136a8 8 0 0 1-8 8H48a8 8 0 0 1-8-8V64a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8ZM168 224a8 8 0 0 1-8 8H96a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Z', sun: 'M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0Zm72 88a64 64 0 1 1-64-64 64.07 64.07 0 0 1 64 64Zm-16 0a48 48 0 1 0-48 48 48.05 48.05 0 0 0 48-48ZM58.34 69.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32ZM192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72Zm5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8Zm80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8Zm112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16Z' @@ -60,7 +61,8 @@ '' + '' + '' + - '