:root{--color-bg: #060b11;--color-bg-elevated: #16263a;--color-bg-subtle: #000000;--color-border: #00f7ff;--color-text: #e6eef7;--color-text-muted: #8aa0b8;--color-link: #8ecae6;--color-link-hover: #61f4ed;--color-accent: #61f4f4;--color-quote-rail: var(--color-link);--color-accent-strong: #26e0e0;--color-danger: #e63946;--color-success: #6ad28a;--color-loader-base: #00f7ff;--color-loader-highlight: #172436;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-display: var(--font-sans);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--glow-sm: 0 0 6px rgba(97, 244, 244, .829);--glow-sm-inverse: inset 0 0 12px rgba(97, 244, 244, .253);--glow-sm-both: var(--glow-sm), var(--glow-sm-inverse);--header-h: 56px;--content-max: 1100px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);background-image:url(/assets/modal-bg-dark.png);background-repeat:repeat;color:var(--color-text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;margin:var(--space-5) 0 var(--space-3)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}code,pre{font-family:var(--font-mono);font-size:.9em}.app{display:flex;flex-direction:column;min-height:100%}.site-header{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2);min-height:var(--header-h);padding:var(--space-1) var(--space-4);background:var(--color-bg-elevated);background-image:url(/assets/modal-header-bg-dark.png);background-repeat:repeat;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;box-shadow:var(--glow-sm)}.brand{flex:0 0 auto;font-weight:700;font-size:1.1rem;line-height:0;color:var(--color-text)}.brand:hover{color:var(--color-accent);text-decoration:none}.logo{display:block;width:auto;height:46px}.site-main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5)}.home-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;margin-top:2rem}.skeleton{display:inline-block;vertical-align:middle;background:linear-gradient(90deg,var(--color-loader-base) 0%,var(--color-loader-highlight) 50%,var(--color-loader-base) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.5s infinite linear;color:transparent;min-width:1ch}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.home-page>.muted,.build-home-page>.muted{max-width:48rem}.home-link-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-2);margin:var(--space-3) 0 var(--space-5);padding:0;list-style:none}.home-link-list>li{min-width:0}.home-link-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:3rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);background-image:url(/assets/modal-header-bg-dark.png);background-repeat:repeat;color:var(--color-text);text-decoration:none;box-shadow:var(--glow-sm-both)}.home-link-card:hover{border-color:var(--color-accent);background:var(--color-bg-subtle);color:var(--color-text);text-decoration:none}.home-link-card:after{content:"›";flex:0 0 auto;color:var(--color-text-muted);font-size:1.25rem;line-height:1}.home-link-card:hover:after{color:var(--color-link-hover)}.home-link-title{min-width:0;font-weight:600;overflow-wrap:anywhere}.home-link-meta{flex:0 0 auto;color:var(--color-text-muted);font-size:.875rem;white-space:nowrap}.build-list{grid-template-columns:1fr}.build-list .home-link-meta{margin-left:auto;text-align:right}.build-nav-list{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.search-trigger{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.9rem;min-width:0;box-shadow:var(--glow-sm-both)}.search-trigger:hover{border-color:var(--color-accent);color:var(--color-text)}.search-trigger-label{flex:1;min-width:0;text-align:left;white-space:nowrap}.search-trigger-kbd{flex:0 0 auto;white-space:nowrap}.search-trigger-kbd,.search-dialog kbd{font-family:var(--font-mono);font-size:.7rem;padding:1px 6px;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg);color:var(--color-text-muted);line-height:1.4}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:10vh var(--space-4) var(--space-4);animation:search-fade .12s ease-out}@keyframes search-fade{0%{opacity:0}to{opacity:1}}.search-dialog{width:100%;max-width:640px;background:var(--color-bg-elevated);background-image:url(/assets/modal-header-bg-dark.png);background-repeat:repeat;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column;max-height:80vh}.search-dialog-input{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.search-dialog-input .search-icon{color:var(--color-text-muted);flex-shrink:0}.search-dialog-input input{flex:1;background:transparent;border:0;padding:0;color:var(--color-text);font:inherit;font-size:1rem;outline:none}.search-dialog-input input:focus{outline:none}.search-dialog-results{overflow-y:auto;flex:1}.search-empty{padding:var(--space-4);font-size:.9rem}.search-result{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;font:inherit}.search-result:last-child{border-bottom:0}.search-result.active,.search-result:hover{background:var(--color-bg-subtle)}.search-result-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-type{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg)}.quick-picks{display:flex;gap:var(--space-2);flex:0 0 auto;flex-wrap:nowrap}.quick-pick{display:inline-block;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-subtle);color:var(--color-text);font:inherit;font-size:.875rem;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s,color .1s;box-shadow:var(--glow-sm-both)}.quick-pick:hover{background:var(--color-bg-elevated);border-color:var(--color-accent);color:var(--color-text);text-decoration:none}.quick-pick.active{background:var(--color-accent);border-color:var(--color-accent-strong);color:#1a1300}.quick-pick-label-short{display:none}select,input[type=text],input[type=search],input[type=number]{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font:inherit}select{padding-right:var(--space-6)}.styled-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.75rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 1.15rem) 50%,calc(100% - .8rem) 50%;background-size:.36rem .36rem,.36rem .36rem;background-repeat:no-repeat;box-shadow:var(--glow-sm-both)}.build-select{flex:0 1 24rem;min-width:10rem;min-height:36px;padding-block:var(--space-1);max-width:min(24rem,100%)}@media (max-width: 980px),(max-height: 700px){.site-header{min-height:44px;padding:3px var(--space-3)}.logo{height:34px}.quick-picks{gap:var(--space-1)}.quick-pick{min-width:36px;height:36px;padding:0 7px;font-size:.8rem}.quick-pick-label-long{display:none}.quick-pick-label-short{display:inline}.build-select{flex:1 1 auto;min-width:36px;max-width:24rem}.search-trigger{flex:0 0 36px;justify-content:center;width:36px;height:36px;padding:0}.search-trigger-label,.search-trigger-kbd{display:none}}@media (max-width: 380px){.site-header{padding-inline:var(--space-2)}.logo{height:30px}.quick-pick{min-width:34px;height:34px;padding-inline:5px}.search-trigger{flex-basis:34px;width:34px;height:34px}}select:focus,input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}details.dropdown{width:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:var(--space-3) 0}details.dropdown>summary{cursor:pointer;padding:var(--space-3) var(--space-4);font-weight:600;list-style:none}details.dropdown>summary::-webkit-details-marker{display:none}details.dropdown>summary:before{content:"▸";display:inline-block;margin-right:var(--space-2);transition:transform .15s}details.dropdown[open]>summary:before{transform:rotate(90deg)}details.dropdown>.dropdown-body{max-width:100%;padding:0 var(--space-4) var(--space-4);overflow-x:auto;background:linear-gradient(to right,var(--color-bg-elevated) 30%,rgba(22,38,58,0)) left center / 2.5rem 100% no-repeat local,linear-gradient(to left,var(--color-bg-elevated) 30%,rgba(22,38,58,0)) right center / 2.5rem 100% no-repeat local,linear-gradient(to right,#0000005c,#0000) left center / 1.25rem 100% no-repeat scroll,linear-gradient(to left,#0000005c,#0000) right center / 1.25rem 100% no-repeat scroll}.dropdown-body>.location-table,.dropdown-body>table{width:100%}.minimap{display:inline-block;position:relative;vertical-align:middle;background-color:var(--color-bg-subtle);background-repeat:no-repeat;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;image-rendering:pixelated}.minimap-pin{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--color-accent);border:2px solid #fff;box-shadow:0 0 4px #0009;pointer-events:none}.minimap-marker-icon{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));pointer-events:none}.minimap-dot{position:absolute;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--color-link);border:1px solid rgba(255,255,255,.85);box-shadow:0 0 3px #0000008c;pointer-events:none}.minimap-bbox{position:absolute;top:50%;left:50%;border:2px solid var(--color-accent);background:#f4a26126;box-shadow:0 0 4px #00000080;pointer-events:none}.map-spot{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1)}.map-spot-link{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1);text-decoration:none}.map-spot-link:hover .map-spot-area,.map-spot-link:hover .map-spot-coordinates{color:var(--color-accent);text-decoration:underline}.map-spot-area{color:var(--color-text);font-size:.9rem;font-weight:600;line-height:1.25;text-align:center}.map-spot-coordinates,.map-spot-instance{color:var(--color-text-muted);font-size:.85rem;line-height:1.25;text-align:center}.map-spot-coordinates{font-style:italic}.area-map{margin:var(--space-4) 0}.area-map-overlay{display:block;width:min(960px,100%);height:auto;aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);overflow:hidden;touch-action:none;cursor:grab}.area-map-viewport{position:relative;width:min(960px,100%)}.area-map-overlay:active{cursor:grabbing}.map-base-image,.world-map-image{image-rendering:auto}.area-map-marker-image{filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));transform-box:fill-box;transform-origin:center;transition:transform .12s ease,filter .12s ease}.area-map-marker:hover .area-map-marker-image,.area-map-marker.is-active .area-map-marker-image,.area-map-marker:focus .area-map-marker-image{transform:scale(1.45);filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.area-map-marker-tooltip{opacity:0;pointer-events:none;fill:var(--color-text);stroke:var(--color-bg);stroke-width:5px;paint-order:stroke fill;font-size:15px;font-weight:700;transition:opacity .04s ease}.map-route-label{pointer-events:none;fill:var(--color-text);stroke:var(--color-bg);paint-order:stroke fill;font-weight:600;opacity:.8}.map-route-hitbox{fill:none;stroke:transparent;stroke-width:14px;pointer-events:stroke;cursor:help}.map-route-hitbox:focus{outline:none}.area-map-outgoing-route.is-active .map-route-label,.world-map-routes .map-route-label{opacity:1}.area-map-marker:hover .area-map-marker-tooltip,.area-map-marker.is-active .area-map-marker-tooltip,.area-map-marker:focus .area-map-marker-tooltip{opacity:1}.app-world-map{height:100dvh}.app-world-map .site-header{flex-shrink:0}.app-world-map .site-main{display:flex;max-width:none;padding:var(--space-5) 0 0}.world-map-page{display:flex;flex-direction:column;flex:1;min-width:0}.world-map-page>:not(.world-map-viewport){flex-shrink:0;margin-left:var(--space-5);margin-right:var(--space-5)}.transport-cost{display:flex;align-items:center;gap:var(--space-1);font-size:.875rem}.transport-cost-turbo{display:inline-flex;align-items:center;gap:var(--space-1);color:#f2c94c;white-space:nowrap}.world-map-page h1{margin-top:0}.map-panel{display:grid;gap:var(--space-3)}.map-marker-toggles{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.world-map-viewport{position:relative;width:100%;flex:1;min-height:160px;overflow:hidden;border:1px solid var(--color-border);border-radius:0;background:var(--color-bg-subtle);touch-action:none;cursor:grab}.world-map-viewport:active{cursor:grabbing}.world-map-canvas{position:absolute;top:0;left:0;width:2048px;height:2048px;transform-origin:top left}.world-map-image,.world-map-routes{position:absolute;top:0;right:0;bottom:0;left:0;width:2048px;height:2048px;-webkit-user-select:none;user-select:none}.world-map-routes{pointer-events:none;transform-origin:top left}.map-route-tooltip{position:absolute;z-index:2;width:max-content;max-width:calc(100% - 24px);padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;overflow-y:auto;pointer-events:none}.map-tooltip-content{display:flex;align-items:center;gap:8px}.map-tooltip-content>div{min-width:0}.world-map-route{fill:none;stroke-width:2px;stroke-dasharray:12px 8px;stroke-linecap:round;stroke-linejoin:round;opacity:.42;transition:opacity .12s ease}.world-boss-path{fill:none;stroke:#80c400;stroke-width:2px;stroke-dasharray:12px 8px;stroke-linecap:round;stroke-linejoin:round;opacity:.42;transition:opacity .12s ease;pointer-events:none}.world-boss-path.is-active{stroke-dasharray:none;stroke-width:4px;opacity:.9}.world-map-route.is-active{opacity:.9;stroke-width:4px;stroke-dasharray:none}.world-map-route-monkey-skyway{stroke:#8f5cff}.world-map-route-scamper{stroke:#e05252}.world-map-route-slider{stroke:#3b82f6}.world-map-route-woosh{stroke:#e6a43b}.world-map-route-warp{stroke:#45bcc7}.world-map-route-other{stroke:var(--color-text-muted)}.world-map-marker{position:absolute;display:block;transform:translate(-50%,-50%) scale(var(--world-marker-scale, 1));transform-origin:center;transition:z-index .12s ease;z-index:2}.world-map-marker img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));transition:transform .12s ease}.world-map-marker:hover,.world-map-marker.is-active,.world-map-marker:focus{z-index:5}.world-map-marker:hover img,.world-map-marker.is-active img,.world-map-marker:focus img{transform:scale(1.45)}.world-map-marker-tooltip{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:max-content;max-width:min(260px,70vw);padding:2px 6px;border-radius:var(--radius-sm);background:#12161ceb;color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 2px 8px #00000059;font-size:12px;font-weight:700;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;opacity:0;pointer-events:none;transition:opacity .04s ease}.world-map-marker:hover .world-map-marker-tooltip,.world-map-marker.is-active .world-map-marker-tooltip,.world-map-marker:focus .world-map-marker-tooltip{opacity:1}.task-row-waypoint{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.icon{display:inline-block;vertical-align:middle;border-radius:var(--radius-sm);background:#ffffff0a;flex-shrink:0;object-fit:contain}.icon-empty{background:transparent}.icon-item{background-image:url(/ui/inv_empty.png);background-repeat:no-repeat;background-position:center;background-size:contain;border-radius:0}.entity-link{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;padding:2px 6px;margin:-2px -6px;border-radius:var(--radius-sm)}.entity-link:hover{background:var(--color-bg-elevated);text-decoration:none}.entity-link-body{display:inline-flex;align-items:center;gap:var(--space-2)}.mission-link-text{display:inline-flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2}.mission-link-meta{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.entity-link-name{color:var(--color-link)}.entity-link:hover .entity-link-name{color:var(--color-link-hover)}.entity-link-unbuilt .entity-link-name{color:var(--color-text);border-bottom:1px dotted var(--color-border)}.reward-box{margin:var(--space-2) 0}.reward-note{margin:0 0 var(--space-2);font-size:.9rem}.reward-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2)}.reward-card{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.reward-card-icon,.reward-card .icon{flex:0 0 auto}.reward-card-main{display:flex;flex-direction:column;min-width:0;gap:2px}.reward-card-meta:empty{display:none}.inline-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);vertical-align:baseline}.inline-meta-leading{margin-left:var(--space-2)}.inline-meta-item{min-width:0}.reward-items{list-style:none;padding:0;margin:var(--space-2) 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-2)}.reward-items>li{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.task-list{margin:var(--space-3) 0}.task-dropdown{width:100%;max-width:100%;min-width:0}.task-dropdown>.dropdown-body{width:auto;max-width:100%;min-width:0;overflow-wrap:anywhere}.task-dropdown summary{overflow-wrap:anywhere}.task-dropdown .task-detail-table{table-layout:fixed;width:100%;min-width:0}.task-dropdown .task-detail-table td,.task-dropdown blockquote{min-width:0;overflow-wrap:anywhere}.task-index{display:inline-block;min-width:1.5em;color:var(--color-text-muted)}.task-row{margin:var(--space-2) 0}.task-label{color:var(--color-text-muted);margin-right:var(--space-2)}.task-row ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.task-detail-table{width:100%;border-collapse:collapse}.task-detail-table th,.task-detail-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}.task-detail-table th{width:1%;padding-left:0;color:var(--color-text-muted);font-size:.85rem;font-weight:600;text-align:left;white-space:nowrap}.task-detail-table td{padding-right:0}.task-detail-table tr.task-transition-start th,.task-detail-table tr.task-transition-start td{border-top:3px solid var(--color-border)}.task-ref-list{list-style:none;padding:0;margin:0}.task-ref-list>li+li{margin-top:var(--space-1)}.task-defeat-target{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.task-defeat-target-main{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.task-quest-item{font-size:.9rem}.task-waypoint-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.task-mapspot{justify-self:end}@media (max-width: 640px){.task-defeat-target,.task-waypoint-cell{grid-template-columns:1fr}.task-mapspot{justify-self:start}}.task-dropdown .task-detail-table th{width:4.25rem;min-width:4.25rem;white-space:normal;overflow-wrap:anywhere}.task-dropdown .task-detail-table td{width:auto}.journal-panel{min-width:0;margin:var(--space-4) 0;border:2px solid color-mix(in srgb,var(--color-accent) 55%,var(--color-border));border-radius:var(--radius-lg);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);overflow:hidden}.journal-panel-heading{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-accent) 15%,var(--color-bg-elevated))}.journal-panel-heading h4{margin:0;color:var(--color-accent);font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.journal-panel-body{padding:var(--space-4)}.journal-panel-with-speaker{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--space-4);align-items:start}.journal-panel-speaker{min-width:0;text-align:center}.journal-panel-speaker .entity-link-body{flex-direction:column;align-items:center;gap:var(--space-2)}.journal-panel-speaker .entity-link-name{color:var(--color-accent);font-weight:600}.journal-panel-copy{min-width:0;overflow-wrap:anywhere;white-space:pre-line;line-height:1.6}.journal-panel-copy p{margin:0}.journal-panel-copy p+p{margin-top:var(--space-3)}.journal-panel-summary{color:var(--color-text-muted);font-size:.9rem}.task-dropdown .journal-panel{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border:0;border-left:3px solid var(--color-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-bg-subtle);box-shadow:none}.task-dropdown .journal-panel-heading{margin-bottom:var(--space-2);padding:0;border:0;background:transparent}.task-dropdown .journal-panel-heading h4{color:var(--color-text-muted)}.task-dropdown .journal-panel-body{padding:0}@media (max-width: 480px){.journal-panel-with-speaker{grid-template-columns:minmax(0,1fr)}.journal-panel-speaker{text-align:left}.journal-panel-speaker .entity-link-body{flex-direction:row;text-align:left}.journal-panel-speaker .icon{width:64px;height:64px}.journal-panel-body{padding:var(--space-3)}}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3)}.breadcrumb a{display:inline-flex;align-items:center;min-height:2rem;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-subtle);color:var(--color-text);font-size:.875rem;line-height:1.2;text-decoration:none;box-shadow:var(--glow-sm-both)}.breadcrumb a:hover{border-color:var(--color-accent);background:var(--color-bg-elevated);color:var(--color-link-hover);text-decoration:none}.entity-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-2);margin-bottom:var(--space-5)}.entity-header-icon{order:2;flex:0 0 auto}.entity-meta{order:1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-width:0}.entity-meta .icon,.entity-header-icon .icon{flex:0 0 auto}.mission-givers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,240px));gap:var(--space-3);margin:var(--space-3) 0 var(--space-5)}.mission-giver-box{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:0;padding:var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.mission-giver-role{color:var(--color-text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.barker-list{padding-left:var(--space-5)}.barker-list li{margin:var(--space-2) 0}.alias-ids{font-size:.85rem;margin:var(--space-3) 0}.alias-ids code{padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border)}.nano-power{margin:var(--space-5) 0;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md)}.nano-power h3{margin-top:0}.nano-power .stat-grid{margin-top:var(--space-3);background:var(--color-bg-elevated)}.stat-grid{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-3);margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:480px}.stat-grid dt{color:var(--color-text-muted);font-size:.9rem}.stat-grid dd{margin:0;font-variant-numeric:tabular-nums}.iz-calculator{max-width:720px}.iz-calculator-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.iz-calculator-controls label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-muted);font-size:.9rem}.iz-calculator-controls input,.iz-calculator-controls select{width:100%;color:var(--color-text)}.iz-calculator-results{margin-bottom:0}.racing-score-surface{width:min(100%,760px);margin:0}.racing-score-viewport{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.racing-score-surface svg{display:block;width:100%;height:auto}.racing-score-viewport:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.racing-score-viewport.is-pan{cursor:move}.racing-score-surface .racing-score-legend{margin-top:var(--space-3)}.racing-score-bands polygon{stroke-width:1;stroke-linejoin:round}.racing-score-map-grid polygon{fill:none;stroke:var(--color-text);stroke-width:1.5}.racing-score-map-grid line{stroke:color-mix(in srgb,var(--color-text) 24%,transparent);stroke-width:1}.racing-score-axes line{stroke:var(--color-text);stroke-width:1.5}.racing-score-axes text{fill:var(--color-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.racing-score-axes .racing-score-axis-label{fill:var(--color-text);font-size:14px;font-weight:700}.racing-score-probe{pointer-events:none}.racing-score-probe>circle{stroke:#17202a;stroke-width:2;vector-effect:non-scaling-stroke}.racing-score-probe rect{fill:var(--color-bg-elevated);stroke:var(--color-border);stroke-width:1}.racing-score-probe text{fill:var(--color-text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.racing-score-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:center;color:var(--color-text-muted);font-size:.85rem}.racing-score-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}.racing-score-legend i{width:.8rem;height:.8rem;border:1px solid color-mix(in srgb,#17202a 45%,transparent);border-radius:2px}.infected-zone-card{display:flex;flex-direction:column;gap:var(--space-3);max-width:520px}.infected-zone-header{display:flex;align-items:center;gap:var(--space-3)}.infected-zone-icon{flex-shrink:0}.infected-zone-title{font-size:1.1rem;font-weight:700}.infected-zone-details{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-muted)}.infected-zone-details strong{color:var(--color-text)}.infected-zone-description{margin:0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.badge-category{background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text)}.badge-category[data-combat-type=Adaptium]{background:#2563eb;border-color:#2563eb;color:#fff}.badge-category[data-combat-type=Blastons]{background:#c92f40;border-color:#c92f40;color:#fff}.badge-category[data-combat-type=Cosmix]{background:#f1c40f;border-color:#f1c40f;color:#221a00}.badge-warn{background:#e6394626;color:var(--color-danger);border:1px solid var(--color-danger)}.npc-comment{margin:var(--space-3) 0 var(--space-5);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border-left:3px solid var(--color-quote-rail);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text)}.ref-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2)}.ref-list>li{padding:var(--space-2) var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ref-list .requirement-label{display:block;margin:0 0 var(--space-1)}.source-card-meta{display:flex;margin-top:var(--space-1)}.source-card-detail{display:block;margin-top:var(--space-2)}.monster-drop-meta{display:flex;margin-top:var(--space-1)}.location-list>li{display:flex;flex-direction:column;align-items:center;min-width:0}.location-list .map-spot{width:100%}.location-list-meta{display:block;align-self:stretch;margin-top:var(--space-2);text-align:center}.location-table{width:100%;border-collapse:collapse;margin-top:var(--space-2);background-image:url(/assets/modal-bg-dark.png);background-repeat:repeat}.location-table th,.location-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.location-table th{font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.mission-requirement-graph-section{margin:var(--space-6) 0 var(--space-4)}.mission-requirement-graph-section h2{margin-bottom:var(--space-3)}.mission-requirement-graph-scroll{overflow-x:auto;padding-bottom:var(--space-2)}.mission-requirement-graph{box-sizing:content-box;position:relative}.mission-requirement-graph-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mission-requirement-arrow{fill:none;stroke:var(--color-text-muted);stroke-width:2}.mission-requirement-arrow-head{fill:var(--color-text-muted)}.mission-requirement-node{position:absolute;z-index:1;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);box-shadow:var(--shadow-sm)}.mission-requirement-node-current{border-color:var(--color-accent-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 28%,transparent)}.mission-requirement-node-role{color:var(--color-text-muted);font-size:.72rem;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em}.mission-requirement-node .entity-link,.mission-requirement-node .entity-link-body{min-width:0;max-width:100%}.mission-requirement-node .entity-link-name{color:var(--color-link);overflow-wrap:anywhere;white-space:normal}.area-index-cell{min-width:360px}.area-index-name{display:flex;align-items:center;gap:var(--space-3)}.area-index-name .minimap{flex-shrink:0}.entity-index-table .icon,.entity-index-table .icon-empty{width:64px;height:64px}.entity-index-name{display:flex;align-items:center;gap:var(--space-3);min-width:220px}.entity-index-link{font-weight:600}.entity-index-id-code{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text);font-variant-numeric:tabular-nums}.infected-zone-header-icon .icon{width:239px;height:127px}.infected-zone-index-card{display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);min-width:239px;max-width:239px;text-align:center}.infected-zone-index-card .icon,.infected-zone-index-card .icon-empty{width:239px;height:127px}.code-index-table td{min-width:360px}.code-index-code{display:inline-block;margin-bottom:var(--space-3)}.item-set-index-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.item-set-index-more{width:112px;min-height:64px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.code-index-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--space-3);align-items:start}.code-index-items .entity-link{width:112px;min-width:0;justify-content:center}.code-index-items .entity-link-body{flex-direction:column;align-items:center;gap:var(--space-1);text-align:center}.code-index-items .entity-link-name{max-width:100%;overflow-wrap:anywhere;font-size:.85rem;line-height:1.2}.similar-items-dropdown>.dropdown-body{background:none}.similar-items-wrap{max-width:100%}.similar-items-source-title{display:block;margin-bottom:var(--space-3)}.similar-items-source-link{font-weight:600}.similar-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));max-width:min(100%,calc((86px * 9) + (var(--space-3) * 8)));gap:var(--space-3);align-items:stretch}.similar-items-grid>span{display:flex;align-items:stretch;justify-content:center}.similar-items-grid .entity-link{box-sizing:border-box;width:96px;min-width:0;height:100%;padding-top:var(--space-2);padding-bottom:var(--space-2);align-items:flex-start;justify-content:center}.similar-items-grid .entity-link-body{flex-direction:column;align-items:center;gap:var(--space-1);text-align:center}.similar-items-grid .entity-link-name{max-width:100%;overflow-wrap:anywhere;font-size:.85rem;line-height:1.2}.similar-items-current{color:var(--color-text);background:var(--color-bg-subtle);border:1px solid var(--color-accent);cursor:default}.similar-items-current:hover{background:var(--color-bg-subtle)}.similar-items-current .entity-link-name{color:var(--color-text)}.similar-items-current.similar-items-muted{border:1px solid rgb(255,0,34)}.similar-items-muted .entity-link-name{color:#ce1029}.entity-link.similar-items-muted:hover .entity-link-name,.similar-items-muted .entity-link:hover .entity-link-name{color:#f02}.index-controls{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--color-text-muted);cursor:pointer}.checkbox input{cursor:pointer}.link-button{border:0;background:transparent;color:var(--color-link);padding:0;font:inherit;cursor:pointer}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--color-text-muted);cursor:not-allowed}.index-filter-dropdown{position:relative;flex-shrink:0}.index-filter-dropdown>summary{display:inline-flex;align-items:center;min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text);cursor:pointer;list-style:none;font-weight:600}.index-filter-dropdown>summary::-webkit-details-marker{display:none}.index-filter-dropdown>summary:after{content:"▾";margin-left:var(--space-2);color:var(--color-text-muted)}.index-filter-menu{position:absolute;z-index:20;top:calc(100% + var(--space-1));left:0;width:max-content;min-width:14rem;max-height:min(24rem,70vh);overflow:auto;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-md)}.index-filter-options{display:grid;grid-template-columns:repeat(2,max-content);gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.index-filter-option{white-space:nowrap}.type-tabs+.type-tabs,.type-tabs+.index-controls,.index-controls+.type-tabs{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.type-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-3) 0}.type-tab{font:inherit;cursor:pointer;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-subtle);color:var(--color-text);font-size:.875rem;line-height:1;transition:background .1s,border-color .1s,color .1s;box-shadow:var(--glow-sm-both)}.type-tab:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-accent)}.type-tab.active{background:var(--color-accent);border-color:var(--color-accent-strong);color:#1a1300}.type-tab:disabled{opacity:.4;cursor:not-allowed}.type-tab-count{opacity:.75;margin-left:var(--space-1)}.type-tab[data-combat-type=Adaptium]{--combat-tab-color: #2563eb;--combat-tab-text: #fff}.type-tab[data-combat-type=Blastons]{--combat-tab-color: #c92f40;--combat-tab-text: #fff}.type-tab[data-combat-type=Cosmix]{--combat-tab-color: #f1c40f;--combat-tab-text: #221a00}.type-tab[data-combat-type]{background:color-mix(in srgb,var(--combat-tab-color) 15%,var(--color-bg-subtle));border-color:color-mix(in srgb,var(--combat-tab-color) 35%,var(--color-border));color:var(--color-text)}.type-tab[data-combat-type]:hover:not(:disabled),.type-tab[data-combat-type].active{background:var(--combat-tab-color);border-color:var(--combat-tab-color);color:var(--combat-tab-text)}.type-tab[data-combat-type].active{box-shadow:inset 0 0 0 2px currentColor,var(--glow-sm-both)}.index-sort-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}.index-sort-button:hover{color:var(--color-accent)}.index-sort-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.index-sort-button span{opacity:.65}.location-table th[aria-sort=ascending] .index-sort-button span,.location-table th[aria-sort=descending] .index-sort-button span{opacity:1}.entity-index{list-style:none;padding:0;margin:var(--space-4) 0}.entity-index-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.entity-index-row:hover{background:var(--color-bg-elevated)}.entity-index-row-muted,.location-table tr.entity-index-row-muted{color:var(--color-text-muted);background:var(--color-bg-subtle)}.entity-index-row-muted .entity-index-link,.location-table tr.entity-index-row-muted .entity-index-link{color:var(--color-text-muted)}.entity-index-main{flex:1}.ambiguity-page .entity-index-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ambiguity-match-detail{margin-left:auto;text-align:right;flex-shrink:0}.pager{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.pager button,.index-control-button{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer;font:inherit}.pager button:hover:not(:disabled),.index-control-button:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-accent)}.pager button:disabled,.index-control-button:disabled{opacity:.4;cursor:not-allowed}.index-control-button{min-height:2.5rem}.index-control-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.muted{color:var(--color-text-muted)}.build-subtitle{margin-top:calc(var(--space-3) * -1);margin-bottom:var(--space-4);font-size:.95rem}.placeholder{padding:var(--space-6);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.error-state{padding:var(--space-5);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:#e639460d}.error-state h2{margin:0 0 var(--space-2);color:var(--color-danger);font-size:1.1rem}.error-state p{margin:var(--space-2) 0}.error-detail code{font-size:.85rem}.mission-task-controls{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 var(--space-4)}.mission-task-graph-scroll{max-width:100%;overflow-x:auto;margin:var(--space-3) 0 var(--space-4);padding-bottom:var(--space-2)}.mission-task-graph{box-sizing:content-box;position:relative;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated)}.mission-task-graph-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mission-task-node{position:absolute;z-index:1;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:var(--space-2);width:230px;height:96px;padding:var(--space-2);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm)}.mission-task-node-id{align-self:flex-start;font-family:var(--font-mono);font-weight:700;color:var(--color-accent)}.mission-task-node-label{align-self:stretch;overflow:hidden;overflow-wrap:anywhere;line-height:1.25}.mission-task-self-repeat{align-self:flex-end;padding:1px 6px;border:1px solid #d88b3d;border-radius:var(--radius-sm);color:#f0b36f;background:#d88b3d1f;font-size:.75rem;line-height:1.4}.mission-task-node-FailRepeatTask,.task-state-FailRepeatTask>summary{border-color:#d88b3d;background:#d88b3d24}.mission-task-node-UnreachableTask,.task-state-UnreachableTask>summary{border-color:#8d98aa;border-style:dashed;background:#8d98aa24}.mission-task-boundary-start,.task-boundary-start>summary{border-color:var(--color-success);box-shadow:0 0 0 2px #6ad28a3d,var(--shadow-sm)}.mission-task-boundary-end,.task-boundary-end>summary{border-color:var(--color-link);box-shadow:0 0 0 2px #8ecae642,var(--shadow-sm)}.mission-task-boundary-start.mission-task-boundary-end,.task-boundary-start.task-boundary-end>summary{border-color:var(--color-success);box-shadow:0 0 0 2px #6ad28a3d,0 0 0 4px #8ecae633,var(--shadow-sm)}.mission-task-arrow{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.mission-task-arrow-end{stroke:#f5f7fb}.mission-task-arrow-fail{stroke:var(--color-danger)}.mission-task-arrow-head-end{fill:#f5f7fb}.mission-task-arrow-head-fail{fill:var(--color-danger)}.mission-task-graph-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-2);font-size:.85rem}.mission-task-graph-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.mission-task-legend-line{display:inline-block;width:28px;height:2px;border-radius:1px}.mission-task-legend-end{background:#f5f7fb}.mission-task-legend-fail{background:var(--color-danger)}.mission-task-legend-node{box-sizing:border-box;display:inline-block;width:20px;height:14px;border:2px solid var(--color-border);border-radius:3px;background:var(--color-bg-subtle)}.mission-task-legend-start{border-color:var(--color-success);box-shadow:0 0 0 2px #6ad28a2e}.mission-task-legend-finish{border-color:var(--color-link);box-shadow:0 0 0 2px #8ecae62e}.mission-task-legend-unused{border-color:#8d98aa;border-style:dashed;background:#8d98aa24}.mission-task-legend-repeat{border-color:#d88b3d;background:#d88b3d24}.table-scroll{overflow-x:auto;background:linear-gradient(to right,var(--color-bg) 30%,rgba(13,27,42,0)) left center / 2.5rem 100% no-repeat local,linear-gradient(to left,var(--color-bg) 30%,rgba(13,27,42,0)) right center / 2.5rem 100% no-repeat local,linear-gradient(to right,#0000005c,#0000) left center / 1.25rem 100% no-repeat scroll,linear-gradient(to left,#0000005c,#0000) right center / 1.25rem 100% no-repeat scroll}.player-stats-table th,.player-stats-table td,.misc-reward-table th,.misc-reward-table td{white-space:nowrap}.player-stats-task{margin-top:var(--space-1);white-space:normal}.player-stats-nano-list{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.currency-amount{display:inline-flex;align-items:baseline;gap:.25em;white-space:nowrap}.currency-icon{display:inline-block;width:1em;height:1em;min-width:16px;min-height:16px;object-fit:contain;vertical-align:-.15em;align-self:center}.combination-page{min-width:0}.combination-section{min-width:0;margin-block:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated) url(/assets/modal-bg-dark.png) repeat;box-shadow:var(--glow-sm)}.combination-section h2{margin:0 0 var(--space-4)}.combination-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);margin-top:var(--space-5)}.combination-controls>.combination-section{margin:0}.combination-target-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.combination-target-controls label{display:grid;gap:var(--space-2);min-width:0}.combination-controls select{width:100%;min-width:0;min-height:44px}.combination-controls input:not([type=checkbox]){width:100%;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--glow-sm-both)}.combination-controls input:focus-visible,.combination-step summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.combination-stat-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0 0 var(--space-4);text-align:center}.combination-stat-preview dt img{display:block;margin:0 auto;object-fit:contain}.combination-stat-preview dd{margin:var(--space-2) 0 0;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.combination-option-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-2)}.combination-option-controls>label,.combination-rarity-control{display:grid;align-content:start;gap:var(--space-2);min-width:0}.combination-rarity-dropdown{position:relative;min-width:0}.combination-rarity-dropdown>summary{min-height:44px;padding:var(--space-2) 2.75rem var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-subtle);list-style:none;cursor:pointer;overflow-wrap:anywhere}.combination-rarity-dropdown>summary::-webkit-details-marker{display:none}.combination-rarity-dropdown>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.combination-rarity-options.combination-settings{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated) url(/assets/modal-header-bg-dark.png) repeat;box-shadow:var(--shadow-md),var(--glow-sm)}@media (max-width: 640px){.combination-option-controls{grid-template-columns:minmax(0,1fr)}}.combination-settings{display:grid;gap:var(--space-1);margin-top:var(--space-3)}.combination-settings label{display:flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer}.combination-settings input{flex:0 0 18px;width:18px;height:18px;accent-color:var(--color-accent)}.combination-picker{position:relative}.combination-options{position:absolute;inset:calc(100% + 4px) 0 auto;z-index:20;max-height:min(360px,50dvh);overflow-y:auto;overscroll-behavior:contain;background:var(--color-bg-elevated) url(/assets/modal-header-bg-dark.png) repeat;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md),var(--glow-sm)}.combination-options button{display:flex;gap:var(--space-3);align-items:center;width:100%;min-height:64px;padding:var(--space-2);border:0;border-radius:0;background:transparent;color:var(--color-text);text-align:left;font:inherit;cursor:pointer}.combination-options button:hover,.combination-options button[data-active=true]{background:var(--color-bg-subtle);color:var(--color-link-hover);box-shadow:var(--glow-sm-inverse)}.combination-options button>span{min-width:0;overflow-wrap:anywhere}.combination-options small,.combination-step small{display:block;color:var(--color-text-muted)}.combination-options .icon,.combination-preview>.icon{flex-shrink:0}.combination-options>p{padding:var(--space-3)}.combination-preview{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);overflow-wrap:anywhere}.combination-preview p{margin:var(--space-1) 0}.combination-item-link{display:flex;align-items:center;gap:var(--space-3);min-width:0;overflow-wrap:anywhere}.combination-item-link>div:last-child{min-width:0}.combination-item-link small{display:block;margin-top:var(--space-1)}.combination-item-link .entity-link{font-weight:600}.combination-step-details .combination-item-link .entity-link{padding:var(--space-3)}.combination-preview-icon{position:relative;flex:0 0 96px}.combination-preview-icon>.icon{display:block}.combination-badge{position:absolute;width:39.0625%;height:39.0625%;right:3.125%;bottom:3.125%;object-fit:contain}.combination-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.combination-summary{display:grid;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-elevated) url(/assets/modal-header-bg-dark.png) repeat;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--glow-sm-both);overflow-wrap:anywhere}.combination-summary strong{font-size:clamp(1.25rem,3vw,1.8rem)}.combination-cost-breakdown{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);margin:var(--space-2) 0}.combination-cost-breakdown dt{color:var(--color-text-muted)}.combination-cost-breakdown dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.combination-summary small,.combination-costs small{color:var(--color-text-muted)}.combination-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4)}.combination-luck-cost{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.combination-luck-cost>span:last-child{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}.combination-savings{margin-left:auto;text-align:right;color:var(--color-success)}.combination-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding:0;margin:0;list-style:none}.combination-step{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated) url(/assets/modal-bg-dark.png) repeat;box-shadow:var(--glow-sm-both);overflow-wrap:anywhere}.combination-step summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto 16px;align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer;list-style:none;background:var(--color-bg-elevated) url(/assets/modal-header-bg-dark.png) repeat;border-radius:inherit}.combination-step summary::-webkit-details-marker{display:none}.combination-step summary:hover,.combination-step summary:focus-visible{background:var(--color-bg-subtle);color:var(--color-link-hover);box-shadow:var(--glow-sm-inverse)}.combination-step[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.combination-step-number{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.combination-step-pair{display:grid;grid-template-columns:fit-content(45%) auto fit-content(45%);justify-content:start;align-items:center;gap:var(--space-3)}.combination-step-item{display:flex;align-items:center;gap:var(--space-3);min-width:0}.combination-step-item>span:last-child{min-width:0}.combination-step-icon{position:relative;display:block;width:64px;height:64px;flex:0 0 64px}.combination-step-icon>.icon{display:block}.combination-step-arrow{display:block;width:48px;height:24px}.combination-step-total{text-align:right}.combination-step-chevron{text-align:center}.combination-step[open] .combination-step-chevron{transform:rotate(180deg)}.combination-step-details{padding:var(--space-4);border-top:1px solid var(--color-border)}.combination-step-details>.combination-item-link{justify-content:center}.combination-step-details>.combination-stat-preview{max-width:360px;margin:var(--space-4) auto}.combination-costs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);margin-bottom:0}.combination-costs dd{margin:0;text-align:right}.combination-costs small{display:block}.combination-vendor{margin-top:var(--space-4)}.combination-alternatives{margin-top:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.combination-alternatives h4{margin:0 0 var(--space-3)}.combination-alternatives ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-3);padding:0;margin:0;list-style:none}.combination-alternatives li{min-width:0}.combination-alternative-choice{display:block;width:100%;height:100%;padding:var(--space-3);font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.combination-alternative-choice:hover,.combination-alternative-choice:focus-visible{color:var(--color-link-hover);box-shadow:var(--glow-sm-inverse)}.combination-alternative-choice:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.combination-alternative-choice .combination-item-link{padding:var(--space-3)}.combination-alternative-choice .combination-cost-breakdown>span:nth-child(odd){color:var(--color-text-muted)}.combination-alternative-choice .combination-cost-breakdown>span:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 640px){.combination-controls,.combination-comparison{grid-template-columns:minmax(0,1fr)}.combination-step summary{grid-template-columns:minmax(0,1fr) 16px;gap:var(--space-2)}.combination-step-number{display:none}.combination-step-pair{grid-column:1;grid-row:1;gap:var(--space-2)}.combination-step-item{flex-direction:column;align-items:flex-start;text-align:left;gap:var(--space-2)}.combination-step-total{grid-column:1;grid-row:2;text-align:right}.combination-step-chevron{grid-column:2;grid-row:1 / 3}}
