/*! Love, in 3D — rendered live — © 2026 Hasib (OVERSHOOT). All rights reserved. Licensed, not sold: see LICENSE.md. */:root{--bg: #0a0405;--ink: #ffe9ea;--muted: #8a6b6d;--front: #ff8a72;--mid: #ff2d2d;--back: #e01e37;--deep: #8b0c1a;--panel: #160809;--panel-2: #1a090b;--gutter: #4a2a2c;--c-sel: #ff8f8f;--c-prop: #ffb3a7;--c-val: #ff5a5f;--c-num: #ffcf7d;--c-fn: #ff9a8b;--c-kw: #ff5a5f;--c-cm: #7e5658;--c-pn: #8a5a5c;--ease: cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(120% 80% at 50% 8%,#260909 0%,transparent 55%),var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}.reel{position:relative;width:min(100vw,56.25dvh);height:auto;aspect-ratio:9 / 16;max-height:100dvh;margin:0 auto;display:flex;flex-direction:column;gap:clamp(8px,2.2vh,18px);padding:clamp(14px,3vh,26px) clamp(12px,3.4vw,22px);overflow:hidden;background:radial-gradient(110% 55% at 50% 26%,#2a0c0c 0%,transparent 60%),linear-gradient(180deg,#120607,#0a0405);box-shadow:0 0 120px -20px #3a0a0e,inset 0 0 140px -60px #5a1420;isolation:isolate}.grain{position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(140% 100% at 50% 50%,transparent 58%,rgba(0,0,0,.5) 100%);mix-blend-mode:multiply}.grain:after{content:"";position:absolute;inset:-50%;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.4'/></svg>");opacity:.035}.particles{position:absolute;inset:0;z-index:1;pointer-events:none}.particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--mid);opacity:0;box-shadow:0 0 8px var(--mid);animation:drift var(--d, 14s) var(--ease) var(--delay, 0s) infinite;will-change:transform,opacity}@keyframes drift{0%{opacity:0;transform:translate3d(0,14px,0) scale(.6)}18%{opacity:.8}82%{opacity:.5}to{opacity:0;transform:translate3d(var(--dx, 6px),-150px,0) scale(1.1)}}.title{position:relative;z-index:2;margin:0;text-align:center;font-weight:800;font-size:clamp(26px,7.4vw,46px);letter-spacing:-.02em;line-height:1;color:#ffeaea;text-shadow:0 4px 30px rgba(255,45,45,.22)}.title__grad{background:linear-gradient(100deg,var(--front),var(--mid) 45%,var(--back) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.window{position:relative;z-index:2;flex:1.32;min-height:0;display:flex;flex-direction:column;border-radius:16px;background:linear-gradient(180deg,#1a090b,#120607);border:1px solid #341619;box-shadow:0 30px 70px -30px #000,0 0 0 1px #1a0c0d inset,0 -1px 50px -22px #5a1420;overflow:hidden}.window__bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#150809;border-bottom:1px solid #2a1114}.dot{width:11px;height:11px;border-radius:50%;flex:none}.dot--r{background:#ff5f57}.dot--y{background:#febc2e}.dot--g{background:#28c840}.window__url{display:inline-flex;align-items:center;gap:6px;margin:0 auto;padding:5px 14px;border-radius:999px;background:#241113;color:#c0888a;font:500 12px/1 JetBrains Mono,monospace;letter-spacing:.02em}.window__url svg{color:#8a5a5c}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.stage__glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(48% 42% at 50% 48%,rgba(224,30,55,.42) 0%,rgba(255,45,45,.12) 38%,transparent 70%);animation:glowpulse 2.6s var(--ease) infinite;will-change:opacity,transform}@keyframes glowpulse{0%,to{opacity:.55;transform:scale(1)}14%{opacity:.95;transform:scale(1.06)}42%{opacity:.75;transform:scale(1.02)}}.scene{position:absolute;inset:0;z-index:1;display:grid;place-items:center;perspective:800px;perspective-origin:50% 47%;animation:scenein 1.1s var(--ease) both}@keyframes scenein{0%{opacity:0}to{opacity:1}}.tilt{transform:rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg));transition:transform .25s var(--ease);transform-style:preserve-3d}.beat{transform-style:preserve-3d;animation:beat 2.6s var(--ease) infinite;will-change:transform}.spin{position:relative;width:0;height:0;transform-style:preserve-3d;animation:spin 8s ease-in-out infinite alternate;will-change:transform}@keyframes spin{0%{transform:rotateY(-30deg) rotateX(7deg)}to{transform:rotateY(30deg) rotateX(-5deg)}}@keyframes beat{0%,to{transform:scale(1)}14%{transform:scale(1.06)}28%{transform:scale(1)}42%{transform:scale(1.03)}56%{transform:scale(1)}}.hc-layer{position:absolute;left:50%;top:50%;transform-style:preserve-3d;margin-left:calc(var(--w) / -2);margin-top:calc(var(--h) / -2);width:var(--w);height:var(--h)}.hc-row{position:absolute;left:50%;text-align:center;white-space:nowrap;overflow:hidden;font-weight:500;letter-spacing:1.5px;line-height:1;user-select:none;color:color-mix(in oklab,var(--front),var(--deep) calc(var(--depth) * 100%));opacity:calc(1 - var(--depth) * .6);text-shadow:0 0 calc(4px + var(--depth) * 9px) color-mix(in oklab,var(--mid),var(--back) calc(var(--depth) * 100%));animation:shimmer 4.5s ease-in-out var(--sh, 0s) infinite;will-change:opacity}@keyframes shimmer{0%,to{opacity:calc(1 - var(--depth) * .6)}50%{opacity:calc((1 - var(--depth) * .6) * .7)}}.panels{position:relative;z-index:3;flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel{display:flex;flex-direction:column;min-width:0;min-height:0;border-radius:12px;background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid #2a1013;box-shadow:0 18px 50px -28px #000,0 0 0 1px #190a0c inset;overflow:hidden}.panel__bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#150809;border-bottom:1px solid #2a1013}.panel__bar .d{width:7px;height:7px;border-radius:50%;flex:none;background:#2b1316}.panel__bar .d:nth-child(1){background:#ff5f57}.panel__bar .d:nth-child(2){background:#febc2e}.panel__bar .d:nth-child(3){background:#28c840}.panel__name{margin-left:7px;font:500 11px/1 JetBrains Mono,monospace;color:#c0888a}.code{margin:0;flex:1;min-height:0;overflow:hidden;padding:8px 4px 8px 0;font:500 clamp(9px,2.5vw,12px)/1.55 "JetBrains Mono",monospace;white-space:pre;counter-reset:ln}.code code{display:block}.ln{display:block;position:relative;padding-left:34px;counter-increment:ln;opacity:0;transform:translateY(6px)}.ln:before{content:counter(ln);position:absolute;left:0;width:22px;text-align:right;color:var(--gutter);font-weight:400}.ln.cur{background:linear-gradient(90deg,rgba(255,45,45,.07),transparent 70%)}.ln.cur:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--mid);box-shadow:0 0 10px var(--mid)}body.lit .ln{animation:reveal .5s var(--ease) forwards;animation-delay:calc(var(--i) * 55ms + .35s)}@keyframes reveal{to{opacity:1;transform:none}}.sel{color:var(--c-sel)}.pr{color:var(--c-prop)}.vl{color:var(--c-val)}.nm{color:var(--c-num)}.fn{color:var(--c-fn)}.kw{color:var(--c-kw);font-style:italic}.cm{color:var(--c-cm);font-style:italic}.pn{color:var(--c-pn)}.sw{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px;vertical-align:middle;transform:translateY(-1px);box-shadow:0 0 0 1px #0006 inset}.sw--r{background:#ff2d2d}.sw--c{background:#ff5a5f}.caret{display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--front);box-shadow:0 0 10px var(--front);animation:blink 1.05s steps(1) infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.spin{animation:none;transform:rotateY(-18deg) rotateX(4deg)}.beat,.hc-row,.particles,.caret,.stage__glow,.scene{animation:none}.particles i{opacity:.5}.stage__glow{opacity:.7}body.lit .ln,.ln{animation:none;opacity:1;transform:none}}
