@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/unbounded-latin-300-normal.BdeIjcOy.woff2) format("woff2"),url(/_astro/unbounded-latin-300-normal.BtI4HK4V.woff) format("woff")}body{--accent-tinted: var(--accent)}body[data-portal-hover=ai]{--accent-tinted: oklch(78% .18 65)}body[data-portal-hover=scale]{--accent-tinted: oklch(48% .08 220)}body[data-portal-hover=craft]{--accent-tinted: oklch(54% .135 38)}body[data-portal-hover] header.site .caret{border-bottom-color:var(--accent-tinted)}.cal-strip{width:100%;max-width:820px;margin:48px auto 0}.cal-strip .projects-head{margin-bottom:0}.cal-ticks{display:grid;gap:2px;padding:18px 0 12px}.cal-ticks-desktop{grid-template-columns:repeat(52,1fr)}.cal-ticks-mobile{grid-template-columns:repeat(13,1fr);display:none}.cal-ticks .tick{height:14px;background:var(--line);border-radius:1px;transition:background .22s ease,transform .22s ease}.cal-ticks .tick-done{background:var(--ink)}.cal-ticks .tick-current{background:var(--accent-tinted, var(--accent));height:18px;margin-top:-2px;box-shadow:0 0 0 3px color-mix(in oklch,var(--accent-tinted, var(--accent)) 18%,transparent)}.cal-meta{display:flex;align-items:baseline;gap:6px;font-size:14px;color:var(--mute);letter-spacing:.02em;font-variant-numeric:tabular-nums;flex-wrap:wrap}.cal-meta .strong{color:var(--ink);font-weight:500}.cal-meta .sep{color:var(--mute-2)}.cal-meta .pillar-mini{color:var(--mute-2);margin-left:4px}.cal-meta .cal-pct{margin-left:auto;color:var(--mute-2)}.cal-meta a{color:inherit;text-decoration:none}.cal-meta a:hover .strong{color:var(--accent-tinted, var(--accent))}.projects.portals{margin-top:clamp(48px,8vw,72px)}.head-glyph{color:var(--mute-2);margin-right:10px;font-weight:400;font-variant-numeric:normal;display:inline-block}.portals .projects-head .left .muted{color:var(--mute-2);font-weight:400;letter-spacing:.02em;margin-left:4px}.portals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding-top:14px;width:100%}.portal-card{--p-bg: var(--bg);--p-bg2: var(--bg);--p-ink: var(--ink);--p-mute: var(--mute);--p-mute2: var(--mute-2);--p-line: var(--line);--p-accent: var(--accent);--p-display: "JetBrains Mono", ui-monospace, monospace;--p-display-weight: 500;--p-display-style: normal;position:relative;display:flex;flex-direction:column;background:var(--p-bg);color:var(--p-ink);border:1px solid var(--p-line);padding:28px 24px 22px;cursor:pointer;overflow:hidden;isolation:isolate;text-decoration:none;min-height:280px;transition:transform .38s var(--ease-out-quart),box-shadow .38s var(--ease-out-quart),border-color .22s ease}.portal-card:hover,.portal-card:focus-visible{transform:translateY(-2px);box-shadow:0 1px color-mix(in oklch,var(--p-accent) 30%,transparent),0 24px 40px -20px color-mix(in oklch,var(--p-bg) 60%,transparent);border-color:color-mix(in oklch,var(--p-accent) 50%,var(--p-line))}.portal-card:focus-visible{outline:1.5px solid var(--p-accent);outline-offset:3px}.portal-card.portal-ai{--p-bg: oklch(12% .012 60);--p-bg2: oklch(17% .02 65);--p-ink: oklch(92% .02 75);--p-mute: oklch(64% .025 70);--p-mute2: oklch(46% .022 60);--p-line: oklch(26% .018 60);--p-accent: oklch(78% .18 65);--p-display: "Unbounded", ui-sans-serif, system-ui, sans-serif;--p-display-weight: 300}.portal-card.portal-scale{--p-bg: oklch(99.2% .002 250);--p-bg2: oklch(97% .004 240);--p-ink: oklch(18% .004 250);--p-mute: oklch(52% .004 250);--p-mute2: oklch(70% .004 250);--p-line: oklch(88% .005 240);--p-accent: oklch(48% .08 220);--p-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--p-display-weight: 500;--p-display-style: italic}.portal-card.portal-craft{--p-bg: oklch(96.5% .012 80);--p-bg2: oklch(94% .014 78);--p-ink: oklch(22% .02 60);--p-mute: oklch(48% .022 65);--p-mute2: oklch(64% .018 70);--p-line: oklch(86% .012 75);--p-accent: oklch(54% .135 38);--p-display: "JetBrains Mono", ui-monospace, monospace;--p-display-weight: 700;border-radius:0}.portal-motif{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.7;transition:opacity .32s ease}.portal-card:hover .portal-motif{opacity:1}.motif-grid{background:radial-gradient(50% 60% at 80% 20%,oklch(30% .05 60 / .35),transparent 70%),radial-gradient(40% 40% at 12% 90%,oklch(25% .04 50 / .4),transparent 70%)}.motif-grid:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,oklch(100% 0 0 / .025) 1px,transparent 1px),linear-gradient(0deg,oklch(100% 0 0 / .025) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,black 35%,transparent 85%);mask-image:radial-gradient(ellipse at 70% 30%,black 35%,transparent 85%)}.motif-rule{background:linear-gradient(180deg,transparent 0,transparent 30%,oklch(95% .005 240) 30%,oklch(95% .005 240) 100%)}.motif-rule:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(180deg,transparent 0,transparent 27px,oklch(85% .01 240 / .55) 27px,oklch(85% .01 240 / .55) 28px);-webkit-mask-image:linear-gradient(180deg,black 30%,transparent 100%);mask-image:linear-gradient(180deg,black 30%,transparent 100%)}.motif-dots{background:radial-gradient(60% 50% at 80% 18%,oklch(86% .04 45 / .45),transparent 70%),radial-gradient(40% 35% at 12% 88%,oklch(82% .05 60 / .32),transparent 70%)}.motif-dots:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,oklch(40% .02 60 / .22) 1px,transparent 1.5px);background-size:16px 16px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,black 40%,transparent 95%);mask-image:radial-gradient(ellipse at 60% 40%,black 40%,transparent 95%)}.portal-inner{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;min-height:0}.portal-meta{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--p-mute2);margin-bottom:22px;transition:color .2s ease}.portal-card:hover .portal-meta{color:var(--p-accent)}.portal-title{font-family:var(--p-display);font-weight:var(--p-display-weight);font-style:var(--p-display-style, normal);font-size:clamp(36px,5vw,56px);line-height:.95;letter-spacing:-.02em;color:var(--p-ink);margin:0 0 14px}.portal-title .p-glyph{color:var(--p-accent);margin-right:.04em;opacity:.85;transition:opacity .2s ease}.portal-card:hover .portal-title .p-glyph{opacity:1}.portal-card.portal-craft .portal-title{font-size:clamp(34px,4.6vw,50px)}.portal-desc{color:var(--p-mute);font-family:JetBrains Mono,ui-monospace,monospace;font-style:normal;font-size:11px;line-height:1.65;margin:0 0 auto;padding-bottom:22px;max-width:32ch}.portal-foot{display:flex;flex-direction:column;gap:14px;padding-top:16px;margin-top:4px;border-top:1px solid var(--p-line);font-family:JetBrains Mono,ui-monospace,monospace;font-style:normal;font-size:11px}.portal-card.portal-craft .portal-foot{border-top-style:dashed}.p-blurb{color:var(--p-mute2);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-enter{display:flex;align-items:center;justify-content:space-between;color:var(--p-accent);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500}.p-enter .arrow{display:inline-block;transition:transform .22s var(--ease-out-quart);font-size:14px;line-height:1}.portal-card:hover .p-enter .arrow{transform:translate(4px)}body[data-portal-hover=ai] .post[data-pillar=ai] .post-row,body[data-portal-hover=scale] .post[data-pillar=scale] .post-row,body[data-portal-hover=craft] .post[data-pillar=craft] .post-row{background:color-mix(in oklch,var(--accent-tinted) 5%,transparent)}body[data-portal-hover=ai] .post[data-pillar=ai] .pillar-tag,body[data-portal-hover=scale] .post[data-pillar=scale] .pillar-tag,body[data-portal-hover=craft] .post[data-pillar=craft] .pillar-tag{color:var(--accent-tinted)}@media(max-width:720px){.portals-grid{grid-template-columns:1fr;gap:10px}.portal-card{min-height:220px;padding:22px 20px 18px}.portal-title{font-size:42px}.cal-ticks-desktop{display:none}.cal-ticks-mobile{display:grid;gap:4px}.cal-ticks-mobile .tick{height:16px}.cal-ticks-mobile .tick-current{height:20px}}main{display:flex;flex-direction:column;align-items:center;padding:0 var(--pad-x)}
