.card{background:var(--paper);border:1.5px solid var(--ink);border-radius:18px;padding:1.5rem;margin:1rem 0;display:flex;flex-direction:column;gap:.9rem;box-shadow:var(--sh)}
input,textarea,select{width:100%;background:#fff;color:var(--ink);border:1.5px solid var(--ink);border-radius:12px;padding:.8rem 1rem;font:inherit;transition:box-shadow .15s,transform .15s}
input:focus,textarea:focus,select:focus{outline:none;box-shadow:3px 3px 0 var(--ac);transform:translate(-1px,-1px)}
input::placeholder,textarea::placeholder{color:#9a9186}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid var(--ink);cursor:pointer;background:var(--ac);color:#fff;font:600 .98rem var(--sans);padding:.78rem 1.4rem;border-radius:99px;text-decoration:none;box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}
.btn.g{background:var(--paper);color:var(--ink)}.btn.danger{background:var(--bad)}.btn.sm{padding:.5rem 1.1rem;font-size:.9rem}.btn[disabled]{opacity:.6;cursor:wait}
.btn .ar{transition:transform .2s}.btn:hover .ar{transform:translateX(5px)}
.btn.ld{position:relative;color:transparent!important;pointer-events:none}.btn.ld::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2.5px solid #fff6;border-top-color:#fff;animation:spin .7s linear infinite}.btn.g.ld::after{border-color:#15120f33;border-top-color:var(--ink)}
.chip{display:inline-block;padding:.25rem .75rem;border:1.5px solid var(--ink);border-radius:99px;font:500 .76rem var(--mono);background:var(--paper)}.chip.ok{background:#c9f0e0}.chip.bad{background:#ffd5cc}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips .chip{cursor:pointer;font-family:var(--sans);font-size:.9rem;transition:background .15s,transform .15s}.chips .chip:hover,.chip.on{background:var(--hl);transform:translateY(-2px)}
.tabs{display:flex;gap:.3rem;background:var(--soft);padding:.3rem;border-radius:99px;border:1.5px solid var(--ink);overflow-x:auto}.tabs a{flex:1;text-align:center;white-space:nowrap;padding:.45rem .9rem;border-radius:99px;cursor:pointer;color:var(--mut);font-weight:500;font-size:.92rem;transition:background .2s,color .2s}.tabs a.on{background:var(--ink);color:var(--paper)}
.opt{display:flex;gap:.6rem;align-items:flex-start;padding:.8rem 1rem;border:1.5px solid var(--ink);border-radius:12px;cursor:pointer;background:#fff}.opt input{width:auto;margin-top:.3rem;accent-color:var(--ac)}.opt a{color:var(--ac2);font-weight:600}
.help{background:#fff4c2;border:1.5px solid var(--ink);border-radius:12px;padding:.8rem 1rem;font-size:.92rem}.help a{color:var(--ac2);font-weight:600}.help ol{margin:.5rem 0 .2rem 1.1rem;padding:0}.help li{margin:.25rem 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.9rem;margin:1.2rem 0}
.stat{background:var(--paper);border:1.5px solid var(--ink);border-radius:16px;padding:1rem 1.1rem;display:flex;flex-direction:column;box-shadow:var(--sh);transition:transform .15s,box-shadow .15s}.stat:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.stat b{font:400 2.6rem var(--serif);line-height:1}.stat span{color:var(--mut);font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.07em;margin-top:.4rem}
.warn{background:#ffe3dc;border:1.5px solid var(--ink);border-radius:14px;padding:.8rem 1rem;margin:.8rem 0;font-size:.92rem}
.fld{display:flex;flex-direction:column;gap:.3rem;margin:.9rem 0}.fld small{line-height:1.35}
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border:1.5px solid var(--ink);border-radius:99px;font:500 .76rem var(--mono);background:var(--paper)}.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ac2);animation:blink 1.6s infinite}
.or{display:flex;align-items:center;gap:.8rem;color:var(--mut);font-size:.85rem}.or::before,.or::after{content:"";flex:1;height:1.5px;background:#15120f26}
.oa{display:flex;align-items:center;justify-content:center;gap:.6rem}.oa svg{flex:none}
.cpy{cursor:pointer}.cpy:hover{background:var(--hl)}
.auth h3{font-size:1.9rem}
.spin{width:36px;height:36px;border-radius:50%;border:3px solid var(--soft);border-top-color:var(--ac);animation:spin .8s linear infinite}
.row .btn{padding:.42rem 1rem;font-size:.85rem}
.stat b{font-size:clamp(1.7rem,3vw,2.6rem);overflow-wrap:anywhere}
