.tiptap{padding:1rem;min-height:400px;border:1px solid #444;border-radius:4px;background:#1e1e1e;color:#e0e0e0;outline:none;font-size:16px;line-height:1.6;overflow:hidden}.tiptap:focus{border-color:#6a9fb5}.tiptap:after{content:"";display:table;clear:both}.tiptap h1,.tiptap h2,.tiptap h3{color:#fff;margin:1em 0 .5em;clear:both}.tiptap h1{font-size:1.8em}.tiptap h2{font-size:1.4em}.tiptap h3{font-size:1.15em}.tiptap p{margin:.5em 0}.tiptap blockquote{border-left:3px solid #6a9fb5;padding-left:1em;margin-left:0;color:#aaa}.tiptap ul,.tiptap ol{padding-left:1.5em}.tiptap hr{border:none;border-top:1px solid #444;margin:1.5em 0}.tiptap code{background:#2d2d2d;padding:.15em .3em;border-radius:3px;font-size:.9em}.tiptap table{border-collapse:collapse;width:100%;margin:1em 0}.tiptap th,.tiptap td{border:1px solid #444;padding:.5em;text-align:left}.tiptap th{background:#2d2d2d;font-weight:600}.tiptap img{max-width:100%;height:auto}.tiptap .image-node-view{max-width:100%;display:block;margin:1em 0;overflow:hidden}.tiptap .image-node-view img{max-width:100%;height:auto;display:block}.tiptap .image-node-view[data-float=left],.tiptap .image-node-view[data-float=right]{max-width:50%}.tiptap .image-node-view[data-float=left]{float:left;margin:0 1em 1em 0}.tiptap .image-node-view[data-float=right]{float:right;margin:0 0 1em 1em}.tiptap .image-node-view[data-alignment=center]{margin-left:auto;margin-right:auto}.tiptap .image-node-view[data-alignment=right]{margin-left:auto;margin-right:0}.tiptap .image-node-view.image-selected{outline:3px solid #6a9fb5;outline-offset:3px;border-radius:2px}.tiptap .image-node-view.image-uploading{opacity:.7}.tiptap .image-upload-placeholder{display:flex;align-items:center;justify-content:center;width:300px;height:150px;background:#2d2d2d;border:2px dashed #555;border-radius:4px;color:#888;font-size:.9rem;animation:upload-pulse 1.5s ease-in-out infinite}@keyframes upload-pulse{0%,to{opacity:.5}50%{opacity:1}}.tiptap .image-node-view .image-caption{font-size:.85rem;color:#999;text-align:center;margin-top:.25rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#121212;color:#e0e0e0;line-height:1.5}a{color:#6a9fb5;text-decoration:none}a:hover{text-decoration:underline}.app-container{max-width:960px;margin:0 auto;padding:1rem}.page-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid #333;margin-bottom:1.5rem}.page-header h1{font-size:1.4rem;color:#fff}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;background:#1a1a1a;border:1px solid #444;border-bottom:none;border-radius:4px 4px 0 0}.toolbar-group{display:flex;gap:2px;padding-right:.5rem;border-right:1px solid #333}.toolbar-group:last-child{border-right:none;padding-right:0}.editor-toolbar button{background:#2d2d2d;color:#ccc;border:1px solid #444;border-radius:3px;padding:.25rem .5rem;cursor:pointer;font-size:.85rem;font-weight:500;min-width:32px}.editor-toolbar button:hover{background:#3d3d3d;color:#fff}.editor-toolbar button.active{background:#6a9fb5;color:#fff;border-color:#6a9fb5}.image-toolbar{position:fixed;top:50%;right:calc(50% + 500px);transform:translateY(-50%);width:200px;display:flex;flex-direction:column;gap:.75rem;padding:.5rem;background:#1a1a1a;border:1px solid #6a9fb5;border-radius:4px;z-index:10}.image-toolbar-group{display:flex;flex-direction:column;gap:4px}.image-toolbar-group>label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.05em}.image-toolbar-group .button-row{display:flex;gap:2px}.image-toolbar button{background:#2d2d2d;color:#ccc;border:1px solid #444;border-radius:3px;padding:.2rem .5rem;cursor:pointer;font-size:.8rem;flex:1}.image-toolbar button:hover{background:#3d3d3d}.image-toolbar button.active{background:#6a9fb5;color:#fff}.image-toolbar input[type=text]{background:#2d2d2d;color:#e0e0e0;border:1px solid #444;border-radius:3px;padding:.2rem .5rem;font-size:.8rem;width:100%;box-sizing:border-box}.image-toolbar input[type=range]{width:100%;accent-color:#6a9fb5;cursor:pointer}.image-toolbar .width-input-row{display:flex;gap:4px;align-items:center}.image-toolbar .width-percent-input{background:#2d2d2d;color:#e0e0e0;border:1px solid #444;border-radius:3px;padding:.2rem .4rem;font-size:.8rem;width:4.5em;text-align:right}.image-toolbar .width-unit{font-size:.8rem;color:#999}.image-toolbar button.delete{background:#a33;color:#fff;border-color:#a33}.guide-metadata-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;padding:1rem;background:#1a1a1a;border:1px solid #333;border-radius:4px}.guide-metadata-form .form-field{display:flex;flex-direction:column;gap:.25rem}.guide-metadata-form label{font-size:.85rem;color:#999}.guide-metadata-form select,.guide-metadata-form input{background:#2d2d2d;color:#e0e0e0;border:1px solid #444;border-radius:3px;padding:.5rem;font-size:.9rem}.guide-list{list-style:none}.guide-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #222}.guide-list-item:hover{background:#1a1a1a}.guide-list-item .skill-name{font-weight:500}.badge{font-size:.75rem;padding:.15rem .5rem;border-radius:10px;font-weight:500}.badge-published{background:#1a4a2a;color:#6fcf97}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #444;border-radius:4px;background:#2d2d2d;color:#e0e0e0;cursor:pointer;font-size:.9rem}.btn:hover{background:#3d3d3d}.btn-primary{background:#6a9fb5;color:#fff;border-color:#6a9fb5}.btn-primary:hover{background:#5a8fa5}.btn:disabled{opacity:.5;cursor:not-allowed}.editor-page{display:flex;flex-direction:column;gap:0;position:relative}.editor-actions{display:flex;gap:.5rem;margin-top:1rem}.guide-preview{max-width:390px;margin:0 auto;padding:1rem;background:#1e1e1e;border:1px solid #444;border-radius:8px}.guide-preview h1,.guide-preview h2,.guide-preview h3{color:#fff}.guide-preview img{max-width:100%;height:auto}.guide-preview img[data-float=left]{float:left;margin:0 1em .5em 0}.guide-preview img[data-float=right]{float:right;margin:0 0 .5em 1em}.guide-preview .image-caption{font-size:.85rem;color:#999;text-align:center;margin-top:.25rem}
