diff --git a/client/source/sass/components/_directory-tree.scss b/client/source/sass/components/_directory-tree.scss
index 05229499..60f86b6d 100644
--- a/client/source/sass/components/_directory-tree.scss
+++ b/client/source/sass/components/_directory-tree.scss
@@ -50,11 +50,20 @@
}
.file {
+ align-items: center;
display: flex;
- line-height: 1.7;
+ line-height: 1.4;
+ margin-left: -9px;
+ padding: 2px 0 2px 9px;
+ transition: background 0.25s, box-shadow 0.25s, color 0.25s;
width: 100%;
&:hover {
+ background: $torrent-details--directory-tree--file--hover--background;
+ box-shadow:
+ 0 1px 0 $torrent-details--directory-tree--file--hover--border,
+ 0 -1px 0 $torrent-details--directory-tree--file--hover--border;
+ color: $torrent-details--directory-tree--file--hover--foreground;
.file {
@@ -70,6 +79,8 @@
.icon {
fill: $directory-tree--icon--file;
+ margin-top: -3px;
+ vertical-align: middle;
}
&__detail {
diff --git a/client/source/sass/components/_torrent-details-panel.scss b/client/source/sass/components/_torrent-details-panel.scss
index eb30469c..4b0df8e1 100644
--- a/client/source/sass/components/_torrent-details-panel.scss
+++ b/client/source/sass/components/_torrent-details-panel.scss
@@ -24,6 +24,15 @@
transition: opacity 1s;
z-index: 2;
+ &__wrapper {
+ flex: 1;
+ height: 100%;
+ }
+
+ &__scroll-container {
+ height: auto !important;
+ }
+
&__header {
box-shadow: 0 1px 0 $torrent-details--header--border;
flex: 0 0 auto;
diff --git a/client/source/sass/tools/_colors.scss b/client/source/sass/tools/_colors.scss
index d98f37be..b1b39f87 100644
--- a/client/source/sass/tools/_colors.scss
+++ b/client/source/sass/tools/_colors.scss
@@ -94,7 +94,6 @@ $sidebar-filter--count--foreground: #132532;
$sidebar-filter--count--background: #2b4456;
$sidebar-filter--count--background--active: #3b586d;
-
// torrents list
$torrent-list--background: #fff;
$torrent-list--border: rgba($background, 0.15);
@@ -135,16 +134,19 @@ $torrent-details--header--tertiary--foreground: #7b9cb4;
$torrent-details--header--progress-bar--track: #2a3e4c;
$torrent-details--header--progress-bar--fill--error: #be2558;
-$torrent-details--navigation--border: rgba(#040d13, 0.35);
+$torrent-details--navigation--border: rgba(#040d13, 0.4);
$torrent-details--navigation--item--background--active: rgba(#349cf4, 0.07);
$torrent-details--navigation--item--foreground--active: #349cf4;
$torrent-details--navigation--item--border--active: #349cf4;
-$torrent-details--navigation--background: rgba(desaturate(#0c1b26, 15%), 0.1);
+$torrent-details--navigation--background: transparent; // rgba(desaturate(#0c1b26, 15%), 0.1)
$torrent-details--content--background: rgba(desaturate(#0c1b26, 15%), 0.4);
$torrent-details--directory-tree--parent-directory--foreground: #3a5c74;
$torrent-details--directory-tree--parent-directory--icon--fill: rgba(#3a5c74, 0.5);
+$torrent-details--directory-tree--file--hover--background: rgba(#1a2d3c, 0.8);
+$torrent-details--directory-tree--file--hover--foreground: #79a7c7;
+$torrent-details--directory-tree--file--hover--border: #1f3647;
$torrent-details--table--foreground: #527893;
$torrent-details--table--header: rgba(#527893, 0.5);
diff --git a/client/source/scripts/components/panels/TorrentDetailsView.js b/client/source/scripts/components/panels/TorrentDetailsView.js
index 9aa467d0..bd995cf5 100644
--- a/client/source/scripts/components/panels/TorrentDetailsView.js
+++ b/client/source/scripts/components/panels/TorrentDetailsView.js
@@ -4,6 +4,7 @@ import React from 'react';
import CSSTransitionGroup from 'react-addons-css-transition-group';
import ApplicationPanel from '../layout/ApplicationPanel';
+import CustomScrollbars from '../ui/CustomScrollbars';
import EventTypes from '../../constants/EventTypes';
import NavigationList from '../ui/NavigationList';
import TorrentActions from '../../actions/TorrentActions';
@@ -65,7 +66,6 @@ export default class TorrentDetails extends React.Component {
}
onReceiveTorrentsSuccess() {
- // console.log('torrent update success');
this.forceUpdate();
}
@@ -148,9 +148,11 @@ export default class TorrentDetails extends React.Component {
-
- {this.getNavigationItem(this.state.torrentDetailsPane)}
-
+
+
+ {this.getNavigationItem(this.state.torrentDetailsPane)}
+
+
);
@@ -159,6 +161,7 @@ export default class TorrentDetails extends React.Component {
return (
diff --git a/server/assets/app.js b/server/assets/app.js
index a28f0bbe..1b5e18c8 100644
--- a/server/assets/app.js
+++ b/server/assets/app.js
@@ -1568,7 +1568,7 @@
/* 254 */
/***/ 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__(161);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _classnames = __webpack_require__(171);\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__(255);\n\nvar _layoutApplicationPanel2 = _interopRequireDefault(_layoutApplicationPanel);\n\nvar _constantsEventTypes = __webpack_require__(172);\n\nvar _constantsEventTypes2 = _interopRequireDefault(_constantsEventTypes);\n\nvar _uiNavigationList = __webpack_require__(256);\n\nvar _uiNavigationList2 = _interopRequireDefault(_uiNavigationList);\n\nvar _actionsTorrentActions = __webpack_require__(179);\n\nvar _actionsTorrentActions2 = _interopRequireDefault(_actionsTorrentActions);\n\nvar _torrentDetailsTorrentFiles = __webpack_require__(257);\n\nvar _torrentDetailsTorrentFiles2 = _interopRequireDefault(_torrentDetailsTorrentFiles);\n\nvar _torrentDetailsTorrentGeneralInfo = __webpack_require__(266);\n\nvar _torrentDetailsTorrentGeneralInfo2 = _interopRequireDefault(_torrentDetailsTorrentGeneralInfo);\n\nvar _torrentDetailsTorrentHeading = __webpack_require__(267);\n\nvar _torrentDetailsTorrentHeading2 = _interopRequireDefault(_torrentDetailsTorrentHeading);\n\nvar _torrentDetailsTorrentPeers = __webpack_require__(276);\n\nvar _torrentDetailsTorrentPeers2 = _interopRequireDefault(_torrentDetailsTorrentPeers);\n\nvar _storesTorrentStore = __webpack_require__(199);\n\nvar _storesTorrentStore2 = _interopRequireDefault(_storesTorrentStore);\n\nvar _torrentDetailsTorrentTrackers = __webpack_require__(277);\n\nvar _torrentDetailsTorrentTrackers2 = _interopRequireDefault(_torrentDetailsTorrentTrackers);\n\nvar _storesUIStore = __webpack_require__(210);\n\nvar _storesUIStore2 = _interopRequireDefault(_storesUIStore);\n\nvar METHODS_TO_BIND = ['handleNavChange', 'onTorrentDetailsHashChange', 'onOpenChange', 'onReceiveTorrentsSuccess', 'onTorrentDetailsChange'];\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 torrentDetailsPane: 'general'\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 _storesTorrentStore2['default'].listen(_constantsEventTypes2['default'].CLIENT_TORRENTS_REQUEST_SUCCESS, this.onReceiveTorrentsSuccess);\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: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n if (nextState.isOpen && !this.state.isOpen) {\n _storesTorrentStore2['default'].fetchTorrentDetails();\n } else if (!nextState.isOpen) {\n _storesTorrentStore2['default'].stopPollingTorrentDetails();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _storesTorrentStore2['default'].unlisten(_constantsEventTypes2['default'].CLIENT_TORRENT_DETAILS_CHANGE, this.onTorrentDetailsChange);\n _storesTorrentStore2['default'].unlisten(_constantsEventTypes2['default'].CLIENT_TORRENTS_REQUEST_SUCCESS, this.onReceiveTorrentsSuccess);\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: 'onReceiveTorrentsSuccess',\n value: function onReceiveTorrentsSuccess() {\n // console.log('torrent update success');\n this.forceUpdate();\n }\n }, {\n key: 'onTorrentDetailsHashChange',\n value: function onTorrentDetailsHashChange() {\n if (this.state.isOpen) {\n _storesTorrentStore2['default'].fetchTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash());\n }\n }\n }, {\n key: 'onOpenChange',\n value: function onOpenChange() {\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: 'getNavigationItem',\n value: function getNavigationItem(item) {\n var torrentDetails = this.state.torrentDetails || {};\n var selectedHash = _storesUIStore2['default'].getTorrentDetailsHash();\n var torrent = _storesTorrentStore2['default'].getTorrent(selectedHash);\n\n switch (item) {\n case 'general':\n return _react2['default'].createElement(_torrentDetailsTorrentGeneralInfo2['default'], { torrent: torrent });\n case 'files':\n return _react2['default'].createElement(_torrentDetailsTorrentFiles2['default'], { files: torrentDetails.files, torrent: torrent });\n break;\n case 'trackers':\n return _react2['default'].createElement(_torrentDetailsTorrentTrackers2['default'], { trackers: torrentDetails.trackers });\n break;\n case 'peers':\n return _react2['default'].createElement(_torrentDetailsTorrentPeers2['default'], { peers: torrentDetails.peers });\n break;\n }\n\n return null;\n }\n }, {\n key: 'getNavigationItems',\n value: function getNavigationItems() {\n return [{\n slug: 'general',\n label: 'General'\n }, {\n slug: 'files',\n label: 'Files'\n }, {\n slug: 'peers',\n label: 'Peers'\n }, {\n slug: 'trackers',\n label: 'Trackers'\n }];\n }\n }, {\n key: 'handleNavChange',\n value: function handleNavChange(item) {\n this.setState({ torrentDetailsPane: item.slug });\n }\n }, {\n key: 'render',\n value: function render() {\n var detailContent = null;\n\n if (this.state.isOpen) {\n var selectedHash = _storesUIStore2['default'].getTorrentDetailsHash();\n var torrent = _storesTorrentStore2['default'].getTorrent(selectedHash);\n\n detailContent = _react2['default'].createElement(\n 'div',\n { className: 'torrent-details' },\n _react2['default'].createElement(_torrentDetailsTorrentHeading2['default'], { torrent: torrent }),\n _react2['default'].createElement(\n 'div',\n { className: 'torrent-details__content__wrapper' },\n _react2['default'].createElement(_uiNavigationList2['default'], { defaultItem: this.state.torrentDetailsPane,\n items: this.getNavigationItems(), onChange: this.handleNavChange,\n uniqueClassName: 'torrent-details__navigation' }),\n _react2['default'].createElement(\n 'div',\n { className: 'torrent-details__content' },\n this.getNavigationItem(this.state.torrentDetailsPane)\n )\n )\n );\n }\n\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 detailContent\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jbGllbnQvc291cmNlL3NjcmlwdHMvY29tcG9uZW50cy9wYW5lbHMvVG9ycmVudERldGFpbHNWaWV3LmpzP2Q2OGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFLEVBQUUseURBQXlELHFFQUFxRSw2REFBNkQsb0JBQW9CLEdBQUcsRUFBRTs7QUFFbGpCLHVDQUF1QyxtQkFBbUIsNEJBQTRCLGlEQUFpRCxnQkFBZ0Isa0RBQWtELDhEQUE4RCwwQkFBMEIsNENBQTRDLHVCQUF1QixrQkFBa0IsRUFBRSxPQUFPLGFBQWEsZ0JBQWdCLGdCQUFnQixlQUFlLDJCQUEyQixvQkFBb0IsRUFBRSxFQUFFLDRCQUE0QixtQkFBbUIsRUFBRSxPQUFPLHVCQUF1Qiw0QkFBNEIsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsRUFBRTs7QUFFL29CLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SiwwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtHQUFrRyxtQkFBbUI7QUFDckg7QUFDQSw0RkFBNEYsZ0RBQWdEO0FBQzVJO0FBQ0E7QUFDQSwrRkFBK0Ysb0NBQW9DO0FBQ25JO0FBQ0E7QUFDQSw0RkFBNEYsOEJBQThCO0FBQzFIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxxQkFBcUIsZ0NBQWdDO0FBQ3JEO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsK0JBQStCO0FBQzFDLHVGQUF1RixtQkFBbUI7QUFDMUc7QUFDQTtBQUNBLGFBQWEsaURBQWlEO0FBQzlELDZFQUE2RTtBQUM3RTtBQUNBLDhEQUE4RDtBQUM5RDtBQUNBO0FBQ0EsZUFBZSx3Q0FBd0M7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUyw4QkFBOEI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEO0FBQ0EiLCJmaWxlIjoiMjU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcblxudmFyIF9jcmVhdGVDbGFzcyA9IChmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoJ3ZhbHVlJyBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSkoKTtcblxudmFyIF9nZXQgPSBmdW5jdGlvbiBnZXQoX3gsIF94MiwgX3gzKSB7IHZhciBfYWdhaW4gPSB0cnVlOyBfZnVuY3Rpb246IHdoaWxlIChfYWdhaW4pIHsgdmFyIG9iamVjdCA9IF94LCBwcm9wZXJ0eSA9IF94MiwgcmVjZWl2ZXIgPSBfeDM7IF9hZ2FpbiA9IGZhbHNlOyBpZiAob2JqZWN0ID09PSBudWxsKSBvYmplY3QgPSBGdW5jdGlvbi5wcm90b3R5cGU7IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHByb3BlcnR5KTsgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgeyB2YXIgcGFyZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iamVjdCk7IGlmIChwYXJlbnQgPT09IG51bGwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSBlbHNlIHsgX3ggPSBwYXJlbnQ7IF94MiA9IHByb3BlcnR5OyBfeDMgPSByZWNlaXZlcjsgX2FnYWluID0gdHJ1ZTsgZGVzYyA9IHBhcmVudCA9IHVuZGVmaW5lZDsgY29udGludWUgX2Z1bmN0aW9uOyB9IH0gZWxzZSBpZiAoJ3ZhbHVlJyBpbiBkZXNjKSB7IHJldHVybiBkZXNjLnZhbHVlOyB9IGVsc2UgeyB2YXIgZ2V0dGVyID0gZGVzYy5nZXQ7IGlmIChnZXR0ZXIgPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9IHJldHVybiBnZXR0ZXIuY2FsbChyZWNlaXZlcik7IH0gfSB9O1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyAnZGVmYXVsdCc6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uJyk7IH0gfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSAnZnVuY3Rpb24nICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcignU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCAnICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG52YXIgX2xvZGFzaCA9IHJlcXVpcmUoJ2xvZGFzaCcpO1xuXG52YXIgX2xvZGFzaDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sb2Rhc2gpO1xuXG52YXIgX2NsYXNzbmFtZXMgPSByZXF1aXJlKCdjbGFzc25hbWVzJyk7XG5cbnZhciBfY2xhc3NuYW1lczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jbGFzc25hbWVzKTtcblxudmFyIF9yZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbnZhciBfcmVhY3QyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVhY3QpO1xuXG52YXIgX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwID0gcmVxdWlyZSgncmVhY3QtYWRkb25zLWNzcy10cmFuc2l0aW9uLWdyb3VwJyk7XG5cbnZhciBfcmVhY3RBZGRvbnNDc3NUcmFuc2l0aW9uR3JvdXAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfcmVhY3RBZGRvbnNDc3NUcmFuc2l0aW9uR3JvdXApO1xuXG52YXIgX2xheW91dEFwcGxpY2F0aW9uUGFuZWwgPSByZXF1aXJlKCcuLi9sYXlvdXQvQXBwbGljYXRpb25QYW5lbCcpO1xuXG52YXIgX2xheW91dEFwcGxpY2F0aW9uUGFuZWwyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfbGF5b3V0QXBwbGljYXRpb25QYW5lbCk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlcyA9IHJlcXVpcmUoJy4uLy4uL2NvbnN0YW50cy9FdmVudFR5cGVzJyk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb25zdGFudHNFdmVudFR5cGVzKTtcblxudmFyIF91aU5hdmlnYXRpb25MaXN0ID0gcmVxdWlyZSgnLi4vdWkvTmF2aWdhdGlvbkxpc3QnKTtcblxudmFyIF91aU5hdmlnYXRpb25MaXN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3VpTmF2aWdhdGlvbkxpc3QpO1xuXG52YXIgX2FjdGlvbnNUb3JyZW50QWN0aW9ucyA9IHJlcXVpcmUoJy4uLy4uL2FjdGlvbnMvVG9ycmVudEFjdGlvbnMnKTtcblxudmFyIF9hY3Rpb25zVG9ycmVudEFjdGlvbnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYWN0aW9uc1RvcnJlbnRBY3Rpb25zKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlcyA9IHJlcXVpcmUoJy4uL3RvcnJlbnQtZGV0YWlscy9Ub3JyZW50RmlsZXMnKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlcyk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50R2VuZXJhbEluZm8gPSByZXF1aXJlKCcuLi90b3JyZW50LWRldGFpbHMvVG9ycmVudEdlbmVyYWxJbmZvJyk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50R2VuZXJhbEluZm8yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9ycmVudERldGFpbHNUb3JyZW50R2VuZXJhbEluZm8pO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudEhlYWRpbmcgPSByZXF1aXJlKCcuLi90b3JyZW50LWRldGFpbHMvVG9ycmVudEhlYWRpbmcnKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRIZWFkaW5nMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEhlYWRpbmcpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFBlZXJzID0gcmVxdWlyZSgnLi4vdG9ycmVudC1kZXRhaWxzL1RvcnJlbnRQZWVycycpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFBlZXJzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudFBlZXJzKTtcblxudmFyIF9zdG9yZXNUb3JyZW50U3RvcmUgPSByZXF1aXJlKCcuLi8uLi9zdG9yZXMvVG9ycmVudFN0b3JlJyk7XG5cbnZhciBfc3RvcmVzVG9ycmVudFN0b3JlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0b3Jlc1RvcnJlbnRTdG9yZSk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMgPSByZXF1aXJlKCcuLi90b3JyZW50LWRldGFpbHMvVG9ycmVudFRyYWNrZXJzJyk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMpO1xuXG52YXIgX3N0b3Jlc1VJU3RvcmUgPSByZXF1aXJlKCcuLi8uLi9zdG9yZXMvVUlTdG9yZScpO1xuXG52YXIgX3N0b3Jlc1VJU3RvcmUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3RvcmVzVUlTdG9yZSk7XG5cbnZhciBNRVRIT0RTX1RPX0JJTkQgPSBbJ2hhbmRsZU5hdkNoYW5nZScsICdvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZScsICdvbk9wZW5DaGFuZ2UnLCAnb25SZWNlaXZlVG9ycmVudHNTdWNjZXNzJywgJ29uVG9ycmVudERldGFpbHNDaGFuZ2UnXTtcblxudmFyIFRvcnJlbnREZXRhaWxzID0gKGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhUb3JyZW50RGV0YWlscywgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gVG9ycmVudERldGFpbHMoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUb3JyZW50RGV0YWlscyk7XG5cbiAgICBfZ2V0KE9iamVjdC5nZXRQcm90b3R5cGVPZihUb3JyZW50RGV0YWlscy5wcm90b3R5cGUpLCAnY29uc3RydWN0b3InLCB0aGlzKS5jYWxsKHRoaXMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgICB0b3JyZW50RGV0YWlsc1N1Y2Nlc3M6IGZhbHNlLFxuICAgICAgdG9ycmVudERldGFpbHNFcnJvcjogZmFsc2UsXG4gICAgICBzZWxlY3RlZFRvcnJlbnQ6IHt9LFxuICAgICAgc2VsZWN0ZWRUb3JyZW50SGFzaDogbnVsbCxcbiAgICAgIHRvcnJlbnREZXRhaWxzOiB7fSxcbiAgICAgIHRvcnJlbnREZXRhaWxzUGFuZTogJ2dlbmVyYWwnXG4gICAgfTtcblxuICAgIE1FVEhPRFNfVE9fQklORC5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAgIF90aGlzW21ldGhvZF0gPSBfdGhpc1ttZXRob2RdLmJpbmQoX3RoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFRvcnJlbnREZXRhaWxzLCBbe1xuICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5DTElFTlRfVE9SUkVOVF9ERVRBSUxTX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10ubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLkNMSUVOVF9UT1JSRU5UU19SRVFVRVNUX1NVQ0NFU1MsIHRoaXMub25SZWNlaXZlVG9ycmVudHNTdWNjZXNzKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfSEFTSF9DSEFOR0UsIHRoaXMub25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudFdpbGxVcGRhdGUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVXBkYXRlKG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gICAgICBpZiAobmV4dFN0YXRlLmlzT3BlbiAmJiAhdGhpcy5zdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5mZXRjaFRvcnJlbnREZXRhaWxzKCk7XG4gICAgICB9IGVsc2UgaWYgKCFuZXh0U3RhdGUuaXNPcGVuKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uc3RvcFBvbGxpbmdUb3JyZW50RGV0YWlscygpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudFdpbGxVbm1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLnVubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLkNMSUVOVF9UT1JSRU5UX0RFVEFJTFNfQ0hBTkdFLCB0aGlzLm9uVG9ycmVudERldGFpbHNDaGFuZ2UpO1xuICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS51bmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5DTElFTlRfVE9SUkVOVFNfUkVRVUVTVF9TVUNDRVNTLCB0aGlzLm9uUmVjZWl2ZVRvcnJlbnRzU3VjY2Vzcyk7XG4gICAgICBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS51bmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLnVubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLlVJX1RPUlJFTlRfREVUQUlMU19IQVNIX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25SZWNlaXZlVG9ycmVudHNTdWNjZXNzJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25SZWNlaXZlVG9ycmVudHNTdWNjZXNzKCkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ3RvcnJlbnQgdXBkYXRlIHN1Y2Nlc3MnKTtcbiAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uVG9ycmVudERldGFpbHNIYXNoQ2hhbmdlKCkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUuaXNPcGVuKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZmV0Y2hUb3JyZW50RGV0YWlscyhfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25PcGVuQ2hhbmdlJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25PcGVuQ2hhbmdlKCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGlzT3BlbjogX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uaXNUb3JyZW50RGV0YWlsc09wZW4oKVxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Ub3JyZW50RGV0YWlsc0NoYW5nZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uVG9ycmVudERldGFpbHNDaGFuZ2UoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdG9ycmVudERldGFpbHM6IF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHMoX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHNIYXNoKCkpXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXROYXZpZ2F0aW9uSXRlbScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE5hdmlnYXRpb25JdGVtKGl0ZW0pIHtcbiAgICAgIHZhciB0b3JyZW50RGV0YWlscyA9IHRoaXMuc3RhdGUudG9ycmVudERldGFpbHMgfHwge307XG4gICAgICB2YXIgc2VsZWN0ZWRIYXNoID0gX3N0b3Jlc1VJU3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudERldGFpbHNIYXNoKCk7XG4gICAgICB2YXIgdG9ycmVudCA9IF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudChzZWxlY3RlZEhhc2gpO1xuXG4gICAgICBzd2l0Y2ggKGl0ZW0pIHtcbiAgICAgICAgY2FzZSAnZ2VuZXJhbCc6XG4gICAgICAgICAgcmV0dXJuIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KF90b3JyZW50RGV0YWlsc1RvcnJlbnRHZW5lcmFsSW5mbzJbJ2RlZmF1bHQnXSwgeyB0b3JyZW50OiB0b3JyZW50IH0pO1xuICAgICAgICBjYXNlICdmaWxlcyc6XG4gICAgICAgICAgcmV0dXJuIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlczJbJ2RlZmF1bHQnXSwgeyBmaWxlczogdG9ycmVudERldGFpbHMuZmlsZXMsIHRvcnJlbnQ6IHRvcnJlbnQgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RyYWNrZXJzJzpcbiAgICAgICAgICByZXR1cm4gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX3RvcnJlbnREZXRhaWxzVG9ycmVudFRyYWNrZXJzMlsnZGVmYXVsdCddLCB7IHRyYWNrZXJzOiB0b3JyZW50RGV0YWlscy50cmFja2VycyB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGVlcnMnOlxuICAgICAgICAgIHJldHVybiBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfdG9ycmVudERldGFpbHNUb3JyZW50UGVlcnMyWydkZWZhdWx0J10sIHsgcGVlcnM6IHRvcnJlbnREZXRhaWxzLnBlZXJzIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXROYXZpZ2F0aW9uSXRlbXMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXROYXZpZ2F0aW9uSXRlbXMoKSB7XG4gICAgICByZXR1cm4gW3tcbiAgICAgICAgc2x1ZzogJ2dlbmVyYWwnLFxuICAgICAgICBsYWJlbDogJ0dlbmVyYWwnXG4gICAgICB9LCB7XG4gICAgICAgIHNsdWc6ICdmaWxlcycsXG4gICAgICAgIGxhYmVsOiAnRmlsZXMnXG4gICAgICB9LCB7XG4gICAgICAgIHNsdWc6ICdwZWVycycsXG4gICAgICAgIGxhYmVsOiAnUGVlcnMnXG4gICAgICB9LCB7XG4gICAgICAgIHNsdWc6ICd0cmFja2VycycsXG4gICAgICAgIGxhYmVsOiAnVHJhY2tlcnMnXG4gICAgICB9XTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdoYW5kbGVOYXZDaGFuZ2UnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBoYW5kbGVOYXZDaGFuZ2UoaXRlbSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHRvcnJlbnREZXRhaWxzUGFuZTogaXRlbS5zbHVnIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ3JlbmRlcicsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBkZXRhaWxDb250ZW50ID0gbnVsbDtcblxuICAgICAgaWYgKHRoaXMuc3RhdGUuaXNPcGVuKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZEhhc2ggPSBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKTtcbiAgICAgICAgdmFyIHRvcnJlbnQgPSBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnQoc2VsZWN0ZWRIYXNoKTtcblxuICAgICAgICBkZXRhaWxDb250ZW50ID0gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgeyBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHMnIH0sXG4gICAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEhlYWRpbmcyWydkZWZhdWx0J10sIHsgdG9ycmVudDogdG9ycmVudCB9KSxcbiAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICdkaXYnLFxuICAgICAgICAgICAgeyBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHNfX2NvbnRlbnRfX3dyYXBwZXInIH0sXG4gICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfdWlOYXZpZ2F0aW9uTGlzdDJbJ2RlZmF1bHQnXSwgeyBkZWZhdWx0SXRlbTogdGhpcy5zdGF0ZS50b3JyZW50RGV0YWlsc1BhbmUsXG4gICAgICAgICAgICAgIGl0ZW1zOiB0aGlzLmdldE5hdmlnYXRpb25JdGVtcygpLCBvbkNoYW5nZTogdGhpcy5oYW5kbGVOYXZDaGFuZ2UsXG4gICAgICAgICAgICAgIHVuaXF1ZUNsYXNzTmFtZTogJ3RvcnJlbnQtZGV0YWlsc19fbmF2aWdhdGlvbicgfSksXG4gICAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgICAgIHsgY2xhc3NOYW1lOiAndG9ycmVudC1kZXRhaWxzX19jb250ZW50JyB9LFxuICAgICAgICAgICAgICB0aGlzLmdldE5hdmlnYXRpb25JdGVtKHRoaXMuc3RhdGUudG9ycmVudERldGFpbHNQYW5lKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICBfbGF5b3V0QXBwbGljYXRpb25QYW5lbDJbJ2RlZmF1bHQnXSxcbiAgICAgICAgeyBtb2RpZmllcjogJ3RvcnJlbnQtZGV0YWlscycgfSxcbiAgICAgICAgX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgX3JlYWN0QWRkb25zQ3NzVHJhbnNpdGlvbkdyb3VwMlsnZGVmYXVsdCddLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb25FbnRlclRpbWVvdXQ6IDEwMDAsXG4gICAgICAgICAgICB0cmFuc2l0aW9uTGVhdmVUaW1lb3V0OiAxMDAwLFxuICAgICAgICAgICAgdHJhbnNpdGlvbk5hbWU6ICd0b3JyZW50LWRldGFpbHMnIH0sXG4gICAgICAgICAgZGV0YWlsQ29udGVudFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBUb3JyZW50RGV0YWlscztcbn0pKF9yZWFjdDJbJ2RlZmF1bHQnXS5Db21wb25lbnQpO1xuXG5leHBvcnRzWydkZWZhdWx0J10gPSBUb3JyZW50RGV0YWlscztcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0c1snZGVmYXVsdCddO1xuXG5cbi8qKioqKioqKioqKioqKioqKlxuICoqIFdFQlBBQ0sgRk9PVEVSXG4gKiogLi9jbGllbnQvc291cmNlL3NjcmlwdHMvY29tcG9uZW50cy9wYW5lbHMvVG9ycmVudERldGFpbHNWaWV3LmpzXG4gKiogbW9kdWxlIGlkID0gMjU0XG4gKiogbW9kdWxlIGNodW5rcyA9IDBcbiAqKi8iXSwic291cmNlUm9vdCI6IiJ9");
+ 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__(161);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _classnames = __webpack_require__(171);\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__(255);\n\nvar _layoutApplicationPanel2 = _interopRequireDefault(_layoutApplicationPanel);\n\nvar _uiCustomScrollbars = __webpack_require__(221);\n\nvar _uiCustomScrollbars2 = _interopRequireDefault(_uiCustomScrollbars);\n\nvar _constantsEventTypes = __webpack_require__(172);\n\nvar _constantsEventTypes2 = _interopRequireDefault(_constantsEventTypes);\n\nvar _uiNavigationList = __webpack_require__(256);\n\nvar _uiNavigationList2 = _interopRequireDefault(_uiNavigationList);\n\nvar _actionsTorrentActions = __webpack_require__(179);\n\nvar _actionsTorrentActions2 = _interopRequireDefault(_actionsTorrentActions);\n\nvar _torrentDetailsTorrentFiles = __webpack_require__(257);\n\nvar _torrentDetailsTorrentFiles2 = _interopRequireDefault(_torrentDetailsTorrentFiles);\n\nvar _torrentDetailsTorrentGeneralInfo = __webpack_require__(266);\n\nvar _torrentDetailsTorrentGeneralInfo2 = _interopRequireDefault(_torrentDetailsTorrentGeneralInfo);\n\nvar _torrentDetailsTorrentHeading = __webpack_require__(267);\n\nvar _torrentDetailsTorrentHeading2 = _interopRequireDefault(_torrentDetailsTorrentHeading);\n\nvar _torrentDetailsTorrentPeers = __webpack_require__(276);\n\nvar _torrentDetailsTorrentPeers2 = _interopRequireDefault(_torrentDetailsTorrentPeers);\n\nvar _storesTorrentStore = __webpack_require__(199);\n\nvar _storesTorrentStore2 = _interopRequireDefault(_storesTorrentStore);\n\nvar _torrentDetailsTorrentTrackers = __webpack_require__(277);\n\nvar _torrentDetailsTorrentTrackers2 = _interopRequireDefault(_torrentDetailsTorrentTrackers);\n\nvar _storesUIStore = __webpack_require__(210);\n\nvar _storesUIStore2 = _interopRequireDefault(_storesUIStore);\n\nvar METHODS_TO_BIND = ['handleNavChange', 'onTorrentDetailsHashChange', 'onOpenChange', 'onReceiveTorrentsSuccess', 'onTorrentDetailsChange'];\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 torrentDetailsPane: 'general'\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 _storesTorrentStore2['default'].listen(_constantsEventTypes2['default'].CLIENT_TORRENTS_REQUEST_SUCCESS, this.onReceiveTorrentsSuccess);\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: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n if (nextState.isOpen && !this.state.isOpen) {\n _storesTorrentStore2['default'].fetchTorrentDetails();\n } else if (!nextState.isOpen) {\n _storesTorrentStore2['default'].stopPollingTorrentDetails();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _storesTorrentStore2['default'].unlisten(_constantsEventTypes2['default'].CLIENT_TORRENT_DETAILS_CHANGE, this.onTorrentDetailsChange);\n _storesTorrentStore2['default'].unlisten(_constantsEventTypes2['default'].CLIENT_TORRENTS_REQUEST_SUCCESS, this.onReceiveTorrentsSuccess);\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: 'onReceiveTorrentsSuccess',\n value: function onReceiveTorrentsSuccess() {\n this.forceUpdate();\n }\n }, {\n key: 'onTorrentDetailsHashChange',\n value: function onTorrentDetailsHashChange() {\n if (this.state.isOpen) {\n _storesTorrentStore2['default'].fetchTorrentDetails(_storesUIStore2['default'].getTorrentDetailsHash());\n }\n }\n }, {\n key: 'onOpenChange',\n value: function onOpenChange() {\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: 'getNavigationItem',\n value: function getNavigationItem(item) {\n var torrentDetails = this.state.torrentDetails || {};\n var selectedHash = _storesUIStore2['default'].getTorrentDetailsHash();\n var torrent = _storesTorrentStore2['default'].getTorrent(selectedHash);\n\n switch (item) {\n case 'general':\n return _react2['default'].createElement(_torrentDetailsTorrentGeneralInfo2['default'], { torrent: torrent });\n case 'files':\n return _react2['default'].createElement(_torrentDetailsTorrentFiles2['default'], { files: torrentDetails.files, torrent: torrent });\n break;\n case 'trackers':\n return _react2['default'].createElement(_torrentDetailsTorrentTrackers2['default'], { trackers: torrentDetails.trackers });\n break;\n case 'peers':\n return _react2['default'].createElement(_torrentDetailsTorrentPeers2['default'], { peers: torrentDetails.peers });\n break;\n }\n\n return null;\n }\n }, {\n key: 'getNavigationItems',\n value: function getNavigationItems() {\n return [{\n slug: 'general',\n label: 'General'\n }, {\n slug: 'files',\n label: 'Files'\n }, {\n slug: 'peers',\n label: 'Peers'\n }, {\n slug: 'trackers',\n label: 'Trackers'\n }];\n }\n }, {\n key: 'handleNavChange',\n value: function handleNavChange(item) {\n this.setState({ torrentDetailsPane: item.slug });\n }\n }, {\n key: 'render',\n value: function render() {\n var detailContent = null;\n\n if (this.state.isOpen) {\n var selectedHash = _storesUIStore2['default'].getTorrentDetailsHash();\n var torrent = _storesTorrentStore2['default'].getTorrent(selectedHash);\n\n detailContent = _react2['default'].createElement(\n 'div',\n { className: 'torrent-details' },\n _react2['default'].createElement(_torrentDetailsTorrentHeading2['default'], { torrent: torrent }),\n _react2['default'].createElement(\n 'div',\n { className: 'torrent-details__content__wrapper' },\n _react2['default'].createElement(_uiNavigationList2['default'], { defaultItem: this.state.torrentDetailsPane,\n items: this.getNavigationItems(), onChange: this.handleNavChange,\n uniqueClassName: 'torrent-details__navigation' }),\n _react2['default'].createElement(\n _uiCustomScrollbars2['default'],\n { className: 'torrent-details__scroll-container', inverted: true },\n _react2['default'].createElement(\n 'div',\n { className: 'torrent-details__content' },\n this.getNavigationItem(this.state.torrentDetailsPane)\n )\n )\n )\n );\n }\n\n return _react2['default'].createElement(\n _layoutApplicationPanel2['default'],\n { modifier: 'torrent-details' },\n _react2['default'].createElement(\n _reactAddonsCssTransitionGroup2['default'],\n {\n className: 'torrent-details__wrapper',\n transitionEnterTimeout: 1000,\n transitionLeaveTimeout: 1000,\n transitionName: 'torrent-details' },\n detailContent\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jbGllbnQvc291cmNlL3NjcmlwdHMvY29tcG9uZW50cy9wYW5lbHMvVG9ycmVudERldGFpbHNWaWV3LmpzP2Q2OGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQsaUNBQWlDLDJDQUEyQyxnQkFBZ0Isa0JBQWtCLE9BQU8sMkJBQTJCLHdEQUF3RCxnQ0FBZ0MsdURBQXVELDJEQUEyRCxFQUFFLEVBQUUseURBQXlELHFFQUFxRSw2REFBNkQsb0JBQW9CLEdBQUcsRUFBRTs7QUFFbGpCLHVDQUF1QyxtQkFBbUIsNEJBQTRCLGlEQUFpRCxnQkFBZ0Isa0RBQWtELDhEQUE4RCwwQkFBMEIsNENBQTRDLHVCQUF1QixrQkFBa0IsRUFBRSxPQUFPLGFBQWEsZ0JBQWdCLGdCQUFnQixlQUFlLDJCQUEyQixvQkFBb0IsRUFBRSxFQUFFLDRCQUE0QixtQkFBbUIsRUFBRSxPQUFPLHVCQUF1Qiw0QkFBNEIsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsRUFBRTs7QUFFL29CLHNDQUFzQyx1Q0FBdUMsa0JBQWtCOztBQUUvRixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SiwwQ0FBMEMsK0RBQStELHFHQUFxRyxFQUFFLHlFQUF5RSxlQUFlLHlFQUF5RSxFQUFFLEVBQUUsdUhBQXVIOztBQUU1ZTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrR0FBa0csbUJBQW1CO0FBQ3JIO0FBQ0EsNEZBQTRGLGdEQUFnRDtBQUM1STtBQUNBO0FBQ0EsK0ZBQStGLG9DQUFvQztBQUNuSTtBQUNBO0FBQ0EsNEZBQTRGLDhCQUE4QjtBQUMxSDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EscUJBQXFCLGdDQUFnQztBQUNyRDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLCtCQUErQjtBQUMxQyx1RkFBdUYsbUJBQW1CO0FBQzFHO0FBQ0E7QUFDQSxhQUFhLGlEQUFpRDtBQUM5RCw2RUFBNkU7QUFDN0U7QUFDQSw4REFBOEQ7QUFDOUQ7QUFDQTtBQUNBLGVBQWUsaUVBQWlFO0FBQ2hGO0FBQ0E7QUFDQSxpQkFBaUIsd0NBQXdDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUyw4QkFBOEI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7QUFDQSIsImZpbGUiOiIyNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gKGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmICgndmFsdWUnIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KSgpO1xuXG52YXIgX2dldCA9IGZ1bmN0aW9uIGdldChfeCwgX3gyLCBfeDMpIHsgdmFyIF9hZ2FpbiA9IHRydWU7IF9mdW5jdGlvbjogd2hpbGUgKF9hZ2FpbikgeyB2YXIgb2JqZWN0ID0gX3gsIHByb3BlcnR5ID0gX3gyLCByZWNlaXZlciA9IF94MzsgX2FnYWluID0gZmFsc2U7IGlmIChvYmplY3QgPT09IG51bGwpIG9iamVjdCA9IEZ1bmN0aW9uLnByb3RvdHlwZTsgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgcHJvcGVydHkpOyBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7IHZhciBwYXJlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqZWN0KTsgaWYgKHBhcmVudCA9PT0gbnVsbCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9IGVsc2UgeyBfeCA9IHBhcmVudDsgX3gyID0gcHJvcGVydHk7IF94MyA9IHJlY2VpdmVyOyBfYWdhaW4gPSB0cnVlOyBkZXNjID0gcGFyZW50ID0gdW5kZWZpbmVkOyBjb250aW51ZSBfZnVuY3Rpb247IH0gfSBlbHNlIGlmICgndmFsdWUnIGluIGRlc2MpIHsgcmV0dXJuIGRlc2MudmFsdWU7IH0gZWxzZSB7IHZhciBnZXR0ZXIgPSBkZXNjLmdldDsgaWYgKGdldHRlciA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH0gcmV0dXJuIGdldHRlci5jYWxsKHJlY2VpdmVyKTsgfSB9IH07XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7ICdkZWZhdWx0Jzogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24nKTsgfSB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09ICdmdW5jdGlvbicgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKCdTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90ICcgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbnZhciBfbG9kYXNoID0gcmVxdWlyZSgnbG9kYXNoJyk7XG5cbnZhciBfbG9kYXNoMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2xvZGFzaCk7XG5cbnZhciBfY2xhc3NuYW1lcyA9IHJlcXVpcmUoJ2NsYXNzbmFtZXMnKTtcblxudmFyIF9jbGFzc25hbWVzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2NsYXNzbmFtZXMpO1xuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfcmVhY3RBZGRvbnNDc3NUcmFuc2l0aW9uR3JvdXAgPSByZXF1aXJlKCdyZWFjdC1hZGRvbnMtY3NzLXRyYW5zaXRpb24tZ3JvdXAnKTtcblxudmFyIF9yZWFjdEFkZG9uc0Nzc1RyYW5zaXRpb25Hcm91cDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdEFkZG9uc0Nzc1RyYW5zaXRpb25Hcm91cCk7XG5cbnZhciBfbGF5b3V0QXBwbGljYXRpb25QYW5lbCA9IHJlcXVpcmUoJy4uL2xheW91dC9BcHBsaWNhdGlvblBhbmVsJyk7XG5cbnZhciBfbGF5b3V0QXBwbGljYXRpb25QYW5lbDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9sYXlvdXRBcHBsaWNhdGlvblBhbmVsKTtcblxudmFyIF91aUN1c3RvbVNjcm9sbGJhcnMgPSByZXF1aXJlKCcuLi91aS9DdXN0b21TY3JvbGxiYXJzJyk7XG5cbnZhciBfdWlDdXN0b21TY3JvbGxiYXJzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3VpQ3VzdG9tU2Nyb2xsYmFycyk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlcyA9IHJlcXVpcmUoJy4uLy4uL2NvbnN0YW50cy9FdmVudFR5cGVzJyk7XG5cbnZhciBfY29uc3RhbnRzRXZlbnRUeXBlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jb25zdGFudHNFdmVudFR5cGVzKTtcblxudmFyIF91aU5hdmlnYXRpb25MaXN0ID0gcmVxdWlyZSgnLi4vdWkvTmF2aWdhdGlvbkxpc3QnKTtcblxudmFyIF91aU5hdmlnYXRpb25MaXN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3VpTmF2aWdhdGlvbkxpc3QpO1xuXG52YXIgX2FjdGlvbnNUb3JyZW50QWN0aW9ucyA9IHJlcXVpcmUoJy4uLy4uL2FjdGlvbnMvVG9ycmVudEFjdGlvbnMnKTtcblxudmFyIF9hY3Rpb25zVG9ycmVudEFjdGlvbnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfYWN0aW9uc1RvcnJlbnRBY3Rpb25zKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlcyA9IHJlcXVpcmUoJy4uL3RvcnJlbnQtZGV0YWlscy9Ub3JyZW50RmlsZXMnKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90b3JyZW50RGV0YWlsc1RvcnJlbnRGaWxlcyk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50R2VuZXJhbEluZm8gPSByZXF1aXJlKCcuLi90b3JyZW50LWRldGFpbHMvVG9ycmVudEdlbmVyYWxJbmZvJyk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50R2VuZXJhbEluZm8yID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9ycmVudERldGFpbHNUb3JyZW50R2VuZXJhbEluZm8pO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudEhlYWRpbmcgPSByZXF1aXJlKCcuLi90b3JyZW50LWRldGFpbHMvVG9ycmVudEhlYWRpbmcnKTtcblxudmFyIF90b3JyZW50RGV0YWlsc1RvcnJlbnRIZWFkaW5nMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEhlYWRpbmcpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFBlZXJzID0gcmVxdWlyZSgnLi4vdG9ycmVudC1kZXRhaWxzL1RvcnJlbnRQZWVycycpO1xuXG52YXIgX3RvcnJlbnREZXRhaWxzVG9ycmVudFBlZXJzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3RvcnJlbnREZXRhaWxzVG9ycmVudFBlZXJzKTtcblxudmFyIF9zdG9yZXNUb3JyZW50U3RvcmUgPSByZXF1aXJlKCcuLi8uLi9zdG9yZXMvVG9ycmVudFN0b3JlJyk7XG5cbnZhciBfc3RvcmVzVG9ycmVudFN0b3JlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0b3Jlc1RvcnJlbnRTdG9yZSk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMgPSByZXF1aXJlKCcuLi90b3JyZW50LWRldGFpbHMvVG9ycmVudFRyYWNrZXJzJyk7XG5cbnZhciBfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMpO1xuXG52YXIgX3N0b3Jlc1VJU3RvcmUgPSByZXF1aXJlKCcuLi8uLi9zdG9yZXMvVUlTdG9yZScpO1xuXG52YXIgX3N0b3Jlc1VJU3RvcmUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc3RvcmVzVUlTdG9yZSk7XG5cbnZhciBNRVRIT0RTX1RPX0JJTkQgPSBbJ2hhbmRsZU5hdkNoYW5nZScsICdvblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZScsICdvbk9wZW5DaGFuZ2UnLCAnb25SZWNlaXZlVG9ycmVudHNTdWNjZXNzJywgJ29uVG9ycmVudERldGFpbHNDaGFuZ2UnXTtcblxudmFyIFRvcnJlbnREZXRhaWxzID0gKGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIF9pbmhlcml0cyhUb3JyZW50RGV0YWlscywgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gVG9ycmVudERldGFpbHMoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUb3JyZW50RGV0YWlscyk7XG5cbiAgICBfZ2V0KE9iamVjdC5nZXRQcm90b3R5cGVPZihUb3JyZW50RGV0YWlscy5wcm90b3R5cGUpLCAnY29uc3RydWN0b3InLCB0aGlzKS5jYWxsKHRoaXMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgICB0b3JyZW50RGV0YWlsc1N1Y2Nlc3M6IGZhbHNlLFxuICAgICAgdG9ycmVudERldGFpbHNFcnJvcjogZmFsc2UsXG4gICAgICBzZWxlY3RlZFRvcnJlbnQ6IHt9LFxuICAgICAgc2VsZWN0ZWRUb3JyZW50SGFzaDogbnVsbCxcbiAgICAgIHRvcnJlbnREZXRhaWxzOiB7fSxcbiAgICAgIHRvcnJlbnREZXRhaWxzUGFuZTogJ2dlbmVyYWwnXG4gICAgfTtcblxuICAgIE1FVEhPRFNfVE9fQklORC5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAgIF90aGlzW21ldGhvZF0gPSBfdGhpc1ttZXRob2RdLmJpbmQoX3RoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKFRvcnJlbnREZXRhaWxzLCBbe1xuICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5DTElFTlRfVE9SUkVOVF9ERVRBSUxTX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10ubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLkNMSUVOVF9UT1JSRU5UU19SRVFVRVNUX1NVQ0NFU1MsIHRoaXMub25SZWNlaXZlVG9ycmVudHNTdWNjZXNzKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfSEFTSF9DSEFOR0UsIHRoaXMub25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudFdpbGxVcGRhdGUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVXBkYXRlKG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gICAgICBpZiAobmV4dFN0YXRlLmlzT3BlbiAmJiAhdGhpcy5zdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5mZXRjaFRvcnJlbnREZXRhaWxzKCk7XG4gICAgICB9IGVsc2UgaWYgKCFuZXh0U3RhdGUuaXNPcGVuKSB7XG4gICAgICAgIF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uc3RvcFBvbGxpbmdUb3JyZW50RGV0YWlscygpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudFdpbGxVbm1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBfc3RvcmVzVG9ycmVudFN0b3JlMlsnZGVmYXVsdCddLnVubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLkNMSUVOVF9UT1JSRU5UX0RFVEFJTFNfQ0hBTkdFLCB0aGlzLm9uVG9ycmVudERldGFpbHNDaGFuZ2UpO1xuICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS51bmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5DTElFTlRfVE9SUkVOVFNfUkVRVUVTVF9TVUNDRVNTLCB0aGlzLm9uUmVjZWl2ZVRvcnJlbnRzU3VjY2Vzcyk7XG4gICAgICBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS51bmxpc3RlbihfY29uc3RhbnRzRXZlbnRUeXBlczJbJ2RlZmF1bHQnXS5VSV9UT1JSRU5UX0RFVEFJTFNfT1BFTl9DSEFOR0UsIHRoaXMub25PcGVuQ2hhbmdlKTtcbiAgICAgIF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLnVubGlzdGVuKF9jb25zdGFudHNFdmVudFR5cGVzMlsnZGVmYXVsdCddLlVJX1RPUlJFTlRfREVUQUlMU19IQVNIX0NIQU5HRSwgdGhpcy5vblRvcnJlbnREZXRhaWxzSGFzaENoYW5nZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25SZWNlaXZlVG9ycmVudHNTdWNjZXNzJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25SZWNlaXZlVG9ycmVudHNTdWNjZXNzKCkge1xuICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ29uVG9ycmVudERldGFpbHNIYXNoQ2hhbmdlJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25Ub3JyZW50RGV0YWlsc0hhc2hDaGFuZ2UoKSB7XG4gICAgICBpZiAodGhpcy5zdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5mZXRjaFRvcnJlbnREZXRhaWxzKF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnREZXRhaWxzSGFzaCgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdvbk9wZW5DaGFuZ2UnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbk9wZW5DaGFuZ2UoKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgaXNPcGVuOiBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5pc1RvcnJlbnREZXRhaWxzT3BlbigpXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdvblRvcnJlbnREZXRhaWxzQ2hhbmdlJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25Ub3JyZW50RGV0YWlsc0NoYW5nZSgpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB0b3JyZW50RGV0YWlsczogX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlscyhfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKSlcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2dldE5hdmlnYXRpb25JdGVtJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TmF2aWdhdGlvbkl0ZW0oaXRlbSkge1xuICAgICAgdmFyIHRvcnJlbnREZXRhaWxzID0gdGhpcy5zdGF0ZS50b3JyZW50RGV0YWlscyB8fCB7fTtcbiAgICAgIHZhciBzZWxlY3RlZEhhc2ggPSBfc3RvcmVzVUlTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50RGV0YWlsc0hhc2goKTtcbiAgICAgIHZhciB0b3JyZW50ID0gX3N0b3Jlc1RvcnJlbnRTdG9yZTJbJ2RlZmF1bHQnXS5nZXRUb3JyZW50KHNlbGVjdGVkSGFzaCk7XG5cbiAgICAgIHN3aXRjaCAoaXRlbSkge1xuICAgICAgICBjYXNlICdnZW5lcmFsJzpcbiAgICAgICAgICByZXR1cm4gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEdlbmVyYWxJbmZvMlsnZGVmYXVsdCddLCB7IHRvcnJlbnQ6IHRvcnJlbnQgfSk7XG4gICAgICAgIGNhc2UgJ2ZpbGVzJzpcbiAgICAgICAgICByZXR1cm4gX3JlYWN0MlsnZGVmYXVsdCddLmNyZWF0ZUVsZW1lbnQoX3RvcnJlbnREZXRhaWxzVG9ycmVudEZpbGVzMlsnZGVmYXVsdCddLCB7IGZpbGVzOiB0b3JyZW50RGV0YWlscy5maWxlcywgdG9ycmVudDogdG9ycmVudCB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndHJhY2tlcnMnOlxuICAgICAgICAgIHJldHVybiBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfdG9ycmVudERldGFpbHNUb3JyZW50VHJhY2tlcnMyWydkZWZhdWx0J10sIHsgdHJhY2tlcnM6IHRvcnJlbnREZXRhaWxzLnRyYWNrZXJzIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwZWVycyc6XG4gICAgICAgICAgcmV0dXJuIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KF90b3JyZW50RGV0YWlsc1RvcnJlbnRQZWVyczJbJ2RlZmF1bHQnXSwgeyBwZWVyczogdG9ycmVudERldGFpbHMucGVlcnMgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2dldE5hdmlnYXRpb25JdGVtcycsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE5hdmlnYXRpb25JdGVtcygpIHtcbiAgICAgIHJldHVybiBbe1xuICAgICAgICBzbHVnOiAnZ2VuZXJhbCcsXG4gICAgICAgIGxhYmVsOiAnR2VuZXJhbCdcbiAgICAgIH0sIHtcbiAgICAgICAgc2x1ZzogJ2ZpbGVzJyxcbiAgICAgICAgbGFiZWw6ICdGaWxlcydcbiAgICAgIH0sIHtcbiAgICAgICAgc2x1ZzogJ3BlZXJzJyxcbiAgICAgICAgbGFiZWw6ICdQZWVycydcbiAgICAgIH0sIHtcbiAgICAgICAgc2x1ZzogJ3RyYWNrZXJzJyxcbiAgICAgICAgbGFiZWw6ICdUcmFja2VycydcbiAgICAgIH1dO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2hhbmRsZU5hdkNoYW5nZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGhhbmRsZU5hdkNoYW5nZShpdGVtKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdG9ycmVudERldGFpbHNQYW5lOiBpdGVtLnNsdWcgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAncmVuZGVyJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIGRldGFpbENvbnRlbnQgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5zdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgdmFyIHNlbGVjdGVkSGFzaCA9IF9zdG9yZXNVSVN0b3JlMlsnZGVmYXVsdCddLmdldFRvcnJlbnREZXRhaWxzSGFzaCgpO1xuICAgICAgICB2YXIgdG9ycmVudCA9IF9zdG9yZXNUb3JyZW50U3RvcmUyWydkZWZhdWx0J10uZ2V0VG9ycmVudChzZWxlY3RlZEhhc2gpO1xuXG4gICAgICAgIGRldGFpbENvbnRlbnQgPSBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAnZGl2JyxcbiAgICAgICAgICB7IGNsYXNzTmFtZTogJ3RvcnJlbnQtZGV0YWlscycgfSxcbiAgICAgICAgICBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChfdG9ycmVudERldGFpbHNUb3JyZW50SGVhZGluZzJbJ2RlZmF1bHQnXSwgeyB0b3JyZW50OiB0b3JyZW50IH0pLFxuICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgICB7IGNsYXNzTmFtZTogJ3RvcnJlbnQtZGV0YWlsc19fY29udGVudF9fd3JhcHBlcicgfSxcbiAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KF91aU5hdmlnYXRpb25MaXN0MlsnZGVmYXVsdCddLCB7IGRlZmF1bHRJdGVtOiB0aGlzLnN0YXRlLnRvcnJlbnREZXRhaWxzUGFuZSxcbiAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuZ2V0TmF2aWdhdGlvbkl0ZW1zKCksIG9uQ2hhbmdlOiB0aGlzLmhhbmRsZU5hdkNoYW5nZSxcbiAgICAgICAgICAgICAgdW5pcXVlQ2xhc3NOYW1lOiAndG9ycmVudC1kZXRhaWxzX19uYXZpZ2F0aW9uJyB9KSxcbiAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICBfdWlDdXN0b21TY3JvbGxiYXJzMlsnZGVmYXVsdCddLFxuICAgICAgICAgICAgICB7IGNsYXNzTmFtZTogJ3RvcnJlbnQtZGV0YWlsc19fc2Nyb2xsLWNvbnRhaW5lcicsIGludmVydGVkOiB0cnVlIH0sXG4gICAgICAgICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdkaXYnLFxuICAgICAgICAgICAgICAgIHsgY2xhc3NOYW1lOiAndG9ycmVudC1kZXRhaWxzX19jb250ZW50JyB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmF2aWdhdGlvbkl0ZW0odGhpcy5zdGF0ZS50b3JyZW50RGV0YWlsc1BhbmUpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfcmVhY3QyWydkZWZhdWx0J10uY3JlYXRlRWxlbWVudChcbiAgICAgICAgX2xheW91dEFwcGxpY2F0aW9uUGFuZWwyWydkZWZhdWx0J10sXG4gICAgICAgIHsgbW9kaWZpZXI6ICd0b3JyZW50LWRldGFpbHMnIH0sXG4gICAgICAgIF9yZWFjdDJbJ2RlZmF1bHQnXS5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgIF9yZWFjdEFkZG9uc0Nzc1RyYW5zaXRpb25Hcm91cDJbJ2RlZmF1bHQnXSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGFzc05hbWU6ICd0b3JyZW50LWRldGFpbHNfX3dyYXBwZXInLFxuICAgICAgICAgICAgdHJhbnNpdGlvbkVudGVyVGltZW91dDogMTAwMCxcbiAgICAgICAgICAgIHRyYW5zaXRpb25MZWF2ZVRpbWVvdXQ6IDEwMDAsXG4gICAgICAgICAgICB0cmFuc2l0aW9uTmFtZTogJ3RvcnJlbnQtZGV0YWlscycgfSxcbiAgICAgICAgICBkZXRhaWxDb250ZW50XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFRvcnJlbnREZXRhaWxzO1xufSkoX3JlYWN0MlsnZGVmYXVsdCddLkNvbXBvbmVudCk7XG5cbmV4cG9ydHNbJ2RlZmF1bHQnXSA9IFRvcnJlbnREZXRhaWxzO1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzWydkZWZhdWx0J107XG5cblxuLyoqKioqKioqKioqKioqKioqXG4gKiogV0VCUEFDSyBGT09URVJcbiAqKiAuL2NsaWVudC9zb3VyY2Uvc2NyaXB0cy9jb21wb25lbnRzL3BhbmVscy9Ub3JyZW50RGV0YWlsc1ZpZXcuanNcbiAqKiBtb2R1bGUgaWQgPSAyNTRcbiAqKiBtb2R1bGUgY2h1bmtzID0gMFxuICoqLyJdLCJzb3VyY2VSb290IjoiIn0=");
/***/ },
/* 255 */
diff --git a/server/assets/style.css b/server/assets/style.css
index 2e77cfce..a7c8f202 100644
--- a/server/assets/style.css
+++ b/server/assets/style.css
@@ -972,16 +972,30 @@ body {
.directory-tree__node--directory .icon {
fill: rgba(82, 120, 147, 0.4); }
.directory-tree__node .file {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- line-height: 1.7;
+ line-height: 1.4;
+ margin-left: -9px;
+ padding: 2px 0 2px 9px;
+ -webkit-transition: background 0.25s, box-shadow 0.25s, color 0.25s;
+ transition: background 0.25s, box-shadow 0.25s, color 0.25s;
width: 100%; }
- .directory-tree__node .file:hover .file__detail--size, .directory-tree__node .file:hover .file__detail--priority {
- color: #527893; }
+ .directory-tree__node .file:hover {
+ background: rgba(26, 45, 60, 0.8);
+ box-shadow: 0 1px 0 #1f3647, 0 -1px 0 #1f3647;
+ color: #79a7c7; }
+ .directory-tree__node .file:hover .file__detail--size, .directory-tree__node .file:hover .file__detail--priority {
+ color: #527893; }
.directory-tree__node .file .icon {
- fill: #344b5b; }
+ fill: #344b5b;
+ margin-top: -3px;
+ vertical-align: middle; }
.directory-tree__node .file__detail {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
@@ -1594,6 +1608,14 @@ body {
-webkit-transition: opacity 1s;
transition: opacity 1s;
z-index: 2; }
+ .torrent-details__wrapper {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ height: 100%; }
+ .torrent-details__scroll-container {
+ height: auto !important; }
.torrent-details__header {
box-shadow: 0 1px 0 rgba(4, 13, 19, 0.3);
-webkit-box-flex: 0;
@@ -1648,8 +1670,8 @@ body {
flex: 1;
overflow: hidden; }
.torrent-details__navigation {
- background: rgba(16, 26, 34, 0.1);
- box-shadow: 1px 0 0 rgba(4, 13, 19, 0.35);
+ background: transparent;
+ box-shadow: 1px 0 0 rgba(4, 13, 19, 0.4);
min-width: 125px;
padding: 12.5px 0; }
.torrent-details__navigation .navigation__item {
diff --git a/server/assets/style.css.map b/server/assets/style.css.map
index fd68e263..4d37ed7e 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","components/_action-bar.scss","components/_application-content.scss","components/_badge.scss","components/_client-stats.scss","components/_directory-tree.scss","components/_dropdown.scss","components/_floating-action.scss","components/_icons.scss","components/_loading-indicator.scss","components/_modals.scss","components/_priority-meter.scss","components/_progress-bar.scss","components/_scrollbars.scss","components/_sidebar.scss","components/_sidebar-filter.scss","components/_textbox-repeater.scss","components/_torrent-details-panel.scss","components/_torrents.scss","components/_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.has-icon .icon {\n height: 16px;\n margin: 0 8.33333px;\n vertical-align: middle;\n width: 16px; }\n .button.has-icon .icon:first-child {\n margin-left: 0; }\n .button.has-icon .icon:last-child {\n margin-right: 0; }\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.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 display: flex;\n flex: 1; }\n .torrent__list__wrapper--custom-scroll {\n flex: 1;\n height: auto !important; }\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.action-bar {\n background: transparent;\n color: #1b1a1c;\n display: flex;\n flex: 0 0 60px;\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__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 .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 .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.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.application__content {\n background: #e9eef2; }\n\n.badge {\n background: #2b4456;\n border-radius: 100px;\n color: #132532;\n display: inline-block;\n font-size: 0.8em;\n font-weight: 800;\n line-height: 1;\n margin-left: 10px;\n padding: 1px 5px;\n transition: background 0.25s;\n vertical-align: baseline; }\n\n.client-stats {\n height: 200px;\n position: relative; }\n .client-stats .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%); }\n .client-stats .transfer-data-enter {\n opacity: 0;\n transition: opacity 1s; }\n .client-stats .transfer-data-enter.transfer-data-enter-active {\n opacity: 1; }\n .client-stats .transfer-data-leave {\n opacity: 1;\n transition: opacity 1s; }\n .client-stats .transfer-data-leave.transfer-data-leave-active {\n opacity: 0; }\n\n.client-stat {\n align-items: center;\n display: flex;\n height: 100px;\n padding: 0 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.directory-tree .icon {\n display: inline-block;\n fill: rgba(82, 120, 147, 0.4);\n height: 14px;\n margin-right: 6px;\n width: 14px; }\n\n.directory-tree__node {\n color: #527893;\n line-height: 1.75;\n text-overflow: ellipsis;\n vertical-align: middle;\n white-space: nowrap; }\n .directory-tree__node--group {\n padding-left: 10px;\n position: relative; }\n .directory-tree__node--group:after {\n background: rgba(82, 120, 147, 0.1);\n content: '';\n height: 100%;\n left: 5px;\n position: absolute;\n top: -5px;\n width: 2px; }\n .directory-tree__node--directory {\n color: #527893;\n cursor: pointer;\n transition: color 0.125s; }\n .directory-tree__node--directory.is-expanded {\n color: #719bb7;\n font-weight: 500; }\n .directory-tree__node--directory.is-expanded .icon {\n fill: rgba(130, 170, 197, 0.5); }\n .directory-tree__node--directory .icon {\n fill: rgba(82, 120, 147, 0.4); }\n .directory-tree__node .file {\n display: flex;\n line-height: 1.7;\n width: 100%; }\n .directory-tree__node .file:hover .file__detail--size, .directory-tree__node .file:hover .file__detail--priority {\n color: #527893; }\n .directory-tree__node .file .icon {\n fill: #344b5b; }\n .directory-tree__node .file__detail {\n flex: 1 1 auto;\n overflow: hidden;\n padding-right: 6.25px;\n text-overflow: ellipsis; }\n .directory-tree__node .file__detail--size, .directory-tree__node .file__detail--priority {\n color: #2b4456;\n flex: 0 0 auto;\n font-size: 0.95em;\n text-align: right;\n transition: color 0.25s; }\n .directory-tree__node .file__detail--priority .icon {\n height: auto;\n margin-right: 0;\n width: 16px; }\n .directory-tree__node .file__detail:last-child {\n padding-right: 0; }\n .directory-tree__node--file-list {\n margin-bottom: 3px; }\n\n.directory-tree__parent-directory {\n margin-left: -1px;\n overflow: hidden;\n text-overflow: ellipsis; }\n .directory-tree__parent-directory .icon {\n fill: rgba(58, 92, 116, 0.5);\n margin-right: 8px;\n vertical-align: middle; }\n\n.directory-tree__tree .directory-tree__tree {\n padding-left: 6px; }\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@keyframes loading-indicator-dots-pulse {\n 0% {\n fill-opacity: 0.2; }\n 100% {\n fill-opacity: 0.8; } }\n\n.icon--eta .icon__ring {\n fill-opacity: 1; }\n\n.icon--loading-indicator .loading-indicator--dots__dot {\n animation: loading-indicator-dots-pulse 0.6s linear alternate infinite;\n fill: #fff; }\n .icon--loading-indicator .loading-indicator--dots__dot--center {\n animation-delay: 0.2s; }\n .icon--loading-indicator .loading-indicator--dots__dot--right {\n animation-delay: 0.4s; }\n\n@keyframes loading-indicator-swipe {\n 0% {\n transform: translateX(-100%); }\n 50% {\n transform: translateX(400%); }\n 100% {\n transform: translateX(400%); } }\n\n.loading-indicator {\n height: 18px;\n position: relative;\n width: 32px; }\n .loading-indicator.is-inverse .loading-indicator__bar {\n background: rgba(56, 88, 109, 0.7); }\n .loading-indicator.is-inverse .loading-indicator__bar:after {\n background: rgba(37, 141, 229, 0.75); }\n .loading-indicator__bar {\n background: #e9eef2;\n border-radius: 10px;\n height: 3px;\n left: 0;\n overflow: hidden;\n position: absolute;\n transform: translateY(0);\n width: 100%; }\n .loading-indicator__bar:after {\n animation: loading-indicator-swipe 3s ease-in-out infinite;\n background: rgba(37, 141, 229, 0.75);\n border-radius: 10px;\n content: '';\n display: block;\n height: 100%;\n transform: translateX(-100%);\n width: 25%; }\n .loading-indicator__bar--1 {\n top: 0; }\n .loading-indicator__bar--2 {\n top: 50%;\n transform: translateY(-50%); }\n .loading-indicator__bar--2:after {\n animation-delay: 0.5s; }\n .loading-indicator__bar--3 {\n bottom: 0; }\n .loading-indicator__bar--3:after {\n animation-delay: 1s; }\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 .modal__content--align-center {\n text-align: center; }\n .modal__footer {\n margin-top: 25px; }\n .modal__button-group {\n text-align: right; }\n .modal__button-group .button + .button {\n margin-left: 20px; }\n .modal__header {\n color: #313436;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px; }\n .modal__animation-enter {\n opacity: 0; }\n .modal__animation-enter-active {\n opacity: 1; }\n .modal__animation-leave {\n opacity: 1;\n pointer-events: none; }\n .modal__animation-leave-active {\n opacity: 0; }\n\n.priority-meter {\n height: 8px;\n position: relative; }\n .priority-meter__wrapper {\n cursor: pointer;\n display: inline-block;\n padding: 5px;\n user-select: none;\n vertical-align: middle; }\n .priority-meter:before, .priority-meter:after {\n content: '';\n display: block;\n position: absolute; }\n .priority-meter:before {\n height: 2px;\n left: 0;\n top: 3px;\n transition: background 0.25s;\n width: 100%; }\n .priority-meter:after {\n height: 100%;\n top: 0;\n transition: background 0.25s, left 0.25s;\n width: 2px; }\n .priority-meter--max-2 {\n width: 18px; }\n .priority-meter--max-2.priority-meter--level-0:before {\n background: rgba(67, 96, 118, 0.2); }\n .priority-meter--max-2.priority-meter--level-0:after {\n left: 0;\n background: #436076; }\n .priority-meter--max-2.priority-meter--level-1:before {\n background: rgba(37, 141, 229, 0.2); }\n .priority-meter--max-2.priority-meter--level-1:after {\n left: 8px;\n background: #258de5; }\n .priority-meter--max-2.priority-meter--level-2:before {\n background: rgba(57, 206, 131, 0.2); }\n .priority-meter--max-2.priority-meter--level-2:after {\n background: #39ce83;\n left: 16px; }\n .priority-meter--max-3 {\n width: 26px; }\n .priority-meter--max-3.priority-meter--level-0:before {\n background: rgba(67, 96, 118, 0.2); }\n .priority-meter--max-3.priority-meter--level-0:after {\n left: 0;\n background: #436076; }\n .priority-meter--max-3.priority-meter--level-1:before {\n background: rgba(37, 141, 229, 0.2); }\n .priority-meter--max-3.priority-meter--level-1:after {\n left: 8px;\n background: #258de5; }\n .priority-meter--max-3.priority-meter--level-2:before {\n background: rgba(57, 206, 131, 0.2); }\n .priority-meter--max-3.priority-meter--level-2:after {\n background: #39ce83;\n left: 16px; }\n .priority-meter--max-3.priority-meter--level-3:before {\n background: rgba(57, 206, 131, 0.2); }\n .priority-meter--max-3.priority-meter--level-3:after {\n background: #39ce83;\n left: 24px; }\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-seeding .progress-bar__fill {\n background: #258de5; }\n .is-completed .progress-bar__fill,\n .is-stopped .progress-bar__fill {\n background: #e3e5e5; }\n .is-selected .progress-bar__fill {\n background: #fff; }\n .has-error .progress-bar__fill {\n background: #e95779; }\n\n.scrollbars__thumb {\n background: rgba(26, 47, 61, 0.3);\n border-radius: 10px;\n cursor: pointer;\n opacity: 0;\n transition: background 0.25s, opacity 0.5s; }\n .scrollbars__thumb:active {\n opacity: 1; }\n .scrollbars__thumb:hover, .scrollbars__thumb:active {\n background: rgba(26, 47, 61, 0.6); }\n .is-inverted .scrollbars__thumb {\n background: rgba(233, 238, 242, 0.3); }\n .is-inverted .scrollbars__thumb:hover, .is-inverted .scrollbars__thumb:active {\n background: rgba(233, 238, 242, 0.6); }\n\n.scrollbars:hover .scrollbars__thumb {\n opacity: 1; }\n\n.application__sidebar {\n box-shadow: 1px 0 rgba(6, 9, 11, 0.3);\n color: #53718a;\n flex: 1;\n min-width: 200px;\n max-width: 240px;\n overflow: auto;\n position: relative;\n z-index: 2; }\n\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\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.sidebar-filter {\n font-size: 0.85em;\n padding: 30px 0; }\n .sidebar-filter + .sidebar-filter {\n padding-top: 0; }\n .sidebar-filter__item {\n color: #53718a;\n cursor: pointer;\n font-weight: 400;\n padding: 3px 20px;\n transition: color 0.25s; }\n .sidebar-filter__item:hover {\n color: #7a97af; }\n .sidebar-filter__item:hover .icon {\n fill: #7a97af; }\n .sidebar-filter__item.is-active {\n color: #258de5;\n font-weight: 700; }\n .sidebar-filter__item.is-active .badge {\n background: #3b586d; }\n .sidebar-filter__item.is-active .icon {\n fill: #258de5; }\n .sidebar-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 .sidebar-filter .badge {\n background: #2b4456;\n color: #132532; }\n\n.sidebar-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 .sidebar-filter__item--heading, .sidebar-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: #0e2231; }\n\n.torrent-details {\n background: #0e2231;\n bottom: 0;\n box-shadow: -1px 0 0 rgba(26, 47, 61, 0.1);\n display: flex;\n flex-direction: column;\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 1s;\n z-index: 2; }\n .torrent-details__header {\n box-shadow: 0 1px 0 rgba(4, 13, 19, 0.3);\n flex: 0 0 auto;\n padding: 12.5px 25px 16.66667px 25px; }\n .torrent-details__header.has-error .progress-bar__fill {\n background: #be2558; }\n .torrent-details__header.is-stopped .progress-bar__fill {\n background: #7b9cb4; }\n .torrent-details__header .progress-bar:after {\n background: #2a3e4c; }\n .torrent-details__action {\n cursor: pointer;\n transition: color 0.25s; }\n .torrent-details__action .icon {\n transition: fill 0.25s; }\n .torrent-details__action.is-active {\n color: #258de5; }\n .torrent-details__action.is-active .icon {\n fill: #258de5; }\n .torrent-details__table {\n color: #527893;\n width: 100%; }\n .torrent-details__table__heading--primary {\n color: #3a5c74;\n font-size: 1.125em; }\n .torrent-details__table__heading--secondary {\n color: rgba(82, 120, 147, 0.5);\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n .torrent-details__content {\n flex: 1;\n overflow: auto;\n padding: 16.66667px 25px; }\n .torrent-details__content__wrapper {\n background: rgba(16, 26, 34, 0.4);\n display: flex;\n flex: 1;\n overflow: hidden; }\n .torrent-details__navigation {\n background: rgba(16, 26, 34, 0.1);\n box-shadow: 1px 0 0 rgba(4, 13, 19, 0.35);\n min-width: 125px;\n padding: 12.5px 0; }\n .torrent-details__navigation .navigation__item {\n cursor: pointer;\n padding: 6.25px 25px;\n text-align: right;\n transition: background 0.25s, box-shadow 0.25s, color 0.25s; }\n .torrent-details__navigation .navigation__item.is-active {\n background: rgba(52, 156, 244, 0.07);\n box-shadow: 1px 0 0 #349cf4;\n color: #349cf4; }\n .torrent-details__section__heading, .torrent-details__section__null-data {\n color: #3a5c74;\n font-size: 1.15em;\n margin-bottom: 2.5px; }\n .torrent-details__section__heading .badge {\n background: rgba(82, 120, 147, 0.5);\n color: #0c1b26; }\n\n.torrent-details__heading {\n color: #c7dbeb;\n font-size: 1.7em;\n font-weight: 300; }\n\n.torrent-details__sub-heading {\n display: flex;\n margin-bottom: 6.25px; }\n .torrent-details__sub-heading__secondary {\n color: #7b9cb4;\n display: flex;\n flex: 1 0 auto; }\n .torrent-details__sub-heading__secondary:first-child {\n justify-content: flex-start; }\n .torrent-details__sub-heading__secondary:last-child {\n justify-content: flex-end; }\n .torrent-details__sub-heading__tertiary {\n flex: 0 0 auto;\n margin-right: 1em; }\n .torrent-details__sub-heading__tertiary .icon {\n fill: rgba(77, 111, 135, 0.5);\n height: 12px;\n margin-right: 3px;\n margin-top: -3px;\n vertical-align: middle;\n width: 12px; }\n .torrent-details__sub-heading__tertiary .priority-meter {\n display: inline-block;\n margin-top: -1px;\n margin-right: 6px;\n vertical-align: middle; }\n .torrent-details__sub-heading__tertiary .priority-meter__wrapper {\n margin-top: -3px;\n padding: 0; }\n .torrent-details__sub-heading__tertiary--download {\n color: #258de5; }\n .torrent-details__sub-heading__tertiary--download .icon {\n fill: #258de5; }\n .torrent-details__sub-heading__tertiary--upload {\n color: #39ce83; }\n .torrent-details__sub-heading__tertiary--upload .icon {\n fill: #39ce83; }\n .torrent-details__sub-heading__tertiary:last-child {\n margin-right: 0; }\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 .torrents .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%); }\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 transition: opacity 1s;\n user-select: none;\n z-index: 1; }\n .torrent__list--loading-enter {\n opacity: 0;\n transition: opacity 1s; }\n .torrent__list--loading-enter-active {\n opacity: 1; }\n .torrent__list--loading-leave {\n opacity: 1;\n transition: opacity 1s; }\n .torrent__list--loading-leave-active {\n opacity: 0; }\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.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\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 &.has-icon {\n\n .icon {\n height: 16px;\n margin: 0 $spacing-unit * 1/3;\n vertical-align: middle;\n width: 16px;\n\n &:first-child {\n margin-left: 0;\n }\n\n &:last-child {\n margin-right: 0;\n }\n }\n }\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.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$white: #fff;\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$sidebar-filter--foreground: $sidebar--foreground;\n$sidebar-filter--foreground--header: rgba($sidebar-filter--foreground, 0.5);\n$sidebar-filter--foreground--active: $blue;\n$sidebar-filter--foreground--hover: lighten($sidebar-filter--foreground, 15%);\n\n$sidebar-filter--count--foreground: #132532;\n$sidebar-filter--count--background: #2b4456;\n$sidebar-filter--count--background--active: #3b586d;\n\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$progress-bar--fill--error: #e95779;\n\n// torrent details\n$torrent-details--background: saturate(lighten(#0c1b26, 2.5%), 4%); //#162835;\n$torrent-details--border: rgba($background, 0.1);\n\n$torrent-details--header--border: rgba(#040d13, 0.3);\n$torrent-details--header--name--foreground: #c7dbeb;\n$torrent-details--header--tertiary--foreground: #7b9cb4;\n$torrent-details--header--progress-bar--track: #2a3e4c;\n$torrent-details--header--progress-bar--fill--error: #be2558;\n\n$torrent-details--navigation--border: rgba(#040d13, 0.35);\n$torrent-details--navigation--item--background--active: rgba(#349cf4, 0.07);\n$torrent-details--navigation--item--foreground--active: #349cf4;\n$torrent-details--navigation--item--border--active: #349cf4;\n$torrent-details--navigation--background: rgba(desaturate(#0c1b26, 15%), 0.1);\n\n$torrent-details--content--background: rgba(desaturate(#0c1b26, 15%), 0.4);\n\n$torrent-details--directory-tree--parent-directory--foreground: #3a5c74;\n$torrent-details--directory-tree--parent-directory--icon--fill: rgba(#3a5c74, 0.5);\n\n$torrent-details--table--foreground: #527893;\n$torrent-details--table--header: rgba(#527893, 0.5);\n$torrent-details--table--header--count--background: rgba(#527893, 0.5);\n$torrent-details--table--header--count--foreground: #0c1b26;\n\n$torrent-details--header--icon--default--fill: rgba(#4d6f87, 0.5);\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: #527893;\n$directory-tree--directory--foreground: $directory-tree--filename--foreground;\n$directory-tree--directory--foreground--open: #719bb7;\n\n$directory-tree--icon--file: #344b5b;\n$directory-tree--icon--folder: rgba(#527893, 0.4);\n$directory-tree--icon--folder--active: rgba(#82aac5, 0.5);\n$directory-tree--icon--folder--open: rgba(#82aac5, 0.5);\n\n$directory-tree--file-details--foreground: #2b4456;\n$directory-tree--file-details--hover--foreground: #527893;\n\n// scrollbars\n$scrollbar--thumb--background--inactive: rgba(#1a2f3d, 0.3);\n$scrollbar--thumb--background--hover: rgba(#1a2f3d, 0.6);\n$scrollbar--thumb--background--inverted--inactive: rgba(#e9eef2, 0.3);\n$scrollbar--thumb--background--inverted--hover: rgba(#e9eef2, 0.6);\n\n// loading indicator\n$loading-indicator--bar--background: #e9eef2;\n$loading-indicator--bar--background--inverse: rgba(#38586d, 0.7);\n$loading-indicator--tick--background: rgba($blue, 0.75);\n$loading-indicator--tick--background--inverse: rgba($blue, 0.75);\n\n// priority meter\n$priority-meter--track--level-0--background: rgba(#436076, 0.2);\n$priority-meter--bar--level-0--background: #436076;\n$priority-meter--track--level-1--background: rgba($blue, 0.2);\n$priority-meter--bar--level-1--background: $blue;\n$priority-meter--track--level-2--background: rgba($green, 0.2);\n$priority-meter--bar--level-2--background: $green;\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.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 &__list {\n\n &__wrapper {\n display: flex;\n flex: 1;\n\n &--custom-scroll {\n flex: 1;\n height: auto !important;\n }\n }\n }\n}\n","body {\n background: $background;\n}\n\nul {\n list-style: none;\n}\n",".action-bar {\n background: $action-bar--background;\n color: $action-bar--foreground;\n display: flex;\n flex: 0 0 60px;\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 &--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 &--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 &__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.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",".application {\n\n &__content {\n background: $main-content--background;\n }\n}\n",".badge {\n background: $sidebar-filter--count--background;\n border-radius: 100px;\n color: $sidebar-filter--count--foreground;\n display: inline-block;\n font-size: 0.8em;\n font-weight: 800;\n line-height: 1;\n margin-left: 10px;\n padding: 1px 5px;\n transition: background 0.25s;\n vertical-align: baseline;\n}\n",".client-stats {\n height: 200px;\n position: relative;\n\n .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n .transfer-data-enter {\n opacity: 0;\n transition: opacity 1s;\n\n &.transfer-data-enter-active {\n opacity: 1;\n }\n }\n\n .transfer-data-leave {\n opacity: 1;\n transition: opacity 1s;\n\n &.transfer-data-leave-active {\n opacity: 0;\n }\n }\n}\n\n.client-stat {\n align-items: center;\n display: flex;\n height: 100px;\n padding: 0 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",".directory-tree {\n\n .icon {\n display: inline-block;\n fill: $directory-tree--icon--folder;\n height: 14px;\n margin-right: 6px;\n width: 14px;\n }\n\n &__node {\n color: $directory-tree--filename--foreground;\n line-height: 1.75;\n text-overflow: ellipsis;\n vertical-align: middle;\n white-space: nowrap;\n\n &--group {\n padding-left: 10px;\n position: relative;\n\n &:after {\n background: rgba(#527893, 0.1);\n content: '';\n height: 100%;\n left: 5px;\n position: absolute;\n top: -5px;\n width: 2px;\n }\n }\n\n &--directory {\n color: $directory-tree--directory--foreground;\n cursor: pointer;\n transition: color 0.125s;\n\n &.is-expanded {\n color: $directory-tree--directory--foreground--open;\n font-weight: 500;\n\n .icon {\n fill: $directory-tree--icon--folder--active;\n }\n }\n\n .icon {\n fill: $directory-tree--icon--folder;\n }\n }\n\n .file {\n display: flex;\n line-height: 1.7;\n width: 100%;\n\n &:hover {\n\n .file {\n\n &__detail {\n\n &--size,\n &--priority {\n color: $directory-tree--file-details--hover--foreground;\n }\n }\n }\n }\n\n .icon {\n fill: $directory-tree--icon--file;\n }\n\n &__detail {\n flex: 1 1 auto;\n overflow: hidden;\n padding-right: $spacing-unit * 1/4;\n text-overflow: ellipsis;\n\n &--size,\n &--priority {\n color: $directory-tree--file-details--foreground;\n flex: 0 0 auto;\n font-size: 0.95em;\n text-align: right;\n transition: color 0.25s;\n }\n\n &--priority {\n\n .icon {\n height: auto;\n margin-right: 0;\n width: 16px;\n }\n }\n\n &:last-child {\n padding-right: 0;\n }\n }\n }\n\n &--file-list {\n margin-bottom: 3px;\n }\n }\n\n &__parent-directory {\n margin-left: -1px;\n overflow: hidden;\n text-overflow: ellipsis;\n\n .icon {\n fill: $torrent-details--directory-tree--parent-directory--icon--fill;\n margin-right: 8px;\n vertical-align: middle;\n }\n }\n\n &__tree {\n\n .directory-tree__tree {\n padding-left: 6px;\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","@keyframes loading-indicator-dots-pulse {\n 0% {\n fill-opacity: 0.2;\n }\n\n 100% {\n fill-opacity: 0.8;\n }\n}\n\n.icon {\n\n &--eta {\n\n .icon {\n\n &__ring {\n fill-opacity: 1;\n }\n }\n }\n\n &--loading-indicator {\n\n .loading-indicator {\n\n &--dots {\n\n &__dot {\n animation: loading-indicator-dots-pulse 0.6s linear alternate infinite;\n fill: $white;\n\n &--center {\n animation-delay: 0.2s;\n }\n\n &--right {\n animation-delay: 0.4s;\n }\n }\n }\n }\n }\n}\n","@keyframes loading-indicator-swipe {\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n transform: translateX(400%);\n }\n\n 100% {\n transform: translateX(400%);\n }\n}\n\n.loading-indicator {\n height: 18px;\n position: relative;\n width: 32px;\n\n &.is-inverse {\n\n .loading-indicator {\n\n &__bar {\n background: $loading-indicator--bar--background--inverse;\n\n &:after {\n background: $loading-indicator--tick--background--inverse;\n }\n }\n }\n }\n\n &__bar {\n background: $loading-indicator--bar--background;\n border-radius: 10px;\n height: 3px;\n left: 0;\n overflow: hidden;\n position: absolute;\n transform: translateY(0);\n width: 100%;\n\n &:after {\n animation: loading-indicator-swipe 3s ease-in-out infinite;\n background: $loading-indicator--tick--background;\n border-radius: 10px;\n content: '';\n display: block;\n height: 100%;\n transform: translateX(-100%);\n width: 25%;\n }\n\n &--1 {\n top: 0;\n }\n\n &--2 {\n top: 50%;\n transform: translateY(-50%);\n\n &:after {\n animation-delay: 0.5s;\n }\n }\n\n &--3 {\n bottom: 0;\n\n &:after {\n animation-delay: 1s;\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 &--align-center {\n text-align: center;\n }\n }\n\n &__footer {\n margin-top: $spacing-unit;\n }\n\n &__button-group {\n text-align: right;\n\n .button {\n\n & + .button {\n margin-left: 20px;\n }\n }\n }\n\n &__header {\n color: $modal--header--foreground;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px;\n }\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",".priority-meter {\n height: 8px;\n position: relative;\n\n &__wrapper {\n cursor: pointer;\n display: inline-block;\n padding: 5px;\n user-select: none;\n vertical-align: middle;\n }\n\n &:before,\n &:after {\n content: '';\n display: block;\n position: absolute;\n }\n\n &:before {\n height: 2px;\n left: 0;\n top: 3px;\n transition: background 0.25s;\n width: 100%;\n }\n\n &:after {\n height: 100%;\n top: 0;\n transition: background 0.25s, left 0.25s;\n width: 2px;\n }\n\n &--max-2 {\n width: 18px;\n\n &.priority-meter {\n\n &--level-0 {\n\n &:before {\n background: $priority-meter--track--level-0--background;\n }\n\n &:after {\n left: 0;\n background: $priority-meter--bar--level-0--background;\n }\n }\n\n &--level-1 {\n\n &:before {\n background: $priority-meter--track--level-1--background;\n }\n\n &:after {\n left: 8px;\n background: $priority-meter--bar--level-1--background;\n }\n }\n\n &--level-2 {\n\n &:before {\n background: $priority-meter--track--level-2--background;\n }\n\n &:after {\n background: $priority-meter--bar--level-2--background;\n left: 16px;\n }\n }\n }\n }\n\n &--max-3 {\n width: 26px;\n\n &.priority-meter {\n\n &--level-0 {\n\n &:before {\n background: $priority-meter--track--level-0--background;\n }\n\n &:after {\n left: 0;\n background: $priority-meter--bar--level-0--background;\n }\n }\n\n &--level-1 {\n\n &:before {\n background: $priority-meter--track--level-1--background;\n }\n\n &:after {\n left: 8px;\n background: $priority-meter--bar--level-1--background;\n }\n }\n\n &--level-2 {\n\n &:before {\n background: $priority-meter--track--level-2--background;\n }\n\n &:after {\n background: $priority-meter--bar--level-2--background;\n left: 16px;\n }\n }\n\n &--level-3 {\n\n &:before {\n background: $priority-meter--track--level-2--background;\n }\n\n &:after {\n background: $priority-meter--bar--level-2--background;\n left: 24px;\n }\n }\n }\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-seeding & {\n background: $progress-bar--fill--completed;\n }\n\n .is-completed &,\n .is-stopped & {\n background: $progress-bar--fill--stopped;\n }\n\n .is-selected & {\n background: $progress-bar--fill--selected;\n }\n\n .has-error & {\n background: $progress-bar--fill--error;\n }\n }\n}\n",".scrollbars {\n\n &__thumb {\n background: $scrollbar--thumb--background--inactive;\n border-radius: 10px;\n cursor: pointer;\n opacity: 0;\n transition: background 0.25s, opacity 0.5s;\n\n &:active {\n opacity: 1;\n }\n\n &:hover,\n &:active {\n background: $scrollbar--thumb--background--hover;\n }\n\n .is-inverted & {\n background: $scrollbar--thumb--background--inverted--inactive;\n\n &:hover,\n &:active {\n background: $scrollbar--thumb--background--inverted--hover;\n }\n }\n }\n\n &:hover {\n\n .scrollbars__thumb {\n opacity: 1;\n }\n }\n}\n",".application {\n\n &__sidebar {\n box-shadow: 1px 0 $sidebar--border;\n color: $sidebar--foreground;\n flex: 1;\n min-width: 200px;\n max-width: 240px;\n overflow: auto;\n position: relative;\n z-index: 2;\n }\n}\n\n.sidebar {\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",".sidebar-filter {\n font-size: 0.85em;\n padding: 30px 0;\n\n & + .sidebar-filter {\n padding-top: 0;\n }\n\n &__item {\n color: $sidebar-filter--foreground;\n cursor: pointer;\n font-weight: 400;\n padding: 3px 20px;\n transition: color 0.25s;\n\n &:hover {\n color: $sidebar-filter--foreground--hover;\n\n .icon {\n fill: $sidebar-filter--foreground--hover;\n }\n }\n\n &.is-active {\n color: $sidebar-filter--foreground--active;\n font-weight: 700;\n\n .badge {\n background: $sidebar-filter--count--background--active;\n }\n\n .icon {\n fill: $sidebar-filter--foreground--active;\n }\n }\n\n .icon {\n display: inline-block;\n fill: $sidebar-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 .badge {\n background: $sidebar-filter--count--background;\n color: $sidebar-filter--count--foreground;\n }\n}\n\n\n.sidebar-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: $sidebar-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 display: flex;\n flex-direction: column;\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 1s;\n z-index: 2;\n\n &__header {\n box-shadow: 0 1px 0 $torrent-details--header--border;\n flex: 0 0 auto;\n padding: $spacing-unit * 1/2 $spacing-unit $spacing-unit * 2/3 $spacing-unit;\n\n &.has-error {\n\n .progress-bar {\n\n &__fill {\n background: $torrent-details--header--progress-bar--fill--error;\n }\n }\n }\n\n &.is-stopped {\n\n .progress-bar {\n\n &__fill {\n background: #7b9cb4;\n }\n }\n }\n\n .progress-bar {\n\n &:after {\n background: $torrent-details--header--progress-bar--track;\n }\n }\n }\n\n &__action {\n cursor: pointer;\n transition: color 0.25s;\n\n .icon {\n transition: fill 0.25s;\n }\n\n &.is-active {\n color: $blue;\n\n .icon {\n fill: $blue;\n }\n }\n }\n\n &__table {\n color: $torrent-details--table--foreground;\n width: 100%;\n\n &__heading {\n\n &--primary {\n color: $torrent-details--directory-tree--parent-directory--foreground;\n font-size: 1.125em;\n }\n\n &--secondary {\n color: $torrent-details--table--header;\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n }\n }\n }\n\n &__content {\n flex: 1;\n overflow: auto;\n padding: $spacing-unit * 2/3 $spacing-unit;\n\n &__wrapper {\n background: $torrent-details--content--background;\n display: flex;\n flex: 1;\n overflow: hidden;\n }\n }\n\n &__navigation {\n background: $torrent-details--navigation--background;\n box-shadow: 1px 0 0 $torrent-details--navigation--border;\n min-width: 125px;\n padding: $spacing-unit * 1/2 0;\n\n .navigation {\n\n &__item {\n cursor: pointer;\n padding: $spacing-unit * 1/4 $spacing-unit;\n text-align: right;\n transition: background 0.25s, box-shadow 0.25s, color 0.25s;\n\n &.is-active {\n background: $torrent-details--navigation--item--background--active;\n box-shadow: 1px 0 0 $torrent-details--navigation--item--border--active;\n color: $torrent-details--navigation--item--foreground--active;\n }\n }\n }\n }\n\n &__section {\n\n &__heading,\n &__null-data {\n color: $torrent-details--directory-tree--parent-directory--foreground;\n font-size: 1.15em;\n margin-bottom: $spacing-unit * 1/10;\n }\n\n &__heading {\n\n .badge {\n background: $torrent-details--table--header--count--background;\n color: $torrent-details--table--header--count--foreground;\n }\n }\n }\n}\n\n.torrent-details {\n\n &__heading {\n color: $torrent-details--header--name--foreground;\n font-size: 1.7em;\n font-weight: 300;\n }\n\n &__sub-heading {\n display: flex;\n margin-bottom: $spacing-unit * 1/4;\n\n &__secondary {\n color: $torrent-details--header--tertiary--foreground;\n display: flex;\n flex: 1 0 auto;\n\n &:first-child {\n justify-content: flex-start;\n }\n\n &:last-child {\n justify-content: flex-end;\n }\n }\n\n &__tertiary {\n flex: 0 0 auto;\n margin-right: 1em;\n\n .icon {\n fill: $torrent-details--header--icon--default--fill;\n height: 12px;\n margin-right: 3px;\n margin-top: -3px;\n vertical-align: middle;\n width: 12px;\n }\n\n .priority-meter {\n display: inline-block;\n margin-top: -1px;\n margin-right: 6px;\n vertical-align: middle;\n\n &__wrapper {\n margin-top: -3px;\n padding: 0;\n }\n }\n\n &--download {\n color: $blue;\n\n .icon {\n fill: $blue;\n }\n }\n\n &--upload {\n color: $green;\n\n .icon {\n fill: $green;\n }\n }\n\n &:last-child {\n margin-right: 0;\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 .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\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 transition: opacity 1s;\n user-select: none;\n z-index: 1;\n }\n\n &--loading {\n\n &-enter {\n opacity: 0;\n transition: opacity 1s;\n\n &-active {\n opacity: 1;\n }\n }\n\n &-leave {\n opacity: 1;\n transition: opacity 1s;\n\n &-active {\n opacity: 0;\n }\n }\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\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",".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","components/_action-bar.scss","components/_application-content.scss","components/_badge.scss","components/_client-stats.scss","components/_directory-tree.scss","components/_dropdown.scss","components/_floating-action.scss","components/_icons.scss","components/_loading-indicator.scss","components/_modals.scss","components/_priority-meter.scss","components/_progress-bar.scss","components/_scrollbars.scss","components/_sidebar.scss","components/_sidebar-filter.scss","components/_textbox-repeater.scss","components/_torrent-details-panel.scss","components/_torrents.scss","components/_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.has-icon .icon {\n height: 16px;\n margin: 0 8.33333px;\n vertical-align: middle;\n width: 16px; }\n .button.has-icon .icon:first-child {\n margin-left: 0; }\n .button.has-icon .icon:last-child {\n margin-right: 0; }\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.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 display: flex;\n flex: 1; }\n .torrent__list__wrapper--custom-scroll {\n flex: 1;\n height: auto !important; }\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.action-bar {\n background: transparent;\n color: #1b1a1c;\n display: flex;\n flex: 0 0 60px;\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__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 .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 .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.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.application__content {\n background: #e9eef2; }\n\n.badge {\n background: #2b4456;\n border-radius: 100px;\n color: #132532;\n display: inline-block;\n font-size: 0.8em;\n font-weight: 800;\n line-height: 1;\n margin-left: 10px;\n padding: 1px 5px;\n transition: background 0.25s;\n vertical-align: baseline; }\n\n.client-stats {\n height: 200px;\n position: relative; }\n .client-stats .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%); }\n .client-stats .transfer-data-enter {\n opacity: 0;\n transition: opacity 1s; }\n .client-stats .transfer-data-enter.transfer-data-enter-active {\n opacity: 1; }\n .client-stats .transfer-data-leave {\n opacity: 1;\n transition: opacity 1s; }\n .client-stats .transfer-data-leave.transfer-data-leave-active {\n opacity: 0; }\n\n.client-stat {\n align-items: center;\n display: flex;\n height: 100px;\n padding: 0 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.directory-tree .icon {\n display: inline-block;\n fill: rgba(82, 120, 147, 0.4);\n height: 14px;\n margin-right: 6px;\n width: 14px; }\n\n.directory-tree__node {\n color: #527893;\n line-height: 1.75;\n text-overflow: ellipsis;\n vertical-align: middle;\n white-space: nowrap; }\n .directory-tree__node--group {\n padding-left: 10px;\n position: relative; }\n .directory-tree__node--group:after {\n background: rgba(82, 120, 147, 0.1);\n content: '';\n height: 100%;\n left: 5px;\n position: absolute;\n top: -5px;\n width: 2px; }\n .directory-tree__node--directory {\n color: #527893;\n cursor: pointer;\n transition: color 0.125s; }\n .directory-tree__node--directory.is-expanded {\n color: #719bb7;\n font-weight: 500; }\n .directory-tree__node--directory.is-expanded .icon {\n fill: rgba(130, 170, 197, 0.5); }\n .directory-tree__node--directory .icon {\n fill: rgba(82, 120, 147, 0.4); }\n .directory-tree__node .file {\n align-items: center;\n display: flex;\n line-height: 1.4;\n margin-left: -9px;\n padding: 2px 0 2px 9px;\n transition: background 0.25s, box-shadow 0.25s, color 0.25s;\n width: 100%; }\n .directory-tree__node .file:hover {\n background: rgba(26, 45, 60, 0.8);\n box-shadow: 0 1px 0 #1f3647, 0 -1px 0 #1f3647;\n color: #79a7c7; }\n .directory-tree__node .file:hover .file__detail--size, .directory-tree__node .file:hover .file__detail--priority {\n color: #527893; }\n .directory-tree__node .file .icon {\n fill: #344b5b;\n margin-top: -3px;\n vertical-align: middle; }\n .directory-tree__node .file__detail {\n flex: 1 1 auto;\n overflow: hidden;\n padding-right: 6.25px;\n text-overflow: ellipsis; }\n .directory-tree__node .file__detail--size, .directory-tree__node .file__detail--priority {\n color: #2b4456;\n flex: 0 0 auto;\n font-size: 0.95em;\n text-align: right;\n transition: color 0.25s; }\n .directory-tree__node .file__detail--priority .icon {\n height: auto;\n margin-right: 0;\n width: 16px; }\n .directory-tree__node .file__detail:last-child {\n padding-right: 0; }\n .directory-tree__node--file-list {\n margin-bottom: 3px; }\n\n.directory-tree__parent-directory {\n margin-left: -1px;\n overflow: hidden;\n text-overflow: ellipsis; }\n .directory-tree__parent-directory .icon {\n fill: rgba(58, 92, 116, 0.5);\n margin-right: 8px;\n vertical-align: middle; }\n\n.directory-tree__tree .directory-tree__tree {\n padding-left: 6px; }\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@keyframes loading-indicator-dots-pulse {\n 0% {\n fill-opacity: 0.2; }\n 100% {\n fill-opacity: 0.8; } }\n\n.icon--eta .icon__ring {\n fill-opacity: 1; }\n\n.icon--loading-indicator .loading-indicator--dots__dot {\n animation: loading-indicator-dots-pulse 0.6s linear alternate infinite;\n fill: #fff; }\n .icon--loading-indicator .loading-indicator--dots__dot--center {\n animation-delay: 0.2s; }\n .icon--loading-indicator .loading-indicator--dots__dot--right {\n animation-delay: 0.4s; }\n\n@keyframes loading-indicator-swipe {\n 0% {\n transform: translateX(-100%); }\n 50% {\n transform: translateX(400%); }\n 100% {\n transform: translateX(400%); } }\n\n.loading-indicator {\n height: 18px;\n position: relative;\n width: 32px; }\n .loading-indicator.is-inverse .loading-indicator__bar {\n background: rgba(56, 88, 109, 0.7); }\n .loading-indicator.is-inverse .loading-indicator__bar:after {\n background: rgba(37, 141, 229, 0.75); }\n .loading-indicator__bar {\n background: #e9eef2;\n border-radius: 10px;\n height: 3px;\n left: 0;\n overflow: hidden;\n position: absolute;\n transform: translateY(0);\n width: 100%; }\n .loading-indicator__bar:after {\n animation: loading-indicator-swipe 3s ease-in-out infinite;\n background: rgba(37, 141, 229, 0.75);\n border-radius: 10px;\n content: '';\n display: block;\n height: 100%;\n transform: translateX(-100%);\n width: 25%; }\n .loading-indicator__bar--1 {\n top: 0; }\n .loading-indicator__bar--2 {\n top: 50%;\n transform: translateY(-50%); }\n .loading-indicator__bar--2:after {\n animation-delay: 0.5s; }\n .loading-indicator__bar--3 {\n bottom: 0; }\n .loading-indicator__bar--3:after {\n animation-delay: 1s; }\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 .modal__content--align-center {\n text-align: center; }\n .modal__footer {\n margin-top: 25px; }\n .modal__button-group {\n text-align: right; }\n .modal__button-group .button + .button {\n margin-left: 20px; }\n .modal__header {\n color: #313436;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px; }\n .modal__animation-enter {\n opacity: 0; }\n .modal__animation-enter-active {\n opacity: 1; }\n .modal__animation-leave {\n opacity: 1;\n pointer-events: none; }\n .modal__animation-leave-active {\n opacity: 0; }\n\n.priority-meter {\n height: 8px;\n position: relative; }\n .priority-meter__wrapper {\n cursor: pointer;\n display: inline-block;\n padding: 5px;\n user-select: none;\n vertical-align: middle; }\n .priority-meter:before, .priority-meter:after {\n content: '';\n display: block;\n position: absolute; }\n .priority-meter:before {\n height: 2px;\n left: 0;\n top: 3px;\n transition: background 0.25s;\n width: 100%; }\n .priority-meter:after {\n height: 100%;\n top: 0;\n transition: background 0.25s, left 0.25s;\n width: 2px; }\n .priority-meter--max-2 {\n width: 18px; }\n .priority-meter--max-2.priority-meter--level-0:before {\n background: rgba(67, 96, 118, 0.2); }\n .priority-meter--max-2.priority-meter--level-0:after {\n left: 0;\n background: #436076; }\n .priority-meter--max-2.priority-meter--level-1:before {\n background: rgba(37, 141, 229, 0.2); }\n .priority-meter--max-2.priority-meter--level-1:after {\n left: 8px;\n background: #258de5; }\n .priority-meter--max-2.priority-meter--level-2:before {\n background: rgba(57, 206, 131, 0.2); }\n .priority-meter--max-2.priority-meter--level-2:after {\n background: #39ce83;\n left: 16px; }\n .priority-meter--max-3 {\n width: 26px; }\n .priority-meter--max-3.priority-meter--level-0:before {\n background: rgba(67, 96, 118, 0.2); }\n .priority-meter--max-3.priority-meter--level-0:after {\n left: 0;\n background: #436076; }\n .priority-meter--max-3.priority-meter--level-1:before {\n background: rgba(37, 141, 229, 0.2); }\n .priority-meter--max-3.priority-meter--level-1:after {\n left: 8px;\n background: #258de5; }\n .priority-meter--max-3.priority-meter--level-2:before {\n background: rgba(57, 206, 131, 0.2); }\n .priority-meter--max-3.priority-meter--level-2:after {\n background: #39ce83;\n left: 16px; }\n .priority-meter--max-3.priority-meter--level-3:before {\n background: rgba(57, 206, 131, 0.2); }\n .priority-meter--max-3.priority-meter--level-3:after {\n background: #39ce83;\n left: 24px; }\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-seeding .progress-bar__fill {\n background: #258de5; }\n .is-completed .progress-bar__fill,\n .is-stopped .progress-bar__fill {\n background: #e3e5e5; }\n .is-selected .progress-bar__fill {\n background: #fff; }\n .has-error .progress-bar__fill {\n background: #e95779; }\n\n.scrollbars__thumb {\n background: rgba(26, 47, 61, 0.3);\n border-radius: 10px;\n cursor: pointer;\n opacity: 0;\n transition: background 0.25s, opacity 0.5s; }\n .scrollbars__thumb:active {\n opacity: 1; }\n .scrollbars__thumb:hover, .scrollbars__thumb:active {\n background: rgba(26, 47, 61, 0.6); }\n .is-inverted .scrollbars__thumb {\n background: rgba(233, 238, 242, 0.3); }\n .is-inverted .scrollbars__thumb:hover, .is-inverted .scrollbars__thumb:active {\n background: rgba(233, 238, 242, 0.6); }\n\n.scrollbars:hover .scrollbars__thumb {\n opacity: 1; }\n\n.application__sidebar {\n box-shadow: 1px 0 rgba(6, 9, 11, 0.3);\n color: #53718a;\n flex: 1;\n min-width: 200px;\n max-width: 240px;\n overflow: auto;\n position: relative;\n z-index: 2; }\n\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\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.sidebar-filter {\n font-size: 0.85em;\n padding: 30px 0; }\n .sidebar-filter + .sidebar-filter {\n padding-top: 0; }\n .sidebar-filter__item {\n color: #53718a;\n cursor: pointer;\n font-weight: 400;\n padding: 3px 20px;\n transition: color 0.25s; }\n .sidebar-filter__item:hover {\n color: #7a97af; }\n .sidebar-filter__item:hover .icon {\n fill: #7a97af; }\n .sidebar-filter__item.is-active {\n color: #258de5;\n font-weight: 700; }\n .sidebar-filter__item.is-active .badge {\n background: #3b586d; }\n .sidebar-filter__item.is-active .icon {\n fill: #258de5; }\n .sidebar-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 .sidebar-filter .badge {\n background: #2b4456;\n color: #132532; }\n\n.sidebar-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 .sidebar-filter__item--heading, .sidebar-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: #0e2231; }\n\n.torrent-details {\n background: #0e2231;\n bottom: 0;\n box-shadow: -1px 0 0 rgba(26, 47, 61, 0.1);\n display: flex;\n flex-direction: column;\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 1s;\n z-index: 2; }\n .torrent-details__wrapper {\n flex: 1;\n height: 100%; }\n .torrent-details__scroll-container {\n height: auto !important; }\n .torrent-details__header {\n box-shadow: 0 1px 0 rgba(4, 13, 19, 0.3);\n flex: 0 0 auto;\n padding: 12.5px 25px 16.66667px 25px; }\n .torrent-details__header.has-error .progress-bar__fill {\n background: #be2558; }\n .torrent-details__header.is-stopped .progress-bar__fill {\n background: #7b9cb4; }\n .torrent-details__header .progress-bar:after {\n background: #2a3e4c; }\n .torrent-details__action {\n cursor: pointer;\n transition: color 0.25s; }\n .torrent-details__action .icon {\n transition: fill 0.25s; }\n .torrent-details__action.is-active {\n color: #258de5; }\n .torrent-details__action.is-active .icon {\n fill: #258de5; }\n .torrent-details__table {\n color: #527893;\n width: 100%; }\n .torrent-details__table__heading--primary {\n color: #3a5c74;\n font-size: 1.125em; }\n .torrent-details__table__heading--secondary {\n color: rgba(82, 120, 147, 0.5);\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase; }\n .torrent-details__content {\n flex: 1;\n overflow: auto;\n padding: 16.66667px 25px; }\n .torrent-details__content__wrapper {\n background: rgba(16, 26, 34, 0.4);\n display: flex;\n flex: 1;\n overflow: hidden; }\n .torrent-details__navigation {\n background: transparent;\n box-shadow: 1px 0 0 rgba(4, 13, 19, 0.4);\n min-width: 125px;\n padding: 12.5px 0; }\n .torrent-details__navigation .navigation__item {\n cursor: pointer;\n padding: 6.25px 25px;\n text-align: right;\n transition: background 0.25s, box-shadow 0.25s, color 0.25s; }\n .torrent-details__navigation .navigation__item.is-active {\n background: rgba(52, 156, 244, 0.07);\n box-shadow: 1px 0 0 #349cf4;\n color: #349cf4; }\n .torrent-details__section__heading, .torrent-details__section__null-data {\n color: #3a5c74;\n font-size: 1.15em;\n margin-bottom: 2.5px; }\n .torrent-details__section__heading .badge {\n background: rgba(82, 120, 147, 0.5);\n color: #0c1b26; }\n\n.torrent-details__heading {\n color: #c7dbeb;\n font-size: 1.7em;\n font-weight: 300; }\n\n.torrent-details__sub-heading {\n display: flex;\n margin-bottom: 6.25px; }\n .torrent-details__sub-heading__secondary {\n color: #7b9cb4;\n display: flex;\n flex: 1 0 auto; }\n .torrent-details__sub-heading__secondary:first-child {\n justify-content: flex-start; }\n .torrent-details__sub-heading__secondary:last-child {\n justify-content: flex-end; }\n .torrent-details__sub-heading__tertiary {\n flex: 0 0 auto;\n margin-right: 1em; }\n .torrent-details__sub-heading__tertiary .icon {\n fill: rgba(77, 111, 135, 0.5);\n height: 12px;\n margin-right: 3px;\n margin-top: -3px;\n vertical-align: middle;\n width: 12px; }\n .torrent-details__sub-heading__tertiary .priority-meter {\n display: inline-block;\n margin-top: -1px;\n margin-right: 6px;\n vertical-align: middle; }\n .torrent-details__sub-heading__tertiary .priority-meter__wrapper {\n margin-top: -3px;\n padding: 0; }\n .torrent-details__sub-heading__tertiary--download {\n color: #258de5; }\n .torrent-details__sub-heading__tertiary--download .icon {\n fill: #258de5; }\n .torrent-details__sub-heading__tertiary--upload {\n color: #39ce83; }\n .torrent-details__sub-heading__tertiary--upload .icon {\n fill: #39ce83; }\n .torrent-details__sub-heading__tertiary:last-child {\n margin-right: 0; }\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 .torrents .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%); }\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 transition: opacity 1s;\n user-select: none;\n z-index: 1; }\n .torrent__list--loading-enter {\n opacity: 0;\n transition: opacity 1s; }\n .torrent__list--loading-enter-active {\n opacity: 1; }\n .torrent__list--loading-leave {\n opacity: 1;\n transition: opacity 1s; }\n .torrent__list--loading-leave-active {\n opacity: 0; }\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.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\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 &.has-icon {\n\n .icon {\n height: 16px;\n margin: 0 $spacing-unit * 1/3;\n vertical-align: middle;\n width: 16px;\n\n &:first-child {\n margin-left: 0;\n }\n\n &:last-child {\n margin-right: 0;\n }\n }\n }\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.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$white: #fff;\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$sidebar-filter--foreground: $sidebar--foreground;\n$sidebar-filter--foreground--header: rgba($sidebar-filter--foreground, 0.5);\n$sidebar-filter--foreground--active: $blue;\n$sidebar-filter--foreground--hover: lighten($sidebar-filter--foreground, 15%);\n\n$sidebar-filter--count--foreground: #132532;\n$sidebar-filter--count--background: #2b4456;\n$sidebar-filter--count--background--active: #3b586d;\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$progress-bar--fill--error: #e95779;\n\n// torrent details\n$torrent-details--background: saturate(lighten(#0c1b26, 2.5%), 4%); //#162835;\n$torrent-details--border: rgba($background, 0.1);\n\n$torrent-details--header--border: rgba(#040d13, 0.3);\n$torrent-details--header--name--foreground: #c7dbeb;\n$torrent-details--header--tertiary--foreground: #7b9cb4;\n$torrent-details--header--progress-bar--track: #2a3e4c;\n$torrent-details--header--progress-bar--fill--error: #be2558;\n\n$torrent-details--navigation--border: rgba(#040d13, 0.4);\n$torrent-details--navigation--item--background--active: rgba(#349cf4, 0.07);\n$torrent-details--navigation--item--foreground--active: #349cf4;\n$torrent-details--navigation--item--border--active: #349cf4;\n$torrent-details--navigation--background: transparent; // rgba(desaturate(#0c1b26, 15%), 0.1)\n\n$torrent-details--content--background: rgba(desaturate(#0c1b26, 15%), 0.4);\n\n$torrent-details--directory-tree--parent-directory--foreground: #3a5c74;\n$torrent-details--directory-tree--parent-directory--icon--fill: rgba(#3a5c74, 0.5);\n$torrent-details--directory-tree--file--hover--background: rgba(#1a2d3c, 0.8);\n$torrent-details--directory-tree--file--hover--foreground: #79a7c7;\n$torrent-details--directory-tree--file--hover--border: #1f3647;\n\n$torrent-details--table--foreground: #527893;\n$torrent-details--table--header: rgba(#527893, 0.5);\n$torrent-details--table--header--count--background: rgba(#527893, 0.5);\n$torrent-details--table--header--count--foreground: #0c1b26;\n\n$torrent-details--header--icon--default--fill: rgba(#4d6f87, 0.5);\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: #527893;\n$directory-tree--directory--foreground: $directory-tree--filename--foreground;\n$directory-tree--directory--foreground--open: #719bb7;\n\n$directory-tree--icon--file: #344b5b;\n$directory-tree--icon--folder: rgba(#527893, 0.4);\n$directory-tree--icon--folder--active: rgba(#82aac5, 0.5);\n$directory-tree--icon--folder--open: rgba(#82aac5, 0.5);\n\n$directory-tree--file-details--foreground: #2b4456;\n$directory-tree--file-details--hover--foreground: #527893;\n\n// scrollbars\n$scrollbar--thumb--background--inactive: rgba(#1a2f3d, 0.3);\n$scrollbar--thumb--background--hover: rgba(#1a2f3d, 0.6);\n$scrollbar--thumb--background--inverted--inactive: rgba(#e9eef2, 0.3);\n$scrollbar--thumb--background--inverted--hover: rgba(#e9eef2, 0.6);\n\n// loading indicator\n$loading-indicator--bar--background: #e9eef2;\n$loading-indicator--bar--background--inverse: rgba(#38586d, 0.7);\n$loading-indicator--tick--background: rgba($blue, 0.75);\n$loading-indicator--tick--background--inverse: rgba($blue, 0.75);\n\n// priority meter\n$priority-meter--track--level-0--background: rgba(#436076, 0.2);\n$priority-meter--bar--level-0--background: #436076;\n$priority-meter--track--level-1--background: rgba($blue, 0.2);\n$priority-meter--bar--level-1--background: $blue;\n$priority-meter--track--level-2--background: rgba($green, 0.2);\n$priority-meter--bar--level-2--background: $green;\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.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 &__list {\n\n &__wrapper {\n display: flex;\n flex: 1;\n\n &--custom-scroll {\n flex: 1;\n height: auto !important;\n }\n }\n }\n}\n","body {\n background: $background;\n}\n\nul {\n list-style: none;\n}\n",".action-bar {\n background: $action-bar--background;\n color: $action-bar--foreground;\n display: flex;\n flex: 0 0 60px;\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 &--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 &--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 &__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.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",".application {\n\n &__content {\n background: $main-content--background;\n }\n}\n",".badge {\n background: $sidebar-filter--count--background;\n border-radius: 100px;\n color: $sidebar-filter--count--foreground;\n display: inline-block;\n font-size: 0.8em;\n font-weight: 800;\n line-height: 1;\n margin-left: 10px;\n padding: 1px 5px;\n transition: background 0.25s;\n vertical-align: baseline;\n}\n",".client-stats {\n height: 200px;\n position: relative;\n\n .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n .transfer-data-enter {\n opacity: 0;\n transition: opacity 1s;\n\n &.transfer-data-enter-active {\n opacity: 1;\n }\n }\n\n .transfer-data-leave {\n opacity: 1;\n transition: opacity 1s;\n\n &.transfer-data-leave-active {\n opacity: 0;\n }\n }\n}\n\n.client-stat {\n align-items: center;\n display: flex;\n height: 100px;\n padding: 0 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",".directory-tree {\n\n .icon {\n display: inline-block;\n fill: $directory-tree--icon--folder;\n height: 14px;\n margin-right: 6px;\n width: 14px;\n }\n\n &__node {\n color: $directory-tree--filename--foreground;\n line-height: 1.75;\n text-overflow: ellipsis;\n vertical-align: middle;\n white-space: nowrap;\n\n &--group {\n padding-left: 10px;\n position: relative;\n\n &:after {\n background: rgba(#527893, 0.1);\n content: '';\n height: 100%;\n left: 5px;\n position: absolute;\n top: -5px;\n width: 2px;\n }\n }\n\n &--directory {\n color: $directory-tree--directory--foreground;\n cursor: pointer;\n transition: color 0.125s;\n\n &.is-expanded {\n color: $directory-tree--directory--foreground--open;\n font-weight: 500;\n\n .icon {\n fill: $directory-tree--icon--folder--active;\n }\n }\n\n .icon {\n fill: $directory-tree--icon--folder;\n }\n }\n\n .file {\n align-items: center;\n display: flex;\n line-height: 1.4;\n margin-left: -9px;\n padding: 2px 0 2px 9px;\n transition: background 0.25s, box-shadow 0.25s, color 0.25s;\n width: 100%;\n\n &:hover {\n background: $torrent-details--directory-tree--file--hover--background;\n box-shadow:\n 0 1px 0 $torrent-details--directory-tree--file--hover--border,\n 0 -1px 0 $torrent-details--directory-tree--file--hover--border;\n color: $torrent-details--directory-tree--file--hover--foreground;\n\n .file {\n\n &__detail {\n\n &--size,\n &--priority {\n color: $directory-tree--file-details--hover--foreground;\n }\n }\n }\n }\n\n .icon {\n fill: $directory-tree--icon--file;\n margin-top: -3px;\n vertical-align: middle;\n }\n\n &__detail {\n flex: 1 1 auto;\n overflow: hidden;\n padding-right: $spacing-unit * 1/4;\n text-overflow: ellipsis;\n\n &--size,\n &--priority {\n color: $directory-tree--file-details--foreground;\n flex: 0 0 auto;\n font-size: 0.95em;\n text-align: right;\n transition: color 0.25s;\n }\n\n &--priority {\n\n .icon {\n height: auto;\n margin-right: 0;\n width: 16px;\n }\n }\n\n &:last-child {\n padding-right: 0;\n }\n }\n }\n\n &--file-list {\n margin-bottom: 3px;\n }\n }\n\n &__parent-directory {\n margin-left: -1px;\n overflow: hidden;\n text-overflow: ellipsis;\n\n .icon {\n fill: $torrent-details--directory-tree--parent-directory--icon--fill;\n margin-right: 8px;\n vertical-align: middle;\n }\n }\n\n &__tree {\n\n .directory-tree__tree {\n padding-left: 6px;\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","@keyframes loading-indicator-dots-pulse {\n 0% {\n fill-opacity: 0.2;\n }\n\n 100% {\n fill-opacity: 0.8;\n }\n}\n\n.icon {\n\n &--eta {\n\n .icon {\n\n &__ring {\n fill-opacity: 1;\n }\n }\n }\n\n &--loading-indicator {\n\n .loading-indicator {\n\n &--dots {\n\n &__dot {\n animation: loading-indicator-dots-pulse 0.6s linear alternate infinite;\n fill: $white;\n\n &--center {\n animation-delay: 0.2s;\n }\n\n &--right {\n animation-delay: 0.4s;\n }\n }\n }\n }\n }\n}\n","@keyframes loading-indicator-swipe {\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n transform: translateX(400%);\n }\n\n 100% {\n transform: translateX(400%);\n }\n}\n\n.loading-indicator {\n height: 18px;\n position: relative;\n width: 32px;\n\n &.is-inverse {\n\n .loading-indicator {\n\n &__bar {\n background: $loading-indicator--bar--background--inverse;\n\n &:after {\n background: $loading-indicator--tick--background--inverse;\n }\n }\n }\n }\n\n &__bar {\n background: $loading-indicator--bar--background;\n border-radius: 10px;\n height: 3px;\n left: 0;\n overflow: hidden;\n position: absolute;\n transform: translateY(0);\n width: 100%;\n\n &:after {\n animation: loading-indicator-swipe 3s ease-in-out infinite;\n background: $loading-indicator--tick--background;\n border-radius: 10px;\n content: '';\n display: block;\n height: 100%;\n transform: translateX(-100%);\n width: 25%;\n }\n\n &--1 {\n top: 0;\n }\n\n &--2 {\n top: 50%;\n transform: translateY(-50%);\n\n &:after {\n animation-delay: 0.5s;\n }\n }\n\n &--3 {\n bottom: 0;\n\n &:after {\n animation-delay: 1s;\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 &--align-center {\n text-align: center;\n }\n }\n\n &__footer {\n margin-top: $spacing-unit;\n }\n\n &__button-group {\n text-align: right;\n\n .button {\n\n & + .button {\n margin-left: 20px;\n }\n }\n }\n\n &__header {\n color: $modal--header--foreground;\n font-size: 1.1em;\n font-weight: 400;\n margin-bottom: 20px;\n }\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",".priority-meter {\n height: 8px;\n position: relative;\n\n &__wrapper {\n cursor: pointer;\n display: inline-block;\n padding: 5px;\n user-select: none;\n vertical-align: middle;\n }\n\n &:before,\n &:after {\n content: '';\n display: block;\n position: absolute;\n }\n\n &:before {\n height: 2px;\n left: 0;\n top: 3px;\n transition: background 0.25s;\n width: 100%;\n }\n\n &:after {\n height: 100%;\n top: 0;\n transition: background 0.25s, left 0.25s;\n width: 2px;\n }\n\n &--max-2 {\n width: 18px;\n\n &.priority-meter {\n\n &--level-0 {\n\n &:before {\n background: $priority-meter--track--level-0--background;\n }\n\n &:after {\n left: 0;\n background: $priority-meter--bar--level-0--background;\n }\n }\n\n &--level-1 {\n\n &:before {\n background: $priority-meter--track--level-1--background;\n }\n\n &:after {\n left: 8px;\n background: $priority-meter--bar--level-1--background;\n }\n }\n\n &--level-2 {\n\n &:before {\n background: $priority-meter--track--level-2--background;\n }\n\n &:after {\n background: $priority-meter--bar--level-2--background;\n left: 16px;\n }\n }\n }\n }\n\n &--max-3 {\n width: 26px;\n\n &.priority-meter {\n\n &--level-0 {\n\n &:before {\n background: $priority-meter--track--level-0--background;\n }\n\n &:after {\n left: 0;\n background: $priority-meter--bar--level-0--background;\n }\n }\n\n &--level-1 {\n\n &:before {\n background: $priority-meter--track--level-1--background;\n }\n\n &:after {\n left: 8px;\n background: $priority-meter--bar--level-1--background;\n }\n }\n\n &--level-2 {\n\n &:before {\n background: $priority-meter--track--level-2--background;\n }\n\n &:after {\n background: $priority-meter--bar--level-2--background;\n left: 16px;\n }\n }\n\n &--level-3 {\n\n &:before {\n background: $priority-meter--track--level-2--background;\n }\n\n &:after {\n background: $priority-meter--bar--level-2--background;\n left: 24px;\n }\n }\n }\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-seeding & {\n background: $progress-bar--fill--completed;\n }\n\n .is-completed &,\n .is-stopped & {\n background: $progress-bar--fill--stopped;\n }\n\n .is-selected & {\n background: $progress-bar--fill--selected;\n }\n\n .has-error & {\n background: $progress-bar--fill--error;\n }\n }\n}\n",".scrollbars {\n\n &__thumb {\n background: $scrollbar--thumb--background--inactive;\n border-radius: 10px;\n cursor: pointer;\n opacity: 0;\n transition: background 0.25s, opacity 0.5s;\n\n &:active {\n opacity: 1;\n }\n\n &:hover,\n &:active {\n background: $scrollbar--thumb--background--hover;\n }\n\n .is-inverted & {\n background: $scrollbar--thumb--background--inverted--inactive;\n\n &:hover,\n &:active {\n background: $scrollbar--thumb--background--inverted--hover;\n }\n }\n }\n\n &:hover {\n\n .scrollbars__thumb {\n opacity: 1;\n }\n }\n}\n",".application {\n\n &__sidebar {\n box-shadow: 1px 0 $sidebar--border;\n color: $sidebar--foreground;\n flex: 1;\n min-width: 200px;\n max-width: 240px;\n overflow: auto;\n position: relative;\n z-index: 2;\n }\n}\n\n.sidebar {\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",".sidebar-filter {\n font-size: 0.85em;\n padding: 30px 0;\n\n & + .sidebar-filter {\n padding-top: 0;\n }\n\n &__item {\n color: $sidebar-filter--foreground;\n cursor: pointer;\n font-weight: 400;\n padding: 3px 20px;\n transition: color 0.25s;\n\n &:hover {\n color: $sidebar-filter--foreground--hover;\n\n .icon {\n fill: $sidebar-filter--foreground--hover;\n }\n }\n\n &.is-active {\n color: $sidebar-filter--foreground--active;\n font-weight: 700;\n\n .badge {\n background: $sidebar-filter--count--background--active;\n }\n\n .icon {\n fill: $sidebar-filter--foreground--active;\n }\n }\n\n .icon {\n display: inline-block;\n fill: $sidebar-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 .badge {\n background: $sidebar-filter--count--background;\n color: $sidebar-filter--count--foreground;\n }\n}\n\n\n.sidebar-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: $sidebar-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 display: flex;\n flex-direction: column;\n font-size: 0.8em;\n left: 0;\n min-width: 400px;\n overflow: auto;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 1s;\n z-index: 2;\n\n &__wrapper {\n flex: 1;\n height: 100%;\n }\n\n &__scroll-container {\n height: auto !important;\n }\n\n &__header {\n box-shadow: 0 1px 0 $torrent-details--header--border;\n flex: 0 0 auto;\n padding: $spacing-unit * 1/2 $spacing-unit $spacing-unit * 2/3 $spacing-unit;\n\n &.has-error {\n\n .progress-bar {\n\n &__fill {\n background: $torrent-details--header--progress-bar--fill--error;\n }\n }\n }\n\n &.is-stopped {\n\n .progress-bar {\n\n &__fill {\n background: #7b9cb4;\n }\n }\n }\n\n .progress-bar {\n\n &:after {\n background: $torrent-details--header--progress-bar--track;\n }\n }\n }\n\n &__action {\n cursor: pointer;\n transition: color 0.25s;\n\n .icon {\n transition: fill 0.25s;\n }\n\n &.is-active {\n color: $blue;\n\n .icon {\n fill: $blue;\n }\n }\n }\n\n &__table {\n color: $torrent-details--table--foreground;\n width: 100%;\n\n &__heading {\n\n &--primary {\n color: $torrent-details--directory-tree--parent-directory--foreground;\n font-size: 1.125em;\n }\n\n &--secondary {\n color: $torrent-details--table--header;\n font-size: 0.7em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n }\n }\n }\n\n &__content {\n flex: 1;\n overflow: auto;\n padding: $spacing-unit * 2/3 $spacing-unit;\n\n &__wrapper {\n background: $torrent-details--content--background;\n display: flex;\n flex: 1;\n overflow: hidden;\n }\n }\n\n &__navigation {\n background: $torrent-details--navigation--background;\n box-shadow: 1px 0 0 $torrent-details--navigation--border;\n min-width: 125px;\n padding: $spacing-unit * 1/2 0;\n\n .navigation {\n\n &__item {\n cursor: pointer;\n padding: $spacing-unit * 1/4 $spacing-unit;\n text-align: right;\n transition: background 0.25s, box-shadow 0.25s, color 0.25s;\n\n &.is-active {\n background: $torrent-details--navigation--item--background--active;\n box-shadow: 1px 0 0 $torrent-details--navigation--item--border--active;\n color: $torrent-details--navigation--item--foreground--active;\n }\n }\n }\n }\n\n &__section {\n\n &__heading,\n &__null-data {\n color: $torrent-details--directory-tree--parent-directory--foreground;\n font-size: 1.15em;\n margin-bottom: $spacing-unit * 1/10;\n }\n\n &__heading {\n\n .badge {\n background: $torrent-details--table--header--count--background;\n color: $torrent-details--table--header--count--foreground;\n }\n }\n }\n}\n\n.torrent-details {\n\n &__heading {\n color: $torrent-details--header--name--foreground;\n font-size: 1.7em;\n font-weight: 300;\n }\n\n &__sub-heading {\n display: flex;\n margin-bottom: $spacing-unit * 1/4;\n\n &__secondary {\n color: $torrent-details--header--tertiary--foreground;\n display: flex;\n flex: 1 0 auto;\n\n &:first-child {\n justify-content: flex-start;\n }\n\n &:last-child {\n justify-content: flex-end;\n }\n }\n\n &__tertiary {\n flex: 0 0 auto;\n margin-right: 1em;\n\n .icon {\n fill: $torrent-details--header--icon--default--fill;\n height: 12px;\n margin-right: 3px;\n margin-top: -3px;\n vertical-align: middle;\n width: 12px;\n }\n\n .priority-meter {\n display: inline-block;\n margin-top: -1px;\n margin-right: 6px;\n vertical-align: middle;\n\n &__wrapper {\n margin-top: -3px;\n padding: 0;\n }\n }\n\n &--download {\n color: $blue;\n\n .icon {\n fill: $blue;\n }\n }\n\n &--upload {\n color: $green;\n\n .icon {\n fill: $green;\n }\n }\n\n &:last-child {\n margin-right: 0;\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 .loading-indicator {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\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 transition: opacity 1s;\n user-select: none;\n z-index: 1;\n }\n\n &--loading {\n\n &-enter {\n opacity: 0;\n transition: opacity 1s;\n\n &-active {\n opacity: 1;\n }\n }\n\n &-leave {\n opacity: 1;\n transition: opacity 1s;\n\n &-active {\n opacity: 0;\n }\n }\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\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",".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