@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

/* The supplied red ninja-crab artwork is the ClawNinja mark; never replace it with a drawn substitute. */
a.logo:not(:has(img)){width:92px;height:68px;background:url('../assets/logo.png') center/contain no-repeat;font-size:0}.logo img[src$="clawninja-mark.svg"]{content:url('../assets/logo.png');width:92px!important;height:68px!important;object-fit:contain}
/* Motion is deliberately ambient: a living gallery without obscuring the product copy. */
.poster:before{animation:card-current 7s ease-in-out infinite alternate}.poster:nth-child(2n):before{animation-delay:-2s}.poster:nth-child(3n):before{animation-duration:10s}@keyframes card-current{to{transform:scale(1.12) translate(-3%,-2%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* The product choice belongs in an interruption-free, centered portal rather than a sidebar. */
body.modal-open{overflow:hidden}.buy-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;visibility:hidden;opacity:0;transition:opacity .24s ease,visibility .24s}.buy-modal.is-open{visibility:visible;opacity:1}.buy-backdrop{position:absolute;inset:0;background:rgba(2,2,4,.74);backdrop-filter:blur(14px)}.buy-sheet{position:relative;width:min(460px,100%);padding:30px;border:1px solid rgba(255,189,164,.48);border-radius:28px;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% -3%,rgba(249,63,55,.4),transparent 41%),linear-gradient(145deg,#211014,#0c0c0e 68%);box-shadow:0 30px 100px rgba(0,0,0,.75);transform:translateY(18px) scale(.97);transition:transform .28s cubic-bezier(.2,.85,.25,1)}.is-open .buy-sheet{transform:translateY(0) scale(1)}.buy-sheet:before{content:'';position:absolute;inset:10px;border:1px solid rgba(255,255,255,.14);border-radius:20px;pointer-events:none}.buy-close{position:absolute;z-index:2;right:18px;top:15px;width:36px;height:36px;border:1px solid var(--l);border-radius:50%;background:#17171a;color:#fff;font-size:26px;line-height:1;cursor:pointer}.buy-kicker{position:relative;color:#ffae99;font:10px var(--mono);letter-spacing:.14em}.buy-logo{position:relative;display:block;width:145px;height:125px;object-fit:contain;margin:6px auto -7px;filter:drop-shadow(0 0 24px rgba(240,42,50,.35));animation:float 4s ease-in-out infinite}.buy-sheet h2{position:relative;margin:6px 0;font:clamp(38px,9vw,54px)/.92 var(--display);letter-spacing:-.075em;text-transform:uppercase}.buy-detail{position:relative;margin:0;color:#d2cfcc;font-size:15px}.buy-price{position:relative;margin:18px 0;color:#ffbc8a;font:50px/.9 var(--display);letter-spacing:-.07em}.buy-note{position:relative;margin:0 auto 20px;max-width:340px;color:var(--m);font:11px/1.6 var(--mono)}.buy-action{position:relative;display:block;padding:16px;border-radius:13px;background:linear-gradient(90deg,#e92732,#ff7045);box-shadow:0 10px 30px rgba(240,42,50,.24);color:#fff;text-decoration:none;font-weight:800}.buy-switch{position:relative;margin-top:16px;border:0;background:none;color:#f2a291;font:11px var(--mono);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
/* The reference's softer product-gallery geometry replaces the early sharp prototype. */
.poster{border-radius:22px}.poster:after{border-radius:14px}.build,.dash{border-radius:18px}.offer{border-radius:26px}.unlock{border-radius:12px}.filters button{border-radius:999px}.file{border-radius:10px}.world{border-radius:24px}.poster:hover{box-shadow:0 18px 42px rgba(0,0,0,.38)}

:root{--b:#050506;--c:#0d0e10;--panel:#121315;--p:#f8f5ef;--m:#aaa8a5;--a:#f02a32;--hot:#ff633f;--l:rgba(255,255,255,.16);--display:'Archivo Black',Impact,sans-serif;--sans:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--b);color:var(--p);font-family:var(--sans);overflow-x:hidden}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-3;background:radial-gradient(ellipse at 50% 0,rgba(96,12,18,.24),transparent 34%),radial-gradient(ellipse at 12% 55%,rgba(245,88,36,.11),transparent 27%),#050506}.lib{width:min(1280px,100%);padding:0 28px;margin:auto}.ticker{height:35px;color:#170809;background:linear-gradient(90deg,#e51f2a,#ff7144,#e51f2a);display:flex;align-items:center;overflow:hidden;font:11px var(--mono);font-weight:500;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.ticker div{display:flex;width:max-content;animation:marquee 26s linear infinite}.ticker span{margin:0 30px}@keyframes marquee{to{transform:translateX(-50%)}}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5;border-bottom:1px solid var(--l)}.logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}.logo img{width:92px;height:68px;object-fit:contain;object-position:center}.navlinks{display:flex;align-items:center;gap:26px}.navlinks a{font:11px var(--mono);letter-spacing:.08em;color:var(--m);text-decoration:none;text-transform:uppercase}.navlinks a:hover,.navlinks .on{color:#fff}.unlock{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:12px 18px;background:var(--a);color:#fff;text-decoration:none;border:1px solid #ff7378;box-shadow:0 0 22px rgba(240,42,50,.28);font-size:12px;font-weight:800;transition:transform .2s,box-shadow .2s}.unlock:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(240,42,50,.5)}
.mast{position:relative;overflow:hidden;padding:100px 0 88px;isolation:isolate}.mast:before{content:'';position:absolute;z-index:-2;inset:0;background-image:radial-gradient(circle at 16% 27%,rgba(255,255,255,.85) 0 1px,transparent 1.5px),radial-gradient(circle at 81% 19%,rgba(255,149,89,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 68% 70%,rgba(255,255,255,.7) 0 1px,transparent 1.5px),radial-gradient(ellipse at 66% 44%,rgba(145,21,30,.34),transparent 40%);background-size:190px 170px,230px 210px,130px 150px,auto;animation:star-drift 18s ease-in-out infinite alternate}.mast:after{content:'✦';position:absolute;right:11%;top:19%;z-index:-1;font-size:150px;color:rgba(255,89,49,.1);filter:blur(1px);animation:flare 4s ease-in-out infinite}@keyframes star-drift{to{background-position:30px -25px,-20px 38px,18px -15px,0 0}}@keyframes flare{50%{transform:scale(1.25) rotate(18deg);opacity:.7}}.eyebrow{font:11px var(--mono);color:#ff9b81;letter-spacing:.12em;text-transform:uppercase}.mast h1{max-width:1050px;margin:18px 0 24px;font:clamp(58px,9vw,132px)/.84 var(--display);letter-spacing:-.078em;text-shadow:0 8px 45px rgba(0,0,0,.6)}.mast h1 em{font-style:normal;color:var(--a)}.mast p{position:relative;max-width:625px;margin:0;color:var(--m);font-size:18px;line-height:1.65}.section{position:relative;padding:86px 0}.section:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--l),transparent)}.head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.head h2{margin:8px 0 0;font:clamp(34px,4vw,60px)/.94 var(--display);letter-spacing:-.065em}.head p{max-width:460px;margin:0;color:var(--m);font-size:15px;line-height:1.7}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.poster{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:405px;overflow:hidden;padding:21px;border:1px solid var(--l);background:#101114;transition:transform .28s ease,border-color .28s ease}.poster:hover{transform:translateY(-7px);border-color:rgba(255,160,142,.76)}.poster:before{content:'';position:absolute;z-index:-3;inset:0;background:radial-gradient(circle at var(--x,70%) var(--y,28%),var(--g1),transparent 29%),linear-gradient(150deg,var(--g2),#08090a 76%)}.poster:after{content:'';position:absolute;z-index:-2;inset:10px;border:1px solid rgba(255,255,255,.18);pointer-events:none}.poster .number{font:11px var(--mono);letter-spacing:.1em;color:#f4d8d0}.poster h3{max-width:220px;margin:75px 0 9px;font:30px/.9 var(--display);letter-spacing:-.065em;text-transform:uppercase}.poster p{max-width:240px;margin:0;font-size:13px;line-height:1.55;color:#d3d0cc}.poster a{margin-top:auto;color:#fff;font:11px var(--mono);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}.poster a:after{content:'  ↗';color:#ff7660;font-size:17px}.p1{--g1:#ff593a;--g2:#3d1014;--x:80%;--y:20%}.p2{--g1:#9651ff;--g2:#21123f;--x:26%;--y:20%}.p3{--g1:#e5b45c;--g2:#493212;--x:80%;--y:28%}.p4{--g1:#f02a32;--g2:#330e16;--x:35%;--y:25%}.p5{--g1:#ff5d3d;--g2:#4b1512}.p6{--g1:#79bdff;--g2:#122a4b}.p7{--g1:#f1d56a;--g2:#514017}.p8{--g1:#8ad7bd;--g2:#153c36}.poster h3,.poster p,.poster a,.poster .number{position:relative;z-index:1}.poster .number:after{content:'';position:absolute;width:52px;height:3px;top:22px;left:0;background:var(--hot);box-shadow:0 0 15px var(--hot)}.p2 .number:after,.p6 .number:after{background:#8ed6ff;box-shadow:0 0 15px #8ed6ff}.p3 .number:after,.p7 .number:after{background:#f5c76c;box-shadow:0 0 15px #f5c76c}.p8 .number:after{background:#89e2c4;box-shadow:0 0 15px #89e2c4}.buildrow{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.build{min-height:270px;padding:27px;border:1px solid var(--l);background:linear-gradient(145deg,#15161a,#0b0c0e);transition:transform .25s}.build:hover{transform:translateY(-5px)}.build b{font:12px var(--mono);color:#ff9278}.build h3{margin:67px 0 10px;font:31px/.95 var(--display);letter-spacing:-.06em}.build p{margin:0;color:var(--m);font-size:14px}.offer{position:relative;overflow:hidden;background:linear-gradient(110deg,#ef2933,#9f1725);color:#fff;padding:42px;display:grid;grid-template-columns:1.35fr 1fr;gap:30px}.offer:after{content:'✦';position:absolute;right:4%;bottom:-45px;font-size:260px;color:rgba(255,255,255,.09);animation:flare 5s ease-in-out infinite}.offer h2{position:relative;margin:12px 0;font:clamp(38px,5vw,68px)/.92 var(--display);letter-spacing:-.075em}.offer p,.offer a{position:relative}.offer p{max-width:600px;color:#ffd9d0}.offer ul{position:relative;margin:0;padding-left:20px;font-size:14px;line-height:2}.offer a{display:inline-block;padding:13px 18px;background:#0b0c0d;color:#fff;text-decoration:none;font-size:12px;font-weight:800}.fine{font:11px/1.5 var(--mono);color:var(--m);margin-top:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--l)}.step{padding:20px 20px 20px 0;border-bottom:1px solid var(--l)}.step+.step{padding-left:20px;border-left:1px solid var(--l)}.step b{font:12px var(--mono);color:#ff8369}.step h3{margin:38px 0 8px;font-size:20px}.step p{margin:0;color:var(--m);font-size:13px}.dash{border:1px solid var(--l);padding:25px;background:linear-gradient(135deg,#14151a,#08090b)}.dashbar{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--l);color:var(--m);font:11px var(--mono)}.dashgrid{display:grid;grid-template-columns:210px 1fr;gap:20px;padding-top:20px}.side{color:var(--m);font:11px/2.8 var(--mono)}.side b{color:#ff9278}.files{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.file{padding:18px;background:#1b1c21;color:var(--p);font:12px var(--mono);border-left:2px solid var(--a)}.file small{display:block;margin-top:9px;color:var(--m)}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:27px}.filters button{padding:8px 11px;background:transparent;color:var(--m);border:1px solid var(--l);font:11px var(--mono);cursor:pointer}.filters button.active,.filters button:hover{background:var(--a);border-color:var(--a);color:#fff}footer{display:flex;justify-content:space-between;padding:36px 0;border-top:1px solid var(--l);color:var(--m);font:11px var(--mono)}
@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.buildrow{grid-template-columns:1fr}.offer{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.step:nth-child(3){padding-left:0;border-left:0}.dashgrid{grid-template-columns:1fr}.navlinks{gap:12px}}@media(max-width:560px){.lib{padding:0 18px}.ticker{height:31px;font-size:9px}.nav{height:73px}.logo img{width:71px;height:56px}.navlinks a:not(.keep){display:none}.unlock{min-height:36px;padding:9px 10px;font-size:10px}.mast{padding:72px 0 58px}.mast h1{font-size:56px}.mast p{font-size:15px}.section{padding:68px 0}.grid,.steps,.files{grid-template-columns:1fr}.poster{min-height:330px}.step+.step{padding-left:0;border-left:0}.head{display:block}.head p{margin-top:15px}.offer{padding:27px}.dash{padding:18px}.dashbar{font-size:9px}footer{display:block}footer p{margin:0 0 7px}}
