/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-tracking:initial;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Consolas", "Menlo", "Noto Sans SC", monospace;--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-snug:1.375;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-app:#0a0a0b;--color-bg-primary:#0f0f11;--color-bg-secondary:#151518;--color-bg-tertiary:#1c1c21;--color-bg-hover:#25252c;--color-text-primary:#f0f0f3;--color-text-secondary:#90909a;--color-text-tertiary:#62626c;--color-border-subtle:#ffffff0d;--color-border:#ffffff12;--color-border-strong:#ffffff1a;--color-accent:#4f8fff;--color-accent-hover:#6ba3ff;--color-accent-soft:#4f8fff1f;--color-success:#3dd68c;--color-warning:#f5b84d;--color-danger:#f04754;--color-map-pmap:#3dd68c;--color-map-smap:#e0c080;--color-map-mmap:#6ba3ff;--color-map-zmap:#d896d8;--color-map-mixed:#e8e08e;--color-map-dialogue:#c4a0ff;--color-map-flow:#90909a;--color-phy-file-header:#6ba3ff;--color-phy-dictionary:#7ecf5a;--color-phy-section-table:#d896d8;--color-phy-compressed-payload:#e8e08e;--color-phy-segment-table:#89c4f4;--color-phy-group-table:#e0c080;--color-phy-instruction:#3dd68c;--color-phy-unparsed:#5a5a64;--color-zmap-player:#3dd68c;--color-zmap-enemy:#f5b84d}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.main-layout{height:calc(100vh - 88px);display:flex}.panel-left{background:var(--color-bg-secondary);border-right:1px solid var(--color-border-subtle);flex-direction:column;flex-shrink:0;width:248px;min-width:240px;max-width:300px;display:flex}.panel-center,#detail-area{min-width:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 5);background:var(--color-bg-primary);flex:1;overflow-y:auto}.panel-hex{background:var(--color-bg-secondary);border-left:1px solid var(--color-border-subtle);flex-direction:column;flex-shrink:0;width:480px;min-width:360px;max-width:640px;display:flex}.panel-hex.hex-collapsed{width:calc(var(--spacing) * 11);max-width:calc(var(--spacing) * 11);min-width:calc(var(--spacing) * 11)}.hex-panel-toolbar{height:calc(var(--spacing) * 9);padding-inline:calc(var(--spacing) * 2);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.hex-panel-title{--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:.02em}.hex-indent-toggle{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);background:var(--color-bg-tertiary);border-radius:.25rem;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.hex-indent-toggle:hover{color:var(--color-text-primary);border-color:var(--color-border)}.panel-hex.hex-collapsed .hex-panel-toolbar{height:100%;padding-block:calc(var(--spacing) * 2);flex-direction:column}.panel-hex.hex-collapsed .hex-panel-title{writing-mode:vertical-rl}.panel-hex .hex-pane-main{min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 3);border-bottom:1px solid var(--color-border-subtle);flex:2;overflow:auto}.panel-hex .hex-pane-small{min-height:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 3);flex:1;overflow:auto}.panel-hex .hex-pane-title{margin-bottom:calc(var(--spacing) * 2.5);padding-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle);letter-spacing:.02em;text-transform:uppercase}.app-topbar{height:calc(var(--spacing) * 11);padding-inline:calc(var(--spacing) * 5);background:var(--color-bg-app);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.app-topbar-brand{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 3);display:flex}.app-topbar-title{--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap}.app-build-meta{font-family:var(--font-mono);color:var(--color-text-tertiary);letter-spacing:0;white-space:nowrap;font-size:11px}.app-topbar-icon{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);image-rendering:pixelated;flex-shrink:0;display:block}.source-badge-top{align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);display:inline-flex}.tab-nav{height:calc(var(--spacing) * 11);align-items:center;gap:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 3);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.tab-status-spacer{flex:1}.tab-source-status{align-items:center;gap:calc(var(--spacing) * 1.5);padding-right:4px;display:flex}.tab-btn{cursor:pointer;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-size:13px;font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);border-radius:var(--radius-md);letter-spacing:-.01em;background:0 0;border:none;transition:color .15s,background .15s;position:relative}.tab-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.tab-btn.active{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.tab-file{margin-left:calc(var(--spacing) * 1.5);font-family:var(--font-mono);color:var(--color-text-tertiary);letter-spacing:0;font-size:10px}.tab-btn.active .tab-file{color:var(--color-accent)}.tn{margin:calc(var(--spacing) * 0);-webkit-user-select:none;user-select:none}.tree-scroll{min-height:0}.tr{margin:calc(var(--spacing) * 0);box-sizing:border-box;min-width:calc(var(--spacing) * 0);cursor:default;padding-block:3px;padding-right:calc(var(--spacing) * 2);--tw-leading:var(--leading-snug);line-height:var(--leading-snug);border-radius:var(--radius-sm);align-items:center;margin-block:1px;transition:background .1s;display:flex}.tr-two-line{align-items:flex-start;padding-top:4px;padding-bottom:5px}.tr:hover,.tr-l0:hover,.tr-l1:hover,.tr-l2:hover,.tr-l3:hover,.tr-l4:hover{background:var(--color-bg-hover)}.tt{width:calc(var(--spacing) * 4);text-align:center;color:var(--color-text-tertiary);flex-shrink:0;font-size:9px}.tt.leaf{visibility:hidden}.tr-two-line .tt,.tr-two-line .ti{padding-top:1px}.ti{margin-right:calc(var(--spacing) * 1.5);flex-shrink:0;font-size:11px}.tl{min-width:calc(var(--spacing) * 0);text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;flex:1;font-size:12px;overflow:hidden}.tb{padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);white-space:nowrap;letter-spacing:0;border-radius:3px;flex-shrink:0;padding-block:1px}.tree-node-main{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1);flex-direction:column;flex:1;display:flex}.tree-node-row{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.tree-node-tags{min-width:calc(var(--spacing) * 0);justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 1);flex-wrap:wrap;min-height:14px;display:flex}.tr-two-line .tree-node-row{align-items:flex-start}.tr-two-line .tl{white-space:normal;text-overflow:ellipsis;-webkit-line-clamp:2;word-break:keep-all;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.tr-l0{padding-left:8px}.tr-l1{padding-left:18px}.tr-l2{padding-left:28px}.tr-l3{padding-left:38px}.tr-l4{padding-left:48px}.mode-toggle{align-items:center;gap:calc(var(--spacing) * .5);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 2);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.mode-toggle-btn{cursor:pointer;padding-block:calc(var(--spacing) * 1.5);text-align:center;--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);letter-spacing:-.01em;background:0 0;border:none;border-radius:5px;flex:1;transition:all .15s}.mode-toggle-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.mode-toggle-btn.active{color:var(--color-text-primary);background:var(--color-bg-primary);box-shadow:0 1px 2px #0000004d}.scene-filter-dock{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);background:linear-gradient(180deg, #14151afa, #0f1014fa), var(--color-bg-secondary);border-top:1px solid var(--color-border-subtle);flex-shrink:0;box-shadow:0 -10px 24px #0000002e}.scene-filter-head,.scene-filter-readout{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);display:flex}.scene-filter-title{--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.scene-filter-count{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:10px}.scene-filter-lens{margin-block:calc(var(--spacing) * 1.5);gap:calc(var(--spacing) * 1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.scene-filter-chip{height:calc(var(--spacing) * 7);justify-content:center;align-items:center;gap:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:#ffffff09;border:1px solid #0000;border-radius:5px;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.scene-filter-chip:hover{color:var(--color-text-primary);background:#ffffff0f}.scene-filter-chip.active{background:currentColor;border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.scene-filter-chip.active{background:color-mix(in srgb, currentColor 18%, transparent)}}.scene-filter-chip.active{box-shadow:inset 0 0 0 1px #ffffff0a,0 0 16px}@supports (color:color-mix(in lab, red, red)){.scene-filter-chip.active{box-shadow:inset 0 0 0 1px #ffffff0a, 0 0 16px color-mix(in srgb, currentColor 20%, transparent)}}.scene-filter-chip.active .scene-filter-dot{opacity:1;transform:scale(1)}.scene-filter-dot{height:calc(var(--spacing) * 1.5);width:calc(var(--spacing) * 1.5);opacity:.32;background:currentColor;border-radius:3.40282e38px;transition:opacity .15s,transform .15s;transform:scale(.72)}.scene-filter-readout{color:var(--color-text-tertiary);font-size:10px}.scene-filter-clear{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:4px}.scene-filter-clear:disabled{opacity:.38}.scene-filter-clear:not(:disabled):hover{color:var(--color-text-primary);border-color:var(--color-border)}.badge-confirmed{color:var(--color-success)}.badge-partial{color:var(--color-warning)}.badge-unknown{color:var(--color-text-tertiary)}.badge-pmap{color:var(--color-map-pmap);background:#3dd68c1f}.badge-smap{color:var(--color-map-smap);background:#e0c0801f}.badge-mmap{color:var(--color-map-mmap);background:#6ba3ff1f}.badge-mmap-free{color:#57d68a;background:#57d68a21}.badge-zmap{color:var(--color-map-zmap);background:#d896d81f}.badge-mixed{color:var(--color-map-mixed);background:#e8e08e1f}.badge-dialogue{color:var(--color-map-dialogue);background:#c4a0ff1f}.badge-flow{color:var(--color-map-flow);background:#90909a1f}.badge-control{color:#7da8c4;background:#7da8c41f}.branch-badge{text-overflow:ellipsis;max-width:64px;overflow:hidden}.branch-badge-a{color:#f0c674;background:#f0c6741c}.branch-badge-b{color:#8fd6ff;background:#5dade221}.branch-badge-c{color:#ff9f9a;background:#ff7e7921}.branch-badge-d{color:#9be7b0;background:#5fd6851f}.badge-status{padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);border-radius:3px;padding-block:1px}.detail-header{margin-bottom:calc(var(--spacing) * 4);padding-bottom:calc(var(--spacing) * 3);border-bottom:1px solid var(--color-border-subtle)}.detail-header h2{margin-bottom:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:16px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;color:var(--color-text-primary)}.detail-header h3{margin-bottom:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;color:var(--color-text-primary)}.detail-header .subtitle{color:var(--color-text-secondary);font-size:12px}.detail-meta{margin-bottom:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4);row-gap:calc(var(--spacing) * 1.5);grid-template-columns:auto 1fr;font-size:12px;display:grid}.detail-meta dt{color:var(--color-text-tertiary);font-weight:500}.detail-meta dd{color:var(--color-text-primary)}.instr-list{list-style-type:none}.instr-item{margin-bottom:calc(var(--spacing) * 1);cursor:pointer;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color .15s,background .15s}.instr-item:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.instr-item.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.instr-item-header{margin-bottom:calc(var(--spacing) * 1.5);align-items:center;gap:calc(var(--spacing) * 2);display:flex}.instr-opcode{padding-inline:calc(var(--spacing) * 1.5);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-phy-instruction);background:#3dd68c1a;border-radius:3px;padding-block:1px}.instr-mnemonic{--tw-font-weight:var(--font-weight-medium);font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:-.01em;flex:1}.instr-offset{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:11px}.instr-detail{margin-top:calc(var(--spacing) * 1)}.field-table{margin-top:calc(var(--spacing) * 1.5);border-collapse:collapse;width:100%;font-size:12px}.field-table th{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);text-align:left;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.field-table td{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);border-top:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:var(--color-bg-hover)}.clickable-row td:first-child{color:var(--color-accent)}.mapping-table{border-collapse:collapse;width:100%;font-size:12px}.mapping-table th{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);text-align:left;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.mapping-table td{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);color:var(--color-text-primary)}.map-tag{padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);border-radius:3px;padding-block:1px}.pmap-viz,.mmap-viz,.zmap-viz{margin-top:calc(var(--spacing) * 3);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.pmap-viz-header,.mmap-viz-header,.zmap-viz-header{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-subtle);letter-spacing:-.01em}.pmap-canvas-wrap,.mmap-canvas-wrap{min-height:200px;padding:calc(var(--spacing) * 2);background:var(--color-bg-app);overflow:auto}.pmap-canvas-wrap{justify-content:center;display:flex}.mmap-canvas-wrap{display:block}.pmap-canvas-wrap canvas,.mmap-canvas-wrap canvas{image-rendering:pixelated;display:block}.packgrp-crop-image{image-rendering:pixelated;align-self:flex-start;width:auto;max-width:100%;height:auto;max-height:none;display:block}.pmap-scene-list,.mmap-path-summary{gap:calc(var(--spacing) * 5);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);color:var(--color-text-secondary);font-size:12px;display:flex}.pmap-scene-list ul{list-style-type:none}.mmap-info-bar{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);color:var(--color-text-secondary);background:var(--color-bg-tertiary);font-size:11px}.mmap-unit-table,.zmap-unit-table{margin-top:calc(var(--spacing) * 1);border-collapse:collapse;width:100%;font-size:11px}.mmap-unit-table th,.zmap-unit-table th{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);text-align:left;--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.mmap-unit-table td,.zmap-unit-table td{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);border-top:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.zmap-player{color:var(--color-zmap-player)}.zmap-enemy{color:var(--color-zmap-enemy)}.zmap-empty{padding:calc(var(--spacing) * 5);text-align:center;color:var(--color-text-tertiary);font-size:12px}.zmap-units{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2)}.zmap-units-title{margin-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold)}.zmap-battle-info{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2)}.zmap-battle-name{--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.zmap-battle-summary{margin-top:calc(var(--spacing) * 1);color:var(--color-text-secondary);font-size:12px}.zmap-steps{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2)}.zmap-story-summary{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border-top:1px solid var(--color-border-subtle);background:#ffffff04;font-size:12px}.zmap-story-title{margin-bottom:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.zmap-story-group{margin-bottom:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 1.5);display:grid}.zmap-story-group:last-child{margin-bottom:calc(var(--spacing) * 0)}.zmap-story-subtitle{--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary)}.zmap-story-row{align-items:center;gap:calc(var(--spacing) * 2);--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.zmap-story-row strong{color:var(--color-text-primary)}.zmap-story-row em{color:var(--color-text-secondary);font-style:normal}.zmap-story-trigger{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-accent);background:#3ea6ff1a;border-radius:.25rem}.zmap-steps-title{margin-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold)}.zmap-step-item{gap:calc(var(--spacing) * 2);padding-block:3px;font-size:12px;display:flex}.zmap-step-index{color:var(--color-text-tertiary)}.zmap-step-label{color:var(--color-text-primary)}.dialogue-chain{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.dialogue-entry{gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-subtle);display:flex}.dialogue-entry:last-child{border-bottom:none}.dialogue-portrait{border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;width:64px;height:80px;overflow:hidden}.dialogue-portrait img{width:64px;height:80px;image-rendering:pixelated;display:block}.dialogue-portrait-placeholder{width:64px;height:80px;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:9px;display:flex}.dialogue-text{min-width:calc(var(--spacing) * 0);flex:1}.dialogue-text .speaker{margin-bottom:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-accent);letter-spacing:-.01em}.dialogue-text .text{--tw-leading:1.65;color:var(--color-text-primary);font-size:13px;line-height:1.65}.snr0m-ref{margin-top:calc(var(--spacing) * 1.5);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);background:#4f8fff0f;border:1px solid #4f8fff1f}.snr0m-text-rel{margin-top:calc(var(--spacing) * 1.5);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);background:var(--color-bg-tertiary)}.snr0m-text{--tw-leading:1.65;white-space:pre-wrap;color:var(--color-text-primary);font-size:13px;line-height:1.65}.hex-line{font-family:var(--font-mono);--tw-leading:1.8;white-space:nowrap;font-size:12px;line-height:1.8;display:flex}.hex-offset{width:60px;padding-right:calc(var(--spacing) * 3);text-align:right;-webkit-user-select:none;user-select:none;color:var(--color-text-tertiary);flex-shrink:0}.hex-byte{width:calc(var(--spacing) * 5);text-align:center;flex-shrink:0;display:inline-block}.hex-highlight{background:#4f8fff40;border-radius:1px}.hex-ascii{margin-left:calc(var(--spacing) * 2);-webkit-user-select:none;user-select:none;color:var(--color-text-tertiary);flex-shrink:0}.byte-instruction,.byte-d-instruction{color:var(--color-phy-instruction)}.byte-d-unparsed{color:var(--color-phy-unparsed)}.byte-d-segment-table{color:var(--color-phy-segment-table)}.byte-d-group-table{color:var(--color-phy-group-table)}.byte-compressed{color:var(--color-phy-compressed-payload)}.byte-file-header{color:var(--color-phy-file-header)}.byte-dictionary{color:var(--color-phy-dictionary)}.byte-section-table{color:var(--color-phy-section-table)}.hex-annotation-panel{margin-block:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);border-left:2px solid var(--color-border-strong);font-size:10px}.hex-annotation-title{margin-bottom:calc(var(--spacing) * 1);color:var(--color-text-tertiary);font-size:10px}.hex-annotation-header{padding-block:calc(var(--spacing) * .5);color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-subtle);font-size:9px;display:flex}.hex-annotation-row{padding-block:calc(var(--spacing) * .5);border-bottom:1px solid var(--color-border-subtle);align-items:center;display:flex}.hex-ann-tech{align-items:center;gap:calc(var(--spacing) * 1.5);min-width:220px;display:flex}.hex-ann-game{margin-left:calc(var(--spacing) * 1.5);align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.hex-ann-divider,.hex-ann-row-div{margin-inline:calc(var(--spacing) * 1);opacity:.3;color:var(--color-text-tertiary)}.hex-ann-entry-label{color:var(--color-text-tertiary);min-width:36px}.hex-ann-byte-addr,.hex-ann-raw-hex,.hex-ann-le16{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:9px}.hex-ann-seg-name{color:var(--color-text-tertiary);min-width:36px}.hex-ann-seg-len,.hex-ann-seg-detail{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:9px}.hex-ann-terminator{opacity:.3}.narrative-view{flex-direction:column;height:calc(100vh - 88px);display:flex}.narrative-header{padding-top:calc(var(--spacing) * 4);padding-right:calc(var(--spacing) * 5);padding-bottom:calc(var(--spacing) * 0);padding-left:calc(var(--spacing) * 5);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-subtle)}.campaign-name{margin-bottom:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-bold);font-size:16px;font-weight:var(--font-weight-bold);letter-spacing:-.01em}.phase-tabs{gap:calc(var(--spacing) * 1);padding-bottom:calc(var(--spacing) * 2.5);display:flex}.phase-tab{cursor:pointer;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-size:12px;font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:none;transition:all .15s}.phase-tab:hover{color:var(--color-text-primary)}.phase-tab.active{color:var(--color-text-primary);background:var(--color-bg-primary)}.narrative-body{min-height:calc(var(--spacing) * 0);flex:1;display:flex;overflow:hidden}.narrative-left{background:var(--color-bg-secondary);border-right:1px solid var(--color-border-subtle);flex-shrink:0;width:300px;overflow-y:auto}.narrative-right{min-width:calc(var(--spacing) * 0);flex:1;overflow-y:auto}.phase-status-card{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);border-bottom:1px solid var(--color-border-subtle)}.phase-status-title{margin-bottom:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold)}.phase-status-meta{color:var(--color-text-tertiary);font-size:11px}.storyline-header{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;display:flex}.storyline-title{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.storyline-meta{color:var(--color-text-tertiary);font-size:11px}.scene-card{cursor:pointer;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.scene-card:hover{background:var(--color-bg-hover)}.scene-card.selected{border-left:2px solid var(--color-accent);background:var(--color-accent-soft)}.scene-card-header{margin-bottom:calc(var(--spacing) * .5);align-items:center;gap:calc(var(--spacing) * 2);display:flex}.scene-badge{padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);border-radius:3px;padding-block:1px}.scene-name{--tw-font-weight:var(--font-weight-medium);font-size:13px;font-weight:var(--font-weight-medium);letter-spacing:-.01em}.scene-sub{padding-left:calc(var(--spacing) * 1);color:var(--color-text-tertiary);font-size:11px}.scene-workbench{padding-bottom:calc(var(--spacing) * 12)}.workbench-empty{padding:calc(var(--spacing) * 16);text-align:center;color:var(--color-text-tertiary)}.workbench-title{padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-semibold);font-size:16px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.workbench-meta{align-items:center;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 1);padding-bottom:calc(var(--spacing) * 4);color:var(--color-text-secondary);font-size:12px;display:flex}.map-workbench-area{border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.map-workbench-placeholder{padding:calc(var(--spacing) * 16);text-align:center;color:var(--color-text-tertiary)}.placeholder-text{margin-bottom:calc(var(--spacing) * 1);font-size:14px}.placeholder-detail{opacity:.6;font-size:11px}.step-section{padding-inline:calc(var(--spacing) * 4)}.step-section-title{margin-bottom:calc(var(--spacing) * 1);padding-top:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);border-bottom:1px solid var(--color-border-subtle);letter-spacing:-.01em}.step-item{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);border-bottom:1px solid var(--color-border-subtle)}.step-header{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.step-index{min-width:calc(var(--spacing) * 6);font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:11px}.step-label{--tw-font-weight:var(--font-weight-medium);font-size:13px;font-weight:var(--font-weight-medium);letter-spacing:-.01em}.step-instr-count{color:var(--color-text-tertiary);margin-left:auto;font-size:10px}.weak-step{opacity:.5}.step-detail{margin-top:calc(var(--spacing) * 1)}.step-offsets{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:10px}.instr-summary{margin-top:calc(var(--spacing) * .5);font-family:var(--font-mono);color:var(--color-text-secondary);font-size:11px}.collapsible-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.collapsible-trigger:hover{color:var(--color-accent)}.collapsible-content{padding-block:calc(var(--spacing) * 2)}.narrative-card{margin-block:calc(var(--spacing) * 1);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);overflow:hidden}.narrative-card-header{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.narrative-card-body{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2)}.image-card-preview img{image-rendering:pixelated;display:block}.image-card-empty{padding:calc(var(--spacing) * 8);text-align:center;color:var(--color-text-tertiary);font-size:12px}.narrative-info-display{margin-block:calc(var(--spacing) * 1)}.info-text{padding:calc(var(--spacing) * 2.5);--tw-leading:1.65;white-space:pre-wrap;color:var(--color-text-primary);font-size:13px;line-height:1.65}.content-stat-strip{margin-block:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 1.5);flex-wrap:wrap;display:flex}.content-stat{align-items:center;gap:calc(var(--spacing) * 1);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);font-size:11px;display:inline-flex}.content-stat strong{color:var(--color-text-primary)}.content-stat.muted{color:var(--color-text-tertiary)}.content-summary-grid{margin-block:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.content-summary-card{border-radius:var(--radius-md);padding:calc(var(--spacing) * 2);border:1px solid var(--color-border-subtle);background:#ffffff06}.content-summary-title{margin-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.content-summary-line{padding-block:calc(var(--spacing) * .5);--tw-leading:var(--leading-relaxed);font-size:12px;line-height:var(--leading-relaxed);color:var(--color-text-primary)}.content-summary-line span{margin-right:calc(var(--spacing) * 1.5);font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:10px}.instr-row{gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);font-family:var(--font-mono);font-size:11px;display:flex}.instr-row .instr-offset{color:var(--color-phy-section-table);min-width:70px}.instr-row .instr-opcode{color:var(--color-phy-instruction);min-width:32px}.instr-row .instr-mnemonic{color:var(--color-text-primary);flex:1}.instr-row .instr-raw{color:var(--color-text-tertiary)}.source-badge-r3{color:var(--color-success);background:#3dd68c1a;border:1px solid #3dd68c33}.source-badge-json{color:var(--color-warning);background:#f5b84d1a;border:1px solid #f5b84d33}.dot-r3{background:var(--color-success)}.dot-json{background:var(--color-warning)}.empty-state,.loading-overlay{padding:calc(var(--spacing) * 16);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.chapter-empty{text-align:center;--tw-leading:var(--leading-loose);font-size:14px;line-height:var(--leading-loose);color:var(--color-text-secondary)}.chapter-empty-detail{opacity:.5;font-size:12px}@media (width<=1180px){.panel-left{width:240px;min-width:232px}.panel-hex:not(.hex-collapsed){width:360px;min-width:320px;max-width:360px}.panel-center,#detail-area{padding:16px}.tab-btn{padding-left:12px;padding-right:12px}}@media (width<=900px){.app-topbar{height:40px;padding-left:12px;padding-right:12px}.app-topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 96px);font-size:13px;overflow:hidden}.app-topbar-icon{width:22px;height:22px}.app-build-meta{font-size:10px}.tab-nav{scroll-snap-type:x proximity;height:42px;padding-left:8px;padding-right:8px;overflow:auto hidden}.tab-btn{scroll-snap-align:start;flex:none;padding:7px 11px;font-size:12px}.tab-status-spacer{flex:0 0 8px;min-width:8px}.tab-source-status{flex:none;padding-right:0}.main-layout{flex-direction:column;height:calc(100dvh - 82px);overflow:hidden auto}.panel-left{border-right:0;border-bottom:1px solid var(--color-border-subtle);flex:none;width:100%;min-width:0;max-width:none;height:clamp(260px,46dvh,420px);min-height:240px}.tree-scroll{overflow-x:hidden}.mode-toggle{padding:6px 8px}.mode-toggle-btn{min-height:32px}.tr{width:100%;min-height:28px;padding-top:4px;padding-bottom:4px;padding-right:10px}.tr-l0{padding-left:8px}.tr-l1{padding-left:18px}.tr-l2{padding-left:28px}.tr-l3{padding-left:38px}.tr-l4{padding-left:48px}.tl{font-size:12px}.tree-node-main{gap:3px}.tr-two-line .tl{-webkit-line-clamp:2}.scene-filter-dock{padding:7px 8px}.scene-filter-chip{height:30px}.panel-center,#detail-area{flex:none;width:100%;min-height:58vh;padding:14px;overflow:visible}.detail-header{margin-bottom:12px;padding-bottom:10px}.detail-meta{grid-template-columns:80px minmax(0,1fr);column-gap:12px}.content-summary-grid{grid-template-columns:1fr}.field-table,.mapping-table,.mmap-unit-table,.zmap-unit-table{white-space:nowrap;display:block;overflow-x:auto}.pmap-canvas-wrap,.mmap-canvas-wrap{min-height:180px;max-height:70vh;padding:8px}.pmap-canvas-wrap{justify-content:flex-start}.pmap-viz,.mmap-viz,.zmap-viz{border-radius:var(--radius-md)}.dialogue-entry{gap:10px;padding:10px}.dialogue-portrait,.dialogue-portrait img,.dialogue-portrait-placeholder{width:48px;height:60px}.panel-hex{border-left:0;border-top:1px solid var(--color-border-subtle);width:100%;min-width:0;max-width:none;height:34vh;min-height:240px}.panel-hex.hex-collapsed{width:100%;min-width:0;max-width:none;height:38px;min-height:38px}.panel-hex.hex-collapsed .hex-panel-toolbar{flex-direction:row;height:38px;padding-top:0;padding-bottom:0}.panel-hex.hex-collapsed .hex-panel-title{writing-mode:horizontal-tb}.hex-panel-toolbar{height:38px}.hex-line{font-size:11px}.hex-offset{width:52px;padding-right:8px}.hex-ann-tech{min-width:160px}.narrative-view{height:calc(100vh - 82px)}.narrative-body{flex-direction:column;overflow-y:auto}.narrative-left{border-right:0;border-bottom:1px solid var(--color-border-subtle);width:100%;max-height:34vh}.narrative-right{overflow:visible}}@media (width<=560px){.app-topbar{height:38px}.app-topbar-brand{gap:8px}.app-topbar-title{max-width:calc(100vw - 72px);font-size:12px}.app-build-meta,.app-topbar .text-\[12px\]{display:none}.tab-nav{height:40px}.tab-file{margin-top:1px;margin-left:0;font-size:9px;display:block}.tab-btn{text-align:center;min-width:72px;padding:5px 9px;line-height:1.15}.source-badge-top{padding:4px 7px}.main-layout{height:calc(100dvh - 78px)}.panel-left{height:clamp(270px,52dvh,380px);min-height:250px}.tree-node-row{gap:4px}.tree-node-tags{justify-content:flex-start}.tr-two-line .tl{-webkit-line-clamp:3}.scene-filter-lens{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-center,#detail-area{padding:11px}.detail-header h2{font-size:15px;line-height:1.35}.detail-meta{grid-template-columns:1fr;row-gap:4px}.detail-meta dt{font-size:11px}.detail-meta dd{border-bottom:1px solid var(--color-border-subtle);padding-bottom:4px}.content-stat-strip{gap:5px}.content-stat{padding:4px 7px;font-size:10px}.pmap-viz-header,.mmap-viz-header,.zmap-viz-header{padding:8px 10px;font-size:11px}.pmap-scene-list,.mmap-path-summary{flex-wrap:wrap;gap:8px;font-size:11px}.dialogue-entry{align-items:flex-start}.dialogue-text .text,.snr0m-text{font-size:12px;line-height:1.7}.instr-item{padding:8px 9px}.instr-item-header{flex-wrap:wrap;align-items:flex-start}.instr-mnemonic{min-width:160px}.panel-hex{height:42vh}.hex-byte{width:18px}.narrative-header{padding-left:12px;padding-right:12px}.phase-tabs{overflow-x:auto}.phase-tab{flex:none;padding-left:12px;padding-right:12px}}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-6{z-index:6}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-full{height:100%}.h-screen{height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-bg-primary{background-color:var(--color-bg-primary)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-16{padding:calc(var(--spacing) * 16)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1{padding-block:calc(var(--spacing) * 1)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-\[XXpx\]{padding-left:XXpx}.text-center{text-align:center}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-text-secondary{color:var(--color-text-secondary)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-app);color:var(--color-text-primary)}::selection{color:var(--color-text-primary);background:#4f8fff40}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}button:focus-visible{outline-offset:-1px}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.main-layout{animation:.25s ease-out fadeIn}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}a{color:var(--color-accent);text-decoration:none;transition:color .15s}a:hover{color:var(--color-accent-hover)}.spinner{border:2px solid #ffffff1a;border-top-color:var(--color-accent);border-radius:50%;width:18px;height:18px;margin-right:10px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
