Rewild Your Web
web
browser
dweb
1/* SPDX-License-Identifier: AGPL-3.0-or-later */
2
3:host {
4 position: fixed;
5 bottom: 0;
6 left: 0;
7 right: 0;
8 z-index: var(--z-gesture);
9 pointer-events: none;
10}
11
12:host([open]) {
13 bottom: var(--keyboard-offset);
14}
15
16.overlay {
17 position: fixed;
18 top: 0;
19 left: 0;
20 right: 0;
21 bottom: var(--keyboard-offset);
22 background: rgba(0, 0, 0, 0.3);
23 opacity: 0;
24 transition: opacity 0.2s ease;
25 pointer-events: none;
26}
27
28:host([open]) .overlay {
29 opacity: 1;
30 pointer-events: auto;
31}
32
33.action-bar {
34 position: relative;
35 background: var(--bg-menu);
36 border-radius: var(--radius-md) var(--radius-md) 0 0;
37 padding: var(--spacing-xs);
38 transform: translateY(100%);
39 transition: transform 0.3s ease;
40 pointer-events: auto;
41 box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
42}
43
44:host([open]) .action-bar {
45 transform: translateY(0);
46}
47
48.url-input-container {
49 display: flex;
50 align-items: center;
51 background: var(--bg-webview);
52 border: 2px solid var(--color-border);
53 border-radius: var(--radius-md);
54 padding: var(--spacing-xs) var(--spacing-md);
55 margin-bottom: var(--spacing-xs);
56}
57
58.url-input-container:focus {
59 border-color: var(--color-focus-ring);
60}
61
62.url-input-container lucide-icon {
63 color: var(--color-text-tertiary);
64 margin-right: var(--spacing-xs);
65 flex-shrink: 0;
66}
67
68.url-input {
69 flex: 1;
70 border: none;
71 background: transparent;
72 font-size: 16px;
73 color: var(--color-text-menu);
74 outline: none;
75}
76
77.url-input::placeholder {
78 color: var(--color-text-tertiary);
79}
80
81.quick-actions {
82 display: flex;
83 justify-content: space-around;
84 align-items: center;
85 padding: var(--spacing-xs) 0;
86}
87
88.action-button {
89 display: flex;
90 flex-direction: column;
91 align-items: center;
92 gap: 4px;
93 padding: var(--spacing-xs);
94 background: transparent;
95 border: none;
96 color: var(--color-text-menu);
97 cursor: pointer;
98 border-radius: var(--radius-sm);
99 transition: background 0.2s ease;
100 min-width: 60px;
101}
102
103.action-button:hover,
104.action-button:active {
105 background: var(--color-menu-item-hover));
106}
107
108.action-button:disabled {
109 opacity: 0.3;
110 cursor: not-allowed;
111}
112
113.action-button lucide-icon {
114 font-size: 24px;
115}
116
117.view-count {
118 position: absolute;
119 top: -4px;
120 right: -4px;
121 background: var(--color-focus-ring);
122 color: white;
123 font-size: 10px;
124 min-width: 16px;
125 height: 16px;
126 border-radius: 8px;
127 display: flex;
128 align-items: center;
129 justify-content: center;
130 padding: 0 4px;
131}
132
133.views-button {
134 position: relative;
135}
136
137/* Search Results */
138.results-area {
139 max-height: 40vh;
140 overflow-y: auto;
141 margin-bottom: var(--spacing-xs);
142}
143
144.result-group {
145 display: flex;
146 margin-bottom: var(--spacing-xs);
147}
148
149.result-group-icon {
150 width: 2em;
151 display: flex;
152 align-items: flex-start;
153 padding-top: var(--spacing-sm);
154 flex-shrink: 0;
155}
156
157.result-group-icon lucide-icon {
158 font-size: 1em;
159 opacity: 0.5;
160}
161
162.result-group-items {
163 flex: 1;
164}
165
166.result-item {
167 padding: var(--spacing-sm) var(--spacing-md);
168 background: var(--bg-webview);
169 transition: background 0.15s ease;
170}
171
172.result-group-items .result-item:first-child {
173 border-radius: var(--radius-sm) var(--radius-sm) 0 0;
174}
175
176.result-group-items .result-item:last-child {
177 border-radius: 0 0 var(--radius-sm) var(--radius-sm);
178}
179
180.result-group-items .result-item:only-child {
181 border-radius: var(--radius-sm);
182}
183
184.result-item[data-kind="link"],
185.result-item[data-kind="webview"] {
186 cursor: pointer;
187}
188
189.result-item[data-kind="link"]:hover,
190.result-item[data-kind="link"]:active,
191.result-item[data-kind="webview"]:hover,
192.result-item[data-kind="webview"]:active {
193 background: var(--bg-header);
194}
195
196.result-link {
197 color: var(--color-primary);
198 text-decoration: none;
199 font-weight: 600;
200 display: block;
201}
202
203.result-item[data-kind="link"]:hover .result-link,
204.result-item[data-kind="webview"]:hover .result-link {
205 color: var(--color-text-on-header);
206}
207
208.result-item[data-kind="text"] {
209 cursor: default;
210}
211
212.result-text {
213 color: var(--color-text);
214}