.trap-page{width:min(88rem,calc(100% - 2.5rem));margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 0 6rem}
.trap-hero{display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:3rem;align-items:end;padding:0 0 2.5rem;border-bottom:1px solid var(--line)}
.trap-hero h1{max-width:20ch;margin:.5rem 0 1rem;font:700 clamp(2.8rem,6vw,5.8rem)/.92 var(--font-display);letter-spacing:-.035em;text-wrap:balance}
.trap-hero>div>p:last-child{max-width:65ch;color:var(--sand-300)}
.trap-hero aside{display:grid;padding:1.4rem;border:1px solid var(--line);background:linear-gradient(135deg,rgba(240,90,42,.14),rgba(185,227,75,.06))}
.trap-hero aside strong{font:700 3.5rem/1 var(--font-display);color:var(--lime-400)}.trap-hero aside span{margin-top:.4rem;color:var(--sand-300)}
.trap-controls{display:grid;grid-template-columns:minmax(16rem,1fr) 18rem;gap:1rem;padding:1.5rem 0}.trap-controls label{display:grid;gap:.4rem}.trap-controls span{color:var(--sand-300);font-size:.75rem}.trap-controls input,.trap-controls select{min-height:3rem;padding:.7rem .85rem;border:1px solid var(--line-strong);background:var(--ink-850);color:var(--sand-50)}
.trap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.trap-card{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid var(--line);background:linear-gradient(145deg,var(--ink-850),var(--ink-900));transition:transform .18s var(--ease),border-color .18s var(--ease)}
.trap-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.trap-card__media{position:relative;grid-row:1/5;min-height:10rem;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle,rgba(240,90,42,.22),transparent 65%),var(--ink-950)}
.trap-card__media img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(0,0,0,.55))}.trap-card__media span{position:absolute;top:.5rem;left:.5rem;color:var(--rust-500);font:700 .68rem var(--font-mono)}
.trap-card header{display:block}.trap-card header a{color:inherit}.trap-card header a:hover{color:var(--lime-400)}.trap-card h2{margin:.15rem 0 0;font:700 1.8rem/1 var(--font-display)}.trap-card header p,.trap-card>p{margin:0;color:var(--sand-300)}
.trap-card h3{margin:0 0 .5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.trap-card ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.trap-card li{padding:.3rem .45rem;background:var(--ink-700);color:var(--sand-100);font-size:.72rem}
.trap-card__facts{display:flex;gap:.4rem;flex-wrap:wrap}.trap-card__facts span{padding:.28rem .42rem;border:1px solid var(--line);color:var(--sand-400);font:600 .64rem var(--font-mono)}
.trap-card .trap-card__action{grid-column:1/-1;min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;padding:.1rem .2rem 0;border-top:1px solid var(--line);color:var(--sand-100);font-size:.78rem}.trap-card__action:hover{color:var(--lime-400)}
.trap-empty{grid-column:1/-1;padding:3rem;border:1px dashed var(--line-strong);color:var(--sand-300)}
@media(max-width:760px){.trap-hero,.trap-controls,.trap-grid{grid-template-columns:1fr}.trap-hero{gap:1.5rem}.trap-hero aside{width:100%}.trap-page{width:calc(100% - 1.5rem)}}
@media(max-width:460px){.trap-card{grid-template-columns:5.5rem minmax(0,1fr)}.trap-card__media{min-height:8rem;grid-row:1/2}.trap-card__facts,.trap-card>p,.trap-card>div:not(.trap-card__facts){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.trap-card{transition:none}.trap-card:hover{transform:none}}
