/* Empty grid space is neutral, never a colored or raised placeholder. */
html[data-theme] .tiles{background:#fff!important}
html[data-theme=afterhours-fm] .tiles{background:var(--paper)!important}
.hero-line{display:inline-block;position:relative;overflow:visible}
.hero h1>.hero-line:first-child{color:var(--ink)!important}
.hero-actions{display:flex;align-items:center;gap:17px;margin-top:20px}
.hero .hero-actions .text-link{margin-top:0}
.hero-replay{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:19px;color:var(--ink);background:var(--paper);flex-shrink:0}
.orbit-motion{position:absolute;inset:0;transform-origin:center;pointer-events:none}
.orbit-motion svg{width:100%;height:100%;overflow:visible;fill:none;stroke:var(--muted,#46504a);stroke-width:.75}
.orbit-stroke{stroke-dasharray:1;stroke-dashoffset:0;opacity:.65}
.orbit-stroke:last-child{stroke-dasharray:.015 .012}
#reading-progress{position:fixed;top:calc(var(--top) - 2px);inset-inline:0;height:2px;background:var(--accent,#287665);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:32}
.explore-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.motion-toggle{display:flex;align-items:center;gap:6px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:11px;white-space:nowrap}
.motion-toggle[aria-pressed=true]{background:var(--soft,#edf1e9)}
.motion-toggle>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.motion-notice{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.75}
.motion-notice p{margin:0}.motion-notice button{flex-shrink:0;font-size:18px;color:var(--ink)}
@media(max-width:600px){.explore-controls{flex-direction:column;align-items:flex-end;gap:8px}.motion-toggle{padding:6px 9px;font-size:10px}.motion-notice{font-size:11px;align-items:flex-start}.hero-actions{gap:13px}.hero-replay{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){html[data-theme] .orbit-motion{transform:none!important}}
html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion=reduce] .orbit-motion{transform:none!important}
.tile-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;pointer-events:none}
.tool-tile,.tile-main{isolation:isolate}.tile-face,.tool-avatar{transform-origin:center}
html[data-motion=full] :is(.tile-face,.text-link>span,.hero-replay,.category-icon,.tile-check){transition:transform 220ms cubic-bezier(.2,.75,.25,1),opacity 180ms ease}
html[data-motion=full] :is(.primary,.secondary,.export-btn,.saved-nav,.close-btn,.motion-toggle,.preference-field,.search,.select-wrap){transition:box-shadow 200ms ease,border-color 200ms ease,background-color 220ms ease}
html[data-motion=full] .tile-main:active .tile-face{transform:translateY(1px) scale(.96)}
html[data-motion=full] .category-button:hover .category-icon{transform:translateX(3px)}
html[data-motion=full] :is(.primary,.secondary,.export-btn,.saved-nav,.close-btn,.motion-toggle):active{box-shadow:inset 0 0 0 2px color-mix(in srgb,currentColor 22%,transparent)}
html[data-motion=full] :is(.search,.select-wrap,.preference-field):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus,#527b5a) 15%,transparent)}
html[data-motion=full] .text-link:hover>span{transform:translate(3px,-2px)}
html[data-motion=full] .hero-replay:hover{transform:rotate(35deg)}
@media(hover:hover) and (pointer:fine){html[data-motion=full] .tool-tile:hover .tile-face{transform:translateY(-4px)}html[data-motion=full] .tool-tile:hover .tile-check{transform:scale(1.1)}}
.detail-tabs{position:relative}
.detail-tabs .tab-indicator{position:absolute;bottom:0;left:0;height:3px;width:1px;background:var(--accent,#385c36);transform-origin:left;pointer-events:none;border-radius:2px}
html[data-theme] .detail-tabs button[aria-selected=true]{border-bottom-color:transparent!important}
@keyframes atlas-backdrop{from{opacity:.35}to{opacity:1}}
html[data-motion=full] dialog[open]::backdrop{animation:atlas-backdrop 240ms ease-out}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.list-face{display:flex;align-items:center;gap:12px;min-width:0;pointer-events:none}
