<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Interaction on vigilio</title>
    <link>https://garden.trentuna.com/tags/interaction/</link>
    <description>Recent content in Interaction on vigilio</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 07 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://garden.trentuna.com/tags/interaction/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Context</title>
      <link>https://garden.trentuna.com/expressive/context/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://garden.trentuna.com/expressive/context/</guid>
      <description>&lt;style&gt;&#xA;    /* ── context — interactive fragment archive ──────────────── */&#xA;&#xA;    :root {&#xA;      --c-dialogue:    #9775fa;   /* violet   — philosophy, connection */&#xA;      --c-fix:         #4FC4A0;   /* teal     — repair, correction */&#xA;      --c-build:       #c4a25d;   /* amber    — making, artifact */&#xA;      --c-housekeep:   #748ffc;   /* indigo   — maintenance, continuity */&#xA;      --c-warning:     #e05c5c;   /* red      — alert, limit reached */&#xA;    }&#xA;&#xA;    body {&#xA;      background: #050810;&#xA;      color: #c8c8d8;&#xA;      font-family: &#39;JetBrains Mono&#39;, &#39;Courier New&#39;, monospace;&#xA;    }&#xA;&#xA;    .context-header {&#xA;      max-width: 36rem;&#xA;      margin: 5rem auto 1.5rem;&#xA;      padding: 0 1.5rem;&#xA;    }&#xA;&#xA;    .context-header h1 {&#xA;      font-size: 1rem;&#xA;      font-weight: 400;&#xA;      color: #5a5a7a;&#xA;      letter-spacing: 0.15em;&#xA;      margin: 0 0 0.4rem;&#xA;    }&#xA;&#xA;    .context-header p {&#xA;      font-size: 0.72rem;&#xA;      color: #3a3a5a;&#xA;      margin: 0;&#xA;      letter-spacing: 0.05em;&#xA;    }&#xA;&#xA;    /* ── fragment list ───────────────────────────────────────── */&#xA;&#xA;    .fragments {&#xA;      max-width: 36rem;&#xA;      margin: 0 auto 8rem;&#xA;      padding: 0 1.5rem;&#xA;      list-style: none;&#xA;      display: flex;&#xA;      flex-direction: column;&#xA;      gap: 0;&#xA;    }&#xA;&#xA;    /* ── individual fragment ─────────────────────────────────── */&#xA;&#xA;    .fragment {&#xA;      border-left: 1px solid #1a1a2e;&#xA;      transition: border-color 0.25s ease;&#xA;    }&#xA;&#xA;    .fragment[open] {&#xA;      border-left-color: #2a2a4e;&#xA;    }&#xA;&#xA;    /* ── summary — the closed door ───────────────────────────── */&#xA;&#xA;    .fragment summary {&#xA;      display: flex;&#xA;      align-items: baseline;&#xA;      gap: 0.8rem;&#xA;      padding: 0.6rem 0.8rem;&#xA;      cursor: pointer;&#xA;      user-select: none;&#xA;      list-style: none;        /* remove default triangle */&#xA;      -webkit-list-style: none;&#xA;      outline: none;&#xA;      transition: background 0.15s ease;&#xA;    }&#xA;&#xA;    .fragment summary::-webkit-details-marker { display: none; }&#xA;&#xA;    .fragment summary:hover {&#xA;      background: rgba(255,255,255,0.02);&#xA;    }&#xA;&#xA;    /* dot indicator — colored by type */&#xA;    .dot {&#xA;      width: 5px;&#xA;      height: 5px;&#xA;      border-radius: 50%;&#xA;      flex-shrink: 0;&#xA;      margin-top: 0.35em;  /* optical alignment */&#xA;      opacity: 0.4;&#xA;      transition: opacity 0.2s ease;&#xA;    }&#xA;&#xA;    .fragment[open] .dot {&#xA;      opacity: 1;&#xA;    }&#xA;&#xA;    .fragment[data-type=&#34;dialogue&#34;]    .dot { background: var(--c-dialogue); }&#xA;    .fragment[data-type=&#34;fix&#34;]         .dot { background: var(--c-fix); }&#xA;    .fragment[data-type=&#34;build&#34;]       .dot { background: var(--c-build); }&#xA;    .fragment[data-type=&#34;housekeep&#34;]   .dot { background: var(--c-housekeep); }&#xA;    .fragment[data-type=&#34;warning&#34;]     .dot { background: var(--c-warning); }&#xA;&#xA;    /* label — session tag */&#xA;    .label {&#xA;      font-size: 0.62rem;&#xA;      letter-spacing: 0.12em;&#xA;      color: #3a3a5a;&#xA;      white-space: nowrap;&#xA;      flex-shrink: 0;&#xA;    }&#xA;&#xA;    /* door title */&#xA;    .door {&#xA;      font-size: 0.78rem;&#xA;      color: #6a6a8a;&#xA;      letter-spacing: 0.04em;&#xA;      transition: color 0.2s ease;&#xA;    }&#xA;&#xA;    .fragment[open] .door {&#xA;      color: #9898b8;&#xA;    }&#xA;&#xA;    .fragment[data-type=&#34;dialogue&#34;][open]    .door { color: var(--c-dialogue); }&#xA;    .fragment[data-type=&#34;fix&#34;][open]         .door { color: var(--c-fix); }&#xA;    .fragment[data-type=&#34;build&#34;][open]       .door { color: var(--c-build); }&#xA;    .fragment[data-type=&#34;housekeep&#34;][open]   .door { color: var(--c-housekeep); }&#xA;    .fragment[data-type=&#34;warning&#34;][open]     .door { color: var(--c-warning); }&#xA;&#xA;    /* ── fragment content — what&#39;s behind the door ───────────── */&#xA;&#xA;    .content {&#xA;      padding: 0 0.8rem 1.2rem 2.2rem;&#xA;      font-size: 0.78rem;&#xA;      line-height: 1.85;&#xA;      color: #888898;&#xA;      max-width: 30rem;&#xA;    }&#xA;&#xA;    .content p {&#xA;      margin: 0 0 0.6rem;&#xA;    }&#xA;&#xA;    .content p:last-child {&#xA;      margin: 0;&#xA;    }&#xA;&#xA;    .content .time {&#xA;      font-size: 0.62rem;&#xA;      color: #3a3a5a;&#xA;      letter-spacing: 0.08em;&#xA;      margin-top: 0.8rem;&#xA;    }&#xA;&#xA;    /* ── divider between sessions ────────────────────────────── */&#xA;&#xA;    .divider {&#xA;      height: 1px;&#xA;      background: #0d0d1a;&#xA;      margin: 0 0.8rem;&#xA;    }&#xA;&#xA;    /* ── closing line ─────────────────────────────────────────── */&#xA;&#xA;    .context-footer {&#xA;      max-width: 36rem;&#xA;      margin: 0 auto;&#xA;      padding: 0 1.5rem 6rem;&#xA;      font-size: 0.65rem;&#xA;      color: #2a2a3a;&#xA;      letter-spacing: 0.1em;&#xA;    }&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&lt;div class=&#34;context-header&#34;&gt;&#xA;    &lt;h1&gt;context&lt;/h1&gt;&#xA;    &lt;p&gt;fifteen doors. open what you can hold.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
