:root{--violet:#7c3aed;--violet-dark:#6528d7;--violet-soft:#f1ebff;--sky:#0ea5e9;--green:#22c55e;--amber:#f59e0b;--red:#ef4444;--pink:#ec4899;--bg:#f4f5fb;--card:#fff;--side:#17143a;--side-2:#221c58;--ink:#1b1c31;--muted:#6b6f8d;--line:#e7e8f3;--radius:14px;--shadow:0 1px 2px #1b1c310f, 0 8px 24px #1b1c310a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--violet);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82em}.gate{background:linear-gradient(135deg,#17143a,#4c1d95 60%,#7c3aed);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.gate__card{background:var(--card);border-radius:18px;flex-direction:column;gap:.9rem;width:100%;max-width:380px;padding:2.2rem;display:flex;box-shadow:0 20px 60px #00000059}.gate__logo{background:var(--violet);color:#fff;border-radius:14px;place-items:center;width:52px;height:52px;margin:0 auto;font-size:1.4rem;display:grid}.gate__title{text-align:center;margin:0;font-size:1.4rem}.gate__sub,.gate__hint{text-align:center;color:var(--muted);margin:0;font-size:.85rem}.gate__error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;padding:.6rem .8rem;font-size:.85rem}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--side);color:#cbd0ee;height:100vh;padding:1rem .75rem 2rem;position:sticky;top:0;overflow-y:auto}.sidebar__brand{align-items:center;gap:.6rem;padding:.5rem .6rem 1.1rem;display:flex}.sidebar__logo{background:var(--violet);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.sidebar__brand strong{color:#fff;font-size:.95rem;line-height:1.1;display:block}.sidebar__brand small{color:#8f93c7;letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.sidebar__group{color:#6f74a8;letter-spacing:.14em;text-transform:uppercase;margin:.9rem 0 .3rem;padding:0 .7rem;font-size:.62rem}.navlink{color:#cbd0ee;border-radius:9px;align-items:center;gap:.55rem;margin-bottom:2px;padding:.5rem .7rem;font-size:.85rem;text-decoration:none;display:flex}.navlink:hover{background:var(--side-2);text-decoration:none}.navlink--active{background:var(--violet);color:#fff;font-weight:600}.navlink__icon{text-align:center;opacity:.9;width:1.1rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.topbar__note{color:var(--muted);font-size:.82rem}.content{min-width:0;padding:1.4rem 1.5rem 3rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.page-head h1{margin:0;font-size:1.5rem}.page-head__sub{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.page-head__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.section-title{margin:1.6rem 0 .7rem;font-size:1rem}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:.35rem;padding:.5rem .85rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:#fbfbfe;border-color:#d6d8ea;text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--violet);border-color:var(--violet);color:#fff}.btn--primary:hover:not(:disabled){background:var(--violet-dark);border-color:var(--violet-dark)}.btn--danger{color:#b91c1c;background:#fff;border-color:#fecaca}.btn--danger:hover:not(:disabled){background:#fef2f2}.btn--ghost{background:0 0}.btn--sm{border-radius:8px;padding:.32rem .6rem;font-size:.78rem}.btn--icon{color:var(--muted);padding:.3rem .5rem}.input,.select,.field input,.field select,.field textarea{background:var(--card);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:10px;padding:.5rem .7rem;font-family:inherit;font-size:.85rem}.input:focus,.select:focus,.field input:focus,.field select:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft);outline:none}.input--sm,.select--sm{border-radius:8px;padding:.32rem .5rem;font-size:.78rem}.input--search{min-width:15rem}.field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.78rem;display:flex}.field--inline{min-width:9rem}.field--wide{grid-column:1/-1}.field small{font-size:.72rem}.chip{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.82rem;display:inline-flex}.chip--on{border-color:var(--violet);background:var(--violet-soft);color:var(--violet-dark);font-weight:600}.form{align-items:end;gap:.7rem;display:grid}.form--row,.filters,.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.9rem;display:flex}.toolbar{align-items:center}.toolbar__grow{flex:14rem}.grid2{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;display:grid}.checks{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.25rem;margin-top:.5rem;display:grid}.check{color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;display:flex}details summary{cursor:pointer;color:var(--violet);margin-top:.5rem;font-size:.82rem}.tabs{background:#eceefb;border-radius:11px;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .8rem;font-family:inherit;font-size:.82rem;font-weight:600}.tab--active{background:var(--violet);color:#fff}.gamehead{align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.gamehead__icon{background:var(--violet-soft);border-radius:13px;place-items:center;width:44px;height:44px;font-size:1.35rem;display:grid}.gamehead h1{margin:0;font-size:1.5rem}.gamehead__sub{color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.gametabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.3rem;margin-bottom:1.3rem;display:flex}.gametab{color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.55rem .85rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.gametab:hover{color:var(--ink)}.gametab--active{color:var(--violet);border-bottom-color:var(--violet)}.navlink__note{letter-spacing:.06em;text-transform:uppercase;color:#8a8fc0;margin-left:auto;font-size:.62rem}.tiles{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:.8rem;margin-bottom:1.2rem;display:grid}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.tile__icon{border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:1rem;display:grid}.tile__value{white-space:nowrap;font-size:1.25rem;font-weight:700;line-height:1.2}.tile__label{color:var(--muted);font-size:.78rem}.tile__hint{color:var(--muted);font-size:.72rem}.up{color:var(--green)}.down{color:var(--red)}.cards{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1rem 1.1rem}.card--wide{grid-column:1/-1}.card h2,.card h3{margin:0 0 .7rem;font-size:.95rem}.card h3 code{color:var(--muted);font-weight:400}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.84rem}.table th{text-align:left;border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#fafaff;padding:.65rem .9rem;font-size:.74rem;font-weight:600}.table td{vertical-align:middle;border-bottom:1px solid #f1f2f9;padding:.6rem .9rem}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#fbfbff}.row--on td{background:var(--violet-soft)!important}.muted{color:var(--muted);font-size:.8rem}.warn{color:var(--amber)}.nowrap{white-space:nowrap}.right{text-align:right}.actions{align-items:center;gap:.35rem;display:flex}.actions--wrap{flex-wrap:wrap;margin-top:.8rem}.tag{color:#4b5072;white-space:nowrap;background:#eef0f8;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.tag--on{color:#15803d;background:#dcfce7}.tag--warn{color:#a16207;background:#fef3c7}.tag--danger{color:#b91c1c;background:#fee2e2}.tag--info{color:#0369a1;background:#e0f2fe}.tag--violet{background:var(--violet-soft);color:var(--violet)}.who{align-items:center;gap:.55rem;min-width:0;display:flex}.avatar{background:var(--violet-soft);width:30px;height:30px;color:var(--violet);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.notice,.alert{border-radius:11px;margin-bottom:1rem;padding:.65rem .9rem;font-size:.85rem}.notice{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe}.alert{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.85rem}.pending{border-radius:var(--radius);color:#854d0e;background:#fffbeb;border:1px solid #fde68a;align-items:flex-start;gap:.8rem;margin-bottom:1rem;padding:.9rem 1rem;font-size:.85rem;display:flex}.pending strong{margin-bottom:.15rem;display:block}.pending code{background:#fef3c7;border-radius:5px;padding:.05rem .3rem}.pairs{grid-template-columns:max-content 1fr;gap:.35rem .9rem;margin:0 0 .9rem;font-size:.85rem;display:grid}.pairs dt{color:var(--muted)}.pairs dd{margin:0}.plain{gap:.3rem;margin:.3rem 0;padding:0;font-size:.85rem;list-style:none;display:grid}.chart{width:100%;height:auto;overflow:visible}.legend{color:var(--muted);flex-wrap:wrap;gap:.6rem;margin-top:.6rem;font-size:.78rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.dot{border-radius:3px;width:9px;height:9px;display:inline-block}.bars{gap:.45rem;font-size:.8rem;display:grid}.bars__row{grid-template-columns:9rem 1fr auto;align-items:center;gap:.6rem;display:grid}.bars__track{background:#eef0f8;border-radius:999px;height:8px;overflow:hidden}.bars__fill{background:var(--violet);border-radius:999px;height:100%}.pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .2rem 0;font-size:.8rem;display:flex}.pager__pages{gap:.25rem;display:flex}.pager__page{border:1px solid var(--line);background:var(--card);min-width:30px;color:var(--ink);cursor:pointer;border-radius:8px;padding:.25rem .5rem;font-family:inherit;font-size:.78rem}.pager__page--on{background:var(--violet);border-color:var(--violet);color:#fff;font-weight:600}.drawer{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer__back{background:#17143a73;position:absolute;inset:0}.drawer__panel{background:var(--bg);width:min(760px,100%);height:100%;padding:1rem 1.1rem 2rem;position:relative;overflow-y:auto;box-shadow:-12px 0 40px #1b1c3140}.drawer__close{z-index:1;margin-bottom:.8rem;position:sticky;top:0}.drawer__panel .cards{grid-template-columns:1fr}.ficha{align-items:flex-start;gap:1rem;margin-bottom:.4rem;display:flex}.ficha__photo{background:var(--violet-soft);border-radius:16px;flex:none;place-items:center;width:112px;height:112px;display:grid;overflow:hidden}.ficha__photo img{object-fit:cover;width:100%;height:100%}.ficha__photo .avatar{border-radius:0;width:100%;height:100%;font-size:2rem}.ficha__main{flex:1;min-width:0}.ficha__photo-note{width:112px;margin-top:.3rem;font-size:.72rem;line-height:1.25}.chip-code{background:var(--violet-soft);color:var(--violet-dark);border-radius:6px;margin:0 .25rem .25rem 0;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.ficha__secret{letter-spacing:.06em;-webkit-user-select:all;user-select:all;font-size:1.05rem;font-weight:700}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.ficha{flex-direction:column}}
