:root{--color-bg: #0d1b2a;--color-bg-elevated: #16263a;--color-bg-subtle: #1e3047;--color-border: #2a3f5c;--color-text: #e6eef7;--color-text-muted: #8aa0b8;--color-link: #8ecae6;--color-link-hover: #f4a261;--color-accent: #f4a261;--color-accent-strong: #e07a26;--color-danger: #e63946;--color-success: #6ad28a;--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);--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);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:wrap;align-items:center;gap:var(--space-3);min-height:var(--header-h);padding:var(--space-2) var(--space-5);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:1.1rem;color:var(--color-text)}.brand:hover{color:var(--color-accent);text-decoration:none}.site-main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5)}.site-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem;text-align:center}.skeleton{display:inline-block;vertical-align:middle;background:linear-gradient(90deg,var(--color-bg-subtle) 0%,var(--color-bg-elevated) 50%,var(--color-bg-subtle) 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}}.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}.search-trigger:hover{border-color:var(--color-accent);color:var(--color-text)}.search-trigger-label{flex:1;text-align:left;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);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-wrap:wrap}.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-size:.875rem;line-height:1;text-decoration:none;transition:background .1s,border-color .1s,color .1s}.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}select,input[type=text],input[type=search]{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:focus,input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}details.dropdown{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{padding:0 var(--space-4) var(--space-4)}.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-bbox{position:absolute;top:50%;left:50%;border:2px solid var(--color-accent);background:#f4a26126;box-shadow:0 0 4px #00000080;pointer-events:none}.area-map{margin:var(--space-4) 0}.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}.icon-empty{background:transparent}.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)}.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-stats{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;gap:var(--space-5)}.reward-row{margin:var(--space-2) 0}.reward-label{color:var(--color-text-muted);margin-right:var(--space-2)}.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-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-message{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-border);background:var(--color-bg-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.task-message h4{margin:0 0 var(--space-2);font-size:.9rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.task-message blockquote{margin:var(--space-2) 0;padding-left:var(--space-3);border-left:2px solid var(--color-accent);color:var(--color-text);font-style:italic}.task-message p{margin:var(--space-2) 0}.task-message .dialog-bubble{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0}.guide-emails{margin:var(--space-3) 0}.guide-emails h4{margin:0 0 var(--space-2);font-size:.9rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.guide-email{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-link);background:var(--color-bg-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.guide-email-from{color:var(--color-text-muted);font-size:.85rem;margin-bottom:var(--space-1)}.guide-email blockquote{margin:0;padding:0;font-style:italic;border:none}.entity-page .breadcrumb{margin-bottom:var(--space-3)}.entity-meta{margin-top:calc(var(--space-3) * -1);margin-bottom:var(--space-4)}.mission-givers{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 var(--space-5)}.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}.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-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-accent);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)}.location-table{width:100%;border-collapse:collapse;margin-top:var(--space-2)}.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}.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}.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}.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)}.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-main{flex:1}.pager{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.pager 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){background:var(--color-bg-elevated);border-color:var(--color-accent)}.pager button:disabled{opacity:.4;cursor:not-allowed}.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}
