.linguascript-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0a0a0a;border-bottom:1px solid #333;min-height:44px}.copy-button{flex-shrink:0;padding:.375rem .75rem;border:1px solid #5c8bc4;border-radius:6px;background:#2d3748;color:#ccc;font-size:.8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.375rem}.copy-button:hover:not(:disabled){background:#3d4a5c;color:#fff}.copy-button:disabled{opacity:.4;cursor:not-allowed;border-color:#444}.copy-icon{font-size:1rem}.copy-label{font-size:.75rem}.code-container{flex:1;overflow-x:auto;white-space:nowrap;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.4}.bar-code{color:#fff}.bar-placeholder{color:#555;font-style:italic}.token.wrapper{color:#d33682;font-weight:600}.token.interrogative{color:#dc322f;font-weight:600}.token.tense-aspect{color:#6c71c4}.token.adverb-wrapper{color:#2aa198}.token.noun-builder{color:#268bd2}.token.semantic-role{color:#cb4b16}.token.modality{color:#b58900}.token.meta-value{color:#859900;font-style:italic}.token.literal{color:#859900}.token.operator{color:#93a1a1}.token.punctuation{color:#657b83}.token.comment{color:#93a1a1;font-style:italic}.linguascript-view-container{flex:1;background:#fdf6e3;padding:1.5rem;overflow:auto}.linguascript-view-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.95rem;line-height:1.6;color:#657b83;margin:0}.linguascript-view-code.line-numbers{display:table}.code-line{display:table-row}.line-number{display:table-cell;text-align:right;padding-right:1rem;-webkit-user-select:none;user-select:none;color:#93a1a1;font-size:.8rem;min-width:2rem;opacity:.6}.line-content{display:table-cell;white-space:pre}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#1e2433;color:#e8eaed}.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:linear-gradient(135deg,#252d3a,#1e2433);border-bottom:1px solid #3a4556}.header-left{display:flex;flex-direction:column}.header h1{font-size:1.25rem;font-weight:600;color:#e8eaed}.subtitle{font-size:.75rem;color:#888;margin-top:.125rem}.header-center{display:flex;align-items:center}.mode-tabs{display:flex;gap:.25rem;background:#2d3748;padding:.25rem;border-radius:8px}.mode-tab{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:#888;font-size:.875rem;cursor:pointer;transition:all .2s;outline:none}.mode-tab:hover:not(:disabled):not(.active){background:#3d4a5c;color:#fff}.mode-tab.active,.mode-tab.active:focus,.mode-tab.active:hover{background:#5c8bc4;color:#fff}.mode-tab:disabled{cursor:not-allowed;opacity:.5}.header-right{display:flex;align-items:center;gap:1rem}.locale-selector{padding:.375rem .75rem;border:1px solid #5c8bc4;border-radius:6px;background:#2d3748;color:#fff;font-size:.875rem;cursor:pointer;outline:none;transition:background-color .2s}.locale-selector:hover{background:#3d4a5c}.locale-selector:focus{background:#3d4a5c}.locale-selector option{background:#2d3748;color:#fff}.side-panel-toggle{padding:.375rem .625rem;border:1px solid #5c8bc4;border-radius:6px;background:#2d3748;color:#ccc;font-size:1rem;cursor:pointer;transition:all .2s}.side-panel-toggle:hover{background:#3d4a5c;color:#fff}.side-panel-toggle.active{background:#3d4a5c;color:#6c9bcf}.toggle-icon{font-weight:700}.main{display:flex;flex-direction:column;flex:1;overflow:hidden}.editor-area{flex:1 1 0;min-height:200px;display:flex;overflow:hidden}.main-editor{flex:1;min-width:0;display:flex}.workspace-container{flex:1;background:#f5f5f5;min-width:0}.ast-view{flex:1;background:#0a0a1a;padding:1.5rem;overflow:auto}.ast-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5;color:#8be9fd;white-space:pre-wrap;word-wrap:break-word;margin:0}.side-panel{width:320px;background:#252d3a;border-left:1px solid #3a4556;display:flex;flex-direction:column}.side-panel-tabs{display:flex;background:#2d3748;padding:.25rem;gap:.25rem}.side-tab{flex:1;padding:.5rem .75rem;border:none;border-radius:4px;background:transparent;color:#888;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.side-tab:hover:not(.active){background:#3d4a5c;color:#ccc}.side-tab.active{background:#5c8bc4;color:#fff}.side-panel-header{padding:.75rem 1rem;border-bottom:1px solid #3a4556}.side-panel-header h3{font-size:.875rem;font-weight:600;color:#e8eaed;text-transform:uppercase;letter-spacing:.05em}.side-panel-content{flex:1;padding:.75rem;overflow:auto;background:#3a4556}.artifact-panel{width:100%;height:100%}.artifact-panel iframe{border:none;border-radius:4px}.coming-soon{color:#666;font-style:italic;font-size:.875rem}.bottom-panel{display:flex;flex:0 0 auto;min-height:80px;border-top:1px solid #3a4556;background:#252d3a}.output-panel{flex:1;display:flex;flex-direction:column;overflow:auto}.output-panel.dual{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.75rem 1rem 1.25rem}.output-section{padding:.5rem 1rem;border-bottom:1px solid #3a4556}.output-panel.dual .output-section{padding:0;border-bottom:none}.output-section:last-child{border-bottom:none}.output-section h2,.output-section h3{font-size:.7rem;font-weight:600;color:#e8eaed;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.output-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.output-header h3{margin-bottom:0}.speak-button{display:flex;align-items:center;gap:.25rem;background:transparent;border:none;cursor:pointer;padding:.125rem .375rem;color:#5c8bc4;font-size:.7rem;font-weight:500;transition:color .15s}.speak-button:hover{color:#7aa3d4}.speak-button:active{opacity:.8}.sentence-output{font-size:1rem;font-weight:500;color:#fff;padding:.375rem .75rem;background:#2d3748;border-radius:6px;min-height:2.75rem;line-height:1.4;display:flex;flex-direction:column;justify-content:center;gap:.125rem}.placeholder{color:#666;font-style:italic;font-weight:400;font-size:.875rem}.console-output{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:#f1fa8c;background:#0a0a1a;padding:.75rem;border-radius:6px;min-height:80px;overflow:auto}.console-placeholder{color:#666;font-style:italic}.console-section-changes,.console-section-rules{padding:.5rem 1rem}.console-section-changes{border-bottom:1px solid #3a4556}.console-section-changes h3,.console-section-rules h3{font-size:.7rem;font-weight:600;color:#888;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.console-changes{min-height:40px;background:#0a1628}.console-rules{min-height:60px}.block-change{color:#8be9fd;padding:2px 0}.grammar-log{margin-bottom:8px;border-left:2px solid #444;padding:4px 0 4px 8px}.grammar-log:last-child{margin-bottom:0}.log-condition{color:#888;font-size:.75rem;margin-bottom:2px}.log-result{color:#f1fa8c;font-size:.85rem}.blocklyToolboxDiv{background:#252d3a!important}.blocklyTreeRow{padding:8px 16px!important}.blocklyTreeRowContentContainer{color:#000!important}.blocklyMenuItemDisabled{color:#999!important;cursor:not-allowed!important;font-style:italic;background-color:#f8f8f8!important}.blocklyMenuItemDisabled:hover{background-color:#f0f0f0!important}.disabledReason{display:block;font-size:10px;color:#c66;margin-top:2px;font-style:normal;padding-left:4px}.visualization-panel{display:flex;flex-direction:column;gap:1.5rem}.coming-soon-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#718096;text-align:center}.coming-soon-icon{font-size:2rem;margin-bottom:.5rem}.coming-soon-text{font-size:.875rem;font-style:italic}.viz-section{background:#2d3748;border-radius:8px;padding:1rem}.viz-section h4{font-size:.75rem;font-weight:600;color:#e8eaed;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.tense-timeline{width:100%;height:70px;margin-bottom:.75rem}.tense-timeline.reichenbach{height:80px}.tense-timeline text{fill:#888;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.timeline-marker.active text{fill:#fff;font-weight:600}.tense-aspect-label{text-align:center;font-size:.85rem;color:#fff;padding:.5rem;background:#1a365d;border-radius:6px;text-transform:capitalize}.prep-group{margin-bottom:.75rem}.prep-group:last-child{margin-bottom:0}.prep-group-label{display:block;font-size:.65rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.prep-items{display:flex;flex-wrap:wrap;gap:.375rem}.prep-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.375rem;background:#2d3748;border-radius:6px;border:1px solid transparent;min-width:48px;transition:all .2s}.prep-item.active{background:#3d4a5c;border-color:#5c8bc4}.prep-icon{width:32px;height:32px}.prep-label{font-size:.65rem;color:#888}.prep-item.active .prep-label{color:#fff;font-weight:600}.grammar-panel{display:flex;flex-direction:column;gap:1rem;height:100%}.grammar-notification{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;background:#422006;border:1px solid #f59e0b;border-radius:6px;color:#fbbf24;font-size:.85rem}.grammar-notification .notification-icon{font-size:1rem}.grammar-notification .notification-text{flex:1}.grammar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 0;color:#666;gap:.5rem}.grammar-empty .empty-icon{font-size:1.5rem;color:#64748b}.grammar-empty .empty-text{font-size:.8rem;font-style:italic;color:#64748b}.grammar-steps{display:flex;flex-direction:column;gap:.5rem}.grammar-step{background:#1e293b;border-radius:6px;padding:.5rem .75rem;border:1px solid #334155}.step-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.step-type{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.125rem .375rem;border-radius:3px;color:#fff}.step-content{display:flex;flex-direction:column;gap:.25rem}.step-transformation{display:flex;align-items:center;gap:.375rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem}.step-before{color:#888}.step-arrow{color:#e94560;font-weight:700}.step-after{color:#fff;font-weight:500}.step-trigger{font-size:.7rem;color:#888;font-style:italic}.dictionary-panel{display:flex;flex-direction:column;height:100%;gap:.5rem}.dict-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:#2d3748;border-radius:6px}.dict-count{font-size:.8rem;color:#888}.dict-actions{display:flex;gap:.25rem}.dict-btn{padding:.25rem .5rem;font-size:.75rem;background:#3d4a5c;border:none;border-radius:4px;color:#ccc;cursor:pointer;transition:all .15s}.dict-btn:hover{background:#4a5568;color:#fff}.dict-btn-add{font-size:1rem;font-weight:700;padding:.25rem .5rem;color:#5c8bc4}.dict-btn-submit{background:#5c8bc4;color:#fff;width:100%}.dict-btn-submit:hover{background:#7aa3d4}.dict-add-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#2d3748;border-radius:6px}.dict-form-row{display:flex;gap:.5rem}.dict-input{flex:1;padding:.5rem;font-size:.85rem;background:#1a202c;border:1px solid #4a5568;border-radius:4px;color:#fff}.dict-input:focus{outline:none;border-color:#5c8bc4}.dict-select{flex:1;padding:.5rem;font-size:.8rem;background:#1a202c;border:1px solid #4a5568;border-radius:4px;color:#fff}.dict-select:focus{outline:none;border-color:#5c8bc4}.dict-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#ccc}.dict-checkbox input{width:16px;height:16px}.dict-tabs{display:flex;gap:.25rem;padding:.25rem;background:#1a202c;border-radius:6px}.dict-tab{flex:1;padding:.375rem .5rem;font-size:.75rem;background:transparent;border:none;border-radius:4px;color:#888;cursor:pointer;transition:all .15s}.dict-tab:hover{color:#ccc}.dict-tab.active{background:#3d4a5c;color:#fff}.dict-word-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.dict-word-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#2d3748;border-radius:4px}.dict-word-lemma{flex:1;font-size:.9rem;color:#fff;font-weight:500}.dict-word-info{font-size:.7rem;color:#888}.dict-word-remove{padding:.125rem .375rem;font-size:.9rem;background:transparent;border:none;border-radius:4px;color:#888;cursor:pointer;transition:all .15s}.dict-word-remove:hover{background:#e94560;color:#fff}.dict-empty{padding:2rem;text-align:center;color:#888;font-size:.85rem}
