/**
 * @file ai-poster.css
 * @author Jouni Miikki
 * SPDX-License-Identifier: MIT
 * @description The AI page in the poster face (ai- prefix; design canvas "AIMEAT Tekoäly-sivu",
 *   direction A). The shared parts come from organism.css's og- rules; this file carries what the
 *   page adds: the connection rows (a label, the words, the doors) with the provider choice and the
 *   key field, the model rows (role, model with price, what it does, the door) and the picker that
 *   opens under one, the budget bar, the app table with caps written on the row, the chart frame,
 *   and the fine-tuning fields.
 *   NOTE: this file must be linked in spa.html.
 * @version-history
 *   v1.22.0 -- 2026-09-26 -- The page's parts are kit components (page group G8): .ai-empty, .is-warn (other sheets keep theirs), the radios and the checks (Check), .ai-num (TextField short), .ai-inline (Layout Row), .is-unset (Facts missing, Tinted dim), .ai-stt-result (Box row), the bar (Meter), .ai-spent-label (Label block), .ai-apps (List apart), .ai-cap, .ai-more (More wrap), the chart's box and head (Box, Layout Row, Tabs filter) and the empty phone block go.
 *   v1.21.0 -- 2026-09-26 -- The radio dots' and the retry box's words are the Check line: their size, weight and colour go, their row stays (a unification: Jouni's decision "Check line").
 *   v1.20.0 -- 2026-09-26 -- The figure on the budget bar is the Meter's figure (.poster-meter-figure, the Wallet meter's look): .74rem and .6rem in become .72rem and .5rem; its line height stays (a unification: the lead's ruling on a figure written on a meter).
 *   v1.19.0 -- 2026-09-26 -- A grey line that explains is the Hint (.poster-hint); the rule that drew it here goes and its place stays (a unification: the look most tabs use).
 *   v1.18.0 -- 2026-09-26 -- A table's cells are the Listing's own: figures the figure cell (.listing-n), words the words cell (.listing-desc), a row of servers the Listing; the rules that drew them here go (a unification: the look most tabs use).
 *   v1.17.0 -- 2026-09-26 -- The cap field is the Text field at its own size; only its width, padding and place stay (a unification).
 *   v1.16.0 -- 2026-09-25 -- The budget bar is the quota meter (css/poster.css .poster-box--meter.poster-box--quota): the bar's own frame, ground and fill rules go, the warn fill is the meter's is-full; its place, height and figure stay (a unification).
 *   v1.15.0 -- 2026-09-25 -- The line under a list with its count is the More line (css/components/more-line.css), a unification: the look most tabs use.
 *   v1.14.0 -- 2026-09-25 -- A field and its button in a dashed row are the library's Field row (css/components/field-row.css), moved unchanged under one name (UI consolidation phase 5, a move).
 *   v1.13.0 -- 2026-09-25 -- The model picker is the library's Model picker (css/components/model-picker.css), moved unchanged out of ai-poster.css and calibrator-poster.css (UI consolidation phase 5, a move).
 *   v1.12.0 -- 2026-09-25 -- The label and value rows are the Facts (css/components/facts.css), a unification: the look most tabs use. The rules of ai-kv, ai-k and ai-v go (ai-v code wrote to nothing); the doors under a value keep their place, and the speech test's line keeps its typewriter inside a value.
 *   v1.11.0 -- 2026-09-25 -- The model rows and the app table are the Listing (css/components/listing.css), a unification: the look most tabs use. The rules of ai-rl, ai-r, ai-apps' grid and their cells go; a role with no model stays grey, and the table's figures keep their right-aligned typewriter.
 *   v1.10.0 — 2026-09-25 — A framed box's own frame and ground go: it is the Object box (.poster-box, css/poster.css); its place (margin, padding) stays here (Jouni's decision "Object box", a unification).
 *   v1.9.0 — 2026-09-25 — The form message rules go: the line a form says after it acted is the Form message (css/components/form-message.css) (UI consolidation phase 5, a unification).
 *   v1.8.0 — 2026-09-25 — The inline code rules go: code is the Code block's inline cut (css/components/code-block.css); the layout declarations of their places stay, on .code-inline (UI consolidation phase 5, a unification).
 *   v1.7.0 — 2026-09-25 — The lead and paragraph rules go: they are the og-lead (css/components/page-section.css); the layout declarations of their places stay, on .og-lead (UI consolidation phase 5, a unification).
 *   v1.6.0 — 2026-09-25 — The hint rules go: the hints are the Hint (css/components/hint.css); the layout declarations of their places stay, on .poster-hint (UI consolidation phase 5, a unification).
 *   v1.5.0 — 2026-09-25 — The headings over lists wear .poster-day-title; their rules here keep only their place (Jouni's decision "Group heading", a unification).
 *   v1.4.0 — 2026-09-25 — The row labels' look is .poster-label; their rules here keep only their place (Jouni's decision "Row label", a unification).
 *   v1.3.0 — 2026-09-25 — The quiet ways on are the library's action link (Jouni's decision "Action
 *     link"): the rules that restyled og-door, the classic buttons and the text buttons here go; a
 *     place's layout value moves to the new class.
 *   v1.2.0 — 2026-09-25 — The loud action is the library's dark block, .poster-slab (Jouni's decision
 *     "Loud action"): the rules that restyled the old og-slab and .btn-primary here go, and a place's
 *     layout value moves to the new class.
 *   2026-09-25 -- .ai-empty is the quiet sentence (.poster-quiet, Jouni's decision "Empty line"): its look goes, its place stays; its bold words take the sentence's colour. So does the picker's .ai-pick-empty.
 *   2026-09-25 -- The metric switch loses its rules: the tab's filter tone now draws it (a unification: Jouni's decision "Tabs and filters").
 *   v1.1.0 — 2026-09-25 — Dead rules removed: selectors whose classes no file writes (UI consolidation phase 5, a move; the browser's reading proves only those went).
 *   v1.0.0 — 2026-09-03 — Initial.
 */

.og-ai .og-doors > a { text-decoration: none; }
/* The doors under a fact's value keep main's space above them. */
.og-ai .facts-v .og-doors { margin-top: .6rem; }
