.entry-content, .post-content, .content { position: relative; }
.side-note {
    position: absolute;
    right: -320px;
    width: 280px;
    background: #fff;
    border-left: 4px solid;
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 12px;
    font-size: 14px;
    z-index: 10;
    transition: 0.2s;
}
@media (max-width: 1100px) {
    .side-note { position: relative; right: auto; width: 100%; margin: 10px 0; }
}
.note-opinion { border-left-color: #3498db; }
.note-question { border-left-color: #f1c40f; }
.note-error { border-left-color: #e74c3c; }
.note-forum { border-left-color: #2ecc71; }

.note-meta { font-size: 12px; color: #666; margin-bottom: 8px; }
.main-text { margin-bottom: 8px; }
.reply-btn, .forum-btn {
    display: inline-block;
    font-size: 12px;
    background: #f0f0f0;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 6px;
}
.reply-item { background: #f9f9f9; padding: 8px; margin: 8px 0; border-radius: 4px; }
.note-highlight {
    background-color: #ffff99;
    cursor: pointer;
    border-radius: 3px;
    padding: 0 2px;
    display: inline-block;
    position: relative;
}
.note-count {
    background: #ff9800;
    color: white;
    font-size: 10px;
    border-radius: 20px;
    padding: 1px 5px;
    margin-left: 4px;
}
#note-svg-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
}
.note-path {
    fill: none;
    stroke-width: 1.5;
    stroke-dasharray: 3;
    opacity: 0.6;
}
#note-toolbar {
    position: absolute;
    background: white;
    border-radius: 30px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    display: none;
    z-index: 100;
}
#note-toolbar button {
    background: none;
    border: none;
    font-size: 20px;
    padding: 6px 12px;
    cursor: pointer;
}
#note-toolbar button:hover { background: #f0f0f0; }
#note-modal-overlay {
    position: fixed;
    top:0;left:0;width:100%;height:100%;
    background: rgba(0,0,0,0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
#note-modal-overlay.active { display: flex; }
#note-modal {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 500px;
    padding: 20px;
}
#note-text-input, #note-url-input {
    width: 100%;
    margin: 10px 0;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 6px;
}
.modal-btns { display: flex; justify-content: flex-end; gap: 10px; }
.btn-send { background: #3498db; color: white; border: none; padding: 8px 16px; border-radius: 6px; cursor: pointer; }
.btn-cancel { background: #e0e0e0; border: none; padding: 8px 16px; border-radius: 6px; cursor: pointer; }

/* Цвета подсветки в тексте */
.note-highlight {
    cursor: pointer;
    border-radius: 3px;
    padding: 0 2px;
    display: inline-block;
    position: relative;
}
.note-highlight.note-opinion { background-color: #3498db30; }  /* голубой полупрозрачный */
.note-highlight.note-question { background-color: #f1c40f50; } /* жёлтый */
.note-highlight.note-error { background-color: #e74c3c30; }    /* красный */
.note-highlight.note-forum { background-color: #2ecc7130; }    /* зелёный */

.note-count {
    background: #ff9800;
    color: white;
    font-size: 10px;
    border-radius: 20px;
    padding: 1px 5px;
    margin-left: 4px;
}