:root{--teal: #1f8a8a;--teal-dark: #0f6b6b;--teal-soft: #eef7f7;--bg: #f4f6f6;--ink: #1d2b2b;--muted: #6b7b7b;--line: #dde4e4;--got: #2e8b57;--target: #a3480b;--r-common: #ffffff;--r-rare: #eef1f1;--r-super: #fbe7a1;--r-uber: #f9c0c0;--r-legend: #a9ecec;--r-upgrade: #d6e9ff;--t-normal: #6f7f7f;--t-lucky: #3a9a48;--t-luckyG: #c08f12}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--teal-dark)}.app{max-width:1280px;margin:0 auto;padding:0 12px 60px}.topbar{position:sticky;top:0;z-index:20;background:var(--teal);color:#fff;margin:0 -12px 10px;padding:8px 16px 10px;box-shadow:0 2px 6px #00000026}.topbar a{color:#fff}.topbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.topbar h1{font-size:18px;margin:0;flex:1}.tabs{display:flex;gap:6px}.tab{border:1px solid #ffffff99;background:transparent;color:#fff;padding:5px 12px;font-size:13px}.tab:hover:not(.active){background:#ffffff26;color:#fff}.tab.active{background:#fff;color:var(--teal-dark);font-weight:600}.tab.active:hover{background:#fff}.controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:8px}.field{display:flex;flex-direction:column;gap:3px;font-size:12px}.field input,.field select{border:none;border-radius:4px;padding:5px 7px;font-size:14px;color:var(--ink);background:#fff}.field.seed input{width:150px}.field.last select{max-width:230px}.tickets{display:flex;gap:10px;flex-wrap:wrap}.field.ticket input{width:84px}.disclaimer{background:#fff4d6;color:#6b4e00;border-radius:5px;padding:6px 10px;font-size:12px;margin-top:8px;cursor:pointer}.disclaimer a{color:#6b4e00}.notice-bar{background:#e2f7e2;color:#1d5d1d;padding:8px 12px;border-radius:6px;margin:6px 0 10px;cursor:pointer;font-size:14px}.content{display:flex;flex-direction:column;gap:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px}.panel h3{margin:0 0 8px;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel h4{margin:14px 0 6px;font-size:14px}.panel h3+h4{margin-top:4px}.panel p{margin:4px 0 8px}.step{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:#8a5a1f}.error{color:#8a1f1f}.notice{background:#e7f3fb;border-left:5px solid #3d8ad3;padding:8px 12px;border-radius:4px;font-size:14px;margin:0}button{border:1px solid var(--teal);background:#fff;color:var(--teal-dark);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:14px}button:hover:not(:disabled){background:#bfe0e0;border-color:var(--teal-dark)}button.primary{background:var(--teal);color:#fff}button.primary:hover:not(:disabled){background:var(--teal-dark)}button.small{padding:3px 8px;font-size:12px}button.link{border:none;background:none;text-decoration:underline;padding:0 4px;font-size:12px}button.link:hover{background:none}.t-normal{--t: var(--t-normal)}.t-lucky{--t: var(--t-lucky)}.t-luckyG{--t: var(--t-luckyG)}.ticket-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:-1px;background:var(--t);border:1px solid #fff}.ticket-badge{font-size:11px;padding:1px 7px;border-radius:10px;color:#fff;background:var(--t);white-space:nowrap;font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:18px;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none}.chip.on{border-color:var(--teal);background:var(--teal-soft)}.base-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px;font-size:13px}.base-pick select{padding:3px 6px;border:1px solid var(--line);border-radius:4px;font-size:13px}.item-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 18px}.item-group h4{margin:4px 0 6px;display:flex;gap:6px;align-items:center}.item-option{display:flex;align-items:center;gap:6px;font-size:13px;padding:2px 0;cursor:pointer}.item-option .name{flex:1}.swatch{width:12px;height:12px;border-radius:3px;border:1px solid #0003;background:var(--bgc);flex:none}.r-common{--bgc: var(--r-common)}.r-rare{--bgc: var(--r-rare)}.r-super{--bgc: var(--r-super)}.r-uber{--bgc: var(--r-uber)}.r-legend{--bgc: var(--r-legend)}.cell.upgrade{--bgc: var(--r-upgrade)}.appearances{display:flex;flex-direction:column;gap:6px}.app-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.app-item{min-width:170px;font-weight:600;font-size:14px}.app-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1}.pos-chip{font-size:12px;padding:2px 8px;border-radius:12px;border-color:var(--line);color:var(--ink);font-variant-numeric:tabular-nums}.pos-chip .chip-banner{color:var(--muted);margin-left:4px;font-size:11px}.pos-chip.got{background:var(--got);border-color:var(--got);color:#fff}.pos-chip.got .chip-banner{color:#ffffffd0}.pos-chip.got:hover{background:#256f46}.pos-chip.missed{color:var(--muted);text-decoration:line-through}.paths{display:flex;flex-direction:column;gap:8px}.path{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fcfdfd;cursor:pointer}.path.selected{border-color:var(--teal);box-shadow:0 0 0 2px #1f8a8a33;background:#fff;cursor:default}.path-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.path-head .rank{font-weight:700;color:var(--teal-dark);font-size:15px}.path-head .got{font-weight:600}.path-head .cost{color:#555}.path-head .rewards{color:var(--teal-dark);font-size:13px}.path-head .spacer{flex:1}.on-table{font-size:12px;color:var(--teal-dark)}.plan{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 6px;padding:8px 10px 10px;border:1px solid #a9d3d3;border-radius:8px;background:var(--teal-soft);font-size:13px}.path.selected .plan{border-color:var(--teal)}.plan-label{flex-basis:100%;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-dark)}.plan-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}.plan .run{background:#fff;border:1px solid var(--line);border-left:4px solid var(--t);border-radius:5px;padding:3px 8px;white-space:nowrap}.plan .run-hits{margin-left:6px;color:var(--target);font-weight:600;white-space:normal}.plan-arrow{color:var(--muted)}.unverified{color:#b01f1f;font-weight:700}.path-hits{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 2px;font-size:13px}.path details{margin-top:4px;font-size:13px}.path summary{cursor:pointer;color:var(--muted)}.steps{margin:6px 0;padding-left:22px}.steps li{margin:1px 0}.steps li.hit{background:#fff7e0;border-radius:3px}.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.table-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:4px}.table-head h3{margin:0}.depth{font-size:13px;display:flex;gap:6px;align-items:center}.depth select{padding:3px 6px;border:1px solid var(--line);border-radius:4px}.legend{display:flex;flex-wrap:wrap;gap:6px}.lg{padding:1px 6px;border-radius:4px;border:1px solid var(--line)}.lg.target{font-weight:700;color:var(--target)}.lg.on-path{background-image:linear-gradient(#00000030,#00000030)}.lg.next{background-image:repeating-linear-gradient(135deg,#00000026 0 5px,transparent 5px 10px)}.lg.dim{opacity:.45}.table-panel{scroll-margin-top:150px}.table-wrap{overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:6px}table.track{border-collapse:collapse;font-size:12.5px;table-layout:fixed}table.track thead th{position:sticky;top:0;z-index:2;background:var(--teal-dark);color:#fff;padding:5px 8px;white-space:nowrap;font-weight:600}table.track th.pos{border:1px solid #cfd8d8;background:#f0f4f4;padding:2px 6px;font-variant-numeric:tabular-nums;white-space:nowrap}table.track thead th.pos{background:var(--teal)}table.track th.pos.next{background-image:repeating-linear-gradient(135deg,#00000030 0 5px,transparent 5px 10px)}table.track tbody tr{height:var(--half-row)}table.track tr.filler td{padding:0;border:none}table.track td.cell{border:1px solid #cfd8d8;background-color:var(--bgc);padding:1px 6px;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden}table.track td.cell.on-path,table.track .main.on-path,table.track .dupe.on-path{background-image:linear-gradient(#00000030,#00000030)}table.track td.cell.dim{opacity:.45}table.track td.spacer{border:none;padding:0}.cell .item{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.cell .item:hover{text-decoration:underline;background:none}.cell .item:focus-visible{outline:2px solid var(--teal)}.cell .item.target{font-weight:700;color:var(--target)}.cell .dupe{display:flex;justify-content:center;align-items:baseline;gap:3px;font-size:11px;color:#4a5555;border-top:1px dashed #0000002a;margin-top:2px;padding-top:1px}.cell .dupe .item{min-width:0}.cell .dupe-tag{flex:none;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:#8a5a1f}.cell .jump{flex:none;color:var(--muted);white-space:nowrap}.instructions{max-width:820px;line-height:1.5;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 18px}.instructions h2{margin-top:0}.instructions h3{margin:18px 0 6px;color:var(--teal-dark)}.instructions ul,.instructions ol{margin:6px 0;padding-left:22px}.instructions li{margin:4px 0}@media(max-width:700px){.topbar{position:static}.topbar h1{font-size:16px;flex-basis:100%}.field.seed input,.field.last select{width:100%;max-width:none}.field.seed,.field.last{flex:1 1 100%}.field.ticket{flex:1}.field.ticket input{width:100%}.app-item{min-width:0;flex-basis:100%}table.track{font-size:11.5px}}
