diff --git a/public/css/browse.css b/public/css/browse.css index 489e726..2fb4f39 100644 --- a/public/css/browse.css +++ b/public/css/browse.css @@ -193,3 +193,16 @@ html, body { color: var(--text-dim); font-size: 14px; } + +/* Mobile responsive */ +@media (max-width: 768px) { + .browse-header { padding: 10px 16px; } + .browse-toolbar { padding: 10px 16px; } + .tags-bar { padding: 0 16px 10px; } + .fiddle-grid { grid-template-columns: 1fr; padding: 0 16px 16px; gap: 12px; } + .pagination { padding: 0 16px 16px; } +} +@media (max-width: 480px) { + .fiddle-grid { grid-template-columns: 1fr; } + #search-input { min-width: 0; } +} diff --git a/public/css/style.css b/public/css/style.css index af74a0e..3349e40 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -210,8 +210,8 @@ body.resizing iframe { pointer-events: none; } /* Dividers */ .divider { background: var(--border); transition: background 0.15s; z-index: 2; } -/* Layout/keybinding selects — match framework select */ -#layout-mode, #keybinding-mode { +/* Layout/keybinding/preview-theme selects — match framework select */ +#layout-mode, #keybinding-mode, #preview-theme { background: var(--bg); color: var(--text); border: 1px solid var(--border); padding: 4px 6px; border-radius: 4px; font-size: 12px; cursor: pointer; } @@ -284,3 +284,62 @@ body.resizing iframe { pointer-events: none; } font-size: 13px; z-index: 999; transition: opacity 0.3s; } .toast.hidden { opacity: 0; pointer-events: none; } + +/* Resources modal */ +.resource-inputs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; } +.resource-row { display: flex; gap: 6px; align-items: center; } +.resource-row input { + flex: 1; background: var(--bg); border: 1px solid var(--border); color: var(--text); + padding: 5px 8px; border-radius: 4px; font-size: 12px; +} +.resource-row input:focus { border-color: var(--accent); outline: none; } +.resource-list { display: flex; flex-direction: column; gap: 4px; max-height: 200px; overflow-y: auto; } +.resource-item { + display: flex; align-items: center; justify-content: space-between; gap: 6px; + background: var(--bg); padding: 4px 8px; border-radius: 4px; font-size: 11px; +} +.resource-item .resource-type { + font-size: 9px; font-weight: 700; text-transform: uppercase; + padding: 1px 4px; border-radius: 2px; flex-shrink: 0; +} +.resource-item .resource-type.css { background: #264f78; color: #9cdcfe; } +.resource-item .resource-type.js { background: #4d3b00; color: #dcdcaa; } +.resource-item .resource-url { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-dim); } +.resource-item .resource-remove { cursor: pointer; color: var(--text-dim); background: none; border: none; padding: 0 2px; font-size: 14px; } +.resource-item .resource-remove:hover { color: #f44747; } + +/* Shortcuts table */ +.shortcuts-table { width: 100%; border-collapse: collapse; text-align: left; } +.shortcuts-table td { padding: 6px 10px; font-size: 13px; border-bottom: 1px solid var(--border); } +.shortcuts-table td:first-child { white-space: nowrap; color: var(--text); } +.shortcuts-table td:last-child { color: var(--text-dim); } +.shortcuts-table kbd { + background: var(--bg); border: 1px solid var(--border); padding: 1px 6px; + border-radius: 3px; font-family: inherit; font-size: 12px; +} +.shortcuts-divider td { font-size: 11px; font-weight: 600; color: var(--text-dim); text-transform: uppercase; padding-top: 12px; border-bottom: none; } + +/* Preview dark theme — set iframe bg to match */ +#preview-frame.preview-dark { background: #1e1e1e; } + +/* Mobile responsive */ +@media (max-width: 768px) { + .toolbar { flex-wrap: wrap; height: auto; min-height: var(--toolbar-h); padding: 6px 8px; } + .toolbar-left, .toolbar-right { flex-wrap: wrap; } + .grid { + grid-template-columns: 1fr !important; + grid-template-rows: 1fr 1fr 120px !important; + } + .panel-editor { grid-column: 1 !important; grid-row: 1 !important; } + .panel-preview { grid-column: 1 !important; grid-row: 2 !important; } + .panel-console { grid-column: 1 !important; grid-row: 3 !important; } + .divider-col, .divider-row { display: none !important; } + /* Override all layout variants too */ + .layout-top-bottom .panel-editor, + .layout-top-bottom .panel-preview, + .layout-top-bottom .panel-console { grid-column: 1 !important; } +} +@media (max-width: 480px) { + #title-input, .tags-input-wrap { display: none; } + .modal-content { margin: 8px; min-width: unset !important; width: calc(100% - 16px); } +} diff --git a/public/index.html b/public/index.html index 4949b9b..6d549eb 100644 --- a/public/index.html +++ b/public/index.html @@ -39,6 +39,12 @@
+ + +