.btn{--bg:var(--lantern);--fg:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:600 1rem/1 var(--f-b);padding:.95em 1.4em;border-radius:999px;border:2px solid transparent;background:var(--bg);color:var(--fg);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.btn:hover{color:var(--fg);transform:translateY(-2px);box-shadow:0 10px 24px -10px color-mix(in srgb, var(--lantern-deep) 80%, transparent)}
.btn:active{transform:translateY(0)}
.btn.ghost{--bg:transparent;border-color:var(--ink)}
.btn.ghost:hover{box-shadow:none;background:color-mix(in srgb, var(--ink) 6%, transparent)}
.is-dark .btn.ghost{border-color:var(--paper);--fg:var(--paper)}
.btn.inkb{--bg:var(--ink);--fg:var(--paper)}
.btn.sm{padding:.7em 1.1em;font-size:.92rem}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(20px,2.4vw,30px);position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.card.lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-up)}
.card .glow{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb, var(--lantern) 22%, transparent),transparent 60%);opacity:0;transition:opacity .3s}
.card.lift:hover .glow{opacity:1}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;margin-top:10px;cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink);flex:none}
