/* GLOBAL RESET */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #f3f5f6;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: -0.5px;
    color: #241010;
}

/* LEFT SIDE NAVIGATION */
.side-nav {
    position: fixed;
    left: 40px;
    top: 150px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.side-nav a {
    color: #241010;
    text-decoration: none;
    font-size: 14px;
}

/* Default: no underline */
.side-nav a {
    text-decoration: none;
}

/* INDEX active */
.page-index .side-nav a[href="../index.html"],
.page-index .side-nav a[href="index.html"] {
    text-decoration: underline;
}

/* ABOUT active */
.page-about .side-nav a[href="../about.html"],
.page-about .side-nav a[href="about.html"] {
    text-decoration: underline;
}

/* MY NOTES active — applies to ANY notes page */
.page-my-notes .side-nav a[href="../my-notes.html"],
.page-my-notes .side-nav a[href="my-notes.html"] {
    text-decoration: underline;
}


/* MAIN COLUMN */
.content {
    width: 700px;
    margin: 0 auto;
    padding-top: 80px;
    margin-left: 500px; 
}

/* HEADLINE */
.headline {
    font-size: 36px;
     width: 80%;
    margin-bottom: 30px;
    letter-spacing: -2.7px;
        line-height: 1;
        margin-left: 100px;
}

/* SMALL COPY */
.subcopy {
    font-size: 18px;
    width: 90%;
    line-height: 1.4;
    margin-bottom: 40px;
      color: #241010;
}

.textcopy {
    font-size: 18px;
    width: 95%;
    line-height: 1.5;
    margin-bottom: 10px;
    text-align: left;
    text-indent: 100px;
    letter-spacing: -0.5px;
    color: #241010;
}

/* TAGS + SORT */
.tag-row {
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 14px;
    margin-bottom: 30px;
}

.tag-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tag-dot {
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
    background: #241010;
    cursor: pointer;
}

/* RGB TAG COLOR CODING */
.blog {
    background: rgb(201, 0, 1);
}

.writing {
    background: rgb(255, 132, 0);
}


.conspiracy {
    background: rgb(0, 181, 0);
}

.history {
    background: rgb(221, 181, 4);
}
.art {
    background: rgb(191, 0, 166);
}
.forum {
    background: rgb(0, 182, 173);
}
.inexplicable {
    background: rgb(45, 0, 112);
}
.arctic {
    background: rgb(3, 138, 168);
}

/* SORT DROPDOWN */
.sort-controls select {
    border: none;
    background: transparent;
    font-size: 14px;
    cursor: pointer;
}

/* GRID LAYOUT */
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, 20px);
    gap: 2px;
    margin-top: 20px;
}

/* SINGLE GRID ITEM */
.grid-item {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    border: none;
}


/* NEW EXPAND PART 
 Expand/Collapse Button */
.toggle-btn {
    margin-bottom: 20px;
    padding: 6px 10px;
    background: #241010;
    color: #f6f3f3;
    border: none;
    cursor: pointer;
    font-size: 14px;
    letter-spacing: -0.5px;
}

.clear-btn {
    margin-bottom: 20px;
    padding: 6px 10px;
    background: #f6f3f3;
    color: #241010;
    border: 1 px ;
    cursor: pointer;
    font-size: 14px;
    letter-spacing: -0.5px;
}

/* Expanded mode list layout */
.expanded .grid {
    display: block;
}

.expanded .grid-item {
    display: flex;
    align-items: center;
    width: 20px;
    height: 20px;
    margin-bottom: 10px;
    border-radius: 50%; /* keep dot shape */
}

/* Title shown in expanded mode */
.item-title {
    margin-left: 15px;
    font-size: 14px;
    letter-spacing: -0.5px;
    text-decoration: underline;
}

/* Notes area */
.item-notes {
    margin-left: auto;
    width: 250px;
    font-size: 14px;
    letter-spacing: -0.5px;
}
/*
.expanded .grid > div {
    border-bottom: 1px dashed #241010;
    padding-bottom: 10px;
}

.grid-item {
    position: relative;
}

/* Tooltip on hover */
.grid-item:hover::after {
    content: attr(data-title);
    position: absolute;
    top: -28px;
    left: 0;
    background: #f6f3f3;
    padding: 4px 6px;
    border: 1px solid #241010;
    font-size: 12px;
    white-space: nowrap;
    z-index: 999;
}

/* FLOATING LANES BETWEEN NAV & CONTENT */
#float-lanes {
    position: fixed;
    left: 300px;
    top: 0;
    height: 100vh;
    display: flex;
    gap: 20px;       /* ✅ exact 20px between lanes */
    pointer-events: none;
    z-index: 2;
}

/* EACH LANE */
.float-lane {
    position: relative;   /* ✅ creates its own positioning context */
    width: 18px;          /* exactly the dot width */
    height: 100%;
}

/* FLOATING DOT */
.float-dot {
    position: absolute;
    left: 0;              /* ✅ LOCKS dot inside its lane */
    width: 18px;
    height: 18px;
    border-radius: 50%;
    pointer-events: auto;
    cursor: pointer;
}


/*////////////*

/* TAG BAR AT TOP */
.tag-bar {
  display: flex;
  gap: 16px;
  margin: 40px 0 30px 0;
  font-size: 14px;
}

.tag-bar span {
  cursor: pointer;
  user-select: none;
}

/* ARTICLE LIST */
.notes-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}


.note-row {
  display: grid;
  grid-template-columns: auto 24px 1fr 200px;
  align-items: left;
  gap: 12px;
}

/* DOT */
.note-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
}

/* TITLE */
.note-title {
  font-size: 14px;
  text-decoration: underline;
  background:#f6f3f3;
  color: #241010;
}


/* DATE */
.note-date {
  font-size: 14px;
  opacity: 1;
  text-align: right;
}

/* WORD TAGS (RIGHT) */
.note-tags {
  display: flex;
  gap: 10px;
}

/* PLAIN WORD TAGS */
.word-tag {
  font-size: 14px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
}

/* COLOR SYSTEM */
.word-tag.blog, .note-title.blog { color: rgb(201, 0, 0); }
.word-tag.writing, .note-title.writing { color: rgb(255, 132, 0); }
.word-tag.conspiracy, .note-title.conspiracy { color: rgb(0, 181, 0); }
.word-tag.history, .note-title.history { color: rgb(221, 181, 4); }
.word-tag.forum, .note-title.forum { color: rgb(0, 182, 173); }
.word-tag.art, .note-title.art { color: rgb(191, 0, 166); }
.word-tag.inexplicable, .note-title.inexplicable { color: rgb(45, 0, 112); }

.word-tag:hover {
  text-decoration: underline;
}

/*Images */

/* FULL-HEIGHT IMAGE, keeping 3:4 aspect ratio */
.side-image {
    float: left;              /* image sits on the left */
    width: 260px;             /* set column width for images */
    margin: 0 30px 30px 0;    /* push text to the right */
    display: block;
    object-fit: cover;
}


.side-image.tall {
    width: 320px;
    height: auto;
}


.float-image {
    float: left;
    width: 340px;               /* size similar to screenshot */
    margin: 0 12px 12px -210px; /* RIGHT push, BOTTOM space, LEFT pull-out */
}

.float-image img {
    width: 100%;
    height: auto;
    display: block;
}

.float-image .caption {
    font-size: 14px;  
    text-align: left;
    margin-top: 6px;
    line-height: 1.3;
      color: #4c3c3c;    
}

.footnote {
    text-indent: 50px;
    font-size: 14px;  
    text-align: left;
    margin-top: 6px;
    margin-bottom: 10px;
    line-height: 1.5;
    width:65%;
      color: #4e4545; 
}

#notes-subnav {
    display: none;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    background: #f3f5f6;
}
.page-my-notes #notes-subnav {
    display: flex;
}


.note-link.blog { color: rgb(201, 0, 0); }
.note-link.writing { color: rgb(255, 132, 0); }
.note-link.conspiracy { color: rgb(0, 181, 0); }
.note-link.history { color: rgb(221, 181, 4); }
.note-link.art { color: rgb(191, 0, 166); }
.note-link.forum { color: rgb(0, 182, 173); }
.note-link.inexplicable { color: rgb(45, 0, 112); }
.note-link.arctic { color: rgb(3, 138, 168); }

.note-link.active-note {
    text-decoration: underline;
}
