diff --git a/docs/docs.css b/docs/docs.css
index a38ce5b..b5f970e 100644
--- a/docs/docs.css
+++ b/docs/docs.css
@@ -112,8 +112,8 @@ button.focused {
}
button.active {
- box-shadow: inset -1px -1px #ffffff, inset 1px 1px #0a0a0a,
- inset -2px -2px #dfdfdf, inset 2px 2px #808080;
+ border-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%230a0a0a' d='M0 0h4v1H0z'/%3E%3Cpath fill='%230a0a0a' d='M0 0h1v4H0z'/%3E%3Cpath fill='gray' d='M1 1h2v1H1z'/%3E%3Cpath fill='gray' d='M1 1h1v2H1z'/%3E%3Cpath fill='%23fff' d='M0 4h5v1H0z'/%3E%3Cpath fill='%23fff' d='M4 0h1v5H4z'/%3E%3Cpath fill='%23dfdfdf' d='M3 1h1v3H3z'/%3E%3Cpath fill='%23dfdfdf' d='M1 3h3v1H1z'/%3E%3C/svg%3E") 2;
+ text-shadow: 1px 1px #222;
}
@media (max-width: 480px) {
diff --git a/icon/border-button-raised.svg b/icon/border-button-raised.svg
new file mode 100644
index 0000000..df21fb9
--- /dev/null
+++ b/icon/border-button-raised.svg
@@ -0,0 +1,10 @@
+
diff --git a/icon/border-button-sunken.svg b/icon/border-button-sunken.svg
new file mode 100644
index 0000000..174adeb
--- /dev/null
+++ b/icon/border-button-sunken.svg
@@ -0,0 +1,10 @@
+
diff --git a/icon/border-raised.svg b/icon/border-raised.svg
new file mode 100644
index 0000000..1aa8d5d
--- /dev/null
+++ b/icon/border-raised.svg
@@ -0,0 +1,10 @@
+
diff --git a/icon/sunken-panel-border.svg b/icon/border-sunken.svg
similarity index 100%
rename from icon/sunken-panel-border.svg
rename to icon/border-sunken.svg
diff --git a/icon/border-table-header-sunken.svg b/icon/border-table-header-sunken.svg
new file mode 100644
index 0000000..834934c
--- /dev/null
+++ b/icon/border-table-header-sunken.svg
@@ -0,0 +1,6 @@
+
diff --git a/style.css b/style.css
index f222a15..dd5236f 100644
--- a/style.css
+++ b/style.css
@@ -49,26 +49,11 @@
--checkmark-left: 3px;
/* Borders */
- --border-width: 1px;
- --border-raised-outer: inset -1px -1px var(--window-frame),
- inset 1px 1px var(--button-highlight);
- --border-raised-inner: inset -2px -2px var(--button-shadow),
- inset 2px 2px var(--button-face);
- --border-sunken-outer: inset -1px -1px var(--button-highlight),
- inset 1px 1px var(--window-frame);
- --border-sunken-inner: inset -2px -2px var(--button-face),
- inset 2px 2px var(--button-shadow);
-
- /* Window borders flip button-face and button-highlight */
- --border-window-outer: inset -1px -1px var(--window-frame),
- inset 1px 1px var(--button-face);
- --border-window-inner: inset -2px -2px var(--button-shadow),
- inset 2px 2px var(--button-highlight);
-
- /* Field borders (checkbox, input, etc) flip window-frame and button-shadow */
- --border-field: inset -1px -1px var(--button-highlight),
- inset 1px 1px var(--button-shadow), inset -2px -2px var(--button-face),
- inset 2px 2px var(--window-frame);
+ --border-button-raised: svg-load("./icon/border-button-raised.svg");
+ --border-button-sunken: svg-load("./icon/border-button-sunken.svg");
+ --border-table-header-sunken: svg-load("./icon/border-table-header-sunken.svg");
+ --border-raised: svg-load("./icon/border-raised.svg");
+ --border-sunken: svg-load("./icon/border-sunken.svg");
}
@font-face {
@@ -137,25 +122,19 @@ input[type="reset"] {
color: transparent;
text-shadow: 0 0 var(--text-color);
background: var(--surface);
- box-shadow: var(--border-raised-outer), var(--border-raised-inner);
+ border: 2px solid transparent;
+ border-image: var(--border-button-raised) 2;
border-radius: 0;
min-width: 75px;
min-height: 23px;
- padding: 0 12px;
-}
-
-.vertical-bar {
- width: 4px;
- height: 20px;
- background: #c0c0c0;
- box-shadow: var(--border-raised-outer), var(--border-raised-inner);
+ padding: 0 10px;
}
button:not(:disabled):active,
input[type="submit"]:not(:disabled):active,
input[type="reset"]:not(:disabled):active {
- box-shadow: var(--border-sunken-outer), var(--border-sunken-inner);
+ border-image: var(--border-button-sunken) 2;
text-shadow: 1px 1px var(--text-color);
}
@@ -163,7 +142,7 @@ input[type="reset"]:not(:disabled):active {
button:not(:disabled):hover,
input[type="submit"]:not(:disabled):hover,
input[type="reset"]:not(:disabled):hover {
- box-shadow: var(--border-sunken-outer), var(--border-sunken-inner);
+ border-image: var(--border-button-sunken) 2;
}
}
@@ -195,9 +174,10 @@ input[type="reset"]:disabled,
}
.window {
- box-shadow: var(--border-window-outer), var(--border-window-inner);
+ border: 2px solid transparent;
+ border-image: var(--border-raised) 2;
background: var(--surface);
- padding: 3px;
+ padding: 1px;
}
.title-bar {
@@ -249,32 +229,32 @@ input[type="reset"]:disabled,
.title-bar-controls button[aria-label="Minimize"] {
background-image: svg-load("./icon/minimize.svg");
background-repeat: no-repeat;
- background-position: bottom 3px left 4px;
+ background-position: bottom 1px left 2px;
}
.title-bar-controls button[aria-label="Maximize"] {
background-image: svg-load("./icon/maximize.svg");
background-repeat: no-repeat;
- background-position: top 2px left 3px;
+ background-position: top left 1px;
}
.title-bar-controls button[aria-label="Restore"] {
background-image: svg-load("./icon/restore.svg");
background-repeat: no-repeat;
- background-position: top 2px left 3px;
+ background-position: top left 1px;
}
.title-bar-controls button[aria-label="Help"] {
background-image: svg-load("./icon/help.svg");
background-repeat: no-repeat;
- background-position: top 2px left 5px;
+ background-position: top left 3px;
}
.title-bar-controls button[aria-label="Close"] {
margin-left: 2px;
background-image: svg-load("./icon/close.svg");
background-repeat: no-repeat;
- background-position: top 3px left 4px;
+ background-position: top 1px left 2px;
}
.status-bar {
@@ -296,7 +276,7 @@ input[type="reset"]:disabled,
fieldset {
border-image: svg-load("./icon/groupbox-border.svg") 2;
- padding: calc(2 * var(--border-width) + var(--element-spacing));
+ padding: calc(2 + var(--element-spacing));
padding-block-start: var(--element-spacing);
margin: 0;
}
@@ -407,7 +387,9 @@ input[type="checkbox"] + label::before {
width: var(--checkbox-width);
height: var(--checkbox-width);
background: var(--button-highlight);
- box-shadow: var(--border-field);
+ box-sizing: border-box;
+ border: 2px solid transparent;
+ border-image: var(--border-sunken) 2;
margin-right: var(--radio-label-spacing);
}
@@ -442,9 +424,9 @@ input[type="email"],
input[type="number"],
select,
textarea {
- padding: 3px 4px;
- border: none;
- box-shadow: var(--border-field);
+ padding: 1px 2px;
+ border: 2px solid transparent;
+ border-image: var(--border-sunken) 2;
background-color: var(--button-highlight);
box-sizing: border-box;
-webkit-appearance: none;
@@ -489,9 +471,9 @@ select {
-webkit-appearance: none;
-moz-appearance: none;
position: relative;
- padding-right: 32px;
+ padding-right: 30px;
background-image: svg-load("./icon/button-down.svg");
- background-position: top 2px right 2px;
+ background-position: top right;
background-repeat: no-repeat;
border-radius: 0;
}
@@ -638,8 +620,9 @@ a:focus {
ul.tree-view {
display: block;
background: var(--button-highlight);
- box-shadow: var(--border-field);
- padding: 6px;
+ border: 2px solid transparent;
+ border-image: var(--border-sunken) 2;
+ padding: 4px;
margin: 0;
}
@@ -734,8 +717,9 @@ ul.tree-view details > summary::-webkit-details-marker {
pre {
display: block;
background: var(--button-highlight);
- box-shadow: var(--border-field);
- padding: 12px 8px;
+ border: 2px solid transparent;
+ border-image: var(--border-sunken) 2;
+ padding: 10px 6px;
margin: 0;
}
@@ -765,7 +749,8 @@ summary:focus {
::-webkit-scrollbar-thumb {
background-color: var(--button-face);
- box-shadow: var(--border-raised-outer), var(--border-raised-inner);
+ border: 2px solid transparent;
+ border-image: var(--border-raised) 2;
}
::-webkit-scrollbar-button:horizontal:start:decrement,
@@ -794,14 +779,14 @@ summary:focus {
.sunken-panel {
box-sizing: border-box;
- border: 2px groove transparent;
- border-image: svg-load("./icon/sunken-panel-border.svg") 2;
+ border: 2px solid transparent;
+ border-image: var(--border-sunken) 2;
overflow: auto;
background-color: #fff;
}
table {
- border-collapse: collapse;
+ border-spacing: 0;
position: relative;
text-align: left;
white-space: nowrap;
@@ -811,12 +796,16 @@ table {
table > thead > tr > * {
position: sticky;
top: 0;
- height: 17px;
- box-shadow: var(--border-raised-outer), var(--border-raised-inner);
+ height: 18px;
+ border: 2px solid transparent;
+ border-image: var(--border-button-raised) 2;
background: var(--surface);
box-sizing: border-box;
font-weight: normal;
padding: 0 var(--grouped-element-spacing);
+ vertical-align: bottom;
+ color: transparent;
+ text-shadow: 0 0 var(--text-color);
}
table.interactive > tbody > tr {
@@ -829,6 +818,7 @@ table > tbody > tr.highlighted {
}
table > tbody > tr > * {
+ border: 2px solid transparent;
padding: 0 var(--grouped-element-spacing);
- height: 14px;
+ height: 13px;
}
\ No newline at end of file