Bug 590817 - Use physical units (mozmm) for core CSS lengths [r=mbrubeck r=wjohnston]
authorMark Finkle <mfinkle@mozilla.com>
Thu, 13 Jan 2011 18:36:56 -0500
changeset 67254 e8a86deef3986c28153e9b3ee5155695eb302181
parent 67253 1d2d9b6d70daa55dc88fd6d81b0421c0f81bab35
child 67255 74ff0c22c7a993bcbabf02d1035f85ece2037910
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmbrubeck, wjohnston
bugs590817
Bug 590817 - Use physical units (mozmm) for core CSS lengths [r=mbrubeck r=wjohnston]
mobile/themes/core/browser.css
mobile/themes/core/defines.inc
mobile/themes/core/images/addons-default-64.png
mobile/themes/core/images/addons-default-hdpi.png
mobile/themes/core/images/appmenu-addons-hdpi.png
mobile/themes/core/images/appmenu-downloads-hdpi.png
mobile/themes/core/images/appmenu-preferences-hdpi.png
mobile/themes/core/images/appmenu-site-hdpi.png
mobile/themes/core/images/back-default-64.png
mobile/themes/core/images/back-default-hdpi.png
mobile/themes/core/images/console-default-64.png
mobile/themes/core/images/console-default-hdpi.png
mobile/themes/core/images/downloads-default-64.png
mobile/themes/core/images/downloads-default-hdpi.png
mobile/themes/core/images/dropmarker-hdpi.png
mobile/themes/core/images/forward-default-64.png
mobile/themes/core/images/forward-default-hdpi.png
mobile/themes/core/images/newtab-default-64.png
mobile/themes/core/images/newtab-default-hdpi.png
mobile/themes/core/images/preferences-default-64.png
mobile/themes/core/images/preferences-default-hdpi.png
mobile/themes/core/images/settings-default-64.png
mobile/themes/core/images/settings-default-hdpi.png
mobile/themes/core/jar.mn
mobile/themes/core/notification.css
mobile/themes/core/platform.css
--- a/mobile/themes/core/browser.css
+++ b/mobile/themes/core/browser.css
@@ -30,23 +30,18 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-%ifdef MOZ_PLATFORM_MAEMO
-%define ORIENTATION -moz-device-orientation
-%elifdef ANDROID
-%define ORIENTATION -moz-device-orientation
-%else
-%define ORIENTATION orientation
-%endif
+%filter substitution
+%include defines.inc
 
 /* main toolbar (URL bar) -------------------------------------------------- */
 #toolbar-main {
   -moz-appearance: none;
   -moz-box-align: center;
   padding: 0;
   border: none;
   background: #5e6166;
@@ -56,64 +51,64 @@
   position: fixed;
   left: 0;
   z-index: 1000;
 }
 
 /* main toolbar buttons */
 toolbarbutton.urlbar-button {
   /* space out the buttons a bit horizontally */
-  -moz-margin-start: 8px; /* core spacing */
+  -moz-margin-start: @margin_normal@; /* core spacing */
 }
 
 %ifndef ANDROID
 /* MAEMO (and desktop) only */
 #tool-app-switch {
-  margin-top: -8px; /* force the button to go to the edge */
+  margin-top: -@margin_normal@; /* force the button to go to the edge */
   -moz-margin-start: 0; /* force the button to go to the edge */
-  min-width: 72px !important; /* 72, not 64 to make up for the negative margin */
-  min-height: 72px !important; /* 72, not 64 to make up for the negative margin */
+  min-width: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
+  min-height: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
   visibility: collapse;
-  -moz-margin-end: 8px; /* core spacing */
+  -moz-margin-end: @margin_normal@; /* core spacing */
   list-style-image: url("chrome://browser/skin/images/task-switch-hdpi.png");
   background-color: transparent !important;
   border: none !important;
 }
 
 #tool-app-switch:hover:active {
   background-color: #8db8d8 !important;
-  -moz-border-radius-bottomright: 6px;
+  -moz-border-radius-bottomright: @border_radius_small@;
 }
 
 #toolbar-main[fullscreen="true"] #tool-app-switch:not(:-moz-system-metric(maemo-classic)) {
   visibility: visible;
 }
 
 /* MAEMO (and desktop) only */
 #tool-app-close {
-  margin-top: -8px; /* force the button to go to the edge */
+  margin-top: -@margin_normal@; /* force the button to go to the edge */
   -moz-margin-end: 0 !important; /* force the button to go to the edge */
-  min-width: 72px !important; /* 72, not 64 to make up for the negative margin */
-  min-height: 72px !important; /* 72, not 64 to make up for the negative margin */
+  min-width: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
+  min-height: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
   visibility: collapse;
   list-style-image: url("chrome://browser/skin/images/task-close-hdpi.png");
   background-color: transparent !important;
   border: none !important;
 }
 
 #tool-app-close:hover:active {
   background-color: #8db8d8 !important;
 }
 
 #tool-app-close:hover:active:-moz-locale-dir(ltr) {
-  -moz-border-radius-bottomleft: 6px;
+  -moz-border-radius-bottomleft: @border_radius_small@;
 }
 
 #tool-app-close:hover:active:-moz-locale-dir(rtl) {
-  -moz-border-radius-bottomright: 6px;
+  -moz-border-radius-bottomright: @border_radius_small@;
 }
 
 #toolbar-main[fullscreen="true"] #tool-app-close {
   visibility: visible;
 }
 
 #toolbar-main[dialog="true"] #tool-app-close {
   visibility: visible;
@@ -123,61 +118,61 @@ toolbarbutton.urlbar-button {
 #toolbar-main[dialog="true"] #tool-app-close:-moz-locale-dir(rtl) {
   list-style-image: url("chrome://browser/skin/images/task-back-rtl-hdpi.png");
 }
 %endif
 
 /* URL bar ----------------------------------------------------------------- */
 #urlbar-container {
   color: #000;
-  border-radius: 8px;
-  margin: 8px;
+  border-radius: @border_radius_normal@;
+  margin: @margin_normal@;
   background: url("chrome://browser/skin/images/button-bg.png") bottom left repeat-x;
 }
 
 #urlbar-container[mode="edit"] > #identity-box {
   visibility: collapse;
 }
 
 /* URL bar cap buttons */
 .urlbar-cap-button {
   margin: 0 !important;
   padding: 0 !important;
   border: 0 solid transparent;
-  min-width: 64px !important;
-  max-width: 64px !important;
+  min-width: @touch_button_large@ !important;
+  max-width: @touch_button_large@ !important;
   -moz-box-flex: 1;
   -moz-box-align: center;
   -moz-box-pack: center;
   background-image: url("chrome://browser/skin/images/endcap-default-bg.png");
 }
 
 .urlbar-cap-button[open="true"],
 .urlbar-cap-button:not([disabled="true"]):hover:active {
   background-image: url("chrome://browser/skin/images/endcap-active-bg.png");
 }
 
 /* left cap button --------------------------------------------------------- */
 #identity-box {
-  border-right: 1px solid rgba(118,121,126,0.5) !important;
+  border-right: @border_width_tiny@ solid rgba(118,121,126,0.5) !important;
 }
 
 #identity-box:-moz-locale-dir(ltr) {
-  -moz-border-radius-topleft: 8px;
-  -moz-border-radius-bottomleft: 8px;
+  -moz-border-radius-topleft: @border_radius_normal@;
+  -moz-border-radius-bottomleft: @border_radius_normal@;
 }
 
 #identity-box:-moz-locale-dir(rtl) {
-  -moz-border-radius-topright: 8px;
-  -moz-border-radius-bottomright: 8px;
+  -moz-border-radius-topright: @border_radius_normal@;
+  -moz-border-radius-bottomright: @border_radius_normal@;
 }
 
 #identity-box[open="true"],
 #identity-box:hover:active {
-  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-right: @border_width_tiny@ solid rgba(0, 0, 0, 0.2);
 }
 
 /* add special color */
 #identity-box[mode="verifiedIdentity"] {
   background-image: url("chrome://browser/skin/images/endcap-ev-default-bg.png");
 }
 
 #identity-box[mode="verifiedIdentity"][open="true"],
@@ -204,93 +199,93 @@ toolbarbutton.urlbar-button {
 }
 
 #urlbar-favicon[src=""] {
   list-style-image: url("chrome://browser/skin/images/favicon-default-30.png");
 }
 
 /* Main urlbar textbox */
 #urlbar-title {
-  padding: 16px 8px;
+  padding: @padding_xxxnormal@ @padding_normal@;
 }
 
 #urlbar-title.placeholder {
   color: gray;
 }
 
 #urlbar-edit,
 #urlbar-title {
   margin: 0 !important;
-  border-left: 1px solid white;
-  border-right: 1px solid white;
-  min-height: 64px;
+  border-left: @border_width_tiny@ solid white;
+  border-right: @border_width_tiny@ solid white;
+  min-height: @touch_normal@;
 }
 
 #urlbar-edit,
 #urlbar-title:hover:active {
   background-color: #f9f9f9;
   background: url("chrome://browser/skin/images/textbox-bg.png") bottom left repeat-x;
 }
 
 #urlbar-edit {
   -moz-appearance: none !important;
   border-radius: 0;
   border: 0 solid transparent;
-  border-right: 1px solid rgba(0,0,0,0.5);
+  border-right: @border_width_tiny@ solid rgba(0,0,0,0.5);
   padding: 0 !important;
 }
 
 #urlbar-edit:-moz-locale-dir(ltr) {
-  -moz-border-radius-topleft: 8px;
-  -moz-border-radius-bottomleft: 8px;
+  -moz-border-radius-topleft: @border_radius_normal@;
+  -moz-border-radius-bottomleft: @border_radius_normal@;
 }
 
 #urlbar-edit:-moz-locale-dir(rtl) {
-  -moz-border-radius-topright: 8px;
-  -moz-border-radius-bottomright: 8px;
+  -moz-border-radius-topright: @border_radius_normal@;
+  -moz-border-radius-bottomright: @border_radius_normal@;
 }
 
 #urlbar-edit > hbox > .textbox-input-box {
   margin: 0;
 }
 
 :invalid {
   box-shadow: none;
 }
 
 #urlbar-edit > hbox > hbox > .textbox-input {
-  min-height: 60px;
-  text-indent: 8px;
+  min-height: @urlbar_edit_height@;
+  text-indent: @urlbar_edit_indent@;
 }
 
 /* Right cap button --------------------------------------------------------- */
 #urlbar-icons {
-  border-left: 1px solid rgba(118,121,126,0.5) !important;
+  border-left: @border_width_tiny@ solid rgba(118,121,126,0.5) !important;
 }
 
 #urlbar-icons:-moz-locale-dir(ltr) {
-  -moz-border-radius-topright: 8px;
-  -moz-border-radius-bottomright: 8px;
+  -moz-border-radius-topright: @border_radius_normal@;
+  -moz-border-radius-bottomright: @border_radius_normal@;
 }
 
 #urlbar-icons:-moz-locale-dir(rtl) {
-  -moz-border-radius-topleft: 8px;
-  -moz-border-radius-bottomleft: 8px;
+  -moz-border-radius-topleft: @border_radius_normal@;
+  -moz-border-radius-bottomleft: @border_radius_normal@;
 }
 
 #urlbar-icons[disabled="true"] {
   pointer-events: none;
 }
 
 #urlbar-icons[disabled="true"] > toolbarbutton {
   opacity: 0.5;
 }
 
 #urlbar-icons:not([disabled="true"]):hover:active {
-  border-left: 1px solid rgba(0, 0, 0, 0.2);
+  border-left: @border_width_tiny@ solid rgba(0, 0, 0, 0.2);
 }
 
 #tool-reload {
   list-style-image: url("chrome://browser/skin/images/reload-hdpi.png");
 }
 
 #tool-stop {
   list-style-image: url("chrome://browser/skin/images/stop-hdpi.png");
@@ -314,34 +309,34 @@ toolbarbutton.urlbar-button {
 #urlbar-icons[mode="edit"] > #tool-stop {
   visibility: collapse;
 }
 
 /* right toolbar (browser controls) ---------------------------------------- */
 #browser-controls {
   -moz-box-align: start;
   padding: 0;
-  -moz-border-start: 3px solid #262629;
-  min-width: 80px !important;
+  -moz-border-start: @border_width_large@ solid #262629;
+  min-width: @sidebar_width_minimum@ !important;
   background: #5e6166;
 }
 
 toolbarbutton.button-control {
   padding: 0 !important;
-  min-width: 80px !important;
-  border-top: 1px solid rgba(255,255,255,0.2) !important;
-  border-bottom: 1px solid rgba(0,0,0,0.2) !important;
+  min-width: @sidebar_width_minimum@ !important;
+  border-top: @border_width_tiny@ solid rgba(255,255,255,0.2) !important;
+  border-bottom: @border_width_tiny@ solid rgba(0,0,0,0.2) !important;
   background-color: transparent !important;
   -moz-box-align: center;
   -moz-box-pack: center;
-  height: 70px;
+  height: @sidebar_button_height@;
 }
 
 toolbarbutton.button-control:last-child {
-  border-bottom: 0px solid rgba(0,0,0,0.2) !important;
+  border-bottom: 0 solid rgba(0,0,0,0.2) !important;
 }
 
 toolbarbutton.button-control[disabled="true"] {
   opacity: 0.5;
 }
 
 toolbarbutton.button-control:not([disabled="true"]):hover:active {
   background-image: url("chrome://browser/skin/images/sidebarbutton-active-hdpi.png");
@@ -353,53 +348,53 @@ toolbarbutton.button-control:not([disabl
 }
 
 #tool-star[starred="true"] {
   list-style-image: url("chrome://browser/skin/images/bookmark-starred-hdpi.png");
 }
 
 #tool-back,
 #tool-forward:-moz-locale-dir(rtl) {
-  list-style-image: url("chrome://browser/skin/images/back-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/back-default-hdpi.png");
 }
 
 #tool-back:-moz-locale-dir(rtl),
 #tool-forward {
-  list-style-image: url("chrome://browser/skin/images/forward-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/forward-default-hdpi.png");
 }
 
 #tool-panel-open {
-  list-style-image: url("chrome://browser/skin/images/settings-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/settings-default-hdpi.png");
 }
 
 %ifndef ANDROID
 /* MAEMO (and desktop) only */
 .panel-close {
-  min-width: 72px !important; /* 72, not 64 to make up for the negative margin */
-  max-width: 72px !important; /* 72, not 64 to make up for the negative margin */
-  min-height: 72px !important; /* 72, not 64 to make up for the negative margin */
+  min-width: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
+  max-width: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
+  min-height: @touch_button_xlarge@ !important; /* 72, not 64 to make up for the negative margin */
   list-style-image: url("chrome://browser/skin/images/task-back-hdpi.png");
   background: transparent !important;
   border: none !important;
 }
 
 .panel-close:hover:active {
   background-color: #8db8d8 !important;
 }
 
 .panel-close:hover:active:-moz-locale-dir(ltr) {
-  -moz-border-radius-bottomleft: 6px;
+  -moz-border-radius-bottomleft: @border_radius_small@;
 }
 
 .panel-close:-moz-locale-dir(rtl) {
   list-style-image: url("chrome://browser/skin/images/task-back-rtl-hdpi.png");
 }
 
 .panel-close:hover:active:-moz-locale-dir(rtl) {
-  -moz-border-radius-bottomright: 6px;
+  -moz-border-radius-bottomright: @border_radius_small@;
 }
 %endif
 
 /* awesomescreen buttons --------------------------------------------------- */
 toolbarbutton.choice-all {
   list-style-image: url(chrome://browser/skin/images/allpages-48.png);
 }
 
@@ -426,70 +421,68 @@ toolbarbutton.choice-remotetabs {
  */
 #browsers > notificationbox {
   -moz-user-focus: ignore;
 }
 
 /* browser tools panel UI   ------------------------------------------------ */
 .panel-header {
   margin: 0;
-  padding: 4px 8px 8px 8px;
+  padding: @padding_small@ @padding_normal@ @padding_normal@ @padding_normal@;
   font-weight: bold;
   color: white !important;
   background-color: rgb(101, 121, 227) !important;
 }
 
 #tool-addons {
-  list-style-image: url("chrome://browser/skin/images/addons-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/addons-default-hdpi.png");
 }
 
 #tool-downloads {
-  list-style-image: url("chrome://browser/skin/images/downloads-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/downloads-default-hdpi.png");
 }
 
 #tool-preferences {
-  list-style-image: url("chrome://browser/skin/images/preferences-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/preferences-default-hdpi.png");
 }
 
 #tool-console {
-  list-style-image: url("chrome://browser/skin/images/console-default-64.png");
+  list-style-image: url("chrome://browser/skin/images/console-default-hdpi.png");
 }
 
 /* preferences panel UI -----------------------------------------------------*/
 #menulist-container[for="prefs-homepage-options"] .menulist-command.selected {
   pointer-events: none;
 }
 
 /* bug 597296 - The language.properties file is LTR and never translated */
 #prefs-languages .menulist-label {
   direction: ltr !important;
 }
 
 /* addons panel UI   ------------------------------------------------------- */
-%expand @media (__ORIENTATION__: landscape) {
-  #addons-repo {
-    -moz-box-orient: horizontal;
-    -moz-box-align: center;
-  }
+#addons-repo {
+  -moz-box-orient: horizontal;
+  -moz-box-align: center;
 }
 
-%expand @media (__ORIENTATION__: portrait) {
+@media (@orientation@: portrait) {
   #addons-repo {
     -moz-box-orient: vertical;
     -moz-box-pack: center;
   }
 }
 
 .addon-image,
 .searchplugin-image {
   list-style-image: url("chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png");
   width: 32px;
   height: 32px;
-  -moz-margin-start: 8px;
-  -moz-margin-end: 8px;
+  -moz-margin-start: @margin_normal@;
+  -moz-margin-end: @margin_normal@;
 }
 
 .addon-rating[rating] {
   width: 78px;
   height: 18px;
   list-style-image: url("chrome://browser/skin/images/ratings-18.png");
 }
 
@@ -517,18 +510,18 @@ toolbarbutton.choice-remotetabs {
   -moz-image-region: rect(90px 78px 108px 0px);
 }
 
 .addon-showmore-image,
 .addon-banner-image {
   width: 32px;
   height: 32px;
   list-style-image: url("chrome://browser/skin/images/addons-32.png");
-  -moz-margin-start: 8px;
-  -moz-margin-end: 8px;
+  -moz-margin-start: @margin_normal@;
+  -moz-margin-end: @margin_normal@;
 }
 
 richlistitem[isDisabled="true"] .title {
   color: gray;
 }
 
 richlistitem[isDisabled="true"] .normal {
   color: lightgray;
@@ -551,36 +544,34 @@ richlistitem[typeName="showmore"] {
 }
 
 .download-retry-failed[state="2"] {
   display: -moz-box;
 }
 
 /* special "no downloads" items */
 #dl-empty-message {
-  margin-top: 140px; /* 2 times row height */
+  margin-top: -moz-calc(2 * @touch_row@); /* 2 times row height */
   font-style: italic;
   border-bottom: none;
 }
 
 #dl-empty-message:active {
   background-color: white;
 }
 
 #dl-empty-message > label {
   text-align: center;
   color: grey;
 }
 
 /* console panel UI   ------------------------------------------------------ */
-@media (min-width: 500px) {
-  #console-filter-warnings,
-  #console-filter-messages {
-    visibility: visible;
-  }
+#console-filter-warnings,
+#console-filter-messages {
+  visibility: visible;
 }
 
 @media (max-width: 499px) {
   #console-filter-warnings,
   #console-filter-messages {
     visibility: collapse;
   }
 }
@@ -597,38 +588,38 @@ richlistitem[typeName="showmore"] {
 
 .place-list-parents placelabel:last-child:not(:only-child) {
   visibility: visible;
 }
 
 /* be consistent with the size of placeitem */
 placelabel {
   -moz-box-align: center;
-  -moz-padding-end: 80px;
+  -moz-padding-end: @placelabel_padding@;
   background-image: url(images/arrowup-16.png), url("images/row-header-bg.png");
   background-repeat: no-repeat, repeat-x;
   background-position: 98% 50%, top left;
   background-size: auto auto, auto 100%;
   color: #000;
-  min-height: 70px; /* row size */
+  min-height: @touch_row@; /* row size */
 }
 
 placelabel:-moz-locale-dir(rtl) {
   background-position: 2% 50%, top left;
 }
 
 placelabel:hover:active {
   background-image: url(images/arrowup-16.png);
   background-color: #8db8d8;
 }
 
 /* folder bookmarks row */
 placeitem[type="folder"] {
   -moz-box-pack: center;
-  -moz-padding-end: 40px;
+  -moz-padding-end: @placeitem_padding@;
   background-image: url(images/arrowright-16.png);
   background-repeat: no-repeat;
   background-position: 98% 50%;
 }
 
 placeitem[type="folder"]:-moz-locale-dir(rtl) {
   background-image: url(images/arrowleft-16.png);
   background-position: 2% 50%;
@@ -645,17 +636,17 @@ placeitem[type="folder"] > .bookmark-man
 }
 
 placeitem[type="folder"] .bookmark-item-url {
   display: none;
 }
 
 /* bookmark manage controls */
 placeitem > .bookmark-manage .bookmark-controls {
-  padding-top: 8px;
+  padding-top: @padding_normal@;
 }
 
 /* bookmark popup for star button */
 placeitem[ui="manage"] {
   border-bottom: 0;
 }
 
 placeitem[ui="manage"] > .bookmark-manage > image {
@@ -667,19 +658,19 @@ placeitem[ui="manage"] > .bookmark-manag
   background-color: white;
 }
 
 autocompleteresult,
 placeitem {
   -moz-user-focus: ignore;
   color: black;
   background-color: white;
-  padding: 2px 4px;
-  border-bottom: 1px solid rgb(207,207,207);
-  min-height: 70px; /* row size */
+  padding: @padding_xsmall@ @padding_small@;
+  border-bottom: @border_width_tiny@ solid rgb(207,207,207);
+  min-height: @touch_row@; /* row size */
 }
 
 #popup_autocomplete autocompleteresult:hover:active,
 placelist placeitem:hover:active:not([selected="true"]),
 historylist autocompleteresult:hover:active:not([selected="true"]):not([class="history-item-title"]),
 remotetabslist autocompleteresult:hover:active:not([selected="true"]):not([class="remotetabs-item-title"]),
 .autocompleteresult-selected {
   background-color: #8db8d8;
@@ -688,50 +679,50 @@ remotetabslist autocompleteresult:hover:
 .autocomplete-item-container,
 .bookmark-item-container {
   margin: 0;
   padding: 0;
 }
 
 .autocomplete-item-label,
 .bookmark-item-label {
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
   font-weight: normal;
-  -moz-margin-end: 8px;
+  -moz-margin-end: @margin_normal@;
 }
 
 .autocomplete-item-container > image,
 .bookmark-item-container > image,
 placeitem > .bookmark-manage > image {
   width: 32px;
   height: 32px;
   max-height: 32px;
   /* margin-top = (1 - title's line-height) * title's font-size */
-  margin-top: 5px;
+  margin-top: @autocomplete_item_container_image_padding@;
   margin-bottom: 0;
-  -moz-margin-end: 16px;
-  -moz-margin-start: 8px;
+  -moz-margin-end: @margin_xxxnormal@;
+  -moz-margin-start: @margin_normal@;
 }
 
 .autocomplete-item-container > image[src=""],
 placeitem[src=""] .bookmark-item-container > image {
   list-style-image: url(chrome://mozapps/skin/places/defaultFavicon.png);
 }
 
 .autocomplete-item-container > vbox > label,
 .bookmark-item-container > vbox > label {
-  -moz-margin-start: 1px;
+  -moz-margin-start: @margin_xtiny@;
 }
 
 .autocomplete-item-container[favorite="true"],
 .autocomplete-item-container[remote="true"],
 .autocomplete-item-container[search="true"] {
   background-repeat: no-repeat;
-  background-position: 100% 2px;
-  background-size: 26px 26px;
+  background-position: 100% @autocomplete_item_container_position@;
+  background-size: @autocomplete_item_container_size@ @autocomplete_item_container_size@;
 }
 
 .autocomplete-item-container[favorite="true"] {
   background-image: url("chrome://browser/skin/images/autocomplete-bookmarked-hdpi.png");
 }
 
 .autocomplete-item-container[remote="true"] {
   background-image: url("chrome://browser/skin/images/autocomplete-desktop-hdpi.png");
@@ -739,74 +730,74 @@ placeitem[src=""] .bookmark-item-contain
 
 .autocomplete-item-container[search="true"] {
   background-image: url("chrome://browser/skin/images/autocomplete-search-hdpi.png");
 }
 
 .autocomplete-item-container[favorite="true"][remote="true"] {
   background-image: url("chrome://browser/skin/images/autocomplete-bookmarked-hdpi.png"),
                     url("chrome://browser/skin/images/autocomplete-desktop-hdpi.png");
-  background-position: 100% 2px,
-                        94% 2px;
-  -moz-padding-end: 48px;
+  background-position: 100% @autocomplete_item_container_position@,
+                        94% @autocomplete_item_container_position@;
+  -moz-padding-end: @autocomplete_item_container_padding@;
 }
 
 .autocomplete-item-container[favorite="true"]:-moz-locale-dir(rtl),
 .autocomplete-item-container[remote="true"]:-moz-locale-dir(rtl) {
-  background-position: left 2px;
+  background-position: left @autocomplete_item_container_position@;
 }
 
 .autocomplete-item-container[favorite="true"][remote="true"]:-moz-locale-dir(rtl) {
-  background-position: left 2px,
-                         6% 2px;
+  background-position: left @autocomplete_item_container_position@,
+                         6% @autocomplete_item_container_position@;
 }
 
 .autocomplete-item-subtitle,
 .bookmark-item-url {
   color: blue;
-  font-size: 18px !important;
-  -moz-margin-end: 26px;
+  font-size: @font_small@ !important;
+  -moz-margin-end: @autocomplete_item_subtitle_margin@;
 }
 
 .autocomplete-item-container[favorite="true"] .autocomplete-item-label,
 .autocomplete-item-container[remote="true"] .autocomplete-item-label,
 .autocomplete-item-container[search="true"] .autocomplete-item-label {
-  -moz-padding-end: 30px;
+  -moz-padding-end: @autocomplete_item_label_margin@;
 }
 
 .autocomplete-item-container[search="true"] .autocomplete-item-subtitle {
   color: black;
   font-size: smaller;
 }
 
 .autocomplete-item-tags,
 .bookmark-item-tags {
   content: attr(tags);
-  font-size: 18px !important;
+  font-size: @font_small@ !important;
   font-weight: lighter;
-  margin: 2px 0 4px 0;
-  -moz-margin-start: 8px;
-  -moz-padding-end: 32px;
+  margin: @margin_tiny@ 0 @margin_small@ 0;
+  -moz-margin-start: @margin_normal@;
+  -moz-padding-end: @autocomplete_item_tags_margin@;
 }
 
 .autocomplete-item-tags[value=""] {
   visibility: hidden;
 }
 
 .autocomplete-item-badge {
   opacity: 1;
   -moz-transition: opacity 1s ease;
   background-color: #c90707;
-  border: 1px solid #951919;
-  -moz-border-radius: 2px;
+  border: @border_width_tiny@ solid #951919;
+  -moz-border-radius: @border_radius_tiny@;
   content: attr(badge);
-  font-size: 12px !important;
+  font-size: @font_xtiny@ !important;
   font-weight: bolder;
-  margin: 4px 0 0 0;
-  padding: 4px 6px;
+  margin: @margin_small@ 0 0 0;
+  padding: @padding_small@ @padding_snormal@;
   color: white;
 }
 
 autocompleteresult:not([badge]) .autocomplete-item-badge,
 .autocomplete-item-badge[value=""] {
   opacity: 0;
   -moz-transition: none;
 }
@@ -816,25 +807,25 @@ autocompleteresult[class="history-item-t
 autocompleteresult[class="remotetabs-item-title"],
 .settings-title {
   min-height: 0;
   color: black;
   font-size: smaller;
   font-weight: bold;
   background-color: transparent;
   margin: 0;
-  padding: 5px 10px;
+  padding: @autocompleteresult_padding@ @padding_xnormal@;
   background-image: url(images/row-header-bg.png);
   background-repeat: repeat-x;
   background-size: auto 100%;
 }
 
 autocompleteresult[class="history-item-title"] .autocomplete-item-label,
 autocompleteresult[class="remotetabs-item-title"] .autocomplete-item-label {
-  font-size: 18px !important;
+  font-size: @font_small@ !important;
   font-weight: bold !important;
 }
 
 autocompleteresult[class="history-item-title"] .autocomplete-item-subtitle,
 autocompleteresult[class="history-item-title"] .autocomplete-item-tags,
 autocompleteresult[class="history-item-title"] .autocomplete-item-badge,
 autocompleteresult[class="remotetabs-item-title"] .autocomplete-item-subtitle,
 autocompleteresult[class="remotetabs-item-title"] .autocomplete-item-tags,
@@ -849,17 +840,17 @@ autocompleteresult[class="history-item-t
 autocompleteresult[class="remotetabs-item-title"] .bookmark-item-subtitle,
 autocompleteresult[class="remotetabs-item-title"] .autocomplete-item-tags,
 autocompleteresult[class="remotetabs-item-title"] .autocomplete-item-badge {
   display: none;
 }
 
 autocompleteresult[class="history-item-title"] .bookmark-item-container,
 autocompleteresult[class="remotetabs-item-title"] .bookmark-item-container {
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 autocompleteresult[class="history-item-title"] image,
 autocompleteresult[class="remotetabs-item-title"] image {
   display: none;
 }
 
 autocompleteresult.noresults {
@@ -873,60 +864,60 @@ autocompleteresult.noresults:hover:activ
 
 autocompleteresult.noresults > .autocomplete-item-container {
   text-align: center;
   color: grey;
 }
 
 /* Left sidebar (tabs)  ---------------------------------------------------- */
 #tabs-container {
-  -moz-border-end: 3px solid #262629;
+  -moz-border-end: @border_width_large@ solid #262629;
   background: #5e6166;
 }
 
 #tabs:-moz-locale-dir(rtl) {
   -moz-box-align: start;
 }
 
 #tabs > .tabs-list {
   display: block;
   -moz-column-width: 121px;
   -moz-column-gap: 0;
   -moz-user-focus: ignore;
   padding: 0;
   background-color: transparent;
   margin: 0;
-  -moz-padding-end: 8px; /* core spacing */
-  -moz-padding-start: 4px; /* allow the thumbnails to get close to the edge */
+  -moz-padding-end: @padding_normal@; /* core spacing */
+  -moz-padding-start: @padding_small@; /* allow the thumbnails to get close to the edge */
 }
 
 #tabs-controls {
-  margin-top: 8px; /* core spacing */
+  margin-top: @margin_normal@; /* core spacing */
   -moz-box-pack: center;
 }
 
 documenttab {
   /* display:block allow us to change the line-height, it won't work otherwise */
   display: block;
   line-height: 0;
 
-  -moz-margin-start: 10px;
-  margin-bottom: 5px;
+  -moz-margin-start: @margin_xnormal@;
+  margin-bottom: @documenttab_margin_bottom@;
   width: 121px;
-  padding: 8px;
-  padding-bottom: 10px;
+  padding: @padding_normal@;
+  padding-bottom: @padding_xnormal@;
   background: url("chrome://browser/skin/images/tab-inactive-hdpi.png") bottom repeat-x;
-  border-radius: 6px;
+  border-radius: @border_radius_small@;
   background-clip: padding-box;
-  border: 1px solid rgba(0,0,0,.1);
-  border-bottom-width: 2px;
+  border: @border_width_tiny@ solid rgba(0,0,0,0.1);
+  border-bottom-width: @border_width_small@;
 }
 
 documenttab[selected="true"] {
-  border-bottom-color: rgba(0,0,0,.2);
+  border-bottom-color: rgba(0,0,0,0.2);
   background: url("chrome://browser/skin/images/tab-active-hdpi.png") bottom repeat-x;
 }
 
 .documenttab-thumbnail {
   background-color: white;
   opacity: 0.5;
 }
 
@@ -973,43 +964,43 @@ documenttab[reload="true"] > stack > .do
 }
 
 documenttab[reload="true"] > stack > .documenttab-reload {
   display: -moz-box;
 }
 
 #newtab-button {
   -moz-box-flex: 1;
-  list-style-image: url("images/newtab-default-64.png");
-  height: 70px;
+  list-style-image: url("images/newtab-default-hdpi.png");
+  height: @sidebar_button_height@;
 }
 
 /* bookmark editor   ------------------------------------------------------- */
 #bookmark-container {
-  padding: 8px; /* core spacing */
+  padding: @padding_normal@; /* core spacing */
   background: rgb(94,97,102);
-  box-shadow: black 0 2px 2px;
+  box-shadow: black 0 @shadow_width_small@ @shadow_width_small@;
 }
 
 #bookmark-form {
-  padding: 8px; /* core spacing */
+  padding: @padding_normal@; /* core spacing */
 }
 
 #bookmark-form .bookmark-controls {
   display: none;
 }
 
 #bookmark-image {
   list-style-image: url("images/star-40.png");
 }
 
 /* Identity popup   -------------------------------------------------------- */
 #identity-popup-container {
-  padding: 8px; /* core spacing */
-  padding-bottom: 16px;
+  padding: @padding_normal@; /* core spacing */
+  padding-bottom: @padding_xxxnormal@;
 }
 
 /* Popup Icons */
 #identity-popup-icon {
   padding: 0;
   list-style-image: url("chrome://browser/skin/images/identity-default-hdpi.png");
 }
 
@@ -1018,18 +1009,18 @@ documenttab[reload="true"] > stack > .do
 }
 
 #identity-container[mode="verifiedDomain"] > hbox > #identity-popup-icon {
   list-style-image: url("chrome://browser/skin/images/identity-ssl-hdpi.png");
 }
 
 /* Popup Body Text */
 #identity-popup-content-box {
-  -moz-padding-start: 8px; /* core spacing */
-  font-size: 18px !important;
+  -moz-padding-start: @padding_normal@; /* core spacing */
+  font-size: @font_small@ !important;
   white-space: pre-wrap;
 }
 
 /* let the text flow into a second row, if needed */
 #identity-popup-runBy-box {
   display: block;
 }
 
@@ -1039,17 +1030,17 @@ documenttab[reload="true"] > stack > .do
 #identity-popup-content-box.unknownIdentity > hbox > #identity-popup-content-owner,
 #identity-popup-content-box.verifiedIdentity > hbox > #identity-popup-connectedToLabel2,
 #identity-popup-content-box.verifiedDomain > hbox > #identity-popup-connectedToLabel2 {
   display: none;
 }
 
 #identity-popup-encryption-label,
 #identity-popup-content-verifier {
-  font-size: 14px !important;
+  font-size: @font_tiny@ !important;
 }
 
 #identity-popup-content-host,
 #identity-popup-content-owner {
   font-weight: bold;
 }
 
 #identity-popup-encryption-icon {
@@ -1061,35 +1052,35 @@ documenttab[reload="true"] > stack > .do
   list-style-image: url("chrome://browser/skin/images/locked-hdpi.png");
 }
 
 /* Page Actions, Prompt, and Context Menu popups --------------------------- */
 .prompt-buttons,
 #context-commands,
 #pageactions-container {
   background: transparent;
-  border-top: 1px solid rgb(205,205,205);
+  border-top: @border_width_tiny@ solid rgb(205,205,205);
   padding: 0;
   -moz-user-focus: ignore;
   display: inline-block;
 }
 
 .prompt-button,
 .context-command,
 pageaction {
   -moz-border-top-colors: white;
   -moz-border-right-colors: rgb(175,175,175);
   -moz-border-bottom-colors: rgb(175,175,175);
   -moz-border-left-colors: white;
   border-style: solid;
-  border-width: 1px !important;
-  height: 64px;
-  min-height: 64px;
+  border-width: @border_width_tiny@ !important;
+  height: @touch_button_large@;
+  min-height: @touch_button_large@;
   width: 100%;
-  min-width: 200px; /* keep the button from being too narrow */
+  min-width: @touch_action_minwidth@; /* keep the button from being too narrow */
 }
 
 /* Override richlistbox and richlistitem styles */
 #context-commands > scrollbox {
   width: 100%;
 }
 
 .prompt-button,
@@ -1113,21 +1104,21 @@ pageaction {
   margin: 0;
   -moz-border-image: none !important;
   border-radius: 0;
   margin: 0;
   background: transparent;
 }
 
 .prompt-button > .button-box {
-  padding: 0 4px 1px 3px !important;
+  padding: 0 @padding_small@ @padding_tiny@ @padding_xsmall@ !important;
 }
 
 .prompt-button > .button-box > .button-icon {
-  -moz-margin-end: 8px;
+  -moz-margin-end: @margin_normal@;
 }
 
 @media (min-width: 500px) {
   .prompt-button,
   pageaction {
     width: 50%;
   }
 
@@ -1145,43 +1136,43 @@ pageaction:not([disabled]):hover:active 
   background-clip: border-box !important;
   -moz-border-top-colors: transparent;
   -moz-border-left-colors: transparent;
 }
 
 pageaction > hbox > .pageaction-image {
   width: 32px;
   height: 32px;
-  -moz-margin-end: 8px;
+  -moz-margin-end: @margin_normal@;
 }
 
 pageaction:not([image]) > hbox >.pageaction-image {
   width: 0;
 }
 
 .prompt-button,
 .context-command,
 .pageaction-title {
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
   color: #414141 !important;
 }
 
 .pageaction-desc {
-  font-size: 14px !important;
+  font-size: @font_tiny@ !important;
   color: #414141;
 }
 
 .pageaction-desc[value=""] {
   display: none;
 }
 
 #share-title,
 #context-hint {
-  font-size: 18px;
-  padding: 4px;
+  font-size: @font_small@;
+  padding: @padding_small@;
 }
 
 #context-hint[value=""] {
   visibility: collapse;
 }
 
 #search-engines-list > .prompt-button > .button-box > .button-text {
   text-align: start;
@@ -1190,43 +1181,43 @@ pageaction:not([image]) > hbox >.pageact
 
 #search-engines-list > .prompt-button > .button-box > .button-icon {
   width: 32px;
   height: 32px;
 }
 
 /* Preferences window   ---------------------------------------------------- */
 .setting {
-  padding-left: 10px;
-  border-bottom: 1px solid #cacdd5;
+  padding-left: @padding_xnormal@;
+  border-bottom: @border_width_tiny@ solid #cacdd5;
 }
 
 /* XXX should be a richlistitem */
 .prefbox {
-  padding: 2px;
-  border-bottom: 1px solid rgb(207,207,207);
-  min-height: 70px; /* row size */
+  padding: @padding_xsmall@;
+  border-bottom: @border_width_tiny@ solid rgb(207,207,207);
+  min-height: @touch_row@; /* row size */
   -moz-box-align: center;
 }
 
 .setting-group > .prefbox {
   border-bottom: none;
 }
 
 .setting-subgroup > .prefbox {
   border-bottom: none;
-  -moz-margin-start: 16px;
+  -moz-margin-start: @margin_xxxnormal@;
 }
 
 .setting-subgroup + :not(.setting-subgroup) > .prefbox {
-  border-top: 1px solid rgb(207,207,207);
+  border-top: @border_width_tiny@ solid rgb(207,207,207);
 }
 
 /* Put setting textboxes on a separate row in portrait */
-%expand @media (__ORIENTATION__: portrait) {
+@media (@orientation@: portrait) {
   .setting-integer,
   .setting-string {
     -moz-box-align: start;
     -moz-box-orient: vertical;
   }
 
   .setting-integer > .setting-input > textbox,
   .setting-string > .setting-input > textbox {
@@ -1240,62 +1231,60 @@ pageaction:not([image]) > hbox >.pageact
 }
 
 .options-box > setting:last-child > .prefbox {
   border-bottom: 0;
 }
 
 /* XXX should be a richlistitem description.title */
 .preftitle {
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 /* XXX should be a richlistitem description.normal */
 .prefdesc {
-  font-size: 18px !important;
+  font-size: @font_small@ !important;
   color: grey;
 }
 
 /* alerts popup ----------------------------------------------------------- */
-@media (min-width: 500px) {
-  #alerts-container {
-    width: 300px;
-  }
+#alerts-container {
+  width: 300px;
 }
 
 @media (max-width: 499px) {
   #alerts-container {
     width: 200px;
   }
 }
 
 #alerts-container {
   -moz-transform: translatex(100%);
   -moz-transition-property: -moz-transform;
   -moz-transition-duration: 0.5s;
-  margin-bottom: 20px;
-  -moz-margin-end: 20px;
+  margin-bottom: @margin_large@;
+  -moz-margin-end: @margin_large@;
 }
 
 #alerts-container:-moz-locale-dir(rtl) {
   -moz-transform: translatex(-100%);
 }
 
 #alerts-container.showing {
   -moz-transform: translatex(0);
 }
 
 #alerts-text {
-  font-size: 18px !important;
+  font-size: @font_small@ !important;
   white-space: pre-wrap;
 }
 
 /* helperapp (save-as) popup ----------------------------------------------- */
 #helperapp-target {
-  font-size: 18px !important;
+  font-size: @font_small@ !important;
 }
 
 /* navigator popup -------------------------------------------------------------- */
 #content-navigator {
   padding: 0;
   background-color: #5e6166;
 }
 
@@ -1321,31 +1310,31 @@ pageaction:not([image]) > hbox >.pageact
 #content-navigator:not([type="form"]) > #select-container,
 #content-navigator:not([type="form"]) > #select-helper-textbox,
 #content-navigator:not([type="find"]) > #find-helper-textbox {
   display: none;
 }
 
 #content-navigator > #select-container > #select-container-inner {
   border-width: 0;
-  border-radius: 8px 8px 0 0;
-  padding: 8px 4px 8px 4px;
+  border-radius: @border_radius_normal@ @border_radius_normal@ 0 0;
+  padding: @padding_normal@ @padding_small@ @padding_normal@ @padding_small@;
   -moz-box-flex: 0;
 }
 
 #content-navigator > #select-container > #select-container-inner > #select-list {
-  min-height: 70px;
+  min-height: @touch_row@;
 }
 
 #content-navigator > #select-container > spacer {
   display: none;
 }
 
 #select-buttons {
-  padding: 4px 8px; /* row size & core spacing */
+  padding: @padding_small@ @padding_normal@; /* row size & core spacing */
 }
 
 #select-buttons-done {
   -moz-user-focus: ignore;
   -moz-user-select: none;
 }
 
 .content-navigator-box {
@@ -1353,18 +1342,18 @@ pageaction:not([image]) > hbox >.pageact
 }
 
 #content-navigator > hbox > .content-navigator-item {
   margin: 0;
 }
 
 /* XXX this should go with the final Android theme */
 #content-navigator > hbox > toolbarbutton {
-  border-left: 1px solid rgba(255,255,255,0.2);
-  border-right: 1px solid rgba(0,0,0,0.2);
+  border-left: @border_width_tiny@ solid rgba(255,255,255,0.2);
+  border-right: @border_width_tiny@ solid rgba(0,0,0,0.2);
   background-color: transparent;
   -moz-box-align: center;
   -moz-box-pack: center;
 }
 
 #content-navigator > hbox > .previous-button {
   -moz-margin-end: 0;
   list-style-image: url("chrome://browser/skin/images/previous-hdpi.png");
@@ -1382,18 +1371,18 @@ pageaction:not([image]) > hbox >.pageact
 #content-navigator > hbox > toolbarbutton[disabled="true"] {
   opacity: 0.5;
 }
 
 #form-helper-autofill,
 #select-helper-textbox,
 #find-helper-textbox {
   border: none;
-  margin: 4px;
-  border-radius: 8px;
+  margin: @margin_small@;
+  border-radius: @border_radius_normal@;
 }
 
 #form-helper-autofill {
   padding: 0; /* half core spacing & none (autorepeat arrows compensate) */
   color: black;
   background-color: rgb(235,235,235);
   background-image: url("chrome://browser/skin/images/button-bg.png");
   background-size: auto 100%;
@@ -1423,21 +1412,21 @@ pageaction:not([image]) > hbox >.pageact
 
 /* force the autorepeat buttons to create a 'padding' when collapsed */
 #form-helper-autofill > autorepeatbutton[collapsed="true"],
 #form-helper-autofill > autorepeatbutton[disabled="true"] {
   visibility: hidden;
 }
 
 .form-helper-autofill-label {
-  padding: 12px 8px; /* 12px helps get row size for the labels */
+  padding: @padding_xxnormal@ @padding_normal@; /* 12px helps get row size for the labels */
   margin: 0;
   border-color: transparent rgb(215,215,215) transparent rgb(255,255,255);
   border-style: solid;
-  border-width: 1px;
+  border-width: @border_width_tiny@;
 }
 
 .form-helper-autofill-label:first-child {
   -moz-padding-start: -moz-initial; /* the arrowscrollbox creates enough left padding */
   -moz-border-start: none;
 }
 
 .form-helper-autofill-label:last-child {
@@ -1453,27 +1442,27 @@ pageaction:not([image]) > hbox >.pageact
 }
 
 /* select popup ------------------------------------------------------------ */
 #stack > #select-container {
   padding: 32px;
 }
 
 #select-list {
-  border: 1px solid gray;
+  border: @border_width_tiny@ solid gray;
   background-color: #fff;
 }
 
 .chrome-select-option {
   color: #000;
   background-color: #fff;
-  padding: 5px;
-  border-bottom: 1px solid rgb(207,207,207);
-  min-height: 70px; /* row size */
-  max-height: 70px; /* row size */
+  padding: @padding_small@;
+  border-bottom: @border_width_tiny@ solid rgb(207,207,207);
+  min-height: @touch_row@; /* row size */
+  max-height: @touch_row@; /* row size */
   -moz-box-align: center;
 }
 
 .chrome-select-option[filtered="true"] {
   display: none;
 }
 
 .chrome-select-option[selected="true"] {
@@ -1490,98 +1479,103 @@ pageaction:not([image]) > hbox >.pageact
   font-style: italic;
 }
 
 .chrome-select-option.optgroup > .chrome-select-option-image {
   display: none;
 }
 
 .chrome-select-option.in-optgroup {
-  -moz-padding-start: 24px;
+  -moz-padding-start: @padding_large@;
 }
 
 .chrome-select-option-image {
   min-width: 30px;
 }
 
 .chrome-select-option[selected="true"] {
   list-style-image: url("chrome://browser/skin/images/check-30.png");
 }
 
 /* menulist popup ---------------------------------------------------------- */
 #menulist-commands {
   display: -moz-box;
 }
 
 #menulist-title {
-  padding: 12px 4px 4px 4px;
-  font-size: 18px;
+  padding: @padding_xxnormal@ @padding_small@ @padding_small@ @padding_small@;
+  font-size: @font_small@;
 }
 
 #menulist-title[value=""] {
   display: none;
 }
 
 .menulist-command > image {
   width: 32px;
   height: 32px;
 }
 
 .menulist-command.selected > image {
   width: 30px;
   height: 30px;
   list-style-image: url("chrome://browser/skin/images/check-30.png");
-  margin-right: 2px;
-  margin-top: 2px;
+  margin-right: @margin_tiny@;
+  margin-top: @margin_tiny@;
 }
 
 .menulist-command:not(.selected) > image[src=""] {
   visibility: hidden;
 }
 
 /* full-screen video ------------------------------------------------------- */
 .full-screen {
   position: absolute;
   z-index: 500;
 }
 
 /* Android menu ------------------------------------------------------------ */
 #appmenu {
   background: rgba(255,255,255,0.95);
-  box-shadow: 0 6px 10px 6px black;
+  box-shadow: 0 @shadow_width_large@ @shadow_width_xlarge@ @shadow_width_large@ black;
   border-style: solid;
   border-color: #6d6d6d;
-  border-width: 3px 3px 0 3px;
+  border-width: @border_width_large@ @border_width_large@ 0 @border_width_large@;
 }
 
 .appmenu-button {
   -moz-box-flex: 1;
   -moz-box-orient: vertical;
   border-style: solid;
   border-color: #d8d8d8 !important;
-  border-width: 0 1px 1px 0;
-  height: 99px;
+  border-width: 0 @border_width_tiny@ @border_width_tiny@ 0;
+  height: @appmenu_button_height@;
   width: 0;
 }
 
 .appmenu-button:hover:active {
   background-image: url("chrome://browser/skin/images/appmenu-active-hdpi.png");
   background-size: 100% 100%;
 }
 
 #appmenu > .appmenu-button .toolbarbutton-text {
   display: block !important;
-  font-size: 22px !important;
+  font-size: @appmenu_font@ !important;
 }
 
-@media (max-width: 499px) {
+#appmenu > .appmenu-button .toolbarbutton-icon {
+  margin-top: @margin_normal@ !important;
+  margin-bottom: @margin_small@ !important;
+}
+
+@media (@orientation@: portrait) {
   #appmenu[count="4"],
   #appmenu[count="5"],
   #appmenu[count="6"] {
-    height: 200px;
+    height: @appmenu_portrait_height@;
     display: inline-block;
   }
 
   #appmenu[count="4"] > .appmenu-button,
   #appmenu[count="5"] > .appmenu-button {
     width: 50%;
   }
 
@@ -1590,76 +1584,75 @@ pageaction:not([image]) > hbox >.pageact
   #appmenu[count="5"] > .appmenu-button:nth-child(5),
   #appmenu[count="6"] > .appmenu-button {
     width: 33.33%;
   }
 }
 
 /* Sync setup ------------------------------------------------------------- */
 .syncsetup-page {
-  padding: 24px;
+  padding: @padding_large@;
   background-color: #000;
 }
 
 .syncsetup-center {
   text-align: center;
 }
 
 .syncsetup-title {
   -moz-box-align: center;
 }
 
 .syncsetup-code {
   color: #fff;
   background-color: rgb(94,97,102);
-  border-radius: 8px;
-  font-size: 48px !important;
+  border-radius: @border_radius_normal@;
+  font-size: @font_xlarge@ !important;
   padding: 0.2em 0.4em;
   -moz-padding-end: 0.2em;
   letter-spacing: 0.2em;
   text-align: center;
   min-width: 5.5em;
 }
 
 .syncsetup-link {
   text-decoration: underline;
 }
 
 .syncsetup-label {
   color: #fff;
 }
 
 .syncsetup-edit {
-  margin-bottom: 12px;
+  margin-bottom: @margin_xnormal@;
 }
 
 #syncsetup-customserver {
-  -moz-margin-start: 12px;
+  -moz-margin-start: @margin_xnormal@;
 }
 
 /* content scrollbars */
 .scroller {
   opacity: 0;
   background-color: rgba(0, 0, 0, 0.4) !important;
   -moz-border-top-colors: none !important;
   -moz-border-bottom-colors: none !important;
   -moz-border-right-colors: none !important;
   -moz-border-left-colors: none !important;
-  -moz-border-radius: 3px;
-  border: 1px solid rgba(255, 255, 255, 0.4) !important;
+  -moz-border-radius: @border_radius_tiny@;
+  border: @border_width_tiny@ solid rgba(255, 255, 255, 0.4) !important;
 }
 
 .scroller[panning="true"] {
   opacity: 1;
 }
 
 .scroller[orient="vertical"] {
-  min-width: 6px;
-  width: 6px;
-  min-height: 12px;
+  min-width: @scroller_thickness@;
+  width: @scroller_thickness@;
+  min-height: @scroller_minimum@;
 }
 
 .scroller[orient="horizontal"] {
-  min-height: 6px;
-  height: 6px;
-  min-width: 12px;
+  min-height: @scroller_thickness@;
+  height: @scroller_thickness@;
+  min-width: @scroller_minimum@;
 }
-
new file mode 100644
--- /dev/null
+++ b/mobile/themes/core/defines.inc
@@ -0,0 +1,173 @@
+%filter substitution
+
+%ifdef ANDROID
+%define font_xlarge 5.08mozmm
+%define font_normal 2.54mozmm
+%define font_small 1.91mozmm
+%define font_xsmall 1.69mozmm
+%define font_tiny 1.48mozmm
+%define font_xtiny 1.27mozmm
+
+%define touch_row 7.41mozmm
+%define touch_button_xlarge 7.62mozmm
+%define touch_button_large 6.77mozmm
+%define touch_button_small 5.93mozmm
+%define touch_action_minwidth 21.17mozmm
+%define touch_normal 6.77mozmm
+
+%define margin_large 2.54mozmm
+%define margin_xxxnormal 1.69mozmm
+%define margin_xnormal 1.06mozmm
+%define margin_normal 0.85mozmm
+%define margin_snormal 0.64mozmm
+%define margin_small 0.42mozmm
+%define margin_tiny 0.21mozmm
+%define margin_xtiny 0.11mozmm
+
+%define padding_xlarge 3.39mozmm
+%define padding_large 2.54mozmm
+%define padding_xxxnormal 1.69mozmm
+%define padding_xxnormal 1.27mozmm
+%define padding_xnormal 1.06mozmm
+%define padding_normal 0.85mozmm
+%define padding_snormal 0.64mozmm
+%define padding_small 0.42mozmm
+%define padding_xsmall 0.21mozmm
+%define padding_tiny 0.11mozmm
+
+%define border_width_xlarge 0.42mozmm
+%define border_width_large 0.32mozmm
+%define border_width_small 0.21mozmm
+%define border_width_tiny 0.11mozmm
+
+%define border_radius_normal 0.85mozmm
+%define border_radius_small 0.64mozmm
+%define border_radius_tiny 0.21mozmm
+
+%define shadow_width_xlarge 1.06mozmm
+%define shadow_width_large 0.64mozmm
+%define shadow_width_small 0.21mozmm
+
+%define textbox_height 5.08mozmm
+
+%define dropmarker_padding 0.53mozmm
+
+%define progressmeter_height 3.39mozmm
+
+%define urlbar_edit_height 6.35mozmm
+%define urlbar_edit_indent 0.85mozmm
+
+%define scroller_thickness 0.64mozmm
+%define scroller_minimum 1.27mozmm
+
+%define sidebar_width_minimum 8.47mozmm
+%define sidebar_button_height 7.41mozmm
+%define documenttab_margin_bottom 0.53mozmm
+
+%define placelabel_padding 8.47mozmm
+%define placeitem_padding 4.23mozmm
+
+%define autocomplete_item_container_image_padding 0.53mozmm
+%define autocomplete_item_container_position 0.21mozmm
+%define autocomplete_item_container_size 2.75mozmm
+%define autocomplete_item_container_padding 5.08mozmm
+
+%define autocomplete_item_subtitle_margin 2.75mozmm
+%define autocomplete_item_label_margin 3.18mozmm
+%define autocomplete_item_tags_margin 3.39mozmm
+
+%define autocompleteresult_padding 0.53mozmm
+
+%define appmenu_font 2.33mozmm
+%define appmenu_portrait_height 21.17mozmm
+%define appmenu_button_height  10.48mozmm
+%else
+%define font_xlarge 48px
+%define font_normal 24px
+%define font_small 18px
+%define font_xsmall 16px
+%define font_tiny 14px
+%define font_xtiny 12px
+
+%define touch_row 70px
+%define touch_button_xlarge 72px
+%define touch_button_large 64px
+%define touch_button_small 56px
+%define touch_action_minwidth 200px
+%define touch_normal 64px
+
+%define margin_large 24px
+%define margin_xxxnormal 16px
+%define margin_xnormal 10px
+%define margin_normal 8px
+%define margin_snormal 6px
+%define margin_small 4px
+%define margin_tiny 2px
+%define margin_xtiny 1px
+
+%define padding_xlarge 32px
+%define padding_large 24px
+%define padding_xxxnormal 16px
+%define padding_xxnormal 12px
+%define padding_xnormal 10px
+%define padding_normal 8px
+%define padding_snormal 6px
+%define padding_small 4px
+%define padding_xsmall 2px
+%define padding_tiny 1px
+
+%define border_width_xlarge 4px
+%define border_width_large 3px
+%define border_width_small 2px
+%define border_width_tiny 1px
+
+%define border_radius_normal 8px
+%define border_radius_small 6px
+%define border_radius_tiny 2px
+
+%define shadow_width_xlarge 10px
+%define shadow_width_large 6px
+%define shadow_width_small 2px
+
+%define textbox_height 48px
+
+%define dropmarker_margin 5px
+
+%define progressmeter_height 32px
+
+%define urlbar_edit_height 60px
+%define urlbar_edit_indent 8px
+
+%define scroller_thickness 6px
+%define scroller_minimum 12px
+
+%define sidebar_width_minimum 80px
+%define sidebar_button_height 70px
+%define documenttab_margin_bottom 5px
+
+%define placelabel_padding 80px
+%define placeitem_padding 40px
+
+%define autocomplete_item_container_image_padding 5px
+%define autocomplete_item_container_position 2px
+%define autocomplete_item_container_size 26px
+%define autocomplete_item_container_padding 48px
+
+%define autocomplete_item_subtitle_margin 26px
+%define autocomplete_item_label_margin 30px
+%define autocomplete_item_tags_margin 32px
+
+%define autocompleteresult_padding 5px
+
+%define appmenu_font 22px
+%define appmenu_portrait_height 200px
+%define appmenu_button_height 99px
+%endif
+
+%ifdef MOZ_PLATFORM_MAEMO
+%define orientation -moz-device-orientation
+%elifdef ANDROID
+%define orientation -moz-device-orientation
+%else
+%define orientation orientation
+%endif
deleted file mode 100644
index 0e5d2d61d2be762f94cea282340705b5f3fead37..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..25f09906e011be78b7feebc4ff9323aaacf99561
GIT binary patch
literal 1039
zc$@(b1n~QbP)<h;3K|Lk000e1NJLTq001fg001fo1ONa4Z^{AC00001b5ch_0Itp)
z=>Px#0%A)?L;(MXkIcUS000SaNLh0L01FcU01FcV0GgZ_000A~Nkl<ZNXONeUuauZ
z9LGQBCb>zL{#oiwI@;BB&SnLZV6jZWI2EQMb0C8~461^#>F~i<8G<j0AifIoss3a5
z=Ae$jL<NVU6<o4{Tele-7+X!7v`PQm+}wMQ4@tU&+?%GUKKRSaJ->7BC*N~^zxzAC
z3;!1rttR8+JhCzPJvrSj)ZGGkY9cZosg0%&Fvi8?+_shwKlRn;vcaami@o07vx<}7
z^t^bi(e>!l_w`2lwgK%@O<&gE=*tirc8zWWy5h3bc`aM#$&%x@h5TIW(6(N_K)LX(
zS?4f0Kb6(*thNJnIru$`>D#*x_(lh6j!VCO^wW(mC{o%&O2r#A-!e5#7-}6rEeXT5
z?kn#X_p~OhmeBagM)!llR1ICoy8V!@(&$SrojPBf<R^}D``yvgvIC2r?sq!|s^~Fx
zbn=22JBl7hsNuGJoj@(0;jC0DQgi~9LMmIy({0&*0^Qh?TBhij`2SsKjttPp(ALUi
zFC%cTh;Klz)Jn;+t`QESwvRlyCva$wkc^=vKebVME%ojcoQUl^;%N)`&@1lJ8)Fj_
zsvlm<eQ;L3nwqSgQQaeN)iQPE%H5m$kA44UxOa2p++QwJ$omJ>Y7mO~r{1~xF|wl6
znmwoNL?EpaItXiRNwxtU+S?f9uAt%X@~&tVs1f$;d|nD6%^No_p@_2ICp(I}r5f(q
zo|Z$;eE0;wtq0BqEzgsoU16)kyq8K9+OJ3@@f<*cgVF5LV~5()c@=;`g4OZgNFhZP
zTJ!|{HD!^55uiPtR`ozE(t}BXLVcbZZcBC2mZuE(=&_l5`F(&hM<TI20KfbQx>bcr
zMGAZ9ZSvKt5FwlSKfewQzsK>+!y}rOoc-o{?jlxQ^4l*s$80LU4E<sM$gbui*JAzd
z4A;&rx>BHLGMC9?*c6mT`(bJ_Rk=Eo*qdmA8cNP85lCM^MN+0nf%2x%$z<lduEAh*
zX6R_5Ia10hE36a1i$r6M5>{P3mA1dP$A=HINItOdg=q6^waZv%i3Ju|Myu@NCQ6S!
zdwGVi=sr9ci#z77q)geio~9k1@CTFt(h%uRiu9_(4Z3Q0q3l`RDpa@NvoGy$_+vgl
z2Q%~b^Sb5S^9R^H@VGs+aJ`s@?%|$@&8zV<ckGr}fqDtj<In-Fkpuc@?qN&{<n6jZ
zQ9Y==cx|B)9S!iIHg%>ZrAl5peewu|Lpy6BD^0M?A4>a7{0AHBn&#fPHI4uP002ov
JPDHLkV1m!P1UUcz
index 4c572535f1c7fbae39f45d7be4fc7bbd713f07cf..904ddbfd7dcd3427636aef4b1b3e13ae05c8d712
GIT binary patch
literal 1764
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
GLSTaN`E0oW
index 515081caba10adbc24b76d02cf5b240900dac429..9327b0f8197bb8c06d7dc2c95114bba6bef21974
GIT binary patch
literal 1209
zc$@*b1V;ObP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_000C`Nkl<ZSi|ku
zPiP}m9KiAK%S@(CJIS`eM9~dd+HTX99@c;CHc-6DBJ80TPX#G0bc+gl74f2r*B+`D
zNfp#C=|Y>!9(pSadvH}`wPI{pq;_k%6-m=%Q+GC*=jBDxZ2wFqS^q$P5CW5V^FDd+
zH}mHA;3Q7sza7HqiBd`d=s*k51{i==XMZKY0`3D3gb-z?4fQ(zln)345#R}+wN7Xe
z_#IeR-^IrT^)D?gy_`%YKWbzeXJ=<$Qpm>!ZSCplY3=RpMbk7_NXxPSLcpDR+Ua%n
zqidSh*4EZWYip}3Xt7vC<+%Php$H-HdcCx?w77ykeE85+ySkxL%D+Eu!fiX<ZD;=r
zsBPQWwvF4iCnLJQA1VKp5tUMU0FQ%nH9!+Wcp4cQ)lL8&DW&FM8Mgtc174sVFx5J)
z0ksOLjz>(>G%d?={diI%8U~`OZ*j=tQUV?TyFgI~j6@=FzN4cf+TGo4=(^r6gs5G1
zq!7Xr3<k}$wY4*uOa{|5T|w8^*8!edU0r>}vaFrT3|04K+jgl`Div<sy5*akoSX+N
zA*Boe(W$Aa?{m4_ky9pwz%UF#p%Bq%)D<+HPLt2)u`CNAj-K^!IDCJ4din+6u8>mt
zfTw|H6N$vN-Q8WX+3cZ>4a30a^WpV+U9a`UVv$m*bl~q^ua}OF4o;swy*@HB@;dMX
za8Ia&4glT2`MJ5dnL?q!&d$z(7xH*KXqtBHXdIQJ<#HL@wja5MuIrpSb&7B}ym9H$
zrFVhvfM0=vP}8~(J3l`^Qz#TTDixX?hG7s01PFyf8y7ELd`BTSfcrv-vZ%_zeb{6&
zIg`)l{}HTdn)v;GB9X|C!^6YxtLeU5K|WH7)MBq*y?SICG!q$*$3O4t>beH}1l$9P
z)uoC!;O?%*zL-oVKdxX8y8#+O1_A*tT)6P**|TTofK^qZJP<<I#};>0*fYTM*RNlH
zZ*y}qlFQ|qhOI)*#$vHAfi&<3U<o0l<0@2PO|^oYOQljDY;SKznlZ8!<j~NNBjmB=
zvck5js`I&2Ds^RRYpWrw-|r_72oR6Q9U~pp^|jc=#YNZHDrBOsuW!yN((wjFEp}mH
z;YucxsSDfL*;$$HPhzoH<;HP@taqp6Q0#F9TLn2bHue_qjVhJ1PLXv%55S&FrBWYO
zuzP!ZM<U0^$KM3L0)7E<K*=exZfFhm8DQ|{&6{tptgH;>ayjz({DH`ciHSE9@(!?D
z&z_TOXcg86JPE|o>GZ41%ge7-V}rq9(~z!<J0V0_N?8Pc1FXKjKFhXk`^JqMW0kic
zzu(_9q-&_c+EU6tfo-5XFfj0iZQIuE+qWmBl#Gs!UIxBx2C^Zj!b&Nnr5-as4-O7~
zmd$2&`uqF82G-OYP{T;qIeN$@Z)Jnm2b3$@ib9B{yc{$IT7~tfYf4oR+ML8mG!}mW
X8kj5?jiQ9|00000NkvXXu0mjfUqU-X
index 552a6bd37d14c3f83911d06199f9a1b15296d2d3..190ac8b4edcd9b88e03087b01f4c38e6ff4c34f2
GIT binary patch
literal 860
zc$@)T1Ec(jP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_0008-Nkl<ZSi|j^
zu}<Sa5Qaa;8^?Cg=>%~F$Ow23o`8Y|IwW|Xdj$$gTAqLhxgyslplj?T#_?WpYh*j?
z$gJ&Laf}pM*_|2xo=yILb`4+FtyxW+q?9%=0>*#?2sM=g2@nA*%d*y8#OX{le4r5!
z0HM12YCHyJz*Jr1j^d1gj)Cz0{{BTb`S9>?p>7s;6lV<70fMu$GaSb$O(aQzs@BgA
z<BWj{z~9^3!}tBtL>$McB^4dU83P4iI2<w>jY?zh@9(|E83UD4BBk6I>nqL#XbQwz
zZWt?{-2<&~U;y}shllL%@0a}E-rn-xS|Fv=a$}ZdWLZ{<tA1}&(IN+iKzMa^^`pi&
zRM&4hZtQ#M$3S>{d;0<)guwGWgeZrkY06@;AWi?S{Nv-}1~>K%)B%E%lM@`rVK5kA
z+cty2U}Fi_>or-H)pBFsKn39YzK`d5jgl=E3oSSH{Tn4;@+t?`Ssgd_UC|VXb=9ad
z<+njqeOELAW?>j|aB$El+3V{o>K~u%vZ4_%y}7x$sI+KxR&3p(s!&ub*hDCr0$mmO
zaH@cg6~EfbXRZ9A0wt{gA*BrR2h^>Ks{U4?FzN99CJnG<S#iZT|9r1W{aeLOi#b|1
z&ezx1+6MUP>8VKaC0`)~uIp-rV!2#?2t_4FyT<wW_?Y2vsH3DJ$(MYa2!$p`yT;k`
zJY3f;O)QtoD#_RS)|n<pyMENR?Tsx(9m(r_KPwc*KpPTwXF_2Nv>{O^!0hz&l*we$
zDCc}W*9t}76^(%D-Q8Uqq1efu$y6vJHMX0IDrJe4bmrtA)Ck3F8_Dl-7di&Q%galx
zP&_|BcYac0+Vwa<aCCH}Ri-{pN=z#%0N-`pCPJ}u9@Ub6wW79d|KBGi{~YMx6GuAH
zmgG^5{F%lXS2O|U=jZ1#2m-4je{02us}AEj>F_6tAM=XLfL}V|HjQfoG(Rx&)wTH2
mV3qHcw!CckRNR;C!u|j^ElYdfF<>450000<MNUMnLSTY8YLTG;
index 74ca2c456b958e0d4b2f6be5a3c5b3ac4a55ca1f..b01d29cbbca9a3b4583c680e5b0693859a222046
GIT binary patch
literal 1938
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
Y0YY*JMra9C0000007*qoM6N<$f{akYZvX%Q
deleted file mode 100644
index 64200e8e83cceec18b91c452a53cde85830031b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..8c2387cfcbecbcd57f1701b1427b4343c39b919c
GIT binary patch
literal 1188
zc$@*G1Y7%wP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_000CxNkl<ZSi|ku
zUu;uV90&04xrg1hbW6Zw`XU%LQDfE?=m@p6Of-a;y~(SOx<4;$t{{o=(HIv^1oj8w
zpGOlTypd)O{PWPH7RP#bOA8$#NQAMi-3Hs7>mPc4KJ3=iWw(EC8;zdiB+X5F`|0oe
z`~42^fBP3SyJMeZ^gCG{kX`xD5jFg|QSapjBYPQR+tsPb;Z!O;Gdq{qJwHEt?H>iT
zJNET5Notu=u6+ssuec7hFE6jmB$JD~jKFe3k>QEK!si~(L8nnzUN5B4SYA(LzFC`_
zoo0(=bzxyCH$OKUujaR;dLxx76##JI+Y7U1i{+}z?d1)FR*HQ4o$gDFu_qW~JE|Q;
zsR2ko0LUiOj{q_Na&?DRi4?LdUjc9rz{5~5P!)8Wkw_xKlp5Iz83%9+z-qN?LNYRv
zcYeLAhr9tG5ef#fbvx_JMFK!Jn-wm%cT7Wm4<JrNH-!+1bShOY(iu_16BP}8B}f4H
z@S~3>0SFMSrBkVA1(BJAc)o%K#Eu<%^F;tsL=9gpdrms`w!cRWZhrq*(6Pta?{a&k
zk`c{EQkk3>Bx-CfySTJu()L>ufOTDH9vPneWsuNd<;FZWGsc<$$c50qg?Ik}w~0wo
z%U551F{mgih|us};F5H=C(gN5V(h7|uI_J0+qj9Sp`CLM0Hk%@IcheU%|B-{nYX&T
zd;I6mpX*enRP1rs%Nn-)W?$nREo;M10a%n}`3C@^r>ECXf}kiWgrJh$ZnJ>|)zo+H
z*txyrhVOEFn*cls;AH?WWipu~0Ho2;(M|wx*o#N@pvU8{Iiy7EOp-1)H8ouf1p^Ot
zPbNL=$jAoPZnqWv9k18BkuAxxQUx;yU;#h`KqM3lJSuvG>S2e5M>epw;@FNu-irWI
zT54BG%K%6MxC3A&6b!7FJnMC_L&Kc_U@MLNgoswm7R%QaM)VH=YXH)rU_g|Wl;~m4
zoYk;xZN;%2-cuyRYD5j6tNTrf9`^K^p-up3D}g=y>LEk0WnJm$VLv;4wk+&xhdXM<
zmQ`rozxSJXde<{4ZT>LM`AROAdv5%@vD-(FzVSjLkw9x}tM0MrY~O$6`t^unwYJ=v
zn|n}ImS1+wq-Ey`EnAOk*}E8c_qd;k5RFE+JQDNIbGclr#CfyJ?PYa^7Q^}m`us#d
zG#Y~-{MDn;7>EGhK;NZgA|cDNoUOJ*ulP%P*b}}!KY<X7MUl;B5sO7ZAe`{^<;&%t
zYFSKG{X0GENngL8h%h}J2NB_<ufMR!yANO)fN1F5limWma(Vo=+wIx?!TYDiH&vo>
z087=@^)=r(Z?Sc~uBDHUwJgk#a=GSf$4!w1=ll`pe4cZD1Hd$Zo3$bhyT~oTu4#$I
z?*Q&<w<F0~k%kQYrfIMZfK{s?(*V{&!N6num)f6tYOdrp4Zbk|0000<MNUMnLSTZE
CZ!8G_
deleted file mode 100644
index d4017bd305e4cae9534d6d540b2854c5a64efbc0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..b0d26f4237f678edafd5451854bc38f7416441e9
GIT binary patch
literal 1750
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
deleted file mode 100644
index 776a8d69e94fd27e526df0fceae7c9815d62b2e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..f9afa2cec9fb6e797bd5f8b40c9e8cf84744590f
GIT binary patch
literal 1278
zc$@+L1OfYrP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_000D$Nkl<ZSi|ku
z%}?8A90%}kAdlk!S+lMzpz_kD1(onB4mF2eD(!EWdfIV^{sWUXwe+x_r)lj9-Dw8|
zbloN`VO+Mg-C@`;5fUafth|II1Hy|<W0Tm99q&L=1qdv!W7_yiz9oJ>`906`dtw7;
zIm^F0reeO-)7xKF%AkJVY^vhWp5Fcs%26S|Z}w5e%HP%9$9(kh?N5yo)79N~%hAwi
zE@bRNrqHBo8c`ILF7*d%npPu<F;X$8rfZazR4t`KQz@O+HNA2bH4LN5C~^ZHh_QdK
zN<mLGXV5d~e-3IkSDy;hoIVzt05qQ5`%+c1oIq`DZCM7s?7Y%vvC#26j@lUjF!%KK
zH@RG{_gh<AF1%^C!)(sohf{`ON+y$3Tiex!Qjs@rzIWMbt$CXel05D+30a0DNrqt<
zrg^`28qO<i7jE2m_rs^po=1HCc_SW=8>gM^ogHJ=J7+xk=3B0-yYChNQ?(%QRfJIO
zQ!E=|n1QPaS*d%&W`o&GPGv3fJdf2-7z+yvbGL8b`A$(3P7wIDY5)|^Z*LMpwXiH3
zWEjS&$ZDO<W;=EnR4Q9rTL^_C2m}KD!8?PVy}0BJtp@!7<jfYX-WB*TWuY56jtepa
zj8j&We-s-Eg%RD{LLd<E-yOW`-iu4Wt*`w#2Vf6?QVk#lKm&km>~-cK)&MGYt%k$c
z;RSfT-syXv+?z}zy#RIr!~y7;it2~4(;OFMt~1VfJYGi#1*_FsnM#Jk5O@J@_xGOR
zq2XV5UkSf#MmK)XLTUhv?CyOOJIw_dX27YaY8@dIXqtv$plnwt6amlkaJ$`}vC&cA
z;^M++JifOE;8ivf01h8BN3fHVlY!38u5*M?4nmQAY#F9I6pnxw1b94d&v+V{2ELx|
z3^Et=2-ae;q}VAo*3s#*n+fG0gp^#_a2E3M*jNU+o4yih!+{)kaA&Y7NfLPrO{cgi
zR&=>K?Szom*kTfiL?8$PCMG<`A#*-TpY#ty2ap7yOQOhIXxiYWSgFI+xnEgxVU^W1
z9g9m#5Jd?S6CTgk<M|{14vMVSrAwl?YoTd_V_B)A!(}HF<uH@{)~u%MSYBCyEX(*|
z!sB`Jc)TEFK2W5`(zCJCEGu1ex$J~c4gjdBsXeih%gZYeMNz*0`Db4}{prW0LXr7G
zkHK=%wGNlvLR%fGs={Wo<*ejNa0Q|$$wLqCkNCXajbf06KyzYeI8JJ4Xf&Na|5j@T
zn^EeTj^IiVVoa2WA3hlI`@HLiT2S7|LZL^nx~^{rUc4ZLBC(6j&FyMZMV-wCP1g|&
z1|dqK{AlRGh~GE2zWDM$CFMep#Xt{W6-AbLe&>(qMzo$#BzCc>xm}iJ@ca%$QIx+N
z{-P|%VxbwVmN^)Be&^-pMzo#~D%RZG(w;~p_L2VbAWMN}x2_C!aWfjNSCh%j=g)qg
znJ*)<=oh&;o@A{6>;UY|EtlR=Rb?x>u^uQFvRu$?>^T5+>7^m1cX-LjazZm$3jjI|
ol>w;bK$aVtxnI?xzW@KqU&~)2;tU(Xv;Y7A07*qoM6N<$f*s^jS^xk5
index 8364b38d1bccd35dfb1ccff679373b04af3c4e5e..960fbd6ab247b013f34d91be810cffea76c11534
GIT binary patch
literal 962
zc$@*k13mnSP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM+
z69qUhGUn3&00TlvL_t(o!_`;oP7_fO{vbTS`Uda@^$Bd_6@t)B(+~`iHbf&qO-qQ%
z&35H(8d6cBsWe+iqiGCb2?$=p`UZUi`Uv|1=ffXvYfF31wtzpJWU@c@+nL#!@660;
z!x?1OSo8tV0F<9L0L&$(>{e~HH4B_cE<^zI0|<IRivTtO<mQvp&bb4aPRvIDBmi`_
z_;U_`R{+ur#*EW)0F$#XIsupf{5YSK07RGOp4&|a@NCBL0XTB&dr=Zyo=@aF19&o(
z_!rJALA+cva?$`Mp3Q0ij{lMKvIJ7gbCq(mSHB@?lGI2-p*G1V$xEr_xwf*B43Nxu
zd<&B1_>*a^E(5WNNxz$VC7IHxCFNO<O-wdJUL&1aO4bDMc>L*+;-eyfz}o7H(`=p}
zk3Tg5L=;D~Yi)JKX$OFZu?Zh3{G>nwbx6^Ya{yRdU5S#yme|xt5vg#1g2NPqMB{JL
zDd#L~qhM5FcNhRVT=Mx8b+;aj#gb<VfV2SQB&G0GIB;+D(TT)H`u*G2@q43>RP|KN
zgn;WvM(#j|n<|-+UH5(5HRNky4n(t=bq9bwa(_$;{KJ99L;)!P0NKpCLkis`B%088
zHnU#*TM8-8-wpsmP^x7yH{O+mU{r;5HEnLZt7*3itmBn|nwGp}W-L;q75L(onTc0_
zGc-J+sqp0tIFbnaPuDEJnT-oUyV2hWLH#sd2nL(UfUIEz2kzX}>W^1LKIk9wW~l*o
zSeAj0d9zq<M871>LZe{pw9&$cEr)`770xJp*s7Zm;ejDP1^p7+R`n^c6m?33!h>})
z;!`1SlOj$E`%@ub*Qi3_L5&oq!tQR(FbakSyoQHvZ5Nu_dV`?>&22u?4r^@}x@z_T
zl7?c2Yb1~Q^l-9I4=b0IK0O>Ec}&u$uxB*fh<f`&Np}PG>T;IbC98*2d1d$7p6&hJ
z?SOPA?76KUUBD)+3jXrJ-cIGTbeu+<kh(|x&f`3A_<6VFxt8DTzO4b+xxh>~00LhR
z_lhmujBecOZH5zGVgZPL`?Bwx>1uZEMo*_3M63IN4Z!&E?ZCc}%jwnY-JLGWuehbr
kBu<L}Hh+FUEaHEV-_RD2L?(Tt$^ZZW07*qoM6N<$g6b={e*gdg
deleted file mode 100644
index beebf5261ccc9b29188bf43755cb25f56a3dcaca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..4bcf5010976b5a260fa40240f8fa36c4149d2a94
GIT binary patch
literal 1133
zc$@)k1d{uSP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_000C4Nkl<ZSi|ku
zPi$009KiAK%&_mZlqSU}A_Yl2sfXRR&_Eiws25WXMoc_-kONS*rL=S@O$f$#QOdcA
z!9Qn>1TSP`u#ws>*7~P^cKfz=4M8F(v7`m9*mk$O<DqY{Dc#rIeXmUu{cT>dyLoT&
z$!}(UGxOm8Sm)sn)X3FnS9pv(lKmcw4!!SX+tNd1@ZiBWs-q)==Y<eu{y<G|J$85S
z-LvP;>qQZ$-hFCaVV6U$JFF9O-CzS%yIy|h?75GJhDY>D;RUv+$+Wj_pDHOW{r1AA
z7j6R#k3=2s9~t_-Q%G6v23zc`S3-yiA;cqx4mVs{3v98_G>|k*^9sPB!wuop#ufz~
z=#Qj<yTDDuFuH-vYGd6L{Au7PV0<~O*4k5S(a?eZND7z$#+Jig|M`ZenH4$eV=XY4
zPXlI2iBC$oMF{Z>@N_bnd=ZcX{gIb^KHrLosH&;$(3#A1EIRaFK~R67X3v2Gue^5g
z;%5m!=UoM)ESEw&A%xh95M}%K*Kd9Mtv74)c{pF};`%59Rl8cl;m`Z^8pleD!qToW
zg%A~!Q&Xnau$I^Gp!1kr3N?ffn^LJ%iDvCTLxbPt#L8uUOIX`%KFI2Dl#f3Api@X$
zUc0BxTnyW=1gZh8lya<ts}Up77yu1N8a|OiJg$@~1Lkr;0hpYcT5*NRYc>b`1tE_f
z4Tce-)HKa+fD)&S0<gJa^G2O<m(f7LPbQBxqBb(v*cb*fhGBdOOaik`P$88X@9OIM
z0U_dUGy3(_tM!h^*aEWgUt~8hZZFN#j$_p4^CbWicoa~D;*!Z^H9#a1sn0l!^H^*Y
zfTpI0kYm7vy+r4P&H=yK<Kr%16oj0cdmfnS?TftX)a|j+1!VKFro523puYn5fQ^M@
zbarOubs@y<-o8k?Q^gp~BAbupjr8mVgg;Od6jGM=_C`9L?i;l%09uY0hV%rQMfQBv
z=ZLgyWNS-v!ARH8Eb>ZEZ(hg~t;dT(=B%T674z!dmD?&Sx1H)Zea30x#N!K9uI)te
zNH@o2A(h&cPNyH!T4PxjTI+|d?Eh|&ZjK_-FpSili3uar)^bT}u&g*4&4bIb;%E(_
zwiee&*KhL-)9e8_8EOe@H1W7aDwQH0x6o)#hP*+#fo6a|fLqx^U3;iCthFYQ7)NVO
zd#KejB*iR|0Jm=b!uB0I=k1MyP)hxoPN$#h{^Ihry1M6{Jaf9^vX@BL<!Nu-J|D0J
zc-B6FzF=39d3zV+39{&nF3N0X`;MKnz~2B$se4MP-<48hKmz#D3#4o466}2-3H$}z
zu(xV=yg+)k*4x8i15jpf5$AyW1O1VC{%i3MRVJO$kK~IJ00000NkvXXu0mjfkR>M1
deleted file mode 100644
index 6690b553b0fdb1bc3b8c3c12e99bf930153ca421..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..aacf3b927b0da779ef18c830863e3109604c3b9f
GIT binary patch
literal 940
zc$@*O15^BoP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_0009&Nkl<ZSi|j@
z%}X0W7{;G>R(A~{HM9kxML{f-Ub1m*Py$kr-g;^2!9$^5`hk~<ZPiP!g$iOnE`|OD
z{RcdGDg_&j*+kJxDfA{3rC*}%OxBqmy0&XRG$tFYG!HBcJG<}vc;=mXnE@L5Peru`
zh?y3vHOBIiE$a#zGp&0;IkvoHzo`po%(RAys3n(OoURoz-hKI@Qp#CgvR_vP8Z)hn
z0In3geg|NH7>nfW^kh(u#;wGJl5(>gY+2A)yyp^tfmbh|-}1j785w;GqEOCGKMQ)n
z90beCK@xEF#q+5l&Ux5zoQUH%5zcv-7;CEsBmm^>^dvDBN%SU-!oH?*kkivsw>cLf
z*L4l0lm-Aqw9AOjS2}PuxAdpo9XBibhY__g#v%ZCSx5Vl{cI0X2ocKX^PycSo28VR
zlv3N3vKd6t`fivM1rR>WQJsiR?LkVVG${2qkAJtDDjoCA-TO0p?Mym#t-_66D>X)8
zj<yg{)OB5>2(n7)x}FWf=t6Q0fWE%Iu1R@xNPkXx$^-ZgAYa&5Y0j2iOaRc?*$F9S
z?KUX21K=~1>IvFW0KlV1V>XCdjvCCLlb!^CZvaGLU!^%)5_D&K`!-_?nZ@~=0pz3$
z;1d9@8^$bv3wz@UA-WHW!5wEXW?CEm`u}G!C3=$v5w+Nvg$FgvP+oA}B{*;AoOf`?
zF#&wxj$?ApI|S$Lg7YpfcS|a>I6suN(@%*g95b!qB1aix5h6NUOCDv?sq6a|jFotz
zl=`WZ`jO2nj2)>;Wf!O8R$?O2n>5n%bKF1mVGu=?QUUJW)CwR<M6K1t^;aoBXcGZi
zfSdr)86s)}(V42^{;g6QO~pG(fQ|whcbpqUq*W8wU!{sbWq^*RQXhtbid$DlgH#De
zPY9@z4Mzh8Z8+M<(FSNxQ;&wDwW#Q(WOa1~N~vRiR##UJul0o={Zoz-kpzJ8$D=b)
zz;Qq0k4I<xTz*Gg-7sc_5QF1mqci`2iPAe1x`m)y0M>L}p9OIGC|5UikPF}|fHjY6
zAIv6zk6!y60R0$2g$Mc3<Jy0b+n4Nb1`zSiDaY;T7J$vv-1|IEl70av>*|ML!s>?r
O0000<MNUMnLSTZipq)kl
deleted file mode 100644
index d2f86902604b6ea7d4bb3449f169f584c1f4f0da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..49d89c1df278bb35478c9a740b1a05b20fdad51f
GIT binary patch
literal 1299
zc$@(f1?>8XP)<h;3K|Lk000e1NJLTq001fg001fo1^@s6#ly*400001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM+
z5;6{MO}R+`00fgsL_t(o!|hm0ZyQw<{^n&ni5k-+kcWhX3M^<7yF^G85_E&upjIqE
zffb7`kYK?oDiVkd{Q*@Jkjfr}1X2G0FOjloOHvX91t-C3oy4)*CVqw3GxwguB4aff
z-`F$5G-bhA-nr-8@1Aq+cfUKp{}!!jK_;it<GOcjabcbwlwT;Isr2~UZ9Zog7v{f-
z(l3;aj-5R9!G|ARWQAoiOPR6Mv+t-jJvcOMj*gvtH>jV=bU#^_LRgK4olt$0QW{c<
zH~`c8ty-;ELWu65exZR1DPqF0<EoEDq?4pL0HXzrkS38#1oaCIl$mutphV29F<4i{
zVrCs2+%GK9|Ad)-ClX0)Y!q6?OXc#R0QH^GcwE_Ph*{Rd&uA(=KETYc3n994x!a|=
zxw$LeIr)6P1OO*S)8`DsxVpG7fBj*U{<Tl0r_Kr?Oxv+zQplDGBO@cp>FKGLEYosk
zXMZ}z%-XMuH?AET(7~Z$Q%V^-efq^${07_H+|s_DnRyPtbpU)QJzA|+EGb1-kYGXx
zi%7;E1e+WfaF?tp79^OI(ja2fFNsG|`X*T~EwA_vR;|^5T@pWh9<9}CK}zpCM!ivw
z2B>W}2mmf!`s@q8!E(9Pd*yQJJMXxvDuqHZvW!wDbMwpEcJ+C`!5WRm+P%AXRsnD-
zJ+A+8^EUuMGTD2}JGWda6#yWSNa*!?=j^uAf^h&x0rWNxhpy|oLIv$r>U98{sr2}p
z09Z;HcN{xOk`fHwx0a@9(lCr2%ZgQWU3WT(=yn-(0F>Rujc1OJz18Nl-_HE``wsw|
z?w%e&M8+>S=05dXiKXS0rHP3*E&}-WApUJzdKYBl#Axc&nKNgfxNza)_q>yqmsgf1
zCMKo;R9v695Tcs`(7h1*M6?s;)H48(B*S*>7&EI*x<Mo@w~eSNmQ{1xRAjG+4h8hS
z!nd8cYH>;X7iscuH2|&c?EKwPMEe5D%sPQJQUE0)<sv~YiVYuB<y$y21Egp?_KY?8
zH^07q%Wv#Lp-_knD8Nvao?8zoJHpAGpPc;MOGyWoOw;6ct@dL(#bpM-2_n@KrL}Fd
ze=UCxV9uvFVE{IOEdcW0mws2MC|kly1OTcoRhh@0eEJ2;vL08(ESF2O8~OEB01W`O
zNPq$WDS@&IXbr#)0HZ6>)%VrR<#R3na<bXA_s>t(HuCH9E<hPgMwyj|NdcZ+E_99@
z>5Vg39~>Hfs#OwhH~ZIa2QXBRvcHVpzk?mel#-O>FQqV~luiDP4k#Z`dTIldm<(nz
zNqJF_#!Qyq*Fc~iRbt|{yVJnXI{0ak0+mE47F%zSN~O}#H>_W{Upi8vSZuvO%9XMY
zpyB)i18vmng|*dO>E~-#ue849H%n5=yX~GcLH&X%{H7TIk^_%EmP#fcd0CO^Vm7;S
z8NeM^zwWi3qka9y`}+o7^<JkP{6YcM0rUVE0MPAGN$lP#TkdPXQ9Nh*0VF-u>*N;-
zC;(V4$b^SZn)md!yD%#@+2wB34B!_UXme3R;X^KAbHsl8>>tyB*uRwYqqG13002ov
JPDHLkV1n;@RvrKV
deleted file mode 100644
index f61bb03cfd0725e394b769d890cad96a0c9d9353..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..448743a468638887fc0ff4be08462ae6dab35d47
GIT binary patch
literal 1603
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
B9Bcpp
--- a/mobile/themes/core/jar.mn
+++ b/mobile/themes/core/jar.mn
@@ -4,19 +4,19 @@ chrome.jar:
 % skin browser classic/1.0 %skin/
   skin/aboutCertError.css                   (aboutCertError.css)
   skin/aboutPage.css                        (aboutPage.css)
   skin/about.css                            (about.css)
   skin/aboutHome.css                        (aboutHome.css)
   skin/config.css                           (config.css)
   skin/firstRun.css                         (firstRun.css)
   skin/header.css                           (header.css)
-  skin/platform.css                         (platform.css)
+* skin/platform.css                         (platform.css)
 * skin/browser.css                          (browser.css)
-  skin/notification.css                     (notification.css)
+* skin/notification.css                     (notification.css)
   skin/touchcontrols.css                    (touchcontrols.css)
 % override chrome://global/skin/about.css chrome://browser/skin/about.css
 % override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
 
   skin/images/appmenu-addons-hdpi.png       (images/appmenu-addons-hdpi.png)
   skin/images/appmenu-active-hdpi.png       (images/appmenu-active-hdpi.png)
   skin/images/appmenu-downloads-hdpi.png    (images/appmenu-downloads-hdpi.png)
   skin/images/appmenu-preferences-hdpi.png  (images/appmenu-preferences-hdpi.png)
@@ -53,33 +53,33 @@ chrome.jar:
   skin/images/endcap-ssl-active-bg.png      (images/endcap-ssl-active-bg.png)
   skin/images/throbber.png                  (images/throbber.png)
   skin/images/navigation-magnifier-30.png   (images/navigation-magnifier-30.png)
   skin/images/folder-32.png                 (images/folder-32.png)
   skin/images/stop-hdpi.png                 (images/stop-hdpi.png)
   skin/images/reload-hdpi.png               (images/reload-hdpi.png)
   skin/images/alert-addons-30.png           (images/alert-addons-30.png)
   skin/images/alert-downloads-30.png        (images/alert-downloads-30.png)
-  skin/images/addons-default-64.png         (images/addons-default-64.png)
-  skin/images/back-default-64.png           (images/back-default-64.png)
+  skin/images/addons-default-hdpi.png         (images/addons-default-hdpi.png)
+  skin/images/back-default-hdpi.png           (images/back-default-hdpi.png)
   skin/images/allpages-48.png               (images/allpages-48.png)
   skin/images/history-48.png                (images/history-48.png)
   skin/images/bookmark-default-hdpi.png     (images/bookmark-default-hdpi.png)
   skin/images/bookmarks-48.png              (images/bookmarks-48.png)
   skin/images/bookmark-starred-hdpi.png     (images/bookmark-starred-hdpi.png)
   skin/images/panelrow-active-hdpi.png      (images/panelrow-active-hdpi.png)
   skin/images/panelrow-default-hdpi.png     (images/panelrow-default-hdpi.png)
   skin/images/panelrow-selected-hdpi.png    (images/panelrow-selected-hdpi.png)
-  skin/images/forward-default-64.png        (images/forward-default-64.png)
-  skin/images/downloads-default-64.png      (images/downloads-default-64.png)
-  skin/images/settings-default-64.png       (images/settings-default-64.png)
-  skin/images/preferences-default-64.png    (images/preferences-default-64.png)
+  skin/images/forward-default-hdpi.png        (images/forward-default-hdpi.png)
+  skin/images/downloads-default-hdpi.png      (images/downloads-default-hdpi.png)
+  skin/images/settings-default-hdpi.png       (images/settings-default-hdpi.png)
+  skin/images/preferences-default-hdpi.png    (images/preferences-default-hdpi.png)
   skin/images/row-header-bg.png             (images/row-header-bg.png)
-  skin/images/console-default-64.png        (images/console-default-64.png)
-  skin/images/newtab-default-64.png         (images/newtab-default-64.png)
+  skin/images/console-default-hdpi.png        (images/console-default-hdpi.png)
+  skin/images/newtab-default-hdpi.png         (images/newtab-default-hdpi.png)
   skin/images/tab-active-hdpi.png           (images/tab-active-hdpi.png)
   skin/images/tab-inactive-hdpi.png         (images/tab-inactive-hdpi.png)
   skin/images/tab-closed-hdpi.png           (images/tab-closed-hdpi.png)
   skin/images/tab-reopen-hdpi.png           (images/tab-reopen-hdpi.png)
   skin/images/remotetabs-48.png             (images/remotetabs-48.png)
   skin/images/remotetabs-32.png             (images/remotetabs-32.png)
   skin/images/mozilla-32.png                (images/mozilla-32.png)
   skin/images/toggle-on.png                 (images/toggle-on.png)
--- a/mobile/themes/core/notification.css
+++ b/mobile/themes/core/notification.css
@@ -1,14 +1,17 @@
+%filter substitution
+%include defines.inc
+
 notification, notification[type="warning"] {
   padding: 0;
   color: #fff;
   background: #5768c3;
-  border-top: 1px solid #4756aa;
-  border-bottom: 1px solid #4756aa;
+  border-top: @border_width_tiny@ solid #4756aa;
+  border-bottom: @border_width_tiny@ solid #4756aa;
 }
 
 notification .messageCloseButton {
   list-style-image: url("chrome://browser/skin/images/close-default-hdpi.png");
   -moz-image-region: -moz-initial;
   -moz-box-align: start;
 }
 
@@ -20,10 +23,10 @@ notification .messageCloseButton:hover:a
   list-style-image: url("chrome://browser/skin/images/close-active-hdpi.png");
 }
 
 notification .outset {
   border-color: #4756aa !important;
 }
 
 notification .buttons {
-  padding: 8px; /* core spacing */
+  padding: @padding_normal@;
 }
--- a/mobile/themes/core/platform.css
+++ b/mobile/themes/core/platform.css
@@ -33,68 +33,71 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 /* global skin ------------------------------------------------------------- */
 @import url(chrome://global/skin/);
 
+%filter substitution
+%include defines.inc
+
 /* general stuff ------------------------------------------------------------ */
 :root {
   font-family: "Nokia Sans", Tahoma, sans-serif !important;
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 ::-moz-selection {
   background-color: #8db8d8;
   color: black;
 }
 
 menu,
 menuitem {
   padding: 0 !important;
   margin: 0 !important;
 }
 
 description,
 label {
   /* force mac to use the same margins as windows and linux */
-  -moz-margin-start: 6px;
-  -moz-margin-end: 5px;
+  -moz-margin-start: @margin_snormal@;
+  -moz-margin-end: @margin_snormal@;
 }
 
 /* Override any OS inverse themes */
 richlistbox,
 textbox {
   color: black;
   background-color: white;
 }
 
 #default-tooltip {
   visibility: hidden; /* disabled in Fennec */
 }
 
 /* textboxes --------------------------------------------------------------- */
 textbox:not([type="number"]) {
-  min-height: 48px;
-  border: 2px solid #cacdd5;
-  -moz-border-radius: 8px;
+  min-height: @textbox_height@;
+  border: @border_width_small@ solid #cacdd5;
+  -moz-border-radius: @border_radius_normal@;
   -moz-border-top-colors: -moz-initial;
   -moz-border-right-colors: -moz-initial;
   -moz-border-bottom-colors: -moz-initial;
   -moz-border-left-colors: -moz-initial;
 }
 
 textbox[isempty="true"] {
   color: gray;
 }
 
 textbox.search-bar {
-  border: 2px solid rgba(0,0,0,0.4);
+  border: @border_width_small@ solid rgba(0,0,0,0.4);
   background-color: #f9f9f9;
   background: url("chrome://browser/skin/images/textbox-bg.png") top left repeat-x;
 }
 
 textbox[disabled="true"] {
   background-color: lightgray;
 }
 
@@ -104,89 +107,86 @@ textbox[disabled="true"] {
 }
 
 /* prompt dialogs ---------------------------------------------------------- */
 .context-block,
 .modal-block {
   -moz-box-align: center;
   -moz-box-pack: center;
   background-color: rgba(0,0,0,.6);
-  padding: 64px;
+  padding: @touch_normal@;
 }
 
 dialog,
 .dialog-dark,
 .panel-arrowcontent {
   background: url("chrome://browser/skin/images/popup-bg-hdpi.png") left bottom repeat-x;
   background-color: white;
-  border-radius: 8px;
-  box-shadow: black 0 2px 2px, black 0 -1px 2px;
-  padding: 8px 0; /* core spacing on top/bottom */
+  border-radius: @border_radius_normal@;
+  box-shadow: black 0 @border_radius_tiny@ @border_radius_tiny@, black 0 -@border_radius_tiny@ @border_radius_tiny@;
+  padding: @padding_normal@ 0; /* core spacing on top/bottom */
 }
 
 dialog > .prompt-header {
-  padding: 8px;
-  font-size: 18px !important;
+  padding: @padding_normal@;
+  font-size: @font_small@ !important;
 }
 
 dialog > .prompt-header > .prompt-title {
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 @media (max-width: 499px) {
   .context-block,
   .modal-block {
-    padding: 32px;
+    padding: @padding_xlarge@;
   }
 
-  dialog > .prompt-header {
-    font-size: 16px !important;
-  }
-
+  dialog > .prompt-header,
   dialog > .prompt-header > .prompt-title {
-    font-size: 18px !important;
+    font-size: @font_small@ !important;
   }
 }
 
 dialog > .prompt-header > .prompt-message {
-  margin-top: 8px;
+  margin-top: @margin_normal@;
   white-space: pre-wrap;
 }
 
 dialog > .prompt-header > .button-checkbox {
-  margin-left: 24px;
+  margin-left: @margin_large@;
 }
 
 /* buttons ----------------------------------------------------------------- */
 .button-text,
 .toolbarbutton-text {
   font-weight: normal;
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 button {
   -moz-appearance: none;
-  min-width: 56px !important; /* button size */
-  min-height: 56px !important; /* button size */
+  min-width: @touch_button_small@ !important; /* button size */
+  min-height: @touch_button_small@ !important; /* button size */
   color: #000;
-  border-radius: 8px;
-  margin: 8px;
-  padding: 10px;
+  border-radius: @border_radius_normal@;
+  margin: @margin_normal@;
+  padding: @padding_xnormal@;
   background-image: url("chrome://browser/skin/images/button-bg.png");
   background-size: auto 100%;
-  border: 1px solid #cacdd5;
+  border: @border_width_tiny@ solid #cacdd5;
 }
 
 button[disabled="true"] {
   color: #aaa !important;
-  border: 1px solid #cacdd5 !important;
+  border: @border_width_tiny@ solid #cacdd5 !important;
 }
 
 button:focus > .button-box {
-  border: 1px solid transparent;
+  border: @border_width_tiny@ solid transparent;
 }
 
 button:not([disabled]):hover:active,
 button:not([disabled])[checked="true"] {
   background-image: url("chrome://browser/skin/images/toggle-off.png");
 }
 
 /* Override GTK2 system setting */
@@ -195,83 +195,88 @@ button:not([disabled])[checked="true"] {
 }
 
 /* spinbuttons ------------------------------------------------------------- */
 spinbuttons {
   border: none !important;
 }
 
 .numberbox-input-box {
-  border: 2px solid #cacdd5;
-  border-right: 0px solid transparent;
-  border-radius: 8px 0px 0px 8px;
+  border: @border_width_small@ solid #cacdd5;
+  border-right: 0 solid transparent;
+  border-radius: @border_radius_normal@ 0 0 @border_radius_normal@;
   -moz-border-top-colors: -moz-initial;
   -moz-border-bottom-colors: -moz-initial;
   -moz-border-left-colors: -moz-initial;
 }
 
 .numberbox-input-box:-moz-locale-dir(rtl) {
-  border-radius: 0px 8px 8px 0px;
-  border-right: 2px solid #cacdd5;
-  border-left: 0px solid transparent;
+  border-radius: 0 @border_radius_normal@ @border_radius_normal@ 0;
+  border-right: @border_width_small@ solid #cacdd5;
+  border-left: 0 solid transparent;
 }
 
 .spinbuttons-box {
   border: none !important;
   -moz-box-orient: horizontal !important;
   -moz-box-direction: reverse !important;
 }
 
 .spinbuttons-up .button-icon,
 .spinbuttons-down .button-icon {
   display: block;
 }
 
 .spinbuttons-up,
 .spinbuttons-down {
   -moz-appearance: none !important;
-  min-width: 56px !important; /* button size */
-  min-height: 56px !important; /* button size */
+  min-width: @touch_button_small@ !important; /* button size */
+  min-height: @touch_button_small@ !important; /* button size */
   color: #000;
-  margin: 8px;
-  padding: 10px;
-  border-radius: 0px;
+  margin: @margin_normal@;
+  padding: @padding_xnormal@;
+  border-radius: 0;
   background-image: url("chrome://browser/skin/images/button-bg.png");
   background-size: auto 100%;
-  border: 1px solid #cacdd5;
+  border: @border_width_tiny@ solid #cacdd5;
   list-style-image: url("chrome://browser/skin/images/arrowdown-16.png");
 }
 
 .spinbuttons-up:hover:active:not([disabled=true]),
 .spinbuttons-down:hover:active:not([disabled=true]) {
   background-image: url("chrome://browser/skin/images/toggle-on.png");
 }
 
 .spinbuttons-up {
-  border-radius: 0px 8px 8px 0px;
+  border-radius: 0 @border_radius_normal@ @border_radius_normal@ 0;
   list-style-image: url("chrome://browser/skin/images/arrowup-16.png");
 }
 
 .spinbuttons-up:-moz-locale-dir(rtl) {
-  border-radius: 8px 0px 0px 8px;
+  border-radius: @border_radius_normal@ 0 0 @border_radius_normal@;
 }
 
 /* toolbar buttons --------------------------------------------------------- */
 toolbarbutton {
-  min-width: 64px !important; /* primary button size */
-  min-height: 64px !important; /* primary button size */
+  min-width: @touch_button_large@ !important; /* primary button size */
+  min-height: @touch_button_large@ !important; /* primary button size */
   -moz-appearance: none !important;
   margin: 0;
-  padding: 2px;
+  padding: @padding_xsmall@;
 }
 
 toolbarbutton:not(.show-text) .toolbarbutton-text {
   display: none !important;
 }
 
+.toolbarbutton-icon[label]:not([label=""]),
+.toolbarbutton-icon[type="menu"] {
+  -moz-margin-end: @margin_tiny@;
+}
+
 toolbarbutton:not(.show-text) .toolbarbutton-icon,
 toolbarbutton:not([image]) .toolbarbutton-icon,
 toolbarbutton[image=''] .toolbarbutton-icon {
   -moz-margin-end: 0;
 }
 
 toolbarbutton:hover,
 toolbarbutton:hover:active,
@@ -283,103 +288,103 @@ toolbarbutton[open="true"] {
 .button-checkbox {
   padding: 0 !important;
   background: none !important;
   border: none !important;
   -moz-border-image: none !important;
 }
 
 .button-checkbox > .button-image-icon {
-  -moz-margin-end: 8px;
+  -moz-margin-end: @margin_normal@;
   list-style-image: url("chrome://browser/skin/images/check-unselected-30.png");
 }
 
 .button-checkbox[checked="true"] > .button-image-icon {
   list-style-image: url("chrome://browser/skin/images/check-selected-30.png");
 }
 
 .button-checkbox:hover:active > .button-box,
 .button-checkbox[checked="true"] > .button-box {
-  padding-top: 1px;
-  padding-bottom: 2px;
-  -moz-padding-start: 3px;
-  -moz-padding-end: 4px;
+  padding-top: @padding_tiny@;
+  padding-bottom: @padding_xsmall@;
+  -moz-padding-start: @margin_small@;
+  -moz-padding-end: @margin_small@;
 }
 
 /* radio buttons ----------------------------------------------------------- */
 radiogroup {
   -moz-box-orient: horizontal;
 }
 
 .radio-label {
   font-weight: normal;
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 radio {
   -moz-appearance: none;
-  min-width: 56px !important; /* button size */
-  min-height: 56px !important; /* button size */
+  min-width: @touch_button_small@ !important; /* button size */
+  min-height: @touch_button_small@ !important; /* button size */
   color: #000;
-  padding: 10px;
-  margin: 0px;
+  padding: @padding_xnormal@;
+  margin: 0;
   background-image: url("chrome://browser/skin/images/button-bg.png");
   background-size: auto 100%;
-  border-top: 1px solid #cacdd5;
-  border-bottom: 1px solid #cacdd5;
+  border-top: @border_width_tiny@ solid #cacdd5;
+  border-bottom: @border_width_tiny@ solid #cacdd5;
 }
 
 radio .radio-icon, radio .radio-check {
   display: none;
 }
 
 radio:not([disabled=true]):hover:active,
 radio[selected] {
   color: white;
   background-image: url("chrome://browser/skin/images/toggle-on.png");
 }
 
 radio:first-child {
-  border-left: 1px solid #cacdd5;
-  border-radius: 8px 0px 0px 8px;
+  border-left: @border_width_tiny@ solid #cacdd5;
+  border-radius: @border_radius_normal@ 0 0 @border_radius_normal@;
 }
 
 radio:first-child:-moz-locale-dir(rtl) {
   border-left: none;
-  border-right: 1px solid #cacdd5;
-  border-radius: 0px 8px 8px 0px;
+  border-right: @border_width_tiny@ solid #cacdd5;
+  border-radius: 0 @border_radius_normal@ @border_radius_normal@ 0;
 }
 
 radio:last-child {
-  border-right: 1px solid #cacdd5;
-  border-radius: 0px 8px 8px 0px;
+  border-right: @border_width_tiny@ solid #cacdd5;
+  border-radius: 0 @border_radius_normal@ @border_radius_normal@ 0;
 }
 
 radio:last-child:-moz-locale-dir(rtl) {
   border-right: none;
-  border-left: 1px solid #cacdd5;
-  border-radius: 8px 0px 0px 8px;
+  border-left: @border_width_tiny@ solid #cacdd5;
+  border-radius: @border_radius_normal@ 0 0 @border_radius_normal@;
 }
 
 radio[focused="true"] > .radio-label-box {
-  border: 1px solid transparent;
+  border: @border_width_tiny@ solid transparent;
 }
 
 /* checkbox radios --------------------------------------------------------- */
 checkbox {
-  margin: 1px 5px 2px 5px; /* match platform style for buttons */
+  margin: @margin_tiny@ @margin_small@ @margin_tiny@ @margin_small@; /* match platform style for buttons */
 }
 
 radio.checkbox-radio-on:not([selected]) {
-  border-right: 1px solid #cacdd5;
+  border-right: @border_width_tiny@ solid #cacdd5;
 }
 
 radio.checkbox-radio-on:not([selected]):-moz-locale-dir(rtl) {
   border-left: none;
-  border-left: 1px solid #cacdd5;
+  border-left: @border_width_tiny@ solid #cacdd5;
 }
 
 radio.checkbox-radio-off[selected],
 radio.checkbox-radio-off:hover:active {
   background-image: url("chrome://browser/skin/images/toggle-off.png");
   color: black;
   background-repeat: repeat-x;
 }
@@ -392,43 +397,43 @@ radio.checkbox-radio-off:not([selected])
 /* richlistbox ------------------------------------------------------------- */
 richlistbox {
   -moz-user-focus: ignore;
   margin: 0;
 }
 
 richlistitem {
   -moz-user-focus: ignore;
-  min-height: 70px; /* row size */
-  padding: 5px;
-  border-bottom: 1px solid rgb(207,207,207);
+  min-height: @touch_row@; /* row size */
+  padding: @padding_small@;
+  border-bottom: @border_width_tiny@ solid rgb(207,207,207);
 }
 
 richlistitem label.title,
 richlistitem description.title {
-  font-size: 24px !important;
+  font-size: @font_normal@ !important;
 }
 
 richlistitem label.normal,
 richlistitem description.normal {
   color: gray;
-  font-size: 18px !important;
+  font-size: @font_small@ !important;
   white-space: pre-wrap;
 }
 
 richlistitem label.normal-black,
 richlistitem description.normal-black {
-  font-size: 18px !important;
+  font-size: @font_small@  !important;
   white-space: pre-wrap;
 }
 
 richlistitem label.normal-bold,
 richlistitem description.normal-bold {
   font-weight: bold;
-  font-size: 18px !important;
+  font-size: @font_small@  !important;
   white-space: pre-wrap;
 }
 
 richlistitem[selected="true"] {
   color: black;
   background-color: white;
 }
 
@@ -482,71 +487,71 @@ colorpicker > vbox {
   list-style-image: url("chrome://browser/skin/images/search-clear-30.png");
   -moz-image-region: auto;
 }
 
 /* menulist ---------------------------------------------------------------- */
 .menulist-label {
   font-family: "Nokia Sans", Tahoma, sans-serif !important;
   font-weight: normal;
-  font-size: 24px !important;
+  font-size: @font_normal@  !important;
   background-color: transparent !important;
 }
 
 menulist {
   -moz-appearance: none !important;
   -moz-user-focus: ignore;
-  min-width: 56px !important; /* button size */
-  min-height: 56px !important; /* button size */
+  min-width: @touch_button_small@ !important; /* button size */
+  min-height: @touch_button_small@ !important; /* button size */
   color: #000 !important;
-  border-radius: 8px;
-  margin: 8px;
-  padding: 6px 10px;
+  border-radius: @border_radius_normal@;
+  margin: @margin_normal@;
+  padding: @padding_small@ @padding_xnormal@;
   background-image: url("chrome://browser/skin/images/button-bg.png");
   background-size: auto 100%;
-  border: 1px solid #cacdd5;
+  border: @border_width_tiny@ solid #cacdd5;
 }
 
 menulist[disabled="true"] {
   color: #aaa !important;
-  border: 1px solid #cacdd5 !important;
+  border: @border_width_tiny@ solid #cacdd5 !important;
 }
 
 menulist:not([disabled="true"]):hover:active {
   background-image: url("chrome://browser/skin/images/toggle-off.png");
 }
 
 menulist > dropmarker {
-  height: 42px;
-  width: 42px;
-  margin-left: 5px;
+  height: 32px;
+  width: 32px;
+  margin-left: @margin_snormal@;
   background-color: transparent; /* for windows */
   border: none;                  /* for windows */
   -moz-box-align: center;
   -moz-box-pack: center;
   list-style-image: url("chrome://browser/skin/images/dropmarker-hdpi.png");
   -moz-image-region: auto;
   display: block;
 }
 
 menulist[disabled="true"] > dropmarker {
   opacity: 0.5;
 }
 
 /* progressmeter ----------------------------------------------------------- */
 progressmeter {
   background-color: #fff;
-  padding: 4px;
-  height: 32px;
-  border: 3px solid #aaa;
+  padding: @padding_small@;
+  height: @textbox_height@;
+  border: @border_width_large@ solid #aaa;
   -moz-border-top-colors: -moz-initial;
   -moz-border-right-colors: -moz-initial;
   -moz-border-bottom-colors: -moz-initial;
   -moz-border-left-colors: -moz-initial;
-  -moz-border-radius: 8px;
+  -moz-border-radius: @border_radius_normal@;
 }
 
 .progress-bar {
   background-color: #8db8d8;
 }
 
 /* panels / arrowboxes------------------------------------------------------ */
 arrowbox {
@@ -557,54 +562,54 @@ arrowbox {
 
 .panel-dark {
   color: white;
   background: rgb(94,97,102);
 }
 
 .panel-arrow[side="top"] {
   list-style-image: url("chrome://browser/skin/images/arrowbox-up.png");
-  margin-bottom: -8px;
+  margin-bottom: -@margin_normal@;
 }
 
 .panel-arrow[side="bottom"] {
   list-style-image: url("chrome://browser/skin/images/arrowbox-down.png");
-  margin-top: -8px;
+  margin-top: -@margin_normal@;
 }
 
 .panel-arrow[side="left"] {
   list-style-image: url("chrome://browser/skin/images/arrowbox-horiz.png");
-  margin-right: -8px;
+  margin-right: -@margin_normal@;
   -moz-transform: scaleX(-1);
 }
 
 .panel-arrow[side="right"] {
   list-style-image: url("chrome://browser/skin/images/arrowbox-horiz.png");
-  margin-left: -8px;
+  margin-left: -@margin_normal@;
 }
 
 /*.panel-row-header ------------------------------------------------------------ */
 .panel-row-header {
-  border-bottom: 4px solid rgb(101,121,227);
+  border-bottom: @border_width_xlarge@ solid rgb(101,121,227);
   background-color: rgb(94,97,102);
   padding: 0 !important;
 }
 
 .panel-row-button {
   -moz-appearance: none;
   background: rgb(94,97,102) url(images/panelrow-default-hdpi.png) no-repeat;
   background-size: 100% 100%;
   color: white;
-  border: 0px solid transparent !important;
-  -moz-border-start: 1px solid rgba(255,255,255,0.2) !important;
-  -moz-border-end: 1px solid rgba(0,0,0,0.2) !important;
-  padding-top: 3px !important;
-  padding-bottom: 3px !important;
-  -moz-padding-start: 2px !important;
-  -moz-padding-end: 2px !important;
+  border: 0 solid transparent !important;
+  -moz-border-start: @border_width_tiny@ solid rgba(255,255,255,0.2) !important;
+  -moz-border-end: @border_width_tiny@ solid rgba(0,0,0,0.2) !important;
+  padding-top: @padding_xsmall@ !important;
+  padding-bottom: @padding_xsmall@ !important;
+  -moz-padding-start: @padding_xsmall@ !important;
+  -moz-padding-end: @padding_xsmall@ !important;
   -moz-box-flex: 1;
   -moz-user-focus: ignore;
   -moz-user-select: none;
 }
 
 .panel-row-button:hover:active {
   background: rgb(94,97,102) url(images/panelrow-active-hdpi.png) no-repeat;
   background-size: 100% 100%;
@@ -613,29 +618,29 @@ arrowbox {
 .panel-row-button:first-child {
   -moz-border-start-width: 0 !important;
 }
 
 .panel-row-button:last-child {
   -moz-border-end-width: 0 !important;
 }
 
-@media (max-width: 499px) {
+@media (@orientation@: portrait) {
   .panel-row-button {
     -moz-box-orient: vertical;
   }
 
   .panel-row-button .toolbarbutton-text {
-    font-size: 16px !important;
+    font-size: @font_xsmall@ !important;
   }
 }
 
 .panel-row-button .toolbarbutton-text {
   text-align: left;
-  text-shadow: rgba(0,0,0,0.3) 0 2px;
+  text-shadow: rgba(0,0,0,0.3) 0 @shadow_width_small@;
 }
 
 .panel-row-button .toolbarbutton-text:-moz-locale-dir(rtl) {
   text-align: right;
 }
 
 .panel-row-button[disabled="true"] {
   pointer-events: none;