:root{--bg:#121311;--surface:#1b1d1a;--surface-2:#242722;--border:#33372f;--text:#d9d6cc;--text-muted:#8f8c82;--accent:#c7b37a;--accent-strong:#e2cd8e;--good:#7fae6a;--warn:#d08a5a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:15px/1.45 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:6px 12px}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1a14;font-weight:600}button.primary:hover{background:var(--accent-strong)}button.secondary:hover,button.ghost:hover{border-color:var(--accent)}button.danger{color:var(--warn);border-color:var(--warn)}button.danger:hover{background:color-mix(in srgb, var(--warn) 18%, var(--surface-2))}button.ghost{background:0 0}button.link{color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}input,select{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23d9d6cc' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}select:disabled{cursor:default;opacity:.6}input[type=checkbox]{width:24px;height:24px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0;padding:0}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app{max-width:960px;margin:0 auto;padding:0 16px 32px}.loading{text-align:center;color:var(--text-muted);padding:48px 16px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.topbar h1{letter-spacing:.02em;margin:0;font-size:1.4rem}.topbar h1 span{color:var(--accent);font-weight:400}.profile{color:var(--text);align-items:center;gap:12px;display:flex}.settings{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:16px}.settings header{justify-content:space-between;align-items:center;display:flex}.settings h2,.settings h3{margin:0;font-size:1.05rem}.settings h3{margin-top:20px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;display:grid}.settings-grid label{color:var(--text);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.hint{color:var(--text);margin:4px 0 12px;font-size:.85rem}.trader-reps{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 16px;margin:0;padding:0;list-style:none;display:grid}.trader-reps li{grid-template-columns:24px 32px 1fr 80px;align-items:center;gap:8px;display:grid}.trader-reps img{border-radius:4px}.trader-reps li.unavailable img,.trader-reps li.unavailable label{opacity:.45}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-top:16px;display:flex;overflow-x:auto}.tabs button{color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 14px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.count{background:var(--surface-2);border-radius:999px;margin-left:4px;padding:1px 7px;font-size:.8rem}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.filters input[type=search]{flex:200px}.check{color:var(--text);align-items:center;gap:8px;display:flex}.quests{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.quest{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;padding:8px 10px}.quest-available{border-left-color:var(--accent)}.quest-completed{border-left-color:var(--good);opacity:.75}.quest-main{align-items:center;gap:10px;display:flex}.quest-toggle{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.quest-toggle img{border-radius:4px;flex-shrink:0}.quest-title{flex-direction:column;min-width:0;display:flex}.quest-name{font-weight:600}.quest-completed .quest-name{text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.quest-meta{color:var(--text);font-size:.85rem}.badge{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--text);border-radius:4px;margin-left:6px;padding:0 6px;font-size:.72rem;display:inline-block}.badge.kappa{color:var(--accent);border-color:var(--accent)}.badge.lk{color:#8fb6d0;border-color:#4e6a7c}.reasons{color:var(--warn);flex-wrap:wrap;gap:4px 14px;margin:6px 0 0 46px;padding:0;font-size:.85rem;list-style:none;display:flex}.reasons li:before{content:"🔒 ";font-size:.75rem}.quest-details{margin:8px 0 2px 46px;font-size:.9rem}.objectives{margin:0;padding-left:18px}.objectives .optional,.obj-maps{color:var(--text)}.unlocks{margin:8px 0 0}.links{gap:14px;margin:8px 0 0;display:flex}.xp{color:var(--text)}.empty{color:var(--text-muted);text-align:center;padding:32px}footer{color:var(--text-muted);margin-top:24px;font-size:.8rem}.warn{color:var(--warn)}@media (width<=600px){.reasons,.quest-details{margin-left:0}.profile>span{display:none}}.views{gap:4px;margin-right:auto;display:flex}.views button{color:var(--text-muted);background:0 0;border-color:#0000}.views button.active{border-color:var(--border);background:var(--surface-2);color:var(--text)}.items-head{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.items-head p{color:var(--text);margin:0}.items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:6px 10px}.item-done{border-left-color:var(--good);opacity:.7}.item-main{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.item-toggle{text-align:left;background:0 0;border:0;flex:220px;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.item-toggle img,.item-icon{background:var(--surface-2);object-fit:contain;border-radius:4px;flex-shrink:0;width:40px;height:40px}.item-title{flex-direction:column;min-width:0;display:flex}.item-name{font-weight:600}.item-meta .badge:first-child,.item-meta .price:first-child{margin-left:0}.badge.quest{color:var(--accent);border-color:#6b6142}.badge.hideout{color:#8fb6d0;border-color:#4e6a7c}.badge.fir{color:#e0a35f;border-color:#8a5d2d;font-weight:600}.item-meta .price{color:var(--text);font-variant-numeric:tabular-nums;margin-left:6px;font-size:.85rem}.item-counts{flex-wrap:wrap;gap:6px 14px;margin-left:auto;display:flex}.counter{align-items:center;gap:4px;display:flex}.counter .badge{margin:0 2px 0 0}.counter input{text-align:right;width:6ch;padding:3px 6px}.counter .of{min-width:5ch;color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.counter.done .of{color:var(--good)}.counter .of-was{color:var(--text-muted);margin-left:4px;font-weight:400}button.step{padding:2px 8px;line-height:1.2}button.step:disabled{opacity:.35;cursor:not-allowed}.item-details{margin:8px 0 2px 50px;font-size:.9rem}.alternatives{color:var(--text);margin:0 0 6px}.sources{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.sources .badge:first-child{margin-left:0}.prices{font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none;display:flex}.prices .up{color:var(--good)}.prices .down{color:var(--warn)}.items-subhead{margin:18px 0 8px;font-size:.95rem}.item-other{border-left-color:var(--border)}.badge.craft{color:#a9c48f;border-color:#56693f}.crafts{margin-top:8px}.crafts h4{margin:0 0 4px;font-size:.85rem}.crafts ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.crafts .badge:first-child{margin-left:0}.crafts .this{color:var(--accent-strong)}.muted{color:var(--text-muted)}@media (width<=600px){.item-details{margin-left:0}.item-counts{margin-left:50px}}.account{align-items:center;gap:10px;display:flex}.save-state{font-size:.85rem}.save-state.error{color:var(--warn)}.modal-backdrop{z-index:10;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:440px;padding:20px}.modal h2{margin:0 0 8px;font-size:1.15rem}.modal p{color:var(--text);margin:0}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.stations{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.station{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;padding:8px 10px}.station-available{border-left-color:var(--accent)}.station-maxed{border-left-color:var(--good);opacity:.75}.station-main{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.station-main img{object-fit:contain;border-radius:4px;flex-shrink:0}.station-title{flex-direction:column;flex:160px;min-width:0;display:flex}.station-name{font-weight:600}.station-meta{color:var(--text);font-size:.85rem}.level-details{margin:8px 0 2px 50px;font-size:.9rem}.level-items{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.level-items li{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;align-items:center;gap:6px;padding:2px 4px 2px 2px;display:flex}.level-items img,.level-items .item-icon{object-fit:contain;width:28px;height:28px}.level-items .badge{margin-left:0}.level-item-count{color:var(--text);font-variant-numeric:tabular-nums}.level-items button.step{padding:0 6px;font-size:.9rem}.level-items li.met .level-item-count{color:var(--good)}.prereqs{color:var(--text);flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.prereqs .met:before{content:"✓ ";color:var(--good)}.prereqs .unmet{color:var(--warn)}.prereqs .unmet:before{content:"🔒 ";font-size:.75rem}.prereqs .skill:before{content:"◇ "}.prereqs .time:before{content:"⏱ "}.later-toggle{margin:6px 0 0 50px;font-size:.85rem}.later-level{margin-left:50px}.later-level h4{color:var(--text-muted);margin:10px 0 0;font-size:.85rem}.later-level .level-details{margin-left:0}.notice{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--good);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:16px;padding:10px 12px;display:flex}.notice p{margin:0}.notice p+p{margin-top:4px}.notice-actions{flex-shrink:0;gap:6px;display:flex}@media (width<=600px){.level-details,.later-toggle,.later-level{margin-left:0}}.choose-quests{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.modal .hint{margin-top:12px}.modal .edition{margin-top:14px}.modal button:disabled{opacity:.5;cursor:not-allowed}.badge.unavailable{color:var(--warn);border-color:var(--warn)}.unavailable-note{justify-content:space-between;align-items:flex-start;gap:10px;margin:6px 0 0 46px;font-size:.85rem;display:flex}.unavailable-note p{color:var(--warn);margin:0}.unavailable-note .notes{color:var(--text-muted);white-space:pre-wrap;margin-top:2px;display:block}.modal.report{width:100%;max-width:480px}.notes-field{flex-direction:column;gap:4px;margin-top:14px;font-size:.85rem;display:flex}.notes-field textarea{font:inherit;color:inherit;background:var(--surface-2);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:8px 10px;font-size:.95rem}.notes-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.modal .error{color:var(--warn);margin-top:8px}
