:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b0b0d;color:#e7e6e3;--canvas: #0b0b0d;--surface: #19191c;--surface-soft: #202023;--ink: #e7e6e3;--muted: #a3a1a7;--line: #38373d;--paper: #131315;--paper-strong: #252429;--green: #bdbbc5;--green-dark: #dedbe4;--gold: #bcb5a6;--red: #ee918b;--success: #92bfa4;--shadow: 0 24px 70px rgb(0 0 0 / 28%)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--canvas)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:500;line-height:1.35;padding:.75rem .85rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}select{min-height:2.85rem;appearance:none;background-image:none;cursor:pointer}textarea{resize:vertical}.justified-text{text-align:justify;text-justify:inter-word;white-space:pre-line}label{display:grid;gap:.45rem;color:var(--muted);font-size:.85rem;font-weight:400}.shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;height:52px;align-items:center;justify-content:space-between;gap:.75rem;box-sizing:border-box;border-bottom:1px solid rgba(85,94,105,.14);background:#0a0a0cf5;padding:0 clamp(.7rem,2vw,1rem);box-shadow:0 8px 22px #342b1912;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.topbar-actions{display:flex;align-items:center;gap:.8rem}.brand{align-self:center;flex:0 0 auto}.brand-logo{display:block;width:clamp(6.8rem,12vw,8rem);max-height:32px;height:auto;object-fit:contain;filter:brightness(48%) contrast(115%)}.topbar-actions{margin-left:auto;color:var(--muted);font-size:.82rem;gap:.45rem}.mobile-menu-toggle,.mobile-menu-backdrop{display:none}.topbar-library-nav{position:absolute;left:50%;display:flex;align-items:center;gap:.38rem;transform:translate(-50%)}.topbar-library-link{min-height:2rem;border:1px solid color-mix(in srgb,var(--green) 16%,transparent);border-radius:999px;background:color-mix(in srgb,var(--green) 7%,var(--surface));color:color-mix(in srgb,var(--green-dark) 70%,var(--muted));padding:.38rem .82rem;transition:background .16s ease,border-color .16s ease,color .16s ease}.topbar-library-link:hover,.topbar-library-link:focus-visible{border-color:color-mix(in srgb,var(--green) 32%,transparent);background:color-mix(in srgb,var(--green) 13%,var(--surface));color:var(--green-dark);outline:none}.topbar-admin-link,.topbar-user-chip{display:inline-flex;min-height:2rem;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--green) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--green) 7%,var(--surface));color:var(--green-dark);font-weight:600;line-height:1;padding:.38rem .72rem}.topbar-admin-link{cursor:pointer}.topbar-admin-link:hover,.topbar-admin-link:focus-visible{border-color:color-mix(in srgb,var(--green) 34%,var(--line));background:color-mix(in srgb,var(--green) 13%,var(--surface));outline:none}.topbar-user-chip{gap:.45rem;max-width:11rem;overflow:hidden}.topbar-user-chip span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-chip button{display:inline-flex;width:1.1rem;height:1.1rem;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;font-size:.8rem;font-weight:700;line-height:1;padding:0;opacity:.75}.topbar-user-chip button:hover,.topbar-user-chip button:focus-visible{background:color-mix(in srgb,var(--green) 18%,transparent);opacity:1;outline:none}.button{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:.7rem 1rem;cursor:pointer;font-weight:600}.button:disabled{cursor:progress;opacity:.65}.button.primary{background:var(--green-dark);color:var(--paper)}.button.ghost{border-color:var(--line);background:transparent;color:var(--green-dark)}.button.danger{border-color:#a4473c;background:#a4473c;color:var(--paper)}.login-page{display:grid;min-height:100vh;place-items:center;padding:1.25rem}.login-panel{display:grid;width:min(100%,430px);gap:1.5rem;border:1px solid rgba(85,94,105,.14);border-radius:8px;background:var(--paper);padding:clamp(1.4rem,4vw,2.4rem);box-shadow:var(--shadow)}.login-brand-logo{display:flex;justify-content:center;margin-bottom:1.25rem}.login-brand-logo img{display:block;width:min(100%,16rem);height:auto;filter:brightness(48%) contrast(115%)}.login-panel h1,.section-head h1,.sheet-header h2{margin:.2rem 0 0;line-height:1.05}.login-panel p,.sheet-header p,.rail-block p,.ficha-card p{margin:.45rem 0 0;color:var(--muted)}.form-grid{display:grid;gap:1rem}.auth-toggle{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:.35rem}.auth-toggle button{min-height:2.35rem;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:500}.auth-toggle button.active{background:var(--paper);color:var(--green-dark);box-shadow:0 8px 24px #342b191a}.page-wrap{width:min(1180px,100% - 2rem);margin:0 auto;padding:clamp(1.5rem,4vw,2.8rem) 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.eyebrow,.card-kicker{color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ficha-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.45rem 1.7rem}.ficha-card,.state-card,.note-card,.pokemon-card{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 12px 40px #342b1914}.ficha-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 104px auto auto;align-items:start;justify-items:center;gap:.46rem;min-height:262px;overflow:hidden;padding:1.12rem .65rem .72rem;text-align:center}.ficha-card-team{display:grid;grid-row:4;grid-template-columns:minmax(0,1fr);gap:.35rem;width:100%;min-height:42px;margin:0;border-top:1px solid var(--line);padding-top:.5rem}.ficha-card-team-sprites{display:flex;min-width:0;align-items:center;justify-content:center;flex-wrap:wrap;gap:.12rem}.ficha-card-team-sprite{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;overflow:hidden;border:1px solid rgba(85,94,105,.15);border-radius:6px;background:#aeb5bf24;color:var(--green-dark);font-size:.72rem;font-weight:500}.ficha-card-team-sprite img{width:100%;height:100%;object-fit:contain;image-rendering:auto}img.custom-pokemon-art{mix-blend-mode:multiply}.ficha-card-team small{display:none;overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.ficha-card:hover{transform:translateY(-2px);transition:transform .16s ease}.ficha-card h2{margin:0;overflow:hidden;font-size:1.24rem;line-height:1.24;min-height:0;padding-bottom:.08rem;text-overflow:ellipsis}.ficha-card-content{display:grid;grid-row:3;align-content:start;justify-items:center;gap:.18rem;min-width:0;width:100%;padding:0}.ficha-card-content p{margin:0 0 .2rem;color:var(--muted);font-size:.86rem;font-style:italic;line-height:1.28}.ficha-card-thumb{display:grid;grid-row:2;width:104px;height:104px;place-items:center;overflow:hidden;border:0;border-radius:8px;background:#aeb5bf2e;color:var(--green-dark);font-size:1.45rem;font-weight:500;isolation:isolate;position:relative}.ficha-card-thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center}.ficha-card-thumb-bg{position:absolute!important;inset:0;z-index:0!important;filter:blur(16px) saturate(.9);opacity:.34;object-fit:cover!important;transform:scale(1.12)}.ficha-card-player{display:inline-flex;grid-row:1;align-items:center;justify-content:center;min-width:2.35rem;max-width:7rem;min-height:1.1rem;overflow:hidden;border-radius:999px;background:var(--card-accent, #aeb5bf);color:var(--surface);font-size:.72rem;font-weight:600;line-height:1;padding:.24rem .54rem;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap}.ficha-card dl,.pokemon-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin:0}dt{color:var(--muted);font-size:.72rem;font-weight:500;text-transform:uppercase}dd{margin:.15rem 0 0;font-weight:400}.state-card{padding:1rem;color:var(--muted)}.error{color:var(--red)}.success{margin:1rem 0 0;color:var(--success);font-weight:400}.back-link{display:inline-flex;margin-bottom:1rem;color:var(--green-dark);font-weight:500}.sheet{display:grid;grid-template-columns:minmax(240px,300px) 1fr;overflow:hidden;border:1px solid rgba(85,94,105,.16);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.profile-rail{display:grid;align-content:start;gap:1.25rem;background:var(--green-dark);color:var(--paper);padding:1.25rem}.portrait{display:grid;aspect-ratio:1;place-items:center;overflow:hidden;border:3px solid rgba(255,250,240,.35);border-radius:8px;background:#ffffff1f;color:#fff5cd;font-size:4rem;font-weight:500}.portrait-button{width:100%;border:3px solid rgba(255,250,240,.35);padding:0;cursor:pointer}.portrait-button:hover,.portrait-button:focus{border-color:#fffaf0b3;box-shadow:0 0 0 3px #fffaf02e}.portrait img{width:100%;height:100%;object-fit:cover}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.rail-block h1{margin:.25rem 0 0;line-height:1.05}.rail-block p,.profile-rail .eyebrow{color:#fffaf0c2}.rail-stats{display:grid;gap:.65rem}.rail-stats div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid rgba(255,250,240,.18);padding-bottom:.65rem}.rail-stats span{color:#fffaf0b8;font-size:.78rem;font-weight:500;text-transform:uppercase}.sheet-body{display:grid;align-content:start;grid-auto-rows:max-content;gap:1.25rem;min-width:0;padding:clamp(1rem,3vw,1.6rem)}.sheet-header{position:relative;display:flex;align-items:start;justify-content:space-between;gap:1rem;min-height:3rem;padding-right:23rem}.sheet-actions{position:absolute;top:0;right:0;display:flex;align-items:center;gap:.55rem}.theme-picker-button{position:relative;display:grid;width:2rem;min-width:2rem;height:2rem;place-items:center;overflow:hidden;border:0;border-radius:50%;background:transparent;color:var(--green-dark);cursor:pointer;opacity:.72}.theme-picker-button:hover,.theme-picker-button:focus-within{background:color-mix(in srgb,var(--green) 10%,transparent);box-shadow:none;opacity:1}.theme-picker-button:after{position:absolute;right:.3rem;bottom:.3rem;width:.5rem;aspect-ratio:1;border:1px solid rgba(255,255,255,.92);border-radius:50%;background:var(--picked-color);content:"";box-shadow:0 0 0 1px var(--line)}.theme-picker-button svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.theme-picker-button input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0;padding:0}.banner-picker-button,.banner-remove-button{position:relative;display:grid;width:2rem;min-width:2rem;height:2rem;place-items:center;overflow:hidden;border:0;border-radius:50%;background:transparent;color:var(--green-dark);cursor:pointer;opacity:.72}.banner-picker-button:hover,.banner-picker-button:focus-within,.banner-remove-button:hover,.banner-remove-button:focus-visible{background:color-mix(in srgb,var(--green) 10%,transparent);opacity:1;outline:none}.banner-picker-button svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.banner-picker-button input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.banner-picker-button.has-banner:after{position:absolute;right:.2rem;bottom:.2rem;width:.42rem;aspect-ratio:1;border:1px solid var(--surface);border-radius:50%;background:var(--green);content:""}.banner-remove-button{display:none}.edit-panel,.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.facts-grid div{min-height:74px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:.8rem}.facts-grid span{display:block;color:var(--muted);font-size:.75rem;font-weight:500;text-transform:uppercase}.facts-grid strong{display:block;margin-top:.35rem}.tabs{display:flex;gap:.4rem;overflow-x:auto;border-bottom:1px solid var(--line)}.tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:.8rem 1rem;cursor:pointer;font-weight:500}.tabs button.active{border-color:var(--gold);color:var(--green-dark)}.tab-panel{display:grid;gap:1rem}.form-section,.repeat-card{display:grid;gap:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem}.form-section h3{margin:0}.collection-head,.repeat-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.collection-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.collection-head{margin-top:.35rem}.collection-head h3,.collection-head h4{margin:0}.collection-head span{color:var(--muted);font-weight:500}.collection-head.small{margin-top:0}.achievement-case-toggle{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;padding:.8rem .15rem;text-align:left}.achievement-case-toggle:hover,.achievement-case-toggle:focus-visible{border-bottom-color:color-mix(in srgb,var(--green) 45%,var(--line))}.achievement-case-meta{display:inline-flex;align-items:center;gap:.65rem}.achievement-case-chevron{display:inline-block;width:.55rem;height:.55rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .18s ease}.achievement-case-chevron.open{transform:rotate(225deg) translate(-1px,-1px)}.achievement-case-collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s ease,opacity .18s ease}.achievement-case-collapse.open{grid-template-rows:1fr;opacity:1}.achievement-case-collapse-inner{min-height:0;overflow:hidden}.achievement-case-collapse.open .achievement-case-collapse-inner{padding-top:.7rem}.pokemon-actions-head{justify-content:flex-end;margin-top:0}.repeat-card.compact{padding:.85rem}.registro-grid{display:grid;grid-template-columns:1fr;overflow:hidden;gap:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.registro-card{display:grid;min-width:0;gap:0;border:0;border-radius:0;background:transparent;color:var(--ink);cursor:pointer;padding:.7rem .85rem;text-align:left;transition:background-color .16s ease}.registro-card+.registro-card{border-top:1px solid var(--line)}.registro-card:hover,.registro-card:focus{background:color-mix(in srgb,var(--green) 5%,var(--surface));box-shadow:none}.registro-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.registro-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registro-card-head time{flex:0 0 auto;color:var(--muted);font-size:.75rem;font-weight:600}.registro-lines{display:grid}.registro-line{display:block;overflow-wrap:anywhere;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);color:var(--muted);font-size:.84rem;font-weight:500;line-height:1.4;padding:.38rem 0;white-space:pre-wrap}.registro-event-meta{color:var(--ink);font-weight:650}.registro-line:first-child{border-top:0;padding-top:0}.registro-line:last-child{padding-bottom:0}.registro-line.added,.registro-line.removed{color:var(--muted)}.registro-line.added>span:last-child{color:#236343}.registro-line.removed>span:last-child{color:#994038}.empty-collection{margin:0;color:var(--muted);font-size:.9rem}.registro-grid>.empty-collection{padding:.85rem}.registro-history-trigger{display:flex;width:100%;min-height:68px;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.8rem 1rem;text-align:left}.registro-history-trigger:hover,.registro-history-trigger:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent)}.registro-history-trigger>span{display:grid;gap:.15rem}.registro-history-trigger small{color:var(--muted);font-weight:500}.registro-history-trigger>strong:last-child{display:grid;min-width:34px;height:34px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green-dark)}.registro-history-modal{width:min(780px,100%)}.relacionado-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,160px));gap:.7rem}.relacionado-card{display:grid;min-height:154px;align-content:start;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:0;text-align:center;transition:border-color .16s ease,box-shadow .16s ease}.relacionado-card:hover,.relacionado-card:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent)}.relacionado-card-image{display:grid;width:100%;height:106px;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--green) 7%,var(--surface));color:var(--green-dark);font-size:1.35rem;font-weight:500}.relacionado-card-image img{width:100%;height:100%;object-fit:cover}.relacionado-card-copy{display:grid;gap:.12rem;min-width:0;padding:.62rem .65rem .68rem}.relacionado-card-copy strong{width:100%;overflow:hidden;font-size:.88rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.relacionado-card-copy small{overflow:hidden;color:var(--muted);font-size:.7rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.relacionado-editor-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem}.relacionado-editor-fields{grid-template-columns:1fr}.relacionado-image-button{display:grid;width:112px;height:126px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green-dark);cursor:pointer;font-size:1.5rem;font-weight:500;padding:.45rem}.relacionado-image-button:hover,.relacionado-image-button:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent)}.relacionado-image-button img{width:100%;height:100%;object-fit:cover}.public-relacionado-detail{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:1rem}.public-relacionado-image{display:grid;width:140px;height:160px;place-items:center;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--green) 7%,var(--surface));color:var(--green-dark);font-size:1.5rem;font-weight:500}.public-relacionado-image img{width:100%;height:100%;object-fit:cover}.public-relacionado-detail>div{display:grid;gap:.35rem}.public-relacionado-detail strong{font-size:1.15rem}.public-relacionado-detail small{color:var(--green);font-weight:400}.public-relacionado-detail p{margin:.4rem 0 0;color:var(--muted);line-height:1.6;white-space:pre-wrap}.pokemon-section{display:grid;gap:.65rem}.pokemon-section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.45rem}.pokemon-section-head h4{margin:0}.pokemon-section-head span{color:var(--muted);font-weight:500}.pokemon-box-grid{display:flex;flex-wrap:wrap;gap:.72rem;align-items:stretch;align-content:flex-start}.drop-zone{min-height:7.5rem;border:1px solid transparent;border-radius:8px;padding:.25rem;transition:background .16s ease}.drop-zone:not(.drop-locked){background:transparent}.drop-zone.drop-locked{background:transparent}.box-upgrade-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;border:1px solid color-mix(in srgb,var(--green) 18%,transparent);border-radius:8px;background:color-mix(in srgb,var(--green) 8%,var(--surface));padding:.65rem}.box-upgrade-title{color:var(--green-dark);font-size:.78rem;font-weight:500;text-transform:uppercase}.pokemon-box-card{position:relative;display:grid;flex:0 0 92px;min-height:112px;place-items:center;gap:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:.55rem;text-align:center;touch-action:none;transform:translateZ(0);transition:transform 175ms cubic-bezier(.22,1,.36,1),opacity 145ms ease,box-shadow 175ms ease,border-color 175ms ease,background-color 175ms ease;-webkit-user-select:none;user-select:none;will-change:transform}.pokemon-box-card{cursor:grab}.pokemon-box-card:active{cursor:grabbing}.pokemon-box-card.active{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent)}.pokemon-box-card.dragging{border-color:color-mix(in srgb,var(--green) 26%,var(--line));opacity:.16;transform:scale(.985);box-shadow:none}.pokemon-box-grid.cdk-drop-list-dragging .pokemon-box-card:not(.cdk-drag-placeholder){transition:transform 185ms cubic-bezier(.22,1,.36,1),opacity 145ms ease,box-shadow 165ms ease,border-color 165ms ease,background-color 165ms ease}.pokemon-box-card.cdk-drag-preview{box-sizing:border-box;width:92px;border-color:color-mix(in srgb,var(--green) 38%,var(--line));background:var(--surface);box-shadow:0 12px 24px #1a241f29;cursor:grabbing;opacity:.98;pointer-events:none;transform:rotate(.35deg) scale(1.025)}.pokemon-box-card.cdk-drag-placeholder{flex:0 0 92px;border-color:color-mix(in srgb,var(--green) 10%,transparent);background:color-mix(in srgb,var(--green) 4%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 6%,transparent);opacity:1}.pokemon-box-card.cdk-drag-placeholder>*{opacity:0}.pokemon-box-card.cdk-drag-animating{transition:transform 185ms cubic-bezier(.22,1,.36,1)}.pokemon-box-main{display:grid;place-items:center;gap:.35rem;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;pointer-events:none}.pokemon-box-sprite{position:relative;display:grid;width:64px;aspect-ratio:1;place-items:center}.pokemon-box-sprite img{width:64px;height:64px;object-fit:contain}.pokemon-box-sprite>span:not(.mechanic-badge){display:grid;width:64px;aspect-ratio:1;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green-dark);font-weight:500}.mechanic-badge{display:inline-grid;place-items:center;border:0;background:transparent;color:var(--surface);font-weight:500;line-height:1;filter:none;opacity:1;pointer-events:none}.pokemon-box-card img{-webkit-user-drag:none}.mechanic-badge.box{position:absolute;top:.12rem;left:.12rem;width:1.15rem;height:1.15rem;padding:0}.mechanic-badge.sprite{position:absolute;top:.1rem;left:.1rem;width:1.15rem;height:1.15rem}.mechanic-badge img{width:100%;height:100%;object-fit:contain;opacity:1;filter:drop-shadow(0 1px 2px rgba(23,35,31,.22))}.mechanic-badge.sprite img{width:100%;height:100%}.pokemon-box-main strong{width:100%;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.pokemon-sprite-row{display:flex;align-items:center;border:1px solid color-mix(in srgb,var(--green) 18%,transparent);border-radius:8px;background:color-mix(in srgb,var(--green) 8%,var(--surface));padding:.75rem}.pokemon-sprite-row strong,.pokemon-sprite-row p{margin:0}.pokemon-sprite-row p{margin-top:.25rem;color:var(--muted);font-weight:400}.pokemon-sprite-button{position:relative;display:grid;width:72px;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green-dark);cursor:pointer;font-weight:500}.pokemon-sprite-button>img{width:58px;height:58px;object-fit:contain}.upgrade-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.upgrade-chip,.upgrade-total{display:grid;grid-template-columns:32px minmax(0,1fr) 72px auto;align-items:center;gap:.5rem;min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:.45rem .55rem}.upgrade-chip:before{content:"";display:block;width:30px;aspect-ratio:1;background-position:center;background-repeat:no-repeat;background-size:contain}.upgrade-chip.mini:before{background-image:url(/assets/itemdex/image32.png)}.upgrade-chip.normal:before{background-image:url(/assets/itemdex/image48.png)}.upgrade-chip span,.upgrade-total span{color:var(--muted);font-size:.72rem;font-weight:500;text-transform:uppercase}.upgrade-chip input{min-height:2rem;padding:.45rem .55rem}.upgrade-chip strong,.upgrade-total strong{color:var(--green-dark);font-weight:500}.upgrade-chip.mini{box-shadow:inset 4px 0 #60a1b8}.upgrade-chip.normal{box-shadow:inset 4px 0 0 var(--gold)}.upgrade-total{grid-template-columns:minmax(0,1fr) auto;background:color-mix(in srgb,var(--green) 10%,var(--surface))}.pokeball-field,.nature-field,.held-item-field{grid-column:span 1}.pokeball-select,.nature-select,.held-item-select{position:relative}.pokeball-selected,.pokeball-options button,.pokeball-options input,.nature-selected,.nature-options button,.nature-options input,.held-item-selected,.held-item-options button,.held-item-options input{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.75rem .85rem;text-align:left;font-weight:500;line-height:1.35}.pokeball-selected:hover,.pokeball-selected:focus,.pokeball-options button:hover,.pokeball-options button.active,.pokeball-options input:focus,.nature-selected:hover,.nature-selected:focus,.nature-options button:hover,.nature-options button.active,.nature-options input:focus,.held-item-selected:hover,.held-item-selected:focus,.held-item-options button:hover,.held-item-options button.active,.held-item-options input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.pokeball-options,.nature-options,.held-item-options{position:absolute;z-index:10;top:calc(100% + .35rem);right:0;left:0;display:grid;max-height:260px;overflow-y:auto;gap:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:.45rem}.pokeball-options button,.nature-options button{min-height:2.35rem;box-shadow:none}.pokeball-options input,.nature-options input{cursor:text;box-shadow:none}.held-item-options{z-index:12}.held-item-options input{cursor:text;box-shadow:none}.held-item-options button{min-height:2.35rem;box-shadow:none}.inventory-image-row{display:flex;align-items:center;gap:.65rem}.inventory-image-button{display:grid;width:54px;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green-dark);cursor:pointer;font-size:1.45rem;font-weight:500}.inventory-image-button img{width:44px;height:44px;object-fit:contain}.inventory-editor-picker-button{width:100%;min-height:2.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.75rem .85rem;text-align:left;font-weight:inherit}.inventory-editor-picker-button:hover,.inventory-editor-picker-button:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.inventory-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem}.inventory-pocket-list{display:grid;gap:.85rem}.inventory-pocket{display:grid;gap:.65rem;border:1px solid color-mix(in srgb,var(--green) 12%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--green) 4%,var(--surface));padding:.75rem}.inventory-pocket-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--line);padding-bottom:.45rem}.inventory-pocket-head h4{margin:0;color:var(--ink);font-size:.92rem}.inventory-pocket-head small{min-width:1.6rem;border-radius:999px;background:color-mix(in srgb,var(--green) 14%,var(--surface));color:var(--green-dark);font-size:.7rem;font-weight:600;padding:.15rem .45rem;text-align:center}.inventory-pocket-empty{margin:0;color:var(--muted);font-size:.82rem}.inventory-card{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:.75rem;min-height:84px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.65rem;text-align:left}.inventory-card:hover,.inventory-card:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.inventory-card-icon{position:relative;display:grid;width:52px;aspect-ratio:1;place-items:center;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--green) 8%,var(--surface));color:var(--green-dark);font-size:1.35rem;font-weight:500}.inventory-card-icon img{width:40px;height:40px;object-fit:contain}.inventory-card-icon:has(.inventory-card-qty) img{width:34px;height:34px;margin-bottom:.45rem}.inventory-card-qty{position:absolute;left:50%;bottom:.22rem;min-width:0;transform:translate(-50%);border:0;border-radius:0;background:transparent;color:var(--muted);font-size:.58rem;font-weight:500;line-height:1;padding:0;text-align:center}.inventory-card strong,.inventory-card small{display:block;overflow:hidden;text-overflow:ellipsis}.inventory-card strong{white-space:nowrap}.inventory-card small{display:-webkit-box;color:var(--muted);font-size:.76rem;font-weight:400;-webkit-box-orient:vertical;-webkit-line-clamp:2}.badge-case{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;border:1px solid color-mix(in srgb,var(--green) 14%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--green) 6%,var(--surface));padding:.8rem}.badge-slot,.badge-picker-option{display:grid;min-height:112px;place-items:center;gap:.45rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.65rem;text-align:center;transition:border-color .18s ease,background-color .26s ease,box-shadow .18s ease}.badge-slot:hover,.badge-slot:focus,.badge-picker-option:hover,.badge-picker-option:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.badge-slot.filled{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:color-mix(in srgb,var(--green) 10%,var(--surface))}.badge-icon{display:grid;width:54px;aspect-ratio:1;place-items:center;border:0;background:transparent;color:var(--green-dark);font-size:1.35rem;font-weight:500}.badge-icon.empty{opacity:.45}.badge-icon img{width:50px;height:50px;object-fit:contain}.badge-slot.filled .badge-icon img,.ribbon-slot.filled .ribbon-icon img{animation:achievement-fill-up .48s cubic-bezier(.22,1,.36,1) both;transform-origin:bottom center}.badge-icon img.badge-placeholder{filter:grayscale(1) brightness(.18) opacity(.42)}.badge-slot strong,.badge-picker-option strong{max-width:100%;overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.ribbon-case{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;border:1px solid color-mix(in srgb,var(--green) 14%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--green) 6%,var(--surface));padding:.8rem}.ribbon-slot,.ribbon-picker-option{display:grid;min-height:112px;place-items:center;gap:.45rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.65rem;text-align:center;transition:border-color .18s ease,background-color .26s ease,box-shadow .18s ease}.ribbon-slot:hover,.ribbon-slot:focus,.ribbon-picker-option:hover,.ribbon-picker-option:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.ribbon-slot.filled{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:color-mix(in srgb,var(--green) 10%,var(--surface))}.ribbon-icon{display:grid;width:54px;height:54px;place-items:center}.ribbon-icon.empty{opacity:.42}.ribbon-icon img{width:100%;height:100%;object-fit:contain}.ribbon-icon img.ribbon-placeholder{filter:grayscale(1) brightness(.2) opacity(.46)}.ribbon-slot strong{max-width:100%;overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}@keyframes achievement-fill-up{0%{clip-path:inset(100% 0 0 0);opacity:.25;transform:translateY(7px) scale(.92)}68%{clip-path:inset(0 0 0 0);opacity:1;transform:translateY(-2px) scale(1.04)}to{clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.badge-slot.filled .badge-icon img,.ribbon-slot.filled .ribbon-icon img{animation:none}}.ribbon-modal{width:min(520px,100%)}.ribbon-picker-grid{display:grid;justify-content:center}.ribbon-picker-option{width:190px;min-height:190px;border:0;background:transparent;box-shadow:none}.ribbon-picker-option:hover,.ribbon-picker-option:focus{border:0;background:transparent;box-shadow:none;transform:scale(1.02)}.ribbon-icon.large{width:170px;height:170px}.achievement-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem}.achievement-card{display:grid;min-height:132px;place-items:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.65rem;text-align:center}.achievement-card:hover,.achievement-card:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.achievement-card.hidden-achievement{display:none}.achievement-card-image{display:grid;width:74px;height:74px;place-items:center;overflow:hidden;color:var(--green-dark);font-size:1.35rem;font-weight:500}.achievement-card-image img{width:100%;height:100%;object-fit:contain}.achievement-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-sheet-wrap{max-width:1120px;padding-top:1.25rem;padding-bottom:2rem}.public-sheet{display:grid;gap:.9rem}.public-hero,.public-section,.public-stats{border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 18px 46px #342b1914}.public-hero{position:relative;isolation:isolate;display:grid;height:276px;grid-template-columns:210px minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto;gap:0 1.5rem;align-items:stretch;overflow:hidden;border-left:7px solid var(--green);padding:0;background:color-mix(in srgb,var(--green) 5%,var(--surface))}.public-hero-banner{position:absolute;z-index:2;inset:0 0 0 52%;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}.public-hero-banner img{width:100%;height:100%;object-fit:cover;opacity:1;filter:none;mix-blend-mode:normal}.public-hero>:not(.public-hero-banner){position:relative;z-index:1}.public-portrait{display:grid;grid-row:1/span 2;min-height:0;height:100%;place-items:center;overflow:hidden;border:0;border-right:1px solid color-mix(in srgb,var(--green) 20%,var(--line));border-radius:0;background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green);font-size:3.2rem;font-weight:500;box-shadow:none}.public-portrait img,.public-pokemon-sprite img{width:100%;height:100%;object-fit:cover}.public-hero-main{align-self:center;min-width:0;padding:1.35rem 1.35rem 0 0}.public-hero h1,.public-hero p,.public-section h2,.public-achievement-columns h3{margin:0}.public-hero h1{overflow-wrap:anywhere;color:var(--ink);font-size:clamp(2.15rem,4.9vw,3.6rem);line-height:.95;letter-spacing:0}.public-hero p{margin-top:.75rem;color:var(--muted);font-size:1rem;font-weight:400}.public-facts,.public-pokemon-card dl{display:grid;gap:.65rem;margin:0}.public-facts{grid-column:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;align-self:stretch;padding:.15rem 2rem 1.35rem 0}.public-facts dt,.public-pokemon-card dt{color:var(--muted);font-size:.72rem;font-weight:500;text-transform:uppercase}.public-facts dd,.public-pokemon-card dd{margin:.2rem 0 0;font-weight:400}.public-facts div{min-width:0;border-top:1px solid color-mix(in srgb,var(--green) 22%,var(--line));padding-top:.65rem}.public-facts dd{overflow:hidden;max-width:100%;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.public-facts div:last-child dd{max-width:16ch}.public-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;overflow:hidden;padding:0}.public-stats div{display:grid;gap:.2rem;min-width:0;border-left:1px solid var(--line);background:color-mix(in srgb,var(--green) 5%,var(--surface));padding:.9rem 1rem}.public-stats div:first-child{border-left:0}.public-stats span,.public-section-head span{color:var(--muted);font-size:.76rem;font-weight:500;text-transform:uppercase}.public-stats strong{overflow:hidden;color:var(--ink);font-size:1.08rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.public-section{display:grid;gap:1rem;padding:1.05rem}.public-section>p{margin:0;color:var(--muted);font-weight:400;white-space:pre-wrap}.public-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.public-section-actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.button.compact{min-height:1.9rem;padding:.3rem .58rem;font-size:.75rem}.public-section h2{color:var(--ink);font-size:1.35rem;line-height:1.1}.public-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.25rem;margin:0}.public-data-grid div{min-width:0;border-top:1px solid color-mix(in srgb,var(--green) 18%,var(--line));padding:.75rem 0}.public-data-grid dt{color:var(--muted);font-size:.72rem;font-weight:500;text-transform:uppercase}.public-data-grid dd{margin:.2rem 0 0;overflow-wrap:anywhere;color:var(--ink);font-weight:400}.public-pokemon-grid,.public-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.7rem}.public-pokemon-team-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.85rem}.public-inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.75rem}.public-item-card.public-inventory-card{grid-template-columns:62px minmax(0,1fr);align-items:start;min-height:126px}.public-inventory-card .inventory-card-icon{width:62px;height:62px}.public-inventory-copy{display:grid;min-width:0;gap:.38rem}.public-inventory-card .public-inventory-copy>strong{overflow:visible;padding:0;text-overflow:clip;white-space:normal}.public-inventory-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.28rem}.public-inventory-meta span{border:1px solid color-mix(in srgb,var(--green) 20%,var(--line));border-radius:4px;background:color-mix(in srgb,var(--green) 5%,var(--surface));padding:.12rem .3rem;color:var(--muted);font-size:.58rem;line-height:1.2}.public-inventory-copy p{margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:.72rem;line-height:1.42;white-space:pre-wrap}.public-pokemon-profile-card{display:grid;min-width:0;gap:.8rem;border:1px solid color-mix(in srgb,var(--green) 22%,var(--line));border-radius:8px;background:var(--paper);padding:.85rem}.public-pokemon-profile-head{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:.75rem;min-width:0}.public-pokemon-profile-card .public-pokemon-meta{margin-top:.3rem}.public-pokemon-profile-head .public-pokemon-info>strong{overflow:hidden;color:var(--ink);font-size:.98rem;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.public-pokemon-profile-head .public-pokemon-info>small{overflow:hidden;color:var(--muted);font-size:.72rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.public-pokemon-profile-card .public-pokeball-meta{width:100%;margin-top:.08rem}.public-pokemon-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.public-pokemon-card-facts div{min-width:0;padding:.55rem .25rem}.public-pokemon-card-facts div:nth-child(n+3){border-top:1px solid var(--line)}.public-pokemon-card-facts div:nth-child(odd){padding-left:0;padding-right:.55rem}.public-pokemon-card-facts div:nth-child(2n){border-left:1px solid var(--line);padding-left:.55rem}.public-pokemon-card-facts dt{color:var(--muted);font-size:.58rem;font-weight:500;text-transform:uppercase}.public-pokemon-card-facts dd{margin:.13rem 0 0;overflow-wrap:anywhere;color:var(--ink);font-size:.76rem;font-weight:500;line-height:1.25}.public-pokemon-card-moves,.public-pokemon-card-combo{display:grid;min-width:0;gap:.45rem}.public-pokemon-card-moves h3,.public-pokemon-card-combo h3{margin:0;color:var(--ink);font-size:.82rem}.public-compact-move-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem}.public-compact-move{display:grid;min-width:0;gap:.2rem;border:1px solid color-mix(in srgb,var(--public-move-color) 25%,var(--line));border-left:3px solid var(--public-move-color);border-radius:6px;background:color-mix(in srgb,var(--public-move-color) 4%,var(--surface));padding:.45rem .5rem}.public-compact-move>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.35rem}.public-compact-move strong{overflow:hidden;color:var(--ink);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.public-compact-move span{flex:0 0 auto;color:color-mix(in srgb,var(--public-move-color) 70%,var(--ink));font-size:.55rem;font-weight:600}.public-compact-move small{overflow:hidden;color:var(--muted);font-size:.57rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.public-pokemon-card-combo{border-top:1px solid var(--line);padding-top:.7rem}.public-pokemon-card-combo p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45;white-space:pre-wrap}.public-collection-modal{width:min(1000px,100%);max-height:min(760px,88vh);overflow:auto}.public-collection-grid{padding-right:.2rem}.public-pokemon-card,.public-item-card{display:grid;grid-template-columns:74px minmax(0,1fr);gap:.75rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.75rem;min-width:0}.public-pokemon-card{min-height:112px}button.public-pokemon-card{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}button.public-pokemon-card:hover,button.public-pokemon-card:focus-visible{border-color:color-mix(in srgb,var(--green) 52%,var(--line));box-shadow:0 8px 22px color-mix(in srgb,var(--green) 12%,transparent);outline:none;transform:translateY(-1px)}.public-pokemon-sprite{display:grid;width:74px;aspect-ratio:1;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green);font-size:1.5rem;font-weight:500}.public-pokemon-sprite img{width:100%;height:100%;object-fit:contain;padding:.15rem}.public-pokemon-info{display:grid;gap:.15rem;min-width:0;overflow:hidden}.public-pokemon-card strong,.public-item-card strong{display:block;overflow:hidden;color:var(--ink);font-weight:500;line-height:1.28;padding-bottom:.06rem;text-overflow:ellipsis;white-space:nowrap}.public-pokemon-card small,.public-item-card small{display:block;overflow:hidden;color:var(--muted);font-weight:400;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}.public-pokemon-card dl{grid-template-columns:minmax(0,auto);justify-content:start;column-gap:.8rem;margin-top:.55rem}.public-pokemon-card dd{max-width:74px;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.achievement-editor-modal.public-pokemon-modal{width:min(920px,100%);max-height:min(840px,100vh - 2rem);gap:.8rem}.public-pokemon-modal-hero{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:.8rem;border-bottom:1px solid var(--line);padding-bottom:.8rem}.public-pokemon-modal-hero>div{display:grid;min-width:0;gap:.3rem}.public-pokemon-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.public-pokeball-meta,.public-type-chip{display:inline-flex;align-items:center;min-height:1.55rem;border-radius:5px;font-size:.7rem;font-weight:500}.public-pokeball-meta{gap:.3rem;color:var(--muted)}.public-pokeball-meta img{width:1.2rem;height:1.2rem;object-fit:contain}.public-type-chip{border:1px solid color-mix(in srgb,var(--pokemon-type-color) 42%,var(--line));background:color-mix(in srgb,var(--pokemon-type-color) 13%,var(--paper));color:color-mix(in srgb,var(--pokemon-type-color) 75%,var(--ink));padding:.08rem .42rem}.public-pokemon-modal-hero strong{overflow:hidden;font-size:1.15rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.public-pokemon-modal-sprite{display:grid;width:82px;height:82px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--green) 7%,var(--surface));color:var(--green);font-size:1.5rem;font-weight:500}.public-pokemon-modal-sprite img{width:100%;height:100%;object-fit:contain;padding:.25rem}.public-pokemon-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.5rem;margin:0}.public-pokemon-detail-facts div{min-width:0;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--green) 4%,var(--surface));padding:.55rem .65rem}.public-pokemon-detail-facts dt,.public-move-card dt{color:var(--muted);font-size:.58rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.public-pokemon-detail-facts dd,.public-move-card dd{margin:.15rem 0 0;overflow-wrap:normal;color:var(--ink);font-size:.83rem;font-weight:500;line-height:1.25;word-break:normal}.public-pokemon-moves,.public-pokemon-combo{display:grid;gap:.55rem}.public-pokemon-moves h4,.public-pokemon-combo h4{margin:0;color:var(--ink);font-size:1rem}.public-move-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.public-move-card{display:grid;gap:.52rem;border:1px solid color-mix(in srgb,var(--public-move-color) 28%,var(--line));border-left:3px solid var(--public-move-color);border-radius:6px;background:color-mix(in srgb,var(--public-move-color) 4%,var(--paper));padding:.62rem .68rem}.public-move-title strong{min-width:0;overflow:hidden;font-size:.82rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.public-move-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.public-move-title span{flex:0 0 auto;border-radius:4px;background:color-mix(in srgb,var(--public-move-color) 15%,var(--surface));padding:.16rem .32rem;color:color-mix(in srgb,var(--public-move-color) 64%,var(--ink));font-size:.62rem;font-weight:600}.public-move-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .85rem;margin:0}.public-move-style.has-style{border:0;background:transparent;padding:0}.public-move-style.has-style dd{color:color-mix(in srgb,var(--contest-style-color) 72%,var(--ink));font-weight:500}.public-pokemon-combo{border-top:1px solid var(--line);padding-top:.9rem}.public-pokemon-combo p,.public-empty-copy{margin:0;color:var(--muted);line-height:1.5;white-space:pre-wrap}.public-badge-case{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.6rem}.public-badge-slot{display:grid;min-height:90px;place-items:center;gap:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.5rem;text-align:center}.public-badge-slot .badge-icon{width:52px;height:52px}.public-badge-slot strong{max-width:100%;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.public-achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}.public-achievement-card{display:grid;min-height:112px;place-items:center;gap:.4rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.55rem;text-align:center}.public-achievement-image{display:grid;width:62px;height:62px;place-items:center;color:var(--green-dark);font-weight:500}.public-achievement-image img{width:100%;height:100%;object-fit:contain}.public-achievement-card strong{max-width:100%;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.public-achievement-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.public-achievement-columns>div{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.85rem}.public-achievement-columns ul{display:grid;gap:.4rem;margin:.6rem 0 0;padding-left:1.2rem}.public-achievement-columns p{margin:.5rem 0 0;color:var(--muted);font-weight:400}.pokeball-selected img,.pokeball-options img,.held-item-selected img,.held-item-options img,.item-empty-dot{width:24px;height:24px;object-fit:contain}.item-empty-dot{display:inline-block;border:1px dashed var(--line);border-radius:50%}.mechanic-field{grid-column:span 1}.mechanic-select{position:relative}.mechanic-selected,.mechanic-options button{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.75rem .85rem;text-align:left;font-weight:500;line-height:1.35}.mechanic-selected:hover,.mechanic-selected:focus,.mechanic-options button:hover,.mechanic-options button.active{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.mechanic-options{position:absolute;z-index:11;top:calc(100% + .35rem);right:0;left:0;display:grid;max-height:310px;overflow-y:auto;gap:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:.45rem}.mechanic-options button{min-height:2.35rem;box-shadow:none}.mechanic-selected img,.mechanic-options img{width:26px;height:26px;object-fit:contain}.mechanic-empty-dot{width:26px;height:26px;border:1px dashed var(--line);border-radius:50%}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#17231f6b;padding:1rem}.store-page{padding-bottom:3rem}.store-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.store-head-actions .button{min-height:2.55rem;padding:.65rem .9rem}.store-cart-button{position:relative;display:inline-flex;align-items:center;gap:.5rem;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.store-cart-button.has-items{border-color:var(--ink);background:var(--ink);color:var(--paper)}.store-cart-button.has-items:hover{background:color-mix(in srgb,var(--ink) 88%,white)}.store-cart-button .store-cart-count{display:inline-grid;min-width:1.5rem;height:1.3rem;place-items:center;border:1px solid color-mix(in srgb,var(--paper) 34%,transparent);border-radius:4px;background:var(--accent);color:#fff;padding:0 .35rem;font-size:.68rem;line-height:1;animation:store-cart-count-in .22s ease-out}@keyframes store-cart-count-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.section-copy{margin:.25rem 0 0;color:var(--muted)}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.75rem}.store-card{display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto 1fr;gap:.75rem .85rem;align-items:start;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.85rem;box-shadow:0 3px 12px #1c222708;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.store-card.in-cart{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 2.5%,var(--paper));box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 78%,transparent),0 5px 16px #1c22270d}.store-card.just-added{border-color:var(--accent);box-shadow:0 8px 22px #1c22271a;transform:translateY(-2px)}.store-item-icon{display:grid;width:62px;height:62px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--accent);font-weight:600}.store-item-icon img{width:100%;height:100%;object-fit:contain}.store-card-content h2{margin:.08rem 0 .25rem;font-size:1rem}.store-card-content p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.35;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.store-card-footer{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.45rem;border-top:1px solid var(--line);padding-top:.65rem}.store-card-footer>.store-card-actions{width:100%;justify-content:flex-start}.store-card-footer .store-add-button,.store-card-footer .store-quantity-control,.store-card-footer .store-unavailable{margin-left:auto}.store-price-block{display:grid;min-width:0;gap:.12rem}.store-price-block small{color:var(--muted);font-size:.62rem;letter-spacing:0;text-transform:uppercase}.store-price-block strong{color:var(--ink);font-size:.95rem;line-height:1.1;white-space:nowrap}.store-price-block strong:not(:only-child){letter-spacing:0}.store-card-actions,.modal-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem}.store-details-button,.store-edit-button{min-height:2.2rem;border:0;background:transparent;color:var(--muted);padding:.45rem .4rem;font:inherit;font-size:.82rem}.store-details-button:hover,.store-details-button:focus-visible,.store-edit-button:hover,.store-edit-button:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.store-quantity-control{display:grid;grid-template-columns:2.35rem minmax(4rem,auto) 2.35rem;min-height:2.5rem;align-items:stretch;overflow:hidden;border:1px solid var(--ink);border-radius:6px;background:var(--paper)}.store-quantity-control button{border:0;background:color-mix(in srgb,var(--ink) 7%,var(--paper));color:var(--ink);font:inherit;font-size:1.15rem;line-height:1}.store-quantity-control button:hover,.store-quantity-control button:focus-visible{background:color-mix(in srgb,var(--ink) 15%,var(--paper))}.store-quantity-control span{display:grid;min-width:0;place-content:center;border-right:1px solid var(--line);border-left:1px solid var(--line);padding:0 .55rem;text-align:center}.store-quantity-control strong{font-size:.9rem;line-height:1}.store-quantity-control small{margin-top:.13rem;color:var(--muted);font-size:.59rem;line-height:1;white-space:nowrap}.store-add-button{min-height:2.5rem;padding:.55rem .8rem}.store-unavailable{display:inline-flex;min-height:2rem;align-items:center;border:1px solid var(--line);border-radius:5px;background:color-mix(in srgb,var(--ink) 2%,var(--paper));color:var(--muted);padding:.35rem .55rem;font-size:.73rem;line-height:1}.store-cart-feedback{position:fixed;right:1.25rem;bottom:1.25rem;z-index:45;display:flex;width:min(390px,100vw - 2rem);align-items:center;justify-content:space-between;gap:1rem;border:1px solid color-mix(in srgb,var(--ink) 42%,var(--line));border-radius:7px;background:var(--ink);color:var(--paper);padding:.8rem .85rem .8rem 1rem;box-shadow:0 12px 30px #1c22273d;animation:store-feedback-in .22s ease-out}.store-cart-feedback>div{display:grid;min-width:0;gap:.12rem}.store-cart-feedback strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.store-cart-feedback small{color:color-mix(in srgb,var(--paper) 70%,transparent);font-size:.75rem}.store-cart-feedback button{flex:0 0 auto;border:0;background:transparent;color:var(--paper);padding:.45rem .35rem;font:inherit;font-size:.82rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}@keyframes store-feedback-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.store-empty{color:var(--muted)}.store-modal{display:grid;width:min(560px,100%);max-height:calc(100vh - 2rem);gap:1rem;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:1rem;box-shadow:var(--shadow)}.store-detail-modal{width:min(620px,100%)}.store-detail-content{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:1rem}.store-detail-icon{display:grid;width:96px;aspect-ratio:1;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent);font-size:1.35rem;font-weight:600}.store-detail-icon img{width:100%;height:100%;object-fit:contain;padding:.35rem}.store-detail-content p{margin:0;overflow-wrap:anywhere;color:var(--ink);line-height:1.6;white-space:pre-wrap}.store-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.8rem}.store-purchase-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:.75rem;color:var(--muted)}.store-purchase-summary strong{color:var(--ink);white-space:nowrap}.store-cart-lines,.store-coupon-list{display:grid;gap:.5rem}.store-cart-lines article{display:grid;grid-template-columns:minmax(0,1fr) 96px auto 32px;align-items:center;gap:.65rem;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:.6rem}.store-cart-lines article>div,.store-coupon-list article>div{display:grid;gap:.15rem}.store-cart-lines small,.store-coupon-list small{color:var(--muted)}.store-cart-lines label{display:grid;gap:.2rem;color:var(--muted);font-size:.72rem}.store-cart-lines input{width:100%;box-sizing:border-box}.icon-button{width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--danger);font-size:1.25rem;line-height:1}.store-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:.7rem}.store-coupon-form label:not(.store-checkbox){display:grid;gap:.35rem;color:var(--muted);font-size:.82rem}.store-coupon-form input{width:100%;box-sizing:border-box}.store-coupon-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.5rem;border-top:1px solid var(--line);padding-top:.55rem}.store-coupon-list article>span{color:var(--green);font-size:.78rem}.store-coupon-list article>span.inactive{color:var(--muted)}.store-character-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem}.store-character-picker>p{grid-column:1/-1;margin:0;color:var(--muted)}.store-character-picker button{display:grid;gap:.15rem;min-height:72px;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:.7rem;text-align:left;color:var(--ink)}.store-character-picker button.selected{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.store-character-picker small{color:var(--muted)}.store-confirm{justify-self:end}.store-catalog-picker{display:grid;gap:.55rem}.store-catalog-picker>.button{justify-self:start}.store-catalog-results{display:grid;gap:.45rem;max-height:330px;overflow-y:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:.65rem}.store-catalog-results>input{width:100%;box-sizing:border-box}.store-catalog-option{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:.65rem;width:100%;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);padding:.45rem;text-align:left}.store-catalog-option:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--surface))}.store-catalog-option img,.store-catalog-option>span:first-child{width:38px;height:38px;object-fit:contain}.store-catalog-option>span:first-child{display:grid;place-items:center;border:1px solid var(--line);border-radius:6px}.store-catalog-option strong,.store-catalog-option small{display:block}.store-catalog-option small,.store-catalog-state{color:var(--muted)}.store-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.store-form-grid label,.store-modal>label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem}.store-form-grid input,.store-form-grid select,.store-form-grid textarea,.store-modal>label input{width:100%;box-sizing:border-box}.store-form-full{grid-column:1/-1}.store-upload-label input{padding:.45rem 0}.store-checkbox{display:flex!important;grid-column:1/-1;align-items:center;gap:.5rem!important}.store-checkbox input{width:auto}.inline-error{margin:0;color:var(--danger)}@media(max-width:620px){.store-head-actions{justify-content:flex-start}.store-grid{grid-template-columns:1fr}.store-card{grid-template-columns:56px minmax(0,1fr);padding:.8rem}.store-item-icon{width:56px;height:56px}.store-card-footer{grid-template-columns:minmax(0,1fr);align-items:stretch}.store-card-actions{width:100%}.store-card-actions .button,.store-card-actions .store-edit-button{flex:0 0 auto}.store-detail-content{grid-template-columns:72px minmax(0,1fr)}.store-detail-icon{width:72px}.store-detail-footer{align-items:flex-end}.store-quantity-control{flex:0 0 auto}.store-form-grid{grid-template-columns:1fr}.store-form-full,.store-checkbox{grid-column:auto}.store-cart-lines article{grid-template-columns:minmax(0,1fr) 78px 30px}.store-cart-lines article>strong{grid-column:1/2}.store-coupon-form{grid-template-columns:1fr}.store-coupon-list article{grid-template-columns:minmax(0,1fr) auto auto}.store-coupon-list article>span{display:none}.store-cart-feedback{right:.75rem;bottom:.75rem;left:.75rem;width:auto}}.inventory-picker-backdrop{z-index:80}.sprite-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(720px,100%);max-height:min(760px,100vh - 2rem);min-height:0;gap:1rem;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:1rem;box-shadow:var(--shadow)}.sprite-modal-controls{display:grid;min-height:0;gap:.75rem}.inventory-modal{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);width:min(780px,100%);max-height:min(820px,100vh - 2rem);min-height:0;gap:1rem;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:1rem;box-shadow:var(--shadow)}.badge-modal{display:grid;width:min(620px,100%);max-height:min(720px,100vh - 2rem);gap:1rem;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:1rem;box-shadow:var(--shadow)}.badge-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem}.badge-picker-grid.single-option{grid-template-columns:minmax(120px,160px);justify-content:center}.badge-picker-grid.single-option .badge-picker-option{min-height:150px;border:0;background:transparent;box-shadow:none}.badge-picker-grid.single-option .badge-picker-option:hover,.badge-picker-grid.single-option .badge-picker-option:focus{border:0;background:transparent;box-shadow:none;transform:scale(1.03)}.badge-picker-grid.single-option .badge-icon{width:104px}.badge-picker-grid.single-option .badge-icon img{width:104px;height:104px}.inventory-modal-actions{display:flex;justify-content:flex-end}.inventory-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.25rem}.inventory-modal-option{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;padding:.55rem;text-align:left}.inventory-modal-option:hover,.inventory-modal-option:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.inventory-modal-option img{width:32px;height:32px;object-fit:contain}.inventory-modal-option strong,.inventory-modal-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-modal-option small{grid-column:2;color:var(--muted);font-size:.72rem;font-weight:400}.pokemon-editor-backdrop{align-items:start;overflow:auto}.pokemon-editor-modal{display:grid;width:min(980px,100%);max-height:min(860px,100dvh - 2rem);gap:.85rem;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem;box-shadow:var(--shadow)}.inventory-editor-modal{display:grid;width:min(760px,100%);max-height:min(780px,100dvh - 2rem);gap:.85rem;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem;box-shadow:var(--shadow)}.achievement-editor-modal{display:grid;width:min(560px,100%);max-height:min(680px,100dvh - 2rem);gap:1rem;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem;box-shadow:var(--shadow)}.history-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(760px,100%);max-height:min(820px,100vh - 2rem);min-height:0;gap:1rem;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem;box-shadow:var(--shadow)}.global-history-modal{width:min(880px,100%)}.admin-history-layout{display:grid;min-height:0;grid-template-columns:minmax(170px,.38fr) minmax(0,1fr);gap:.9rem}.history-ficha-picker,.history-details{min-height:0;overflow:auto;overscroll-behavior:contain}.history-ficha-picker{display:grid;align-content:start;gap:.35rem;border-right:1px solid var(--line);padding-right:.75rem}.history-picker-label{color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.history-ficha-option{display:grid;gap:.12rem;width:100%;border:1px solid transparent;border-radius:6px;background:transparent;padding:.55rem .6rem;color:var(--ink);cursor:pointer;text-align:left}.history-ficha-option:hover,.history-ficha-option.selected{border-color:var(--line);background:var(--surface-soft)}.history-ficha-option.selected{box-shadow:inset 3px 0 0 var(--green)}.history-ficha-option span{overflow:hidden;font-size:.88rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.history-ficha-option small,.empty-picker{color:var(--muted);font-size:.73rem}.empty-picker{margin:.5rem 0}.history-details{display:grid}.global-history-heading{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}.sheet-actions app-ficha-history,.sheet-actions app-ficha-delete{display:contents}.public-admin-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.75rem}.delete-modal{display:grid;width:min(480px,100%);gap:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem;box-shadow:var(--shadow)}.password-reset-modal{display:grid;width:min(460px,100%);gap:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:1rem;box-shadow:var(--shadow)}.password-reset-backdrop{z-index:90;align-items:start;overflow-y:auto}.password-reset-modal{margin-block:1rem}.password-reset-modal>p:not(.error,.success){margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.delete-modal h3{margin:.2rem 0 0}.delete-modal p{margin:.65rem 0 0;color:var(--muted);line-height:1.5}.history-list{display:grid;min-height:0;gap:.65rem;overflow:auto;overscroll-behavior:contain;padding-right:.25rem}.history-entry{display:grid;gap:.45rem;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:6px;background:var(--paper);padding:.8rem}.history-entry-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.history-entry-head time,.history-entry small,.history-entry p{color:var(--muted);font-size:.75rem}.history-entry p{margin:0;overflow-wrap:anywhere}.history-group-count{font-weight:600}.history-group-changes{display:grid;gap:0;border-block:1px solid var(--line)}.history-change{display:grid;gap:.35rem;padding-block:.65rem}.history-change+.history-change{border-top:1px solid var(--line)}.history-group-author{justify-self:end}.history-load-more{justify-self:center;margin-block:.35rem}.history-action{border-radius:4px;padding:.22rem .42rem;color:#fff;font-size:.65rem;font-weight:600;text-transform:uppercase}.history-action.action-adicionado{background:#2f6f55}.history-action.action-removido{background:#a4473c}.history-action.action-alterado{background:#8a6a26}.history-action.action-compra{background:#4f6f9a}.history-action.action-atualizacao{background:#596574}.history-values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem;color:var(--muted);font-size:.78rem}.history-values span:not([aria-hidden]){min-width:0;overflow-wrap:anywhere;border-radius:4px;background:var(--canvas);padding:.45rem .55rem}.achievement-image-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.achievement-image-button{display:grid;width:112px;min-height:126px;place-items:center;gap:.35rem;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--green) 5%,var(--surface));color:var(--green-dark);cursor:pointer;padding:.55rem}.achievement-image-button:hover,.achievement-image-button:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.achievement-image-button img{width:86px;height:86px;object-fit:contain}.achievement-image-button>span{font-size:1.5rem;font-weight:500}.achievement-image-button small{color:var(--muted);font-weight:400}.image-crop-modal{display:grid;width:min(720px,100vw - 2rem);max-height:calc(100vh - 2rem);gap:1rem;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:1rem}.banner-manager-modal{width:min(420px,100vw - 1rem)}.banner-manager-actions{display:flex;flex-wrap:wrap;gap:.6rem}.image-cropper-frame{width:min(470px,100%);justify-self:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--canvas)}.image-cropper-frame.banner-cropper{width:100%}.image-cropper-frame image-cropper{display:block;height:min(470px,100vh - 15rem);--cropper-outline-color: rgb(32 37 50 / 38%);--cropper-overlay-color: var(--surface);--cropper-color: var(--green-dark);--cropper-border: 1px solid rgb(255 250 240 / 92%);--cropper-hover-border: 1px solid var(--green);--cropper-focus-border: 2px solid var(--green);--cropper-resize-square-bg: var(--green-dark)}.image-cropper-frame.banner-cropper image-cropper{height:min(360px,100vh - 15rem)}.image-crop-hint{margin:-.3rem 0 0;color:var(--muted);font-size:.84rem;font-weight:400;text-align:center}.pokemon-editor-modal .repeat-actions{position:sticky;z-index:2;top:-1rem;margin:-1rem -1rem 0;border-bottom:1px solid var(--line);background:var(--surface);padding:1rem}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.modal-head h3{margin:.2rem 0 0}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.registro-editor-hint{margin:-.35rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.4}.registro-editor-actions .danger{margin-right:auto}.custom-sprite-row{display:grid;gap:.6rem}.custom-sprite-row .button{width:100%}.custom-sprite-preview{display:flex;align-items:center;gap:.65rem;border:1px solid rgba(174,181,191,.2);border-radius:8px;background:#aeb5bf1f;padding:.65rem;color:var(--muted);font-weight:400}.custom-sprite-preview img{width:44px;height:44px;object-fit:contain}.sprite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.6rem;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.25rem}.sprite-option{display:grid;min-height:86px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:500}.sprite-option small{max-width:100%;overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.sprite-option:hover,.sprite-option.active{border-color:var(--green);background:#aeb5bf29;color:var(--green-dark)}.sprite-option img{width:48px;height:48px;object-fit:contain}.sprite-fallback{display:grid;width:48px;height:48px;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--green-dark);font-size:1.4rem;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}.move-slot-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,.7fr) 88px 96px;gap:.6rem}.move-name-field{display:grid;min-width:0;gap:.35rem}.custom-move-name{min-width:0}.move-type-field{position:relative;min-width:0}.move-type-icon{position:absolute;z-index:1;top:50%;left:.65rem;display:block;width:22px;height:22px;background:var(--move-type-color);mask:var(--move-type-icon) center/contain no-repeat;-webkit-mask:var(--move-type-icon) center/contain no-repeat;pointer-events:none;transform:translateY(-50%)}.move-type-field select.with-icon{padding-left:2.45rem}.move-select.has-type{border-color:var(--move-color);background:var(--surface);box-shadow:inset 4px 0 0 var(--move-color);font-weight:600}.move-style-select.has-style{border-color:color-mix(in srgb,var(--contest-style-color) 58%,var(--line));background:color-mix(in srgb,var(--contest-style-color) 11%,var(--surface));box-shadow:inset 4px 0 0 var(--contest-style-color);color:color-mix(in srgb,var(--contest-style-color) 70%,var(--ink));font-weight:600}.inline-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.6rem;align-items:end}.full-field{font-size:.9rem}.subhead{display:flex;align-items:center;justify-content:space-between;gap:1rem}.subhead h3,.two-cols h3{margin:0}.subhead span{color:var(--muted);font-weight:500}.pokemon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}.pokemon-card{display:grid;gap:.8rem;padding:1rem}.pokemon-card h4,.pokemon-card p{margin:0}.pokemon-card p{color:var(--muted)}.compact-list{display:flex;flex-wrap:wrap;gap:.5rem}.compact-list span{border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:.45rem .7rem;font-weight:400}.table-like{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px}.table-row{display:grid;grid-template-columns:1fr 1.4fr .45fr;gap:.75rem;align-items:center;padding:.75rem}.table-row+.table-row{border-top:1px solid var(--line)}.table-row.head{background:var(--paper-strong);color:var(--muted);font-size:.78rem;font-weight:500;text-transform:uppercase}.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.note-card{margin-top:.7rem;padding:.85rem}.note-card p{margin:.35rem 0 0;color:var(--muted)}@media(max-width:860px){.sheet-wrap.mobile-keyboard-open{padding-bottom:max(var(--keyboard-inset, 0px) + 1.5rem,48vh);scroll-padding-bottom:max(var(--keyboard-inset, 0px) + 1.5rem,48vh)}.sheet-wrap.mobile-keyboard-open input,.sheet-wrap.mobile-keyboard-open textarea,.sheet-wrap.mobile-keyboard-open [contenteditable=true]{scroll-margin-top:5rem;scroll-margin-bottom:max(var(--keyboard-inset, 0px) + 1.5rem,45vh)}.sheet-wrap.mobile-keyboard-open .modal-backdrop{align-items:flex-start;padding-bottom:max(var(--keyboard-inset, 0px) + 1rem,45vh)}.section-head,.sheet-header{align-items:stretch;flex-direction:column}.topbar{z-index:30;height:52px;min-height:52px;align-items:center;gap:.5rem;padding:0 .65rem}.brand{align-self:auto}.brand-logo{width:6.7rem}.mobile-menu-toggle{display:grid;width:2.35rem;height:2.35rem;margin-left:auto;place-content:center;gap:4px;border:1px solid color-mix(in srgb,var(--green) 20%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--green) 6%,var(--surface));color:var(--green-dark);cursor:pointer;padding:0}.mobile-menu-toggle span{display:block;width:1.05rem;height:1px;background:currentColor;transition:transform .16s ease,opacity .16s ease}.mobile-menu-toggle.open span:first-child{transform:translateY(5px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:last-child{transform:translateY(-5px) rotate(-45deg)}.topbar-actions{position:fixed;top:58px;right:.65rem;z-index:32;display:grid;width:min(18rem,100vw - 1.3rem);align-items:stretch;gap:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.55rem;box-shadow:0 18px 45px #1c222733;font-size:.82rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .15s ease,transform .15s ease}.topbar-actions.mobile-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mobile-menu-backdrop{position:fixed;inset:52px 0 0;z-index:29;display:block;width:100%;height:calc(100vh - 52px);border:0;background:#1c222733;padding:0}.topbar-library-nav{position:static;display:grid;gap:.2rem;transform:none}.topbar-library-link{display:flex;min-height:2.45rem;align-items:center;border:0;border-radius:6px;padding:.55rem .7rem;font-size:.82rem}.topbar-admin-link,.topbar-user-chip{width:100%;min-height:2.45rem;box-sizing:border-box;justify-content:flex-start;border:0;border-radius:6px;padding:.55rem .7rem}.topbar-user-chip{max-width:none;justify-content:space-between;border-top:1px solid var(--line);border-radius:0;margin-top:.2rem;padding-top:.7rem}.sheet-header{padding-top:4.9rem;padding-right:0}.sheet-actions{right:auto;left:0;flex-wrap:wrap;max-width:100%;gap:.45rem}.sheet-actions .button{min-height:2.35rem;padding:.55rem .78rem;white-space:nowrap}.sheet{grid-template-columns:1fr}.profile-rail{grid-template-columns:110px 1fr}.rail-stats{grid-column:1/-1}.edit-panel,.facts-grid,.stats-grid,.move-slot-row,.upgrade-chips,.badge-case,.ribbon-case,.public-hero,.public-facts,.public-stats,.public-data-grid,.public-achievement-columns,.public-relacionado-detail,.relacionado-editor-main,.inline-row,.two-cols,.custom-sprite-row{grid-template-columns:1fr}.public-hero{grid-template-rows:auto auto auto;gap:0;height:auto}.public-hero-banner{display:none}.public-portrait{grid-row:1;min-height:0;aspect-ratio:4/3;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--green) 20%,var(--line))}.public-portrait img{object-fit:contain!important;object-position:center center;background:color-mix(in srgb,var(--green) 6%,var(--surface))}.public-hero-main{grid-row:2;padding:1.1rem 1rem 0}.public-facts{grid-row:3;grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));padding:.9rem 1rem 1rem}.public-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.public-data-grid,.public-pokemon-team-grid,.public-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-compact-move-list{grid-template-columns:1fr}.public-move-list{grid-template-columns:repeat(2,minmax(0,1fr))}.public-badge-case{grid-template-columns:repeat(4,minmax(0,1fr))}.public-relacionado-image{width:112px;height:128px}}@media(max-width:540px){.admin-history-layout{grid-template-columns:1fr;grid-template-rows:minmax(92px,.32fr) minmax(0,1fr)}.history-ficha-picker{grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;grid-template-rows:auto 1fr;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 .55rem}.history-picker-label,.empty-picker{grid-column:1/-1}.page-wrap{width:min(100% - 1rem,1180px)}.ficha-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ficha-card{grid-template-rows:auto 72px auto auto;gap:.32rem;min-height:202px;padding:.75rem .45rem .52rem}.ficha-card-player{max-width:5.5rem;min-height:.95rem;padding:.18rem .42rem;font-size:.58rem}.ficha-card-thumb{width:72px;height:72px;border-radius:7px}.ficha-card h2{font-size:.95rem;line-height:1.24;padding-bottom:.08rem}.ficha-card-content p{margin-bottom:.1rem;font-size:.7rem;line-height:1.28}.ficha-card-team{min-height:30px;padding-top:.38rem}.ficha-card-team-sprites{flex-wrap:nowrap;gap:.08rem;overflow:hidden}.ficha-card-team-sprite{width:21px;height:21px;flex-basis:21px;border-radius:5px;font-size:.58rem}.profile-rail{grid-template-columns:1fr}.public-hero{grid-template-rows:auto auto auto}.public-portrait{aspect-ratio:4/5;max-height:min(72vh,430px)}.public-portrait img{object-fit:contain!important;object-position:center center}.public-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.public-pokemon-team-grid,.public-inventory-grid,.public-compact-move-list,.public-move-list{grid-template-columns:1fr}.portrait{max-width:220px}.table-row{grid-template-columns:1fr}.history-entry-head{align-items:flex-start;flex-direction:column}.history-values{grid-template-columns:1fr}.history-values span[aria-hidden]{transform:rotate(90deg);justify-self:center}}.shell{isolation:isolate;position:relative;overflow-x:clip}.shell:before{content:"";position:fixed;z-index:-1;right:-100px;bottom:-120px;width:min(48vw,660px);aspect-ratio:1;background:#a9a3b0;-webkit-mask:url(/assets/limbo-flower.png) center/contain no-repeat;mask:url(/assets/limbo-flower.png) center/contain no-repeat;mask-mode:luminance;opacity:.19;transform:rotate(-5deg);pointer-events:none}.shell:after{content:"";position:fixed;z-index:-1;left:clamp(-56px,-3vw,-20px);top:clamp(118px,15vh,180px);width:clamp(180px,18vw,300px);height:min(76vh,760px);background:url(/assets/limbo-spine.png) left center/contain no-repeat;opacity:.32;filter:contrast(.92) brightness(.92);-webkit-mask-image:linear-gradient(to right,#000 0 72%,transparent 100%);mask-image:linear-gradient(to right,#000 0 72%,transparent 100%);pointer-events:none}@media(max-width:760px){.shell:after{left:-70px;top:132px;width:190px;height:60vh;opacity:.16}}.topbar{height:78px;border-bottom-color:var(--line);background:#08080aeb;box-shadow:none;padding-inline:clamp(18px,3vw,48px)}.brand-logo{width:128px;height:58px;max-height:none;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.2)}.topbar-library-link,.topbar-admin-link,.topbar-user-chip{border-radius:0}.topbar-library-link{position:relative;border:0;background:transparent;padding-inline:14px}.topbar-library-link:after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:1px;background:var(--ink);transition:left .18s ease,right .18s ease}.topbar-library-link:hover,.topbar-library-link:focus-visible{border-color:transparent;background:transparent;color:var(--ink)}.topbar-library-link:hover:after,.topbar-library-link:focus-visible:after{left:14px;right:14px}.login-page{min-height:100svh;background:#080809 url(/assets/limbo-flower.png) right center/auto 90% no-repeat;background-blend-mode:screen}.login-panel{width:min(100%,440px);border:0;border-radius:0;background:#080809f0;box-shadow:none;padding:32px;gap:24px}.login-brand-logo{margin-bottom:28px}.login-brand-logo img{width:290px;height:140px;object-fit:cover;filter:none;mix-blend-mode:screen}.login-panel h1{font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400;line-height:1.25}.login-panel p{font-size:14px;line-height:1.65}.auth-toggle{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0;gap:0}.auth-toggle button{border-radius:0;min-height:44px}.auth-toggle button.active{background:transparent;border-bottom:2px solid var(--ink);box-shadow:none}.button,input,select,textarea{border-radius:5px}.button.primary{background:#d6d3dc;color:#17161b}.button.danger{color:#fff}.button:hover:not(:disabled){filter:brightness(1.1)}:focus-visible{outline:2px solid #c8c2d5;outline-offset:3px}.section-head{position:relative;min-height:106px;align-items:center;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.section-head:before{content:none;position:absolute;left:-52px;top:50%;width:24px;height:24px;border:1px solid #6b6870;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 7px #0b0b0d,0 0 0 8px #29282d}.section-head:after{content:none;position:absolute;left:-41px;top:calc(50% - 22px);width:1px;height:44px;background:#aaa6b1;transform:rotate(45deg)}.section-head h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:44px;line-height:1.15}.eyebrow,.card-kicker{letter-spacing:0;color:#8e8a94}.ficha-card,.state-card,.note-card,.pokemon-card{box-shadow:none}.ficha-card{position:relative;border-color:#343239;background:#151417;border-radius:6px;padding:20px 14px 16px;transition:border-color .16s ease,transform .16s ease}.ficha-card:hover{border-color:#8d8798;transform:translateY(-3px)}.ficha-card:before{content:none;position:absolute;inset:7px;border:1px solid rgba(255,255,255,.04);pointer-events:none}.ficha-card-player{color:#17161b}.ficha-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.ficha-card h2{font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:400;line-height:1.3}@media(prefers-reduced-motion:reduce){.ficha-card{transition:none}.ficha-card:hover{transform:none}}@media(max-width:700px){.topbar{height:64px}.topbar-actions{top:70px}.mobile-menu-backdrop{top:64px;height:calc(100dvh - 64px)}.brand-logo{width:106px;height:48px}.login-page{padding:20px;background-size:auto 65%;background-position:center top}.login-panel{padding:24px 16px}.login-brand-logo img{width:250px;height:124px}.section-head{min-height:112px}.section-head h1{font-size:34px}.ficha-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ficha-card{padding:16px 10px 12px}.ficha-card h2{font-size:18px;overflow-wrap:anywhere}.section-head:before,.section-head:after{display:none}.shell:before{right:-42vw;bottom:-80px;width:96vw;opacity:.11}.shell:after{display:none}}.auth-honeypot{position:fixed!important;inset-inline-start:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
