:root{font-family:Courier New,Courier,monospace;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px}*{box-sizing:border-box}.mix-word{display:flex;align-items:center;gap:6px;font-family:Courier New,Courier,monospace;font-size:13px}.mix-word--compact{font-size:12px;gap:4px}.mix-word__label{min-width:28px;text-align:right;color:#555;font-size:11px}.mix-word__cells{display:flex;border:1px solid #333;background:#fff}.mix-word__sign{display:inline-flex;align-items:center;justify-content:center;width:20px;height:24px;border-right:1px solid #333;font-weight:700;background:#f0f0f0}.mix-word__byte{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border-right:1px solid #999;text-align:center}.mix-word__byte:last-child{border-right:none}.mix-word__byte--packed{border-right:1px dashed #ccc}.mix-word__value{min-width:80px;text-align:right;color:#666;font-size:11px}.mix-word--compact .mix-word__sign{width:16px;height:20px;font-size:12px}.mix-word--compact .mix-word__byte{width:22px;height:20px;font-size:11px}.mix-word--compact .mix-word__value{min-width:60px;font-size:10px}@media(max-width:768px){.mix-word__sign{width:16px;height:20px;font-size:12px}.mix-word__byte{width:22px;height:20px;font-size:11px}.mix-word__value{min-width:50px;font-size:10px}.mix-word__label{min-width:22px;font-size:10px}.mix-word--compact .mix-word__sign{width:14px;height:18px;font-size:11px}.mix-word--compact .mix-word__byte{width:18px;height:18px;font-size:10px}.mix-word--compact .mix-word__value{min-width:44px;font-size:9px}}.register-panel{background:#f8f8f8;border:1px solid #ccc;border-radius:4px;padding:10px}.register-panel__title{margin:0 0 8px;font-size:14px;font-family:Courier New,Courier,monospace;color:#333;border-bottom:1px solid #ddd;padding-bottom:4px}.register-panel__group{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.register-panel__index{border-top:1px solid #eee;border-bottom:1px solid #eee;padding:6px 0}.memory-panel{background:#f8f8f8;border:1px solid #ccc;border-radius:4px;padding:10px;max-height:calc(100vh - 140px);overflow:hidden}.memory-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;border-bottom:1px solid #ddd;padding-bottom:4px}.memory-panel__title{margin:0;font-size:14px;font-family:Courier New,Courier,monospace;color:#333}.memory-panel__goto-pc{font-family:Courier New,Courier,monospace;font-size:11px;padding:2px 6px;background:#e0e0e0;border:1px solid #999;border-radius:3px;cursor:pointer}.memory-panel__goto-pc:hover{background:#d0d0d0}.memory-panel__content{display:flex;gap:6px}.memory-panel__rows{display:flex;flex-direction:column;gap:1px}.memory-panel__row{display:flex;align-items:center;gap:6px;padding:1px 4px;border-radius:2px}.memory-panel__row--pc{background:#ffc;border:1px solid #cc9}.memory-panel__addr{font-family:Courier New,Courier,monospace;font-size:11px;color:#666;min-width:44px}.memory-panel__scrollbar{writing-mode:vertical-lr;direction:rtl;width:18px;height:100%;cursor:pointer}@media(max-width:768px){.memory-panel{max-height:none;overflow:visible}.memory-panel__addr{min-width:36px;font-size:10px}}.indicator{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f8f8f8;border:1px solid #ccc;border-radius:4px;font-family:Courier New,Courier,monospace}.indicator__lights{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.comparison-indicator .indicator__lights{width:50px;height:40px}.indicator__light{width:16px;height:16px;border-radius:50%;border:1px solid #333;display:flex;align-items:center;justify-content:center;font-size:10px;font-style:italic;background:#e8e8e8}.comparison-indicator .indicator__light--e{position:absolute;top:0;left:17px}.comparison-indicator .indicator__light--l{position:absolute;bottom:0;left:6px}.comparison-indicator .indicator__light--g{position:absolute;bottom:0;right:6px}.indicator__light--on{background:#4caf50;border-color:#2e7d32}.indicator__light--overflow{width:18px;height:18px}.indicator__light--overflow-on{background:#f44336;border-color:#c62828}.indicator__label{font-size:11px;color:#333;line-height:1.3}.input-console{display:flex;flex-direction:column;background:#f8f8f8;border:1px solid #ccc;border-radius:4px;padding:10px}.input-console__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;border-bottom:1px solid #ddd;padding-bottom:6px}.input-console__title{margin:0;font-size:14px;font-family:Courier New,Courier,monospace;color:#333}.input-console__actions{display:flex;gap:6px}.input-console__sample-select{font-family:Courier New,Courier,monospace;font-size:11px;padding:3px 6px;border:1px solid #999;border-radius:3px;background:#fff}.input-console__assemble-btn{font-family:Courier New,Courier,monospace;font-size:12px;font-weight:700;padding:4px 12px;background:#4caf50;color:#fff;border:1px solid #388e3c;border-radius:3px;cursor:pointer}.input-console__assemble-btn:hover{background:#43a047}.input-console__editor{width:100%;min-height:200px;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.4;padding:8px;border:1px solid #999;border-radius:3px;background:#fff;resize:vertical;tab-size:8;box-sizing:border-box}.input-console__errors{margin-top:6px;padding:6px;background:#fff3f3;border:1px solid #f44336;border-radius:3px}.input-console__error{font-family:Courier New,Courier,monospace;font-size:11px;color:#c62828;padding:2px 0}@media(max-width:768px){.input-console__header{flex-wrap:wrap;gap:6px}.input-console__editor{min-height:140px;font-size:12px}}.line-printer{background:#f8f8f8;border:1px solid #ccc;border-radius:4px;padding:10px}.line-printer__title{margin:0 0 6px;font-size:14px;font-family:Courier New,Courier,monospace;color:#333;border-bottom:1px solid #ddd;padding-bottom:4px}.line-printer__paper{background:#fffff5;border:1px solid #ccc;border-radius:2px;padding:8px;min-height:60px;max-height:200px;overflow:auto;font-family:Courier New,Courier,monospace;font-size:13px}.line-printer__empty{color:#999;font-style:italic;font-size:12px}.line-printer__line{white-space:pre;line-height:1.4}@media(max-width:768px){.line-printer__paper{font-size:11px;max-height:150px}}.control-console{background:#f8f8f8;border:1px solid #ccc;border-radius:4px;padding:10px}.control-console__title{margin:0 0 8px;font-size:14px;font-family:Courier New,Courier,monospace;color:#333;border-bottom:1px solid #ddd;padding-bottom:4px}.control-console__buttons{display:flex;gap:6px;margin-bottom:8px}.control-console__btn{font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700;padding:6px 16px;border-radius:3px;cursor:pointer;border:1px solid #999}.control-console__btn:disabled{opacity:.5;cursor:not-allowed}.control-console__btn--step{background:#2196f3;color:#fff;border-color:#1565c0}.control-console__btn--step:hover:not(:disabled){background:#1e88e5}.control-console__btn--go{background:#4caf50;color:#fff;border-color:#388e3c}.control-console__btn--go:hover:not(:disabled){background:#43a047}.control-console__btn--stop{background:#ff9800;color:#fff;border-color:#e65100}.control-console__btn--stop:hover{background:#fb8c00}.control-console__btn--reset{background:#f44336;color:#fff;border-color:#c62828}.control-console__btn--reset:hover:not(:disabled){background:#e53935}.control-console__speed{display:flex;align-items:center;gap:8px;margin-bottom:8px}.control-console__speed-label{font-family:Courier New,Courier,monospace;font-size:12px;color:#555}.control-console__speed-slider{flex:1;cursor:pointer}.control-console__speed-slider:disabled{cursor:not-allowed;opacity:.5}.control-console__speed-value{font-family:Courier New,Courier,monospace;font-size:11px;color:#555;min-width:50px;text-align:right}.control-console__status{display:flex;gap:16px;font-family:Courier New,Courier,monospace;font-size:12px;color:#555}.control-console__running{color:#4caf50;font-weight:700}.control-console__halted{color:#f44336;font-weight:700}@media(max-width:768px){.control-console__buttons{flex-wrap:wrap}.control-console__btn{padding:6px 12px;font-size:12px}}.app{max-width:1400px;margin:0 auto;padding:12px;font-family:Courier New,Courier,monospace;color:#333}.app__header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#2c3e50;color:#fff;border-radius:6px;margin-bottom:12px}.app__logo{height:40px;border-radius:4px}.app__header-text{flex:1}.app__header-text h1{margin:0;font-size:20px}.app__header-text p{margin:2px 0 0;font-size:12px;opacity:.8}.app__info-btn{font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700;padding:6px 16px;background:#7f8c8d;color:#fff;border:1px solid #6c7a7b;border-radius:4px;cursor:pointer}.app__info-btn:hover{background:#95a5a6}.app__main{display:grid;grid-template-columns:1fr 320px 1fr;gap:12px;align-items:start}.app__left{display:flex;flex-direction:column;gap:12px;min-width:0}.app__center{display:flex;flex-direction:column;gap:10px}.app__right{display:flex;flex-direction:column;gap:12px;min-width:0}.app__indicators{display:flex;gap:8px}.app__error{background:#fff3f3;border:1px solid #f44336;border-radius:4px;padding:8px 12px;font-size:12px;color:#c62828}.app__footer{margin-top:16px;padding:10px;text-align:center;font-size:11px;color:#999;border-top:1px solid #eee}.app__modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.app__modal{background:#fff;border-radius:6px;padding:16px;max-width:90%;max-height:90%;overflow:auto;text-align:center}.app__info-img{max-width:100%;height:auto;border-radius:4px}.app__modal-link{margin:10px 0 0;font-family:Courier New,Courier,monospace;font-size:13px}.app__modal-link a{color:#2c3e50}.app__modal-close{font-family:Courier New,Courier,monospace;font-size:13px;font-weight:700;margin-top:12px;padding:6px 24px;background:#7f8c8d;color:#fff;border:1px solid #6c7a7b;border-radius:4px;cursor:pointer}.app__modal-close:hover{background:#95a5a6}@media(max-width:768px){.app{padding:6px}.app__header{padding:8px 10px;gap:8px}.app__header-text h1{font-size:16px}.app__header-text p{font-size:10px}.app__main{grid-template-columns:1fr}.app__left{order:1}.app__center{order:2}.app__right{order:3}.app__footer{font-size:10px}}
