@font-face{font-family:'Bebas Neue';src:url('/prairie/assets/brand/bebas-neue.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('/prairie/assets/brand/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/prairie/assets/brand/dm-sans.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}


:root{color-scheme:light;--page:#f4f5f7;--text:#17191f;--muted:#616570;--line:#191d271b;--gold:#3569c7;--frame:#e5e7ec;--button:#e5e7ec;--ui:'DM Sans',Arial,sans-serif;--support:'Manrope',Arial,sans-serif;--display:'Bebas Neue','Arial Narrow',sans-serif}
:root[data-library-theme=dark]{color-scheme:dark;--page:#0c0d10;--text:#f5f6f8;--muted:#999da8;--line:#ffffff16;--gold:#b6cdfc;--frame:#181b22;--button:#22252d}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--text);font:400 14px var(--ui);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home{max-width:1760px;margin:auto;min-height:100vh}.skip{position:fixed;top:10px;left:20px;z-index:100;padding:12px 20px;background:var(--text);color:var(--page);transform:translateY(-180%)}.skip:focus{transform:none}
.topbar{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 5vw}.brand{display:block;width:170px;flex-shrink:0}.stamp{display:block;width:100%;height:auto}:root[data-library-theme=dark] .stamp{filter:brightness(0) invert(1)}.access{display:flex;align-items:center;gap:20px}.access-status{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px;white-space:nowrap}.access-status i{height:5px;width:5px;border-radius:50%;background:#88b998}.access button{min-height:44px;border:0;border-radius:24px;padding:0 16px;color:var(--muted);background:none;font-size:12px;white-space:nowrap}.access button:hover{background:var(--button);color:var(--text)}#theme-toggle{background:var(--button);color:var(--text);width:44px;height:44px;padding:0;display:grid;place-items:center;flex-shrink:0}#theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#theme-toggle .theme-sun{display:none}:root[data-library-theme=dark] #theme-toggle .theme-sun{display:block}:root[data-library-theme=dark] #theme-toggle .theme-moon{display:none}.preview-label{color:var(--muted);font-size:10px;white-space:nowrap}
.home-main{padding:0 5vw}.library-intro{padding:30px 0 36px}.eyebrow{font:700 10px var(--support);letter-spacing:.2em;color:var(--muted);margin:0 0 12px}.library-intro h1{font:700 clamp(34px,4.2vw,60px)/1.05 var(--support);letter-spacing:-.055em;margin:0}.library-intro>p:last-child{font-size:15px;color:var(--muted);margin:14px 0 0}.shelves{outline:none;padding-top:28px}.shelf{margin-bottom:42px}.shelf-heading{display:flex;align-items:center;margin-bottom:16px}.shelf-heading h2{font:700 20px var(--ui);letter-spacing:-.5px;margin:0}.shelf-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{min-width:0}.card-link{display:block;text-decoration:none;border-radius:14px}.card-frame{aspect-ratio:8/5;position:relative;border-radius:12px;background:var(--frame);overflow:hidden;box-shadow:0 8px 24px #0002;transition:transform .2s,box-shadow .2s}.card-frame img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.card-link:hover .card-frame,.card-link:focus-visible .card-frame{box-shadow:0 0 0 3px var(--text),0 16px 36px #0004;transform:translateY(-4px)}.card-link:hover img{transform:scale(1.025)}.card-overlay{position:absolute;right:14px;bottom:14px;border-radius:24px;background:#fffffff2;color:#101216;font-size:12px;font-weight:700;padding:9px 16px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.card-link:hover .card-overlay,.card-link:focus-visible .card-overlay{opacity:1;transform:none}.card-title-row{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:15px 2px 0}.card h3{font:600 16px/1.3 var(--ui);margin:0;letter-spacing:-.25px}.card-beta{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 5px;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.card-description{font-size:12px;line-height:1.5;color:var(--muted);margin:5px 2px 0}.card-frame.unavailable img{visibility:hidden}.frame-fallback{display:none;position:absolute;inset:0;place-items:center;font:400 28px var(--display);color:var(--text);text-align:center;padding:15px}.card-frame.unavailable .frame-fallback{display:grid}
.loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:13px}.loading>span{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:breathe 1s infinite}.catalogue-error{text-align:center;padding:70px 20px;font-size:14px;color:var(--muted)}.catalogue-error button{border:1px solid var(--line);border-radius:24px;background:var(--button);color:var(--text);padding:12px 20px;font-size:12px}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin:10px 5vw 0;padding:24px 0 32px;font-size:10px;color:var(--muted)}.notice{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);z-index:20;width:max-content;max-width:calc(100vw - 32px);padding:13px 19px;border:1px solid var(--line);border-radius:12px;background:var(--page);color:var(--text);box-shadow:0 4px 22px #0003;font-size:12px;line-height:1.5}.noscript{text-align:center;padding:30px;color:var(--gold)}@keyframes breathe{50%{opacity:.3}}
@media(min-width:1600px){.shelf-row{gap:28px}}
@media(max-width:900px){.topbar{margin:0 28px}.home-main{padding:0 28px}.footer{margin-left:28px;margin-right:28px}.access{gap:10px}.card-description{font-size:11px}.shelf-row{gap:18px}.library-intro{padding-top:22px}}
@media(max-width:720px){.topbar{min-height:84px;margin:0 22px;gap:16px}.brand{width:145px}.access{gap:5px}.access-status>span,.access .preview-label{display:none}.access button{font-size:11px;padding:0 12px}.home-main{padding:0 22px}.library-intro{padding:20px 0 32px}.library-intro h1{font-size:40px}.library-intro>p:last-child{font-size:14px}.shelf{margin-bottom:32px}.shelf-heading h2{font-size:19px}.shelf-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card-frame{border-radius:8px}.card-title-row{margin:9px 0 0;min-height:2.6em;align-items:flex-start}.card h3{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.card-description,.card-beta,.card-overlay{display:none}.shelf-heading{margin-bottom:12px}.shelf-heading h2{font-size:16px}.shelf{margin-bottom:22px}.footer{margin:28px 22px 0;font-size:9px}}
@media(max-width:390px){.topbar{margin:0 16px;gap:8px}.brand{width:122px}.access-status{display:none}.access button{padding:0 10px}.home-main{padding:0 16px}.shelf-row{gap:9px}.card h3{font-size:11px}.footer{margin-left:16px;margin-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* The eight-character Simulation Portal: visually identical to gensim.co/beta. */
#portal{--paper:#e7f1f8;--ink:#29211f;--muted:#756b64;--gold:#419ed9;--line:rgba(41,33,31,.18);--green:#173e35;--white:#fffdf8;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);color-scheme:light;min-height:100vh;position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}
#portal::before{position:fixed;z-index:-2;inset:-18%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;content:"";mask-image:radial-gradient(ellipse at center,#000 0%,transparent 72%);transform:perspective(900px) rotateX(62deg) translateY(24%);transform-origin:center 64%}
#portal::after{position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 18% 24%,rgba(27,101,138,.13) 0 1px,transparent 1.5px),radial-gradient(circle at 76% 68%,rgba(23,21,16,.1) 0 1px,transparent 1.5px),radial-gradient(ellipse at center,transparent 48%,rgba(234,245,253,.72) 100%);background-size:37px 37px,53px 53px,100% 100%;content:"";pointer-events:none}
.portal-field{position:fixed;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}.portal-life{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none}
.portal-life::before{position:absolute;top:7%;left:8%;width:84vw;height:22vw;border:1px solid rgba(65,158,217,.2);border-radius:50%;content:"";filter:drop-shadow(0 0 18px rgba(65,158,217,.12));transform:rotate(-7deg);animation:portal-sweep 18s ease-in-out infinite alternate}
.portal-life::after{position:absolute;top:13%;left:50%;width:min(44vw,640px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(65,158,217,.13),rgba(65,158,217,.035) 34%,transparent 68%);content:"";filter:blur(6px);transform:translateX(-50%);animation:portal-breathe 8s ease-in-out infinite}
.portal-life i{position:absolute;display:block;border:1px solid rgba(41,33,31,.1);border-radius:50%;box-shadow:0 0 28px rgba(65,158,217,.07);animation:portal-drift 16s ease-in-out infinite alternate}
.portal-life i:nth-child(1){top:19%;left:9%;width:180px;height:180px}
.portal-life i:nth-child(2){right:7%;bottom:14%;width:260px;height:260px;animation-delay:-6s;animation-duration:21s}
.portal-life i:nth-child(3){bottom:-9%;left:33%;width:340px;height:190px;border-color:rgba(65,158,217,.13);animation-delay:-11s;animation-duration:24s}
@keyframes portal-sweep{to{transform:translateY(4vh) rotate(4deg) scale(1.04)}}
@keyframes portal-breathe{50%{opacity:.55;transform:translateX(-50%) scale(1.12)}}
@keyframes portal-drift{to{transform:translate(42px,-28px) rotate(14deg);opacity:.5}}
.portal-main{width:min(680px,calc(100% - 36px));margin:0 auto;--box-w:min(380px,calc(100vw - 56px));--lockup-w:min(210px,calc(100vw - 130px));position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:0}
#codeBox{display:block;box-sizing:border-box;width:var(--box-w);height:50px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--white);color:var(--green);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1.45rem,5vw,1.95rem);font-weight:800;letter-spacing:.28em;text-align:center;text-transform:lowercase;caret-color:var(--gold)}
#codeBox:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
#codeBox:disabled{opacity:.6}
#codeBox::placeholder{color:var(--muted);opacity:.3}
.portal-notice{min-height:1.4em;margin:14px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45;text-align:center}
.portal-lockup{position:fixed;z-index:2;top:28px;left:30px;display:block;width:var(--lockup-w);height:auto;margin:0;user-select:none}
html[data-site-theme=dark] .portal-lockup{filter:invert(1) grayscale(1) brightness(1.45)}
.portal-title{width:min(760px,calc(100vw - 32px));margin:0 0 36px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.3rem,4.6vw,4.2rem);font-weight:600;letter-spacing:-.025em;line-height:.9;text-align:center;text-transform:uppercase}
.portal-hint{margin:11px 0 0;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.72rem;letter-spacing:.035em;text-align:center}
@media(prefers-reduced-motion:reduce){.portal-life::before,.portal-life::after,.portal-life i{animation:none}}@media(max-width:600px){.portal-lockup{top:20px;left:20px;--lockup-w:min(172px,calc(100vw - 110px))}.portal-title{margin-bottom:31px}}

.portal-preview{position:fixed;z-index:2;top:30px;right:30px;color:#756b64;font:9px Arial,Helvetica,sans-serif;letter-spacing:.04em}


/* Keep the blue entry frame independent of the library theme. */
.launch-countdown{display:grid;gap:5px;margin-top:28px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-family:Arial,Helvetica,sans-serif;text-align:center}
.launch-countdown-label{font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.launch-countdown-time{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-style:normal;font-weight:700;letter-spacing:.11em;text-transform:uppercase}

/* Library collections — current platform, September 25. */
.collection-intro{padding:20px 0 30px}.collection-intro h1{font:700 clamp(28px,4vw,44px)/1.1 var(--ui);letter-spacing:-.04em;margin:20px 0 0}.collection-back{font-size:13px;color:var(--muted);text-decoration:none}.collection-back:hover{color:var(--text)}
.collection-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#e7e5df;color:#1e2926}.collection-symbol{font:500 clamp(25px,5vw,72px)/1 var(--ui)}.collection-name{font:600 clamp(10px,1.8vw,25px)/1.1 var(--ui);text-align:center;letter-spacing:-.035em;padding:0 10px}.collection-arcade{background:#12172c;color:#b9d7ff}.collection-arcade .collection-symbol{color:#ffd270}.collection-education{background:#e8e4d3;color:#354b40}.collection-enterprise{background:#233530;color:#eee4c7}.collection-create{background:#dce4ed;color:#293c55}
.starfall-card{background:#000}.starfall-card img{object-fit:cover}.brandywine-card img{object-fit:cover;transform:scale(1.14);object-position:57% 42%}.brandywine-card::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0007,transparent 75%);pointer-events:none}.brandywine-card-title{position:absolute;z-index:1;left:7%;top:12%;font:400 clamp(13px,2.25vw,32px)/.91 Georgia,'Times New Roman',serif;letter-spacing:-.025em;text-transform:uppercase;color:#fff9e9;text-shadow:0 1px 8px #0008}.painting-note{position:absolute;z-index:1;left:5%;bottom:5%;font:400 clamp(5px,.6vw,9px)/1.3 var(--ui);color:#fff9e9;text-shadow:0 1px 3px #000}.brandywine-card .card-overlay{z-index:2}.card-link:hover .brandywine-card img{transform:scale(1.165)}
@media(max-width:720px){.collection-intro{padding:10px 0 24px}.collection-art{gap:5px}.collection-symbol{font-size:30px}.collection-name{font-size:12px}.painting-note{font-size:5px}.brandywine-card-title{font-size:14px}}

/* Arcade's library entry shares the dedicated page's yellow and ink palette. */
.collection-arcade{background:#161720;color:#f0ed88;background-image:linear-gradient(135deg,transparent 60%,#f0ed8809 60%);border:1px solid #f0ed8826;gap:5px}.collection-arcade .collection-symbol{font-size:clamp(20px,3vw,42px);color:#f0ed88}.collection-arcade .collection-name{font:400 clamp(22px,5.2vw,76px)/1 'Bebas Neue',Arial,sans-serif;letter-spacing:.025em;text-transform:uppercase}
