.gacha-page{padding:1rem 0 3rem}.gacha-page[hidden],.gacha-page [hidden]{display:none!important}.gacha-page.demo .import-panel,.gacha-page.demo #gacha-import,.gacha-page.demo #gacha-clear{display:none}.gacha-page .muted{color:var(--muted)}.gacha-page .empty{margin:.5rem 0;color:var(--muted);font-size:.95rem}.gacha-page .gacha-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}:is(.gacha-page .gacha-header)>div:first-child{min-width:0}:is(.gacha-page .gacha-header) h1{margin:0;font-size:1.5rem}:is(.gacha-page .gacha-header) p{margin:.35rem 0 0;max-width:60ch;color:var(--muted);font-size:1rem}.gacha-page .gacha-actions{display:flex;flex:none;flex-wrap:nowrap;gap:.5rem}.gacha-page .button{cursor:pointer;border:0;border-radius:5px;background:var(--bg2);padding:.55rem .8rem;color:var(--text);font:inherit;font-size:.95rem}:is(.gacha-page .button):hover:not(:disabled){background:var(--bg3);color:var(--green)}.primary:is(.gacha-page .button){background:var(--green);color:#111;font-weight:600}.primary:is(.gacha-page .button):hover:not(:disabled){background:#7f9;color:#111}.danger:is(.gacha-page .button){background:var(--red);color:#111;font-weight:600}.danger:is(.gacha-page .button):hover:not(:disabled){background:#f99;color:#111}:is(.gacha-page .button):disabled{opacity:.4;cursor:not-allowed}.gacha-page .import-panel{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.75rem;min-width:0}.gacha-page .drop-zone{cursor:pointer;border:1px dashed var(--green);border-radius:5px;background:var(--bg2);padding:5rem;text-align:center}:is(.gacha-page .drop-zone):hover,:is(.gacha-page .drop-zone):focus-visible,:is(.gacha-page .drop-zone):focus{outline:none;border-style:solid;background:var(--bg3)}.gacha-page .drop-title{margin:0;font-weight:700;font-size:1.15rem}.gacha-page .command-row{display:flex;align-items:stretch;gap:.5rem;min-width:0}.gacha-page .command-or{display:flex;flex:none;justify-content:center;align-items:center;padding:0 .45rem;color:var(--muted);font-size:.9rem}.gacha-page .command-block{display:flex;flex:1;align-items:center;gap:.5rem;border:1px solid var(--bg3);border-radius:5px;background:var(--bg2);padding:.35rem .35rem .35rem .8rem;min-width:0}:is(.gacha-page .command-block) code{flex:1;min-width:0;overflow-x:auto;color:var(--muted);font-size:.95rem;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;-webkit-user-select:all;-moz-user-select:all;user-select:all;white-space:nowrap}.gacha-page .copy-status{flex:none;color:var(--green);font-size:.85rem;white-space:nowrap}:is(.gacha-page .copy-status):empty{display:none}.gacha-page .copy-button{display:grid;flex:none;place-items:center;cursor:pointer;border:0;border-radius:5px;background:var(--bg3);padding:.45rem;color:var(--muted)}:is(.gacha-page .copy-button):hover{color:var(--text)}:is(.gacha-page .copy-button):focus-visible{outline:1px solid var(--green)}.gacha-page .download-button{display:inline-flex;flex:none;justify-content:center;align-items:center;padding:.45rem .7rem;font-size:.9rem;text-decoration:none;white-space:nowrap}.gacha-page .drop-overlay{display:none;position:fixed;justify-content:center;align-items:center;z-index:1000;inset:0;background:#000c;pointer-events:none}:is(.gacha-page .drop-overlay) div{border:1px dashed var(--green);border-radius:5px;background:var(--bg2);padding:1.5rem 2.5rem}.gacha-page.dragging .drop-overlay{display:flex}.gacha-page .account-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0 .65rem}.gacha-page .account-tab{cursor:pointer;border:0;border-radius:5px;background:transparent;padding:.4rem .6rem;color:var(--muted);font:inherit;font-size:1rem;text-align:left}:is(.gacha-page .account-tab) small{display:block;font-size:.8rem}:is(.gacha-page .account-tab):hover{color:var(--text)}.active:is(.gacha-page .account-tab){background:var(--green);color:#111;font-weight:600}.gacha-page .account-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:5px;background:var(--bg2);padding:.6rem .8rem;font-size:.95rem}.gacha-page .account-identity,.gacha-page .account-notes{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.gacha-page .region-pill{border-radius:999px;background:var(--bg3);padding:.1rem .45rem;font-size:.8rem}.gacha-page .region-pill{color:var(--green)}.gacha-page .warning{color:var(--orange)}.gacha-page .summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin-top:.65rem}.gacha-page .stat-card{border-radius:5px;background:var(--bg2);padding:.65rem .75rem}.tone-pulls:is(.gacha-page .stat-card) .stat-value{color:var(--green)}.tone-ssr:is(.gacha-page .stat-card) .stat-value{color:var(--pink)}.tone-rateup:is(.gacha-page .stat-card) .stat-value{color:var(--green)}.tone-pity:is(.gacha-page .stat-card) .stat-value{color:var(--red)}.tone-spark:is(.gacha-page .stat-card) .stat-value{color:var(--yellow)}.gacha-page .stat-label{color:var(--muted);font-size:.85rem;text-transform:uppercase}.gacha-page .stat-value{display:block;font-size:1.7rem;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gacha-page .stat-hint{color:var(--muted);font-size:.9rem}.gacha-page .dashboard-grid{display:grid;grid-template-columns:.9fr 1.2fr;align-items:start;grid-gap:.5rem;gap:.5rem;margin-top:.65rem}.gacha-page .panel{border-radius:5px;background:var(--bg2);padding:.75rem .85rem}:is(.gacha-page .panel) h2{margin:0 0 .5rem;color:var(--green);font-size:1.1rem}:is(.gacha-page .panel) .panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem}:is(:is(.gacha-page .panel) .panel-head) h2{margin:0}:is(:is(.gacha-page .panel) .panel-head) span{color:var(--muted);font-size:.8rem;text-transform:uppercase}.gacha-page .chart-row{display:grid;grid-template-columns:46px minmax(0,1fr) 88px;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.25rem 0;font-size:.95rem}.gacha-page .chart-label{color:var(--muted);font-size:.9rem}.gacha-page .chart-track{border-radius:3px;background:var(--bg3);height:6px;overflow:hidden}.gacha-page .chart-fill{display:block;height:100%}.gacha-page .chart-value{display:flex;justify-content:flex-end;align-items:baseline;gap:.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}:is(.gacha-page .chart-value) b{min-width:3ch;font-weight:700;text-align:right}:is(.gacha-page .chart-value) small{min-width:5ch;color:var(--muted);text-align:right}.gacha-page .storage-row{display:grid;grid-template-columns:minmax(96px,1.1fr) minmax(50px,1fr) 58px;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.25rem 0}.gacha-page .storage-label{min-width:0}:is(.gacha-page .storage-label) span{display:block;overflow:hidden;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.gacha-page .storage-value{text-align:right}:is(.gacha-page .storage-value) b{font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gacha-page .banners-section{margin-top:1.25rem}.gacha-page .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.5rem}:is(.gacha-page .section-head) h2{margin:0;color:var(--green);font-size:1.3rem}:is(.gacha-page .section-head) p{margin:.1rem 0 0;color:var(--muted);font-size:.95rem}.gacha-page .banner-tools{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.gacha-page .filter-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.gacha-page .filter-tab{cursor:pointer;border:0;border-radius:5px;background:transparent;padding:.25rem .45rem;color:var(--muted);font:inherit;font-size:.9rem}:is(.gacha-page .filter-tab) span{opacity:.7;margin-left:.25rem}:is(.gacha-page .filter-tab):hover{color:var(--text)}.active:is(.gacha-page .filter-tab){background:var(--green);color:#111;font-weight:600}.gacha-page .banner-search{border:0;border-radius:5px;background:var(--bg2);padding:.45rem .6rem;width:360px;max-width:100%;color:var(--text);font:inherit;font-size:.95rem}:is(.gacha-page .banner-search):focus{outline:1px solid var(--green)}.gacha-page .banner-list{display:flex;flex-direction:column;gap:.4rem}.gacha-page .banner-card{border-radius:5px;background:var(--bg2)}:is(.gacha-page .banner-card) summary{display:grid;grid-template-columns:176px minmax(0,1fr) auto;grid-gap:.85rem;gap:.85rem;cursor:pointer;padding:.75rem;list-style:none}:is(:is(.gacha-page .banner-card) summary)::-webkit-details-marker{display:none}:is(:is(.gacha-page .banner-card) summary):focus-visible{outline:1px solid var(--green)}[open]:is(.gacha-page .banner-card) summary{border-bottom:1px solid var(--bg3)}.gacha-page .banner-icon{display:grid;place-items:center;border-radius:5px;width:176px;height:88px;overflow:hidden;color:var(--muted);font-weight:700}:is(.gacha-page .banner-icon) img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gacha-page .banner-main{min-width:0}.gacha-page .banner-chips{display:flex;flex-wrap:wrap;gap:.25rem}.gacha-page .status,.gacha-page .chip{border-radius:999px;background:var(--bg3);padding:.05rem .35rem;color:var(--muted);font-size:.8rem}.active:is(.gacha-page .status,.gacha-page .chip){background:#132;color:var(--green)}.upcoming:is(.gacha-page .status,.gacha-page .chip){background:#124;color:#def}.ended:is(.gacha-page .status,.gacha-page .chip){background:#333;color:var(--muted)}.spark:is(.gacha-page .status,.gacha-page .chip){color:var(--yellow)}.pitied:is(.gacha-page .status,.gacha-page .chip){background:#2a1414;color:var(--red)}.gacha-page .banner-main h3{margin:.15rem 0 0;font-size:1.15rem}.gacha-page .banner-meta{display:flex;flex-wrap:wrap;gap:.2rem .6rem;color:var(--muted);font-size:.9rem}.gacha-page .rate-ups{display:flex;align-items:center;gap:.35rem;margin-top:.35rem}.gacha-page .rate-up{position:relative;flex:0 0 auto;box-sizing:border-box;border-radius:5px;background:var(--bg3);padding:3px;width:56px;height:56px;overflow:hidden}:is(.gacha-page .rate-up) .rate-up-image{display:block;position:relative;border-radius:3px;width:100%;height:100%;overflow:hidden}:is(:is(.gacha-page .rate-up) .rate-up-image) img{display:block;position:absolute;inset:0;border-radius:3px;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.character:is(.gacha-page .rate-up) .rate-up-image img{inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);-o-object-position:top;object-position:top}.star3:is(.gacha-page .rate-up){background:linear-gradient(135deg,#8ce,#dff)}.star4:is(.gacha-page .rate-up){background:linear-gradient(135deg,#fd5,#efc)}.star5:is(.gacha-page .rate-up){background:linear-gradient(135deg,#d8e,#7ff)}.gacha-page .rate-up-more{color:var(--muted);font-size:.9rem}.gacha-page .banner-numbers{display:flex;align-items:center;gap:.65rem;text-align:center}:is(.gacha-page .banner-numbers)>div{min-width:48px}:is(.gacha-page .banner-numbers) b{display:block;font-size:1.1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:is(.gacha-page .banner-numbers) span{display:block;color:var(--muted);font-size:.8rem}:is(.gacha-page .banner-numbers) .has-ssr b{color:var(--pink)}:is(.gacha-page .banner-numbers) .has-rateup b{color:var(--green)}:is(.gacha-page .banner-numbers) .spark-reached b{color:var(--yellow)}:is(.gacha-page .banner-numbers) .pitied b{color:var(--red)}.gacha-page .chevron{color:var(--muted);font-size:1rem}.gacha-page .banner-card[open] .chevron{transform:rotate(180deg)}.gacha-page .banner-bars{display:flex;flex-direction:column;grid-column:2 / -1;gap:.35rem;margin-top:.35rem}.gacha-page .banner-spark,.gacha-page .banner-pity{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem}.gacha-page .spark-label,.gacha-page .pity-label{display:flex;justify-content:space-between;gap:.5rem;min-width:110px}.gacha-page .spark-track,.gacha-page .pity-track{flex:1;border-radius:3px;background:var(--bg3);height:5px;overflow:hidden}.gacha-page .spark-fill{display:block;background:var(--green);height:100%}.gacha-page .spark-fill.ready{background:var(--yellow)}.gacha-page .pity-fill{display:block;background:var(--red);height:100%}.gacha-page .banner-body{padding:.7rem}.gacha-page .pity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:.5rem;gap:.5rem}.gacha-page .pity-card{border-radius:5px;background:var(--bg2);padding:.75rem .85rem}:is(.gacha-page .pity-card) .pity-track{background:var(--bg3)}.gacha-page .pity-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.4rem}:is(.gacha-page .pity-card-head) h3{margin:0;font-size:1rem}:is(.gacha-page .pity-card-head) span{display:block;color:var(--muted);font-size:.9rem}:is(.gacha-page .pity-card-head) strong{color:var(--green);font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.gacha-page .history-head h4{margin:0;font-size:.85rem;text-transform:uppercase}.gacha-page .history-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.5rem 0}.gacha-page .history-head span{color:var(--muted);font-size:.9rem}.gacha-page .history-list{max-height:420px;overflow:auto}.gacha-page .pull-record{border-top:1px solid var(--bg3);padding:.35rem 0}.gacha-page .pull-record.grouped .pull-items{gap:.25rem}.gacha-page .pull-record:first-child{border-top:0}.gacha-page .pull-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.2rem;color:var(--muted);font-size:.85rem}.gacha-page .pull-items{display:flex;flex-wrap:wrap;gap:.25rem}.gacha-page .pull-items.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.gacha-page .pull-item{display:inline-flex;align-items:center;gap:.25rem;border-radius:3px;padding:.1rem .35rem .1rem .1rem;min-width:0;overflow:hidden;font-size:.85rem}:is(.gacha-page .pull-item)>.pull-text{display:flex;flex-direction:column;min-width:0}:is(:is(.gacha-page .pull-item)>.pull-text)>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:is(.gacha-page .pull-item) img{flex:0 0 auto;border-radius:3px;width:44px;height:44px;-o-object-fit:cover;object-fit:cover}.character:is(:is(.gacha-page .pull-item) img){-o-object-position:top;object-position:top}:is(.gacha-page .pull-item) small{flex:0 0 auto;color:var(--yellow);font-size:.75rem}.star5:is(:is(.gacha-page .pull-item) small){color:var(--pink)}:is(:is(.gacha-page .pull-item) small) .pitied{color:var(--red)}.pitied:is(:is(.gacha-page .pull-item) small){color:var(--red)}.ssr:is(.gacha-page .pull-item){color:var(--pink)}.sr:is(.gacha-page .pull-item){color:var(--yellow)}.gacha-page .pull-record.spark-claim{margin:.25rem 0;border-top:1px solid var(--yellow);padding:.35rem 0}.gacha-page .pull-record.spark-claim .pull-meta{color:var(--yellow)}.gacha-page .spark-claim-body{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem}.gacha-page .spark-characters{display:flex;flex-wrap:wrap;gap:.35rem}.gacha-page .spark-character{display:inline-flex;align-items:center;gap:.35rem;border-radius:5px;background:var(--bg2);padding:.1rem .45rem .1rem .1rem;color:var(--pink);font-size:.9rem}:is(.gacha-page .spark-character) img{border-radius:3px;width:44px;height:44px;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top}:is(.gacha-page .spark-character) small{color:var(--pink);font-size:.75rem}.gacha-page .no-results{border-radius:5px;background:var(--bg2);padding:2rem;color:var(--muted);text-align:center}.gacha-page .toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:1001;border-radius:5px;background:var(--bg2);padding:.5rem .75rem;max-width:min(90vw,540px);font-size:.95rem}[data-tone=error]:is(.gacha-page .toast){color:var(--red)}@media(max-width:799.98px){.gacha-page .gacha-header{flex-direction:column;align-items:flex-start}.gacha-page .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gacha-page .dashboard-grid{grid-template-columns:1fr}.gacha-page .banner-card summary{grid-template-columns:128px minmax(0,1fr)}.gacha-page .banner-numbers{grid-column:1 / -1;justify-content:space-around;border-top:1px solid var(--bg3);padding-top:.35rem}.gacha-page .banner-bars{grid-column:1 / -1}.gacha-page .banner-icon{width:128px;height:64px}.gacha-page .pull-items.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
