diff --git a/client/source/sass/objects/_directory-tree.scss b/client/source/sass/objects/_directory-tree.scss
index d2055bee..6f46e37e 100644
--- a/client/source/sass/objects/_directory-tree.scss
+++ b/client/source/sass/objects/_directory-tree.scss
@@ -17,10 +17,10 @@
color: $directory-tree--directory--foreground;
cursor: pointer;
font-weight: 500;
- transition: opacity 0.125s;
+ transition: color 0.125s;
&:active {
- opacity: 0.7;
+ color: $directory-tree--directory--foreground--active;
}
.icon {
diff --git a/client/source/sass/objects/_torrent-details-panel.scss b/client/source/sass/objects/_torrent-details-panel.scss
index 92e157f2..7c29cb82 100644
--- a/client/source/sass/objects/_torrent-details-panel.scss
+++ b/client/source/sass/objects/_torrent-details-panel.scss
@@ -1,3 +1,13 @@
+.application {
+
+ &__panel {
+
+ &--torrent-details {
+ background: $torrent-details--background;
+ }
+ }
+}
+
.torrent-details {
background: $torrent-details--background;
bottom: 0;
@@ -10,6 +20,7 @@
position: absolute;
right: 0;
top: 0;
+ transition: opacity 1s;
z-index: 2;
&__section {
@@ -55,3 +66,16 @@
}
}
}
+
+.torrent-details-enter {
+ opacity: 0;
+}
+
+.torrent-details-enter-active {
+ opacity: 1;
+}
+
+.torrent-details-leave {
+ opacity: 0;
+ transition: opacity 0.5s;
+}
diff --git a/client/source/sass/tools/_colors.scss b/client/source/sass/tools/_colors.scss
index cbea100e..1fbb644b 100644
--- a/client/source/sass/tools/_colors.scss
+++ b/client/source/sass/tools/_colors.scss
@@ -122,8 +122,8 @@ $progress-bar--fill--selected: #fff;
$torrent-details--background: #162835;
$torrent-details--border: rgba($background, 0.1);
-$torrent-details--directory-tree--directory: #a5b0b9;
-$torrent-details--directory-tree--icon-fill: #a5b0b9;
+$torrent-details--directory-tree--directory: #375468;
+$torrent-details--directory-tree--icon-fill: #375468;
$torrent-details--table--header: #c0cad3;
$torrent-details--table--header--count: #778c9e;
@@ -153,8 +153,10 @@ $modal--content--border: rgba($background, 0.1);
$modal--content--shadow: rgba($background, 0.3);
// directory torrent-details--directory-tree--icon-fill
-$directory-tree--filename--foreground: rgba(#566573, 0.8);
-$directory-tree--directory--foreground: #566573;
+$directory-tree--filename--foreground: #567285;
+$directory-tree--directory--foreground: #7793a7;
+$directory-tree--directory--foreground--active: lighten($directory-tree--directory--foreground, 15%);
-$directory-tree--icon--file: rgba(#566573, 0.4);
-$directory-tree--icon--folder: rgba(#566573, 0.6);
+$directory-tree--icon--file: #344b5b;
+$directory-tree--icon--folder: #3c5465;
+$directory-tree--icon--folder--active: lighten($directory-tree--icon--folder, 15%);
diff --git a/client/source/scripts/components/panels/TorrentDetailsView.js b/client/source/scripts/components/panels/TorrentDetailsView.js
index 5d770c1f..cfc05b39 100644
--- a/client/source/scripts/components/panels/TorrentDetailsView.js
+++ b/client/source/scripts/components/panels/TorrentDetailsView.js
@@ -22,7 +22,7 @@ const METHODS_TO_BIND = [
'onOpenChange',
'onTorrentDetailsChange',
'getHeading',
- 'getSidePanel'
+ 'getTorrentDetailsView'
];
export default class TorrentDetails extends React.Component {
@@ -88,7 +88,7 @@ export default class TorrentDetails extends React.Component {
// );
}
- getSidePanel() {
+ getTorrentDetailsView() {
let torrentDetailsContent = null;
if (this.state.isOpen) {
@@ -130,7 +130,6 @@ export default class TorrentDetails extends React.Component {
{eta}
-
@@ -138,21 +137,19 @@ export default class TorrentDetails extends React.Component {
);
}
- return (
-
- {torrentDetailsContent}
-
- );
+ return torrentDetailsContent;
}
render() {
return (
-
- {this.getSidePanel()}
-
+
+
+ {this.getTorrentDetailsView()}
+
+
);
}
}
diff --git a/server/assets/app.js b/server/assets/app.js
index 04c29ca0..6d7bf317 100644
--- a/server/assets/app.js
+++ b/server/assets/app.js
@@ -1526,7 +1526,7 @@
/* 247 */
/***/ function(module, exports, __webpack_require__) {
- eval("'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _lodash = __webpack_require__(171);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _classnames = __webpack_require__(161);\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactAddonsCssTransitionGroup = __webpack_require__(163);\n\nvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\nvar _layoutApplicationPanel = __webpack_require__(160);\n\nvar _layoutApplicationPanel2 = _interopRequireDefault(_layoutApplicationPanel);\n\nvar _iconsDownload = __webpack_require__(208);\n\nvar _iconsDownload2 = _interopRequireDefault(_iconsDownload);\n\nvar _constantsEventTypes = __webpack_require__(196);\n\nvar _constantsEventTypes2 = _interopRequireDefault(_constantsEventTypes);\n\nvar _iconsETA = __webpack_require__(248);\n\nvar _iconsETA2 = _interopRequireDefault(_iconsETA);\n\nvar _utilFormatData = __webpack_require__(209);\n\nvar _utilFormatData2 = _interopRequireDefault(_utilFormatData);\n\nvar _componentsIconsRatio = __webpack_require__(249);\n\nvar _componentsIconsRatio2 = _interopRequireDefault(_componentsIconsRatio);\n\nvar _actionsTorrentActions = __webpack_require__(176);\n\nvar _actionsTorrentActions2 = _interopRequireDefault(_actionsTorrentActions);\n\nvar _torrentDetailsTorrentFiles = __webpack_require__(250);\n\nvar _torrentDetailsTorrentFiles2 = _interopRequireDefault(_torrentDetailsTorrentFiles);\n\nvar _torrentDetailsTorrentPeers = __webpack_require__(258);\n\nvar _torrentDetailsTorrentPeers2 = _interopRequireDefault(_torrentDetailsTorrentPeers);\n\nvar _storesTorrentStore = __webpack_require__(236);\n\nvar _storesTorrentStore2 = _interopRequireDefault(_storesTorrentStore);\n\nvar _torrentDetailsTorrentTrackers = __webpack_require__(259);\n\nvar _torrentDetailsTorrentTrackers2 = _interopRequireDefault(_torrentDetailsTorrentTrackers);\n\nvar _storesUIStore = __webpack_require__(198);\n\nvar _storesUIStore2 = _interopRequireDefault(_storesUIStore);\n\nvar _iconsUpload = __webpack_require__(212);\n\nvar _iconsUpload2 = _interopRequireDefault(_iconsUpload);\n\nvar METHODS_TO_BIND = ['onTorrentDetailsHashChange', 'onOpenChange', 'onTorrentDetailsChange', 'getHeading', 'getSidePanel'];\n\nvar TorrentDetails = (function (_React$Component) {\n _inherits(TorrentDetails, _React$Component);\n\n function TorrentDetails() {\n var _this = this;\n\n _classCallCheck(this, TorrentDetails);\n\n _get(Object.getPrototypeOf(TorrentDetails.prototype), 'constructor', this).call(this);\n\n this.state = {\n isOpen: false,\n torrentDetailsSuccess: false,\n torrentDetailsError: false,\n selectedTorrent: {},\n selectedTorrentHash: null,\n torrentDetails: {}\n };\n\n METHODS_TO_BIND.forEach(function (method) {\n _this[method] = _this[method].bind(_this);\n });\n }\n\n _createClass(TorrentDetails, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _storesTorrentStore2['default'].listen(_constantsEventTypes2['default'].CLIENT_TORRENT_DETAILS_CHANGE, this.onTorrentDetailsChange);\n _storesUIStore2['default'].listen(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_OPEN_CHANGE, this.onOpenChange);\n _storesUIStore2['default'].listen(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_HASH_CHANGE, this.onTorrentDetailsHashChange);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _storesTorrentStore2['default'].stopPollingTorrentDetails();\n _storesTorrentStore2['default'].unlisten(_constantsEventTypes2['default'].CLIENT_TORRENT_DETAILS_CHANGE, this.onTorrentDetailsChange);\n _storesUIStore2['default'].unlisten(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_OPEN_CHANGE, this.onOpenChange);\n _storesUIStore2['default'].unlisten(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_HASH_CHANGE, this.onTorrentDetailsHashChange);\n }\n }, {\n key: 'onTorrentDetailsHashChange',\n value: function onTorrentDetailsHashChange() {\n if (_storesUIStore2['default'].isTorrentDetailsOpen()) {\n _storesTorrentStore2['default'].fetchTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash());\n }\n }\n }, {\n key: 'onOpenChange',\n value: function onOpenChange() {\n if (!_storesUIStore2['default'].isTorrentDetailsOpen()) {\n _storesTorrentStore2['default'].stopPollingTorrentDetails();\n } else {\n _storesTorrentStore2['default'].fetchTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash());\n }\n\n this.setState({\n isOpen: _storesUIStore2['default'].isTorrentDetailsOpen()\n });\n }\n }, {\n key: 'onTorrentDetailsChange',\n value: function onTorrentDetailsChange() {\n this.setState({\n torrentDetails: _storesTorrentStore2['default'].getTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash())\n });\n }\n }, {\n key: 'getHeading',\n value: function getHeading() {\n // return (\n //
\n // Dropdown\n //
\n // );\n }\n }, {\n key: 'getSidePanel',\n value: function getSidePanel() {\n var torrentDetailsContent = null;\n\n if (this.state.isOpen) {\n var selectedHash = _storesUIStore2['default'].getTorrentDetailsHash();\n var torrent = _storesTorrentStore2['default'].getTorrent(selectedHash);\n var added = new Date(torrent.added * 1000);\n var addedString = added.getMonth() + 1 + '/' + added.getDate() + '/' + added.getFullYear();\n var completed = _utilFormatData2['default'].data(torrent.bytesDone);\n var downloadRate = _utilFormatData2['default'].data(torrent.downloadRate, '/s');\n var downloadTotal = _utilFormatData2['default'].data(torrent.downloadTotal);\n var eta = _utilFormatData2['default'].eta(torrent.eta);\n var ratio = _utilFormatData2['default'].ratio(torrent.ratio);\n var totalSize = _utilFormatData2['default'].data(torrent.sizeBytes);\n var torrentDetails = this.state.torrentDetails || {};\n var uploadRate = _utilFormatData2['default'].data(torrent.uploadRate, '/s');\n var uploadTotal = _utilFormatData2['default'].data(torrent.uploadTotal);\n\n torrentDetailsContent = _react2['default'].createElement(\n 'div',\n { className: 'torrent-details', key: this.state.isOpen },\n this.getHeading(),\n _react2['default'].createElement(\n 'ul',\n { className: 'torrent-details__transfer-data torrent-details__section' },\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--download' },\n _react2['default'].createElement(_iconsDownload2['default'], null),\n downloadRate.value,\n _react2['default'].createElement(\n 'em',\n { className: 'unit' },\n downloadRate.unit\n )\n ),\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--upload' },\n _react2['default'].createElement(_iconsUpload2['default'], null),\n uploadRate.value,\n _react2['default'].createElement(\n 'em',\n { className: 'unit' },\n uploadRate.unit\n )\n ),\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--ratio' },\n _react2['default'].createElement(_componentsIconsRatio2['default'], null),\n ratio\n ),\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--eta' },\n _react2['default'].createElement(_iconsETA2['default'], null),\n eta\n )\n ),\n _react2['default'].createElement(_torrentDetailsTorrentTrackers2['default'], { trackers: torrentDetails.trackers }),\n _react2['default'].createElement(_torrentDetailsTorrentFiles2['default'], { files: torrentDetails.files, torrent: torrent }),\n _react2['default'].createElement(_torrentDetailsTorrentPeers2['default'], { peers: torrentDetails.peers })\n );\n }\n\n return _react2['default'].createElement(\n _layoutApplicationPanel2['default'],\n { modifier: 'torrent-details' },\n torrentDetailsContent\n );\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2['default'].createElement(\n _reactAddonsCssTransitionGroup2['default'],\n {\n transitionEnterTimeout: 500,\n transitionLeaveTimeout: 500,\n transitionName: 'torrent-details' },\n this.getSidePanel()\n );\n }\n }]);\n\n return TorrentDetails;\n})(_react2['default'].Component);\n\nexports['default'] = TorrentDetails;\nmodule.exports = exports['default'];//@ sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jbGllbnQvc291cmNlL3NjcmlwdHMvY29tcG9uZW50cy9wYW5lbHMvVG9ycmVudERldGFpbHNWaWV3LmpzP2Q2OGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFLEVBQUUseURBQXlELHFFQUFxRSw2REFBNkQsb0JBQW9CLEdBQUcsRUFBRTs7QUFFbGpCLHVDQUF1QyxtQkFBbUIsNEJBQTRCLGlEQUFpRCxnQkFBZ0Isa0RBQWtELDhEQUE4RCwwQkFBMEIsNENBQTRDLHVCQUF1QixrQkFBa0IsRUFBRSxPQUFPLGFBQWEsZ0JBQWdCLGdCQUFnQixlQUFlLDJCQUEyQixvQkFBb0IsRUFBRSxFQUFFLDRCQUE0QixtQkFBbUIsRUFBRSxPQUFPLHVCQUF1Qiw0QkFBNEIsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsRUFBRTs7QUFFL29CLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SiwwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLHVEQUF1RDtBQUNsRTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHVFQUF1RTtBQUNwRjtBQUNBO0FBQ0EsZUFBZSxxREFBcUQ7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1EQUFtRDtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixvQkFBb0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0RBQWtEO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGdEQUFnRDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdGQUF3RixvQ0FBb0M7QUFDNUgscUZBQXFGLGdEQUFnRDtBQUNySSxxRkFBcUYsOEJBQThCO0FBQ25IO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBIiwiZmlsZSI6IjI0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY3JlYXRlQ2xhc3MgPSAoZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKCd2YWx1ZScgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0pKCk7XG5cbnZhciBfZ2V0ID0gZnVuY3Rpb24gZ2V0KF94LCBfeDIsIF94MykgeyB2YXIgX2FnYWluID0gdHJ1ZTsgX2Z1bmN0aW9uOiB3aGlsZSAoX2FnYWluKSB7IHZhciBvYmplY3QgPSBfeCwgcHJvcGVydHkgPSBfeDIsIHJlY2VpdmVyID0gX3gzOyBfYWdhaW4gPSBmYWxzZTsgaWYgKG9iamVjdCA9PT0gbnVsbCkgb2JqZWN0ID0gRnVuY3Rpb24ucHJvdG90eXBlOyB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBwcm9wZXJ0eSk7IGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsgdmFyIHBhcmVudCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpOyBpZiAocGFyZW50ID09PSBudWxsKSB7IHJldHVybiB1bmRlZmluZWQ7IH0gZWxzZSB7IF94ID0gcGFyZW50OyBfeDIgPSBwcm9wZXJ0eTsgX3gzID0gcmVjZWl2ZXI7IF9hZ2FpbiA9IHRydWU7IGRlc2MgPSBwYXJlbnQgPSB1bmRlZmluZWQ7IGNvbnRpbnVlIF9mdW5jdGlvbjsgfSB9IGVsc2UgaWYgKCd2YWx1ZScgaW4gZGVzYykgeyByZXR1cm4gZGVzYy52YWx1ZTsgfSBlbHNlIHsgdmFyIGdldHRlciA9IGRlc2MuZ2V0OyBpZiAoZ2V0dGVyID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSByZXR1cm4gZ2V0dGVyLmNhbGwocmVjZWl2ZXIpOyB9IH0gfTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbicpOyB9IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gJ2Z1bmN0aW9uJyAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoJ1N1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgJyArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIF9sb2Rhc2ggPSByZXF1aXJlKCdsb2Rhc2gnKTtcblxudmFyIF9sb2Rhc2gyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9kYXNoKTtcblxudmFyIF9jbGFzc25hbWVzID0gcmVxdWlyZSgnY2xhc3NuYW1lcycpO1xuXG52YXIgX2NsYXNzbmFtZXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2xhc3NuYW1lcyk7XG5cbnZhciBfcmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgX3JlYWN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0KTtcblxudmFyIF9yZWFjdEFkZG9uc0Nzc1RyYW5zaXRpb25Hcm91cCA9IHJlcXVpcmUoJ3JlYWN0LWFkZG9ucy1jc3MtdHJhbnNpdGlvbi1ncm91cCcpO1xuXG52YXIgX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwKTtcblxudmFyIF9sYXlvdXRBcHBsaWNhdGlvblBhbmVsID0gcmVxdWlyZSgnLi4vbGF5b3V0L0FwcGxpY2F0aW9uUGFuZWwnKTtcblxudmFyIF9sYXlvdXRBcHBsaWNhdGlvblBhbmVsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xheW91dEFwcGxpY2F0aW9uUGFuZWwpO1xuXG52YXIgX2ljb25zRG93bmxvYWQgPSByZXF1aXJlKCcuLi9pY29ucy9Eb3dubG9hZCcpO1xuXG52YXIgX2ljb25zRG93bmxvYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbnNEb3dubG9hZCk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlcyA9IHJlcXVpcmUoJy4uLy4uL2NvbnN0YW50cy9FdmVudFR5cGVzJyk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb25zdGFudHNFdmVudFR5cGVzKTtcblxudmFyIF9pY29uc0VUQSA9IHJlcXVpcmUoJy4uL2ljb25zL0VUQScpO1xuXG52YXIgX2ljb25zRVRBMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb25zRVRBKTtcblxudmFyIF91dGlsRm9ybWF0RGF0YSA9IHJlcXVpcmUoJy4uLy4uL3V0aWwvZm9ybWF0RGF0YScpO1xuXG52YXIgX3V0aWxGb3JtYXREYXRhMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3V0aWxGb3JtYXREYXRhKTtcblxudmFyIF9jb21wb25lbnRzSWNvbnNSYXRpbyA9IHJlcXVpcmUoJy4uLy4uL2NvbXBvbmVudHMvaWNvbnMvUmF0aW8nKTtcblxudmFyIF9jb21wb25lbnRzSWNvbnNSYXRpbzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb21wb25lbnRzSWNvbnNSYXRpbyk7XG5cbnZhciBfYWN0aW9uc1RvcnJlbnRBY3Rpb25zID0gcmVxdWlyZSgnLi4vLi4vYWN0aW9ucy9Ub3JyZW50QWN0aW9ucycpO1xuXG52YXIgX2FjdGlvbnNUb3JyZW50QWN0aW9uczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hY3Rpb25zVG9ycmVudEFjdGlvbnMpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzID0gcmVxdWlyZSgnLi4vdG9ycmVudC1kZXRhaWxzL1RvcnJlbnRGaWxlcycpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVycyA9IHJlcXVpcmUoJy4uL3RvcnJlbnQtZGV0YWlscy9Ub3JyZW50UGVlcnMnKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVyczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVycyk7XG5cbnZhciBfc3RvcmVzVG9ycmVudFN0b3JlID0gcmVxdWlyZSgnLi4vLi4vc3RvcmVzL1RvcnJlbnRTdG9yZScpO1xuXG52YXIgX3N0b3Jlc1RvcnJlbnRTdG9yZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdG9yZXNUb3JyZW50U3RvcmUpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzID0gcmVxdWlyZSgnLi4vdG9ycmVudC1kZXRhaWxzL1RvcnJlbnRUcmFja2VycycpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzKTtcblxudmFyIF9zdG9yZXNVSVN0b3JlID0gcmVxdWlyZSgnLi4vLi4vc3RvcmVzL1VJU3RvcmUnKTtcblxudmFyIF9zdG9yZXNVSVN0b3JlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0b3Jlc1VJU3RvcmUpO1xuXG52YXIgX2ljb25zVXBsb2FkID0gcmVxdWlyZSgnLi4vaWNvbnMvVXBsb2FkJyk7XG5cbnZhciBfaWNvbnNVcGxvYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbnNVcGxvYWQpO1xuXG52YXIgTUVUSE9EU19UT19CSU5EID0gWydvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZScsICdvbk9wZW5DaGFuZ2UnLCAnb25Ub3JyZW50RGV0YWlsc0NoYW5nZScsICdnZXRIZWFkaW5nJywgJ2dldFNpZGVQYW5lbCddO1xuXG52YXIgVG9ycmVudERldGFpbHMgPSAoZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFRvcnJlbnREZXRhaWxzLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBUb3JyZW50RGV0YWlscygpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFRvcnJlbnREZXRhaWxzKTtcblxuICAgIF9nZXQoT2JqZWN0LmdldFByb3RvdHlwZU9mKFRvcnJlbnREZXRhaWxzLnByb3RvdHlwZSksICdjb25zdHJ1Y3RvcicsIHRoaXMpLmNhbGwodGhpcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgIHRvcnJlbnREZXRhaWxzU3VjY2VzczogZmFsc2UsXG4gICAgICB0b3JyZW50RGV0YWlsc0Vycm9yOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkVG9ycmVudDoge30sXG4gICAgICBzZWxlY3RlZFRvcnJlbnRIYXNoOiBudWxsLFxuICAgICAgdG9ycmVudERldGFpbHM6IHt9XG4gICAgfTtcblxuICAgIE1FVEhPRFNfVE9fQklORC5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAgIF90aGlzW21ldGhvZF0gPSBfdGhpc1ttZXRob2RdLmJpbmQoX3RoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFRvcnJlbnREZXRhaWxzLCBbe1xuICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5DTElFTlRfVE9SUkVOVF9ERVRBSUxTX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfSEFTSF9DSEFOR0UsIHRoaXMub25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudFdpbGxVbm1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLnN0b3BQb2xsaW5nVG9ycmVudERldGFpbHMoKTtcbiAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10udW5saXN0ZW4oX2NvbnN0YW50c0V2ZW50VHlwZXMyWydkZWZhdWx0J10uQ0xJRU5UX1RPUlJFTlRfREVUQUlMU19DSEFOR0UsIHRoaXMub25Ub3JyZW50RGV0YWlsc0NoYW5nZSk7XG4gICAgICBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS51bmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLnVubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLlVJX1RPUlJFTlRfREVUQUlMU19IQVNIX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZSgpIHtcbiAgICAgIGlmIChfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5pc1RvcnJlbnREZXRhaWxzT3BlbigpKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZmV0Y2hUb3JyZW50RGV0YWlscyhfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25PcGVuQ2hhbmdlJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25PcGVuQ2hhbmdlKCkge1xuICAgICAgaWYgKCFfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5pc1RvcnJlbnREZXRhaWxzT3BlbigpKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uc3RvcFBvbGxpbmdUb3JyZW50RGV0YWlscygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5mZXRjaFRvcnJlbnREZXRhaWxzKF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnREZXRhaWxzSGFzaCgpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlzT3BlbjogX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uaXNUb3JyZW50RGV0YWlsc09wZW4oKVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Ub3JyZW50RGV0YWlsc0NoYW5nZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uVG9ycmVudERldGFpbHNDaGFuZ2UoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdG9ycmVudERldGFpbHM6IF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHMoX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHNIYXNoKCkpXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXRIZWFkaW5nJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0SGVhZGluZygpIHtcbiAgICAgIC8vIHJldHVybiAoXG4gICAgICAvLyAgIDxkaXYgY2xhc3NOYW1lPVwidG9ycmVudC1kZXRhaWxzX19hY3Rpb25zIHRvcnJlbnQtZGV0YWlsc19fc2VjdGlvblwiPlxuICAgICAgLy8gICAgIERyb3Bkb3duXG4gICAgICAvLyAgIDwvZGl2PlxuICAgICAgLy8gKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXRTaWRlUGFuZWwnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRTaWRlUGFuZWwoKSB7XG4gICAgICB2YXIgdG9ycmVudERldGFpbHNDb250ZW50ID0gbnVsbDtcblxuICAgICAgaWYgKHRoaXMuc3RhdGUuaXNPcGVuKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZEhhc2ggPSBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKTtcbiAgICAgICAgdmFyIHRvcnJlbnQgPSBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnQoc2VsZWN0ZWRIYXNoKTtcbiAgICAgICAgdmFyIGFkZGVkID0gbmV3IERhdGUodG9ycmVudC5hZGRlZCAqIDEwMDApO1xuICAgICAgICB2YXIgYWRkZWRTdHJpbmcgPSBhZGRlZC5nZXRNb250aCgpICsgMSArICcvJyArIGFkZGVkLmdldERhdGUoKSArICcvJyArIGFkZGVkLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHZhciBjb21wbGV0ZWQgPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10uZGF0YSh0b3JyZW50LmJ5dGVzRG9uZSk7XG4gICAgICAgIHZhciBkb3dubG9hZFJhdGUgPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10uZGF0YSh0b3JyZW50LmRvd25sb2FkUmF0ZSwgJy9zJyk7XG4gICAgICAgIHZhciBkb3dubG9hZFRvdGFsID0gX3V0aWxGb3JtYXREYXRhMlsnZGVmYXVsdCddLmRhdGEodG9ycmVudC5kb3dubG9hZFRvdGFsKTtcbiAgICAgICAgdmFyIGV0YSA9IF91dGlsRm9ybWF0RGF0YTJbJ2RlZmF1bHQnXS5ldGEodG9ycmVudC5ldGEpO1xuICAgICAgICB2YXIgcmF0aW8gPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10ucmF0aW8odG9ycmVudC5yYXRpbyk7XG4gICAgICAgIHZhciB0b3RhbFNpemUgPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10uZGF0YSh0b3JyZW50LnNpemVCeXRlcyk7XG4gICAgICAgIHZhciB0b3JyZW50RGV0YWlscyA9IHRoaXMuc3RhdGUudG9ycmVudERldGFpbHMgfHwge307XG4gICAgICAgIHZhciB1cGxvYWRSYXRlID0gX3V0aWxGb3JtYXREYXRhMlsnZGVmYXVsdCddLmRhdGEodG9ycmVudC51cGxvYWRSYXRlLCAnL3MnKTtcbiAgICAgICAgdmFyIHVwbG9hZFRvdGFsID0gX3V0aWxGb3JtYXREYXRhMlsnZGVmYXVsdCddLmRhdGEodG9ycmVudC51cGxvYWRUb3RhbCk7XG5cbiAgICAgICAgdG9ycmVudERldGFpbHNDb250ZW50ID0gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgeyBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHMnLCBrZXk6IHRoaXMuc3RhdGUuaXNPcGVuIH0sXG4gICAgICAgICAgdGhpcy5nZXRIZWFkaW5nKCksXG4gICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAndWwnLFxuICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHNfX3RyYW5zZmVyLWRhdGEgdG9ycmVudC1kZXRhaWxzX19zZWN0aW9uJyB9LFxuICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICdsaScsXG4gICAgICAgICAgICAgIHsgY2xhc3NOYW1lOiAndHJhbnNmZXItZGF0YSB0cmFuc2Zlci1kYXRhLS1kb3dubG9hZCcgfSxcbiAgICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX2ljb25zRG93bmxvYWQyWydkZWZhdWx0J10sIG51bGwpLFxuICAgICAgICAgICAgICBkb3dubG9hZFJhdGUudmFsdWUsXG4gICAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdlbScsXG4gICAgICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd1bml0JyB9LFxuICAgICAgICAgICAgICAgIGRvd25sb2FkUmF0ZS51bml0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgJ2xpJyxcbiAgICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0cmFuc2Zlci1kYXRhIHRyYW5zZmVyLWRhdGEtLXVwbG9hZCcgfSxcbiAgICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX2ljb25zVXBsb2FkMlsnZGVmYXVsdCddLCBudWxsKSxcbiAgICAgICAgICAgICAgdXBsb2FkUmF0ZS52YWx1ZSxcbiAgICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2VtJyxcbiAgICAgICAgICAgICAgICB7IGNsYXNzTmFtZTogJ3VuaXQnIH0sXG4gICAgICAgICAgICAgICAgdXBsb2FkUmF0ZS51bml0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgJ2xpJyxcbiAgICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0cmFuc2Zlci1kYXRhIHRyYW5zZmVyLWRhdGEtLXJhdGlvJyB9LFxuICAgICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfY29tcG9uZW50c0ljb25zUmF0aW8yWydkZWZhdWx0J10sIG51bGwpLFxuICAgICAgICAgICAgICByYXRpb1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAnbGknLFxuICAgICAgICAgICAgICB7IGNsYXNzTmFtZTogJ3RyYW5zZmVyLWRhdGEgdHJhbnNmZXItZGF0YS0tZXRhJyB9LFxuICAgICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfaWNvbnNFVEEyWydkZWZhdWx0J10sIG51bGwpLFxuICAgICAgICAgICAgICBldGFcbiAgICAgICAgICAgIClcbiAgICAgICAgICApLFxuICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KF90b3JyZW50RGV0YWlsc1RvcnJlbnRUcmFja2VyczJbJ2RlZmF1bHQnXSwgeyB0cmFja2VyczogdG9ycmVudERldGFpbHMudHJhY2tlcnMgfSksXG4gICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzMlsnZGVmYXVsdCddLCB7IGZpbGVzOiB0b3JyZW50RGV0YWlscy5maWxlcywgdG9ycmVudDogdG9ycmVudCB9KSxcbiAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfdG9ycmVudERldGFpbHNUb3JyZW50UGVlcnMyWydkZWZhdWx0J10sIHsgcGVlcnM6IHRvcnJlbnREZXRhaWxzLnBlZXJzIH0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgX2xheW91dEFwcGxpY2F0aW9uUGFuZWwyWydkZWZhdWx0J10sXG4gICAgICAgIHsgbW9kaWZpZXI6ICd0b3JyZW50LWRldGFpbHMnIH0sXG4gICAgICAgIHRvcnJlbnREZXRhaWxzQ29udGVudFxuICAgICAgKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdyZW5kZXInLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgIF9yZWFjdEFkZG9uc0Nzc1RyYW5zaXRpb25Hcm91cDJbJ2RlZmF1bHQnXSxcbiAgICAgICAge1xuICAgICAgICAgIHRyYW5zaXRpb25FbnRlclRpbWVvdXQ6IDUwMCxcbiAgICAgICAgICB0cmFuc2l0aW9uTGVhdmVUaW1lb3V0OiA1MDAsXG4gICAgICAgICAgdHJhbnNpdGlvbk5hbWU6ICd0b3JyZW50LWRldGFpbHMnIH0sXG4gICAgICAgIHRoaXMuZ2V0U2lkZVBhbmVsKClcbiAgICAgICk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFRvcnJlbnREZXRhaWxzO1xufSkoX3JlYWN0MlsnZGVmYXVsdCddLkNvbXBvbmVudCk7XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IFRvcnJlbnREZXRhaWxzO1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107XG5cblxuLyoqKioqKioqKioqKioqKioqXG4gKiogV0VCUEFDSyBGT09URVJcbiAqKiAuL2NsaWVudC9zb3VyY2Uvc2NyaXB0cy9jb21wb25lbnRzL3BhbmVscy9Ub3JyZW50RGV0YWlsc1ZpZXcuanNcbiAqKiBtb2R1bGUgaWQgPSAyNDdcbiAqKiBtb2R1bGUgY2h1bmtzID0gMFxuICoqLyJdLCJzb3VyY2VSb290IjoiIn0=");
+ eval("'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _lodash = __webpack_require__(171);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _classnames = __webpack_require__(161);\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = __webpack_require__(1);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactAddonsCssTransitionGroup = __webpack_require__(163);\n\nvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\nvar _layoutApplicationPanel = __webpack_require__(160);\n\nvar _layoutApplicationPanel2 = _interopRequireDefault(_layoutApplicationPanel);\n\nvar _iconsDownload = __webpack_require__(208);\n\nvar _iconsDownload2 = _interopRequireDefault(_iconsDownload);\n\nvar _constantsEventTypes = __webpack_require__(196);\n\nvar _constantsEventTypes2 = _interopRequireDefault(_constantsEventTypes);\n\nvar _iconsETA = __webpack_require__(248);\n\nvar _iconsETA2 = _interopRequireDefault(_iconsETA);\n\nvar _utilFormatData = __webpack_require__(209);\n\nvar _utilFormatData2 = _interopRequireDefault(_utilFormatData);\n\nvar _componentsIconsRatio = __webpack_require__(249);\n\nvar _componentsIconsRatio2 = _interopRequireDefault(_componentsIconsRatio);\n\nvar _actionsTorrentActions = __webpack_require__(176);\n\nvar _actionsTorrentActions2 = _interopRequireDefault(_actionsTorrentActions);\n\nvar _torrentDetailsTorrentFiles = __webpack_require__(250);\n\nvar _torrentDetailsTorrentFiles2 = _interopRequireDefault(_torrentDetailsTorrentFiles);\n\nvar _torrentDetailsTorrentPeers = __webpack_require__(258);\n\nvar _torrentDetailsTorrentPeers2 = _interopRequireDefault(_torrentDetailsTorrentPeers);\n\nvar _storesTorrentStore = __webpack_require__(236);\n\nvar _storesTorrentStore2 = _interopRequireDefault(_storesTorrentStore);\n\nvar _torrentDetailsTorrentTrackers = __webpack_require__(259);\n\nvar _torrentDetailsTorrentTrackers2 = _interopRequireDefault(_torrentDetailsTorrentTrackers);\n\nvar _storesUIStore = __webpack_require__(198);\n\nvar _storesUIStore2 = _interopRequireDefault(_storesUIStore);\n\nvar _iconsUpload = __webpack_require__(212);\n\nvar _iconsUpload2 = _interopRequireDefault(_iconsUpload);\n\nvar METHODS_TO_BIND = ['onTorrentDetailsHashChange', 'onOpenChange', 'onTorrentDetailsChange', 'getHeading', 'getTorrentDetailsView'];\n\nvar TorrentDetails = (function (_React$Component) {\n _inherits(TorrentDetails, _React$Component);\n\n function TorrentDetails() {\n var _this = this;\n\n _classCallCheck(this, TorrentDetails);\n\n _get(Object.getPrototypeOf(TorrentDetails.prototype), 'constructor', this).call(this);\n\n this.state = {\n isOpen: false,\n torrentDetailsSuccess: false,\n torrentDetailsError: false,\n selectedTorrent: {},\n selectedTorrentHash: null,\n torrentDetails: {}\n };\n\n METHODS_TO_BIND.forEach(function (method) {\n _this[method] = _this[method].bind(_this);\n });\n }\n\n _createClass(TorrentDetails, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n _storesTorrentStore2['default'].listen(_constantsEventTypes2['default'].CLIENT_TORRENT_DETAILS_CHANGE, this.onTorrentDetailsChange);\n _storesUIStore2['default'].listen(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_OPEN_CHANGE, this.onOpenChange);\n _storesUIStore2['default'].listen(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_HASH_CHANGE, this.onTorrentDetailsHashChange);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _storesTorrentStore2['default'].stopPollingTorrentDetails();\n _storesTorrentStore2['default'].unlisten(_constantsEventTypes2['default'].CLIENT_TORRENT_DETAILS_CHANGE, this.onTorrentDetailsChange);\n _storesUIStore2['default'].unlisten(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_OPEN_CHANGE, this.onOpenChange);\n _storesUIStore2['default'].unlisten(_constantsEventTypes2['default'].UI_TORRENT_DETAILS_HASH_CHANGE, this.onTorrentDetailsHashChange);\n }\n }, {\n key: 'onTorrentDetailsHashChange',\n value: function onTorrentDetailsHashChange() {\n if (_storesUIStore2['default'].isTorrentDetailsOpen()) {\n _storesTorrentStore2['default'].fetchTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash());\n }\n }\n }, {\n key: 'onOpenChange',\n value: function onOpenChange() {\n if (!_storesUIStore2['default'].isTorrentDetailsOpen()) {\n _storesTorrentStore2['default'].stopPollingTorrentDetails();\n } else {\n _storesTorrentStore2['default'].fetchTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash());\n }\n\n this.setState({\n isOpen: _storesUIStore2['default'].isTorrentDetailsOpen()\n });\n }\n }, {\n key: 'onTorrentDetailsChange',\n value: function onTorrentDetailsChange() {\n this.setState({\n torrentDetails: _storesTorrentStore2['default'].getTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash())\n });\n }\n }, {\n key: 'getHeading',\n value: function getHeading() {\n // return (\n // \n // Dropdown\n //
\n // );\n }\n }, {\n key: 'getTorrentDetailsView',\n value: function getTorrentDetailsView() {\n var torrentDetailsContent = null;\n\n if (this.state.isOpen) {\n var selectedHash = _storesUIStore2['default'].getTorrentDetailsHash();\n var torrent = _storesTorrentStore2['default'].getTorrent(selectedHash);\n var added = new Date(torrent.added * 1000);\n var addedString = added.getMonth() + 1 + '/' + added.getDate() + '/' + added.getFullYear();\n var completed = _utilFormatData2['default'].data(torrent.bytesDone);\n var downloadRate = _utilFormatData2['default'].data(torrent.downloadRate, '/s');\n var downloadTotal = _utilFormatData2['default'].data(torrent.downloadTotal);\n var eta = _utilFormatData2['default'].eta(torrent.eta);\n var ratio = _utilFormatData2['default'].ratio(torrent.ratio);\n var totalSize = _utilFormatData2['default'].data(torrent.sizeBytes);\n var torrentDetails = this.state.torrentDetails || {};\n var uploadRate = _utilFormatData2['default'].data(torrent.uploadRate, '/s');\n var uploadTotal = _utilFormatData2['default'].data(torrent.uploadTotal);\n\n torrentDetailsContent = _react2['default'].createElement(\n 'div',\n { className: 'torrent-details', key: this.state.isOpen },\n this.getHeading(),\n _react2['default'].createElement(\n 'ul',\n { className: 'torrent-details__transfer-data torrent-details__section' },\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--download' },\n _react2['default'].createElement(_iconsDownload2['default'], null),\n downloadRate.value,\n _react2['default'].createElement(\n 'em',\n { className: 'unit' },\n downloadRate.unit\n )\n ),\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--upload' },\n _react2['default'].createElement(_iconsUpload2['default'], null),\n uploadRate.value,\n _react2['default'].createElement(\n 'em',\n { className: 'unit' },\n uploadRate.unit\n )\n ),\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--ratio' },\n _react2['default'].createElement(_componentsIconsRatio2['default'], null),\n ratio\n ),\n _react2['default'].createElement(\n 'li',\n { className: 'transfer-data transfer-data--eta' },\n _react2['default'].createElement(_iconsETA2['default'], null),\n eta\n )\n ),\n _react2['default'].createElement(_torrentDetailsTorrentTrackers2['default'], { trackers: torrentDetails.trackers }),\n _react2['default'].createElement(_torrentDetailsTorrentFiles2['default'], { files: torrentDetails.files, torrent: torrent }),\n _react2['default'].createElement(_torrentDetailsTorrentPeers2['default'], { peers: torrentDetails.peers })\n );\n }\n\n return torrentDetailsContent;\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2['default'].createElement(\n _layoutApplicationPanel2['default'],\n { modifier: 'torrent-details' },\n _react2['default'].createElement(\n _reactAddonsCssTransitionGroup2['default'],\n {\n transitionEnterTimeout: 1000,\n transitionLeaveTimeout: 1000,\n transitionName: 'torrent-details' },\n this.getTorrentDetailsView()\n )\n );\n }\n }]);\n\n return TorrentDetails;\n})(_react2['default'].Component);\n\nexports['default'] = TorrentDetails;\nmodule.exports = exports['default'];//@ sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jbGllbnQvc291cmNlL3NjcmlwdHMvY29tcG9uZW50cy9wYW5lbHMvVG9ycmVudERldGFpbHNWaWV3LmpzP2Q2OGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFLEVBQUUseURBQXlELHFFQUFxRSw2REFBNkQsb0JBQW9CLEdBQUcsRUFBRTs7QUFFbGpCLHVDQUF1QyxtQkFBbUIsNEJBQTRCLGlEQUFpRCxnQkFBZ0Isa0RBQWtELDhEQUE4RCwwQkFBMEIsNENBQTRDLHVCQUF1QixrQkFBa0IsRUFBRSxPQUFPLGFBQWEsZ0JBQWdCLGdCQUFnQixlQUFlLDJCQUEyQixvQkFBb0IsRUFBRSxFQUFFLDRCQUE0QixtQkFBbUIsRUFBRSxPQUFPLHVCQUF1Qiw0QkFBNEIsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsRUFBRTs7QUFFL29CLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SiwwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLHVEQUF1RDtBQUNsRTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHVFQUF1RTtBQUNwRjtBQUNBO0FBQ0EsZUFBZSxxREFBcUQ7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1EQUFtRDtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixvQkFBb0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0RBQWtEO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGdEQUFnRDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdGQUF3RixvQ0FBb0M7QUFDNUgscUZBQXFGLGdEQUFnRDtBQUNySSxxRkFBcUYsOEJBQThCO0FBQ25IO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBIiwiZmlsZSI6IjI0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfY3JlYXRlQ2xhc3MgPSAoZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKCd2YWx1ZScgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0pKCk7XG5cbnZhciBfZ2V0ID0gZnVuY3Rpb24gZ2V0KF94LCBfeDIsIF94MykgeyB2YXIgX2FnYWluID0gdHJ1ZTsgX2Z1bmN0aW9uOiB3aGlsZSAoX2FnYWluKSB7IHZhciBvYmplY3QgPSBfeCwgcHJvcGVydHkgPSBfeDIsIHJlY2VpdmVyID0gX3gzOyBfYWdhaW4gPSBmYWxzZTsgaWYgKG9iamVjdCA9PT0gbnVsbCkgb2JqZWN0ID0gRnVuY3Rpb24ucHJvdG90eXBlOyB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBwcm9wZXJ0eSk7IGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsgdmFyIHBhcmVudCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpOyBpZiAocGFyZW50ID09PSBudWxsKSB7IHJldHVybiB1bmRlZmluZWQ7IH0gZWxzZSB7IF94ID0gcGFyZW50OyBfeDIgPSBwcm9wZXJ0eTsgX3gzID0gcmVjZWl2ZXI7IF9hZ2FpbiA9IHRydWU7IGRlc2MgPSBwYXJlbnQgPSB1bmRlZmluZWQ7IGNvbnRpbnVlIF9mdW5jdGlvbjsgfSB9IGVsc2UgaWYgKCd2YWx1ZScgaW4gZGVzYykgeyByZXR1cm4gZGVzYy52YWx1ZTsgfSBlbHNlIHsgdmFyIGdldHRlciA9IGRlc2MuZ2V0OyBpZiAoZ2V0dGVyID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSByZXR1cm4gZ2V0dGVyLmNhbGwocmVjZWl2ZXIpOyB9IH0gfTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgJ2RlZmF1bHQnOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbicpOyB9IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gJ2Z1bmN0aW9uJyAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoJ1N1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgJyArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxudmFyIF9sb2Rhc2ggPSByZXF1aXJlKCdsb2Rhc2gnKTtcblxudmFyIF9sb2Rhc2gyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbG9kYXNoKTtcblxudmFyIF9jbGFzc25hbWVzID0gcmVxdWlyZSgnY2xhc3NuYW1lcycpO1xuXG52YXIgX2NsYXNzbmFtZXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY2xhc3NuYW1lcyk7XG5cbnZhciBfcmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgX3JlYWN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0KTtcblxudmFyIF9yZWFjdEFkZG9uc0Nzc1RyYW5zaXRpb25Hcm91cCA9IHJlcXVpcmUoJ3JlYWN0LWFkZG9ucy1jc3MtdHJhbnNpdGlvbi1ncm91cCcpO1xuXG52YXIgX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwKTtcblxudmFyIF9sYXlvdXRBcHBsaWNhdGlvblBhbmVsID0gcmVxdWlyZSgnLi4vbGF5b3V0L0FwcGxpY2F0aW9uUGFuZWwnKTtcblxudmFyIF9sYXlvdXRBcHBsaWNhdGlvblBhbmVsMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xheW91dEFwcGxpY2F0aW9uUGFuZWwpO1xuXG52YXIgX2ljb25zRG93bmxvYWQgPSByZXF1aXJlKCcuLi9pY29ucy9Eb3dubG9hZCcpO1xuXG52YXIgX2ljb25zRG93bmxvYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbnNEb3dubG9hZCk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlcyA9IHJlcXVpcmUoJy4uLy4uL2NvbnN0YW50cy9FdmVudFR5cGVzJyk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb25zdGFudHNFdmVudFR5cGVzKTtcblxudmFyIF9pY29uc0VUQSA9IHJlcXVpcmUoJy4uL2ljb25zL0VUQScpO1xuXG52YXIgX2ljb25zRVRBMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2ljb25zRVRBKTtcblxudmFyIF91dGlsRm9ybWF0RGF0YSA9IHJlcXVpcmUoJy4uLy4uL3V0aWwvZm9ybWF0RGF0YScpO1xuXG52YXIgX3V0aWxGb3JtYXREYXRhMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3V0aWxGb3JtYXREYXRhKTtcblxudmFyIF9jb21wb25lbnRzSWNvbnNSYXRpbyA9IHJlcXVpcmUoJy4uLy4uL2NvbXBvbmVudHMvaWNvbnMvUmF0aW8nKTtcblxudmFyIF9jb21wb25lbnRzSWNvbnNSYXRpbzIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb21wb25lbnRzSWNvbnNSYXRpbyk7XG5cbnZhciBfYWN0aW9uc1RvcnJlbnRBY3Rpb25zID0gcmVxdWlyZSgnLi4vLi4vYWN0aW9ucy9Ub3JyZW50QWN0aW9ucycpO1xuXG52YXIgX2FjdGlvbnNUb3JyZW50QWN0aW9uczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hY3Rpb25zVG9ycmVudEFjdGlvbnMpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzID0gcmVxdWlyZSgnLi4vdG9ycmVudC1kZXRhaWxzL1RvcnJlbnRGaWxlcycpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVycyA9IHJlcXVpcmUoJy4uL3RvcnJlbnQtZGV0YWlscy9Ub3JyZW50UGVlcnMnKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVyczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVycyk7XG5cbnZhciBfc3RvcmVzVG9ycmVudFN0b3JlID0gcmVxdWlyZSgnLi4vLi4vc3RvcmVzL1RvcnJlbnRTdG9yZScpO1xuXG52YXIgX3N0b3Jlc1RvcnJlbnRTdG9yZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zdG9yZXNUb3JyZW50U3RvcmUpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzID0gcmVxdWlyZSgnLi4vdG9ycmVudC1kZXRhaWxzL1RvcnJlbnRUcmFja2VycycpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzKTtcblxudmFyIF9zdG9yZXNVSVN0b3JlID0gcmVxdWlyZSgnLi4vLi4vc3RvcmVzL1VJU3RvcmUnKTtcblxudmFyIF9zdG9yZXNVSVN0b3JlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0b3Jlc1VJU3RvcmUpO1xuXG52YXIgX2ljb25zVXBsb2FkID0gcmVxdWlyZSgnLi4vaWNvbnMvVXBsb2FkJyk7XG5cbnZhciBfaWNvbnNVcGxvYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaWNvbnNVcGxvYWQpO1xuXG52YXIgTUVUSE9EU19UT19CSU5EID0gWydvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZScsICdvbk9wZW5DaGFuZ2UnLCAnb25Ub3JyZW50RGV0YWlsc0NoYW5nZScsICdnZXRIZWFkaW5nJywgJ2dldFRvcnJlbnREZXRhaWxzVmlldyddO1xuXG52YXIgVG9ycmVudERldGFpbHMgPSAoZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgX2luaGVyaXRzKFRvcnJlbnREZXRhaWxzLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBUb3JyZW50RGV0YWlscygpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFRvcnJlbnREZXRhaWxzKTtcblxuICAgIF9nZXQoT2JqZWN0LmdldFByb3RvdHlwZU9mKFRvcnJlbnREZXRhaWxzLnByb3RvdHlwZSksICdjb25zdHJ1Y3RvcicsIHRoaXMpLmNhbGwodGhpcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgIHRvcnJlbnREZXRhaWxzU3VjY2VzczogZmFsc2UsXG4gICAgICB0b3JyZW50RGV0YWlsc0Vycm9yOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkVG9ycmVudDoge30sXG4gICAgICBzZWxlY3RlZFRvcnJlbnRIYXNoOiBudWxsLFxuICAgICAgdG9ycmVudERldGFpbHM6IHt9XG4gICAgfTtcblxuICAgIE1FVEhPRFNfVE9fQklORC5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAgIF90aGlzW21ldGhvZF0gPSBfdGhpc1ttZXRob2RdLmJpbmQoX3RoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFRvcnJlbnREZXRhaWxzLCBbe1xuICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5DTElFTlRfVE9SUkVOVF9ERVRBSUxTX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfSEFTSF9DSEFOR0UsIHRoaXMub25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudFdpbGxVbm1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLnN0b3BQb2xsaW5nVG9ycmVudERldGFpbHMoKTtcbiAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10udW5saXN0ZW4oX2NvbnN0YW50c0V2ZW50VHlwZXMyWydkZWZhdWx0J10uQ0xJRU5UX1RPUlJFTlRfREVUQUlMU19DSEFOR0UsIHRoaXMub25Ub3JyZW50RGV0YWlsc0NoYW5nZSk7XG4gICAgICBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS51bmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLnVubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLlVJX1RPUlJFTlRfREVUQUlMU19IQVNIX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZSgpIHtcbiAgICAgIGlmIChfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5pc1RvcnJlbnREZXRhaWxzT3BlbigpKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZmV0Y2hUb3JyZW50RGV0YWlscyhfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25PcGVuQ2hhbmdlJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25PcGVuQ2hhbmdlKCkge1xuICAgICAgaWYgKCFfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5pc1RvcnJlbnREZXRhaWxzT3BlbigpKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uc3RvcFBvbGxpbmdUb3JyZW50RGV0YWlscygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5mZXRjaFRvcnJlbnREZXRhaWxzKF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnREZXRhaWxzSGFzaCgpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlzT3BlbjogX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uaXNUb3JyZW50RGV0YWlsc09wZW4oKVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Ub3JyZW50RGV0YWlsc0NoYW5nZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uVG9ycmVudERldGFpbHNDaGFuZ2UoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdG9ycmVudERldGFpbHM6IF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHMoX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHNIYXNoKCkpXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXRIZWFkaW5nJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0SGVhZGluZygpIHtcbiAgICAgIC8vIHJldHVybiAoXG4gICAgICAvLyAgIDxkaXYgY2xhc3NOYW1lPVwidG9ycmVudC1kZXRhaWxzX19hY3Rpb25zIHRvcnJlbnQtZGV0YWlsc19fc2VjdGlvblwiPlxuICAgICAgLy8gICAgIERyb3Bkb3duXG4gICAgICAvLyAgIDwvZGl2PlxuICAgICAgLy8gKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXRUb3JyZW50RGV0YWlsc1ZpZXcnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRUb3JyZW50RGV0YWlsc1ZpZXcoKSB7XG4gICAgICB2YXIgdG9ycmVudERldGFpbHNDb250ZW50ID0gbnVsbDtcblxuICAgICAgaWYgKHRoaXMuc3RhdGUuaXNPcGVuKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZEhhc2ggPSBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKTtcbiAgICAgICAgdmFyIHRvcnJlbnQgPSBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnQoc2VsZWN0ZWRIYXNoKTtcbiAgICAgICAgdmFyIGFkZGVkID0gbmV3IERhdGUodG9ycmVudC5hZGRlZCAqIDEwMDApO1xuICAgICAgICB2YXIgYWRkZWRTdHJpbmcgPSBhZGRlZC5nZXRNb250aCgpICsgMSArICcvJyArIGFkZGVkLmdldERhdGUoKSArICcvJyArIGFkZGVkLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHZhciBjb21wbGV0ZWQgPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10uZGF0YSh0b3JyZW50LmJ5dGVzRG9uZSk7XG4gICAgICAgIHZhciBkb3dubG9hZFJhdGUgPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10uZGF0YSh0b3JyZW50LmRvd25sb2FkUmF0ZSwgJy9zJyk7XG4gICAgICAgIHZhciBkb3dubG9hZFRvdGFsID0gX3V0aWxGb3JtYXREYXRhMlsnZGVmYXVsdCddLmRhdGEodG9ycmVudC5kb3dubG9hZFRvdGFsKTtcbiAgICAgICAgdmFyIGV0YSA9IF91dGlsRm9ybWF0RGF0YTJbJ2RlZmF1bHQnXS5ldGEodG9ycmVudC5ldGEpO1xuICAgICAgICB2YXIgcmF0aW8gPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10ucmF0aW8odG9ycmVudC5yYXRpbyk7XG4gICAgICAgIHZhciB0b3RhbFNpemUgPSBfdXRpbEZvcm1hdERhdGEyWydkZWZhdWx0J10uZGF0YSh0b3JyZW50LnNpemVCeXRlcyk7XG4gICAgICAgIHZhciB0b3JyZW50RGV0YWlscyA9IHRoaXMuc3RhdGUudG9ycmVudERldGFpbHMgfHwge307XG4gICAgICAgIHZhciB1cGxvYWRSYXRlID0gX3V0aWxGb3JtYXREYXRhMlsnZGVmYXVsdCddLmRhdGEodG9ycmVudC51cGxvYWRSYXRlLCAnL3MnKTtcbiAgICAgICAgdmFyIHVwbG9hZFRvdGFsID0gX3V0aWxGb3JtYXREYXRhMlsnZGVmYXVsdCddLmRhdGEodG9ycmVudC51cGxvYWRUb3RhbCk7XG5cbiAgICAgICAgdG9ycmVudERldGFpbHNDb250ZW50ID0gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgeyBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHMnLCBrZXk6IHRoaXMuc3RhdGUuaXNPcGVuIH0sXG4gICAgICAgICAgdGhpcy5nZXRIZWFkaW5nKCksXG4gICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAndWwnLFxuICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHNfX3RyYW5zZmVyLWRhdGEgdG9ycmVudC1kZXRhaWxzX19zZWN0aW9uJyB9LFxuICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICdsaScsXG4gICAgICAgICAgICAgIHsgY2xhc3NOYW1lOiAndHJhbnNmZXItZGF0YSB0cmFuc2Zlci1kYXRhLS1kb3dubG9hZCcgfSxcbiAgICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX2ljb25zRG93bmxvYWQyWydkZWZhdWx0J10sIG51bGwpLFxuICAgICAgICAgICAgICBkb3dubG9hZFJhdGUudmFsdWUsXG4gICAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdlbScsXG4gICAgICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd1bml0JyB9LFxuICAgICAgICAgICAgICAgIGRvd25sb2FkUmF0ZS51bml0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgJ2xpJyxcbiAgICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0cmFuc2Zlci1kYXRhIHRyYW5zZmVyLWRhdGEtLXVwbG9hZCcgfSxcbiAgICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX2ljb25zVXBsb2FkMlsnZGVmYXVsdCddLCBudWxsKSxcbiAgICAgICAgICAgICAgdXBsb2FkUmF0ZS52YWx1ZSxcbiAgICAgICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2VtJyxcbiAgICAgICAgICAgICAgICB7IGNsYXNzTmFtZTogJ3VuaXQnIH0sXG4gICAgICAgICAgICAgICAgdXBsb2FkUmF0ZS51bml0XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgJ2xpJyxcbiAgICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0cmFuc2Zlci1kYXRhIHRyYW5zZmVyLWRhdGEtLXJhdGlvJyB9LFxuICAgICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfY29tcG9uZW50c0ljb25zUmF0aW8yWydkZWZhdWx0J10sIG51bGwpLFxuICAgICAgICAgICAgICByYXRpb1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAnbGknLFxuICAgICAgICAgICAgICB7IGNsYXNzTmFtZTogJ3RyYW5zZmVyLWRhdGEgdHJhbnNmZXItZGF0YS0tZXRhJyB9LFxuICAgICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfaWNvbnNFVEEyWydkZWZhdWx0J10sIG51bGwpLFxuICAgICAgICAgICAgICBldGFcbiAgICAgICAgICAgIClcbiAgICAgICAgICApLFxuICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KF90b3JyZW50RGV0YWlsc1RvcnJlbnRUcmFja2VyczJbJ2RlZmF1bHQnXSwgeyB0cmFja2VyczogdG9ycmVudERldGFpbHMudHJhY2tlcnMgfSksXG4gICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzMlsnZGVmYXVsdCddLCB7IGZpbGVzOiB0b3JyZW50RGV0YWlscy5maWxlcywgdG9ycmVudDogdG9ycmVudCB9KSxcbiAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfdG9ycmVudERldGFpbHNUb3JyZW50UGVlcnMyWydkZWZhdWx0J10sIHsgcGVlcnM6IHRvcnJlbnREZXRhaWxzLnBlZXJzIH0pXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b3JyZW50RGV0YWlsc0NvbnRlbnQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAncmVuZGVyJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgcmV0dXJuIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICBfbGF5b3V0QXBwbGljYXRpb25QYW5lbDJbJ2RlZmF1bHQnXSxcbiAgICAgICAgeyBtb2RpZmllcjogJ3RvcnJlbnQtZGV0YWlscycgfSxcbiAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwMlsnZGVmYXVsdCddLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb25FbnRlclRpbWVvdXQ6IDEwMDAsXG4gICAgICAgICAgICB0cmFuc2l0aW9uTGVhdmVUaW1lb3V0OiAxMDAwLFxuICAgICAgICAgICAgdHJhbnNpdGlvbk5hbWU6ICd0b3JyZW50LWRldGFpbHMnIH0sXG4gICAgICAgICAgdGhpcy5nZXRUb3JyZW50RGV0YWlsc1ZpZXcoKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBUb3JyZW50RGV0YWlscztcbn0pKF9yZWFjdDJbJ2RlZmF1bHQnXS5Db21wb25lbnQpO1xuXG5leHBvcnRzWydkZWZhdWx0J10gPSBUb3JyZW50RGV0YWlscztcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddO1xuXG5cbi8qKioqKioqKioqKioqKioqKlxuICoqIFdFQlBBQ0sgRk9PVEVSXG4gKiogLi9jbGllbnQvc291cmNlL3NjcmlwdHMvY29tcG9uZW50cy9wYW5lbHMvVG9ycmVudERldGFpbHNWaWV3LmpzXG4gKiogbW9kdWxlIGlkID0gMjQ3XG4gKiogbW9kdWxlIGNodW5rcyA9IDBcbiAqKi8iXSwic291cmNlUm9vdCI6IiJ9");
/***/ },
/* 248 */
diff --git a/server/assets/style.css b/server/assets/style.css
index eb066ebc..28c793cb 100644
--- a/server/assets/style.css
+++ b/server/assets/style.css
@@ -916,29 +916,29 @@ body {
text-overflow: ellipsis;
white-space: nowrap; }
.directory-tree__node--directory {
- color: #566573;
+ color: #7793a7;
cursor: pointer;
font-weight: 500;
- -webkit-transition: opacity 0.125s;
- transition: opacity 0.125s; }
+ -webkit-transition: color 0.125s;
+ transition: color 0.125s; }
.directory-tree__node--directory:active {
- opacity: 0.7; }
+ color: #a5b8c5; }
.directory-tree__node--directory .icon {
- fill: rgba(86, 101, 115, 0.6);
+ fill: #3c5465;
position: relative; }
.directory-tree__node--file {
- color: rgba(86, 101, 115, 0.8);
+ color: #567285;
line-height: 1.5; }
.directory-tree__node--file .icon {
- fill: rgba(86, 101, 115, 0.4); }
+ fill: #344b5b; }
.directory-tree__node--file-list {
margin-bottom: 3px; }
.directory-tree__parent-directory {
- color: #a5b0b9;
+ color: #375468;
font-size: 0.85em; }
.directory-tree__parent-directory .icon {
- fill: #a5b0b9;
+ fill: #375468;
opacity: 0.75; }
.directory-tree__tree {
@@ -1300,6 +1300,9 @@ body {
.textbox-repeater .textbox__wrapper {
position: relative; }
+.application__panel--torrent-details {
+ background: #162835; }
+
.torrent-details {
background: #162835;
bottom: 0;
@@ -1312,6 +1315,8 @@ body {
position: absolute;
right: 0;
top: 0;
+ -webkit-transition: opacity 1s;
+ transition: opacity 1s;
z-index: 2; }
.torrent-details__section {
margin-bottom: 25px; }
@@ -1339,6 +1344,17 @@ body {
display: inline-block;
margin-left: 5px; }
+.torrent-details-enter {
+ opacity: 0; }
+
+.torrent-details-enter-active {
+ opacity: 1; }
+
+.torrent-details-leave {
+ opacity: 0;
+ -webkit-transition: opacity 0.5s;
+ transition: opacity 0.5s; }
+
.torrents {
display: -webkit-box;
display: -webkit-flex;
diff --git a/server/assets/style.css.map b/server/assets/style.css.map
index 972048ec..5a8301be 100644
--- a/server/assets/style.css.map
+++ b/server/assets/style.css.map
@@ -1 +1 @@
-{"version":3,"sources":["style.css","../../../node_modules/inuit-defaults/_settings.defaults.scss","../../../node_modules/inuit-normalize/_generic.normalize.scss","tools/_variables.scss","base/_typography.scss","../../../node_modules/inuit-reset/_generic.reset.scss","../../../node_modules/inuit-box-sizing/_generic.box-sizing.scss","../../../node_modules/inuit-page/_base.page.scss","tools/_reset.scss","base/_animations.scss","base/_form-elements.scss","tools/_colors.scss","base/_layout.scss","base/_main.scss","objects/_action-bar.scss","objects/_client-stats.scss","objects/_application-content.scss","objects/_directory-tree.scss","objects/_dropdown.scss","objects/_floating-action.scss","objects/_sidebar.scss","objects/_modals.scss","objects/_progress-bar.scss","objects/_status-filter.scss","objects/_textbox-repeater.scss","objects/_torrent-details-panel.scss","objects/_torrents.scss","objects/_transfer-data.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * inuitcss, by @csswizardry\n *\n * github.com/inuitcss | inuitcss.com\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n * without disabling user zoom.\n */\n@import url(http://fonts.googleapis.com/css?family=Roboto:400italic,700italic,300,700,300italic,400);\n@import url(\"http://fonts.googleapis.com/css?family=Roboto:500,400italic,300,700,400\");\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */ }\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0; }\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */ }\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none; }\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent; }\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\na:active,\na:hover {\n outline: 0; }\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted; }\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold; }\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic; }\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000; }\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%; }\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0; }\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden; }\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px; }\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0; }\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto; }\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */ }\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible; }\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none; }\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */ }\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal; }\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n box-sizing: content-box;\n /* 2 */ }\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto; }\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold; }\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n/*------------------------------------* #RESET\n\\*------------------------------------*/\n/**\n * As well as using normalize.css, it is often advantageous to remove all\n * margins from certain elements.\n */\nbody,\nh1, h2, h3, h4, h5, h6,\np, blockquote, pre,\ndl, dd, ol, ul,\nform, fieldset, legend,\nfigure,\ntable, th, td, caption,\nhr {\n margin: 0;\n padding: 0; }\n\n/**\n * Give a help cursor to elements that give extra info on `:hover`.\n */\nabbr[title],\ndfn[title] {\n cursor: help; }\n\n/**\n * Remove underlines from potentially troublesome elements.\n */\nu,\nins {\n text-decoration: none; }\n\n/**\n * Apply faux underlines to inserted text via `border-bottom`.\n */\nins {\n border-bottom: 1px solid; }\n\n/*------------------------------------* #BOX-SIZING\n\\*------------------------------------*/\n/**\n * Set the global `box-sizing` state to `border-box`.\n *\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n * paulirish.com/2012/box-sizing-border-box-ftw\n */\nhtml {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\n*, *:before, *:after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit; }\n\n/*------------------------------------* #PAGE\n\\*------------------------------------*/\n/**\n * High-, page-level styling.\n *\n * 1. Set the default `font-size` and `line-height` for the entire project,\n * sourced from our default variables. The `font-size` is calculated to exist\n * in ems, the `line-height` is calculated to exist unitlessly.\n * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when\n * navigating between pages that do/do not have enough content to produce\n * scrollbars naturally.\n * 3. Ensure the page always fills at least the entire height of the viewport.\n * 4. Prevent certain mobile browsers from automatically zooming fonts.\n * 5. Fonts on OSX will look more consistent with other systems that do not\n * render text using sub-pixel anti-aliasing.\n */\nhtml {\n font-size: 1em;\n /* [1] */\n line-height: 1.5;\n /* [1] */\n background-color: #fff;\n color: #333;\n overflow-y: scroll;\n /* [2] */\n min-height: 100%;\n /* [3] */\n -webkit-text-size-adjust: 100%;\n /* [4] */\n -ms-text-size-adjust: 100%;\n /* [4] */\n -moz-osx-font-smoothing: grayscale;\n /* [5] */\n -webkit-font-smoothing: antialiased;\n /* [5] */ }\n\nth {\n font-weight: inherit;\n text-align: left; }\n\n@keyframes fade-in {\n 0% {\n opacity: 0; }\n 100% {\n opacity: 1; } }\n\n@keyframes fade-out {\n 0% {\n opacity: 1; }\n 100% {\n opacity: 0; } }\n\n.textbox,\n.button {\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n outline: none; }\n\n.textbox {\n background: rgba(233, 238, 242, 0.3);\n border-radius: 4px;\n border: 1px solid #e9eef2;\n color: #53718a;\n display: block;\n font-size: 0.9em;\n padding: 10px 15px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%; }\n .textbox::placeholder {\n color: #abbac7;\n font-style: italic;\n transition: color 0.25s; }\n .textbox:focus {\n background: rgba(233, 238, 242, 0.3);\n border-color: #e9eef2;\n color: #258de5; }\n .textbox:focus::placeholder {\n color: #abbac7; }\n\n.button {\n background: transparent;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 0.9em;\n font-weight: 400;\n padding: 8px 22px;\n transition: background 0.25s; }\n .button--deemphasize {\n background: #e9eef2;\n color: #66717a; }\n .button--deemphasize:hover {\n background: #d9e2e9;\n color: #5a646c; }\n .button--primary {\n background: #258de5;\n color: #fff;\n white-space: nowrap; }\n .button--primary:hover {\n background: #1a80d7; }\n\n.form__label {\n color: #53718a;\n display: block;\n margin-bottom: 0.1em; }\n\n.form__row + .form__row {\n margin-top: 20px; }\n\nhtml,\nbody {\n height: 100%;\n overflow: hidden; }\n\n.container {\n height: 100%;\n width: 100%; }\n\n.flood {\n align-items: stretch;\n display: flex;\n height: 100%; }\n\n.sidebar {\n flex: 1;\n min-width: 200px;\n max-width: 240px; }\n\n.application__content {\n display: flex;\n height: 100vh;\n flex: 1 2 auto;\n flex-direction: column;\n position: relative; }\n\n.application__panel {\n display: flex;\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0; }\n .application__panel--torrent-list {\n transition: transform 0.5s;\n z-index: 2; }\n .application__panel--torrent-list.is-open {\n transform: translateX(85%); }\n .application__panel--torrent-details {\n right: 15%;\n width: 85%;\n z-index: 1; }\n\n.torrent__header {\n flex: 1;\n min-height: 35px;\n max-height: 35px; }\n\n.torrent__list__wrapper {\n flex: 1; }\n\n.view--torrent-list {\n background: #e9eef2;\n box-shadow: -1px 0 rgba(26, 47, 61, 0.15);\n display: flex;\n flex-direction: column;\n flex: 1;\n flex: 0 1 100%; }\n\nbody {\n background: #1a2f3d; }\n\nul {\n list-style: none; }\n\nbody {\n color: #53718a;\n font-family: \"Roboto\", sans-srif; }\n\n.unit {\n display: inline-block;\n font-size: 0.8em;\n font-style: normal;\n margin-bottom: 0.1em;\n opacity: 0.8; }\n\n.text-overflow {\n overflow: hidden;\n position: relative;\n text-overflow: ellipsis; }\n\n.actions {\n list-style: none; }\n\n.action {\n box-shadow: 1px 0 transparent, -1px 0 transparent;\n cursor: pointer;\n display: inline-block;\n height: 60px;\n position: relative;\n width: 60px;\n text-align: center;\n transition: background 0.25s, box-shadow 0.25s; }\n .action:hover {\n background: rgba(51, 62, 74, 0.05);\n box-shadow: 1px 0 rgba(51, 62, 74, 0.15), -1px 0 rgba(51, 62, 74, 0.15); }\n .action:hover .icon {\n fill: #258de5; }\n .action__label {\n display: block;\n position: absolute;\n top: 100%;\n visibility: hidden; }\n .action .icon {\n fill: #909799;\n height: 25px;\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translateX(-50%) translateY(-50%);\n width: 30px; }\n\n.action-bar {\n background: transparent;\n color: #1b1a1c;\n display: flex;\n position: relative; }\n .action-bar:after {\n background: rgba(26, 47, 61, 0.15);\n bottom: 0;\n content: '';\n height: 1px;\n left: 9px;\n position: absolute;\n right: 0;\n width: auto; }\n .action-bar__item {\n flex: 3; }\n .action-bar__item:first-child {\n text-align: left; }\n .action-bar__item:last-child {\n text-align: right; }\n .action-bar__group {\n display: inline-block;\n font-size: 0;\n padding: 0 15px; }\n .action-bar__group--has-divider {\n position: relative; }\n .action-bar__group--has-divider:before {\n background: rgba(122, 128, 128, 0.15);\n content: '';\n position: absolute;\n height: 80%;\n left: 0;\n top: 10%;\n width: 1px; }\n\n.action-bar__item--sort-torrents {\n max-width: 225px; }\n .action-bar__item--sort-torrents .dropdown {\n margin: 5px 0 0 15px; }\n .action-bar__item--sort-torrents .dropdown__content {\n min-width: 250px; }\n\n.action-bar__item--torrent-operations .dropdown {\n display: inline-block;\n height: 60px; }\n .action-bar__item--torrent-operations .dropdown__content {\n min-width: 430px;\n right: 4px; }\n\n.client-stat {\n display: flex;\n padding: 30px 20px 20px 20px; }\n .client-stat__icon, .client-stat__data {\n position: relative;\n vertical-align: top;\n z-index: 1; }\n .client-stat__icon {\n flex: 0 0 23px; }\n .client-stat__icon .icon {\n display: inline-block;\n height: 25px;\n margin: 6px 0 0 -5px;\n width: auto; }\n .client-stat__data {\n flex: 1; }\n .client-stat__data--primary, .client-stat__data--secondary {\n display: block;\n font-weight: 100;\n line-height: 1.2; }\n .client-stat__data--primary {\n font-size: 1.75em;\n white-space: nowrap; }\n .client-stat__data--primary .unit {\n font-size: 0.65em;\n margin-bottom: 0;\n opacity: 0.5;\n position: relative;\n top: -0.1em; }\n .client-stat__data--secondary {\n font-size: 0.8em;\n font-style: italic;\n font-weight: 400; }\n\n.client-stat--limits {\n background: none;\n border: none;\n color: #53718a;\n display: block;\n outline: none;\n padding: 10px 15px;\n font-size: 0.85em;\n text-align: left;\n transition: color 0.25s;\n vertical-align: middle;\n width: 100%; }\n .client-stat--limits .icon {\n display: inline-block;\n fill: #53718a;\n margin: -2px 5px 0 0;\n transition: fill 0.25s;\n vertical-align: middle;\n width: 14.5px; }\n .client-stat--limits .icon .limits__bars--top {\n opacity: 0.4; }\n .client-stat--limits .icon .limits__bars--bottom {\n opacity: 0.6; }\n .client-stat--limits:hover {\n color: #258de5; }\n .client-stat--limits:hover .icon {\n fill: #258de5; }\n\n.client-stat {\n position: relative; }\n .client-stat .graph {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 0; }\n .client-stat .graph svg {\n height: 100%;\n width: 100%; }\n .client-stat .graph__line {\n fill: none; }\n .client-stat .graph__line--limit {\n stroke-dasharray: 3px 4px;\n stroke-width: 1px; }\n .client-stat .graph__line--rate {\n stroke-width: 1.1px; }\n .client-stat--download .icon {\n fill: rgba(43, 174, 108, 0.75); }\n .client-stat--download .client-stat__data--primary {\n color: #2bae6c; }\n .client-stat--download .client-stat__data--secondary {\n color: rgba(43, 174, 108, 0.75); }\n .client-stat--download .graph .graph--download--gradient--top {\n stop-color: rgba(43, 174, 108, 0.2); }\n .client-stat--download .graph .graph--download--gradient--bottom {\n stop-color: rgba(43, 174, 108, 0); }\n .client-stat--download .graph__area {\n fill: url(\"#graph--download--gradient\"); }\n .client-stat--download .graph__line--limit {\n stroke: rgba(102, 217, 159, 0.15); }\n .client-stat--download .graph__line--rate {\n stroke: rgba(43, 174, 108, 0.4); }\n .client-stat--upload .icon {\n fill: rgba(35, 135, 217, 0.75); }\n .client-stat--upload .client-stat__data--primary {\n color: #2387d9; }\n .client-stat--upload .client-stat__data--secondary {\n color: rgba(35, 135, 217, 0.75); }\n .client-stat--upload .graph .graph--upload--gradient--top {\n stop-color: rgba(35, 135, 217, 0.2); }\n .client-stat--upload .graph .graph--upload--gradient--bottom {\n stop-color: rgba(35, 135, 217, 0); }\n .client-stat--upload .graph__area {\n fill: url(\"#graph--upload--gradient\"); }\n .client-stat--upload .graph__line--limit {\n stroke: rgba(121, 183, 233, 0.15); }\n .client-stat--upload .graph__line--rate {\n stroke: rgba(35, 135, 217, 0.4); }\n\n.application__content {\n background: #e9eef2; }\n\n.directory-tree .icon {\n display: inline-block;\n height: 14px;\n margin-right: 5px;\n vertical-align: top;\n width: 14px; }\n\n.directory-tree__node {\n line-height: 1.75;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .directory-tree__node--directory {\n color: #566573;\n cursor: pointer;\n font-weight: 500;\n transition: opacity 0.125s; }\n .directory-tree__node--directory:active {\n opacity: 0.7; }\n .directory-tree__node--directory .icon {\n fill: rgba(86, 101, 115, 0.6);\n position: relative; }\n .directory-tree__node--file {\n color: rgba(86, 101, 115, 0.8);\n line-height: 1.5; }\n .directory-tree__node--file .icon {\n fill: rgba(86, 101, 115, 0.4); }\n .directory-tree__node--file-list {\n margin-bottom: 3px; }\n\n.directory-tree__parent-directory {\n color: #a5b0b9;\n font-size: 0.85em; }\n .directory-tree__parent-directory .icon {\n fill: #a5b0b9;\n opacity: 0.75; }\n\n.directory-tree__tree {\n padding-left: 1px; }\n .directory-tree__tree .directory-tree__tree {\n padding-left: 3px; }\n\n.dropdown {\n display: inline-block;\n outline: none;\n position: relative;\n z-index: 2; }\n .dropdown__button, .dropdown__trigger {\n cursor: pointer; }\n .dropdown__button {\n display: block;\n padding: 12px 15px 7px 15px;\n text-align: left;\n width: auto;\n word-wrap: none; }\n .dropdown__content {\n background: rgba(255, 255, 255, 0.98);\n border-radius: 3px;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.1), 0 0 35px rgba(26, 47, 61, 0.3);\n color: #95a2ad;\n left: 0;\n position: absolute;\n text-align: left;\n top: 0;\n z-index: 2; }\n .dropdown.is-expanded .dropdown__header .dropdown__value {\n color: #4e6a7c; }\n .dropdown__label {\n color: #abbac7;\n display: block;\n font-size: 0.65em;\n font-weight: 500;\n letter-spacing: 0.1em;\n line-height: 0.9em;\n text-transform: uppercase; }\n .dropdown__button .dropdown__label {\n cursor: pointer; }\n .dropdown__value {\n color: #8899a8;\n transition: color 0.25s; }\n .dropdown__value:after {\n border-top: 5px solid #8899a8;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n content: '';\n display: inline-block;\n margin-left: 10px;\n vertical-align: middle; }\n .dropdown__header {\n position: relative; }\n .dropdown__header:after {\n background: rgba(26, 47, 61, 0.05);\n bottom: 0;\n content: '';\n display: block;\n height: 1px;\n left: 5%;\n position: absolute;\n width: 90%; }\n .dropdown__items {\n display: flex;\n padding: 10px 0; }\n .dropdown__list {\n flex: 1; }\n .dropdown__item {\n padding: 5px 15px; }\n .dropdown__item.is-selectable {\n cursor: pointer;\n display: block;\n font-size: 0.9em;\n transition: background 0.25s, color 0.25s; }\n .dropdown__item.is-selectable:hover {\n background: rgba(233, 238, 242, 0.4);\n color: #788997; }\n .dropdown__item.is-selectable.is-selected {\n color: #258de5; }\n .dropdown--align-right .dropdown {\n left: auto;\n right: 0; }\n\n.dropdown__content-enter {\n animation: fade-in 0.25s both; }\n\n.dropdown__content-leave {\n animation: fade-out 0.25s both; }\n\n.dropdown__content__container {\n padding: 25px 30px; }\n\n.floating-action__button {\n background: #fff;\n border: none;\n border-radius: 16px;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.1);\n cursor: pointer;\n height: 16px;\n outline: none;\n margin-right: 8px;\n padding: 0;\n position: relative;\n transition: background 0.25s, box-shadow 0.25s;\n width: 16px; }\n .floating-action__button:last-child {\n margin-right: 0; }\n .floating-action__button:hover {\n background: #e9eef2;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.2); }\n .floating-action__button:hover .icon {\n fill: rgba(26, 47, 61, 0.5); }\n .floating-action__button .icon {\n height: 8px;\n fill: rgba(26, 47, 61, 0.3);\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translate(-50%, -50%);\n width: 8px; }\n\n.sidebar {\n box-shadow: 1px 0 rgba(6, 9, 11, 0.3);\n color: #53718a;\n position: relative;\n z-index: 2; }\n .sidebar__item--search {\n position: relative; }\n .sidebar__item--search .icon {\n fill: #53718a;\n height: 22px;\n left: 17px;\n opacity: 0.5;\n position: absolute;\n top: 50%;\n transition: fill 0.25s, opacity 0.25s;\n transform: translateY(-50%);\n width: 22px; }\n .sidebar__item--search .textbox {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border: 1px solid rgba(9, 24, 36, 0.4);\n border-left: none;\n border-right: none;\n border-radius: 0;\n background: rgba(9, 24, 36, 0.3);\n box-shadow: none;\n color: #53718a;\n display: block;\n font-size: 1em;\n outline: none;\n padding: 12px 0 12px 45px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%; }\n .sidebar__item--search .textbox::placeholder {\n color: rgba(83, 113, 138, 0.4);\n font-style: italic;\n transition: color 0.25s; }\n .sidebar__item--search.is-in-use .icon {\n fill: #2c9e65;\n opacity: 1; }\n .sidebar__item--search.is-in-use .textbox {\n background: #39ce83;\n border-bottom: 1px solid #39ce83;\n border-top: 1px solid #39ce83;\n color: #1e8954; }\n .sidebar__item--search.is-in-use .textbox::placeholder {\n color: #2cad6d; }\n .sidebar__item--speed-limit {\n padding-left: 5px;\n padding-top: 5px; }\n .sidebar__item--speed-limit .dropdown__content {\n min-width: 180px; }\n .sidebar__item--speed-limit .dropdown__items {\n font-size: 0.9em; }\n\n.modal {\n background: rgba(26, 47, 61, 0.5);\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n transition: opacity 0.5s;\n width: 100%;\n z-index: 100; }\n .modal__content {\n background: #fff;\n border-radius: 5px;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.1), 0 0 35px rgba(26, 47, 61, 0.3);\n left: 50%;\n max-height: 80%;\n max-width: 80%;\n overflow: auto;\n padding: 30px;\n position: absolute;\n top: 10%;\n transform: translate(-50%, 0);\n width: 500px; }\n\n.modal__button-group {\n text-align: right; }\n .modal__button-group .button + .button {\n margin-left: 20px; }\n\n.modal__header {\n color: #313436;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px; }\n\n.modal__animation-enter {\n opacity: 0; }\n\n.modal__animation-enter-active {\n opacity: 1; }\n\n.modal__animation-leave {\n opacity: 1;\n pointer-events: none; }\n\n.modal__animation-leave-active {\n opacity: 0; }\n\n.progress-bar {\n height: 3px;\n position: relative;\n transition: opacity 0.25s;\n z-index: 1; }\n .is-selected.is-stopped .progress-bar {\n opacity: 0.5; }\n .progress-bar:after {\n background: #e3e5e5;\n content: '';\n height: 1px;\n left: 0;\n position: absolute;\n z-index: 0;\n top: 1px;\n transition: background 0.25s;\n width: 100%; }\n .is-selected .progress-bar:after {\n background: rgba(255, 255, 255, 0.5); }\n .is-selected.is-stopped .progress-bar:after {\n background: rgba(255, 255, 255, 0.5); }\n .progress-bar__fill {\n background: #39ce83;\n bottom: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n transition: background 0.25s, width 0.25s;\n z-index: 1; }\n .is-completed .progress-bar__fill {\n background: #258de5; }\n .is-seeding .progress-bar__fill {\n background: #258de5; }\n .is-stopped .progress-bar__fill {\n background: #e3e5e5; }\n .is-selected .progress-bar__fill {\n background: #fff; }\n\n.status-filter {\n font-size: 0.85em;\n padding: 30px 0; }\n .status-filter__item {\n color: #53718a;\n cursor: pointer;\n padding: 3px 20px;\n transition: color 0.25s; }\n .status-filter__item:hover {\n color: #7a97af; }\n .status-filter__item:hover .icon {\n fill: #7a97af; }\n .status-filter__item.is-active {\n color: #258de5;\n font-weight: 700; }\n .status-filter__item.is-active .icon {\n fill: #258de5; }\n .status-filter__item .icon {\n display: inline-block;\n fill: #53718a;\n height: 14px;\n margin-right: 7px;\n transition: fill 0.25s;\n vertical-align: middle;\n width: auto; }\n\n.status-filter__item--heading {\n cursor: default;\n font-size: 0.8em;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n .status-filter__item--heading, .status-filter__item--heading:hover {\n color: rgba(83, 113, 138, 0.5); }\n\n.textbox-repeater .floating-action__group {\n margin-top: -8px;\n position: absolute;\n right: -8px;\n top: 50%; }\n\n.textbox-repeater .floating-action__button {\n position: relative; }\n\n.textbox-repeater .textbox__wrapper {\n position: relative; }\n\n.torrent-details {\n background: #162835;\n bottom: 0;\n box-shadow: -1px 0 0 rgba(26, 47, 61, 0.1);\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n padding: 25px;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2; }\n .torrent-details__section {\n margin-bottom: 25px; }\n .torrent-details__transfer-data {\n font-weight: 500; }\n .torrent-details__transfer-data .transfer-data {\n display: inline-block;\n margin-right: 10px; }\n .torrent-details__transfer-data .transfer-data:last-child {\n margin-right: 0; }\n .torrent-details__transfer-data .icon {\n height: 12px;\n width: 12px; }\n .torrent-details__table {\n width: 100%; }\n .torrent-details__table__heading {\n color: #c0cad3;\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n .torrent-details__table__heading th {\n font-weight: 500; }\n .torrent-details__table__heading__count {\n color: #778c9e;\n display: inline-block;\n margin-left: 5px; }\n\n.torrents {\n display: flex;\n flex: 1 1 100px;\n position: relative; }\n .torrents:after {\n background: #fff;\n bottom: 0;\n box-shadow: -1px 0 0 0 rgba(26, 47, 61, 0.15);\n content: '';\n height: auto;\n left: 10px;\n position: absolute;\n right: 0;\n top: 0; }\n\n.torrent__list {\n margin: 0 0 0 10px;\n padding: 10px 0;\n position: relative; }\n .torrent__list__wrapper {\n list-style: none;\n max-width: 100%;\n opacity: 1;\n overflow: auto;\n position: relative;\n transition: max-width 0.5s, opacity 1s;\n user-select: none;\n z-index: 1; }\n .torrent__list--empty {\n opacity: 0; }\n\n.torrent {\n cursor: default;\n padding: 10px 20px;\n position: relative;\n transition: background 0.25s; }\n .torrent:hover {\n background: #f6f8fa; }\n .torrent:hover .torrent__more-info {\n opacity: 1; }\n .torrent.is-selected {\n background: #258de5; }\n .torrent__more-info {\n height: 20px;\n margin-top: -10px;\n position: absolute;\n left: -7px;\n opacity: 0;\n top: 50%;\n transition: background 0.25s, box-shadow 0.25s, opacity 0.25s;\n width: 20px; }\n\n.torrent__details {\n align-items: center;\n display: flex;\n flex: 1;\n flex-flow: row wrap;\n list-style: none; }\n .torrent__details--primary, .torrent__details--secondary, .torrent__details--tertiary {\n transition: color 0.25s; }\n .torrent__details--primary {\n color: #333332;\n flex: 4;\n line-height: 1.3;\n white-space: nowrap; }\n .is-stopped .torrent__details--primary {\n color: rgba(51, 51, 50, 0.5); }\n .is-selected .torrent__details--primary {\n color: #fff; }\n .is-selected.is-stopped .torrent__details--primary {\n color: rgba(255, 255, 255, 0.6); }\n .torrent__details--secondary {\n align-items: flex-end;\n color: #807f7e;\n flex: 1;\n font-size: 0.75em;\n min-width: 200px; }\n .torrent__details--secondary li {\n flex: 1 1 auto;\n min-width: 15%; }\n .torrent__details--secondary li.torrent__details--ratio {\n max-width: 30px; }\n .is-stopped .torrent__details--secondary {\n color: rgba(128, 127, 126, 0.5); }\n .is-selected .torrent__details--secondary {\n color: #fff; }\n .is-selected.is-stopped .torrent__details--secondary {\n color: rgba(255, 255, 255, 0.6); }\n .torrent__details--tertiary {\n color: #807f7e;\n display: block;\n font-size: 0.75em;\n margin: 0 0 3px 0; }\n .torrent__details--tertiary li {\n display: inline-block;\n margin-right: 1em; }\n .torrent__details--tertiary li:last-child {\n margin-right: 0; }\n .is-stopped .torrent__details--tertiary {\n color: rgba(128, 127, 126, 0.5); }\n .is-selected .torrent__details--tertiary {\n color: rgba(255, 255, 255, 0.9); }\n .is-selected.is-stopped .torrent__details--tertiary {\n color: rgba(255, 255, 255, 0.5); }\n .torrent__details__label {\n margin-right: 0.5em;\n opacity: 0.5; }\n\n.torrent__details--eta {\n opacity: 0;\n transition: opacity 1s, visibility 1s;\n visibility: hidden; }\n .torrent__details--eta .torrent__details--segment {\n margin-right: 0.25em; }\n .torrent__details--eta .torrent__details--segment:last-child {\n margin-right: 0; }\n .is-actively-downloading .torrent__details--eta {\n opacity: 1;\n visibility: visible; }\n\n.transfer-data--download {\n color: #39ce83; }\n .transfer-data--download .icon {\n fill: #39ce83; }\n\n.transfer-data--upload {\n color: #258de5; }\n .transfer-data--upload .icon {\n fill: #258de5; }\n","/*!\n * inuitcss, by @csswizardry\n *\n * github.com/inuitcss | inuitcss.com\n */\n///*------------------------------------*\\\n// #DEFAULTS\n//\\*------------------------------------*/\n\n// These variables are inuitcss’ defaults; they should not be modified or\n// adjusted directly; you should predefine the variables in your own project.\n\n\n\n\n\n// High-level base settings.\n$inuit-base-font-size: 16px !default;\n$inuit-base-line-height: 24px !default;\n$inuit-base-text-color: #333 !default;\n$inuit-base-background-color: #fff !default;\n\n\n\n\n\n// Namespace.\n//\n// Would you like inuitcss’ classes to be prepended with a namespace? If so,\n// define it here.\n$inuit-namespace: null !default;\n\n\n\n\n\n// These variables are framework variables, sourced from variables defined\n// above. Feel free to use these variables throughout your project, but do not\n// modify or reassign them.\n$inuit-base-spacing-unit: $inuit-base-line-height;\n$inuit-base-spacing-unit--tiny: round($inuit-base-spacing-unit / 4);\n$inuit-base-spacing-unit--small: round($inuit-base-spacing-unit / 2);\n$inuit-base-spacing-unit--large: round($inuit-base-spacing-unit * 2);\n$inuit-base-spacing-unit--huge: round($inuit-base-spacing-unit * 4);\n","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n * without disabling user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@import 'colors';\n@import url(http://fonts.googleapis.com/css?family=Roboto:400italic,700italic,300,700,300italic,400);\n\n$font: 'Roboto', sans-srif;\n\n$spacing-unit: 25px;\n$torrent-details--width: 85%;\n","@import url('http://fonts.googleapis.com/css?family=Roboto:500,400italic,300,700,400');\n\nbody {\n color: $foreground;\n font-family: $font;\n}\n\n.unit {\n display: inline-block;\n font-size: 0.8em;\n font-style: normal;\n margin-bottom: 0.1em;\n opacity: 0.8;\n}\n\n.text-overflow {\n overflow: hidden;\n position: relative;\n text-overflow: ellipsis;\n}\n","/*------------------------------------*\\\n #RESET\n\\*------------------------------------*/\n\n/**\n * As well as using normalize.css, it is often advantageous to remove all\n * margins from certain elements.\n */\nbody,\nh1, h2, h3, h4, h5, h6,\np, blockquote, pre,\ndl, dd, ol, ul,\nform, fieldset, legend,\nfigure,\ntable, th, td, caption,\nhr {\n margin: 0;\n padding: 0;\n}\n\n\n\n\n\n/**\n * Give a help cursor to elements that give extra info on `:hover`.\n */\nabbr[title],\ndfn[title] {\n cursor: help;\n}\n\n\n\n\n\n/**\n * Remove underlines from potentially troublesome elements.\n */\nu,\nins {\n text-decoration: none;\n}\n\n\n\n\n\n/**\n * Apply faux underlines to inserted text via `border-bottom`.\n */\nins {\n border-bottom: 1px solid;\n}\n","/*------------------------------------*\\\n #BOX-SIZING\n\\*------------------------------------*/\n\n/**\n * Set the global `box-sizing` state to `border-box`.\n *\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n * paulirish.com/2012/box-sizing-border-box-ftw\n */\nhtml {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n* {\n\n &,\n &:before,\n &:after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit;\n }\n\n}\n\n\n\n\n\n// If we have included this file, set a variable to tell the rest of the\n// framework that global `box-sizing: border-box` has been set.\n$inuit-global-border-box: true;\n","/*------------------------------------*\\\n #PAGE\n\\*------------------------------------*/\n\n/**\n * High-, page-level styling.\n *\n * 1. Set the default `font-size` and `line-height` for the entire project,\n * sourced from our default variables. The `font-size` is calculated to exist\n * in ems, the `line-height` is calculated to exist unitlessly.\n * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when\n * navigating between pages that do/do not have enough content to produce\n * scrollbars naturally.\n * 3. Ensure the page always fills at least the entire height of the viewport.\n * 4. Prevent certain mobile browsers from automatically zooming fonts.\n * 5. Fonts on OSX will look more consistent with other systems that do not\n * render text using sub-pixel anti-aliasing.\n */\nhtml {\n font-size: ($inuit-base-font-size / 16px) * 1em; /* [1] */\n line-height: $inuit-base-line-height / $inuit-base-font-size; /* [1] */\n background-color: $inuit-base-background-color;\n color: $inuit-base-text-color;\n overflow-y: scroll; /* [2] */\n min-height: 100%; /* [3] */\n -webkit-text-size-adjust: 100%; /* [4] */\n -ms-text-size-adjust: 100%; /* [4] */\n -moz-osx-font-smoothing: grayscale; /* [5] */\n -webkit-font-smoothing: antialiased; /* [5] */\n}\n","th {\n font-weight: inherit;\n text-align: left;\n}\n","@keyframes fade-in {\n\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n\n}\n\n@keyframes fade-out {\n\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n\n}\n",".textbox,\n.button {\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n outline: none;\n}\n\n.textbox {\n background: $textbox--background;\n border-radius: 4px;\n border: 1px solid $textbox--border;\n color: $textbox--foreground;\n display: block;\n font-size: 0.9em;\n padding: 10px 15px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%;\n\n &::placeholder {\n color: $textbox--placeholder;\n font-style: italic;\n transition: color 0.25s;\n }\n\n &:focus {\n background: $textbox--active--background;\n border-color: $textbox--active--border;\n color: $textbox--active--foreground;\n\n &::placeholder {\n color: $textbox--active--placeholder;\n }\n }\n\n}\n\n.button {\n background: transparent;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 0.9em;\n font-weight: 400;\n padding: 8px 22px;\n transition: background 0.25s;\n\n &--deemphasize {\n background: $button--deemphasized--background;\n color: $button--deemphasized--foreground;\n\n &:hover {\n background: $button--deemphasized--background--hover;\n color: $button--deemphasized--foreground--hover;\n }\n }\n\n &--primary {\n background: $button--primary--background;\n color: $button--primary--foreground;\n white-space: nowrap;\n\n &:hover {\n background: $button--primary--background--hover;\n }\n }\n\n}\n\n.form {\n\n &__label {\n color: $form--label--foreground;\n display: block;\n margin-bottom: 0.1em;\n }\n\n &__row {\n\n & + .form__row {\n margin-top: 20px;\n }\n }\n\n}\n","$blue: #258de5;\n$green: #39ce83;\n\n$background: #1a2f3d;\n$foreground: #53718a;\n\n$main-content--background: #e9eef2;\n\n$header--foreground: #313436;\n\n// form elements\n$form--label--foreground: #53718a;\n\n$textbox--background: rgba($main-content--background, 0.3);\n$textbox--foreground: $foreground;\n$textbox--placeholder: #abbac7;\n$textbox--border: $main-content--background;\n$textbox--active--background: $textbox--background;\n$textbox--active--border: $main-content--background;\n$textbox--active--foreground: $blue;\n$textbox--active--placeholder: $textbox--placeholder;\n\n$textbox-repeater--button--background: #fff;\n$textbox-repeater--button--background--hover: $main-content--background;\n$textbox-repeater--button--border: rgba($background, 0.1);\n$textbox-repeater--button--border--hover: rgba($background, 0.2);\n$textbox-repeater--button--foreground: rgba($background, 0.3);\n$textbox-repeater--button--foreground--hover: rgba($background, 0.5);\n\n$button--primary--foreground: #fff;\n$button--primary--background: $blue;\n$button--primary--background--hover: darken($button--primary--background, 5%);\n$button--deemphasized--foreground: #66717a;\n$button--deemphasized--background: $main-content--background;\n$button--deemphasized--foreground--hover: darken($button--deemphasized--foreground, 5%);\n$button--deemphasized--background--hover: darken($button--deemphasized--background, 5%);\n\n// action bar\n$action-bar--background: transparent;\n$action-bar--foreground: #1b1a1c;\n$action-bar--group--border: rgba(#7a8080, 0.15);\n\n$action--foreground: #909799;\n$action--foreground--hover: $blue;\n$action--background--hover: rgba(#333e4a, 0.05);\n$action--border--hover: rgba(#333e4a, 0.15);\n\n// filter bar\n$sidebar--foreground: #53718a;\n$sidebar--border: rgba(darken($sidebar--foreground, 40%), 0.3);\n\n$client-stats--limits--opacity: 0.15;\n$client-stats--speed--fill--top--opacity: 0.2;\n$client-stats--speed--fill--bottom--opacity: 0;\n$client-stats--speed--stroke--opacity: 0.4;\n\n$client-stats--download--primary--foreground: #2bae6c;\n$client-stats--download--secondary--foreground: rgba($client-stats--download--primary--foreground, 0.75);\n$client-stats--download--graph--stroke: rgba(#2bae6c, $client-stats--speed--stroke--opacity);\n$client-stats--download--graph--fill--top: rgba(#2bae6c, $client-stats--speed--fill--top--opacity);\n$client-stats--download--graph--fill--bottom: rgba(#2bae6c, $client-stats--speed--fill--bottom--opacity);\n$client-stats--download--limits--line: rgba(lighten($client-stats--download--primary--foreground, 20%), $client-stats--limits--opacity);\n\n$client-stats--upload--primary--foreground: #2387d9;\n$client-stats--upload--secondary--foreground: rgba($client-stats--upload--primary--foreground, 0.75);\n$client-stats--upload--graph--stroke: rgba(#2387d9, $client-stats--speed--stroke--opacity);\n$client-stats--upload--graph--fill--top: rgba(#2387d9, $client-stats--speed--fill--top--opacity);\n$client-stats--upload--graph--fill--bottom: rgba(#2387d9, $client-stats--speed--fill--bottom--opacity);\n$client-stats--upload--limits--line: rgba(lighten($client-stats--upload--primary--foreground, 20%), $client-stats--limits--opacity);\n\n$client-stats--limits--foreground: $foreground;\n$client-stats--limits--icon--hover: $blue;\n\n$search-torrents--base: #091824;\n$search-torrents--background: rgba($search-torrents--base, 0.3);\n$search-torrents--background--active: $green;\n$search-torrents--border: rgba($search-torrents--background, 0.4);\n$search-torrents--border--active: $search-torrents--background--active;\n$search-torrents--foreground: $sidebar--foreground;\n$search-torrents--foreground--active: #1e8954;\n$search-torrents--placeholder: rgba($sidebar--foreground, 0.4);\n$search-torrents--placeholder--active: #2cad6d;\n\n$search-torrents--icon--foreground: $sidebar--foreground;\n$search-torrents--icon--foreground--active: #2c9e65;\n\n$status-filter--foreground: $sidebar--foreground;\n$status-filter--foreground--header: rgba($status-filter--foreground, 0.5);\n$status-filter--foreground--active: $blue;\n$status-filter--foreground--hover: lighten($status-filter--foreground, 15%);\n\n// torrents list\n$torrent-list--background: #fff;\n$torrent-list--border: rgba($background, 0.15);\n\n$torrent--primary--foreground: #333332;\n$torrent--primary--foreground--stopped: rgba(#333332, 0.5);\n$torrent--primary--foreground--selected: #fff;\n$torrent--primary--foreground--selected--stopped: rgba($torrent--primary--foreground--selected, 0.6);\n$torrent--secondary--foreground: #807f7e;\n$torrent--secondary--foreground--stopped: rgba(#807f7e, 0.5);\n$torrent--secondary--foreground--selected: #fff;\n$torrent--secondary--foreground--selected--stopped: rgba(#fff, 0.6);\n$torrent--tertiary--foreground: #807f7e;\n$torrent--tertiary--foreground--stopped: rgba(#807f7e, 0.5);\n$torrent--tertiary--foreground--selected: rgba(#fff, 0.9);\n$torrent--tertiary--foreground--selected--stopped: rgba(#fff, 0.5);\n\n$torrent--background--hover: #f6f8fa;\n$torrent--background--selected: $blue;\n\n$progress-bar--background: #e3e5e5;\n$progress-bar--background--selected: rgba(#fff, 0.5);\n$progress-bar--background--selected--stopped: rgba(#fff, 0.5);\n$progress-bar--fill: $green;\n\n$progress-bar--fill--stopped: #e3e5e5;\n$progress-bar--fill--completed: $blue;\n$progress-bar--fill--selected: #fff;\n\n// torrent details\n$torrent-details--background: #162835;\n$torrent-details--border: rgba($background, 0.1);\n\n$torrent-details--directory-tree--directory: #a5b0b9;\n$torrent-details--directory-tree--icon-fill: #a5b0b9;\n\n$torrent-details--table--header: #c0cad3;\n$torrent-details--table--header--count: #778c9e;\n\n// tansfer data\n$transfer-data--download: $green;\n$transfer-data--upload: $blue;\n\n// dropdown menu\n$dropdown--background: rgba(#fff, 0.98);;\n$dropdown--foreground: #95a2ad;\n$dropdown--container--border: rgba($background, 0.1);\n$dropdown--container--shadow: rgba($background, 0.3);\n$dropdown--label: #abbac7;\n$dropdown--value: #8899a8;\n$dropdown--value--active: #4e6a7c;\n$dropdown--header--border: rgba($background, 0.05);\n$dropdown--item--background--hover: rgba($main-content--background, 0.4);\n$dropdown--item--foreground--hover: darken($dropdown--foreground, 10%);\n$dropdown--item--foreground--active: $blue;\n\n// modal windows\n$modal--background: #fff;\n$modal--overlay: rgba($background, 0.5);\n$modal--header--foreground: $header--foreground;\n$modal--content--border: rgba($background, 0.1);\n$modal--content--shadow: rgba($background, 0.3);\n\n// directory torrent-details--directory-tree--icon-fill\n$directory-tree--filename--foreground: rgba(#566573, 0.8);\n$directory-tree--directory--foreground: #566573;\n\n$directory-tree--icon--file: rgba(#566573, 0.4);\n$directory-tree--icon--folder: rgba(#566573, 0.6);\n","html,\nbody {\n height: 100%;\n overflow: hidden;\n}\n\n.container {\n height: 100%;\n width: 100%;\n}\n\n.flood {\n align-items: stretch;\n display: flex;\n height: 100%;\n}\n\n.sidebar {\n flex: 1;\n min-width: 200px;\n max-width: 240px;\n}\n\n.application {\n\n &__content {\n display: flex;\n height: 100vh;\n flex: 1 2 auto;\n flex-direction: column;\n position: relative;\n }\n\n &__panel {\n display: flex;\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n &--torrent-list {\n transition: transform 0.5s;\n z-index: 2;\n\n &.is-open {\n transform: translateX($torrent-details--width);\n }\n }\n\n &--torrent-details {\n right: 100% - $torrent-details--width;\n width: $torrent-details--width;\n z-index: 1;\n }\n }\n}\n\n.torrent {\n\n &__header {\n flex: 1;\n min-height: 35px;\n max-height: 35px;\n }\n\n\n &__list {\n\n &__wrapper {\n flex: 1;\n }\n }\n}\n\n.view {\n\n &--torrent-list {\n background: #e9eef2;\n box-shadow: -1px 0 $torrent-list--border;\n display: flex;\n flex-direction: column;\n flex: 1;\n flex: 0 1 100%;\n }\n}\n","body {\n background: $background;\n}\n\nul {\n list-style: none;\n}\n",".actions {\n list-style: none;\n}\n\n.action {\n box-shadow:\n 1px 0 transparent,\n -1px 0 transparent;\n cursor: pointer;\n display: inline-block;\n height: 60px;\n position: relative;\n width: 60px;\n text-align: center;\n transition: background 0.25s, box-shadow 0.25s;\n\n &:hover {\n background: $action--background--hover;\n box-shadow:\n 1px 0 $action--border--hover,\n -1px 0 $action--border--hover;\n\n .icon {\n fill: $action--foreground--hover;\n }\n }\n\n &__label {\n display: block;\n position: absolute;\n top: 100%;\n visibility: hidden;\n }\n\n .icon {\n fill: $action--foreground;\n height: 25px;\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translateX(-50%) translateY(-50%);\n width: 30px;\n }\n}\n\n.action-bar {\n background: $action-bar--background;\n color: $action-bar--foreground;\n display: flex;\n position: relative;\n\n &:after {\n background: $torrent-list--border;\n bottom: 0;\n content: '';\n height: 1px;\n left: 9px;\n position: absolute;\n right: 0;\n width: auto;\n }\n\n &__item {\n flex: 3;\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n }\n\n &__group {\n display: inline-block;\n font-size: 0;\n padding: 0 15px;\n\n &--has-divider {\n position: relative;\n\n &:before {\n background: $action-bar--group--border;\n content: '';\n position: absolute;\n height: 80%;\n left: 0;\n top: 10%;\n width: 1px;\n }\n }\n }\n}\n\n.action-bar {\n\n &__item {\n\n &--sort-torrents {\n max-width: 225px;\n\n .dropdown {\n margin: 5px 0 0 15px;\n\n &__content {\n min-width: 250px;\n }\n }\n }\n }\n}\n\n.action-bar {\n\n &__item {\n\n &--torrent-operations {\n\n .dropdown {\n display: inline-block;\n height: 60px;\n\n &__content {\n min-width: 430px;\n right: 4px;\n }\n }\n }\n }\n}\n",".client-stat {\n display: flex;\n padding: 30px 20px 20px 20px;\n\n &__icon,\n &__data {\n position: relative;\n vertical-align: top;\n z-index: 1;\n }\n\n &__icon {\n flex: 0 0 23px;\n\n .icon {\n display: inline-block;\n height: 25px;\n margin: 6px 0 0 -5px;\n width: auto;\n }\n }\n\n &__data {\n flex: 1;\n\n &--primary,\n &--secondary {\n display: block;\n font-weight: 100;\n line-height: 1.2;\n }\n\n &--primary {\n font-size: 1.75em;\n white-space: nowrap;\n\n .unit {\n font-size: 0.65em;\n margin-bottom: 0;\n opacity: 0.5;\n position: relative;\n top: -0.1em;\n }\n }\n\n &--secondary {\n font-size: 0.8em;\n font-style: italic;\n font-weight: 400;\n }\n }\n}\n\n.client-stat {\n\n &--limits {\n background: none;\n border: none;\n color: $client-stats--limits--foreground;\n display: block;\n outline: none;\n padding: 10px 15px;\n font-size: 0.85em;\n text-align: left;\n transition: color 0.25s;\n vertical-align: middle;\n width: 100%;\n\n .icon {\n display: inline-block;\n fill: $client-stats--limits--foreground;\n margin: -2px 5px 0 0;\n transition: fill 0.25s;\n vertical-align: middle;\n width: 14.5px;\n\n .limits {\n\n &__bars {\n\n &--top {\n opacity: 0.4;\n }\n\n &--bottom {\n opacity: 0.6;\n }\n }\n }\n }\n\n &:hover {\n color: $client-stats--limits--icon--hover;\n\n .icon {\n fill: $client-stats--limits--icon--hover;\n }\n }\n }\n}\n\n.client-stat {\n position: relative;\n\n .graph {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 0;\n\n svg {\n height: 100%;\n width: 100%;\n }\n\n &__line {\n fill: none;\n\n &--limit {\n stroke-dasharray: 3px 4px;\n stroke-width: 1px;\n }\n\n &--rate {\n stroke-width: 1.1px;\n }\n }\n\n }\n\n &--download {\n\n .icon {\n fill: $client-stats--download--secondary--foreground;\n }\n\n .client-stat {\n\n &__data {\n\n &--primary {\n color: $client-stats--download--primary--foreground;\n }\n\n &--secondary {\n color: $client-stats--download--secondary--foreground;\n }\n\n }\n\n }\n\n .graph {\n\n .graph--download--gradient--top {\n stop-color: $client-stats--download--graph--fill--top;\n }\n\n .graph--download--gradient--bottom {\n stop-color: $client-stats--download--graph--fill--bottom;\n }\n\n &__area {\n fill: url('#graph--download--gradient')\n }\n\n &__line {\n\n &--limit {\n stroke: $client-stats--download--limits--line;\n }\n\n &--rate {\n stroke: $client-stats--download--graph--stroke;\n }\n }\n\n }\n\n }\n\n &--upload {\n\n .icon {\n fill: $client-stats--upload--secondary--foreground;\n }\n\n .client-stat {\n\n &__data {\n\n &--primary {\n color: $client-stats--upload--primary--foreground;\n }\n\n &--secondary {\n color: $client-stats--upload--secondary--foreground;\n }\n\n }\n\n }\n\n .graph {\n\n .graph--upload--gradient--top {\n stop-color: $client-stats--upload--graph--fill--top;\n }\n\n .graph--upload--gradient--bottom {\n stop-color: $client-stats--upload--graph--fill--bottom;\n }\n\n &__area {\n fill: url('#graph--upload--gradient')\n }\n\n &__line {\n\n &--limit {\n stroke: $client-stats--upload--limits--line;\n }\n\n &--rate {\n stroke: $client-stats--upload--graph--stroke;\n }\n }\n\n }\n\n }\n\n}\n",".application {\n\n &__content {\n background: $main-content--background;\n }\n}\n",".directory-tree {\n\n .icon {\n display: inline-block;\n height: 14px;\n margin-right: 5px;\n vertical-align: top;\n width: 14px;\n }\n\n &__node {\n line-height: 1.75;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &--directory {\n color: $directory-tree--directory--foreground;\n cursor: pointer;\n font-weight: 500;\n transition: opacity 0.125s;\n\n &:active {\n opacity: 0.7;\n }\n\n .icon {\n fill: $directory-tree--icon--folder;\n position: relative;\n\n }\n }\n\n &--file {\n color: $directory-tree--filename--foreground;\n line-height: 1.5;\n\n .icon {\n fill: $directory-tree--icon--file;\n }\n }\n\n &--file-list {\n margin-bottom: 3px;\n }\n }\n\n &__parent-directory {\n color: $torrent-details--directory-tree--directory;\n font-size: 0.85em;\n\n .icon {\n fill: $torrent-details--directory-tree--icon-fill;\n opacity: 0.75;\n }\n }\n\n &__tree {\n padding-left: 1px;\n\n .directory-tree__tree {\n padding-left: 3px;\n }\n }\n}\n",".dropdown {\n display: inline-block;\n outline: none;\n position: relative;\n z-index: 2;\n\n &__button,\n &__trigger {\n cursor: pointer;\n }\n\n &__button {\n display: block;\n padding: 12px 15px 7px 15px;\n text-align: left;\n width: auto;\n word-wrap: none;\n }\n\n &__content {\n background: $dropdown--background;\n border-radius: 3px;\n box-shadow:\n 0 0 0 1px $dropdown--container--border,\n 0 0 35px $dropdown--container--shadow;\n color: $dropdown--foreground;\n left: 0;\n position: absolute;\n text-align: left;\n top: 0;\n z-index: 2;\n }\n\n &.is-expanded {\n\n .dropdown {\n\n &__header {\n\n .dropdown {\n\n &__value {\n color: $dropdown--value--active;\n }\n }\n }\n }\n }\n\n &__label {\n color: $dropdown--label;\n display: block;\n font-size: 0.65em;\n font-weight: 500;\n letter-spacing: 0.1em;\n line-height: 0.9em;\n text-transform: uppercase;\n\n .dropdown__button & {\n cursor: pointer;\n }\n }\n\n &__value {\n color: $dropdown--value;\n transition: color 0.25s;\n\n &:after {\n border-top: 5px solid $dropdown--value;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n content: '';\n display: inline-block;\n margin-left: 10px;\n vertical-align: middle;\n }\n }\n\n &__header {\n position: relative;\n\n &:after {\n background: $dropdown--header--border;\n bottom: 0;\n content: '';\n display: block;\n height: 1px;\n left: 5%;\n position: absolute;\n width: 90%;\n }\n }\n\n &__items {\n display: flex;\n padding: 10px 0;\n }\n\n &__list {\n flex: 1;\n }\n\n &__item {\n padding: 5px 15px;\n\n &.is-selectable {\n cursor: pointer;\n display: block;\n font-size: 0.9em;\n transition: background 0.25s, color 0.25s;\n\n &:hover {\n background: $dropdown--item--background--hover;\n color: $dropdown--item--foreground--hover;\n }\n\n &.is-selected {\n color: $dropdown--item--foreground--active;\n }\n }\n }\n\n &--align-right & {\n left: auto;\n right: 0;\n }\n}\n\n.dropdown {\n\n &__content {\n\n &-enter {\n animation: fade-in 0.25s both;\n }\n\n &-leave {\n animation: fade-out 0.25s both;\n }\n }\n}\n\n.dropdown {\n\n &__content {\n\n &__container {\n padding: 25px 30px;\n }\n }\n}\n",".floating-action {\n\n &__button {\n background: $textbox-repeater--button--background;\n border: none;\n border-radius: 16px;\n box-shadow: 0 0 0 1px $textbox-repeater--button--border;\n cursor: pointer;\n height: 16px;\n outline: none;\n margin-right: 8px;\n padding: 0;\n position: relative;\n transition: background 0.25s, box-shadow 0.25s;\n width: 16px;\n\n &:last-child {\n margin-right: 0;\n }\n\n &:hover {\n background: $textbox-repeater--button--background--hover;\n box-shadow: 0 0 0 1px $textbox-repeater--button--border--hover;\n\n .icon {\n fill: $textbox-repeater--button--foreground--hover;\n }\n }\n\n .icon {\n height: 8px;\n fill: $textbox-repeater--button--foreground;\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translate(-50%, -50%);\n width: 8px;\n }\n }\n}\n",".sidebar {\n box-shadow: 1px 0 $sidebar--border;\n color: $sidebar--foreground;\n position: relative;\n z-index: 2;\n\n &__item {\n\n &--search {\n position: relative;\n\n .icon {\n fill: $search-torrents--icon--foreground;\n height: 22px;\n left: 17px;\n opacity: 0.5;\n position: absolute;\n top: 50%;\n transition: fill 0.25s, opacity 0.25s;\n transform: translateY(-50%);\n width: 22px;\n }\n\n .textbox {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border: 1px solid $search-torrents--border;\n border-left: none;\n border-right: none;\n border-radius: 0;\n background: $search-torrents--background;\n box-shadow: none;\n color: $search-torrents--foreground;\n display: block;\n font-size: 1em;\n outline: none;\n padding: 12px 0 12px 45px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%;\n\n &::placeholder {\n color: $search-torrents--placeholder;\n font-style: italic;\n transition: color 0.25s;\n }\n }\n\n &.is-in-use {\n\n .icon {\n fill: $search-torrents--icon--foreground--active;\n opacity: 1;\n }\n\n .textbox {\n background: $search-torrents--background--active;\n border-bottom: 1px solid $search-torrents--border--active;\n border-top: 1px solid $search-torrents--border--active;\n color: $search-torrents--foreground--active;\n\n &::placeholder {\n color: $search-torrents--placeholder--active;\n }\n }\n }\n }\n\n &--speed-limit {\n padding-left: 5px;\n padding-top: 5px;\n\n .dropdown {\n\n &__content {\n min-width: 180px;\n }\n\n &__items {\n font-size: 0.9em;\n }\n }\n }\n }\n}\n",".modal {\n background: $modal--overlay;\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n transition: opacity 0.5s;\n width: 100%;\n z-index: 100;\n\n &__content {\n background: $modal--background;\n border-radius: 5px;\n box-shadow:\n 0 0 0 1px $modal--content--border,\n 0 0 35px $modal--content--shadow;\n left: 50%;\n max-height: 80%;\n max-width: 80%;\n overflow: auto;\n padding: 30px;\n position: absolute;\n top: 10%;\n transform: translate(-50%, 0);\n width: 500px;\n }\n}\n\n.modal {\n\n &__button-group {\n text-align: right;\n\n .button {\n\n & + .button {\n margin-left: 20px;\n }\n }\n }\n}\n\n.modal {\n\n &__header {\n color: $modal--header--foreground;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px;\n }\n}\n\n.modal {\n\n &__animation-enter {\n opacity: 0;\n }\n\n &__animation-enter-active {\n opacity: 1;\n }\n\n &__animation-leave {\n opacity: 1;\n pointer-events: none;\n }\n\n &__animation-leave-active {\n opacity: 0;\n }\n}\n",".progress-bar {\n height: 3px;\n position: relative;\n transition: opacity 0.25s;\n z-index: 1;\n\n .is-selected.is-stopped & {\n opacity: 0.5;\n }\n\n &:after {\n background: $progress-bar--background;\n content: '';\n height: 1px;\n left: 0;\n position: absolute;\n z-index: 0;\n top: 1px;\n transition: background 0.25s;\n width: 100%;\n\n .is-selected & {\n background: $progress-bar--background--selected;\n }\n\n .is-selected.is-stopped & {\n background: $progress-bar--background--selected--stopped;\n }\n }\n\n &__fill {\n background: $progress-bar--fill;\n bottom: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n transition: background 0.25s, width 0.25s;\n z-index: 1;\n\n .is-completed & {\n background: $progress-bar--fill--completed;\n }\n\n .is-seeding & {\n background: $progress-bar--fill--completed;\n }\n\n .is-stopped & {\n background: $progress-bar--fill--stopped;\n }\n\n .is-selected & {\n background: $progress-bar--fill--selected;\n }\n }\n}\n",".status-filter {\n font-size: 0.85em;\n padding: 30px 0;\n\n &__item {\n color: $status-filter--foreground;\n cursor: pointer;\n padding: 3px 20px;\n transition: color 0.25s;\n\n &:hover {\n color: $status-filter--foreground--hover;\n\n .icon {\n fill: $status-filter--foreground--hover;\n }\n }\n\n &.is-active {\n color: $status-filter--foreground--active;\n font-weight: 700;\n\n .icon {\n fill: $status-filter--foreground--active;\n }\n }\n\n .icon {\n display: inline-block;\n fill: $status-filter--foreground;\n height: 14px;\n margin-right: 7px;\n transition: fill 0.25s;\n vertical-align: middle;\n width: auto;\n }\n }\n}\n\n\n.status-filter {\n\n &__item {\n\n &--heading {\n cursor: default;\n font-size: 0.8em;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n\n &,\n &:hover {\n color: $status-filter--foreground--header;\n }\n }\n }\n}\n",".textbox-repeater {\n\n .floating-action {\n\n &__group {\n margin-top: -8px;\n position: absolute;\n right: -8px;\n top: 50%;\n }\n\n &__button {\n position: relative;\n }\n }\n\n .textbox {\n\n &__wrapper {\n position: relative;\n }\n }\n}\n",".torrent-details {\n background: $torrent-details--background;\n bottom: 0;\n box-shadow: -1px 0 0 $torrent-details--border;\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n padding: $spacing-unit;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n\n &__section {\n margin-bottom: $spacing-unit;\n }\n\n &__transfer-data {\n font-weight: 500;\n\n .transfer-data {\n display: inline-block;\n margin-right: 10px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .icon {\n height: 12px;\n width: 12px;\n }\n }\n\n &__table {\n width: 100%;\n\n &__heading {\n color: $torrent-details--table--header;\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n\n th {\n font-weight: 500;\n }\n\n &__count {\n color: $torrent-details--table--header--count;\n display: inline-block;\n margin-left: 5px;\n }\n }\n }\n}\n",".torrents {\n display: flex;\n flex: 1 1 100px;\n position: relative;\n\n &:after {\n background: $torrent-list--background;\n bottom: 0;\n box-shadow: -1px 0 0 0 $torrent-list--border;\n content: '';\n height: auto;\n left: 10px;\n position: absolute;\n right: 0;\n top: 0;\n }\n}\n\n.torrent {\n\n &__list {\n margin: 0 0 0 10px;\n padding: 10px 0;\n position: relative;\n\n &__wrapper {\n list-style: none;\n max-width: 100%;\n opacity: 1;\n overflow: auto;\n position: relative;\n transition: max-width 0.5s, opacity 1s;\n user-select: none;\n z-index: 1;\n }\n\n &--empty {\n opacity: 0;\n }\n }\n}\n\n.torrent {\n cursor: default;\n padding: 10px 20px;\n position: relative;\n transition: background 0.25s;\n\n &:hover {\n background: $torrent--background--hover;\n\n .torrent {\n\n &__more-info {\n opacity: 1;\n }\n }\n }\n\n &.is-selected {\n background: $torrent--background--selected;\n }\n\n &__more-info {\n height: 20px;\n margin-top: -10px;\n position: absolute;\n left: -7px;\n opacity: 0;\n top: 50%;\n transition: background 0.25s, box-shadow 0.25s, opacity 0.25s;\n width: 20px;\n }\n}\n\n.torrent {\n\n &__details {\n align-items: center;\n display: flex;\n flex: 1;\n flex-flow: row wrap;\n list-style: none;\n\n &--primary,\n &--secondary,\n &--tertiary {\n transition: color 0.25s;\n }\n\n &--primary {\n color: $torrent--primary--foreground;\n flex: 4;\n line-height: 1.3;\n white-space: nowrap;\n\n .is-stopped & {\n color: $torrent--primary--foreground--stopped;\n }\n\n .is-selected & {\n color: $torrent--primary--foreground--selected;\n }\n\n .is-selected.is-stopped & {\n color: $torrent--primary--foreground--selected--stopped;\n }\n }\n\n &--secondary {\n align-items: flex-end;\n color: $torrent--secondary--foreground;\n flex: 1;\n font-size: 0.75em;\n min-width: 200px;\n\n li {\n flex: 1 1 auto;\n min-width: 15%;\n\n &.torrent__details--ratio {\n max-width: 30px;\n }\n }\n\n .is-stopped & {\n color: $torrent--secondary--foreground--stopped;\n }\n\n .is-selected & {\n color: $torrent--secondary--foreground--selected;\n }\n\n .is-selected.is-stopped & {\n color: $torrent--secondary--foreground--selected--stopped;\n }\n }\n\n &--tertiary {\n color: $torrent--tertiary--foreground;\n display: block;\n font-size: 0.75em;\n margin: 0 0 3px 0;\n\n li {\n display: inline-block;\n margin-right: 1em;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .is-stopped & {\n color: $torrent--tertiary--foreground--stopped;\n }\n\n .is-selected & {\n color: $torrent--tertiary--foreground--selected;\n }\n\n .is-selected.is-stopped & {\n color: $torrent--tertiary--foreground--selected--stopped;\n }\n }\n\n &__label {\n margin-right: 0.5em;\n opacity: 0.5;\n }\n }\n}\n\n.torrent {\n\n &__details {\n\n &--eta {\n opacity: 0;\n transition: opacity 1s, visibility 1s;\n visibility: hidden;\n\n .torrent__details--segment {\n margin-right: 0.25em;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .is-actively-downloading & {\n opacity: 1;\n visibility: visible;\n }\n }\n }\n}\n",".transfer-data {\n\n &--download {\n color: $transfer-data--download;\n\n .icon {\n fill: $transfer-data--download;\n }\n }\n\n &--upload {\n color: $transfer-data--upload;\n\n .icon {\n fill: $transfer-data--upload;\n }\n }\n}\n"],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"sources":["style.css","../../../node_modules/inuit-defaults/_settings.defaults.scss","../../../node_modules/inuit-normalize/_generic.normalize.scss","tools/_variables.scss","base/_typography.scss","../../../node_modules/inuit-reset/_generic.reset.scss","../../../node_modules/inuit-box-sizing/_generic.box-sizing.scss","../../../node_modules/inuit-page/_base.page.scss","tools/_reset.scss","base/_animations.scss","base/_form-elements.scss","tools/_colors.scss","base/_layout.scss","base/_main.scss","objects/_action-bar.scss","objects/_client-stats.scss","objects/_application-content.scss","objects/_directory-tree.scss","objects/_dropdown.scss","objects/_floating-action.scss","objects/_sidebar.scss","objects/_modals.scss","objects/_progress-bar.scss","objects/_status-filter.scss","objects/_textbox-repeater.scss","objects/_torrent-details-panel.scss","objects/_torrents.scss","objects/_transfer-data.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * inuitcss, by @csswizardry\n *\n * github.com/inuitcss | inuitcss.com\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n * without disabling user zoom.\n */\n@import url(http://fonts.googleapis.com/css?family=Roboto:400italic,700italic,300,700,300italic,400);\n@import url(\"http://fonts.googleapis.com/css?family=Roboto:500,400italic,300,700,400\");\nhtml {\n font-family: sans-serif;\n /* 1 */\n -ms-text-size-adjust: 100%;\n /* 2 */\n -webkit-text-size-adjust: 100%;\n /* 2 */ }\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0; }\n\n/* HTML5 display definitions\n ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n /* 1 */\n vertical-align: baseline;\n /* 2 */ }\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n display: none; }\n\n/* Links\n ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n background-color: transparent; }\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\na:active,\na:hover {\n outline: 0; }\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n border-bottom: 1px dotted; }\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n font-weight: bold; }\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n font-style: italic; }\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n background: #ff0;\n color: #000; }\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%; }\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n border: 0; }\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n overflow: hidden; }\n\n/* Grouping content\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n margin: 1em 40px; }\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0; }\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n overflow: auto; }\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\n/* Forms\n ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n /* 1 */\n font: inherit;\n /* 2 */\n margin: 0;\n /* 3 */ }\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n overflow: visible; }\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n text-transform: none; }\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n /* 2 */\n cursor: pointer;\n /* 3 */ }\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n line-height: normal; }\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n /* 1 */\n box-sizing: content-box;\n /* 2 */ }\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0;\n /* 1 */\n padding: 0;\n /* 2 */ }\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n overflow: auto; }\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n font-weight: bold; }\n\n/* Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n/*------------------------------------* #RESET\n\\*------------------------------------*/\n/**\n * As well as using normalize.css, it is often advantageous to remove all\n * margins from certain elements.\n */\nbody,\nh1, h2, h3, h4, h5, h6,\np, blockquote, pre,\ndl, dd, ol, ul,\nform, fieldset, legend,\nfigure,\ntable, th, td, caption,\nhr {\n margin: 0;\n padding: 0; }\n\n/**\n * Give a help cursor to elements that give extra info on `:hover`.\n */\nabbr[title],\ndfn[title] {\n cursor: help; }\n\n/**\n * Remove underlines from potentially troublesome elements.\n */\nu,\nins {\n text-decoration: none; }\n\n/**\n * Apply faux underlines to inserted text via `border-bottom`.\n */\nins {\n border-bottom: 1px solid; }\n\n/*------------------------------------* #BOX-SIZING\n\\*------------------------------------*/\n/**\n * Set the global `box-sizing` state to `border-box`.\n *\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n * paulirish.com/2012/box-sizing-border-box-ftw\n */\nhtml {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\n*, *:before, *:after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit; }\n\n/*------------------------------------* #PAGE\n\\*------------------------------------*/\n/**\n * High-, page-level styling.\n *\n * 1. Set the default `font-size` and `line-height` for the entire project,\n * sourced from our default variables. The `font-size` is calculated to exist\n * in ems, the `line-height` is calculated to exist unitlessly.\n * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when\n * navigating between pages that do/do not have enough content to produce\n * scrollbars naturally.\n * 3. Ensure the page always fills at least the entire height of the viewport.\n * 4. Prevent certain mobile browsers from automatically zooming fonts.\n * 5. Fonts on OSX will look more consistent with other systems that do not\n * render text using sub-pixel anti-aliasing.\n */\nhtml {\n font-size: 1em;\n /* [1] */\n line-height: 1.5;\n /* [1] */\n background-color: #fff;\n color: #333;\n overflow-y: scroll;\n /* [2] */\n min-height: 100%;\n /* [3] */\n -webkit-text-size-adjust: 100%;\n /* [4] */\n -ms-text-size-adjust: 100%;\n /* [4] */\n -moz-osx-font-smoothing: grayscale;\n /* [5] */\n -webkit-font-smoothing: antialiased;\n /* [5] */ }\n\nth {\n font-weight: inherit;\n text-align: left; }\n\n@keyframes fade-in {\n 0% {\n opacity: 0; }\n 100% {\n opacity: 1; } }\n\n@keyframes fade-out {\n 0% {\n opacity: 1; }\n 100% {\n opacity: 0; } }\n\n.textbox,\n.button {\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n outline: none; }\n\n.textbox {\n background: rgba(233, 238, 242, 0.3);\n border-radius: 4px;\n border: 1px solid #e9eef2;\n color: #53718a;\n display: block;\n font-size: 0.9em;\n padding: 10px 15px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%; }\n .textbox::placeholder {\n color: #abbac7;\n font-style: italic;\n transition: color 0.25s; }\n .textbox:focus {\n background: rgba(233, 238, 242, 0.3);\n border-color: #e9eef2;\n color: #258de5; }\n .textbox:focus::placeholder {\n color: #abbac7; }\n\n.button {\n background: transparent;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 0.9em;\n font-weight: 400;\n padding: 8px 22px;\n transition: background 0.25s; }\n .button--deemphasize {\n background: #e9eef2;\n color: #66717a; }\n .button--deemphasize:hover {\n background: #d9e2e9;\n color: #5a646c; }\n .button--primary {\n background: #258de5;\n color: #fff;\n white-space: nowrap; }\n .button--primary:hover {\n background: #1a80d7; }\n\n.form__label {\n color: #53718a;\n display: block;\n margin-bottom: 0.1em; }\n\n.form__row + .form__row {\n margin-top: 20px; }\n\nhtml,\nbody {\n height: 100%;\n overflow: hidden; }\n\n.container {\n height: 100%;\n width: 100%; }\n\n.flood {\n align-items: stretch;\n display: flex;\n height: 100%; }\n\n.sidebar {\n flex: 1;\n min-width: 200px;\n max-width: 240px; }\n\n.application__content {\n display: flex;\n height: 100vh;\n flex: 1 2 auto;\n flex-direction: column;\n position: relative; }\n\n.application__panel {\n display: flex;\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0; }\n .application__panel--torrent-list {\n transition: transform 0.5s;\n z-index: 2; }\n .application__panel--torrent-list.is-open {\n transform: translateX(85%); }\n .application__panel--torrent-details {\n right: 15%;\n width: 85%;\n z-index: 1; }\n\n.torrent__header {\n flex: 1;\n min-height: 35px;\n max-height: 35px; }\n\n.torrent__list__wrapper {\n flex: 1; }\n\n.view--torrent-list {\n background: #e9eef2;\n box-shadow: -1px 0 rgba(26, 47, 61, 0.15);\n display: flex;\n flex-direction: column;\n flex: 1;\n flex: 0 1 100%; }\n\nbody {\n background: #1a2f3d; }\n\nul {\n list-style: none; }\n\nbody {\n color: #53718a;\n font-family: \"Roboto\", sans-srif; }\n\n.unit {\n display: inline-block;\n font-size: 0.8em;\n font-style: normal;\n margin-bottom: 0.1em;\n opacity: 0.8; }\n\n.text-overflow {\n overflow: hidden;\n position: relative;\n text-overflow: ellipsis; }\n\n.actions {\n list-style: none; }\n\n.action {\n box-shadow: 1px 0 transparent, -1px 0 transparent;\n cursor: pointer;\n display: inline-block;\n height: 60px;\n position: relative;\n width: 60px;\n text-align: center;\n transition: background 0.25s, box-shadow 0.25s; }\n .action:hover {\n background: rgba(51, 62, 74, 0.05);\n box-shadow: 1px 0 rgba(51, 62, 74, 0.15), -1px 0 rgba(51, 62, 74, 0.15); }\n .action:hover .icon {\n fill: #258de5; }\n .action__label {\n display: block;\n position: absolute;\n top: 100%;\n visibility: hidden; }\n .action .icon {\n fill: #909799;\n height: 25px;\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translateX(-50%) translateY(-50%);\n width: 30px; }\n\n.action-bar {\n background: transparent;\n color: #1b1a1c;\n display: flex;\n position: relative; }\n .action-bar:after {\n background: rgba(26, 47, 61, 0.15);\n bottom: 0;\n content: '';\n height: 1px;\n left: 9px;\n position: absolute;\n right: 0;\n width: auto; }\n .action-bar__item {\n flex: 3; }\n .action-bar__item:first-child {\n text-align: left; }\n .action-bar__item:last-child {\n text-align: right; }\n .action-bar__group {\n display: inline-block;\n font-size: 0;\n padding: 0 15px; }\n .action-bar__group--has-divider {\n position: relative; }\n .action-bar__group--has-divider:before {\n background: rgba(122, 128, 128, 0.15);\n content: '';\n position: absolute;\n height: 80%;\n left: 0;\n top: 10%;\n width: 1px; }\n\n.action-bar__item--sort-torrents {\n max-width: 225px; }\n .action-bar__item--sort-torrents .dropdown {\n margin: 5px 0 0 15px; }\n .action-bar__item--sort-torrents .dropdown__content {\n min-width: 250px; }\n\n.action-bar__item--torrent-operations .dropdown {\n display: inline-block;\n height: 60px; }\n .action-bar__item--torrent-operations .dropdown__content {\n min-width: 430px;\n right: 4px; }\n\n.client-stat {\n display: flex;\n padding: 30px 20px 20px 20px; }\n .client-stat__icon, .client-stat__data {\n position: relative;\n vertical-align: top;\n z-index: 1; }\n .client-stat__icon {\n flex: 0 0 23px; }\n .client-stat__icon .icon {\n display: inline-block;\n height: 25px;\n margin: 6px 0 0 -5px;\n width: auto; }\n .client-stat__data {\n flex: 1; }\n .client-stat__data--primary, .client-stat__data--secondary {\n display: block;\n font-weight: 100;\n line-height: 1.2; }\n .client-stat__data--primary {\n font-size: 1.75em;\n white-space: nowrap; }\n .client-stat__data--primary .unit {\n font-size: 0.65em;\n margin-bottom: 0;\n opacity: 0.5;\n position: relative;\n top: -0.1em; }\n .client-stat__data--secondary {\n font-size: 0.8em;\n font-style: italic;\n font-weight: 400; }\n\n.client-stat--limits {\n background: none;\n border: none;\n color: #53718a;\n display: block;\n outline: none;\n padding: 10px 15px;\n font-size: 0.85em;\n text-align: left;\n transition: color 0.25s;\n vertical-align: middle;\n width: 100%; }\n .client-stat--limits .icon {\n display: inline-block;\n fill: #53718a;\n margin: -2px 5px 0 0;\n transition: fill 0.25s;\n vertical-align: middle;\n width: 14.5px; }\n .client-stat--limits .icon .limits__bars--top {\n opacity: 0.4; }\n .client-stat--limits .icon .limits__bars--bottom {\n opacity: 0.6; }\n .client-stat--limits:hover {\n color: #258de5; }\n .client-stat--limits:hover .icon {\n fill: #258de5; }\n\n.client-stat {\n position: relative; }\n .client-stat .graph {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 0; }\n .client-stat .graph svg {\n height: 100%;\n width: 100%; }\n .client-stat .graph__line {\n fill: none; }\n .client-stat .graph__line--limit {\n stroke-dasharray: 3px 4px;\n stroke-width: 1px; }\n .client-stat .graph__line--rate {\n stroke-width: 1.1px; }\n .client-stat--download .icon {\n fill: rgba(43, 174, 108, 0.75); }\n .client-stat--download .client-stat__data--primary {\n color: #2bae6c; }\n .client-stat--download .client-stat__data--secondary {\n color: rgba(43, 174, 108, 0.75); }\n .client-stat--download .graph .graph--download--gradient--top {\n stop-color: rgba(43, 174, 108, 0.2); }\n .client-stat--download .graph .graph--download--gradient--bottom {\n stop-color: rgba(43, 174, 108, 0); }\n .client-stat--download .graph__area {\n fill: url(\"#graph--download--gradient\"); }\n .client-stat--download .graph__line--limit {\n stroke: rgba(102, 217, 159, 0.15); }\n .client-stat--download .graph__line--rate {\n stroke: rgba(43, 174, 108, 0.4); }\n .client-stat--upload .icon {\n fill: rgba(35, 135, 217, 0.75); }\n .client-stat--upload .client-stat__data--primary {\n color: #2387d9; }\n .client-stat--upload .client-stat__data--secondary {\n color: rgba(35, 135, 217, 0.75); }\n .client-stat--upload .graph .graph--upload--gradient--top {\n stop-color: rgba(35, 135, 217, 0.2); }\n .client-stat--upload .graph .graph--upload--gradient--bottom {\n stop-color: rgba(35, 135, 217, 0); }\n .client-stat--upload .graph__area {\n fill: url(\"#graph--upload--gradient\"); }\n .client-stat--upload .graph__line--limit {\n stroke: rgba(121, 183, 233, 0.15); }\n .client-stat--upload .graph__line--rate {\n stroke: rgba(35, 135, 217, 0.4); }\n\n.application__content {\n background: #e9eef2; }\n\n.directory-tree .icon {\n display: inline-block;\n height: 14px;\n margin-right: 5px;\n vertical-align: top;\n width: 14px; }\n\n.directory-tree__node {\n line-height: 1.75;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .directory-tree__node--directory {\n color: #7793a7;\n cursor: pointer;\n font-weight: 500;\n transition: color 0.125s; }\n .directory-tree__node--directory:active {\n color: #a5b8c5; }\n .directory-tree__node--directory .icon {\n fill: #3c5465;\n position: relative; }\n .directory-tree__node--file {\n color: #567285;\n line-height: 1.5; }\n .directory-tree__node--file .icon {\n fill: #344b5b; }\n .directory-tree__node--file-list {\n margin-bottom: 3px; }\n\n.directory-tree__parent-directory {\n color: #375468;\n font-size: 0.85em; }\n .directory-tree__parent-directory .icon {\n fill: #375468;\n opacity: 0.75; }\n\n.directory-tree__tree {\n padding-left: 1px; }\n .directory-tree__tree .directory-tree__tree {\n padding-left: 3px; }\n\n.dropdown {\n display: inline-block;\n outline: none;\n position: relative;\n z-index: 2; }\n .dropdown__button, .dropdown__trigger {\n cursor: pointer; }\n .dropdown__button {\n display: block;\n padding: 12px 15px 7px 15px;\n text-align: left;\n width: auto;\n word-wrap: none; }\n .dropdown__content {\n background: rgba(255, 255, 255, 0.98);\n border-radius: 3px;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.1), 0 0 35px rgba(26, 47, 61, 0.3);\n color: #95a2ad;\n left: 0;\n position: absolute;\n text-align: left;\n top: 0;\n z-index: 2; }\n .dropdown.is-expanded .dropdown__header .dropdown__value {\n color: #4e6a7c; }\n .dropdown__label {\n color: #abbac7;\n display: block;\n font-size: 0.65em;\n font-weight: 500;\n letter-spacing: 0.1em;\n line-height: 0.9em;\n text-transform: uppercase; }\n .dropdown__button .dropdown__label {\n cursor: pointer; }\n .dropdown__value {\n color: #8899a8;\n transition: color 0.25s; }\n .dropdown__value:after {\n border-top: 5px solid #8899a8;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n content: '';\n display: inline-block;\n margin-left: 10px;\n vertical-align: middle; }\n .dropdown__header {\n position: relative; }\n .dropdown__header:after {\n background: rgba(26, 47, 61, 0.05);\n bottom: 0;\n content: '';\n display: block;\n height: 1px;\n left: 5%;\n position: absolute;\n width: 90%; }\n .dropdown__items {\n display: flex;\n padding: 10px 0; }\n .dropdown__list {\n flex: 1; }\n .dropdown__item {\n padding: 5px 15px; }\n .dropdown__item.is-selectable {\n cursor: pointer;\n display: block;\n font-size: 0.9em;\n transition: background 0.25s, color 0.25s; }\n .dropdown__item.is-selectable:hover {\n background: rgba(233, 238, 242, 0.4);\n color: #788997; }\n .dropdown__item.is-selectable.is-selected {\n color: #258de5; }\n .dropdown--align-right .dropdown {\n left: auto;\n right: 0; }\n\n.dropdown__content-enter {\n animation: fade-in 0.25s both; }\n\n.dropdown__content-leave {\n animation: fade-out 0.25s both; }\n\n.dropdown__content__container {\n padding: 25px 30px; }\n\n.floating-action__button {\n background: #fff;\n border: none;\n border-radius: 16px;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.1);\n cursor: pointer;\n height: 16px;\n outline: none;\n margin-right: 8px;\n padding: 0;\n position: relative;\n transition: background 0.25s, box-shadow 0.25s;\n width: 16px; }\n .floating-action__button:last-child {\n margin-right: 0; }\n .floating-action__button:hover {\n background: #e9eef2;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.2); }\n .floating-action__button:hover .icon {\n fill: rgba(26, 47, 61, 0.5); }\n .floating-action__button .icon {\n height: 8px;\n fill: rgba(26, 47, 61, 0.3);\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translate(-50%, -50%);\n width: 8px; }\n\n.sidebar {\n box-shadow: 1px 0 rgba(6, 9, 11, 0.3);\n color: #53718a;\n position: relative;\n z-index: 2; }\n .sidebar__item--search {\n position: relative; }\n .sidebar__item--search .icon {\n fill: #53718a;\n height: 22px;\n left: 17px;\n opacity: 0.5;\n position: absolute;\n top: 50%;\n transition: fill 0.25s, opacity 0.25s;\n transform: translateY(-50%);\n width: 22px; }\n .sidebar__item--search .textbox {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border: 1px solid rgba(9, 24, 36, 0.4);\n border-left: none;\n border-right: none;\n border-radius: 0;\n background: rgba(9, 24, 36, 0.3);\n box-shadow: none;\n color: #53718a;\n display: block;\n font-size: 1em;\n outline: none;\n padding: 12px 0 12px 45px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%; }\n .sidebar__item--search .textbox::placeholder {\n color: rgba(83, 113, 138, 0.4);\n font-style: italic;\n transition: color 0.25s; }\n .sidebar__item--search.is-in-use .icon {\n fill: #2c9e65;\n opacity: 1; }\n .sidebar__item--search.is-in-use .textbox {\n background: #39ce83;\n border-bottom: 1px solid #39ce83;\n border-top: 1px solid #39ce83;\n color: #1e8954; }\n .sidebar__item--search.is-in-use .textbox::placeholder {\n color: #2cad6d; }\n .sidebar__item--speed-limit {\n padding-left: 5px;\n padding-top: 5px; }\n .sidebar__item--speed-limit .dropdown__content {\n min-width: 180px; }\n .sidebar__item--speed-limit .dropdown__items {\n font-size: 0.9em; }\n\n.modal {\n background: rgba(26, 47, 61, 0.5);\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n transition: opacity 0.5s;\n width: 100%;\n z-index: 100; }\n .modal__content {\n background: #fff;\n border-radius: 5px;\n box-shadow: 0 0 0 1px rgba(26, 47, 61, 0.1), 0 0 35px rgba(26, 47, 61, 0.3);\n left: 50%;\n max-height: 80%;\n max-width: 80%;\n overflow: auto;\n padding: 30px;\n position: absolute;\n top: 10%;\n transform: translate(-50%, 0);\n width: 500px; }\n\n.modal__button-group {\n text-align: right; }\n .modal__button-group .button + .button {\n margin-left: 20px; }\n\n.modal__header {\n color: #313436;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px; }\n\n.modal__animation-enter {\n opacity: 0; }\n\n.modal__animation-enter-active {\n opacity: 1; }\n\n.modal__animation-leave {\n opacity: 1;\n pointer-events: none; }\n\n.modal__animation-leave-active {\n opacity: 0; }\n\n.progress-bar {\n height: 3px;\n position: relative;\n transition: opacity 0.25s;\n z-index: 1; }\n .is-selected.is-stopped .progress-bar {\n opacity: 0.5; }\n .progress-bar:after {\n background: #e3e5e5;\n content: '';\n height: 1px;\n left: 0;\n position: absolute;\n z-index: 0;\n top: 1px;\n transition: background 0.25s;\n width: 100%; }\n .is-selected .progress-bar:after {\n background: rgba(255, 255, 255, 0.5); }\n .is-selected.is-stopped .progress-bar:after {\n background: rgba(255, 255, 255, 0.5); }\n .progress-bar__fill {\n background: #39ce83;\n bottom: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n transition: background 0.25s, width 0.25s;\n z-index: 1; }\n .is-completed .progress-bar__fill {\n background: #258de5; }\n .is-seeding .progress-bar__fill {\n background: #258de5; }\n .is-stopped .progress-bar__fill {\n background: #e3e5e5; }\n .is-selected .progress-bar__fill {\n background: #fff; }\n\n.status-filter {\n font-size: 0.85em;\n padding: 30px 0; }\n .status-filter__item {\n color: #53718a;\n cursor: pointer;\n padding: 3px 20px;\n transition: color 0.25s; }\n .status-filter__item:hover {\n color: #7a97af; }\n .status-filter__item:hover .icon {\n fill: #7a97af; }\n .status-filter__item.is-active {\n color: #258de5;\n font-weight: 700; }\n .status-filter__item.is-active .icon {\n fill: #258de5; }\n .status-filter__item .icon {\n display: inline-block;\n fill: #53718a;\n height: 14px;\n margin-right: 7px;\n transition: fill 0.25s;\n vertical-align: middle;\n width: auto; }\n\n.status-filter__item--heading {\n cursor: default;\n font-size: 0.8em;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n .status-filter__item--heading, .status-filter__item--heading:hover {\n color: rgba(83, 113, 138, 0.5); }\n\n.textbox-repeater .floating-action__group {\n margin-top: -8px;\n position: absolute;\n right: -8px;\n top: 50%; }\n\n.textbox-repeater .floating-action__button {\n position: relative; }\n\n.textbox-repeater .textbox__wrapper {\n position: relative; }\n\n.application__panel--torrent-details {\n background: #162835; }\n\n.torrent-details {\n background: #162835;\n bottom: 0;\n box-shadow: -1px 0 0 rgba(26, 47, 61, 0.1);\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n padding: 25px;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 1s;\n z-index: 2; }\n .torrent-details__section {\n margin-bottom: 25px; }\n .torrent-details__transfer-data {\n font-weight: 500; }\n .torrent-details__transfer-data .transfer-data {\n display: inline-block;\n margin-right: 10px; }\n .torrent-details__transfer-data .transfer-data:last-child {\n margin-right: 0; }\n .torrent-details__transfer-data .icon {\n height: 12px;\n width: 12px; }\n .torrent-details__table {\n width: 100%; }\n .torrent-details__table__heading {\n color: #c0cad3;\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n .torrent-details__table__heading th {\n font-weight: 500; }\n .torrent-details__table__heading__count {\n color: #778c9e;\n display: inline-block;\n margin-left: 5px; }\n\n.torrent-details-enter {\n opacity: 0; }\n\n.torrent-details-enter-active {\n opacity: 1; }\n\n.torrent-details-leave {\n opacity: 0;\n transition: opacity 0.5s; }\n\n.torrents {\n display: flex;\n flex: 1 1 100px;\n position: relative; }\n .torrents:after {\n background: #fff;\n bottom: 0;\n box-shadow: -1px 0 0 0 rgba(26, 47, 61, 0.15);\n content: '';\n height: auto;\n left: 10px;\n position: absolute;\n right: 0;\n top: 0; }\n\n.torrent__list {\n margin: 0 0 0 10px;\n padding: 10px 0;\n position: relative; }\n .torrent__list__wrapper {\n list-style: none;\n max-width: 100%;\n opacity: 1;\n overflow: auto;\n position: relative;\n transition: max-width 0.5s, opacity 1s;\n user-select: none;\n z-index: 1; }\n .torrent__list--empty {\n opacity: 0; }\n\n.torrent {\n cursor: default;\n padding: 10px 20px;\n position: relative;\n transition: background 0.25s; }\n .torrent:hover {\n background: #f6f8fa; }\n .torrent:hover .torrent__more-info {\n opacity: 1; }\n .torrent.is-selected {\n background: #258de5; }\n .torrent__more-info {\n height: 20px;\n margin-top: -10px;\n position: absolute;\n left: -7px;\n opacity: 0;\n top: 50%;\n transition: background 0.25s, box-shadow 0.25s, opacity 0.25s;\n width: 20px; }\n\n.torrent__details {\n align-items: center;\n display: flex;\n flex: 1;\n flex-flow: row wrap;\n list-style: none; }\n .torrent__details--primary, .torrent__details--secondary, .torrent__details--tertiary {\n transition: color 0.25s; }\n .torrent__details--primary {\n color: #333332;\n flex: 4;\n line-height: 1.3;\n white-space: nowrap; }\n .is-stopped .torrent__details--primary {\n color: rgba(51, 51, 50, 0.5); }\n .is-selected .torrent__details--primary {\n color: #fff; }\n .is-selected.is-stopped .torrent__details--primary {\n color: rgba(255, 255, 255, 0.6); }\n .torrent__details--secondary {\n align-items: flex-end;\n color: #807f7e;\n flex: 1;\n font-size: 0.75em;\n min-width: 200px; }\n .torrent__details--secondary li {\n flex: 1 1 auto;\n min-width: 15%; }\n .torrent__details--secondary li.torrent__details--ratio {\n max-width: 30px; }\n .is-stopped .torrent__details--secondary {\n color: rgba(128, 127, 126, 0.5); }\n .is-selected .torrent__details--secondary {\n color: #fff; }\n .is-selected.is-stopped .torrent__details--secondary {\n color: rgba(255, 255, 255, 0.6); }\n .torrent__details--tertiary {\n color: #807f7e;\n display: block;\n font-size: 0.75em;\n margin: 0 0 3px 0; }\n .torrent__details--tertiary li {\n display: inline-block;\n margin-right: 1em; }\n .torrent__details--tertiary li:last-child {\n margin-right: 0; }\n .is-stopped .torrent__details--tertiary {\n color: rgba(128, 127, 126, 0.5); }\n .is-selected .torrent__details--tertiary {\n color: rgba(255, 255, 255, 0.9); }\n .is-selected.is-stopped .torrent__details--tertiary {\n color: rgba(255, 255, 255, 0.5); }\n .torrent__details__label {\n margin-right: 0.5em;\n opacity: 0.5; }\n\n.torrent__details--eta {\n opacity: 0;\n transition: opacity 1s, visibility 1s;\n visibility: hidden; }\n .torrent__details--eta .torrent__details--segment {\n margin-right: 0.25em; }\n .torrent__details--eta .torrent__details--segment:last-child {\n margin-right: 0; }\n .is-actively-downloading .torrent__details--eta {\n opacity: 1;\n visibility: visible; }\n\n.transfer-data--download {\n color: #39ce83; }\n .transfer-data--download .icon {\n fill: #39ce83; }\n\n.transfer-data--upload {\n color: #258de5; }\n .transfer-data--upload .icon {\n fill: #258de5; }\n","/*!\n * inuitcss, by @csswizardry\n *\n * github.com/inuitcss | inuitcss.com\n */\n///*------------------------------------*\\\n// #DEFAULTS\n//\\*------------------------------------*/\n\n// These variables are inuitcss’ defaults; they should not be modified or\n// adjusted directly; you should predefine the variables in your own project.\n\n\n\n\n\n// High-level base settings.\n$inuit-base-font-size: 16px !default;\n$inuit-base-line-height: 24px !default;\n$inuit-base-text-color: #333 !default;\n$inuit-base-background-color: #fff !default;\n\n\n\n\n\n// Namespace.\n//\n// Would you like inuitcss’ classes to be prepended with a namespace? If so,\n// define it here.\n$inuit-namespace: null !default;\n\n\n\n\n\n// These variables are framework variables, sourced from variables defined\n// above. Feel free to use these variables throughout your project, but do not\n// modify or reassign them.\n$inuit-base-spacing-unit: $inuit-base-line-height;\n$inuit-base-spacing-unit--tiny: round($inuit-base-spacing-unit / 4);\n$inuit-base-spacing-unit--small: round($inuit-base-spacing-unit / 2);\n$inuit-base-spacing-unit--large: round($inuit-base-spacing-unit * 2);\n$inuit-base-spacing-unit--huge: round($inuit-base-spacing-unit * 4);\n","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n * without disabling user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@import 'colors';\n@import url(http://fonts.googleapis.com/css?family=Roboto:400italic,700italic,300,700,300italic,400);\n\n$font: 'Roboto', sans-srif;\n\n$spacing-unit: 25px;\n$torrent-details--width: 85%;\n","@import url('http://fonts.googleapis.com/css?family=Roboto:500,400italic,300,700,400');\n\nbody {\n color: $foreground;\n font-family: $font;\n}\n\n.unit {\n display: inline-block;\n font-size: 0.8em;\n font-style: normal;\n margin-bottom: 0.1em;\n opacity: 0.8;\n}\n\n.text-overflow {\n overflow: hidden;\n position: relative;\n text-overflow: ellipsis;\n}\n","/*------------------------------------*\\\n #RESET\n\\*------------------------------------*/\n\n/**\n * As well as using normalize.css, it is often advantageous to remove all\n * margins from certain elements.\n */\nbody,\nh1, h2, h3, h4, h5, h6,\np, blockquote, pre,\ndl, dd, ol, ul,\nform, fieldset, legend,\nfigure,\ntable, th, td, caption,\nhr {\n margin: 0;\n padding: 0;\n}\n\n\n\n\n\n/**\n * Give a help cursor to elements that give extra info on `:hover`.\n */\nabbr[title],\ndfn[title] {\n cursor: help;\n}\n\n\n\n\n\n/**\n * Remove underlines from potentially troublesome elements.\n */\nu,\nins {\n text-decoration: none;\n}\n\n\n\n\n\n/**\n * Apply faux underlines to inserted text via `border-bottom`.\n */\nins {\n border-bottom: 1px solid;\n}\n","/*------------------------------------*\\\n #BOX-SIZING\n\\*------------------------------------*/\n\n/**\n * Set the global `box-sizing` state to `border-box`.\n *\n * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice\n * paulirish.com/2012/box-sizing-border-box-ftw\n */\nhtml {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n* {\n\n &,\n &:before,\n &:after {\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n box-sizing: inherit;\n }\n\n}\n\n\n\n\n\n// If we have included this file, set a variable to tell the rest of the\n// framework that global `box-sizing: border-box` has been set.\n$inuit-global-border-box: true;\n","/*------------------------------------*\\\n #PAGE\n\\*------------------------------------*/\n\n/**\n * High-, page-level styling.\n *\n * 1. Set the default `font-size` and `line-height` for the entire project,\n * sourced from our default variables. The `font-size` is calculated to exist\n * in ems, the `line-height` is calculated to exist unitlessly.\n * 2. Force scrollbars to always be visible to prevent awkward ‘jumps’ when\n * navigating between pages that do/do not have enough content to produce\n * scrollbars naturally.\n * 3. Ensure the page always fills at least the entire height of the viewport.\n * 4. Prevent certain mobile browsers from automatically zooming fonts.\n * 5. Fonts on OSX will look more consistent with other systems that do not\n * render text using sub-pixel anti-aliasing.\n */\nhtml {\n font-size: ($inuit-base-font-size / 16px) * 1em; /* [1] */\n line-height: $inuit-base-line-height / $inuit-base-font-size; /* [1] */\n background-color: $inuit-base-background-color;\n color: $inuit-base-text-color;\n overflow-y: scroll; /* [2] */\n min-height: 100%; /* [3] */\n -webkit-text-size-adjust: 100%; /* [4] */\n -ms-text-size-adjust: 100%; /* [4] */\n -moz-osx-font-smoothing: grayscale; /* [5] */\n -webkit-font-smoothing: antialiased; /* [5] */\n}\n","th {\n font-weight: inherit;\n text-align: left;\n}\n","@keyframes fade-in {\n\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n\n}\n\n@keyframes fade-out {\n\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n\n}\n",".textbox,\n.button {\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n outline: none;\n}\n\n.textbox {\n background: $textbox--background;\n border-radius: 4px;\n border: 1px solid $textbox--border;\n color: $textbox--foreground;\n display: block;\n font-size: 0.9em;\n padding: 10px 15px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%;\n\n &::placeholder {\n color: $textbox--placeholder;\n font-style: italic;\n transition: color 0.25s;\n }\n\n &:focus {\n background: $textbox--active--background;\n border-color: $textbox--active--border;\n color: $textbox--active--foreground;\n\n &::placeholder {\n color: $textbox--active--placeholder;\n }\n }\n\n}\n\n.button {\n background: transparent;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 0.9em;\n font-weight: 400;\n padding: 8px 22px;\n transition: background 0.25s;\n\n &--deemphasize {\n background: $button--deemphasized--background;\n color: $button--deemphasized--foreground;\n\n &:hover {\n background: $button--deemphasized--background--hover;\n color: $button--deemphasized--foreground--hover;\n }\n }\n\n &--primary {\n background: $button--primary--background;\n color: $button--primary--foreground;\n white-space: nowrap;\n\n &:hover {\n background: $button--primary--background--hover;\n }\n }\n\n}\n\n.form {\n\n &__label {\n color: $form--label--foreground;\n display: block;\n margin-bottom: 0.1em;\n }\n\n &__row {\n\n & + .form__row {\n margin-top: 20px;\n }\n }\n\n}\n","$blue: #258de5;\n$green: #39ce83;\n\n$background: #1a2f3d;\n$foreground: #53718a;\n\n$main-content--background: #e9eef2;\n\n$header--foreground: #313436;\n\n// form elements\n$form--label--foreground: #53718a;\n\n$textbox--background: rgba($main-content--background, 0.3);\n$textbox--foreground: $foreground;\n$textbox--placeholder: #abbac7;\n$textbox--border: $main-content--background;\n$textbox--active--background: $textbox--background;\n$textbox--active--border: $main-content--background;\n$textbox--active--foreground: $blue;\n$textbox--active--placeholder: $textbox--placeholder;\n\n$textbox-repeater--button--background: #fff;\n$textbox-repeater--button--background--hover: $main-content--background;\n$textbox-repeater--button--border: rgba($background, 0.1);\n$textbox-repeater--button--border--hover: rgba($background, 0.2);\n$textbox-repeater--button--foreground: rgba($background, 0.3);\n$textbox-repeater--button--foreground--hover: rgba($background, 0.5);\n\n$button--primary--foreground: #fff;\n$button--primary--background: $blue;\n$button--primary--background--hover: darken($button--primary--background, 5%);\n$button--deemphasized--foreground: #66717a;\n$button--deemphasized--background: $main-content--background;\n$button--deemphasized--foreground--hover: darken($button--deemphasized--foreground, 5%);\n$button--deemphasized--background--hover: darken($button--deemphasized--background, 5%);\n\n// action bar\n$action-bar--background: transparent;\n$action-bar--foreground: #1b1a1c;\n$action-bar--group--border: rgba(#7a8080, 0.15);\n\n$action--foreground: #909799;\n$action--foreground--hover: $blue;\n$action--background--hover: rgba(#333e4a, 0.05);\n$action--border--hover: rgba(#333e4a, 0.15);\n\n// filter bar\n$sidebar--foreground: #53718a;\n$sidebar--border: rgba(darken($sidebar--foreground, 40%), 0.3);\n\n$client-stats--limits--opacity: 0.15;\n$client-stats--speed--fill--top--opacity: 0.2;\n$client-stats--speed--fill--bottom--opacity: 0;\n$client-stats--speed--stroke--opacity: 0.4;\n\n$client-stats--download--primary--foreground: #2bae6c;\n$client-stats--download--secondary--foreground: rgba($client-stats--download--primary--foreground, 0.75);\n$client-stats--download--graph--stroke: rgba(#2bae6c, $client-stats--speed--stroke--opacity);\n$client-stats--download--graph--fill--top: rgba(#2bae6c, $client-stats--speed--fill--top--opacity);\n$client-stats--download--graph--fill--bottom: rgba(#2bae6c, $client-stats--speed--fill--bottom--opacity);\n$client-stats--download--limits--line: rgba(lighten($client-stats--download--primary--foreground, 20%), $client-stats--limits--opacity);\n\n$client-stats--upload--primary--foreground: #2387d9;\n$client-stats--upload--secondary--foreground: rgba($client-stats--upload--primary--foreground, 0.75);\n$client-stats--upload--graph--stroke: rgba(#2387d9, $client-stats--speed--stroke--opacity);\n$client-stats--upload--graph--fill--top: rgba(#2387d9, $client-stats--speed--fill--top--opacity);\n$client-stats--upload--graph--fill--bottom: rgba(#2387d9, $client-stats--speed--fill--bottom--opacity);\n$client-stats--upload--limits--line: rgba(lighten($client-stats--upload--primary--foreground, 20%), $client-stats--limits--opacity);\n\n$client-stats--limits--foreground: $foreground;\n$client-stats--limits--icon--hover: $blue;\n\n$search-torrents--base: #091824;\n$search-torrents--background: rgba($search-torrents--base, 0.3);\n$search-torrents--background--active: $green;\n$search-torrents--border: rgba($search-torrents--background, 0.4);\n$search-torrents--border--active: $search-torrents--background--active;\n$search-torrents--foreground: $sidebar--foreground;\n$search-torrents--foreground--active: #1e8954;\n$search-torrents--placeholder: rgba($sidebar--foreground, 0.4);\n$search-torrents--placeholder--active: #2cad6d;\n\n$search-torrents--icon--foreground: $sidebar--foreground;\n$search-torrents--icon--foreground--active: #2c9e65;\n\n$status-filter--foreground: $sidebar--foreground;\n$status-filter--foreground--header: rgba($status-filter--foreground, 0.5);\n$status-filter--foreground--active: $blue;\n$status-filter--foreground--hover: lighten($status-filter--foreground, 15%);\n\n// torrents list\n$torrent-list--background: #fff;\n$torrent-list--border: rgba($background, 0.15);\n\n$torrent--primary--foreground: #333332;\n$torrent--primary--foreground--stopped: rgba(#333332, 0.5);\n$torrent--primary--foreground--selected: #fff;\n$torrent--primary--foreground--selected--stopped: rgba($torrent--primary--foreground--selected, 0.6);\n$torrent--secondary--foreground: #807f7e;\n$torrent--secondary--foreground--stopped: rgba(#807f7e, 0.5);\n$torrent--secondary--foreground--selected: #fff;\n$torrent--secondary--foreground--selected--stopped: rgba(#fff, 0.6);\n$torrent--tertiary--foreground: #807f7e;\n$torrent--tertiary--foreground--stopped: rgba(#807f7e, 0.5);\n$torrent--tertiary--foreground--selected: rgba(#fff, 0.9);\n$torrent--tertiary--foreground--selected--stopped: rgba(#fff, 0.5);\n\n$torrent--background--hover: #f6f8fa;\n$torrent--background--selected: $blue;\n\n$progress-bar--background: #e3e5e5;\n$progress-bar--background--selected: rgba(#fff, 0.5);\n$progress-bar--background--selected--stopped: rgba(#fff, 0.5);\n$progress-bar--fill: $green;\n\n$progress-bar--fill--stopped: #e3e5e5;\n$progress-bar--fill--completed: $blue;\n$progress-bar--fill--selected: #fff;\n\n// torrent details\n$torrent-details--background: #162835;\n$torrent-details--border: rgba($background, 0.1);\n\n$torrent-details--directory-tree--directory: #375468;\n$torrent-details--directory-tree--icon-fill: #375468;\n\n$torrent-details--table--header: #c0cad3;\n$torrent-details--table--header--count: #778c9e;\n\n// tansfer data\n$transfer-data--download: $green;\n$transfer-data--upload: $blue;\n\n// dropdown menu\n$dropdown--background: rgba(#fff, 0.98);;\n$dropdown--foreground: #95a2ad;\n$dropdown--container--border: rgba($background, 0.1);\n$dropdown--container--shadow: rgba($background, 0.3);\n$dropdown--label: #abbac7;\n$dropdown--value: #8899a8;\n$dropdown--value--active: #4e6a7c;\n$dropdown--header--border: rgba($background, 0.05);\n$dropdown--item--background--hover: rgba($main-content--background, 0.4);\n$dropdown--item--foreground--hover: darken($dropdown--foreground, 10%);\n$dropdown--item--foreground--active: $blue;\n\n// modal windows\n$modal--background: #fff;\n$modal--overlay: rgba($background, 0.5);\n$modal--header--foreground: $header--foreground;\n$modal--content--border: rgba($background, 0.1);\n$modal--content--shadow: rgba($background, 0.3);\n\n// directory torrent-details--directory-tree--icon-fill\n$directory-tree--filename--foreground: #567285;\n$directory-tree--directory--foreground: #7793a7;\n$directory-tree--directory--foreground--active: lighten($directory-tree--directory--foreground, 15%);\n\n$directory-tree--icon--file: #344b5b;\n$directory-tree--icon--folder: #3c5465;\n$directory-tree--icon--folder--active: lighten($directory-tree--icon--folder, 15%);\n","html,\nbody {\n height: 100%;\n overflow: hidden;\n}\n\n.container {\n height: 100%;\n width: 100%;\n}\n\n.flood {\n align-items: stretch;\n display: flex;\n height: 100%;\n}\n\n.sidebar {\n flex: 1;\n min-width: 200px;\n max-width: 240px;\n}\n\n.application {\n\n &__content {\n display: flex;\n height: 100vh;\n flex: 1 2 auto;\n flex-direction: column;\n position: relative;\n }\n\n &__panel {\n display: flex;\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n\n &--torrent-list {\n transition: transform 0.5s;\n z-index: 2;\n\n &.is-open {\n transform: translateX($torrent-details--width);\n }\n }\n\n &--torrent-details {\n right: 100% - $torrent-details--width;\n width: $torrent-details--width;\n z-index: 1;\n }\n }\n}\n\n.torrent {\n\n &__header {\n flex: 1;\n min-height: 35px;\n max-height: 35px;\n }\n\n\n &__list {\n\n &__wrapper {\n flex: 1;\n }\n }\n}\n\n.view {\n\n &--torrent-list {\n background: #e9eef2;\n box-shadow: -1px 0 $torrent-list--border;\n display: flex;\n flex-direction: column;\n flex: 1;\n flex: 0 1 100%;\n }\n}\n","body {\n background: $background;\n}\n\nul {\n list-style: none;\n}\n",".actions {\n list-style: none;\n}\n\n.action {\n box-shadow:\n 1px 0 transparent,\n -1px 0 transparent;\n cursor: pointer;\n display: inline-block;\n height: 60px;\n position: relative;\n width: 60px;\n text-align: center;\n transition: background 0.25s, box-shadow 0.25s;\n\n &:hover {\n background: $action--background--hover;\n box-shadow:\n 1px 0 $action--border--hover,\n -1px 0 $action--border--hover;\n\n .icon {\n fill: $action--foreground--hover;\n }\n }\n\n &__label {\n display: block;\n position: absolute;\n top: 100%;\n visibility: hidden;\n }\n\n .icon {\n fill: $action--foreground;\n height: 25px;\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translateX(-50%) translateY(-50%);\n width: 30px;\n }\n}\n\n.action-bar {\n background: $action-bar--background;\n color: $action-bar--foreground;\n display: flex;\n position: relative;\n\n &:after {\n background: $torrent-list--border;\n bottom: 0;\n content: '';\n height: 1px;\n left: 9px;\n position: absolute;\n right: 0;\n width: auto;\n }\n\n &__item {\n flex: 3;\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n }\n\n &__group {\n display: inline-block;\n font-size: 0;\n padding: 0 15px;\n\n &--has-divider {\n position: relative;\n\n &:before {\n background: $action-bar--group--border;\n content: '';\n position: absolute;\n height: 80%;\n left: 0;\n top: 10%;\n width: 1px;\n }\n }\n }\n}\n\n.action-bar {\n\n &__item {\n\n &--sort-torrents {\n max-width: 225px;\n\n .dropdown {\n margin: 5px 0 0 15px;\n\n &__content {\n min-width: 250px;\n }\n }\n }\n }\n}\n\n.action-bar {\n\n &__item {\n\n &--torrent-operations {\n\n .dropdown {\n display: inline-block;\n height: 60px;\n\n &__content {\n min-width: 430px;\n right: 4px;\n }\n }\n }\n }\n}\n",".client-stat {\n display: flex;\n padding: 30px 20px 20px 20px;\n\n &__icon,\n &__data {\n position: relative;\n vertical-align: top;\n z-index: 1;\n }\n\n &__icon {\n flex: 0 0 23px;\n\n .icon {\n display: inline-block;\n height: 25px;\n margin: 6px 0 0 -5px;\n width: auto;\n }\n }\n\n &__data {\n flex: 1;\n\n &--primary,\n &--secondary {\n display: block;\n font-weight: 100;\n line-height: 1.2;\n }\n\n &--primary {\n font-size: 1.75em;\n white-space: nowrap;\n\n .unit {\n font-size: 0.65em;\n margin-bottom: 0;\n opacity: 0.5;\n position: relative;\n top: -0.1em;\n }\n }\n\n &--secondary {\n font-size: 0.8em;\n font-style: italic;\n font-weight: 400;\n }\n }\n}\n\n.client-stat {\n\n &--limits {\n background: none;\n border: none;\n color: $client-stats--limits--foreground;\n display: block;\n outline: none;\n padding: 10px 15px;\n font-size: 0.85em;\n text-align: left;\n transition: color 0.25s;\n vertical-align: middle;\n width: 100%;\n\n .icon {\n display: inline-block;\n fill: $client-stats--limits--foreground;\n margin: -2px 5px 0 0;\n transition: fill 0.25s;\n vertical-align: middle;\n width: 14.5px;\n\n .limits {\n\n &__bars {\n\n &--top {\n opacity: 0.4;\n }\n\n &--bottom {\n opacity: 0.6;\n }\n }\n }\n }\n\n &:hover {\n color: $client-stats--limits--icon--hover;\n\n .icon {\n fill: $client-stats--limits--icon--hover;\n }\n }\n }\n}\n\n.client-stat {\n position: relative;\n\n .graph {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 0;\n\n svg {\n height: 100%;\n width: 100%;\n }\n\n &__line {\n fill: none;\n\n &--limit {\n stroke-dasharray: 3px 4px;\n stroke-width: 1px;\n }\n\n &--rate {\n stroke-width: 1.1px;\n }\n }\n\n }\n\n &--download {\n\n .icon {\n fill: $client-stats--download--secondary--foreground;\n }\n\n .client-stat {\n\n &__data {\n\n &--primary {\n color: $client-stats--download--primary--foreground;\n }\n\n &--secondary {\n color: $client-stats--download--secondary--foreground;\n }\n\n }\n\n }\n\n .graph {\n\n .graph--download--gradient--top {\n stop-color: $client-stats--download--graph--fill--top;\n }\n\n .graph--download--gradient--bottom {\n stop-color: $client-stats--download--graph--fill--bottom;\n }\n\n &__area {\n fill: url('#graph--download--gradient')\n }\n\n &__line {\n\n &--limit {\n stroke: $client-stats--download--limits--line;\n }\n\n &--rate {\n stroke: $client-stats--download--graph--stroke;\n }\n }\n\n }\n\n }\n\n &--upload {\n\n .icon {\n fill: $client-stats--upload--secondary--foreground;\n }\n\n .client-stat {\n\n &__data {\n\n &--primary {\n color: $client-stats--upload--primary--foreground;\n }\n\n &--secondary {\n color: $client-stats--upload--secondary--foreground;\n }\n\n }\n\n }\n\n .graph {\n\n .graph--upload--gradient--top {\n stop-color: $client-stats--upload--graph--fill--top;\n }\n\n .graph--upload--gradient--bottom {\n stop-color: $client-stats--upload--graph--fill--bottom;\n }\n\n &__area {\n fill: url('#graph--upload--gradient')\n }\n\n &__line {\n\n &--limit {\n stroke: $client-stats--upload--limits--line;\n }\n\n &--rate {\n stroke: $client-stats--upload--graph--stroke;\n }\n }\n\n }\n\n }\n\n}\n",".application {\n\n &__content {\n background: $main-content--background;\n }\n}\n",".directory-tree {\n\n .icon {\n display: inline-block;\n height: 14px;\n margin-right: 5px;\n vertical-align: top;\n width: 14px;\n }\n\n &__node {\n line-height: 1.75;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &--directory {\n color: $directory-tree--directory--foreground;\n cursor: pointer;\n font-weight: 500;\n transition: color 0.125s;\n\n &:active {\n color: $directory-tree--directory--foreground--active;\n }\n\n .icon {\n fill: $directory-tree--icon--folder;\n position: relative;\n\n }\n }\n\n &--file {\n color: $directory-tree--filename--foreground;\n line-height: 1.5;\n\n .icon {\n fill: $directory-tree--icon--file;\n }\n }\n\n &--file-list {\n margin-bottom: 3px;\n }\n }\n\n &__parent-directory {\n color: $torrent-details--directory-tree--directory;\n font-size: 0.85em;\n\n .icon {\n fill: $torrent-details--directory-tree--icon-fill;\n opacity: 0.75;\n }\n }\n\n &__tree {\n padding-left: 1px;\n\n .directory-tree__tree {\n padding-left: 3px;\n }\n }\n}\n",".dropdown {\n display: inline-block;\n outline: none;\n position: relative;\n z-index: 2;\n\n &__button,\n &__trigger {\n cursor: pointer;\n }\n\n &__button {\n display: block;\n padding: 12px 15px 7px 15px;\n text-align: left;\n width: auto;\n word-wrap: none;\n }\n\n &__content {\n background: $dropdown--background;\n border-radius: 3px;\n box-shadow:\n 0 0 0 1px $dropdown--container--border,\n 0 0 35px $dropdown--container--shadow;\n color: $dropdown--foreground;\n left: 0;\n position: absolute;\n text-align: left;\n top: 0;\n z-index: 2;\n }\n\n &.is-expanded {\n\n .dropdown {\n\n &__header {\n\n .dropdown {\n\n &__value {\n color: $dropdown--value--active;\n }\n }\n }\n }\n }\n\n &__label {\n color: $dropdown--label;\n display: block;\n font-size: 0.65em;\n font-weight: 500;\n letter-spacing: 0.1em;\n line-height: 0.9em;\n text-transform: uppercase;\n\n .dropdown__button & {\n cursor: pointer;\n }\n }\n\n &__value {\n color: $dropdown--value;\n transition: color 0.25s;\n\n &:after {\n border-top: 5px solid $dropdown--value;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n content: '';\n display: inline-block;\n margin-left: 10px;\n vertical-align: middle;\n }\n }\n\n &__header {\n position: relative;\n\n &:after {\n background: $dropdown--header--border;\n bottom: 0;\n content: '';\n display: block;\n height: 1px;\n left: 5%;\n position: absolute;\n width: 90%;\n }\n }\n\n &__items {\n display: flex;\n padding: 10px 0;\n }\n\n &__list {\n flex: 1;\n }\n\n &__item {\n padding: 5px 15px;\n\n &.is-selectable {\n cursor: pointer;\n display: block;\n font-size: 0.9em;\n transition: background 0.25s, color 0.25s;\n\n &:hover {\n background: $dropdown--item--background--hover;\n color: $dropdown--item--foreground--hover;\n }\n\n &.is-selected {\n color: $dropdown--item--foreground--active;\n }\n }\n }\n\n &--align-right & {\n left: auto;\n right: 0;\n }\n}\n\n.dropdown {\n\n &__content {\n\n &-enter {\n animation: fade-in 0.25s both;\n }\n\n &-leave {\n animation: fade-out 0.25s both;\n }\n }\n}\n\n.dropdown {\n\n &__content {\n\n &__container {\n padding: 25px 30px;\n }\n }\n}\n",".floating-action {\n\n &__button {\n background: $textbox-repeater--button--background;\n border: none;\n border-radius: 16px;\n box-shadow: 0 0 0 1px $textbox-repeater--button--border;\n cursor: pointer;\n height: 16px;\n outline: none;\n margin-right: 8px;\n padding: 0;\n position: relative;\n transition: background 0.25s, box-shadow 0.25s;\n width: 16px;\n\n &:last-child {\n margin-right: 0;\n }\n\n &:hover {\n background: $textbox-repeater--button--background--hover;\n box-shadow: 0 0 0 1px $textbox-repeater--button--border--hover;\n\n .icon {\n fill: $textbox-repeater--button--foreground--hover;\n }\n }\n\n .icon {\n height: 8px;\n fill: $textbox-repeater--button--foreground;\n left: 50%;\n position: absolute;\n top: 50%;\n transition: fill 0.25s;\n transform: translate(-50%, -50%);\n width: 8px;\n }\n }\n}\n",".sidebar {\n box-shadow: 1px 0 $sidebar--border;\n color: $sidebar--foreground;\n position: relative;\n z-index: 2;\n\n &__item {\n\n &--search {\n position: relative;\n\n .icon {\n fill: $search-torrents--icon--foreground;\n height: 22px;\n left: 17px;\n opacity: 0.5;\n position: absolute;\n top: 50%;\n transition: fill 0.25s, opacity 0.25s;\n transform: translateY(-50%);\n width: 22px;\n }\n\n .textbox {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border: 1px solid $search-torrents--border;\n border-left: none;\n border-right: none;\n border-radius: 0;\n background: $search-torrents--background;\n box-shadow: none;\n color: $search-torrents--foreground;\n display: block;\n font-size: 1em;\n outline: none;\n padding: 12px 0 12px 45px;\n transition: background 0.25s, border 0.25s, color 0.25s;\n width: 100%;\n\n &::placeholder {\n color: $search-torrents--placeholder;\n font-style: italic;\n transition: color 0.25s;\n }\n }\n\n &.is-in-use {\n\n .icon {\n fill: $search-torrents--icon--foreground--active;\n opacity: 1;\n }\n\n .textbox {\n background: $search-torrents--background--active;\n border-bottom: 1px solid $search-torrents--border--active;\n border-top: 1px solid $search-torrents--border--active;\n color: $search-torrents--foreground--active;\n\n &::placeholder {\n color: $search-torrents--placeholder--active;\n }\n }\n }\n }\n\n &--speed-limit {\n padding-left: 5px;\n padding-top: 5px;\n\n .dropdown {\n\n &__content {\n min-width: 180px;\n }\n\n &__items {\n font-size: 0.9em;\n }\n }\n }\n }\n}\n",".modal {\n background: $modal--overlay;\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n transition: opacity 0.5s;\n width: 100%;\n z-index: 100;\n\n &__content {\n background: $modal--background;\n border-radius: 5px;\n box-shadow:\n 0 0 0 1px $modal--content--border,\n 0 0 35px $modal--content--shadow;\n left: 50%;\n max-height: 80%;\n max-width: 80%;\n overflow: auto;\n padding: 30px;\n position: absolute;\n top: 10%;\n transform: translate(-50%, 0);\n width: 500px;\n }\n}\n\n.modal {\n\n &__button-group {\n text-align: right;\n\n .button {\n\n & + .button {\n margin-left: 20px;\n }\n }\n }\n}\n\n.modal {\n\n &__header {\n color: $modal--header--foreground;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px;\n }\n}\n\n.modal {\n\n &__animation-enter {\n opacity: 0;\n }\n\n &__animation-enter-active {\n opacity: 1;\n }\n\n &__animation-leave {\n opacity: 1;\n pointer-events: none;\n }\n\n &__animation-leave-active {\n opacity: 0;\n }\n}\n",".progress-bar {\n height: 3px;\n position: relative;\n transition: opacity 0.25s;\n z-index: 1;\n\n .is-selected.is-stopped & {\n opacity: 0.5;\n }\n\n &:after {\n background: $progress-bar--background;\n content: '';\n height: 1px;\n left: 0;\n position: absolute;\n z-index: 0;\n top: 1px;\n transition: background 0.25s;\n width: 100%;\n\n .is-selected & {\n background: $progress-bar--background--selected;\n }\n\n .is-selected.is-stopped & {\n background: $progress-bar--background--selected--stopped;\n }\n }\n\n &__fill {\n background: $progress-bar--fill;\n bottom: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n transition: background 0.25s, width 0.25s;\n z-index: 1;\n\n .is-completed & {\n background: $progress-bar--fill--completed;\n }\n\n .is-seeding & {\n background: $progress-bar--fill--completed;\n }\n\n .is-stopped & {\n background: $progress-bar--fill--stopped;\n }\n\n .is-selected & {\n background: $progress-bar--fill--selected;\n }\n }\n}\n",".status-filter {\n font-size: 0.85em;\n padding: 30px 0;\n\n &__item {\n color: $status-filter--foreground;\n cursor: pointer;\n padding: 3px 20px;\n transition: color 0.25s;\n\n &:hover {\n color: $status-filter--foreground--hover;\n\n .icon {\n fill: $status-filter--foreground--hover;\n }\n }\n\n &.is-active {\n color: $status-filter--foreground--active;\n font-weight: 700;\n\n .icon {\n fill: $status-filter--foreground--active;\n }\n }\n\n .icon {\n display: inline-block;\n fill: $status-filter--foreground;\n height: 14px;\n margin-right: 7px;\n transition: fill 0.25s;\n vertical-align: middle;\n width: auto;\n }\n }\n}\n\n\n.status-filter {\n\n &__item {\n\n &--heading {\n cursor: default;\n font-size: 0.8em;\n font-weight: 500;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n\n &,\n &:hover {\n color: $status-filter--foreground--header;\n }\n }\n }\n}\n",".textbox-repeater {\n\n .floating-action {\n\n &__group {\n margin-top: -8px;\n position: absolute;\n right: -8px;\n top: 50%;\n }\n\n &__button {\n position: relative;\n }\n }\n\n .textbox {\n\n &__wrapper {\n position: relative;\n }\n }\n}\n",".application {\n\n &__panel {\n\n &--torrent-details {\n background: $torrent-details--background;\n }\n }\n}\n\n.torrent-details {\n background: $torrent-details--background;\n bottom: 0;\n box-shadow: -1px 0 0 $torrent-details--border;\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n padding: $spacing-unit;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 1s;\n z-index: 2;\n\n &__section {\n margin-bottom: $spacing-unit;\n }\n\n &__transfer-data {\n font-weight: 500;\n\n .transfer-data {\n display: inline-block;\n margin-right: 10px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .icon {\n height: 12px;\n width: 12px;\n }\n }\n\n &__table {\n width: 100%;\n\n &__heading {\n color: $torrent-details--table--header;\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n\n th {\n font-weight: 500;\n }\n\n &__count {\n color: $torrent-details--table--header--count;\n display: inline-block;\n margin-left: 5px;\n }\n }\n }\n}\n\n.torrent-details-enter {\n opacity: 0;\n}\n\n.torrent-details-enter-active {\n opacity: 1;\n}\n\n.torrent-details-leave {\n opacity: 0;\n transition: opacity 0.5s;\n}\n",".torrents {\n display: flex;\n flex: 1 1 100px;\n position: relative;\n\n &:after {\n background: $torrent-list--background;\n bottom: 0;\n box-shadow: -1px 0 0 0 $torrent-list--border;\n content: '';\n height: auto;\n left: 10px;\n position: absolute;\n right: 0;\n top: 0;\n }\n}\n\n.torrent {\n\n &__list {\n margin: 0 0 0 10px;\n padding: 10px 0;\n position: relative;\n\n &__wrapper {\n list-style: none;\n max-width: 100%;\n opacity: 1;\n overflow: auto;\n position: relative;\n transition: max-width 0.5s, opacity 1s;\n user-select: none;\n z-index: 1;\n }\n\n &--empty {\n opacity: 0;\n }\n }\n}\n\n.torrent {\n cursor: default;\n padding: 10px 20px;\n position: relative;\n transition: background 0.25s;\n\n &:hover {\n background: $torrent--background--hover;\n\n .torrent {\n\n &__more-info {\n opacity: 1;\n }\n }\n }\n\n &.is-selected {\n background: $torrent--background--selected;\n }\n\n &__more-info {\n height: 20px;\n margin-top: -10px;\n position: absolute;\n left: -7px;\n opacity: 0;\n top: 50%;\n transition: background 0.25s, box-shadow 0.25s, opacity 0.25s;\n width: 20px;\n }\n}\n\n.torrent {\n\n &__details {\n align-items: center;\n display: flex;\n flex: 1;\n flex-flow: row wrap;\n list-style: none;\n\n &--primary,\n &--secondary,\n &--tertiary {\n transition: color 0.25s;\n }\n\n &--primary {\n color: $torrent--primary--foreground;\n flex: 4;\n line-height: 1.3;\n white-space: nowrap;\n\n .is-stopped & {\n color: $torrent--primary--foreground--stopped;\n }\n\n .is-selected & {\n color: $torrent--primary--foreground--selected;\n }\n\n .is-selected.is-stopped & {\n color: $torrent--primary--foreground--selected--stopped;\n }\n }\n\n &--secondary {\n align-items: flex-end;\n color: $torrent--secondary--foreground;\n flex: 1;\n font-size: 0.75em;\n min-width: 200px;\n\n li {\n flex: 1 1 auto;\n min-width: 15%;\n\n &.torrent__details--ratio {\n max-width: 30px;\n }\n }\n\n .is-stopped & {\n color: $torrent--secondary--foreground--stopped;\n }\n\n .is-selected & {\n color: $torrent--secondary--foreground--selected;\n }\n\n .is-selected.is-stopped & {\n color: $torrent--secondary--foreground--selected--stopped;\n }\n }\n\n &--tertiary {\n color: $torrent--tertiary--foreground;\n display: block;\n font-size: 0.75em;\n margin: 0 0 3px 0;\n\n li {\n display: inline-block;\n margin-right: 1em;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .is-stopped & {\n color: $torrent--tertiary--foreground--stopped;\n }\n\n .is-selected & {\n color: $torrent--tertiary--foreground--selected;\n }\n\n .is-selected.is-stopped & {\n color: $torrent--tertiary--foreground--selected--stopped;\n }\n }\n\n &__label {\n margin-right: 0.5em;\n opacity: 0.5;\n }\n }\n}\n\n.torrent {\n\n &__details {\n\n &--eta {\n opacity: 0;\n transition: opacity 1s, visibility 1s;\n visibility: hidden;\n\n .torrent__details--segment {\n margin-right: 0.25em;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .is-actively-downloading & {\n opacity: 1;\n visibility: visible;\n }\n }\n }\n}\n",".transfer-data {\n\n &--download {\n color: $transfer-data--download;\n\n .icon {\n fill: $transfer-data--download;\n }\n }\n\n &--upload {\n color: $transfer-data--upload;\n\n .icon {\n fill: $transfer-data--upload;\n }\n }\n}\n"],"sourceRoot":"/source/"}
\ No newline at end of file