@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap");:root,html[data-theme=light]{--pt-bg:#f7f5f8;--pt-bg-deep:#ece8f0;--pt-surface:#ffffff;--pt-surface-soft:#f3f0f6;--pt-chrome:#ffffff;--pt-primary:#e6007e;--pt-primary-dark:#c4006a;--pt-primary-light:#fce4f1;--pt-accent-hi:#ff47a8;--pt-on-accent:#ffffff;--pt-text:#3a3340;--pt-text-muted:#8a8194;--pt-border:#e4dee9;--pt-border-soft:#e4dee9;--pt-shadow:0 4px 24px rgba(58,40,70,0.12);--pt-shadow-lg:0 8px 32px rgba(58,40,70,0.16);--pt-radius:1rem;--pt-radius-sm:0.65rem;--pt-radius-pill:999px;--pt-legal:#2ecc71;--pt-illegal:#e74c3c;--pt-shiny:#f0b323;--pt-shiny-bg:#fff6dc;--pt-slot-empty:#eeeaf3;--pt-male:#388ee0;--pt-female:#e86098;--pt-honeycomb:rgba(230,0,126,0.09);--pt-font:"Nunito",system-ui,-apple-system,sans-serif}html[data-theme=dark]{color-scheme:dark;--pt-bg:#120d1c;--pt-bg-deep:#0a0712;--pt-surface:#1e172e;--pt-surface-soft:#291f3c;--pt-chrome:#160f22;--pt-primary:#e91e8c;--pt-primary-dark:#ff60b6;--pt-primary-light:#3e102e;--pt-accent-hi:#ff60b6;--pt-on-accent:#ffffff;--pt-text:#f5f0fa;--pt-text-muted:#b2a5c4;--pt-border:#3a2e50;--pt-border-soft:#3a2e50;--pt-shadow:0 4px 24px rgba(0,0,0,0.45);--pt-shadow-lg:0 8px 32px rgba(0,0,0,0.55);--pt-shiny:#ffce54;--pt-shiny-bg:color-mix(in srgb,#ffce54 14%,#1e172e);--pt-slot-empty:#29203c;--pt-male:#5eacf6;--pt-female:#f682b2;--pt-honeycomb:rgba(230,0,126,0.13)}html{font-size:16px;position:relative;min-height:100%}body{margin:0;min-height:100vh;font-family:var(--pt-font);background:linear-gradient(180deg,var(--pt-bg) 0,var(--pt-bg-deep) 100%);background-attachment:fixed;color:var(--pt-text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'><path fill='none' stroke='%23E6007E' stroke-width='1' d='M28 2 L54 17 V47 L28 62 L2 47 V17 Z'/></svg>");background-size:56px 97px;opacity:.09}html[data-theme=dark] body:before{opacity:.14}body.pt-app{padding-bottom:3rem}body.pt-app>*{position:relative;z-index:1}.pt-header{background:var(--pt-chrome);box-shadow:var(--pt-shadow);margin-bottom:0;border-bottom:3px solid var(--pt-primary)}.pt-header .navbar{padding-top:.65rem;padding-bottom:.65rem}.pt-header .navbar-brand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.15rem;color:var(--pt-text)!important;letter-spacing:-.02em}.pt-logo{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(145deg,#fff,#fff 44%,#e74c3c 0,#e74c3c 56%,#fff 0,#fff);border:2px solid var(--pt-border);box-shadow:0 2px 6px rgba(0,0,0,.12);flex-shrink:0}.pt-header .nav-link{color:var(--pt-text-muted)!important;font-weight:600;font-size:.92rem;padding:.4rem .85rem!important;border-radius:var(--pt-radius-pill);transition:background .15s,color .15s}.pt-header .nav-link:focus,.pt-header .nav-link:hover{color:var(--pt-text)!important;background:var(--pt-primary-light)}.pt-header .nav-link.active{color:var(--pt-on-accent)!important;background:var(--pt-primary);box-shadow:0 2px 8px rgba(230,0,126,.28)}.pt-header .navbar-text{color:var(--pt-text)!important;font-weight:600;font-size:.9rem}.pt-header .btn-outline-light{border:2px solid var(--pt-border);color:var(--pt-text);background:transparent;font-weight:700;border-radius:var(--pt-radius-pill);font-size:.85rem}.pt-header .btn-outline-light:hover{background:var(--pt-primary-light);border-color:var(--pt-primary);color:var(--pt-text)}.theme-toggle{border:2px solid var(--pt-border);background:var(--pt-surface-soft);color:var(--pt-text);font:inherit;font-weight:700;font-size:.82rem;border-radius:var(--pt-radius-pill);padding:.3rem .8rem;cursor:pointer}.theme-toggle:hover{border-color:var(--pt-primary);background:var(--pt-primary-light)}.pt-main{max-width:1120px;padding-top:1.5rem;padding-bottom:2rem}.pt-footer{text-align:center;padding:1.25rem 1rem;font-size:.8rem;color:var(--pt-text-muted)}.pt-panel{background:var(--pt-surface);border-radius:var(--pt-radius);box-shadow:var(--pt-shadow);border:1px solid var(--pt-border-soft);padding:1.25rem;margin-bottom:1.25rem}.pt-panel-header{margin-bottom:1rem}.pt-panel-header h1,.pt-panel-header h2{font-weight:800;color:var(--pt-text);margin-bottom:.25rem}.pt-panel-sub{color:var(--pt-text-muted);margin:0;font-size:.92rem;font-weight:600}.btn-primary{background:var(--pt-primary);color:var(--pt-on-accent);border:none;border-radius:var(--pt-radius-pill);font-weight:700;box-shadow:0 3px 10px rgba(230,0,126,.28);transition:transform .12s,box-shadow .12s,background .12s}.btn-primary:focus,.btn-primary:hover{background:var(--pt-accent-hi);color:var(--pt-on-accent);box-shadow:0 4px 14px rgba(230,0,126,.4);transform:translateY(-1px)}.btn-outline-primary{color:var(--pt-primary-dark);border-color:var(--pt-primary);border-radius:var(--pt-radius-pill);font-weight:700}.btn-outline-primary:hover{background:var(--pt-primary-light);color:var(--pt-primary-dark);border-color:var(--pt-primary)}.btn-outline-secondary,.btn-secondary{border-radius:var(--pt-radius-pill);font-weight:700}.btn-secondary,.form-control{background:var(--pt-surface-soft);color:var(--pt-text);border:2px solid var(--pt-border)}.form-control{border-radius:var(--pt-radius-sm);font-weight:600;padding:.55rem .85rem}.form-control:focus{background:var(--pt-surface);border-color:var(--pt-primary);color:var(--pt-text);box-shadow:0 0 0 .2rem rgba(230,0,126,.18);outline:none}.form-control::placeholder{color:var(--pt-text-muted);font-weight:500}.form-text{color:var(--pt-text-muted);font-size:.82rem}.alert{border-radius:var(--pt-radius-sm);border:none;font-weight:600}.alert-danger{background:#fdecea;color:#c0392b}.hero{text-align:center;padding:2.5rem 1rem 1.5rem}.hero-logo{width:4.5rem;height:4.5rem;border-radius:50%;background:linear-gradient(145deg,#fff,#fff 44%,#e74c3c 0,#e74c3c 56%,#fff 0,#fff);border:4px solid #fff;box-shadow:var(--pt-shadow-lg);margin:0 auto 1.25rem}.hero h1{font-weight:800;font-size:2.25rem;color:var(--pt-text);margin-bottom:.75rem;letter-spacing:-.03em}.hero .lead{max-width:32rem;margin:0 auto;color:var(--pt-text-muted);font-size:1.05rem;font-weight:600;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.75rem}.hero-actions .btn-lg{padding:.65rem 1.75rem;font-size:1rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));grid-gap:1rem;gap:1rem;margin:2rem 0}.feature-card{background:var(--pt-surface);border-radius:var(--pt-radius);padding:1.5rem;border:1px solid var(--pt-border-soft);box-shadow:var(--pt-shadow);transition:transform .15s,box-shadow .15s}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--pt-shadow-lg)}.feature-icon{width:2.75rem;height:2.75rem;border-radius:.75rem;background:var(--pt-primary-light);display:flex;align-items:center;justify-content:center;margin-bottom:.85rem;font-weight:800;font-size:1.1rem;color:var(--pt-primary-dark)}.feature-card h3{font-size:1.05rem;font-weight:800;margin-bottom:.45rem;color:var(--pt-text)}.feature-card p{color:var(--pt-text-muted);font-size:.9rem;font-weight:600;margin:0;line-height:1.5}.auth-body{margin:0;min-height:100vh;background:linear-gradient(180deg,var(--pt-bg) 0,var(--pt-bg-deep) 100%);font-family:var(--pt-font)}.auth-shell{min-height:100vh;flex-direction:column;justify-content:center;padding:1.5rem}.auth-brand,.auth-shell{display:flex;align-items:center}.auth-brand{gap:.6rem;color:var(--pt-primary-dark);text-decoration:none;font-weight:800;font-size:1.35rem;margin-bottom:1.5rem}.auth-brand .pt-logo{width:2.25rem;height:2.25rem}.auth-card{width:100%;max-width:24rem;background:var(--pt-surface);border:1px solid var(--pt-border-soft);border-radius:var(--pt-radius);padding:2rem;box-shadow:var(--pt-shadow-lg)}.auth-card h1{font-size:1.5rem;font-weight:800;margin-bottom:.25rem;color:var(--pt-text)}.auth-sub{font-size:.92rem;margin-bottom:1.25rem}.auth-footer,.auth-sub{color:var(--pt-text-muted);font-weight:600}.auth-footer{margin-top:1.25rem;margin-bottom:0;text-align:center;font-size:.9rem}.auth-footer a{color:var(--pt-primary-dark);font-weight:700}.pt-form{max-width:100%;gap:.85rem}.pt-form,.pt-label{display:flex;flex-direction:column}.pt-label{gap:.35rem;font-size:.88rem;font-weight:700;color:var(--pt-text)}.bank-header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.bank-header h1{font-size:1.65rem;font-weight:800;margin-bottom:.2rem;color:var(--pt-text)}.bank-stats{color:var(--pt-text-muted);margin:0;font-size:.9rem;font-weight:600}.bank-search{display:flex;gap:.5rem;flex:1 1;min-width:min(100%,18rem);max-width:26rem}.bank-search .btn{flex-shrink:0;white-space:nowrap}.box-tabs-wrap{background:var(--pt-surface-soft);border:2px solid var(--pt-border-soft);border-radius:var(--pt-radius-sm);padding:.65rem .75rem;margin-bottom:1rem}.box-tabs{display:flex;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.4) transparent}.box-tab{flex:0 0 auto;padding:.38rem .8rem;border-radius:var(--pt-radius-pill);background:var(--pt-surface);color:var(--pt-text-muted);text-decoration:none;font:inherit;font-size:.82rem;font-weight:700;white-space:nowrap;border:2px solid var(--pt-border);transition:background .12s,border-color .12s,color .12s;cursor:pointer}.box-tab:hover{background:var(--pt-primary-light);color:var(--pt-text);border-color:var(--pt-primary)}.box-tab.active{background:var(--pt-primary);color:var(--pt-on-accent);box-shadow:0 2px 8px rgba(230,0,126,.25)}.box-tab.active,.box-tab.has-mons:not(.active){border-color:var(--pt-primary)}.box-tab.drop-target{border-color:var(--pt-shiny);background:var(--pt-shiny-bg);color:var(--pt-text)}.bank-box-panel{background:var(--pt-surface-soft);border-radius:var(--pt-radius);border:2px solid var(--pt-border-soft);padding:1rem}.slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.45rem;gap:.45rem}@media (min-width:768px){.slot-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem}}.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;min-height:0;padding:.25rem;border-radius:var(--pt-radius-sm);background:var(--pt-surface);color:inherit;text-decoration:none;font:inherit;font-size:.68rem;text-align:center;border:2px solid var(--pt-border-soft);box-shadow:0 1px 4px rgba(58,40,70,.08);transition:transform .1s,box-shadow .1s,border-color .1s;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.slot:not(.empty):hover{transform:scale(1.04);box-shadow:0 4px 12px rgba(230,0,126,.18)}.slot.selected,.slot:not(.empty):hover{border-color:var(--pt-primary);z-index:1}.slot.selected{box-shadow:0 0 0 2px var(--pt-primary)}.slot.picked{border-color:var(--pt-shiny);box-shadow:0 0 0 2px var(--pt-shiny);z-index:1}.slot.drop-target{border-style:solid;border-color:var(--pt-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--pt-primary) 45%,transparent);background:color-mix(in srgb,var(--pt-primary) 12%,var(--pt-slot-empty))}.slot.dragging,.slot.origin{opacity:1}.slot.empty.placeable{border-color:var(--pt-primary)}.slot-sprite{width:2.75rem;height:2.75rem;image-rendering:pixelated;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.08))}.slot.empty{background:var(--pt-slot-empty);color:var(--pt-text-muted);border-style:dashed;border-color:var(--pt-border);box-shadow:none}.slot.empty:before{content:"";width:1.25rem;height:1.25rem;border-radius:50%;background:var(--pt-border-soft);opacity:.6}.slot.legal{border-color:var(--pt-legal)}.slot.illegal{border-color:var(--pt-border)}.slot.illegal:after{content:"";position:absolute;right:.28rem;bottom:.28rem;width:.42rem;height:.42rem;border-radius:50%;background:var(--pt-illegal);box-shadow:0 0 0 2px var(--pt-surface);z-index:1}.slot.selected,.slot.selected.illegal,.slot.selected.legal{border-color:var(--pt-primary);box-shadow:0 0 0 2px var(--pt-primary);background:var(--pt-surface)}.slot.picked,.slot.picked.illegal,.slot.picked.legal{border-color:var(--pt-shiny);box-shadow:0 0 0 2px var(--pt-shiny)}.slot.shiny{background:var(--pt-shiny-bg)}.slot-egg-mark{top:.1rem;left:.16rem;display:flex;z-index:1}.slot-egg-mark,.slot-shiny-mark{position:absolute;pointer-events:none}.slot-shiny-mark{top:.12rem;right:.18rem;font-size:.72rem;line-height:1}.shiny,.slot-shiny-mark,.slot.shiny .slot-name{color:var(--pt-shiny)}.slot-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap;margin-top:.1rem}.slot-meta{color:var(--pt-text-muted);font-size:.62rem;font-weight:600}@media (max-width:576px){.slot-meta,.slot-name{display:none}.slot-sprite{width:3rem;height:3rem}}.search-results h2{font-size:1.1rem;font-weight:800;margin-bottom:.85rem}.pokemon-list{display:flex;flex-direction:column;gap:.5rem}.pokemon-card{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;background:var(--pt-surface);border-radius:var(--pt-radius-sm);text-decoration:none;color:inherit;border:2px solid var(--pt-border-soft);box-shadow:0 2px 8px rgba(0,80,140,.06);transition:transform .1s,box-shadow .1s}.pokemon-card:hover{transform:translateX(3px);box-shadow:var(--pt-shadow);border-color:var(--pt-primary)}.pokemon-card.legal{border-left:4px solid var(--pt-legal)}.pokemon-card.illegal{border-left:4px solid var(--pt-illegal)}.pokemon-sprite{width:3.25rem;height:3.25rem;image-rendering:pixelated;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.pokemon-card-name{font-weight:800;display:block;font-size:1rem}.pokemon-card-meta{font-size:.85rem;color:var(--pt-text-muted);font-weight:600}.breadcrumb-nav{margin-bottom:1rem}.breadcrumb-nav a{color:var(--pt-primary-dark);text-decoration:none;font-weight:700;font-size:.92rem}.breadcrumb-nav a:hover{text-decoration:underline}.pokemon-detail{background:var(--pt-surface);border-radius:var(--pt-radius);padding:1.5rem;border:1px solid var(--pt-border-soft);box-shadow:var(--pt-shadow)}.pokemon-detail-head{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:2px solid var(--pt-border-soft)}.pokemon-detail-sprite-wrap{position:relative;background:var(--pt-surface-soft);border-radius:var(--pt-radius);border:2px solid var(--pt-border-soft);padding:1rem;display:flex;align-items:center;justify-content:center}.detail-egg-mark{position:absolute;top:.45rem;left:.45rem;z-index:1;display:flex}.detail-egg-mark svg{width:1.15rem;height:1.35rem}.egg-badge{background:#f4ead4;color:#7a5a32;font-weight:700;border-radius:var(--pt-radius-pill)}.pokemon-detail-sprite{width:7rem;height:7rem;image-rendering:pixelated;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}.pokemon-detail h1{font-weight:800;font-size:1.75rem;margin-bottom:.25rem}.pokemon-detail-species{color:var(--pt-text-muted);margin-bottom:.25rem;font-weight:600}.pokemon-detail-level{color:var(--pt-text-muted);font-size:.92rem;font-weight:600;margin-bottom:.65rem}.shiny-badge{background:var(--pt-shiny-bg);color:var(--pt-shiny);font-weight:700;border-radius:var(--pt-radius-pill)}.detail-grid{margin-bottom:1.5rem}.pt-dl{display:grid;grid-template-columns:9rem 1fr;grid-gap:.45rem 1rem;gap:.45rem 1rem}.pt-dl dt{color:var(--pt-text-muted);font-weight:700;font-size:.88rem}.pt-dl dd{font-weight:600;margin:0}.pokemon-detail h2{font-size:1.05rem;font-weight:800;margin-bottom:.65rem}.hash{font-size:.75rem;word-break:break-all;padding:.15rem .4rem;border-radius:.3rem}.hash,.legality{background:var(--pt-surface-soft)}.legality{color:var(--pt-text);padding:1rem;white-space:pre-wrap;font-size:.82rem;font-weight:600;border-radius:var(--pt-radius-sm);border:2px solid var(--pt-border-soft);overflow-x:auto;font-family:ui-monospace,monospace}.ok{color:var(--pt-legal)}.bad,.ok{font-weight:700}.bad{color:var(--pt-illegal)}.pairing-code{font-size:2rem;letter-spacing:.25em;font-family:ui-monospace,monospace;font-weight:700;color:var(--pt-primary-dark);background:var(--pt-primary-light);border-radius:var(--pt-radius-sm);padding:.75rem 1rem;text-align:center;border:2px dashed var(--pt-primary)}.pt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.pt-table thead th{background:var(--pt-primary-light);color:var(--pt-primary-dark);font-weight:800;padding:.65rem 1rem;border-bottom:2px solid var(--pt-border)}.pt-table thead th:first-child{border-radius:var(--pt-radius-sm) 0 0 0}.pt-table thead th:last-child{border-radius:0 var(--pt-radius-sm) 0 0}.pt-table tbody td{padding:.65rem 1rem;font-weight:600;border-bottom:1px solid var(--pt-border-soft)}.pt-table tbody tr:last-child td{border-bottom:none}.pt-table tbody tr:hover td{background:var(--pt-surface-soft)}.save-box-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.save-box-tab{padding:.3rem .7rem;border-radius:var(--pt-radius-pill);font-size:.82rem;font-weight:700;text-decoration:none;border:2px solid var(--pt-border);color:var(--pt-text-muted);background:var(--pt-surface);transition:all .12s}.save-box-tab:hover{border-color:var(--pt-primary);color:var(--pt-primary-dark)}.save-box-tab.active{background:var(--pt-primary);border-color:var(--pt-primary);color:#fff}.upload-zone{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:1rem;background:var(--pt-surface-soft);border-radius:var(--pt-radius-sm);border:2px dashed var(--pt-border)}.upload-zone input[type=file]{font-weight:600;font-size:.9rem}@media (max-width:480px){.pt-dl{grid-template-columns:1fr}.pt-dl dt{margin-top:.5rem}}.alert-success{background:#eafaf1;color:#1e8449}.alert-success .hash{background:#fff}.admin-badge{display:inline-block;margin-left:.35rem;padding:.1rem .5rem;border-radius:var(--pt-radius-pill);background:var(--pt-primary-light);color:var(--pt-primary-dark);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));grid-gap:.75rem;gap:.75rem}.admin-stat{display:flex;flex-direction:column;gap:.15rem;padding:1rem;background:var(--pt-surface-soft);border:2px solid var(--pt-border-soft);border-radius:var(--pt-radius-sm);text-decoration:none;color:inherit}a.admin-stat:hover{border-color:var(--pt-primary)}.admin-stat-value{font-size:1.6rem;font-weight:800;color:var(--pt-primary-dark);line-height:1.1}.admin-stat-label{font-size:.82rem;font-weight:700;color:var(--pt-text-muted)}.admin-row-actions{display:flex;gap:.75rem;white-space:nowrap}.admin-pager{display:flex;gap:1rem;align-items:center;margin-top:1rem;font-weight:700}.admin-inline-form{max-width:24rem}.admin-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-rename-box{display:flex;gap:.4rem;align-items:center;min-width:14rem}.danger-zone{border-color:#f5c6cb}.danger-zone h2{color:#c0392b}.admin-row-actions form{display:inline}.admin-row-actions code{font-size:.82rem}.btn-danger,.btn-outline-danger{border-radius:var(--pt-radius-pill);font-weight:700}.bank-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(16rem,.85fr);grid-gap:1rem;gap:1rem;align-items:start}.bank-box-card,.bank-detail-card{min-width:0}.bank-detail-card .pokemon-detail{margin:0}.pokemon-detail.compact{padding:1.1rem}.pokemon-detail.compact .pokemon-detail-sprite{width:5.5rem;height:5.5rem}.pokemon-detail.compact h1{font-size:1.35rem}.empty-detail{min-height:18rem;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--pt-text-muted);font-weight:600}.gender{font-weight:800;margin-left:.25rem}.gender.male{color:var(--pt-male)}.gender.female{color:var(--pt-female)}.type-badges{display:flex;gap:.35rem;margin-top:.4rem}.type-badge{width:2.35rem;height:2.05rem;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.52rem;font-weight:800;letter-spacing:.03em;text-shadow:0 1px 1px rgba(0,0,0,.35)}.detail-stats{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(10rem,1.1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.25rem;align-items:start}.detail-iv h2,.ev-bars-head{font-size:.95rem;font-weight:800;margin:0 0 .5rem}.iv-chart{display:block;margin:0 auto}.iv-chart-grid{fill:none;stroke:var(--pt-border);stroke-width:1}.iv-chart-fill{fill:color-mix(in srgb,var(--pt-primary) 38%,transparent);stroke:var(--pt-primary);stroke-width:1.5}.iv-chart-dot{fill:var(--pt-primary)}.iv-chart-label{fill:var(--pt-text-muted);font-size:10px;font-weight:700;font-family:var(--pt-font)}.iv-chart-label.perfect{fill:var(--pt-primary)}.iv-numbers{display:flex;flex-wrap:wrap;gap:.35rem .7rem;justify-content:center;font-size:.72rem;font-weight:700;color:var(--pt-text-muted);margin:.4rem 0 0}.ev-bars{display:flex;flex-direction:column;gap:.35rem}.ev-bars-head{display:flex;justify-content:space-between;align-items:baseline}.ev-total{font-size:.78rem;color:var(--pt-text-muted);font-weight:700}.ev-row{display:grid;grid-template-columns:2.2rem 1fr 2rem;grid-gap:.4rem;gap:.4rem;align-items:center;font-size:.75rem;font-weight:700}.ev-label{color:var(--pt-text-muted)}.ev-value{text-align:right}.ev-track{height:.45rem;border-radius:var(--pt-radius-pill);background:var(--pt-surface-soft);border:1px solid var(--pt-border);overflow:hidden}.ev-fill{display:block;height:100%;background:var(--pt-primary);border-radius:var(--pt-radius-pill)}.move-list{margin:0 0 1rem;padding:0;list-style:none;display:grid;grid-gap:.35rem;gap:.35rem}.move-list li{background:var(--pt-surface-soft);border:1px solid var(--pt-border);border-radius:var(--pt-radius-pill);padding:.4rem .85rem;font-weight:700;font-size:.88rem}.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}.slot-grid.busy{pointer-events:none;opacity:.85}.slot-ghost{position:fixed;z-index:50;pointer-events:none;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.slot-ghost,.slot-ghost .slot-sprite{width:3rem;height:3rem}@media (max-width:900px){.bank-workspace,.detail-stats{grid-template-columns:1fr}}*,:after,:before{box-sizing:border-box}.container{width:100%;max-width:1120px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.navbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.navbar-expand-sm .navbar-toggler{display:none}.navbar-collapse{flex:1 1;justify-content:space-between;gap:1rem}.navbar-collapse,.navbar-nav{display:flex;align-items:center}.navbar-nav{margin:0;padding:0;gap:.15rem}.nav-item,.navbar-nav{list-style:none}.navbar-toggler{background:transparent;border:1px solid var(--pt-border);border-radius:.4rem;padding:.35rem .55rem;color:var(--pt-text);cursor:pointer}.navbar-toggler-icon{display:block;width:1.2rem;height:2px;background:var(--pt-text);box-shadow:0 5px 0 var(--pt-text),0 -5px 0 var(--pt-text);position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid transparent;padding:.45rem 1rem;font:inherit;cursor:pointer;text-decoration:none;color:inherit}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-lg{padding:.65rem 1.75rem;font-size:1rem}.btn-sm{padding:.25rem .7rem;font-size:.85rem}.btn-danger,.btn-outline-danger{border-radius:var(--pt-radius-pill);font-weight:700}.btn-danger{background:#e74c3c;color:#fff;border:none}.btn-outline-danger{background:transparent;color:#c0392b;border:2px solid #e74c3c}.w-100{width:100%}.d-inline{display:inline}.d-flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-grow-1{flex-grow:1}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.gap-2{gap:.5rem}.me-2{margin-right:.5rem}.ms-sm-3{margin-left:1rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.text-muted{color:var(--pt-text-muted)}.text-danger{color:#c0392b}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.badge{display:inline-block;padding:.2rem .55rem;border-radius:var(--pt-radius-pill);font-size:.75rem;font-weight:800}.bg-success{background:var(--pt-legal);color:#fff}.bg-danger{background:var(--pt-illegal);color:#fff}.table-responsive{overflow-x:auto}.alert-success{background:#e8f8ef;color:#1e7e4a;border-radius:var(--pt-radius-sm);padding:.75rem 1rem;font-weight:600;margin-bottom:1rem}a{color:var(--pt-primary-dark)}@media (max-width:575px){.navbar-expand-sm .navbar-toggler{display:block}.navbar-collapse{display:none;width:100%;flex-direction:column;align-items:stretch}.navbar-collapse.open{display:flex}.navbar-nav{flex-direction:column;align-items:stretch}.ms-sm-3{margin-left:0}}