:root{--bg-0:#e8eef8;--bg-1:#d5dff0;--ink:#0b1c4a;--ink-soft:#2a3f73;--muted:#5c6d93;--line:#0b1c4a24;--panel:#f5f8ff;--accent:#ffcb05;--accent-ink:#0b1c4a;--danger:#e3350d;--font-logo:"Pokemon Solid", "Figtree", system-ui, sans-serif;--font-display:"Figtree", system-ui, sans-serif;--font-body:"Figtree", system-ui, sans-serif;--shadow:0 24px 60px #0b1c4a2e;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1100px 640px at 8% -12%, #ffe566 0%, transparent 52%), radial-gradient(900px 560px at 100% 8%, #7eb6ff 0%, transparent 48%), linear-gradient(165deg, var(--bg-0), var(--bg-1));background-attachment:fixed;min-width:320px;margin:0}body:before{content:"";pointer-events:none;opacity:.28;mix-blend-mode:soft-light;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.brand-mark span:last-child{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.35rem;font-weight:750}.btn{background:var(--ink);color:#f7f3ea;border:1px solid #0000;border-radius:999px;padding:.72rem 1.15rem;font-weight:600;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary:hover{background:#fff6}.btn-danger{color:var(--danger);background:0 0;border-color:#b33a2b40}.hero-visual:after{content:"";background:linear-gradient(160deg,#f2c14e80,#0000 48%);border-radius:42% 58% 48% 52%/40% 42% 58% 60%;width:min(64vw,540px);height:min(64vw,540px);animation:14s ease-in-out infinite alternate drift;position:absolute;bottom:-20%;right:-6%}.tabs{gap:.4rem;margin-bottom:1.5rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.stat{gap:.3rem;display:grid}.toolbar,.search-bar{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.toolbar input,.toolbar select,.search-bar input,.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--ink);background:#ffffff8c;border-radius:12px;min-width:0;padding:.7rem .85rem}.toolbar input,.search-bar input{flex:220px}.toolbar select{flex:0 160px}.search-bar input:focus,.toolbar input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#0000;outline:2px solid #f2c14eb3}.poke-tile{text-align:left;border:1px solid var(--line);color:inherit;background:#ffffff6b;border-radius:18px;gap:.7rem;padding:.85rem;transition:transform .18s,background .18s;display:grid}.top{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.1rem}@keyframes drift{0%{transform:translate(0,0)rotate(0)}to{transform:translate(-4%,3%)rotate(8deg)}}@keyframes float-a{0%,to{transform:rotate(-10deg)translate(-22%,10%)scale(.9)}50%{transform:rotate(-12deg)translate(-20%,6%)scale(.9)}}@keyframes float-b{0%,to{transform:rotate(7deg)translate(12%,-2%)scale(.95)}50%{transform:rotate(9deg)translate(14%,2%)scale(.95)}}@keyframes float-c{0%,to{transform:rotate(-2deg)translateY(0)}50%{transform:rotate(-1deg)translateY(-8px)}}@media (width<=760px){.hero{min-height:68vh}.hero-card-stack{width:56%;top:6%;right:-2%}.hero-copy{padding-top:54%}.stats-row,.form-row{grid-template-columns:1fr}.poke-tile.has-art{grid-template-columns:72px 1fr}.thumb,.thumb-wrap{width:72px}.thumb{height:100px}.modal-backdrop{place-items:end stretch}.nav-actions .btn-secondary{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.topbar .nav-actions{flex-wrap:wrap;gap:.55rem;display:flex}.app-shell{z-index:1;width:min(1080px,100% - 2rem);margin:0 auto;padding:1.25rem 0 5rem;position:relative}.brand-mark .dot{background:radial-gradient(circle at 35% 35%, #fff7d6, var(--accent) 55%, #c48a12);border-radius:50%;width:1.15rem;height:1.15rem;box-shadow:inset 0 0 0 2px #16140f2e}.brand-mark>span:last-child,.brand-mark span:not(.dot){font-family:var(--font-display);letter-spacing:-.03em;font-size:1.35rem;font-weight:750}.nav-actions{flex-wrap:wrap;gap:.55rem;display:flex}.btn-danger{color:var(--danger);background:0 0;border:1px solid #b33a2b40;border-radius:999px;padding:.72rem 1.15rem;font-weight:600}.hero-visual{z-index:-1;background:linear-gradient(115deg,#16140f33,#16140fb8 52%,#16140fe6),radial-gradient(circle at 78% 26%,#f2c14e6b,#0000 30%),linear-gradient(150deg,#2a2418,#15120e 50%,#243028);position:absolute;inset:0}.hero-card-stack{aspect-ratio:.72;perspective:900px;width:min(42%,300px);position:absolute;top:14%;right:7%}.tcard{color:#f7f3ea;background:linear-gradient(145deg,#3a3224,#1a1610);border:1px solid #ffffff24;border-radius:16px;flex-direction:column;justify-content:space-between;padding:.9rem;display:flex;position:absolute;inset:0;box-shadow:0 18px 40px #0000004d}.tcard:first-child{opacity:.55;animation:7s ease-in-out infinite float-a;transform:rotate(-10deg)translate(-22%,10%)scale(.9)}.tcard:nth-child(2){opacity:.82;background:linear-gradient(145deg,#2f4a38,#17241c);animation:8s ease-in-out infinite float-b;transform:rotate(7deg)translate(12%,-2%)scale(.95)}.tcard:nth-child(3){background:linear-gradient(145deg,#4a3a1c,#1f180e 55%,#2a2418);animation:6.5s ease-in-out infinite float-c;transform:rotate(-2deg)}.tcard .art{background:radial-gradient(circle at 50% 40%,#f2c14e8c,#0000 42%),linear-gradient(#ffffff14,#00000040);border-radius:10px;flex:1;margin-bottom:.7rem}.tcard .name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem}.tcard .meta{opacity:.8;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.hero-copy{max-width:34rem;padding:clamp(1.5rem,5vw,3.4rem)}.toolbar input,.toolbar select,.search-bar input,.field input,.field select,.field textarea{border:1px solid var(--line);color:var(--ink);background:#ffffff8c;border-radius:12px;width:100%;min-width:0;padding:.7rem .85rem}.toolbar input{flex:220px}.toolbar select{flex:0 160px;width:auto}.search-bar input{flex:220px}.poke-tile{text-align:left;border:1px solid var(--line);color:inherit;background:#ffffff6b;border-radius:18px;gap:.7rem;width:100%;padding:.85rem;transition:transform .18s,background .18s;display:grid}.poke-tile.has-art{grid-template-columns:88px 1fr;align-items:start}.poke-tile:hover{background:#ffffff9e;transform:translateY(-2px)}.thumb{object-fit:cover;background:#ddd6c8;border-radius:10px;width:88px;height:124px;display:block}.thumb.placeholder{background:radial-gradient(circle at 50% 40%,#f2c14e59,#0000 45%),linear-gradient(#e8e1d4,#cfc6b5)}.tile-body .top{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.badge{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;background:#16140f14;border-radius:999px;align-items:center;padding:.22rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge.holo{color:var(--accent-ink);background:linear-gradient(120deg,#f2c14e73,#b4dcb473)}.search-card img{object-fit:cover;background:#ddd6c8;border-radius:10px;width:92px;height:128px}.search-body span{color:var(--ink-soft);font-size:.9rem}.search-actions .btn{padding:.55rem .85rem;font-size:.9rem}.empty{color:var(--muted);padding:1.2rem 0}.empty.error{color:var(--danger)}.hint{color:var(--muted);margin:0 0 .9rem}.modal{background:var(--panel);width:min(520px,100%);box-shadow:var(--shadow);border-radius:24px 24px 18px 18px;max-height:min(90vh,820px);padding:1.35rem;overflow:auto}.modal h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 1rem;font-size:1.45rem}.modal-card-preview img{object-fit:cover;border-radius:8px;width:72px;height:100px}.modal-card-preview p{color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.field{gap:.35rem;display:grid}.field label{color:var(--ink-soft);font-size:.86rem;font-weight:600}@media (width<=760px){.stats-row,.form-row{grid-template-columns:1fr}.hero-card-stack{width:56%;top:6%;right:-2%}.hero-copy{padding-top:54%}.poke-tile.has-art{grid-template-columns:72px 1fr}.thumb,.thumb-wrap{width:72px}.thumb{height:100px}}.hero-copy{color:#f7f3ea;max-width:34rem;padding:clamp(1.5rem,5vw,3.4rem)}.hero-copy .brand{font-family:var(--font-display);letter-spacing:-.05em;margin:0 0 1rem;font-size:clamp(3.2rem,9vw,5.8rem);font-weight:800;line-height:.9}.hero-copy h1{font-family:var(--font-display);letter-spacing:-.02em;max-width:18ch;margin:0 0 .75rem;font-size:clamp(1.4rem,3.2vw,2rem);font-weight:650;line-height:1.15}.hero-copy p{color:#f7f3eac7;max-width:34ch;margin:0 0 1.4rem;font-size:1.05rem;line-height:1.45}.hero-ctas{flex-wrap:wrap;gap:.7rem;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,3vw,1.9rem)}.section-head p{color:var(--muted);margin:.3rem 0 0}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.stat .label{color:var(--muted);font-size:.95rem}.stat .value{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1}.muted-inline{color:var(--muted);font-size:.45em}.setline{color:var(--muted);margin-top:.15rem;font-size:.88rem}.poke-tile{text-align:left;border:1px solid var(--line);color:inherit;background:#ffffff6b;border-radius:18px;gap:.7rem;width:100%;padding:.85rem;display:grid}.poke-tile.has-art{grid-template-columns:88px 1fr}.thumb-wrap{width:88px}.tile-body{gap:.45rem;min-width:0;display:grid}.tile-body .top{justify-content:space-between;gap:.5rem;display:flex}.tile-body .title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.1rem}.poke-meta{color:var(--ink-soft);gap:.2rem;font-size:.9rem;display:grid}.poke-foot{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.poke-value{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.badge.holo,.holo{color:var(--accent-ink);background:linear-gradient(120deg,#f2c14e73,#b4dcb473)}.search-bar{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.search-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.search-card{border:1px solid var(--line);background:#ffffff6b;border-radius:18px;grid-template-columns:92px 1fr;gap:.85rem;padding:.85rem;display:grid}.search-body{align-content:start;gap:.25rem;display:grid}.search-actions{flex-wrap:wrap;gap:.45rem;margin-top:.45rem;display:flex}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#100e0a80;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card-preview{grid-template-columns:72px 1fr;align-items:center;gap:.85rem;margin-bottom:1rem;display:grid}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:.4rem;display:flex}.form-grid{gap:.85rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.check{color:var(--ink-soft);align-items:center;gap:.55rem;font-weight:600;display:flex}.tabs{gap:.4rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tab{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff59;border-radius:999px;padding:.65rem 1.1rem;font-weight:600}.tab.active{background:var(--ink);color:#f7f3ea;border-color:#0000}.toolbar{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.footer-note{color:var(--muted);text-align:center;margin-top:1.5rem;font-size:.9rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.btn{background:var(--ink);color:#f7f3ea;border:1px solid #0000;border-radius:999px;padding:.72rem 1.15rem;font-weight:600}.btn-secondary{color:var(--ink);border-color:var(--line);background:0 0}.btn-accent{background:var(--accent);color:var(--accent-ink)}.section{margin-bottom:2.5rem}.hero{color:#f7f3ea;isolation:isolate;min-height:min(72vh,600px);box-shadow:var(--shadow);border-radius:28px;align-items:end;margin-bottom:1.5rem;display:grid;position:relative;overflow:hidden}@media (width<=760px){.stats-row,.form-row{grid-template-columns:1fr}.hero-card-stack{width:56%;top:6%;right:-2%}.hero-copy{padding-top:54%}}.gotcha{z-index:60;color:var(--ink);border:3px solid var(--ink);background:linear-gradient(160deg,#ffcb05,#ffdf5e);border-radius:22px;justify-items:center;gap:.2rem;min-width:min(86vw,320px);padding:1rem 1.4rem 1.1rem;display:grid;position:fixed;bottom:1.4rem;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 40px #0b1c4a4d}.gotcha strong{font-family:var(--font-logo);letter-spacing:.12em;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;color:#fff;text-shadow:0 2px #3b4cca;z-index:1;font-size:1.55rem;position:relative}.gotcha span:last-child{z-index:1;font-weight:700;position:relative}.gotcha-burst{pointer-events:none;background:radial-gradient(circle at 20% 30%,#ffffffb3,#0000 24%),radial-gradient(circle at 80% 20%,#3b4cca59,#0000 28%),radial-gradient(circle at 70% 80%,#e3350d47,#0000 26%);animation:.7s ease-out both burst;position:absolute;inset:-40%}.poke-ball{border:2px solid var(--ink);background:linear-gradient(#e3350d 49%,#f7f3ea 50% 51%,#f7f3ea 52%);border-radius:50%;flex-shrink:0;width:1.35rem;height:1.35rem;position:relative}.poke-ball:after{content:"";border:2px solid var(--ink);background:#f7f3ea;border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-visual{background:linear-gradient(115deg,#0b1c4a33,#0b1c4ac7 52%,#0b1c4aeb),radial-gradient(circle at 78% 26%,#ffcb058c,#0000 30%),linear-gradient(150deg,#1a2f6b,#0b1c4a 50%,#142852)!important}.tcard .art.spark{background:radial-gradient(circle at 50% 40%,#ffcb05d9,#0000 42%),linear-gradient(#ffffff1a,#00000040)}.logo-type{font-family:var(--font-logo);letter-spacing:.08em;color:var(--accent);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 3px #3b4cca,0 6px 18px #0b1c4a47}.brand-mark .logo-type{-webkit-text-stroke:2.5px var(--ink);font-size:clamp(1.35rem,4vw,1.85rem)}.hero-copy .brand.logo-type{-webkit-text-stroke:4px var(--ink);margin:0 0 1rem;font-size:clamp(2.8rem,11vw,5.6rem);animation:.9s cubic-bezier(.2,1.4,.3,1) both logo-pop}.empty-catch{text-align:center;background:#ffffff73;border:2px dashed #0b1c4a33;border-radius:24px;justify-items:center;gap:.7rem;padding:2rem 1rem;display:grid}.empty-catch h3{margin:0;font-size:1.4rem}.empty-catch p{color:var(--muted);max-width:28ch;margin:0}.empty-ball{border:3px solid var(--ink);background:linear-gradient(#e3350d 49%,#f7f3ea 50% 51%,#f7f3ea 52%);border-radius:50%;width:3.2rem;height:3.2rem;animation:1.8s ease-in-out infinite wiggle;position:relative}.empty-ball:after{content:"";border:3px solid var(--ink);background:#f7f3ea;border-radius:50%;width:.7rem;height:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes logo-pop{0%{opacity:0;transform:scale(.7)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes wiggle{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes burst{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.logo-type{letter-spacing:.06em;-webkit-text-stroke:.06em #0b1c4a;paint-order:stroke fill;text-shadow:0 .06em #3b4cca,0 .12em .2em #0b1c4a59;line-height:1;color:#ffcb05!important;font-family:Pokemon Solid,Pokemon Hollow,Impact,Haettenschweiler,Arial Black,sans-serif!important}.brand-mark{align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand-mark .logo-type{font-size:clamp(1.55rem,5vw,2.1rem)}.hero-brand{text-align:center;align-items:center;min-height:min(70vh,560px)}.hero-brand .hero-copy{justify-items:center;max-width:40rem;margin:0 auto;padding:clamp(2rem,6vw,4rem) 1.2rem;display:grid}.hero-brand .brand.logo-type{margin:0 0 1.1rem;font-size:clamp(3rem,14vw,6.4rem);animation:.9s cubic-bezier(.2,1.5,.3,1) both logo-pop}.hero-brand h1{text-align:center;max-width:16ch}.hero-brand p{text-align:center}.poke-ball{background:linear-gradient(#e3350d 48%,#fff 49% 51%,#fff 52%);border:2px solid #0b1c4a;border-radius:50%;flex-shrink:0;width:1.45rem;height:1.45rem;position:relative;box-shadow:0 0 0 2px #ffcb05}.poke-ball:after{content:"";background:#fff;border:2px solid #0b1c4a;border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.topbar{margin-bottom:1rem}.topbar .brand-mark .logo-type{font-size:clamp(1.8rem,7vw,2.6rem)}.topbar .poke-ball{width:1.7rem;height:1.7rem}
