/* Product adapter only. Shared shell, auth and preference implementations remain owned by Portal. */
body.portal-home {background:#f6f2e8}
html[data-theme="dark"] body.portal-home {background:#10231d}
body.portal-home .glow {display:none}
body.portal-home :is(.ecosystem-header,.ecosystem-nav) {background:#f6f2e8f2}
html[data-theme="dark"] body.portal-home :is(.ecosystem-header,.ecosystem-nav) {background:#10231df2}
body.portal-home .page {max-width:none;width:100%;padding:0;margin:0}
body.portal-home #content {padding:0;max-width:none;width:100%}
body.portal-home .selene-home {--home-offset:0px;font:16px/1.5 'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--bg);overflow-wrap:anywhere}
body.portal-home .selene-home *,body.portal-home .selene-home *::before,body.portal-home .selene-home *::after {box-sizing:border-box}
body.portal-home .selene-home [hidden] {display:none!important}
body.portal-home .selene-home :is(h1,h2,h3,p) {margin:0}
body.portal-home .selene-home :is(h1,h2,h3) {color:var(--ink);line-height:1.05;letter-spacing:-.055em}
body.portal-home .selene-home :is(button,input) {font:inherit;color:inherit}
body.portal-home .selene-home button {cursor:pointer}
body.portal-home .selene-home a {color:inherit;text-decoration:none}
body.portal-home .selene-home svg {display:block}
body.portal-home .selene-home em {font-family:'ET Literata',Georgia,serif;font-weight:500}
body.portal-home .selene-home :is(a,button,input):focus-visible {outline:3px solid var(--focus-general);outline-offset:4px}
body.portal-home .selene-home :is(button,a,input) {touch-action:manipulation}
body.portal-home .selene-home .hero-sticky {top:var(--home-offset)}
body.portal-home .selene-home .hero-top h1 {line-height:1.02;font-size:clamp(50px,7.1vw,112px)}
body.portal-home .selene-home .hero-top h1 em {color:#53755c}
body.portal-home .selene-home .hero-lead {margin:22px auto 19px}
body.portal-home .selene-home .hero-top .button {color:var(--on-action);background:var(--action)}
body.portal-home .selene-home .hero-bottom {color:var(--muted)}
body.portal-home .selene-home .projects {scroll-margin-top:24px}
body.portal-home .selene-home .section h2,body.portal-home .selene-home #daily-title {font-size:clamp(38px,4.3vw,66px);line-height:1.08;font-weight:560;letter-spacing:-.055em}
body.portal-home .selene-home .project-context {color:var(--muted);font-size:13px;margin-top:16px}
body.portal-home .selene-home .section-head {align-items:center}
body.portal-home .selene-home .scene-controls {display:flex;gap:12px;flex-wrap:wrap}
body.portal-home .selene-home :is(.scene-controls button,#resetSearch) {min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:13px}
body.portal-home .selene-home .project-tools {margin-bottom:28px;align-items:end;flex-direction:row;flex-wrap:wrap}
body.portal-home .selene-home .search {display:block;height:auto;padding:0;border:0;background:none;flex:1;min-width:220px;max-width:640px}
body.portal-home .selene-home .search span {display:block;color:var(--muted);font-size:13px;margin-bottom:9px}
body.portal-home .selene-home .search input {width:100%;height:48px;padding:0 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:16px;color:var(--ink)}
body.portal-home .selene-home #projectCount {font-size:13px;color:var(--muted);min-height:44px;display:flex;align-items:center}
/* Dynamic permitted catalogues may have any count/order. Never leave fixed prototype row holes. */
body.portal-home .selene-home .project-grid {grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(310px,auto);grid-auto-flow:row}
body.portal-home .selene-home .project {display:block;grid-column:span 2;min-width:0;border-color:var(--line);background:var(--surface);color:var(--ink)}
body.portal-home .selene-home .project-featured {grid-column:span 3;background:#e9e9d8}
body.portal-home .selene-home .project-subka {background:#e4ece1}
body.portal-home .selene-home .project-people {grid-column:span 1;background:var(--panel-tint)}
body.portal-home .selene-home .project .featured-copy {margin-top:24px;padding-bottom:140px;position:relative;z-index:2}
body.portal-home .selene-home .project h3 {font-size:25px;font-weight:600;margin:0;line-height:1.15}
body.portal-home .selene-home .project-featured h3 {font-size:32px}
body.portal-home .selene-home .project-people h3 {font-size:22px}
body.portal-home .selene-home .project p {color:var(--muted);margin-top:10px;font-size:13px;max-width:32ch}
body.portal-home .selene-home .card-top {min-height:25px;gap:12px}
body.portal-home .selene-home .project-label {color:var(--muted);font-size:10px;letter-spacing:.08em}
body.portal-home .selene-home .card-bottom {color:var(--ink);font-size:12px}
body.portal-home .selene-home .project-small .card-art {position:absolute;bottom:56px;right:20px;width:calc(100% - 40px);height:70px}
body.portal-home .selene-home article.project {border-style:dashed}
body.portal-home .selene-home article.project:hover {transform:none;box-shadow:none;border-color:var(--line)}
body.portal-home .selene-home .catalog-note {color:var(--muted);font-size:12px;margin-top:24px}
body.portal-home .selene-home .empty {padding:32px;background:var(--surface);color:var(--ink)}
body.portal-home .selene-home .empty p {margin-top:14px}
body.portal-home .selene-home .empty a {text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
body.portal-home .selene-home .journey-sticky {top:var(--home-offset)}
body.portal-home .selene-home .journey :is(h2,p) {color:inherit}
body.portal-home .selene-home .journey-stops>div {min-width:0}
body.portal-home .selene-home .journey-bottom a {min-height:44px}
body.portal-home .selene-home .public-note>p {max-width:70ch;color:var(--muted);margin:24px 0 36px}
body.portal-home .selene-home .login-wrap {max-width:600px;margin:0 auto}
body.portal-home .selene-home #authBox h2 {font-size:28px;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px}
body.portal-home .selene-home .closing h2 {margin-bottom:28px}
body.portal-home .selene-home .closing .button {background:var(--action);color:var(--on-action)}
body.portal-home .selene-home[data-entry="daily"] :is(.hero-stage,.journey,.closing) {display:none}
body.portal-home .selene-home[data-entry="daily"] .projects {padding-top:48px}
html[data-theme="dark"] body.portal-home .selene-home .hero-top {background:transparent;text-shadow:none}
html[data-theme="dark"] body.portal-home .selene-home .hero-top h1 em {color:#a1dbb7}
html[data-theme="dark"] body.portal-home .selene-home .hero-lead {background:radial-gradient(ellipse,#10231ddd 15%,#10231d00 74%);color:var(--muted)}
html[data-theme="dark"] body.portal-home .selene-home .scene img {filter:brightness(.65) saturate(.8)}
html[data-theme="dark"] body.portal-home .selene-home :is(.project,.project-featured,.project-subka,.closing) {background:var(--surface)}
html[data-theme="dark"] body.portal-home .selene-home .card-art {stroke:#a1c8a9}
html[data-theme="dark"] body.portal-home .selene-home .card-art :is(.message-one,.message-two,.person-art) {fill:var(--surface);stroke:#a1c8a9}
html[data-theme="dark"] body.portal-home .selene-home .art-fiber circle {fill:var(--surface)}
html[data-theme="dark"] body.portal-home .selene-home .art-signal {stroke:#a1dbb7}
html[data-theme="dark"] body.portal-home .selene-home .card-map {opacity:.5}
@media(max-width:1150px) {
 body.portal-home .selene-home .project-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
 body.portal-home .selene-home .project,body.portal-home .selene-home .project-people {grid-column:span 2}
 body.portal-home .selene-home .project-small:last-child {grid-column:span 2}
}
@media(max-width:800px) {
 body.portal-home .selene-home .section-head {display:block}
 body.portal-home .selene-home .scene-controls {margin-top:20px}
 body.portal-home .selene-home .hero-top h1 {font-size:10.2vw}
}
@media(max-width:520px) {
 body.portal-home .selene-home .hero-top h1 {font-size:clamp(39px,10.8vw,57px)}
 body.portal-home .selene-home .project-grid {display:flex}
 body.portal-home .selene-home .project {height:auto;min-height:280px}
 body.portal-home .selene-home .project-featured {height:auto;min-height:310px}
 body.portal-home .selene-home .project-tools {display:block}
 body.portal-home .selene-home .search {min-width:0}
 body.portal-home .selene-home .journey-stops span {font-size:17px}
 body.portal-home .selene-home .journey-stops>div {padding:8px}
 body.portal-home .selene-home .empty {padding:24px}
}
/* Both preference and OS setting disable every decorative transform/loop. */
html[data-motion="off"] body.portal-home .selene-home :is(.hero-top,.scene,.hero-lead) {transform:none!important;opacity:1!important}
html[data-motion="off"] body.portal-home .selene-home :is(.hero-stage,.journey) {height:auto}
html[data-motion="off"] body.portal-home .selene-home :is(.hero-sticky,.journey-sticky) {position:relative;top:0}
html[data-motion="off"] body.portal-home .selene-home :is(.journey-signal,.journey-glow) {stroke-dashoffset:0!important}
html[data-motion="off"] body.portal-home .selene-home * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce) {
 body.portal-home .selene-home :is(.hero-top,.scene,.hero-lead) {transform:none!important;opacity:1!important}
 body.portal-home .selene-home :is(.hero-stage,.journey) {height:auto}
 body.portal-home .selene-home :is(.hero-sticky,.journey-sticky) {position:relative;top:0}
 body.portal-home .selene-home :is(.journey-signal,.journey-glow) {stroke-dashoffset:0!important}
 body.portal-home .selene-home * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
