diff --git a/README.md b/README.md
index c1043c1..ea7922b 100644
--- a/README.md
+++ b/README.md
@@ -56,11 +56,18 @@ Canvas Refined adds more with more to come!
- Searching themes (the original didn't actually impliment that)
- made the dark mode into a css file instead of a reallllllly long string
- Card Styles (image size, card roundness, card spacing, width, height, theme compatible)
-- Custom Background (by URL, theme compatible)
+- Custom Background
+ - Use presets or add your own by URL
+ - Theme compatible
+ - Daily backgrounds
- Popup UI revamp
- NEW Better todo list
- Better sidebar
- Simplified UI
+ - Some options won't show up when not needed
+- Markdown in dashboard notes
+- Smaller additions:
+ - Equal height cards for card assignments
## Planned Features (by priority)
- auto rotate theme + theme history + fix theme submissions
diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index 6aa66f7..4e8859a 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -2,6 +2,9 @@
"Canvas_Refined": {
"message": "Canvas Refined"
},
+ "search_features": {
+ "message": "Search features..."
+ },
"updates": {
"message": "Updates"
},
diff --git a/css/content.css b/css/content.css
index c7d2b7f..82db7e2 100644
--- a/css/content.css
+++ b/css/content.css
@@ -22,7 +22,7 @@
.canvasrefined-export-output {position: fixed;height:100vh;width:100vw;top:0;left:0;z-index:10000;background:#000000c7;display:flex;align-items:center;justify-content:center}
.canvasrefined-export-copy { font-size:12px;white-space: pre-wrap;max-height:80vh;overflow:auto;padding:8px}
.canvasrefined-export-output-inner {width: 50%;background:#000;color:#fff;}
-.canvasrefined-dashboard-notes {width: 100%; box-sizing: border-box; overflow: hidden; resize: none;}
+.canvasrefined-dashboard-notes {width:100%;box-sizing:border-box;margin:18px 0 14px;border:1px solid var(--bcborders,#c7cdd1);border-radius:4px;overflow:hidden;background:var(--bcbackground-1,#fff);}
.canvasrefined-card-container {padding-bottom: 4px;}
.canvasrefined-assignment-container {margin: 0;padding:0;color: var(--ic-brand-font-color-dark-lightened-30);display: flex;justify-content:space-between;font-size:14px;align-items: center;transition:.2s all;}
.canvasrefined-card-header-container {align-items: center;display: flex;justify-content: space-between;padding: 0 18px;color:var(--ic-brand-font-color-dark-lightened-30);font-size:16px;font-weight:700;margin: 0;}
@@ -97,7 +97,7 @@
.canvasrefined-gpa-courses {min-width:600px;width:max-content;}
.canvasrefined-gpa-course-top, .canvasrefined-gpa-course-bottom {display: flex;}
.canvasrefined-gpa-header {font-weight:700;font-size:16px;margin-top:0;margin-bottom:6px;padding-bottom:6px;}
-.canvasrefined-dashboard-notes {width: 100%; box-sizing: border-box; margin-top: 18px;border: 1px solid #c7cdd1;border-radius:3px;padding:8px 14px;resize:vertical}
+.canvasrefined-notes-editor {box-sizing:border-box;width:100%;min-height:140px;border:none;background:transparent;resize:vertical;outline:none;font-family:inherit;font-size:14px;line-height:1.5;padding:12px 16px;color:var(--bctext-0,var(--ic-brand-font-color-dark-lightened-30,#2d3b45));}
.canvasrefined-todosidebar, #canvasrefined-todo-list, #canvasrefined-announcement-list {margin: 0}
.canvasrefined-todo-container {display: flex; margin-top: 14px;position: relative;transition: .2s all;}
.canvasrefined-removing {max-height: 0;margin-top: 0}
@@ -176,4 +176,42 @@
50% {
opacity: .5;
}
-}
\ No newline at end of file
+}
+
+/* ===== Dashboard notes (Markdown) ===== */
+.canvasrefined-notes-toolbar {display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;align-items:center;background:var(--bcbackground-2,#f5f7f8);border-bottom:1px solid var(--bcborders,#c7cdd1);}
+.cr-fmt {border:1px solid transparent;background:transparent;color:var(--bctext-1,#5b6770);font:inherit;font-size:13px;line-height:1;padding:5px 7px;border-radius:4px;cursor:pointer;}
+.cr-fmt:hover {background:var(--bcbackground-1,rgba(0,0,0,.06));color:var(--bctext-0,#2d3b45);}
+.cr-fmt:active {background:var(--bcbackground-1,rgba(0,0,0,.12));}
+.cr-fmt code {font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;}
+.cr-fmt-sep {width:1px;height:18px;align-self:center;background:var(--bcborders,#c7cdd1);margin:0 3px;}
+.canvasrefined-notes-surface {position:relative;background:var(--bcbackground-1,#fff);}
+.canvasrefined-notes-rendered {box-sizing:border-box;width:100%;min-height:140px;padding:12px 16px;font-size:14px;line-height:1.5;color:var(--bctext-0,var(--ic-brand-font-color-dark-lightened-30,#2d3b45));overflow-wrap:break-word;cursor:text;outline:none;border-radius:0 0 4px 4px;}
+.canvasrefined-notes-rendered:hover {background:var(--bcbackground-2,rgba(0,0,0,.02));}
+.canvasrefined-notes-rendered:empty::before {content:"Click to add a note…";color:var(--bctext-2,#9aa3ab);font-style:italic;}
+.canvasrefined-notes-rendered > :first-child {margin-top:0;}
+.canvasrefined-notes-rendered > :last-child {margin-bottom:0;}
+.canvasrefined-notes-rendered h1,.canvasrefined-notes-rendered h2,.canvasrefined-notes-rendered h3,.canvasrefined-notes-rendered h4,.canvasrefined-notes-rendered h5,.canvasrefined-notes-rendered h6 {margin:14px 0 6px;font-weight:600;line-height:1.3;color:var(--bctext-0,#1f2d35);}
+.canvasrefined-notes-rendered h1 {font-size:1.5em;}
+.canvasrefined-notes-rendered h2 {font-size:1.3em;}
+.canvasrefined-notes-rendered h3 {font-size:1.15em;}
+.canvasrefined-notes-rendered h4 {font-size:1em;}
+.canvasrefined-notes-rendered p {margin:8px 0;}
+.canvasrefined-notes-rendered ul,.canvasrefined-notes-rendered ol {margin:8px 0;padding-left:24px;}
+.canvasrefined-notes-rendered li {margin:3px 0;}
+.canvasrefined-notes-rendered li.cr-task {list-style:none;margin-left:-18px;display:flex;align-items:flex-start;gap:6px;}
+.canvasrefined-notes-rendered li.cr-task input {margin-top:4px;}
+.canvasrefined-notes-rendered blockquote {margin:8px 0;padding:4px 12px;border-left:3px solid var(--bcborders,#c7cdd1);color:var(--bctext-1,#5b6770);background:var(--bcbackground-2,rgba(0,0,0,.03));}
+.canvasrefined-notes-rendered code {font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--bcbackground-2,#f1f3f5);padding:1px 5px;border-radius:3px;}
+.canvasrefined-notes-rendered pre {margin:10px 0;padding:10px 12px;background:var(--bcbackground-2,#f1f3f5);border:1px solid var(--bcborders,#e2e6e8);border-radius:4px;overflow:auto;}
+.canvasrefined-notes-rendered pre code {background:transparent;padding:0;}
+.canvasrefined-notes-rendered a {color:var(--bclinks,var(--ic-link-color,#0072b5));text-decoration:underline;}
+.canvasrefined-notes-rendered a:hover {text-decoration:none;}
+.canvasrefined-notes-rendered img {max-width:100%;height:auto;border-radius:3px;}
+.canvasrefined-notes-rendered hr {border:none;border-top:1px solid var(--bcborders,#c7cdd1);margin:14px 0;}
+.canvasrefined-notes-rendered strong {font-weight:600;}
+.canvasrefined-notes-rendered del {color:var(--bctext-2,#9aa3ab);}
+.canvasrefined-notes-editor::placeholder {color:var(--bctext-2,#9aa3ab);}
+.canvasrefined-dashboard-notes:not(.is-editing) .canvasrefined-notes-toolbar {display:none;}
+.canvasrefined-dashboard-notes.is-editing .canvasrefined-notes-rendered {display:none;}
+.canvasrefined-dashboard-notes:not(.is-editing) .canvasrefined-notes-editor {display:none;}
\ No newline at end of file
diff --git a/css/popup.css b/css/popup.css
index 56c8881..1555187 100644
--- a/css/popup.css
+++ b/css/popup.css
@@ -252,4 +252,21 @@ input[type="checkbox"]:checked {background: #8dd28d;}
100% {
opacity: 1;
}
-}
\ No newline at end of file
+}
+
+/* ===== Header feature search ===== */
+.header-search { position: relative; margin-left: auto; display: flex; align-items: center; gap: 8px; width: 170px; max-width: 42%; background: var(--inputbg); border-radius: 8px; padding: 7px 10px; box-sizing: border-box; }
+.header-search-icon { color: #9a9a9a; flex: none; }
+.header-search:focus-within { box-shadow: 0 0 0 1.5px #56Caf0; }
+#feature-search { flex: 1; min-width: 0; background: none; border: none; outline: none; color: #e2e2e2; font-family: inherit; font-size: 13px; font-weight: 600; }
+#feature-search::placeholder { color: #8d8d8d; font-weight: 500; }
+.search-results { position: absolute; top: calc(100% + 6px); right: 0; min-width: 240px; max-width: 320px; max-height: 320px; overflow-y: auto; background: #0e0e0ee0; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-radius: 8px; padding: 5px; z-index: 1000; display: none; box-shadow: 0 8px 24px rgba(0,0,0,.45); }
+.search-results.open { display: block; }
+.search-result { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px; border-radius: 6px; cursor: pointer; }
+.search-result.active, .search-result:hover { background: #ffffff14; }
+.search-result-title { font-size: 13px; font-weight: 600; color: #f0f0f0; }
+.search-result-category { font-size: 11px; color: #9a9a9a; }
+.search-result.empty { text-align: center; color: #8d8d8d; font-size: 12px; cursor: default; padding: 12px; }
+.search-result.empty:hover { background: none; }
+.search-highlight { outline: 2px solid #56Caf0; outline-offset: 2px; border-radius: 8px; animation: search-pulse 1.8s ease-out; }
+@keyframes search-pulse { 0% { box-shadow: 0 0 0 0 #56Caf099; } 40% { box-shadow: 0 0 0 6px #56Caf000; } 100% { box-shadow: 0 0 0 0 #56Caf000; } }
\ No newline at end of file
diff --git a/html/popup.html b/html/popup.html
index 59530e5..110a3ae 100644
--- a/html/popup.html
+++ b/html/popup.html
@@ -24,6 +24,11 @@