:root {
  color-scheme: light;
  --start-accent: var(--ta-accent, #d71920);
  --start-canvas: var(--ta-canvas, #f4f1ec);
  --start-surface: var(--ta-surface, #fff);
  --start-surface-alt: var(--ta-surface-alt, #eee9e2);
  --start-text: var(--ta-text, #171717);
  --start-copy: var(--ta-copy, #393939);
  --start-muted: var(--ta-muted, #6b6865);
  --start-line: var(--ta-line, rgba(23, 23, 23, .16));
  --start-mono: var(--ta-font-mono, "IBM Plex Mono", "Courier New", monospace);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; scrollbar-gutter: stable; }
body { margin: 0; }
body.ta-start-modal-open { overflow: hidden; }

.ta-start-page { background: var(--start-canvas); color: var(--start-text); min-height: 100vh; }
.ta-start-progress { position: fixed; z-index: 1000; inset: 0 0 auto; height: 3px; background: transparent; pointer-events: none; }
.ta-start-progress span { display: block; width: 0; height: 100%; background: var(--start-accent); box-shadow: 0 0 14px color-mix(in srgb, var(--start-accent) 72%, transparent); }

.ta-start-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--start-line); background: linear-gradient(135deg, color-mix(in srgb, var(--start-surface) 94%, var(--start-accent)), var(--start-surface)); }
.ta-start-hero::before { content: ""; position: absolute; inset: 0; opacity: .33; pointer-events: none; background-image: linear-gradient(var(--start-line) 1px, transparent 1px), linear-gradient(90deg, var(--start-line) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg, #000, transparent 82%); }
.ta-start-hero__inner { position: relative; display: grid; grid-template-columns: minmax(7rem, .25fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; padding-block: clamp(3.75rem, 8vw, 7.5rem); }
.ta-start-hero__number { color: transparent; font: 800 clamp(6rem, 14vw, 12rem)/.75 var(--start-mono); -webkit-text-stroke: 1px color-mix(in srgb, var(--start-accent) 64%, transparent); user-select: none; }
.ta-start-hero h1 { max-width: 16ch; margin: .35rem 0 1.25rem; font-size: clamp(2.7rem, 6vw, 5.75rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.ta-start-hero p:last-child { max-width: 72ch; margin: 0; color: var(--start-copy); font-size: clamp(1rem, 1.5vw, 1.22rem); line-height: 1.7; }

.ta-start-layout { display: grid; grid-template-columns: minmax(14rem, 18rem) minmax(0, 52rem); gap: clamp(2.25rem, 6vw, 6.5rem); align-items: start; justify-content: center; padding-block: clamp(2.5rem, 6vw, 6rem); }
.ta-start-sidebar { position: sticky; top: 6.5rem; max-height: calc(100vh - 8rem); overflow: auto; scrollbar-width: thin; }
.ta-start-sidebar details { border: 1px solid var(--start-line); background: color-mix(in srgb, var(--start-surface) 96%, transparent); }
.ta-start-sidebar summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; cursor: pointer; font: 700 .74rem/1.2 var(--start-mono); letter-spacing: .08em; text-transform: uppercase; }
.ta-start-sidebar summary span { color: var(--start-accent); }
.ta-start-sidebar nav { display: grid; border-top: 1px solid var(--start-line); }
.ta-start-sidebar nav a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .7rem; align-items: start; padding: .78rem 1rem; border-bottom: 1px solid var(--start-line); color: var(--start-copy); text-decoration: none; }
.ta-start-sidebar nav a:last-child { border-bottom: 0; }
.ta-start-sidebar nav a span { color: var(--start-muted); font: 700 .71rem/1.5 var(--start-mono); }
.ta-start-sidebar nav a strong { font-size: .8rem; line-height: 1.38; }
.ta-start-sidebar nav a:hover, .ta-start-sidebar nav a[aria-current="page"] { color: var(--start-text); background: var(--start-surface-alt); }
.ta-start-sidebar nav a[aria-current="page"] { box-shadow: inset 3px 0 var(--start-accent); }
.ta-start-sidebar nav a[aria-current="page"] span { color: var(--start-accent); }

.ta-start-reading-column { min-width: 0; }
.ta-start-contents { margin: 0 0 3rem; border: 1px solid var(--start-line); background: var(--start-surface-alt); }
.ta-start-contents summary { padding: .9rem 1rem; cursor: pointer; font: 700 .72rem/1.2 var(--start-mono); letter-spacing: .1em; text-transform: uppercase; }
.ta-start-contents nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.5rem; padding: 0 1rem 1.1rem; }
.ta-start-contents a { color: var(--start-copy); font-size: .84rem; line-height: 1.4; }

.ta-start-article { color: var(--start-copy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.06rem, 1.5vw, 1.19rem); line-height: 1.82; }
.ta-start-article p { margin: 0 0 1.45em; }
.ta-start-article h1, .ta-start-article h2, .ta-start-article h3, .ta-start-article h4, .ta-start-article h5, .ta-start-article h6 { position: relative; color: var(--start-text); font-family: Arial, Helvetica, sans-serif; text-wrap: balance; }
.ta-start-article h1 { margin: 0 0 1.2rem; font-size: clamp(2.15rem, 6vw, 4.25rem); line-height: 1.03; letter-spacing: -.045em; }
.ta-start-article h2 { margin: 3.25rem 0 1.15rem; padding-top: 1.2rem; border-top: 1px solid var(--start-line); font-size: clamp(1.7rem, 3.5vw, 2.5rem); line-height: 1.12; letter-spacing: -.035em; }
.ta-start-article h2::before { content: ""; position: absolute; top: -1px; left: 0; width: 4rem; height: 3px; background: var(--start-accent); }
.ta-start-article h3 { margin: 2.4rem 0 .9rem; font-size: clamp(1.3rem, 2.5vw, 1.7rem); line-height: 1.25; letter-spacing: -.02em; }
.ta-start-article h4 { margin: 2rem 0 .75rem; font-size: 1.15rem; line-height: 1.35; }
.ta-start-article strong { color: var(--start-text); font-weight: 700; }
.ta-start-article em { color: var(--start-text); }
.ta-start-article a { color: var(--start-accent); font-weight: 650; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.ta-start-article a:hover { text-decoration-thickness: .14em; }
.ta-start-anchor { margin-left: .45rem; opacity: 0; color: var(--start-accent) !important; font: 500 .8em/1 var(--start-mono); text-decoration: none !important; }
.ta-start-article :is(h2, h3, h4):hover .ta-start-anchor, .ta-start-anchor:focus { opacity: 1; }

.ta-start-pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 4.5rem; padding-top: 2rem; border-top: 1px solid var(--start-line); }
.ta-start-pager a { display: grid; gap: .35rem; min-height: 7rem; padding: 1.25rem; border: 1px solid var(--start-line); background: var(--start-surface); color: var(--start-text); text-decoration: none; }
.ta-start-pager a:hover { border-color: var(--start-accent); transform: translateY(-2px); }
.ta-start-pager small { color: var(--start-muted); font: 700 .7rem/1.2 var(--start-mono); letter-spacing: .08em; text-transform: uppercase; }
.ta-start-pager strong { align-self: end; line-height: 1.35; }
.ta-start-pager__next { text-align: right; }

.ta-start-frame-page { min-height: 100%; padding: clamp(1.1rem, 4vw, 3rem); background: #fff; color: #171717; }
.ta-start-article--frame { width: min(100%, 48rem); margin: 0 auto; color: #393939; }
.ta-start-article--frame h1, .ta-start-article--frame h2, .ta-start-article--frame h3, .ta-start-article--frame h4, .ta-start-article--frame strong, .ta-start-article--frame em { color: #171717; }
.ta-start-article--frame h1, .ta-start-article--modal h1 { padding-bottom: 1.15rem; }
.ta-start-article--frame h1::after, .ta-start-article--modal h1::after { content: ""; display: block; width: 3.25rem; height: 3px; margin-top: 1rem; background: var(--start-accent, #d71920); }
.ta-start-article--frame h1 + h2, .ta-start-article--modal h1 + h2 { margin-top: 2rem; padding-top: 0; border-top: 0; }
.ta-start-article--frame h1 + h2::before, .ta-start-article--modal h1 + h2::before { display: none; }
.ta-start-article--frame h2::before { background: #d71920; }
.ta-start-article--frame a { color: #b40d14; }

.ta-start-step-label { margin: 0 0 .8rem; color: var(--start-accent); font: 700 .75rem/1.2 var(--start-mono); letter-spacing: .12em; text-transform: uppercase; }
.ta-start-step-label span { display: inline-block; padding: .34rem .5rem; border: 1px solid color-mix(in srgb, var(--start-accent) 58%, var(--start-line)); background: color-mix(in srgb, var(--start-accent) 8%, transparent); }
.ta-start-step-heading { max-width: 58rem; }
.ta-start-step-heading h1, .ta-start-step-heading h2, .ta-start-index__path header h2 { margin: 0; font: 780 clamp(1.35rem, 5.4vw, 3.8rem)/.98 Arial, Helvetica, sans-serif; letter-spacing: -.045em; text-transform: none; text-wrap: nowrap; white-space: nowrap; }
.ta-start-step-heading > p:last-child { max-width: 52rem; margin: 1.15rem 0 0; color: var(--start-copy); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.65; }
.ta-start-choose { padding: clamp(4rem, 8vw, 7rem) 0; border-bottom: 1px solid var(--start-line); background: var(--start-surface-alt); }
.ta-start-path-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.85rem, 2vw, 1.5rem); margin-top: 2.25rem; align-items: stretch; }
.ta-start-path-card { position: relative; min-width: 0; min-height: 25rem; display: flex; flex-direction: column; align-items: center; gap: .85rem; padding: 1.55rem; overflow: hidden; border: 1px solid var(--ta-line-strong, var(--start-line)); border-radius: 0; background: linear-gradient(155deg, var(--ta-surface-raised, var(--start-surface)), var(--start-surface)); box-shadow: var(--ta-shadow-md, 0 12px 24px rgba(0,0,0,.08)); color: var(--start-text); text-align: center; cursor: pointer; appearance: none; transition: border-color .24s ease, transform .24s ease, box-shadow .24s ease, background .24s ease; }
.ta-start-path-card::before, .ta-start-path-card::after { content: ""; position: absolute; width: 18px; height: 18px; pointer-events: none; transition: width .24s ease, height .24s ease; }
.ta-start-path-card::before { inset: -1px auto auto -1px; border-top: 2px solid var(--start-accent); border-left: 2px solid var(--start-accent); }
.ta-start-path-card::after { inset: auto -1px -1px auto; border-right: 2px solid var(--start-accent); border-bottom: 2px solid var(--start-accent); }
.ta-start-path-card__main { width: 100%; min-height: 0; flex: 1; display: flex; flex-direction: column; align-items: center; gap: .85rem; padding: 0; border: 0; background: transparent; color: inherit; text-align: center; cursor: pointer; }
.ta-start-path-card__icon { width: 4.4rem; height: 4.4rem; display: grid; place-items: center; margin: .4rem 0 .15rem; color: var(--start-accent); transition: transform .24s ease, filter .24s ease; }
.ta-start-path-card__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: square; stroke-linejoin: miter; }
.ta-start-path-card__eyebrow { color: var(--start-accent); font: 700 .7rem/1.2 var(--start-mono); letter-spacing: .13em; text-transform: uppercase; }
.ta-start-path-card > strong, .ta-start-path-card__main > strong { min-height: 2.5em; display: grid; place-items: center; font: 780 clamp(1.05rem, 1.6vw, 1.35rem)/1.14 Arial, Helvetica, sans-serif; text-wrap: balance; }
.ta-start-path-card__description { max-width: 17rem; color: var(--start-copy); font-size: .98rem; line-height: 1.55; text-wrap: balance; }
.ta-start-path-card__choose { width: 100%; min-height: 3.45rem; display: grid; place-items: center; margin-top: auto; padding: .75rem; border: 1px solid var(--start-accent); background: var(--start-accent); color: #fff; font: 750 .7rem/1.2 var(--start-mono); letter-spacing: .07em; text-transform: uppercase; transition: filter .2s ease, box-shadow .2s ease; }
.ta-start-path-card:is(:hover, :focus-visible, :focus-within, .is-selected, .is-choosing) { z-index: 1; border-color: var(--start-accent); background: linear-gradient(180deg, color-mix(in srgb, var(--start-accent) 10%, transparent), var(--start-surface)); box-shadow: var(--ta-shadow-lg, 0 18px 36px rgba(0,0,0,.14)), 0 0 28px color-mix(in srgb, var(--start-accent) 18%, transparent); outline: none; transform: translateY(-6px); }
.ta-start-path-card:is(:hover, :focus-visible, :focus-within, .is-selected, .is-choosing)::before, .ta-start-path-card:is(:hover, :focus-visible, :focus-within, .is-selected, .is-choosing)::after { width: 35px; height: 35px; }
.ta-start-path-card:is(:hover, :focus-visible, :focus-within, .is-selected) .ta-start-path-card__icon { filter: drop-shadow(0 0 12px color-mix(in srgb, var(--start-accent) 32%, transparent)); transform: translateY(-3px) scale(1.04); }
.ta-start-path-card:is(:hover, :focus-visible, :focus-within, .is-selected) .ta-start-path-card__choose { filter: brightness(1.07); box-shadow: 0 8px 18px color-mix(in srgb, var(--start-accent) 28%, transparent); }
.ta-start-path-card.is-selected { box-shadow: var(--ta-shadow-lg, 0 18px 36px rgba(0,0,0,.14)), 0 0 0 2px var(--start-accent), 0 0 30px color-mix(in srgb, var(--start-accent) 22%, transparent); }
.ta-start-path-card.is-selected .ta-start-path-card__choose::before { content: "✓ "; }
.ta-start-path-card--government { cursor: default; }
.ta-start-government-options { width: 100%; margin-top: .2rem; padding-top: .9rem; border-top: 1px solid var(--start-line); }
.ta-start-government-options[hidden] { display: none; }
.ta-start-government-options p { margin: 0 0 .7rem; color: var(--start-muted); font: 700 .69rem/1.35 var(--start-mono); letter-spacing: .06em; text-transform: uppercase; }
.ta-start-government-options > div { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.ta-start-government-options button { min-height: 3.15rem; padding: .7rem .55rem; border: 1px solid var(--start-accent); background: var(--start-surface); color: var(--start-text); font: 750 .67rem/1.2 var(--start-mono); text-transform: uppercase; cursor: pointer; }
.ta-start-government-options button:is(:hover, :focus-visible, .is-selected) { background: var(--start-accent); color: #fff; outline: 2px solid color-mix(in srgb, var(--start-accent) 28%, transparent); outline-offset: 2px; }
.ta-start-path-status { min-height: 1.5em; margin: 1.5rem 0 0; color: var(--start-muted); font: 700 .72rem/1.5 var(--start-mono); letter-spacing: .05em; text-transform: uppercase; }

@keyframes ta-start-theme-nudge {
  0%, 8%, 24%, 40%, 100% { box-shadow: none; transform: translateY(0) scale(1); }
  16%, 32% { box-shadow: 0 0 0 .22rem var(--ta-accent-soft), 0 0 1.35rem color-mix(in srgb, var(--ta-accent) 46%, transparent); transform: translateY(-2px) scale(1.06); }
}
.ta-theme-menu__trigger.ta-start-theme-nudge { position: relative; z-index: 2; transform-origin: center; animation: ta-start-theme-nudge 5s ease-in-out 5s infinite; }

.ta-start-skip-link { display: inline-flex; margin-top: .7rem; color: var(--start-accent); font: 750 .72rem/1.4 var(--start-mono); letter-spacing: .06em; text-transform: uppercase; text-underline-offset: .24em; }
.ta-start-skip-link:is(:hover, :focus-visible) { text-decoration-thickness: 2px; outline: none; }
.ta-start-index__path { padding: clamp(3rem, 6vw, 6rem) 0; border-bottom: 1px solid var(--start-line); background: var(--start-surface); }
.ta-start-index__path > .ta-shell > header { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.75rem; }
.ta-start-index__path header h2 { max-width: none; margin-top: .5rem; }
.ta-start-index__path-intro { max-width: 29rem; }
.ta-start-index__path-intro p { margin: 0; color: var(--start-muted); font-size: .96rem; line-height: 1.55; }
.ta-start-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ta-start-card { position: relative; min-height: 17rem; display: grid; grid-template-rows: auto 4.4rem auto 1fr; place-items: center; gap: .8rem; padding: 1.15rem 1.1rem 1.4rem; overflow: hidden; border: 1px solid var(--ta-line-strong, var(--start-line)); background: linear-gradient(155deg, var(--ta-surface-raised, var(--start-surface)), var(--start-surface)); box-shadow: var(--ta-shadow-md, 0 12px 24px rgba(0,0,0,.08)); color: var(--start-text); text-align: center; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ta-start-card::before, .ta-start-card::after { content: ""; position: absolute; width: 14px; height: 14px; pointer-events: none; }
.ta-start-card::before { inset: -1px auto auto -1px; border-top: 2px solid var(--start-accent); border-left: 2px solid var(--start-accent); }
.ta-start-card::after { inset: auto -1px -1px auto; border-right: 2px solid var(--start-accent); border-bottom: 2px solid var(--start-accent); }
.ta-start-card > small { justify-self: start; color: var(--start-muted); font: 700 .68rem/1 var(--start-mono); letter-spacing: .12em; }
.ta-start-card__icon { width: 4.4rem; height: 4.4rem; display: grid; place-items: center; color: var(--start-muted); }
.ta-start-card__icon svg { width: 3.8rem; height: 3.8rem; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.ta-start-card > strong { min-height: 2.4em; display: grid; place-items: center; font: 780 clamp(.85rem, 1.1vw, 1rem)/1.14 Arial, Helvetica, sans-serif; letter-spacing: .035em; text-transform: uppercase; text-wrap: balance; }
.ta-start-card__question { align-self: start; color: var(--start-copy); font-size: .86rem; line-height: 1.42; text-wrap: balance; }
.ta-start-card:hover, .ta-start-card:focus-visible, .ta-start-card[aria-current="true"] { z-index: 1; border-color: color-mix(in srgb, var(--start-accent) 72%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--start-accent) 9%, transparent), var(--start-surface)); box-shadow: var(--ta-shadow-lg, 0 18px 36px rgba(0,0,0,.14)), 0 0 22px color-mix(in srgb, var(--start-accent) 11%, transparent); outline: none; transform: translateY(-4px); }
.ta-start-card:is(:hover, :focus-visible, [aria-current="true"]) .ta-start-card__icon { color: var(--start-accent); }

.ta-start-actions { padding: clamp(2.75rem, 5vw, 4.5rem) 0; border-bottom: 1px solid var(--start-line); background: var(--start-canvas); }
.ta-start-actions .ta-start-step-heading > p:last-child { margin-top: .8rem; font-size: clamp(.92rem, 1.3vw, 1.05rem); line-height: 1.5; }
.ta-start-action-tabs { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.65rem; padding-bottom: .85rem; border-bottom: 1px solid var(--start-line); }
.ta-start-action-tabs button { min-height: 3.2rem; padding: .8rem 1rem; border: 1px solid var(--start-line); background: var(--start-surface); color: var(--start-copy); font: 750 .7rem/1.2 var(--start-mono); letter-spacing: .055em; text-transform: uppercase; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ta-start-action-tabs button:is(:hover, :focus-visible, .is-selected) { border-color: var(--start-accent); background: var(--start-accent); color: #fff; box-shadow: 0 8px 18px color-mix(in srgb, var(--start-accent) 25%, transparent); outline: none; transform: translateY(-2px); }
.ta-start-action-panels { margin-top: 1.35rem; }
.ta-start-action-panel[hidden] { display: none; }
.ta-start-actions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ta-start-action-card { position: relative; min-height: 13rem; display: grid; grid-template-rows: auto auto 1fr auto; gap: .7rem; padding: 1.25rem; overflow: hidden; border: 1px solid var(--start-line); background: var(--start-surface); color: var(--start-text); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ta-start-action-card::after { content: ""; position: absolute; right: -2rem; bottom: -2rem; width: 6rem; height: 6rem; border: 1px solid color-mix(in srgb, var(--start-accent) 24%, transparent); transform: rotate(45deg); }
.ta-start-action-card small { color: var(--start-accent); font: 700 .68rem/1 var(--start-mono); letter-spacing: .12em; }
.ta-start-action-card strong { max-width: 18ch; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.15; text-wrap: balance; }
.ta-start-action-card > span { color: var(--start-copy); font-size: .92rem; line-height: 1.55; }
.ta-start-action-card b { align-self: end; color: var(--start-accent); font: 750 .68rem/1.2 var(--start-mono); letter-spacing: .06em; text-transform: uppercase; }
.ta-start-action-card:is(:hover, :focus-visible) { border-color: var(--start-accent); background: linear-gradient(145deg, color-mix(in srgb, var(--start-accent) 8%, transparent), var(--start-surface)); box-shadow: 0 14px 28px rgba(0,0,0,.13), 0 0 20px color-mix(in srgb, var(--start-accent) 12%, transparent); outline: none; transform: translateY(-4px); }
.ta-start-modal {
  --start-modal-radius: 2px;
  --start-modal-shadow: var(--ta-shadow-xl, 0 28px 80px rgba(0,0,0,.32));
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(.75rem, 4vw, 2.5rem);
}
.ta-start-modal[hidden] { display: none; }
.ta-start-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .72); backdrop-filter: blur(7px); }
.ta-start-modal__panel { position: relative; width: min(92vw, 78rem); height: min(92dvh, 58rem); display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--start-accent) 46%, var(--start-line)); border-top: 3px solid var(--start-accent); border-radius: var(--start-modal-radius); background: var(--start-surface); color: var(--start-text); box-shadow: var(--start-modal-shadow); transform-origin: top left; }
.ta-start-modal__ghost { position: absolute; z-index: 5; inset: -3px -1px -1px; overflow: hidden; background: var(--start-surface); pointer-events: none; }
.ta-start-modal__ghost[hidden] { display: none; }
.ta-start-modal__ghost .ta-start-card { width: 100%; height: 100%; min-height: 0; display: flex; flex-direction: column; justify-content: center; gap: clamp(.8rem, 2.2vh, 1.5rem); padding: clamp(1.5rem, 4vw, 3.5rem); border: 0; box-shadow: none; transform: none; }
.ta-start-modal__ghost .ta-start-card > small { position: absolute; top: clamp(1.5rem, 4vw, 3.5rem); left: clamp(1.5rem, 4vw, 3.5rem); font-size: clamp(.8rem, 1.2vw, 1rem); }
.ta-start-modal__ghost .ta-start-card__icon { flex: 0 0 auto; align-self: center; width: clamp(8rem, 16vw, 14rem); height: clamp(8rem, 16vw, 14rem); color: var(--start-accent); }
.ta-start-modal__ghost .ta-start-card__icon svg { width: 82%; height: 82%; }
.ta-start-modal__ghost .ta-start-card > strong { min-height: 0; font-size: clamp(1.45rem, 3vw, 2.6rem); }
.ta-start-modal__ghost .ta-start-card__question { align-self: center; font-size: clamp(1rem, 1.7vw, 1.35rem); text-align: center; }
.ta-start-modal.is-expanding .ta-start-modal__chrome, .ta-start-modal.is-expanding .ta-start-modal__scroll, .ta-start-modal.is-expanding .ta-start-modal__scrollbar { opacity: 0; }
.ta-start-modal__chrome { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; min-height: 4.7rem; padding: .8rem .9rem .8rem 1.2rem; border-bottom: 1px solid var(--start-line); background: color-mix(in srgb, var(--start-surface) 94%, var(--start-accent)); box-shadow: 0px 5px 20px #000000; }
.ta-start-modal__identity { min-width: 0; }
.ta-start-modal__identity small { display: block; margin-bottom: .2rem; color: var(--start-accent); font: 700 .67rem/1.2 var(--start-mono); letter-spacing: .12em; }
.ta-start-modal__identity h2 { overflow: hidden; margin: 0; font: 780 clamp(.82rem, 1.4vw, 1rem)/1.2 Arial, Helvetica, sans-serif; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.ta-start-modal__actions { display: flex; align-items: center; gap: .45rem; }
.ta-start-modal__actions :is(button, a) { min-height: 2.7rem; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .65rem .8rem; border: 1px solid var(--start-line); background: var(--start-surface); color: var(--start-text); font: 700 .68rem/1 var(--start-mono); letter-spacing: .05em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.ta-start-modal__actions :is(button, a):is(:hover, :focus-visible) { border-color: var(--start-accent); color: var(--start-accent); outline: 2px solid color-mix(in srgb, var(--start-accent) 25%, transparent); outline-offset: 1px; }
.ta-start-modal__actions button:disabled { opacity: .34; cursor: not-allowed; }
.ta-start-modal__close {
  width: 3.35rem;
  height: 3.35rem;
  min-height: 3.35rem !important;
  flex: 0 0 3.35rem;
  padding: 0 !important;
  border-color: color-mix(in srgb, var(--start-accent) 54%, var(--start-line)) !important;
  font: 400 2.25rem/1 Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}
.ta-start-modal__scroll { position: relative; grid-row: 2; grid-column: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: clamp(1.35rem, 4vw, 3.5rem); padding-right: max(clamp(1.35rem, 4vw, 3.5rem), 2.25rem); background: var(--start-surface); scrollbar-width: none; scroll-padding-top: 2rem; }
.ta-start-modal__scroll::-webkit-scrollbar { width: 0; height: 0; }
.ta-start-modal__scrollbar { position: relative; z-index: 4; grid-row: 2; grid-column: 1; align-self: stretch; justify-self: end; width: 16px; height: 100%; overflow: hidden; border-left: 1px solid var(--start-line); background: var(--start-surface-alt); cursor: pointer; touch-action: none; transition: opacity .2s ease; }
.ta-start-modal__scrollbar[hidden] { display: none; }
.ta-start-modal__scrollbar-thumb { position: absolute; top: 0; right: 1px; left: 1px; min-height: 120px; border: 1px solid color-mix(in srgb, var(--start-accent) 88%, var(--start-text)); background: color-mix(in srgb, var(--start-accent) 82%, var(--start-muted)); box-shadow: 0 0 10px color-mix(in srgb, var(--start-accent) 35%, transparent); cursor: grab; touch-action: none; will-change: height, transform; }
.ta-start-modal__scrollbar-thumb:is(:hover, .is-dragging) { background: var(--start-accent); box-shadow: 0 0 16px color-mix(in srgb, var(--start-accent) 58%, transparent); }
.ta-start-modal__scrollbar-thumb.is-dragging { cursor: grabbing; }
.ta-start-modal__loading { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; opacity: 1; background: var(--start-surface); transition: opacity .28s ease; }
.ta-start-modal__loading[hidden] { display: none; }
.ta-start-modal__loading.is-leaving { opacity: 0; pointer-events: none; }
.ta-start-modal__loading > span { position: absolute; left: calc(50% - 5rem + (var(--dot) * 1.08rem)); top: calc(50% - .3rem); width: .6rem; height: .6rem; border-radius: 50%; background: var(--start-accent); opacity: .14; transform: scale(.62); animation: ta-start-dot-line .72s ease-in-out infinite alternate; animation-delay: calc(var(--dot) * -.072s); box-shadow: 0 0 10px color-mix(in srgb, var(--start-accent) 38%, transparent); }
.ta-start-modal__loading.is-error { display: block; inset: 2rem; padding: 2rem; border: 1px solid var(--start-line); color: var(--start-muted); font: 700 .76rem/1.6 var(--start-mono); letter-spacing: .06em; text-transform: uppercase; }
.ta-start-modal__loading.is-error > span { display: none; }
@keyframes ta-start-dot-line {
  0% { opacity: .14; transform: scale(.62); }
  42% { opacity: .32; transform: scale(.74); }
  72% { opacity: .68; transform: scale(.9); }
  100% { opacity: 1; transform: scale(1); }
}
.ta-start-article--modal { width: min(100%, 50rem); margin: 0 auto; opacity: 0; transform: translateY(10px); transition: opacity .28s ease, transform .28s ease; }
.ta-start-article--modal.is-ready { opacity: 1; transform: none; }

@media (max-width: 880px) {
  .ta-start-hero__inner { grid-template-columns: 1fr; }
  .ta-start-hero__number { position: absolute; right: 1rem; top: 4rem; opacity: .3; }
  .ta-start-layout { grid-template-columns: 1fr; }
  .ta-start-sidebar { position: static; max-height: none; }
  .ta-start-sidebar details:not([open]) nav { display: none; }
  .ta-start-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ta-start-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ta-start-actions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 580px) {
  .ta-start-contents nav, .ta-start-pager { grid-template-columns: 1fr; }
  .ta-start-pager__empty { display: none; }
  .ta-start-pager__next { text-align: left; }
  .ta-start-article { font-size: 1.04rem; line-height: 1.72; }
  .ta-start-frame-page { padding-inline: 1rem; }
  .ta-start-index__path > .ta-shell > header { align-items: flex-start; flex-direction: column; }
  .ta-start-index__path > .ta-shell > header > p { text-align: left; }
  .ta-start-path-grid { grid-template-columns: 1fr; }
  .ta-start-path-card { min-height: 22rem; }
  .ta-start-action-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ta-start-action-tabs button:last-child { grid-column: 1 / -1; }
  .ta-start-actions-grid { grid-template-columns: 1fr; }
  .ta-start-action-card { min-height: 11.5rem; }
  .ta-start-grid { grid-template-columns: 1fr; }
  .ta-start-card { min-height: 15rem; }
  .ta-start-modal { padding: 0; }
  .ta-start-modal__panel { width: 100vw; height: 100dvh; border-width: 3px 0 0; border-radius: 0; }
  .ta-start-modal__chrome { grid-template-columns: 1fr; gap: .6rem; min-height: 0; padding: max(.7rem, env(safe-area-inset-top)) .75rem .7rem; }
  .ta-start-modal__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 3.35rem; }
  .ta-start-modal__actions :is(button, a) { min-width: 0; padding-inline: .45rem; }
  .ta-start-modal__actions :is(button, a) span { display: none; }
  .ta-start-modal__close { width: 3.35rem; height: 3.35rem; }
  .ta-start-modal__scroll { padding: 1.25rem 1rem max(2rem, env(safe-area-inset-bottom)); }
  .ta-start-modal__ghost .ta-start-card { padding: 1.35rem; }
  .ta-start-modal__ghost .ta-start-card > small { top: 1.35rem; left: 1.35rem; }
  .ta-start-modal__ghost .ta-start-card__icon { width: clamp(7rem, 32vw, 10rem); height: clamp(7rem, 32vw, 10rem); }
  .ta-start-article--modal h1 { font-size: clamp(2rem, 11vw, 3.2rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ta-start-pager a, .ta-start-article--modal { transition: none; }
  .ta-start-modal__loading > span { animation: none; opacity: .55; }
  .ta-theme-menu__trigger.ta-start-theme-nudge { animation: none; }
}
