.argon-launch{margin-inline-start:.5rem;flex-shrink:0}.argon-dialog{box-sizing:border-box;border:1px solid var(--n-line,#d8dbcf);border-radius:18px;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--n-ground,#fffdf7);color:var(--n-ink,#233329);color-scheme:light;padding:22px;box-shadow:0 20px 60px #0003}.argon-dialog::backdrop{background:#14251c80}.argon-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.argon-heading h2{margin:0}.argon-note{font-size:.85rem;color:var(--n-dim,#6f6a62);line-height:1.5}.argon-dialog label{display:grid;gap:6px;margin:14px 0;font-weight:600}.argon-dialog select,.argon-dialog textarea,.argon-dialog input{width:100%;box-sizing:border-box;min-width:0;font:inherit}.argon-dialog textarea{resize:vertical}.argon-dialog [data-argon-result]{overflow-wrap:anywhere;font-size:.92rem}.argon-dialog h4{margin:16px 0 4px}.argon-dialog p{line-height:1.45}.argon-dialog section section{padding-left:12px;border-left:2px solid var(--n-line,#ddd)}
/* Helpful tools (argon-tools.js): the title and Close stay put and only the middle scrolls, so a
   long answer never takes Close off the screen (a phone has no Esc). Close comes last in the
   page, for Tab, and sits top right. Copy has a footer of its own, outside the answer it copies. */
.argon-panel{padding:0;overflow:hidden}.argon-panel[open]{display:flex;flex-direction:column}.argon-title{margin:0;padding:20px 112px 6px 22px;font-size:1.3rem;line-height:1.25}.argon-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 22px 18px}.argon-foot{display:flex;gap:10px;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--n-line,#d8dbcf)}.argon-foot[hidden]{display:none}.argon-close{position:absolute;top:14px;right:16px}.argon-dialog [data-argon-result] a{color:inherit;font-weight:600}
/* A shared link (and a shared file's name) is shown whole under the box, and a booking link can
   run to hundreds of characters with no space: it breaks inside the address, or the panel's body
   would scroll sideways on a phone. */
.argon-dialog [data-argon-fields] p{overflow-wrap:anywhere}
/* List and Box don't load the Pattern Notebook kit: there the panel's controls still look like
   controls. :where() keeps these below the kit's .n-b and .n-inp wherever the kit is loaded. */
:where(.argon-dialog) :where(button){font:inherit;min-height:36px;padding:0 14px;border:1px solid var(--n-line-2,#cfcbc2);border-radius:10px;background:var(--n-white,#fff);color:inherit;cursor:pointer}:where(.argon-dialog) :where(select,textarea,input:not([type=file])){min-height:36px;padding:6px 10px;border:1px solid var(--n-line-2,#cfcbc2);border-radius:10px;background:var(--n-white,#fff);color:inherit}
@media(max-width:600px){.argon-dialog{margin:auto auto 8px;width:calc(100vw - 16px);max-height:90dvh;border-radius:20px 20px 10px 10px;padding:16px}.argon-panel{padding:0}.argon-title{padding:16px 104px 6px 16px}.argon-body{padding:0 16px 16px}.argon-foot{padding:10px 16px}.argon-close{top:10px;right:12px}.argon-dialog button,.argon-dialog select,.argon-dialog input:not([type=file]){min-height:44px}.argon-dialog input,.argon-dialog select,.argon-dialog textarea{font-size:16px}}
.argon-map-extras{margin:8px 0;border:1px solid var(--n-line,#ddd);border-radius:10px;padding:10px;max-width:100%;box-sizing:border-box}.argon-map-extras summary{cursor:pointer;font-weight:700}.argon-map-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.argon-map-extras label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.argon-map-extras select{max-width:100%}.argon-map-extras input{max-width:100%}.argon-map-extras ul{font-size:.85rem}.argon-taxi{text-align:center;background:#fff;color:#000}.argon-taxi h2{font-size:clamp(28px,5vw,56px)}.argon-taxi p{font-size:clamp(20px,3vw,36px)}
/* Grounded answers (public/grounded.js, 3.13.7, docs/api-and-ai-phase-3a-spec.md §4): Google's
   words, sources and suggestions drawn as given, and Claude's pages in a style of their own, so
   the two never look alike. The suggestions frame is as wide as the words, as Google asks, and
   only its height is set (by the page, from its document). Every colour is the kit's token with a
   fallback of its own: Box and List load no kit. Links keep their underline. */
.gr{display:block;min-width:0;margin:12px 0}.gr-words{margin:0 0 6px;white-space:pre-line;line-height:1.5}.gr-words,.gr-sources,.gr-claude-sources{overflow-wrap:anywhere}.gr-mark{font-size:.75em;line-height:0;white-space:nowrap}.gr a{color:inherit;text-decoration:underline;text-underline-offset:2px}.gr-sources,.gr-claude-sources{margin:6px 0;padding-inline-start:1.6em;font-size:.9em;line-height:1.45}.gr-sources li,.gr-claude-sources li{margin:2px 0}.gr-suggest{display:block;width:100%;border:0}
.gr-claude{padding-inline-start:10px;border-inline-start:2px solid var(--n-line-2,#cfcbc2)}.gr .gr-head{margin:8px 0 2px;font-size:.85em;font-weight:600;color:var(--n-dim,#6f6a62)}.gr-fold{margin:12px 0}.gr-fold>summary{cursor:pointer;font-size:.88em;font-weight:600;color:var(--n-dim,#6f6a62)}.gr-fold>.gr{margin-top:6px}
/* Google Maps' answers (grounded.js's maps kind, 3.13.10, docs/api-and-ai-phase-3b-spec.md §2.3), as
   Google's Maps grounding rules ask: each source a preview of the words "Google Maps" in #5E5E5E
   (one of Google's three colours, 6.4:1 on the white and paper the block sits on), weight 400,
   13 px whatever list it is in, Roboto first and never loaded, never wrapped, underlined or
   re-cased; then the title, whole and wrapping, underlined itself, as the link draws no
   underline that would reach "Google Maps". Spans are blocks, never a flex row, which would run
   the two together. The reviews' list resets the panel's smaller, dimmer lists, and on a touch
   screen the Sources toggle is 44 px as a list item at every width: .gr-maps first, so it beats
   Map tools' own .map-extras summary, which loads later. A border sets the block apart. */
.gr-maps{border:1px solid var(--n-line,#d8dbcf);border-radius:10px;padding:10px 12px}.gr-maps .gr-maps-sources>summary{cursor:pointer;font-weight:600}.gr-places{margin:6px 0 0;padding-inline-start:1.6em;line-height:1.45}.gr-places,.gr-reviews{list-style-position:outside}.gr .gr-reviews{margin:0;padding-inline-start:1.2em;font-size:inherit;color:inherit}
.gr .gr-gm{display:block;font-family:Roboto,var(--n-sans,system-ui),sans-serif;font-style:normal;font-weight:400;font-size:13px;letter-spacing:normal;text-transform:none;white-space:nowrap;color:#5e5e5e}.gr .gr-title{display:block;overflow-wrap:anywhere}.gr-maps a.gr-preview{display:block;padding:4px 0;text-decoration:none}.gr-maps .gr-title{text-decoration:underline;text-underline-offset:2px}
@media (pointer:coarse){.gr-maps .gr-maps-sources>summary{display:list-item;min-height:44px;padding:10px 0;box-sizing:border-box}}
