/*
 * Thought.global homepage, the mobile refinement (thought/home/homey.php, owner brief 30 Oct 2026).
 * Every rule sits inside a phone or small-tablet media query, so desktop never matches one.
 *   1. the menu as a night sky (≤1023px)       2. the hero shows its world (≤560px)
 *   3. the phone thread (≤760px)               4. the thinker rail (≤560px)
 *   5. reveals with a little more presence (≤760px)
 * Palette and faces are the homepage's own (home.css tokens); the menu repeats them on the nav, so it can travel.
 */

/* What homey.js adds exists at every width; it is shown only inside its own media query below. */
.thy-sky, .thy-knot, .thy-nav-thread, .thy-thread, .thy-rail-bar { display: none; }

/* ======================================================================= 1. the menu: a night sky */
@media (max-width: 1023px) {
	body.tho-homey .sh-thought-nav.thy-nav {
		--thy-night: #060a15; --thy-night-1: #0b1426; --thy-gold: #c9a35e; --thy-gold-hi: #e3c58c;
		--thy-bone: #f1ede4; --thy-bone-2: #d2cbbb; --thy-bone-3: #a6aec0; --thy-moon: #f3ead2;
		--thy-display: "Thought Display", "Iowan Old Style", Baskerville, Georgia, serif;
		--thy-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		--thy-ease: cubic-bezier(.2, .7, .2, 1); --thy-spring: cubic-bezier(.34, 1.56, .64, 1);
	}
	/* the page rests while the sky is open; only <html> is locked, so the sticky bar keeps its place (a locked <body> would become its scroller) */
	html.thy-menu-open { overflow: hidden !important; }
	html.thy-menu-open body.tho-homey .sh-thought-nav.thy-nav { z-index: 2147483000; }

	/* the button: a soft gold rim while the sky is open */
	body.tho-homey .sh-thought-nav.thy-nav.is-enhanced .sh-thought-nav-toggle { border-radius: 999px; padding-inline: 16px; transition: border-color .3s, box-shadow .3s, background-color .3s; }
	body.tho-homey .sh-thought-nav.thy-nav.is-open .sh-thought-nav-toggle { border-color: var(--thy-gold-hi); background: rgba(227, 197, 140, .1); box-shadow: 0 0 0 4px rgba(227, 197, 140, .1), 0 0 22px rgba(227, 197, 140, .25); color: var(--thy-gold-hi); }

	/* the sheet: everything below the bar, on its own scroll */
	body.tho-homey .sh-thought-nav.thy-nav .sh-thought-nav-panel {
		position: absolute; left: 0; right: 0; top: 100%;
		height: var(--thy-sheet-h, calc(100vh - 64px)); height: var(--thy-sheet-h, calc(100dvh - 64px));
		display: flex; flex-direction: column; gap: 0;
		margin: 0; padding: 18px max(22px, env(safe-area-inset-left)) calc(150px + env(safe-area-inset-bottom));
		overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
		background: radial-gradient(130% 62% at 88% 0%, #1d2b4d 0%, #0b1426 52%, #060a15 100%);
		border-top: 1px solid rgba(227, 197, 140, .16);
	}
	body.tho-homey .sh-thought-nav.thy-nav.is-enhanced:not(.is-open) .sh-thought-nav-panel { display: none; }

	/* the sky stays put while the list scrolls over it */
	body.tho-homey .thy-nav .thy-sky { display: block; position: sticky; top: -18px; z-index: 0; flex: none; height: var(--thy-sheet-h, 100vh); margin: -18px calc(-1 * max(22px, env(safe-area-inset-left))) calc(-1 * var(--thy-sheet-h, 100vh) + 18px); pointer-events: none; overflow: hidden; }
	body.tho-homey .thy-nav .thy-stars i { position: absolute; left: var(--x); top: var(--y); width: var(--s); height: var(--s); border-radius: 50%; background: #fff8e6; opacity: .7; }
	body.tho-homey .thy-nav .thy-moon { position: absolute; right: 20px; top: 16px; width: 60px; height: 60px; }
	body.tho-homey .thy-nav .thy-moon svg { display: block; overflow: visible; }
	body.tho-homey .thy-nav .thy-moon-halo { fill: rgba(243, 234, 210, .07); }
	body.tho-homey .thy-nav .thy-moon-body { fill: var(--thy-moon); }
	body.tho-homey .thy-nav .thy-falling { position: absolute; left: 30%; top: 14%; width: 110px; height: 1.5px; border-radius: 2px; background: linear-gradient(90deg, rgba(255, 250, 235, 0), rgba(255, 250, 235, .9)); opacity: 0; transform: rotate(18deg); transform-origin: 100% 50%; }
	body.tho-homey .thy-nav .thy-land { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 130px; }
	body.tho-homey .thy-nav .thy-hill { fill: #070b14; }
	body.tho-homey .thy-nav .thy-hill--far { fill: #0d1528; }
	body.tho-homey .thy-nav .thy-obs path, body.tho-homey .thy-nav .thy-tree { fill: #04060c; }
	body.tho-homey .thy-nav .thy-obs-slit { fill: #e8c27a; }
	body.tho-homey .thy-nav .thy-obs-glow { fill: rgba(232, 194, 122, .16); }

	/* the list */
	body.tho-homey .thy-nav .sh-thought-nav-links { position: relative; z-index: 1; display: block; margin: 0; padding: 0; }
	body.tho-homey .thy-nav .sh-thought-nav-links > li { border: 0 !important; margin: 0; }
	body.tho-homey .thy-nav .sh-thought-nav-group-label { display: flex; align-items: center; gap: 10px; padding: 18px 0 6px 6px; color: var(--thy-gold-hi) !important; font: 750 11px/1 var(--thy-sans); letter-spacing: .22em; }
	body.tho-homey .thy-nav .sh-thought-nav-links > li:first-child .sh-thought-nav-group-label { padding-top: 4px; }
	body.tho-homey .thy-nav .sh-thought-nav-group-label::before { content: ""; width: 9px; height: 9px; flex: none; margin-left: 9px; background: var(--thy-gold-hi); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }
	body.tho-homey .thy-nav .sh-thought-nav-menu { display: block !important; margin: 0; padding: 0 0 4px; background: transparent !important; box-shadow: none !important; border: 0 !important; }
	body.tho-homey .thy-nav .sh-thought-nav-menu::before { display: none !important; }

	body.tho-homey .thy-nav .sh-thought-nav-menu a,
	body.tho-homey .thy-nav .sh-thought-nav-links > li > a {
		position: relative; display: grid !important; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 8px; row-gap: 1px;
		min-height: 58px; margin: 0; padding: 9px 10px 9px 6px !important;
		border: 0; border-radius: 16px; background: transparent !important; box-shadow: none !important;
		color: var(--thy-bone) !important; font: 400 23px/1.15 var(--thy-display) !important; font-variation-settings: "SOFT" 70, "opsz" 72; letter-spacing: -.005em;
		text-decoration: none !important; -webkit-tap-highlight-color: transparent;
		transition: background-color .25s var(--thy-ease);
	}
	body.tho-homey .thy-nav .sh-thought-nav-menu a strong { grid-column: 2; color: var(--thy-bone) !important; font: inherit !important; font-variation-settings: inherit; transition: transform .3s var(--thy-ease); }
	body.tho-homey .thy-nav .sh-thought-nav-menu a span:not(.thy-knot) { grid-column: 2; color: var(--thy-bone-3) !important; font: 450 13px/1.35 var(--thy-sans) !important; letter-spacing: .01em; transition: transform .3s var(--thy-ease); }
	body.tho-homey .thy-nav .sh-thought-nav-links > li:not(.sh-thought-nav-group) { margin-top: 2px; }
	body.tho-homey .thy-nav .thy-knot { display: block; grid-column: 1; grid-row: 1 / span 2; justify-self: center; position: relative; z-index: 1; width: 13px; height: 13px; border-radius: 50%; background: var(--thy-night-1); box-shadow: 0 0 0 1.5px var(--thy-gold), 0 0 0 5px rgba(6, 10, 21, .85); transition: background-color .25s, box-shadow .3s var(--thy-ease), transform .3s var(--thy-spring); }
	body.tho-homey .thy-nav .thy-knot::after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 1px solid rgba(227, 197, 140, .7); opacity: 0; transform: scale(.4); }
	body.tho-homey .thy-nav :is(.sh-thought-nav-menu a, .sh-thought-nav-links > li > a):is(:hover, :focus-visible, :active) { background: rgba(241, 237, 228, .06) !important; }
	body.tho-homey .thy-nav :is(.sh-thought-nav-menu a, .sh-thought-nav-links > li > a):is(:hover, :focus-visible, :active) .thy-knot,
	body.tho-homey .thy-nav :is(.sh-thought-nav-menu a, .sh-thought-nav-links > li > a)[aria-current="page"] .thy-knot { background: var(--thy-gold-hi); box-shadow: 0 0 0 1.5px var(--thy-gold-hi), 0 0 0 5px rgba(6, 10, 21, .85), 0 0 18px 4px rgba(243, 214, 150, .55); transform: scale(1.15); }
	body.tho-homey .thy-nav :is(.sh-thought-nav-menu a, .sh-thought-nav-links > li > a)[aria-current="page"] { box-shadow: none !important; }
	body.tho-homey .thy-nav :is(.sh-thought-nav-menu a, .sh-thought-nav-links > li > a):focus-visible { outline: 2px solid var(--thy-gold-hi) !important; outline-offset: 0; }

	/* the thread behind the stars */
	body.tho-homey .thy-nav .thy-nav-thread { display: block; position: absolute; left: 0; top: 0; z-index: 0; overflow: visible; pointer-events: none; }
	body.tho-homey .thy-nav .thy-nav-thread path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
	body.tho-homey .thy-nav .thy-nav-base { stroke: rgba(201, 163, 94, .38); stroke-width: 1.2; stroke-dasharray: .5 6; }
	body.tho-homey .thy-nav .thy-nav-glow { stroke: rgba(227, 197, 140, .2); stroke-width: 7; }
	body.tho-homey .thy-nav .thy-nav-line { stroke: var(--thy-gold-hi); stroke-width: 1.6; }

	/* search: a quiet field under the sky */
	body.tho-homey .thy-nav .sh-thought-nav-search { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: 26px 0 0; }
	body.tho-homey .thy-nav .sh-thought-nav-search input { height: 50px !important; padding: 0 18px !important; border: 1px solid rgba(241, 237, 228, .26) !important; border-right: 0 !important; border-radius: 999px 0 0 999px !important; background: rgba(6, 10, 21, .55) !important; color: var(--thy-bone) !important; font: 500 16px var(--thy-sans) !important; }
	body.tho-homey .thy-nav .sh-thought-nav-search input::placeholder { color: var(--thy-bone-3); }
	body.tho-homey .thy-nav .sh-thought-nav-search button { height: 50px !important; padding: 0 20px !important; border: 1px solid var(--thy-gold) !important; border-radius: 0 999px 999px 0 !important; background: var(--thy-gold) !important; color: var(--thy-night) !important; font: 750 14px var(--thy-sans) !important; }
}
@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
	/* opening: the sky fades up, the thread draws down through the destinations and each star lights as it arrives */
	body.tho-homey .thy-nav.is-open .sh-thought-nav-panel { animation: thy-sheet .32s var(--thy-ease) both; }
	body.tho-homey .thy-nav.is-open .thy-stars i { animation: thy-twinkle var(--p) ease-in-out var(--d) infinite; }
	body.tho-homey .thy-nav.is-open .thy-moon { animation: thy-moon 1.2s var(--thy-ease) both, thy-moon-glow 6s ease-in-out 1.2s infinite; }
	body.tho-homey .thy-nav.is-open .thy-falling { animation: thy-fall 7s ease-in 1.4s infinite; }
	body.tho-homey .thy-nav.is-open .thy-land { animation: thy-land .9s var(--thy-ease) .1s both; }
	body.tho-homey .thy-nav.is-open .thy-obs-slit { animation: thy-slit 4s ease-in-out 1s infinite; }
	body.tho-homey .thy-nav.is-open .sh-thought-nav-group-label,
	body.tho-homey .thy-nav.is-open .sh-thought-nav-links > li:not(.sh-thought-nav-group) > a { animation: thy-row .55s var(--thy-ease) calc(var(--thy-i, 0) * 70ms + 80ms) both; }
	body.tho-homey .thy-nav.is-open .sh-thought-nav-menu > li { animation: thy-row .55s var(--thy-ease) calc(var(--thy-i, 0) * 70ms + var(--thy-j, 0) * 55ms + 130ms) both; }
	body.tho-homey .thy-nav.is-open .sh-thought-nav-search { animation: thy-row .55s var(--thy-ease) .6s both; }
	body.tho-homey .thy-nav .thy-nav-line, body.tho-homey .thy-nav .thy-nav-glow { stroke-dasharray: var(--thy-len, 1200); stroke-dashoffset: var(--thy-len, 1200); }
	body.tho-homey .thy-nav.is-drawn .thy-nav-line, body.tho-homey .thy-nav.is-drawn .thy-nav-glow { stroke-dashoffset: 0; transition: stroke-dashoffset 1.3s cubic-bezier(.45, .05, .25, 1) .12s; }
	body.tho-homey .thy-nav.is-open:not(.is-drawn) .thy-knot { transform: scale(.2); background: transparent; }
	body.tho-homey .thy-nav.is-drawn .thy-knot { animation: thy-knot .7s var(--thy-spring) var(--thy-t, .2s) both; }
	body.tho-homey .thy-nav.is-drawn .thy-knot::after { animation: thy-ring 1s var(--thy-ease) var(--thy-t, .2s) both; }
	body.tho-homey .thy-nav :is(.sh-thought-nav-menu a, .sh-thought-nav-links > li > a):is(:hover, :focus-visible) :is(strong, span:not(.thy-knot)) { transform: translateX(4px); }
	body.tho-homey .thy-nav .is-tapped .thy-knot::after { animation: thy-ring .7s var(--thy-ease) both !important; }
	body.tho-homey .thy-nav.is-open .sh-thought-nav-links > li:not(.sh-thought-nav-group) > a { font-variation-settings: "SOFT" 70, "opsz" 72; }
}
@keyframes thy-sheet { from { opacity: 0; } to { opacity: 1; } }
@keyframes thy-row { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes thy-twinkle { 0%, 100% { opacity: .85; transform: scale(1); } 50% { opacity: .2; transform: scale(.7); } }
@keyframes thy-moon { from { opacity: 0; transform: translate(-14px, 10px) rotate(-12deg); } to { opacity: 1; transform: none; } }
@keyframes thy-moon-glow { 0%, 100% { filter: drop-shadow(0 0 6px rgba(243, 234, 210, .25)); } 50% { filter: drop-shadow(0 0 14px rgba(243, 234, 210, .45)); } }
@keyframes thy-fall { 0%, 82% { opacity: 0; transform: rotate(18deg) translateX(0) scaleX(.3); } 86% { opacity: 1; } 95% { opacity: 0; transform: rotate(18deg) translateX(170px) scaleX(1); } 100% { opacity: 0; transform: rotate(18deg) translateX(170px) scaleX(1); } }
@keyframes thy-land { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes thy-slit { 0%, 100% { opacity: .7; } 50% { opacity: 1; } }
@keyframes thy-knot { 0% { transform: scale(.2); background: transparent; } 60% { transform: scale(1.45); background: var(--thy-gold-hi); } 100% { transform: scale(1); } }
@keyframes thy-ring { 0% { opacity: .9; transform: scale(.4); } 100% { opacity: 0; transform: scale(1.5); } }

/* ======================================================================= 2. the hero shows its world */
@media (max-width: 560px) {
	body.tho-homey .tho .tho-hero {
		--tho-land: .8;
		min-height: calc(100vh - var(--thy-nav-h, 64px)); min-height: calc(100svh - var(--thy-nav-h, 64px));
		box-sizing: border-box; padding-top: 90px; padding-bottom: 214px;
	}
	body.tho-homey .tho .tho-hero h1 { font-size: clamp(2.2rem, 1.3rem + 4.4vw, 2.7rem); line-height: 1; }
	body.tho-homey .tho .tho-hero .tho-eyebrow { margin-bottom: 12px; font-size: 11.5px; }
	body.tho-homey .tho .tho-hero .tho-lead { margin-top: 14px; font-size: 16px; line-height: 1.5; }
	body.tho-homey .tho .tho-hero .tho-actions { flex-wrap: nowrap; gap: 10px; margin-top: 20px; }
	body.tho-homey .tho .tho-hero .tho-actions .tho-btn { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 0 12px; font-size: 14.5px; }
	body.tho-homey .tho .tho-hero .tho-record { gap: 6px 16px; margin-top: 18px; padding-top: 12px; }
	body.tho-homey .tho .tho-hero .tho-record li { gap: 6px; font-size: 13px; }
	body.tho-homey .tho .tho-hero .tho-record b { font-size: 17px; }
	body.tho-homey .tho .tho-hero .tho-record .tho-glyph { width: 13px; height: 13px; }
	body.tho-homey .tho .tho-hero .tho-fine { margin-top: 10px; font-size: 12px; line-height: 1.45; }

	/* the cast: bigger, and placed so nobody stands on anyone */
	body.tho-homey .tho .tho-sky .tho-l-bl, body.tho-homey .tho .tho-sky .tho-l-br { transform: scale(.8); }
	body.tho-homey .tho .tho-sky .tho-l-far { transform: scale(.56); }
	body.tho-homey .tho .tho-sky .tho-tree { transform: translate(-106px, -72px) scale(.98); }
	body.tho-homey .tho .tho-ground--bl { display: block; }
	body.tho-homey .tho .tho-actor--walker { transform: translate(-60px, -66px); }
}
@media (max-width: 374px) {
	body.tho-homey .tho .tho-hero { --tho-land: .7; padding-bottom: 190px; }
	body.tho-homey .tho .tho-sky .tho-l-bl, body.tho-homey .tho .tho-sky .tho-l-br { transform: scale(.7); }
	body.tho-homey .tho .tho-sky .tho-tree { transform: translate(-118px, -72px) scale(.95); }
}
@media (max-width: 359px) {
	/* side by side while they fit (larger text sizes wrap them) */
	body.tho-homey .tho .tho-hero .tho-actions { flex-wrap: wrap; gap: 8px; }
	body.tho-homey .tho .tho-hero .tho-actions .tho-btn { flex: 1 1 auto; padding: 0 9px; font-size: 13.5px; }
	body.tho-homey .tho .tho-hero .tho-lead { font-size: 15px; }
}
@media (max-width: 560px) and (prefers-reduced-motion: no-preference) {
	/* the lantern walker and dog cross the foreground of a phone, not a desktop's far field */
	.tho-js body.tho-homey .tho .tho-hero .tho-actor--walker { animation: thy-walker 46s linear -12s infinite; }
}
@keyframes thy-walker { 0% { transform: translate(-60px, -66px); opacity: 0; } 3% { opacity: 1; } 50% { transform: translate(calc(62.5vw), -63px); } 94% { transform: translate(calc(125vw + 20px), -60px); opacity: 1; } 97%, 100% { transform: translate(calc(125vw + 60px), -60px); opacity: 0; } }

/* ======================================================================= 3. the phone thread */
@media (max-width: 760px) {
	body.tho-homey .thw.thy-has-thread .thy-thread { display: block; position: absolute; left: 0; top: -80px; z-index: 2; width: 100%; pointer-events: none; }
	body.tho-homey .thw .thy-thread svg { position: absolute; left: 0; top: 0; overflow: visible; }
	body.tho-homey .thw .thy-thread path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
	body.tho-homey .thw .thy-thread-base { stroke: rgba(201, 163, 94, .5); stroke-width: 1.2; stroke-dasharray: .5 6; }
	body.tho-homey .thw .thy-thread-lit { position: absolute; left: 0; top: 0; width: 100%; overflow: hidden; }
	body.tho-homey .thw .thy-thread-glow { stroke: rgba(227, 197, 140, .24); stroke-width: 6; }
	body.tho-homey .thw .thy-thread-line { stroke: var(--tho-gold-hi); stroke-width: 1.6; }
	body.tho-homey .thw .thy-thread-head { position: absolute; left: 0; top: 0; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #fff4d6; box-shadow: 0 0 0 3px rgba(227, 197, 140, .3), 0 0 14px 5px rgba(243, 214, 150, .55); opacity: 0; transition: opacity .3s; will-change: transform; }
	/* the observatory door: the thread's last star lights like the seals */
	body.tho-homey .thw [data-thw-final].is-lit { filter: drop-shadow(0 0 8px rgba(243, 214, 150, .8)); }
	body.tho-homey .thw .thw-seal { transition: box-shadow .6s var(--tho-ease), transform .6s var(--tho-spring); }
	body.tho-homey .thw .thw-seal.is-lit { transform: translate(-50%, -50%) scale(1.08); }
}
@media print { body.tho-homey .thw .thy-thread { display: none !important; } }
html:not(.tho-js) body.tho-homey .thw .thy-thread { display: none !important; }

/* ======================================================================= 4. the thinker rail: one row of equal cards */
@media (max-width: 560px) {
	body.tho-homey .thw .thw-orrery {
		--thy-card: 150px;
		display: flex; align-items: stretch; gap: 12px; max-width: none; aspect-ratio: auto;
		margin: 4px calc(-1 * var(--tho-gutter)) 0; padding: 10px var(--tho-gutter) 16px;
		overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--tho-gutter);
		scrollbar-width: none;
		-webkit-mask: linear-gradient(90deg, #000 calc(100% - 36px), transparent); mask: linear-gradient(90deg, #000 calc(100% - 36px), transparent);
	}
	body.tho-homey .thw .thw-orrery::-webkit-scrollbar { display: none; }
	body.tho-homey .thw .thw-planets { display: contents; }
	body.tho-homey .thw .thw-today,
	body.tho-homey .thw .thw-planet, body.tho-homey .thw .thw-planet--outer {
		position: relative; left: auto; top: auto; flex: 0 0 var(--thy-card); width: var(--thy-card); margin: 0; padding: 0; transform: none;
		border: 1px solid rgba(201, 163, 94, .26); border-radius: 18px;
		background: linear-gradient(180deg, rgba(29, 43, 77, .55), rgba(6, 10, 21, .5));
		scroll-snap-align: start;
	}
	body.tho-homey .thw .thw-planet a, body.tho-homey .thw .thw-today {
		display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 12px 16px; text-align: center; border-radius: 18px;
	}
	body.tho-homey .thw .thw-planet a { height: 100%; box-sizing: border-box; }
	/* one portrait size for everyone, today's thinker included */
	body.tho-homey .thw .thw-planet img, body.tho-homey .thw .thw-planet-blank, body.tho-homey .thw .thw-today img {
		flex: none; width: 96px; height: 96px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; transform: none;
		box-shadow: 0 0 0 2px var(--tho-night-1), 0 0 0 3.5px rgba(201, 163, 94, .6); filter: saturate(.85) brightness(.95);
	}
	body.tho-homey .thw .thw-today img { box-shadow: 0 0 0 2px var(--tho-night-1), 0 0 0 4px var(--tho-gold), 0 0 30px 4px rgba(243, 234, 210, .22); filter: none; }
	body.tho-homey .thw .thw-plate { position: static; display: grid; gap: 3px; justify-items: center; margin: 0; padding: 0; border: 0; background: none; text-align: center; white-space: normal; opacity: 1; transform: none; }
	body.tho-homey .thw .thw-plate::before { display: none; }
	body.tho-homey .thw .thw-plate b { color: var(--tho-bone); font: 450 16px/1.2 var(--tho-display); }
	body.tho-homey .thw .thw-plate small { display: block; color: var(--tho-bone-3); font: 500 11.5px/1.35 var(--tho-sans); }
	body.tho-homey .thw .thw-planet a:is(:hover, :focus-visible) img { transform: scale(1.04); filter: none; }
	body.tho-homey .thw .thw-planet a:focus-visible { outline: 2px solid var(--tho-gold-hi); outline-offset: 2px; }
	/* today's thinker: first, gold-ringed, with a badge rather than a bigger frame */
	body.tho-homey .thw .thw-today { order: -1; border-color: rgba(227, 197, 140, .6); background: radial-gradient(120% 80% at 50% 0%, rgba(201, 163, 94, .18), transparent 70%), linear-gradient(180deg, rgba(29, 43, 77, .7), rgba(6, 10, 21, .55)); box-shadow: 0 14px 30px -18px rgba(227, 197, 140, .45); }
	body.tho-homey .thw .thw-today figcaption { display: grid; justify-items: center; gap: 3px; }
	body.tho-homey .thw .thw-today small { order: -1; margin: 0 0 2px; padding: 3px 8px; border-radius: 999px; background: rgba(227, 197, 140, .14); color: var(--tho-gold-hi); font: 750 9.5px/1.2 var(--tho-sans); letter-spacing: .14em; }
	body.tho-homey .thw .thw-today b { font: 450 16px/1.2 var(--tho-display); }
	body.tho-homey .thw .thw-today-sum { display: none; }
	body.tho-homey .thw .thw-today-actions { flex-direction: column; gap: 8px; margin-top: 6px; }
	body.tho-homey .thw .thw-today-actions a { font-size: 12.5px; line-height: 1.3; }
	body.tho-homey .thw .thw-today-actions a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
	body.tho-homey .thw .thw-today-actions .tho-mini { position: relative; z-index: 1; }
	/* where you are along the row */
	body.tho-homey .thw .thy-rail-bar { display: block; position: relative; height: 2px; margin: 2px auto 0; width: min(160px, 46%); border-radius: 2px; background: rgba(201, 163, 94, .2); overflow: hidden; }
	body.tho-homey .thw .thy-rail-bar[hidden] { display: none; }
	body.tho-homey .thw .thy-rail-bar span { position: absolute; left: 0; top: 0; height: 100%; border-radius: 2px; background: var(--tho-gold-hi); box-shadow: 0 0 8px rgba(243, 214, 150, .6); }
}

/* ======================================================================= 5. reveals with a little more presence */
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
	body.tho-homey .thw .thy-armed.thy-rise, body.tho-homey .thw .thy-armed.thy-bloom { opacity: .001; translate: 0 36px; }
	body.tho-homey .thw .thy-armed.thy-bloom { scale: .94; }
	body.tho-homey .thw .thy-armed.thy-rise.thy-in, body.tho-homey .thw .thy-armed.thy-bloom.thy-in { opacity: 1; translate: 0 0; scale: 1; transition: opacity .9s var(--tho-ease), translate 1.1s var(--tho-ease), scale 1.2s var(--tho-ease); }
	body.tho-homey .thw .thy-armed.thy-lines > *, body.tho-homey .thw .thy-armed.thy-list > :is(ul, ol) > li, body.tho-homey .thw .thy-armed:is(ul, ol).thy-list > li { opacity: .001; translate: 0 26px; }
	body.tho-homey .thw .thy-armed.thy-lines.thy-in > *, body.tho-homey .thw .thy-armed.thy-list.thy-in > :is(ul, ol) > li, body.tho-homey .thw .thy-armed:is(ul, ol).thy-list.thy-in > li { opacity: 1; translate: 0 0; transition: opacity .8s var(--tho-ease) calc(var(--thy-i, 0) * 110ms), translate 1s var(--tho-ease) calc(var(--thy-i, 0) * 110ms); }
	/* the gold title words glint once as they land */
	body.tho-homey .thw .thy-armed.thy-lines.thy-in .thw-title em { animation: thy-glint 1.6s var(--tho-ease) .35s both; }
	/* seals arrive with a spring as the thread reaches them */
	body.tho-homey .thw .thw-seal.is-lit .thw-seal-n { animation: thy-seal .8s var(--tho-spring) both; }
}
@keyframes thy-glint { 0% { text-shadow: 0 0 0 rgba(243, 214, 150, 0); } 40% { text-shadow: 0 0 18px rgba(243, 214, 150, .65); } 100% { text-shadow: 0 0 0 rgba(243, 214, 150, 0); } }
@keyframes thy-seal { 0% { transform: scale(.6); } 100% { transform: scale(1); } }
@media print {
	body.tho-homey .thw .thy-armed, body.tho-homey .thw .thy-armed * { opacity: 1 !important; translate: none !important; scale: none !important; }
}
