.app{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);color:#e0e0e0}.header{background:linear-gradient(90deg,#1a1f3a,#2d3561);padding:2rem;border-bottom:2px solid #4a5584;box-shadow:0 4px 12px #0000004d}.header h1{font-size:2.5rem;margin-bottom:.5rem;color:#fff}.header p{color:#a0a0a0;font-size:.95rem}.header .disclaimer{margin-top:.75rem;color:#c9cbe0;font-size:.8rem;line-height:1.5}.container{flex:1;padding:2rem;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.search-section,.result-section{min-width:0;background:#1a1f3a99;border:1px solid #4a5584;border-radius:8px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-section h2,.result-section h2{font-size:1.3rem;margin-bottom:1rem;color:#fff}.stats-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.fragments-panel{margin-bottom:1.5rem;padding:1rem;background:#6366f10f;border:1px solid #4a5584;border-radius:6px}.fragments-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem}.fragments-heading h3{margin:0;color:#fff;font-size:1rem}.fragments-heading p{margin:.35rem 0 0;color:#a0a0a0;font-size:.82rem}.fragment-bonus{color:#c4b5fd;font-size:.8rem;line-height:1.5;text-align:right}.subclass-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.65rem}.subclass-tab{flex:0 0 auto;padding:.5rem .75rem;background:#6366f114;border:1px solid #4a5584;border-radius:5px;color:#c9cbe0;cursor:pointer;font-weight:600}.subclass-tab:hover,.subclass-tab.active{background:#6366f13d;border-color:#8b5cf6;color:#fff}.fragment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.5rem}.fragment-option{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-height:3.65rem;padding:.65rem .75rem;background:#0a0e2773;border:1px solid #4a5584;border-radius:5px;color:#c9cbe0;cursor:pointer;text-align:left}.fragment-option:hover,.fragment-option.selected{background:#6366f133;border-color:#8b5cf6;color:#fff}.fragment-deltas{color:#a78bfa;font-size:.76rem}.applied-fragments{padding:.9rem;background:#6366f114;border:1px solid #4a5584;border-radius:6px}.applied-fragment-names{color:#fff;line-height:1.5;margin-bottom:.35rem}.applied-fragment-stats{color:#a78bfa;font-size:.82rem}.stat-input{display:flex;flex-direction:column;gap:.5rem}.stat-input label{font-size:.85rem;font-weight:600;color:#a0a0a0;text-transform:uppercase;letter-spacing:.05em}.stat-input input{padding:.5rem;background:#6366f11a;border:1px solid #6366f1;border-radius:4px;color:#fff;font-size:1rem;font-weight:600;text-align:center;transition:all .2s ease}.stat-input input:hover{background:#6366f126;border-color:#8b5cf6}.stat-input input:focus{outline:none;background:#6366f133;border-color:#a78bfa;box-shadow:0 0 8px #6366f14d}.stat-input .stat-value{font-size:.75rem;color:#6366f1;text-align:center}.filter-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.filter-row label{font-size:.85rem;font-weight:600;color:#a0a0a0;text-transform:uppercase;letter-spacing:.05em}.filter-row select{padding:.6rem;background:#6366f11a;border:1px solid #6366f1;border-radius:4px;color:#fff;font-size:.95rem;font-weight:600}.filter-row select:focus{outline:none;background:#6366f133;border-color:#a78bfa;box-shadow:0 0 8px #6366f14d}.filter-row select:disabled{opacity:.6}.search-btn{width:100%;padding:.75rem 1.5rem;font-size:1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d}.search-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-status{display:flex;gap:.85rem;align-items:center;margin-top:1rem;padding:.9rem;background:#6366f11a;border:1px solid #6366f1;border-radius:6px}.search-status>div:last-child{flex:1;min-width:0}.spinner{width:1.75rem;height:1.75rem;flex:0 0 auto;border:3px solid rgba(160,160,160,.28);border-top-color:#a78bfa;border-radius:50%;animation:spin .85s linear infinite}.status-title{color:#fff;font-weight:700;margin-bottom:.2rem}.status-copy{color:#a0a0a0;font-size:.84rem}.progress-track{width:100%;height:.45rem;overflow:hidden;background:#0a0e27d9;border:1px solid rgba(99,102,241,.5);border-radius:999px;margin-top:.55rem}.progress-fill{height:100%;min-width:.25rem;background:linear-gradient(90deg,#6366f1,#a78bfa);border-radius:inherit;transition:width .12s ease}@keyframes spin{to{transform:rotate(360deg)}}.result-section{background:#1a1f3a99;border:1px solid #4a5584;border-radius:8px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:1.5rem}.result-section h2{font-size:1.3rem;margin:0;color:#fff}.results-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.variation-count{color:#a0a0a0;font-size:.84rem;margin-top:.25rem}.variation-controls{display:flex;gap:.5rem}.variation-btn{width:2.25rem;height:2.25rem;display:grid;place-items:center;background:#6366f124;border:1px solid #6366f1;border-radius:6px;color:#fff;cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1}.variation-btn:hover{background:#6366f13d;border-color:#a78bfa}.empty-results{color:#a0a0a0;background:#6366f114;border:1px solid #4a5584;border-radius:6px;padding:1rem;line-height:1.45}.focus-mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.focus-box,.mods-box{background:#6366f11a;border:1px solid #6366f1;border-radius:6px;padding:1rem}.focus-label,.mods-label,.combo-label,.comparison-label{font-size:.75rem;color:#a0a0a0;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-weight:600}.focus-value{font-size:1.4rem;font-weight:700;color:#6366f1}.set-summary{font-size:1rem;line-height:1.45}.mods-list{display:flex;flex-wrap:wrap;gap:.5rem}.mod-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.8rem;font-weight:600}.combo-list{display:flex;flex-direction:column;gap:.5rem}.combo-label{margin-bottom:.75rem}.piece-card{display:flex;flex-direction:column;gap:.75rem;padding:.9rem;background:#6366f114;border:1px solid #4a5584;border-left:3px solid #6366f1;border-radius:6px}.piece-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.piece-number{color:#6366f1;font-weight:700;margin-right:.5rem}.piece-name{color:#fff;font-weight:700;margin-right:.5rem}.tertiary{color:#a0a0a0;font-size:.85rem}.piece-loadout{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.piece-loadout span{background:#6366f12e;border:1px solid rgba(99,102,241,.75);border-radius:4px;color:#fff;font-size:.78rem;font-weight:700;padding:.35rem .5rem}.calculation-steps{display:grid;gap:.35rem}.calc-row{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:.75rem;color:#c9cbe0;font-size:.82rem;line-height:1.35}.calc-row span{min-width:0}.calc-row span:last-child{overflow-wrap:anywhere}.calc-row span:first-child{color:#8f94bb;font-weight:700;text-transform:uppercase}.total-row{border-top:1px solid rgba(74,85,132,.7);margin-top:.2rem;padding-top:.5rem;color:#fff;font-weight:700}.stats-comparison{display:flex;flex-direction:column;gap:.75rem}.comparison-label{margin-bottom:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-item{background:#6366f10d;border:1px solid #4a5584;border-radius:6px;padding:1rem;text-align:center}.stat-name{color:#a0a0a0;font-size:.85rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.8rem;font-weight:700;color:#6366f1;margin-bottom:.5rem}.stat-target{font-size:.8rem;color:#7a7d8f}.stat-diff{color:#ff6b6b;font-weight:600;display:block;margin-top:.25rem}.stat-diff.over{color:#f5c76b}@media(max-width:768px){.app{height:auto;min-height:100vh;min-height:100dvh}.header{padding:1.5rem 1rem}.header h1{font-size:clamp(1.6rem,6vw,2.15rem);line-height:1.15}.header p{line-height:1.45}.header .disclaimer{max-width:75ch;overflow-wrap:anywhere}.container{min-width:0;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem;overflow:visible}.search-section,.result-section{min-width:0;padding:1.1rem}.result-section{gap:1.15rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.stat-item{min-width:0;padding:.8rem .4rem}.stat-name{font-size:.75rem;line-height:1.25;overflow-wrap:anywhere}.stat-value{font-size:clamp(1.35rem,5vw,1.8rem)}.stat-target{line-height:1.35}.stats-input-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:.75rem}.stat-input input{min-height:2.75rem}.filter-row select{width:100%;min-width:0;min-height:2.75rem;font-size:1rem}.search-btn{min-height:3rem}.subclass-tab{min-height:2.75rem}.subclass-tabs{flex-wrap:wrap;overflow:visible;padding-bottom:0}.subclass-tab{flex:1 1 5.5rem}.fragment-option{min-height:2.75rem;overflow-wrap:anywhere}.fragment-deltas,.applied-fragment-names,.applied-fragment-stats,.set-summary,.piece-header,.calc-row span:last-child{overflow-wrap:anywhere}.fragment-bonus{text-align:left}.results-header{align-items:flex-start}.variation-btn{width:2.75rem;height:2.75rem}.piece-header{flex-direction:column;min-width:0}.piece-loadout{justify-content:flex-start}.calc-row{min-width:0;grid-template-columns:minmax(0,1fr);gap:.2rem}.fragments-heading{flex-direction:column;gap:.65rem}}@media(max-width:480px){.container{padding:.75rem}.search-section,.result-section{padding:.9rem}.focus-mods{grid-template-columns:minmax(0,1fr);gap:.75rem}.focus-box,.mods-box{min-width:0;padding:.85rem}.results-header{gap:.75rem}.variation-count{line-height:1.4}.piece-card{min-width:0;padding:.8rem}.piece-loadout span{overflow-wrap:anywhere}.search-status{align-items:flex-start;padding:.75rem}}@media(max-width:359px){.header{padding:1.25rem .85rem}.container{padding:.65rem}.search-section,.result-section{padding:.8rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fragments-panel{padding:.75rem}}
