.help-modal{font-family:var(--font-family)}.help-modal-content{background:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.help-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.help-modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.help-modal-close{background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.5rem;border-radius:var(--border-radius-sm);transition:var(--transition-fast)}.help-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.keyboard-help h3{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.keyboard-help ul{list-style:none;padding:0;margin:0 0 1.5rem}.keyboard-help li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.keyboard-help li:last-child{border-bottom:none}.keyboard-help kbd{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:.25rem .5rem;font-family:var(--font-mono);font-size:.875rem;color:var(--text-primary);box-shadow:0 1px 2px rgba(0,0,0,.1)}.keyboard-help span{color:var(--text-secondary);font-size:.875rem;margin-left:1rem}.error-line{background-color:rgba(244,67,54,.1);border-left:3px solid var(--error-color);padding-left:.5rem;animation:1.5s ease-in-out errorPulse}@keyframes errorPulse{0%{background-color:rgba(244,67,54,.3)}50%{background-color:rgba(244,67,54,.1)}100%{background-color:rgba(244,67,54,.2)}}.content-area.drag-over{border:2px dashed var(--primary-color);background-color:rgba(76,175,80,.05);transition:var(--transition-fast)}.loading{position:relative;pointer-events:none}.loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.notification{font-family:var(--font-family);font-size:.875rem;line-height:1.4;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:3000}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:focus-visible,.json-editor:focus-visible,.setting-control:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast:high){.btn{border:2px solid currentColor}.btn:focus-visible{outline-width:3px}.keyboard-help kbd{border-width:2px}}@media (prefers-reduced-motion:reduce){.btn,.error-line,.help-modal-content,.notification{transition:none;animation:none}.loading::after{animation:none;border-top-color:transparent}}@media print{.file-drop-overlay,.help-modal,.notification,.settings-panel,.toolbar{display:none!important}.content-area{box-shadow:none;border:1px solid #000}}.compact-mode .app-header{padding:1rem .5rem}.compact-mode .app-title{font-size:1.5rem}.compact-mode .tagline{font-size:.85rem}.compact-mode .toolbar{padding:.5rem;min-height:auto}.compact-mode .btn{padding:.375rem .75rem;font-size:.8rem}.compact-mode .content-area{min-height:300px}.compact-mode .json-editor,.compact-mode .json-output{font-size:12px;padding:.75rem}.compact-mode .info-panel,.compact-mode .status-bar{padding:.375rem .5rem;font-size:.75rem}@media (max-width:768px){.help-modal-content{margin:1rem;max-width:calc(100% - 2rem);max-height:calc(100vh - 2rem)}.help-modal-header{padding:1rem}.help-modal-header h2{font-size:1.25rem}.help-modal-body{padding:1rem}.keyboard-help li{flex-direction:column;align-items:flex-start;gap:.5rem}.keyboard-help span{margin-left:0}}[data-theme=dark] .help-modal-content{box-shadow:0 10px 25px rgba(0,0,0,.5)}[data-theme=dark] .keyboard-help kbd{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:0 1px 2px rgba(0,0,0,.3)}.btn,.content-area,.json-editor,.json-output{will-change:transform}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden{position:absolute;opacity:0;pointer-events:none}::selection{background-color:var(--primary-color);color:var(--text-inverse)}::-moz-selection{background-color:var(--primary-color);color:var(--text-inverse)}.json-editor::-webkit-scrollbar,.json-output::-webkit-scrollbar{width:12px;height:12px}.json-editor::-webkit-scrollbar-track,.json-output::-webkit-scrollbar-track{background:var(--bg-secondary)}.json-editor::-webkit-scrollbar-thumb,.json-output::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:6px;border:2px solid var(--bg-secondary)}.json-editor::-webkit-scrollbar-thumb:hover,.json-output::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.cm-editor{font-family:var(--font-mono);font-size:var(--font-size, 14px);line-height:1.5}.cm-focused{outline:0}.cm-selectionBackground{background:var(--bg-code-selection,#264f78)}.tooltip{position:relative}.tooltip::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--bg-tertiary);color:var(--text-primary);padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:1000}.tooltip:hover::after{opacity:1}