.prompt-page{--page-width:1100px;--page-gutter:22px;--carousel-gap:22px;font-size:15px;line-height:1.6}
.prompt-main{width:min(var(--page-width),calc(100% - 2 * var(--page-gutter)));margin-inline:auto;outline:none}
.project-intro{padding-top:56px;padding-bottom:24px}
.eyebrow{font-family:var(--mono);font-size:10px;font-weight:400;line-height:1.6;letter-spacing:.045em;text-transform:uppercase}
.intro-meta{margin-bottom:26px}
.project-intro h1{font-family:var(--display);font-size:50px;font-weight:900;line-height:.96;letter-spacing:0}
/* Title selection stays transparent across the two-line heading. */
.project-intro h1::selection{background:transparent;color:var(--muted)}
.intro-bottom{margin-top:32px}
.project-description{max-width:42ch;font-size:18px;line-height:1.4;letter-spacing:-.025em}
.intro-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,64px)}
.intro-copy{min-width:0}
.model-tools{width:100%;max-width:320px;min-width:0;justify-self:start;padding-block:6px}
.model-tools-heading{margin:0 0 14px;color:var(--muted)}
.model-tools-list{display:grid;gap:12px}
.model-tool{display:block;min-height:52px;padding-block:5px;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;text-decoration:none;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent}
.model-tool-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:18px;font-weight:700;line-height:1.35}
.model-tool-name{min-width:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.model-tool-arrow{flex:none;width:16px;height:16px;color:var(--muted)}
.model-tool-description{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}
.model-tools-note{max-width:34ch;margin:16px 0 0;color:var(--muted);font-family:Arial,"Helvetica Neue",sans-serif;font-size:12px;line-height:1.6}
.model-tool:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
@media(hover:hover){.model-tool:hover .model-tool-name{opacity:.6}.model-tool:hover .model-tool-arrow{color:var(--ink)}}
@media(max-width:767px){.intro-layout{grid-template-columns:minmax(0,1fr);gap:26px}.model-tools{max-width:none;justify-self:stretch;padding-block:0}.model-tools-heading{margin-bottom:10px}.model-tools-list{gap:10px}.model-tool-label{font-size:16px}.model-tool{min-height:52px}.model-tools-note{margin-top:12px}}
.study{padding-block:16px 28px;scroll-margin-top:30px}
.study+.study{padding-top:28px}
.study-heading{margin-bottom:20px}
.study h2{font-family:var(--display);font-size:26px;font-weight:700;line-height:1.1;letter-spacing:-.05em}
.study-carousel{min-width:0}
.carousel-controls{display:none;align-items:center;justify-content:space-between;gap:20px;margin-bottom:8px;}
.carousel-steps{display:flex;align-items:center;gap:22px;min-width:0}
.carousel-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--ink);font-family:inherit;font-size:12px;font-weight:400;line-height:1.4;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
.carousel-controls .carousel-step{color:var(--muted)}
.carousel-controls .carousel-step[aria-pressed="true"]{color:var(--ink);font-weight:700}
.carousel-slide{min-width:0}
.carousel-slide+.carousel-slide{margin-top:32px}
.is-carousel-ready .carousel-controls{display:flex}
/* Height settles once; animating it can make Safari snap horizontally again. */
.is-carousel-ready .carousel-track{position:relative;display:flex;align-items:flex-start;column-gap:var(--carousel-gap);width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:none;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.is-carousel-ready .carousel-track::-webkit-scrollbar{display:none}
.is-carousel-ready .carousel-slide{flex:0 0 100%;width:100%;overflow:clip;scroll-snap-align:start;scroll-snap-stop:always}
.is-carousel-ready .carousel-slide+.carousel-slide{margin-top:0}
.study-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.study-reference{min-width:0;align-self:start}
.reference-content{width:100%}
.study-reference figure{margin:0}
.study-reference img,.study-reference video{display:block;width:100%;height:auto;background:color-mix(in srgb,var(--ink) 5%,var(--paper))}
.prompt-image-frame{position:relative;width:100%;min-height:44px;background:color-mix(in srgb,var(--ink) 5%,var(--paper))}
.prompt-image-frame>img{opacity:0;transition:none}
.prompt-image-frame[data-image-state="ready"]>img{opacity:1}
.prompt-image-notice{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;color:var(--muted);font-family:Arial,"Helvetica Neue",sans-serif;font-size:12px;line-height:1.5;text-align:center}
.prompt-image-notice[hidden],.prompt-image-retry[hidden]{display:none!important}
.prompt-image-retry{display:inline-flex;align-items:center;justify-content:center;min-width:80px;min-height:44px;padding:10px 16px;border:1px solid currentColor;border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:13px;line-height:1.4;cursor:pointer}
.prompt-image-retry:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.study-reference video{aspect-ratio:4/3;object-fit:contain}
.study-reference figcaption{margin-top:10px;font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--muted)}
.video-quality{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;min-height:44px;margin-top:14px;font-size:12px;line-height:1.5}
.video-quality label{flex:none;color:var(--muted)}
.quality-picker{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%;min-height:44px}
.quality-label{display:block;visibility:hidden;overflow:hidden;padding:0 26px 0 6px;white-space:nowrap}
.video-quality select{position:absolute;inset:0;appearance:none;-webkit-appearance:none;width:100%;min-width:0;max-width:100%;min-height:44px;padding:0 26px 0 6px;border:0;border-radius:0;background-color:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.quality-chevron{position:absolute;right:6px;top:50%;width:12px;height:12px;transform:translateY(-50%);pointer-events:none;color:var(--ink)}
.quality-status{flex:1 0 100%;min-width:0;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.quality-status:empty{display:none}
.video-quality select:focus{outline:none;box-shadow:none}
.video-quality select:focus-visible{text-decoration:underline;text-underline-offset:3px}
.study-prompts{min-width:0}
/* Prompts move with their clipped slide; hiding them here creates a flash. */
.carousel-track.is-switching .study-prompts{pointer-events:none}
.prompt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.prompt-heading{min-width:0;font-size:16px;line-height:1.3;font-weight:700;letter-spacing:-.025em}
.prompt-content{padding-bottom:0}
.copy-button{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:8px;min-width:144px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--paper);font-family:inherit;font-size:13px;font-weight:700;line-height:1.4;cursor:pointer;-webkit-tap-highlight-color:transparent}
.copy-icon,.copy-success-icon{flex:none;width:17px;height:17px}
.copy-success-icon{display:none}
.copy-button[data-copy-state="copied"] .copy-icon{display:none}
.copy-button[data-copy-state="copied"] .copy-success-icon{display:block}
.copy-status{display:block;margin-bottom:12px;color:var(--muted);font-size:11px;line-height:1.5}
.copy-status:empty{display:none}
.prompt-text{max-width:72ch;margin:0;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:14px;font-weight:400;line-height:1.75;letter-spacing:0;tab-size:2}
.prompt-section-title{display:block;font-weight:700}
.prompt-section-gap{display:none}
.is-collapsible:not(.is-expanded) .prompt-text{max-height:12.25em;max-height:7lh;overflow:hidden}
.prompt-toggle{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;line-height:1.4;cursor:pointer;-webkit-tap-highlight-color:transparent}
.project-footer{padding-top:36px;padding-bottom:max(48px,calc(28px + env(safe-area-inset-bottom,0px)))}
.referral-kicker{margin:0 0 14px;color:var(--muted);font-family:var(--mono);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.025em}
.referral-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:100%;min-height:44px;color:var(--ink);font-family:var(--display);font-size:clamp(28px,8.2vw,36px);font-weight:900;line-height:1.15;letter-spacing:-.045em;text-decoration:none}
.referral-line{display:block;min-width:0;max-width:100%;padding-bottom:.02em;border-bottom:1px solid currentColor}
.referral-last{display:flex;align-items:center;gap:.24em}
.referral-arrow{flex:none;width:.78em;height:.78em}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px}
.footer-bottom>.eyebrow{color:var(--muted)}
.prompt-theme-toggle{flex:none}
.referral-link:focus-visible,.copy-button:focus-visible,.prompt-text:focus-visible,.prompt-toggle:focus-visible,.carousel-controls button:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
@media(hover:hover){.referral-link:hover,.carousel-controls button:hover,.prompt-toggle:hover{opacity:.55}.copy-button:hover{opacity:.8}}
@media(min-width:768px){.prompt-page{--page-gutter:40px}.project-intro{padding-top:56px;padding-bottom:24px}.project-intro h1{font-size:clamp(70px,6.5vw,84px)}.intro-meta{margin-bottom:28px}.intro-bottom{margin-top:32px}.project-description{font-size:19px}.eyebrow{font-size:11px}.study{padding-block:20px 32px}.study+.study{padding-top:32px}.study h2{font-size:34px}.project-footer{padding-top:40px}.footer-bottom{margin-top:40px}.referral-kicker{font-size:14px}.referral-link{font-size:44px}}
@media(max-width:767px){.prompt-main{width:calc(100% - 2 * var(--page-gutter))}.project-intro{padding-top:46px}.study-heading{margin-bottom:12px}.study-layout{grid-template-columns:1fr;gap:16px}.prompt-toolbar{margin-bottom:12px}.prompt-text{font-size:15px;line-height:1.7}.is-collapsible:not(.is-expanded) .prompt-text{max-height:11.9em;max-height:7lh}.copy-status{font-size:12px}}
@media(max-width:359px){.prompt-page{--page-gutter:18px}.project-intro h1{font-size:46px}.intro-meta .eyebrow{font-size:9px}.footer-bottom>.eyebrow{font-size:9px}}

.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.footer-identity>.eyebrow{color:var(--muted)}
.footer-bottom{align-items:flex-start}

/* Reserve the homepage corner controls below the publication footer. */
.corner-footer{padding-bottom:calc(var(--theme-bottom) + env(safe-area-inset-bottom,0px) + 68px)}
@media(max-width:767px){.corner-footer{padding-bottom:calc(48px + env(safe-area-inset-bottom,0px) + 68px)}}

/* A visible return to the catalog is available before and after each post. */
.prompt-back{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:44px;padding:0;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:13px;font-weight:600;line-height:20px;letter-spacing:.04em;text-decoration:none;-webkit-tap-highlight-color:transparent}
.prompt-back-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--ink) 35%,var(--paper));border-radius:50%}
.prompt-back-icon svg{display:block;width:16px;height:16px}
.prompt-back-label{min-width:0}
.project-intro.post-intro{padding-top:18px}
.post-nav{display:flex;margin-bottom:8px}
.prompt-back:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
@media(hover:hover){.prompt-back:hover{opacity:.55}}
@media(max-width:767px){.project-intro.post-intro{padding-top:8px}}
