:root, [data-theme="dark"] { --bg-base: #0f1117; --bg-surface: #171b24; --bg-elevated: #1f2532; --bg-subtle: #252c3b; --border-color: #2e374a; --border-strong: #414e68; --text-primary: #f3f5f9; --text-secondary: #a8b3c7; --text-muted: #75829b; --accent-primary: #f59e0b; --accent-primary-hover: #fbbf24; --accent-secondary: #6366f1; --suit-explorer: #2b7ec1; --suit-artist: #d95f3b; --suit-judge: #2a9158; --suit-warrior: #b8335a; --status-spark: #38bdf8; --status-exploring: #fb923c; --status-building: #a855f7; --status-shipped: #22c55e; --status-archived: #64748b; --shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.45); --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; } [data-theme="paper"] { --bg-base: #f5efe4; --bg-surface: #fbf8f1; --bg-elevated: #ffffff; --bg-subtle: #ede4d3; --border-color: #d8ccb8; --border-strong: #b8a88f; --text-primary: #1f1b16; --text-secondary: #53493c; --text-muted: #7d705f; --accent-primary: #c85a17; --accent-primary-hover: #df6920; --accent-secondary: #3949ab; --shadow-lg: 0 16px 36px rgba(45, 35, 20, 0.14); } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif; background: var(--bg-base); color: var(--text-primary); line-height: 1.5; min-height: 100vh; display: flex; flex-direction: column; } .hidden { display: none !important; } /* TOPBAR & QUICK CAPTURE */ .topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 1.25rem; background: var(--bg-surface); border-bottom: 1px solid var(--border-color); position: sticky; top: 0; z-index: 30; flex-wrap: wrap; } .topbar-brand { display: flex; align-items: center; gap: 0.75rem; } .brand-logo { width: 38px; height: 38px; border-radius: var(--radius-md); background: linear-gradient(135deg, var(--accent-primary), #ec4899); display: flex; align-items: center; justify-content: center; font-size: 1.25rem; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25); } .brand-title-row { display: flex; align-items: center; gap: 0.5rem; } .brand-title { font-size: 1.15rem; font-weight: 700; letter-spacing: -0.02em; } .brand-badge { font-size: 0.7rem; font-weight: 600; padding: 0.12rem 0.48rem; border-radius: 999px; background: var(--bg-subtle); color: var(--accent-primary); border: 1px solid var(--border-color); } .brand-subtitle { font-size: 0.75rem; color: var(--text-muted); } .quick-capture-bar { flex: 1; max-width: 720px; min-width: 300px; display: flex; align-items: center; gap: 0.45rem; background: var(--bg-elevated); border: 1px solid var(--border-strong); border-radius: var(--radius-md); padding: 0.35rem 0.5rem; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15); } .quick-capture-bar:focus-within { border-color: var(--accent-primary); box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.22); } .qc-icon { font-size: 1rem; padding-left: 0.25rem; } #quick-capture-input { flex: 1; background: transparent; border: none; color: var(--text-primary); font-size: 0.9rem; outline: none; } #quick-capture-category { background: var(--bg-subtle); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.28rem 0.5rem; font-size: 0.8rem; } .topbar-actions { display: flex; align-items: center; gap: 0.45rem; } /* WHACK PROMPT BANNER */ .whack-prompt-banner { background: linear-gradient(90deg, var(--bg-elevated), var(--bg-surface)); border-bottom: 2px solid var(--accent-primary); padding: 0.75rem 1.5rem; } .whack-banner-inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; gap: 1rem; } .qwb-thumb { width: 66px; height: 98px; object-fit: cover; border-radius: var(--radius-sm); border: 1px solid var(--border-strong); background: #fff; cursor: pointer; } .qwb-content { flex: 1; } .qwb-meta { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.2rem; } .qwb-question { font-size: 0.95rem; color: var(--accent-primary); font-weight: 600; } .qwb-actions { display: flex; gap: 0.45rem; } /* SUBNAV & FILTERS */ .subnav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.65rem 1.25rem; background: var(--bg-surface); border-bottom: 1px solid var(--border-color); flex-wrap: wrap; } .view-tabs { display: flex; gap: 0.35rem; flex-wrap: wrap; } .view-tab { background: transparent; color: var(--text-secondary); border: 1px solid transparent; padding: 0.45rem 0.85rem; border-radius: var(--radius-sm); font-size: 0.86rem; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 0.4rem; transition: all 0.15s ease; } .view-tab:hover { background: var(--bg-subtle); color: var(--text-primary); } .view-tab.active { background: var(--bg-elevated); color: var(--accent-primary); border-color: var(--border-strong); } .tab-pill { font-size: 0.7rem; padding: 0.08rem 0.4rem; border-radius: 999px; background: var(--bg-subtle); color: var(--text-primary); } .filter-bar { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; } .filter-input, .filter-select, .text-input, .textarea-input, .drawer-select { background: var(--bg-elevated); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.4rem 0.65rem; font-size: 0.83rem; } .filter-checkbox { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.82rem; color: var(--text-secondary); padding: 0.32rem 0.6rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-sm); cursor: pointer; } /* BUTTONS */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; padding: 0.48rem 0.9rem; border-radius: var(--radius-sm); font-size: 0.85rem; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: all 0.15s ease; text-decoration: none; } .btn-sm { padding: 0.32rem 0.65rem; font-size: 0.8rem; } .btn-xs { padding: 0.18rem 0.45rem; font-size: 0.74rem; } .btn-primary { background: var(--accent-primary); color: #111318; } .btn-primary:hover { background: var(--accent-primary-hover); } .btn-secondary { background: var(--accent-secondary); color: #ffffff; } .btn-ghost { background: var(--bg-elevated); color: var(--text-primary); border-color: var(--border-color); } .btn-ghost:hover { background: var(--bg-subtle); border-color: var(--border-strong); } .btn-danger-ghost { background: transparent; color: #ef4444; border-color: rgba(239, 68, 68, 0.35); } .pill-btn { background: var(--bg-elevated); color: var(--text-secondary); border: 1px solid var(--border-color); padding: 0.35rem 0.75rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; cursor: pointer; } .pill-btn.active { background: var(--accent-primary); color: #121316; border-color: var(--accent-primary); } /* WORKSPACE & KANBAN */ .workspace { flex: 1; padding: 1rem 1.25rem; overflow-x: auto; } .kanban-board { display: grid; grid-template-columns: repeat(5, minmax(275px, 1fr)); gap: 0.9rem; align-items: start; min-height: calc(100vh - 175px); } .kanban-column { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); display: flex; flex-direction: column; min-height: 540px; } .kanban-col-header { padding: 0.75rem 0.85rem; border-bottom: 1px solid var(--border-color); display: flex; align-items: center; justify-content: space-between; } .kanban-col-header h2 { font-size: 0.92rem; font-weight: 700; display: inline; } .role-hint { display: block; font-size: 0.71rem; color: var(--text-muted); margin-top: 0.1rem; } .col-count { font-size: 0.75rem; font-weight: 700; padding: 0.12rem 0.48rem; border-radius: 999px; background: var(--bg-subtle); color: var(--text-secondary); } .kanban-dropzone { padding: 0.65rem; flex: 1; display: flex; flex-direction: column; gap: 0.65rem; min-height: 460px; } .kanban-dropzone.drag-over { background: rgba(245, 158, 11, 0.08); outline: 2px dashed var(--accent-primary); outline-offset: -4px; } /* IDEA CARD */ .idea-card { background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 0.75rem; cursor: pointer; transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease; display: flex; flex-direction: column; gap: 0.5rem; position: relative; } .idea-card:hover { transform: translateY(-2px); border-color: var(--accent-primary); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22); } .idea-card.pinned { border-left: 3px solid var(--accent-primary); } .idea-card-mockup-thumb { width: 100%; height: 155px; object-fit: cover; border-radius: var(--radius-sm); border: 1px solid var(--border-color); background: #14171f; } .idea-card-top { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; } .cat-badge { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; padding: 0.12rem 0.42rem; border-radius: 4px; background: var(--bg-subtle); color: var(--text-secondary); } .score-pill { font-size: 0.72rem; font-weight: 700; padding: 0.1rem 0.45rem; border-radius: 999px; background: rgba(245, 158, 11, 0.15); color: var(--accent-primary); border: 1px solid rgba(245, 158, 11, 0.35); } .idea-card-title { font-size: 0.94rem; font-weight: 700; line-height: 1.35; } .idea-card-pitch { font-size: 0.8rem; color: var(--text-secondary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .idea-card-tags { display: flex; flex-wrap: wrap; gap: 0.3rem; } .tag-chip { font-size: 0.7rem; padding: 0.08rem 0.38rem; border-radius: 4px; background: var(--bg-subtle); color: var(--text-secondary); } .idea-card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 0.35rem; border-top: 1px solid var(--border-color); font-size: 0.73rem; color: var(--text-muted); } .card-quick-actions { display: flex; gap: 0.25rem; } .icon-btn { background: var(--bg-subtle); color: var(--text-secondary); border: 1px solid var(--border-color); border-radius: 4px; padding: 0.12rem 0.38rem; font-size: 0.72rem; cursor: pointer; } .icon-btn:hover { color: var(--text-primary); border-color: var(--accent-primary); } /* EXPLORER GRID */ .grid-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; gap: 0.75rem; } .status-pills { display: flex; gap: 0.4rem; flex-wrap: wrap; } .explorer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 1rem; } /* CREATIVE WHACK PACK STUDIO */ .whack-studio-header, .review-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); margin-bottom: 1rem; flex-wrap: wrap; } .whack-mode-tabs, .review-mode-tabs { display: flex; gap: 0.45rem; flex-wrap: wrap; } .collider-controls { display: flex; align-items: center; gap: 0.85rem; padding: 0.85rem 1rem; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); margin-bottom: 1rem; flex-wrap: wrap; } .collider-control-group { display: flex; align-items: center; gap: 0.45rem; font-size: 0.84rem; } .collider-stage { display: grid; grid-template-columns: minmax(300px, 380px) 1fr; gap: 1.25rem; align-items: start; } @media (max-width: 900px) { .collider-stage { grid-template-columns: 1fr; } } .whack-card-showcase { background: var(--bg-surface); border: 2px solid var(--border-strong); border-radius: var(--radius-lg); padding: 1rem; text-align: center; box-shadow: var(--shadow-lg); } .whack-card-scan { width: 100%; max-width: 320px; border-radius: var(--radius-md); border: 1px solid var(--border-color); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35); background: #fff; cursor: zoom-in; } .suit-pill { display: inline-block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; padding: 0.15rem 0.55rem; border-radius: 999px; color: #fff; } .suit-explorer { background: var(--suit-explorer); } .suit-artist { background: var(--suit-artist); } .suit-judge { background: var(--suit-judge); } .suit-warrior { background: var(--suit-warrior); } .collider-workbench { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 1.25rem; display: flex; flex-direction: column; gap: 1rem; } .prompt-callout { padding: 0.9rem 1rem; background: var(--bg-elevated); border-left: 4px solid var(--accent-primary); border-radius: var(--radius-sm); } .spread-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding: 0.85rem 1rem; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); } .spread-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1rem; } .deck-filter-bar { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; margin-bottom: 1rem; flex-wrap: wrap; } .suit-filter-buttons { display: flex; gap: 0.4rem; flex-wrap: wrap; } .deck-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 1rem; } .deck-card-item { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 0.65rem; display: flex; flex-direction: column; gap: 0.45rem; transition: transform 0.15s ease, border-color 0.15s ease; } .deck-card-item:hover { transform: translateY(-3px); border-color: var(--accent-primary); } .deck-card-item img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: var(--radius-sm); background: #fff; cursor: pointer; } /* ARENA & TRIAGE */ .arena-instructions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding: 0.75rem 1rem; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); } .arena-stage { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1.25rem; align-items: stretch; } @media (max-width: 860px) { .arena-stage { grid-template-columns: 1fr; } } .arena-fighter { background: var(--bg-surface); border: 2px solid var(--border-color); border-radius: var(--radius-lg); padding: 1.35rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; transition: border-color 0.15s ease, transform 0.15s ease; } .arena-fighter:hover { border-color: var(--accent-primary); transform: translateY(-2px); } .arena-vs-badge { align-self: center; font-size: 1.2rem; font-weight: 800; width: 48px; height: 48px; border-radius: 999px; background: var(--bg-elevated); border: 2px solid var(--border-strong); display: flex; align-items: center; justify-content: center; color: var(--accent-primary); } .triage-card { max-width: 720px; margin: 0 auto; background: var(--bg-surface); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; gap: 1rem; } /* SLIDE-OVER DRAWER & MOCKUP STUDIO */ .drawer-backdrop { position: fixed; inset: 0; background: rgba(5, 7, 12, 0.62); backdrop-filter: blur(2px); z-index: 50; } .idea-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(1040px, 95vw); background: var(--bg-surface); border-left: 1px solid var(--border-strong); box-shadow: var(--shadow-lg); z-index: 60; display: flex; flex-direction: column; } .drawer-header { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; } .drawer-title-group { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; } .drawer-title-input { width: 100%; font-size: 1.25rem; font-weight: 700; background: transparent; color: var(--text-primary); border: 1px solid transparent; border-radius: var(--radius-sm); padding: 0.2rem 0.4rem; } .drawer-title-input:focus { background: var(--bg-elevated); border-color: var(--accent-primary); outline: none; } .drawer-meta-row { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; } .score-badge { font-size: 0.8rem; font-weight: 700; padding: 0.25rem 0.65rem; border-radius: 999px; background: rgba(245, 158, 11, 0.16); color: var(--accent-primary); } .drawer-tabs { display: flex; gap: 0.35rem; padding: 0.55rem 1.25rem; background: var(--bg-base); border-bottom: 1px solid var(--border-color); } .drawer-tab { background: transparent; color: var(--text-secondary); border: 1px solid transparent; padding: 0.45rem 0.9rem; border-radius: var(--radius-sm); font-size: 0.85rem; font-weight: 600; cursor: pointer; } .drawer-tab.active { background: var(--bg-surface); color: var(--accent-primary); border-color: var(--border-color); } .drawer-body { flex: 1; overflow-y: auto; padding: 1.25rem; } .drawer-tab-panel { display: flex; flex-direction: column; gap: 1.15rem; } .field-group { display: flex; flex-direction: column; gap: 0.4rem; } .field-group label { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); } .field-header-row { display: flex; justify-content: space-between; align-items: center; } .full-width { width: 100%; } .ratings-card { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 0.85rem 1rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-md); } .rating-control { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.82rem; } .tags-editor { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; } .tags-list { display: flex; gap: 0.35rem; flex-wrap: wrap; } .tag-removable { display: inline-flex; align-items: center; gap: 0.3rem; background: var(--bg-elevated); border: 1px solid var(--border-color); padding: 0.18rem 0.5rem; border-radius: 999px; font-size: 0.76rem; } .tag-removable button { background: none; border: none; color: var(--text-muted); cursor: pointer; } .inline-add-form { display: flex; gap: 0.4rem; } .checklist-container { display: flex; flex-direction: column; gap: 0.35rem; } .checklist-row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.4rem 0.65rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-sm); font-size: 0.85rem; } .checklist-row.done span { text-decoration: line-through; color: var(--text-muted); } .pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .bullet-list { list-style: none; display: flex; flex-direction: column; gap: 0.35rem; } .bullet-list li { display: flex; justify-content: space-between; align-items: center; padding: 0.38rem 0.6rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-sm); font-size: 0.82rem; } .markdown-preview { padding: 0.85rem 1rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-sm); font-size: 0.88rem; } /* NANO BANANA MOCKUP STUDIO */ .mockup-studio-layout { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 1.15rem; align-items: start; } @media (max-width: 900px) { .mockup-studio-layout { grid-template-columns: 1fr; } } .mockup-controls-pane { display: flex; flex-direction: column; gap: 1rem; } .studio-card { background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 1rem; display: flex; flex-direction: column; gap: 0.8rem; } .studio-card-header { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; } .studio-card-header h3 { font-size: 0.95rem; font-weight: 700; } .form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; } .form-row-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; } .color-swatch-row { display: flex; gap: 0.5rem; flex-wrap: wrap; } .color-swatch { width: 28px; height: 28px; border-radius: 999px; border: 2px solid var(--border-strong); cursor: pointer; transition: transform 0.12s ease; } .color-swatch.active { outline: 2px solid var(--accent-primary); outline-offset: 2px; transform: scale(1.1); } .nb-edit-box { background: rgba(245, 158, 11, 0.1); border: 1px solid var(--accent-primary); border-radius: var(--radius-sm); padding: 0.65rem; display: flex; flex-direction: column; gap: 0.45rem; } .nb-edit-header { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; } .canvas-preview-wrapper { width: 100%; display: flex; justify-content: center; background: #12151e; border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 0.5rem; } #mockup-compositor-canvas { width: 100%; max-width: 400px; height: auto; border-radius: var(--radius-sm); } .studio-action-row { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; } .drawer-mockup-gallery { display: flex; flex-direction: column; gap: 0.85rem; } .mockup-gallery-card { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 0.65rem; display: flex; flex-direction: column; gap: 0.5rem; } .mockup-gallery-card.is-cover { border-color: var(--accent-primary); } .mockup-gallery-card img { width: 100%; border-radius: var(--radius-sm); cursor: zoom-in; max-height: 290px; object-fit: contain; background: #101218; } .mockup-gallery-actions { display: flex; gap: 0.35rem; flex-wrap: wrap; } /* WHACK THIS IDEA TAB */ .drawer-whack-controls { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.85rem 1rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-md); flex-wrap: wrap; } .drawer-whack-actions { display: flex; gap: 0.5rem; } .whack-history-list { display: flex; flex-direction: column; gap: 0.6rem; } .whack-log-item { padding: 0.75rem 0.9rem; background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-sm); } /* MODALS & DROPDOWNS & TOASTS */ .dropdown { position: relative; } .dropdown-menu { position: absolute; right: 0; top: calc(100% + 6px); background: var(--bg-elevated); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); box-shadow: var(--shadow-lg); min-width: 190px; z-index: 80; display: flex; flex-direction: column; } .dropdown-item { padding: 0.55rem 0.85rem; color: var(--text-primary); text-decoration: none; font-size: 0.82rem; } .dropdown-item:hover { background: var(--bg-subtle); } .modal-backdrop { position: fixed; inset: 0; background: rgba(5, 7, 12, 0.72); display: flex; align-items: center; justify-content: center; z-index: 90; padding: 1rem; } .modal-card, .lightbox-card { background: var(--bg-surface); border: 1px solid var(--border-strong); border-radius: var(--radius-lg); width: min(540px, 95vw); box-shadow: var(--shadow-lg); overflow: hidden; } .lightbox-card { width: min(680px, 95vw); } .modal-header { padding: 0.9rem 1.15rem; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; } .modal-body, .lightbox-body { padding: 1.15rem; display: flex; flex-direction: column; gap: 0.9rem; } .lightbox-body img { max-height: 72vh; width: auto; max-width: 100%; margin: 0 auto; border-radius: var(--radius-md); } .modal-footer { display: flex; justify-content: flex-end; gap: 0.5rem; padding-top: 0.5rem; } .status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; background: var(--text-muted); } .status-dot.online { background: #22c55e; } .status-spark { background: var(--status-spark); } .status-exploring { background: var(--status-exploring); } .status-building { background: var(--status-building); } .status-shipped { background: var(--status-shipped); } .status-archived { background: var(--status-archived); } .muted-label { font-size: 0.76rem; color: var(--text-muted); } .toast-container { position: fixed; bottom: 1.25rem; right: 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; z-index: 100; } .toast { background: var(--bg-elevated); color: var(--text-primary); border-left: 4px solid var(--accent-primary); border-radius: var(--radius-sm); padding: 0.65rem 1rem; box-shadow: var(--shadow-lg); font-size: 0.84rem; }