/* Gateway and directory presentation. Tool controllers and editor styles are separate. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body.free-hub{margin:0;background:var(--family-paper);color:var(--family-ink);font:1rem/1.6 var(--family-font)}.free-hub [hidden]{display:none!important}.free-hub .wrap{width:min(calc(100% - 40px),var(--family-width));margin-inline:auto}.free-hub a{color:var(--family-primary);text-underline-offset:4px}.free-hub a:hover{text-decoration-thickness:2px}.free-hub p{margin:0 0 16px}.free-hub h1,.free-hub h2,.free-hub h3{color:var(--family-ink);letter-spacing:-.04em;line-height:1.15;margin:0 0 16px}.free-hub h1{font-size:clamp(2.25rem,5vw,4rem);font-weight:760;max-width:22ch}.free-hub h2{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:740}.free-hub h3{font-size:1.25rem;font-weight:730}.free-hub .eyebrow,.free-hub .tag{display:block;font-size:.72rem;font-weight:750;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;color:var(--family-muted)}.free-hub .eyebrow{margin:0 0 12px}.free-hub .tag{margin:0 0 14px}.free-hub :is(a,button,input,select,summary):focus-visible{outline:3px solid #9c3b21;outline-offset:4px}.free-hub .skip{position:fixed;top:8px;left:-10000px;padding:12px 20px;background:#fff;z-index:1000}.free-hub .skip:focus{left:8px}.free-hub .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.free-hub .section{padding-block:30px;margin-block:18px}.free-hub .section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:26px}.free-hub .section-head h2{margin:0}.free-hub .section-head>p{max-width:35ch;color:var(--family-muted);margin:0;font-size:.94rem}.free-hub .actions{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;margin-top:22px}.free-hub .actions a:not(.button),.free-hub .section-link,.free-hub .tool-action{display:inline-flex;align-items:center;min-height:44px;font-weight:650}.free-hub .button,.free-hub button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:11px 18px;background:var(--family-primary);color:#fff;border:1px solid var(--family-primary);border-radius:8px;font:650 .94rem/1.4 var(--family-font);text-decoration:none;cursor:pointer}.free-hub .button:hover,.free-hub button:hover{background:#173e36;color:#fff}.free-hub input,.free-hub select{font:inherit;color:var(--family-ink);background:var(--family-surface);border:1px solid #86958c;border-radius:7px;min-height:46px;padding:10px 12px;width:100%;min-width:0}.free-hub .quiet-note,.free-hub .scope-note,.free-hub .finder-privacy{font-size:.83rem;color:var(--family-muted)}
/* Home: one decision per section, no catalogue in disguise. */
.gateway-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);gap:8%;align-items:center;padding-block:48px 20px}.hero-copy h1{margin-bottom:20px}.hero-explainer{font-size:1.13rem;max-width:48ch;color:var(--family-muted)}.gateway-search{margin-top:25px;max-width:690px}.gateway-search label{display:block;font-size:.85rem;font-weight:700;margin-bottom:8px}.gateway-search-row{display:flex;gap:8px}.gateway-search-row input{flex:1}.gateway-search-row button{flex-shrink:0}.gateway-search p{font-size:.74rem;color:var(--family-muted);margin-top:8px}.hero-browse{font-size:.86rem}.hero-browse a{display:inline-flex;min-height:44px;align-items:center}.gateway-note{border-left:1px solid var(--family-line);padding:18px 0 18px 32px}.gateway-note h2{font-size:1.55rem;line-height:1.3}.gateway-note p{font-size:.9rem;color:var(--family-muted)}.gateway-note .note-small{margin-bottom:0;font-size:.78rem}.note-rule{display:block;width:36px;height:4px;background:var(--family-accent);margin-bottom:23px}.family-map{border-top:1px solid var(--family-line)}.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--family-line);border-radius:var(--family-radius);overflow:hidden}.free-hub .destination{padding:24px 22px;display:flex;flex-direction:column;position:relative;text-decoration:none;color:var(--family-ink);min-width:0;border-left:1px solid var(--family-line)}.destination:first-child{border-left:0}.destination:hover{box-shadow:inset 0 -4px 0 var(--family-primary)}.destination-make{background:#e8eee4}.destination-play{background:#f0e9db}.destination-learn{background:#e7ecee}.destination-plan{background:#eee7e1}.destination-symbol{font-size:1.6rem;height:40px;line-height:1;letter-spacing:-.08em;color:var(--family-primary)}.destination-label{font-size:.7rem;letter-spacing:.1em;font-weight:750;margin:10px 0 18px}.destination h3{font-size:1.36rem;max-width:15ch}.destination p{font-size:.88rem;color:var(--family-muted)}.destination-action{margin-top:auto;padding-top:16px;font-weight:700;font-size:.83rem;display:flex;justify-content:space-between;gap:10px;min-height:44px;align-items:center}.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.example{border-top:2px solid var(--family-line);padding-top:22px}.example .eyebrow{font-size:.69rem}.example-paid{color:var(--family-muted);font-size:.9rem;margin-bottom:5px!important}.example h3{font-size:1.45rem}.example>p:not(.eyebrow){font-size:.88rem}.example-limit{color:var(--family-muted);font-size:.8rem!important}.example>a{display:inline-flex;min-height:44px;align-items:center;font-size:.86rem;font-weight:650}.trust-section{border-top:1px solid var(--family-line);display:grid;grid-template-columns:1fr 1.7fr;gap:64px}.trust-section>div:last-child{max-width:65ch}.trust-section p{font-size:.94rem}.trust-section .quiet-note{font-size:.81rem}
/* Task pages: hierarchy before inventory. */
.free-hub .page-intro{padding-top:48px;max-width:var(--family-width)}.page-intro .intro{font-size:1.1rem;color:var(--family-muted);max-width:62ch}.task-nav{display:flex;gap:4px 22px;flex-wrap:wrap;padding-block:13px;margin-top:14px;border-bottom:1px solid var(--family-line)}.task-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:650}.task-nav a[aria-current]{text-decoration-thickness:3px}.finder-controls{display:grid;grid-template-columns:2fr 1.2fr 1fr auto;gap:14px;align-items:end;background:#e9eee6;border:1px solid var(--family-line);border-radius:var(--family-radius);padding:20px}.finder-controls label{font-size:.78rem;font-weight:700;min-width:0}.finder-controls input,.finder-controls select{display:block;margin-top:7px;font-size:.9rem}.finder-controls button{background:transparent;color:var(--family-primary)}.finder-privacy{margin-top:10px!important;max-width:100ch}.finder-count{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;font-size:.85rem}.finder-count p{margin:0}.finder-count a{display:inline-flex;align-items:center;min-height:44px}.comparison-group{margin:24px 0 40px}.free-hub .group-title{font-size:1.35rem;margin-bottom:18px}.swap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.swap-card{min-width:0;background:var(--family-surface);border:1px solid var(--family-line);border-radius:var(--family-radius);padding:24px;display:flex;flex-direction:column;align-items:start}.swap-top{display:flex;justify-content:space-between;gap:15px;width:100%}.swap-top .tag{font-size:.65rem}.route-kind{font-size:.72rem;color:var(--family-muted);text-align:right}.swap-card .job{font-size:.8rem;margin:7px 0 8px;font-weight:650;color:var(--family-muted)}.swap-pair{display:flex;flex-wrap:wrap;gap:9px;align-items:baseline;width:100%;padding-bottom:14px;border-bottom:1px solid var(--family-line);margin-bottom:15px}.swap-pair .paid{font-size:.9rem;color:var(--family-muted)}.swap-pair h3{margin:0;font-size:1.5rem}.swap-outcome{font-size:.98rem}.free-path,.catch,.paid-note{font-size:.83rem}.free-hub .catch{padding:12px 14px;background:#f1f2ea;border-left:3px solid #acb9a9;align-self:stretch;margin-bottom:14px}.paid-note{color:var(--family-muted)}.free-action{margin-top:auto}.local-option{font-size:.86rem;font-weight:650;display:inline-flex;align-items:center;min-height:44px;margin-top:8px}.local-limit{font-size:.77rem;color:var(--family-muted)}.evidence{border-top:1px solid var(--family-line);width:100%;margin-top:12px;padding-top:5px}.free-hub summary{min-height:44px;cursor:pointer;padding-block:10px;font-size:.88rem;font-weight:650}.evidence p,.evidence a{font-size:.8rem}.source-links{display:flex;gap:10px;flex-wrap:wrap}.source-links a{display:inline-flex;min-height:44px;align-items:center;overflow-wrap:anywhere}.extra-grid,.resource-grid,.hosted-grid,.project-grid,.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.extra-card,.resource-card,.hosted-card,.project-grid>article,.game-entry{min-width:0;padding:24px;background:var(--family-surface);border:1px solid var(--family-line);border-radius:var(--family-radius)}.extra-card p,.resource-card p,.project-grid p,.game-entry p{font-size:.88rem}.extra-card h3,.resource-card h3{font-size:1.15rem}.resource-card a,.project-grid>article>a{display:inline-flex;align-items:center;min-height:44px;font-size:.87rem;font-weight:650}.resource-card details{border-top:1px solid var(--family-line)}.resource-shelf,.launcher-shelf{border-block:1px solid var(--family-line);padding:15px 0}.resource-shelf>summary,.launcher-shelf>summary{display:list-item;padding:12px 0 12px 8px}.resource-shelf>summary>span,.launcher-shelf>summary>span{display:inline-flex;flex-direction:column;vertical-align:top;max-width:95%}.resource-shelf strong,.launcher-shelf strong{font-size:1.6rem;letter-spacing:-.03em;line-height:1.2;margin:0 0 8px}.resource-shelf summary span span:last-child,.launcher-shelf summary span span:last-child{font-weight:400;color:var(--family-muted)}.resource-shelf .resource-grid{margin-top:24px}.resource-shelf[open]>summary,.launcher-shelf[open]>summary{margin-bottom:20px}.policy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.policy-cards h3{font-size:1.1rem}.policy-cards p{font-size:.87rem;color:var(--family-muted)}.compact-section{border-top:1px solid var(--family-line)}.compact-section>p{max-width:70ch}.empty-results{padding:28px;border:1px dashed var(--family-muted);border-radius:var(--family-radius)}.hosted-card{display:flex;flex-direction:column;align-items:start}.hosted-card p{font-size:.9rem}.hosted-card .tool-action{margin-top:auto;font-size:.88rem}.free-hub #experimental-studios{border-top:3px solid var(--family-accent)}#experimental-studios .tag{color:#9c3b21}.keep-band{background:#e7eee4;border-radius:var(--family-radius);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:42px}.keep-band p,.keep-band li{font-size:.9rem}.keep-band li{margin-bottom:12px}.keep-band ol{padding-left:22px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.free-hub .choice{display:flex;flex-direction:column;padding:24px;border:1px solid var(--family-line);border-left:4px solid var(--family-primary);border-radius:0 12px 12px 0;text-decoration:none;background:var(--family-surface)}.choice strong{display:flex;justify-content:space-between;gap:18px;font-size:1.25rem}.choice>span:last-child{font-size:.86rem;color:var(--family-muted);margin-top:8px}.game-entry .tag{font-size:.68rem}.game-entry .tested{font-size:.8rem;color:var(--family-primary);font-weight:650}.game-entry details{border-top:1px solid var(--family-line);margin-top:20px}.game-entry details p{font-size:.8rem}.game-entry .actions a{font-size:.84rem}.play-options{display:grid;grid-template-columns:1fr 1fr;gap:32px}.play-options a{min-height:44px;display:inline-flex;align-items:center}.anchor-target{scroll-margin-top:24px}article[id],section[id]{scroll-margin-top:24px}
@media(max-width:1060px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination:nth-child(3){border-left:0}.destination:nth-child(n+3){border-top:1px solid var(--family-line)}.gateway-hero{gap:30px;grid-template-columns:1.6fr 1fr}.finder-controls{grid-template-columns:1.5fr 1fr}.finder-controls button{min-width:90px}.gateway-search-row{flex-direction:column}.gateway-search-row button{align-self:start}.trust-section{gap:36px}}
@media(max-width:800px){.gateway-hero{grid-template-columns:1fr;padding-top:32px}.gateway-note{display:none}.gateway-search-row{flex-direction:row}.gateway-search-row button{align-self:stretch}.free-hub .section-head{align-items:start;gap:14px;flex-direction:column}.free-hub .section-head>p{max-width:65ch}.example-grid{gap:20px}.example h3{font-size:1.2rem}}
@media(max-width:640px){.free-hub .section{padding-block:24px;margin-block:8px}.free-hub .page-intro{padding-top:30px}.gateway-search-row{flex-direction:column}.gateway-search-row button{align-self:stretch}.destination-grid,.swap-grid,.extra-grid,.resource-grid,.hosted-grid,.project-grid,.game-grid,.example-grid,.policy-cards,.trust-section,.keep-band,.choice-row,.play-options{grid-template-columns:1fr}.destination{border-left:0!important}.destination:nth-child(n+2){border-top:1px solid var(--family-line)}.free-hub .destination{padding:20px 22px;display:grid;grid-template-columns:40px 1fr;gap:0 16px}.destination-symbol{grid-column:1;grid-row:1/5;font-size:1.4rem;margin-top:3px}.destination-label{grid-column:2;margin:0 0 8px}.destination h3,.destination p,.destination-action{grid-column:2;max-width:none}.destination h3{margin-bottom:10px}.destination p{margin-bottom:0}.destination-action{padding-top:9px}.example-grid{gap:22px}.example h3{font-size:1.4rem}.finder-controls{grid-template-columns:1fr;padding:16px}.finder-count{align-items:start;flex-direction:column;gap:0}.swap-card,.hosted-card,.resource-card,.game-entry,.project-grid>article{padding:20px}.trust-section,.keep-band{gap:20px}.keep-band{padding:24px}.task-nav{gap:0 20px}.family-map .section-head h2{font-size:1.65rem}.gateway-hero{padding-bottom:12px}.resource-shelf strong,.launcher-shelf strong{font-size:1.35rem}}
@media(max-width:420px){.free-hub .wrap{width:calc(100% - 32px)}.gateway-search-row input{font-size:.91rem}.swap-top{flex-wrap:wrap}.route-kind{text-align:left}.swap-pair{align-items:start}.swap-pair .paid{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.family-header,.family-footer,.finder-controls,.gateway-search{display:none}.free-hub{background:#fff}.free-hub .wrap{width:100%}.resource-shelf{display:block}.free-hub .section{break-inside:avoid}}
