/* AI transparency: large, factual credentials and concise workflow. */
.vibe-coding{background:var(--orange);color:var(--navy);padding-top:90px;padding-bottom:100px}
.vibe-coding .section-heading{margin-bottom:38px}
.vibe-coding .section-heading h2{font-size:clamp(34px,3.8vw,60px)}
.vibe-coding .thread-pin{background:var(--orange);border-color:var(--navy)}
.vibe-layout{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.45fr);gap:clamp(35px,6vw,100px)}
.vibe-yes{font-size:clamp(96px,10vw,155px);line-height:.95;letter-spacing:-.065em;white-space:nowrap;margin-bottom:28px}
.vibe-quote{margin:0 0 30px;max-width:380px}
.vibe-quote blockquote{margin:0;font-size:clamp(21px,2vw,30px);line-height:1.22;letter-spacing:-.025em}
.vibe-quote figcaption{font-size:13px;line-height:1.45;margin-top:16px}
.vibe-quote figcaption span{display:block}
.vibe-quote a,.vibe-sources a{text-underline-offset:4px;text-decoration-thickness:1px}
.vibe-experience{display:grid;grid-template-columns:.85fr .85fr 1.35fr;gap:20px;margin:0 0 24px}
.vibe-experience>div>span{display:block;font-size:clamp(64px,6.5vw,100px);line-height:.95;letter-spacing:-.055em}
.vibe-experience p{font-size:clamp(13px,1.2vw,17px);line-height:1.3;margin-top:12px}
.vibe-background{border-top:1px solid var(--navy);padding-top:15px;font-size:clamp(13px,1.15vw,17px);line-height:1.5}
.vibe-background p+p{margin-top:5px}
.vibe-background strong{font-weight:400}
.vibe-workflow{margin-top:30px}
.vibe-workflow h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.035em;line-height:1.15}
.vibe-method{font-size:14px;line-height:1.4;max-width:490px;margin:10px 0 18px}
.vibe-safeguards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.vibe-safeguards li{display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--navy);padding:13px 0;font-size:16px;line-height:1.3}
.safeguard-number{font-family:"FK Grotesk Mono",monospace;font-size:10px;flex-shrink:0}
.vibe-bottom{border-top:1px solid var(--navy);padding-top:18px;margin-top:32px;display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between}
.vibe-bottom>p{font-size:17px;line-height:1.3}
.vibe-sources{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;line-height:1.5}
/* Adapted from Uiverse.io by 0xnihilism; site palette and supplied geometry. */
.brutalist-button.openai{display:flex;align-items:center;width:240px;height:70px;background:var(--teal);color:var(--black);text-decoration:none;font-weight:700;border:3px solid var(--black);padding:0 12px;position:relative;box-shadow:5px 5px 0 var(--black);overflow:hidden;transition:all .3s ease}
.brutalist-button.openai::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,color-mix(in srgb,var(--paper) 30%,transparent),transparent);transition:all .6s ease}
.brutalist-button.openai:hover::before{left:100%}
.brutalist-button.openai:hover{background:var(--orange);transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--black)}
.brutalist-button.openai:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--black)}
@keyframes spin-and-zoom{from{transform:rotate(0) scale(1.1)}to{transform:rotate(360deg) scale(1.1)}}
.brutalist-button:hover .openai-icon{animation:spin-and-zoom 1s linear infinite}
.openai-logo{display:flex;align-items:center;margin-right:16px}
.brutalist-button .openai-icon{width:28px;height:28px;margin-right:10px;margin-bottom:2px;fill:var(--black);transition:all .3s ease}
.openai-text{font-size:22px;font-weight:700;letter-spacing:-.5px}
.button-text{display:flex;flex-direction:column;line-height:1.1}
.button-text span:first-child{font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:1px}
.button-text span:last-child{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}
.brutalist-button:hover .button-text span:last-child{color:var(--navy)}

.vibe-coding .brutalist-button.openai{background:var(--navy);color:var(--orange);width:216px;height:60px}
.vibe-coding .brutalist-button.openai:hover{background:var(--black)}
.vibe-coding .brutalist-button .openai-icon{fill:var(--orange)}
.vibe-coding .brutalist-button:hover .button-text span:last-child{color:var(--orange)}
body.orange-chapter .chapter-rail button[data-chapter="vibe-coding"][aria-current="step"]::before{background:var(--navy);border-color:var(--navy)}
/* The full-screen dialog owns the click canvas in the browser's top layer. */
#vibe-warning{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;padding:24px;background:transparent;color:var(--black);overflow:hidden}
#vibe-warning[open]{display:grid;place-items:center}
#vibe-warning::backdrop{background:color-mix(in srgb,var(--navy) 25%,transparent)}
#vibe-warning .brutalist-card{position:relative;z-index:2;width:min(380px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:4px solid var(--black);padding:1.5rem;background:var(--orange);box-shadow:10px 10px 0 var(--black);font-family:"FK Grotesk Neue",Arial,sans-serif}
.vibe-cursor-fx{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.brutalist-card__header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;border-bottom:2px solid var(--black);padding-bottom:1rem}
.brutalist-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--black);padding:.5rem}
.brutalist-card__icon svg{height:1.5rem;width:1.5rem;fill:var(--orange)}
.brutalist-card__alert{font-weight:900;font-size:1.5rem;text-transform:uppercase}
.brutalist-card__message{margin-top:1rem;font-size:.9rem;line-height:1.4;border-bottom:2px solid var(--black);padding-bottom:1rem;font-weight:600}
.vibe-error-code{display:block;font-family:"FK Grotesk Mono",monospace;font-size:11px;margin-bottom:12px}
.vibe-punchline{margin-top:14px}
.brutalist-card__actions{margin-top:1rem}
.brutalist-card__button{display:block;width:100%;padding:.75rem;text-align:center;font-size:1rem;font-weight:700;text-transform:uppercase;border:3px solid var(--black);background:var(--paper);color:var(--black);position:relative;transition:all .2s ease;box-shadow:5px 5px 0 var(--black);overflow:hidden;text-decoration:none;margin-bottom:1rem}
.brutalist-card__button--read{background:var(--black);color:var(--paper)}
.brutalist-card__button::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,color-mix(in srgb,var(--paper) 30%,transparent),transparent);transition:all .6s}
.brutalist-card__button:hover::before{left:100%}
.brutalist-card__button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--black)}
.brutalist-card__button--mark:hover{background:var(--teal)}
.brutalist-card__button--read:hover{background:var(--orange);color:var(--black)}
.brutalist-card__button:active{transform:translate(5px,5px);box-shadow:none}
.brutalist-card__actions>:last-child{margin-bottom:4px}

.brutalist-card__button{background:var(--orange)}
.brutalist-card__button--read{background:var(--black);color:var(--orange)}
.brutalist-card__button--read:hover{background:var(--navy);color:var(--orange)}
.vibe-code-reveal{position:fixed;inset:9% 4% auto auto;width:min(480px,76vw);z-index:40;background:var(--navy);color:var(--orange);border:2px solid var(--orange);box-shadow:12px 12px 0 var(--black);transform:rotate(4deg);pointer-events:none}
.vibe-code-top{padding:10px 16px;border-bottom:1px solid var(--orange);font-family:"FK Grotesk Mono",monospace;font-size:12px}
.vibe-code-reveal pre{padding:20px;font-size:clamp(12px,1.25vw,17px);line-height:1.6;color:#FE3E00}
.vibe-code-label{display:block;border-top:1px solid var(--orange);padding:12px 16px;font-family:"FK Grotesk Mono",monospace;font-size:11px}
[data-glitch-text]{position:relative}
.vibe-text-fx{position:absolute;inset:-16px -40px;width:calc(100% + 80px);height:calc(100% + 32px);pointer-events:none;overflow:visible}
.vibe-fx-original{opacity:0}
body.vibe-broken #vibe-coding::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,color-mix(in srgb,var(--navy) 16%,transparent) 5px 6px);z-index:5}
body.vibe-broken #vibe-coding::before{content:"";position:absolute;inset:15% 0;pointer-events:none;border-top:14px solid color-mix(in srgb,var(--teal) 40%,transparent);border-bottom:6px solid color-mix(in srgb,var(--navy) 45%,transparent);z-index:5;transform:skewY(-2deg)}
body.vibe-broken #vibe-coding .vibe-layout{animation:vibe-fracture 1.4s steps(1,end) 3}
body.vibe-broken .vibe-code-reveal{animation:vibe-code-fracture 1.7s steps(1,end) 2}
@keyframes vibe-fracture{0%,100%{transform:none}9%{transform:translate(-15px,2px) skewX(-2deg)}12%{transform:translate(10px,-2px)}17%,49%{transform:none}53%{transform:translate(-6px,0) skewX(1deg)}56%{transform:translate(18px,3px)}60%,86%{transform:none}90%{transform:translate(-11px,-2px)}}
@keyframes vibe-code-fracture{0%,100%{transform:rotate(4deg)}18%{transform:translate(-20px,7px) rotate(2deg)}21%,66%{transform:rotate(4deg)}70%{transform:translate(12px,-10px) rotate(6deg)}74%{transform:rotate(4deg)}}
@media(min-width:761px) and (max-height:800px){.vibe-coding{padding-top:78px;padding-bottom:90px}.vibe-coding .section-heading{margin-bottom:24px}.vibe-coding .section-heading h2{font-size:40px}.vibe-yes{font-size:108px;margin-bottom:22px}.vibe-quote{margin-bottom:24px}.vibe-quote blockquote{font-size:23px}.vibe-experience{margin-bottom:16px}.vibe-experience>div>span{font-size:70px}.vibe-experience p{font-size:14px;margin-top:8px}.vibe-background{font-size:13px;padding-top:12px}.vibe-workflow{margin-top:22px}.vibe-workflow h3{font-size:24px}.vibe-method{font-size:13px;margin-bottom:12px}.vibe-safeguards li{font-size:14px;padding:10px 0}.vibe-bottom{margin-top:24px;padding-top:15px}.vibe-bottom>p{font-size:15px}}
@media(max-width:1100px){.vibe-layout{grid-template-columns:minmax(210px,.85fr) minmax(0,1.3fr);gap:35px}.vibe-yes{font-size:100px}.vibe-experience{gap:12px}.vibe-safeguards{gap:0 16px}.vibe-safeguards li{font-size:14px;gap:8px}}
@media(max-width:760px){.vibe-coding{padding-top:95px;padding-bottom:100px}.vibe-coding .section-heading{margin-bottom:32px}.vibe-layout{grid-template-columns:1fr;gap:42px}.vibe-yes{font-size:clamp(95px,24vw,150px);margin-bottom:25px}.vibe-quote{max-width:440px;margin-bottom:25px}.vibe-quote blockquote{font-size:25px}.vibe-experience>div>span{font-size:66px}.vibe-experience p{font-size:13px}.vibe-background{font-size:14px}.vibe-workflow h3{font-size:26px}.vibe-method{font-size:15px}.vibe-safeguards li{font-size:15px;padding:15px 0}.vibe-bottom{margin-top:25px;gap:20px}.vibe-bottom>p{font-size:17px}.vibe-code-reveal{inset:6% 20px auto auto}#vibe-warning .brutalist-card{padding:1.25rem}}
@media(prefers-reduced-motion:reduce){body.vibe-broken #vibe-coding .vibe-layout,body.vibe-broken .vibe-code-reveal,.brutalist-button:hover .openai-icon{animation:none}.vibe-code-reveal{transform:none}body.vibe-broken [data-glitch-text]{text-shadow:3px 1px 0 var(--teal)}}
@media print{.vibe-code-reveal,.vibe-cursor-fx,.vibe-text-fx{display:none!important}.vibe-fx-original{opacity:1}.vibe-coding{padding:20px 25px 25px}.vibe-coding .section-heading{margin-bottom:22px}.vibe-coding .section-heading h2{font-size:32px}.vibe-layout{grid-template-columns:1fr 1.5fr;gap:35px}.vibe-yes{font-size:90px}.vibe-quote blockquote{font-size:21px}.vibe-experience>div>span{font-size:64px}.vibe-workflow{margin-top:20px}.vibe-workflow h3{font-size:24px}.vibe-safeguards li{font-size:13px;padding:10px 0}.vibe-bottom{margin-top:20px}.vibe-bottom>p{font-size:14px}.brutalist-button.openai{box-shadow:none}body.vibe-broken #vibe-coding::before,body.vibe-broken #vibe-coding::after{display:none}}
/* Restart: CRT collapse, 1s black, then a 1.5s scrolling boot sequence. */
body.vibe-restarting{overflow:hidden}
.vibe-restart-screen{position:fixed;inset:0;z-index:200;background:var(--black);color:var(--paper);outline:none;overflow:hidden;opacity:1;transition:opacity 600ms ease}
.vibe-restart-screen.vibe-reveal{opacity:0}
.vibe-restart-screen[hidden],.vibe-boot-screen[hidden],.vibe-tv-picture[hidden]{display:none!important}
.vibe-tv-picture{position:absolute;inset:0;overflow:hidden;transform-origin:center center}
.vibe-tv-picture .vibe-coding{margin:0}
.vibe-tv-beam{position:absolute;left:10%;right:10%;top:50%;height:2px;background:var(--paper);opacity:0;transform-origin:center}
@keyframes vibe-tv-off{0%{transform:scale(1,1);filter:brightness(1)}55%{transform:scale(1,.012);filter:brightness(2)}75%{transform:scale(.8,.003);filter:brightness(2)}100%{transform:scale(0,0);filter:brightness(1)}}
@keyframes vibe-tv-beam{0%,45%{opacity:0;transform:scaleX(1)}60%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(0)}}
.tv-shutdown .vibe-tv-picture{animation:vibe-tv-off 450ms ease-in forwards}
.tv-shutdown .vibe-tv-beam{animation:vibe-tv-beam 450ms ease-in forwards}
.vibe-boot-screen{position:absolute;inset:0;padding:clamp(25px,5vw,75px);display:flex;flex-direction:column;font-family:"FK Grotesk Mono",monospace;color:var(--paper)}
.vibe-boot-heading{display:flex;justify-content:space-between;gap:20px;font-size:clamp(11px,1.2vw,17px);border-bottom:1px solid var(--teal);padding-bottom:20px;color:var(--orange)}
.vibe-boot-log{flex:1;min-height:0;overflow:auto;padding-top:30px;scrollbar-width:none}
.vibe-boot-log pre{padding:0;font-size:clamp(12px,1.5vw,21px);line-height:1.7}
.vibe-boot-footer{display:flex;justify-content:space-between;border-top:1px solid var(--teal);padding-top:15px;font-size:11px;color:var(--orange)}
.vibe-restart-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.tv-shutdown .vibe-tv-picture,.tv-shutdown .vibe-tv-beam{animation:none}.vibe-restart-screen{transition:none}}
@media print{.vibe-restart-screen{display:none!important}}
