├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Gruntfile.coffee ├── License ├── README.md ├── builds ├── OneeChan.meta.js ├── OneeChan.user.js └── crx │ ├── icon128.png │ ├── icon16.png │ ├── icon48.png │ ├── manifest.json │ └── script.js ├── package.json └── src ├── css ├── Cleanup.css ├── Colors.css ├── Fonts.css ├── General.css ├── Icons.css ├── Options.css ├── Original.css └── Sidebar.css ├── img ├── icon.gif ├── icon128.png ├── icon16.png └── icon48.png ├── meta ├── botproc.js ├── manifest.json └── metadata.js ├── old └── styleold.css ├── script.js └── style.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | *~ 3 | *.db 4 | tmp/ 5 | builds/OneeChan-Chrome.zip 6 | builds/OneeChan-Opera.nex -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### v5.0.27 2 | *2014-01-10* 3 | 4 | **seaweedchan**: 5 | - Update for 4chan X v1.3.0 6 | 7 | ### v5.0.26 8 | *2013-12-06* 9 | 10 | **seaweedchan**: 11 | - Fix fileText markup change that increased its font size 12 | 13 | ### v5.0.25 14 | *2013-11-02* 15 | 16 | **seaweedchan**: 17 | - Fix missing text option for settings menu 18 | 19 | ### v5.0.24 20 | *2013-09-21* 21 | 22 | **seaweedchan**: 23 | - Use button for OneeChan settings instead of menu link, due to Chrome 30 breaking menu API in 4chan X. 24 | 25 | ### v5.0.23 26 | *2013-08-26* 27 | 28 | **seaweedchan**: 29 | - Add support for new gallery icon 30 | 31 | ### v5.0.22 32 | *2013-08-19* 33 | 34 | **seaweedchan**: 35 | - Fix hiding banner 36 | 37 | ### v5.0.21 38 | *2013-08-19* 39 | 40 | **seaweedchan**: 41 | - Fix issues with logo reflection in threads opened from index 42 | 43 | ### v5.0.20 44 | *2013-08-16* 45 | 46 | **seaweedchan**: 47 | - Fix ability to change banners in thread opened from index 48 | 49 | ### v5.0.19 50 | *2013-08-14* 51 | 52 | **seaweedchan**: 53 | - Small update for class change in latest 4chan X 54 | - Fix for /p/ users 55 | 56 | ### v5.0.16 57 | *2013-07-15* 58 | 59 | **seaweedchan**: 60 | - New option: `Style Emails as Links`. Enabled was the default behavior before. 61 | 62 | ### v5.0.15 63 | *2013-07-15* 64 | 65 | **seaweedchan**: 66 | - Don't remove scroll-marker pointer events when header is hidden 67 | 68 | ### v5.0.14 69 | *2013-07-15* 70 | 71 | **seaweedchan**: 72 | - Allow ads through `Show 4chan Ads` option. Can control which ads specifically to show, as well as reduce the opacity until hover. 73 | - Fix bug where some elements under the header can't be clicked 74 | - Fix bug where links in spoilers still showed 75 | - Fix update URL in main options for Firefox users 76 | 77 | ### v5.0.13 78 | *2013-07-01* 79 | 80 | **seaweedchan**: 81 | - Fix small issue with new mobile post form link showing up. 82 | 83 | ### v5.0.12 84 | *2013-06-30* 85 | 86 | **seaweedchan**: 87 | - Hide moot's begging 88 | 89 | ### v5.0.11 90 | *2013-06-17* 91 | 92 | **seaweedchan**: 93 | - Added `Post Message Margin` option. Setting this to `Small` is the equivalent of `Slim Replies` in old OneeChan 94 | - Changed some font sizes to be larger when at fonts greater than 13px 95 | 96 | ### v5.0.10 97 | *2013-06-02* 98 | 99 | **seaweedchan**: 100 | - Changed Marisa's mascot to a version with corrected eye colors. The old image can be found [here](https://i.minus.com/ibnxkA58kU3iWc.png). 101 | - Fix forward reply hiding 102 | - Dont color names with emails 103 | - Fix quote coloring in spoilers 104 | 105 | ### v5.0.9 106 | *2013-05-31* 107 | 108 | **seaweedchan**: 109 | - Fix issues with hidden replies (with stubs shown) 110 | 111 | ### v5.0.8 112 | *2013-05-30* 113 | 114 | **seaweedchan**: 115 | - Make OneeChan respect fonts a little more 116 | 117 | ### v5.0.7 118 | *2013-05-30* 119 | 120 | **seaweedchan**: 121 | - Added OneeChan document class 122 | - Fixed Cleanup CSS affecting non-boards pages likes News and Report 123 | 124 | ### v5.0.6 125 | *2013-05-30* 126 | 127 | ### v5.0.5 128 | *2013-05-29* 129 | 130 | **seaweedchan:** 131 | - Renamed 氷 to Cold Snap as per author's request 132 | - Added `Show Header Background Gradient` option 133 | - Some more image expanding bug fixes 134 | - Hopefully alleviate some possible flashing before 4chan X is loaded 135 | 136 | ### v5.0.4 137 | *2013-05-28* 138 | 139 | **seaweedchan**: 140 | - Fix image expansion not showing with fit width 141 | - Make backlink margins more consistent between replies and OPs 142 | - Bump minimum requirement of 4chan X to 1.2.13 for Quote Threading users. 143 | - Fix issue where inline posts have strange bottom margins 144 | 145 | ### v5.0.3 146 | *2013-05-28* 147 | 148 | **seaweedchan**: 149 | - Small bug fixes 150 | 151 | ### v5.0.2 152 | *2013-05-28* 153 | 154 | **seaweedchan**: 155 | - Fixed issues with quote threading 156 | 157 | ### v5.0.1 158 | *2013-05-27* 159 | 160 | **ayakashi**: 161 | - Added 氷 theme 162 | 163 | **seaweedchan**: 164 | - Fix JSColor position 165 | - Add Greentext preview 166 | - Small bug fixes 167 | 168 | ## v5.0.0: 169 | *2013-05-27* 170 | 171 | - Almost complete rewrite of OneeChan for the v3-based rewrite of Seaweedchan's 4chan X. 172 | 173 | Some changes: 174 | - OneeChan settings are now accessed through the "Style Settings" link in the 4chan X header bar menu. 175 | - New themes and mascots were added. 176 | - Settings importing/exporting added. 177 | - Exporting themes now give you a .JSON file instead of just text. 178 | - Mascot options completely redone, now with an Appchan X-like preview. 179 | - Smart Tripcode Hider changed to Secret Name Field with some adjustments 180 | - Emoji and Custom Navigation are now gone, as 4chan X provides much better versions of these 181 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | ## Reporting bugs and suggestions 3 | 4 | 1. Make sure both your **browser** and **OneeChan** are up to date. 5 | 2. Disable your other extensions & scripts to identify conflicts. 6 | 3. If your issue persists, open a [new issue](https://github.com/seaweedchan/OneeChan/issues) with the following information: 7 | 1. Precise steps to reproduce the problem, with the expected and actual results. 8 | 2. Console errors, if any. 9 | 3. Browser version. 10 | 4. Your exported settings. 11 | 12 | Open your console with: 13 | - `Ctrl + Shift + J` on Chrome. 14 | - `Ctrl + Shift + K` on Firefox. 15 | 16 | ## Development & Contribution 17 | 18 | ### Get started 19 | 20 | - Install [node.js](http://nodejs.org/). 21 | - Install [Grunt's CLI](http://gruntjs.com/) with `npm install -g grunt-cli`. 22 | - Clone OneeChan. 23 | - `cd` into it. 24 | - Install/Update OneeChan dependencies with `npm install`. 25 | 26 | ### Build 27 | 28 | - Build with `grunt`. 29 | 30 | ### Release 31 | 32 | - Update the version with `grunt patch`, `grunt minor` or `grunt major`. 33 | - Release with `grunt release`. 34 | 35 | Note: this is only used to release new OneeChan versions, and is **not** needed or wanted in pull requests. 36 | 37 | ### Contribute 38 | 39 | - Edit the sources. 40 | - Open a pull request. -------------------------------------------------------------------------------- /Gruntfile.coffee: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = (grunt) -> 4 | pkg = grunt.file.readJSON 'package.json' 5 | concatOptions = 6 | process: 7 | data: pkg 8 | 9 | shellOptions = 10 | stdout: true 11 | stderr: true 12 | failOnError: true 13 | 14 | # Project configuration. 15 | grunt.initConfig 16 | pkg: pkg 17 | concat: 18 | style: 19 | options: concatOptions 20 | files: 21 | 'tmp/style.css': 'src/style.js' 22 | userscript: 23 | options: concatOptions 24 | files: 25 | 'builds/<%= pkg.name %>.meta.js': 'src/meta/metadata.js' 26 | 'builds/<%= pkg.name %>.user.js': [ 27 | 'src/meta/botproc.js' 28 | 'src/meta/metadata.js' 29 | 'src/script.js' 30 | ] 31 | crx: 32 | options: concatOptions 33 | files: 34 | 'builds/crx/manifest.json': 'src/meta/manifest.json' 35 | 'builds/crx/script.js': [ 36 | 'src/meta/botproc.js' 37 | 'src/script.js' 38 | ] 39 | 40 | # css: 41 | # options: concatOptions 42 | # src: [ 43 | # 'test.css' 44 | # ] 45 | # dest: 'tmp/styleMain.css' 46 | # 47 | # coffee: 48 | # options: concatOptions 49 | # src: [ 50 | # 'test.coffee' 51 | # ] 52 | # dest: 'tmp/script.coffee' 53 | # 54 | # coffee: 55 | # script: 56 | # src: 'tmp/main.coffee' 57 | # dest: 'tmp/script.js' 58 | # 59 | cssmin: 60 | minify: 61 | src: 'tmp/style.css' 62 | dest: 'tmp/style.min.css' 63 | 64 | shell: 65 | commit: 66 | options: shellOptions 67 | command: [ 68 | 'git checkout <%= pkg.meta.mainBranch %>', 69 | 'git commit -am "Release <%= pkg.meta.name %> v<%= pkg.version %>."', 70 | 'git tag -a <%= pkg.version %> -m "<%= pkg.meta.name %> v<%= pkg.version %>."', 71 | 'git tag -af stable -m "<%= pkg.meta.name %> v<%= pkg.version %>."' 72 | ].join(' && ') 73 | stdout: true 74 | 75 | push: 76 | options: shellOptions 77 | command: 'git push origin --tags -f && git push origin --all' 78 | 79 | compress: 80 | crx: 81 | options: 82 | archive: 'builds/OneeChan-Chrome.zip' 83 | level: 9 84 | pretty: true 85 | expand: true 86 | cwd: 'builds/crx/' 87 | src: '**' 88 | 89 | clean: 90 | tmp: 'tmp/' 91 | 92 | grunt.loadNpmTasks 'grunt-bump' 93 | # grunt.loadNpmTasks 'grunt-concurrent' 94 | grunt.loadNpmTasks 'grunt-contrib-clean' 95 | # grunt.loadNpmTasks 'grunt-contrib-coffee' 96 | grunt.loadNpmTasks 'grunt-contrib-compress' 97 | grunt.loadNpmTasks 'grunt-contrib-concat' 98 | # grunt.loadNpmTasks 'grunt-contrib-copy' 99 | grunt.loadNpmTasks 'grunt-shell' 100 | grunt.loadNpmTasks 'grunt-contrib-cssmin' 101 | 102 | grunt.registerTask 'default', [ 103 | 'build' 104 | ] 105 | 106 | grunt.registerTask 'build', [ 107 | 'concat:style' 108 | 'cssmin:minify' 109 | 'concat:crx' 110 | 'concat:userscript' 111 | 'clean:tmp' 112 | ] 113 | 114 | grunt.registerTask 'release', [ 115 | 'default' 116 | 'compress:crx' 117 | 'shell:commit' 118 | 'shell:push' 119 | ] 120 | 121 | grunt.registerTask 'patch', [ 122 | 'bump-only' 123 | 'reloadPkg' 124 | 'updcl:3' 125 | ] 126 | 127 | grunt.registerTask 'minor', [ 128 | 'bump-only:minor' 129 | 'reloadPkg' 130 | 'updcl:2' 131 | ] 132 | 133 | grunt.registerTask 'major', [ 134 | 'bump-only:major' 135 | 'reloadPkg' 136 | 'updcl:1' 137 | ] 138 | 139 | grunt.registerTask 'reloadPkg', 'Reload the package', -> 140 | # Update the `pkg` object with the new version. 141 | pkg = grunt.file.readJSON('package.json') 142 | grunt.config.data.pkg = concatOptions.process.data = pkg 143 | grunt.log.ok('pkg reloaded.') 144 | 145 | grunt.registerTask 'updcl', 'Update the changelog', (i) -> 146 | # i is the number of #s for markdown. 147 | version = [] 148 | version.length = +i + 1 149 | version = version.join('#') + ' v' + pkg.version + '\n*' + grunt.template.today('yyyy-mm-dd') + '*\n' 150 | grunt.file.write 'CHANGELOG.md', version + '\n' + grunt.file.read('CHANGELOG.md') 151 | grunt.log.ok 'Changelog updated for v' + pkg.version + '.' 152 | -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- 1 | "Mascot" images are property of their respective owners and will be removed on request. 2 | 4chan Style Script Copyright © 2011-2012 Ahodesuka https://github.com/ahodesuka/4chan-Style-Script 3 | jscolor, JavaScript Color Picker v1.3.11 http://jscolor.com Copyright © 2008-2011 Jan Odvarko, http://odvarko.cz under GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html 4 | 4chan SS Icons from http://raphaeljs.com/icons/ Copyright © 2008 Dmitry Baranovskiy 5 | 6 | Permission is hereby granted, free of charge, to any person 7 | obtaining a copy of this software and associated documentation 8 | files (the "Software"), to deal in the Software without 9 | restriction, including without limitation the rights to use, 10 | copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the 12 | Software is furnished to do so, subject to the following 13 | conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 19 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 21 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 22 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 23 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 24 | OTHER DEALINGS IN THE SOFTWARE. 25 | 26 | OneeChan: Copyright © 2011-2012 Jordan Bates 27 | 28 | GNU GENERAL PUBLIC LICENSE 29 | Version 3, 29 June 2007 30 | 31 | Copyright (C) 2007 Free Software Foundation, Inc. 32 | Everyone is permitted to copy and distribute verbatim copies 33 | of this license document, but changing it is not allowed. 34 | 35 | Preamble 36 | 37 | The GNU General Public License is a free, copyleft license for 38 | software and other kinds of works. 39 | 40 | The licenses for most software and other practical works are designed 41 | to take away your freedom to share and change the works. By contrast, 42 | the GNU General Public License is intended to guarantee your freedom to 43 | share and change all versions of a program--to make sure it remains free 44 | software for all its users. We, the Free Software Foundation, use the 45 | GNU General Public License for most of our software; it applies also to 46 | any other work released this way by its authors. You can apply it to 47 | your programs, too. 48 | 49 | When we speak of free software, we are referring to freedom, not 50 | price. Our General Public Licenses are designed to make sure that you 51 | have the freedom to distribute copies of free software (and charge for 52 | them if you wish), that you receive source code or can get it if you 53 | want it, that you can change the software or use pieces of it in new 54 | free programs, and that you know you can do these things. 55 | 56 | To protect your rights, we need to prevent others from denying you 57 | these rights or asking you to surrender the rights. Therefore, you have 58 | certain responsibilities if you distribute copies of the software, or if 59 | you modify it: responsibilities to respect the freedom of others. 60 | 61 | For example, if you distribute copies of such a program, whether 62 | gratis or for a fee, you must pass on to the recipients the same 63 | freedoms that you received. You must make sure that they, too, receive 64 | or can get the source code. And you must show them these terms so they 65 | know their rights. 66 | 67 | Developers that use the GNU GPL protect your rights with two steps: 68 | (1) assert copyright on the software, and (2) offer you this License 69 | giving you legal permission to copy, distribute and/or modify it. 70 | 71 | For the developers' and authors' protection, the GPL clearly explains 72 | that there is no warranty for this free software. For both users' and 73 | authors' sake, the GPL requires that modified versions be marked as 74 | changed, so that their problems will not be attributed erroneously to 75 | authors of previous versions. 76 | 77 | Some devices are designed to deny users access to install or run 78 | modified versions of the software inside them, although the manufacturer 79 | can do so. This is fundamentally incompatible with the aim of 80 | protecting users' freedom to change the software. The systematic 81 | pattern of such abuse occurs in the area of products for individuals to 82 | use, which is precisely where it is most unacceptable. Therefore, we 83 | have designed this version of the GPL to prohibit the practice for those 84 | products. If such problems arise substantially in other domains, we 85 | stand ready to extend this provision to those domains in future versions 86 | of the GPL, as needed to protect the freedom of users. 87 | 88 | Finally, every program is threatened constantly by software patents. 89 | States should not allow patents to restrict development and use of 90 | software on general-purpose computers, but in those that do, we wish to 91 | avoid the special danger that patents applied to a free program could 92 | make it effectively proprietary. To prevent this, the GPL assures that 93 | patents cannot be used to render the program non-free. 94 | 95 | The precise terms and conditions for copying, distribution and 96 | modification follow. 97 | 98 | TERMS AND CONDITIONS 99 | 100 | 0. Definitions. 101 | 102 | "This License" refers to version 3 of the GNU General Public License. 103 | 104 | "Copyright" also means copyright-like laws that apply to other kinds of 105 | works, such as semiconductor masks. 106 | 107 | "The Program" refers to any copyrightable work licensed under this 108 | License. Each licensee is addressed as "you". "Licensees" and 109 | "recipients" may be individuals or organizations. 110 | 111 | To "modify" a work means to copy from or adapt all or part of the work 112 | in a fashion requiring copyright permission, other than the making of an 113 | exact copy. The resulting work is called a "modified version" of the 114 | earlier work or a work "based on" the earlier work. 115 | 116 | A "covered work" means either the unmodified Program or a work based 117 | on the Program. 118 | 119 | To "propagate" a work means to do anything with it that, without 120 | permission, would make you directly or secondarily liable for 121 | infringement under applicable copyright law, except executing it on a 122 | computer or modifying a private copy. Propagation includes copying, 123 | distribution (with or without modification), making available to the 124 | public, and in some countries other activities as well. 125 | 126 | To "convey" a work means any kind of propagation that enables other 127 | parties to make or receive copies. Mere interaction with a user through 128 | a computer network, with no transfer of a copy, is not conveying. 129 | 130 | An interactive user interface displays "Appropriate Legal Notices" 131 | to the extent that it includes a convenient and prominently visible 132 | feature that (1) displays an appropriate copyright notice, and (2) 133 | tells the user that there is no warranty for the work (except to the 134 | extent that warranties are provided), that licensees may convey the 135 | work under this License, and how to view a copy of this License. If 136 | the interface presents a list of user commands or options, such as a 137 | menu, a prominent item in the list meets this criterion. 138 | 139 | 1. Source Code. 140 | 141 | The "source code" for a work means the preferred form of the work 142 | for making modifications to it. "Object code" means any non-source 143 | form of a work. 144 | 145 | A "Standard Interface" means an interface that either is an official 146 | standard defined by a recognized standards body, or, in the case of 147 | interfaces specified for a particular programming language, one that 148 | is widely used among developers working in that language. 149 | 150 | The "System Libraries" of an executable work include anything, other 151 | than the work as a whole, that (a) is included in the normal form of 152 | packaging a Major Component, but which is not part of that Major 153 | Component, and (b) serves only to enable use of the work with that 154 | Major Component, or to implement a Standard Interface for which an 155 | implementation is available to the public in source code form. A 156 | "Major Component", in this context, means a major essential component 157 | (kernel, window system, and so on) of the specific operating system 158 | (if any) on which the executable work runs, or a compiler used to 159 | produce the work, or an object code interpreter used to run it. 160 | 161 | The "Corresponding Source" for a work in object code form means all 162 | the source code needed to generate, install, and (for an executable 163 | work) run the object code and to modify the work, including scripts to 164 | control those activities. However, it does not include the work's 165 | System Libraries, or general-purpose tools or generally available free 166 | programs which are used unmodified in performing those activities but 167 | which are not part of the work. For example, Corresponding Source 168 | includes interface definition files associated with source files for 169 | the work, and the source code for shared libraries and dynamically 170 | linked subprograms that the work is specifically designed to require, 171 | such as by intimate data communication or control flow between those 172 | subprograms and other parts of the work. 173 | 174 | The Corresponding Source need not include anything that users 175 | can regenerate automatically from other parts of the Corresponding 176 | Source. 177 | 178 | The Corresponding Source for a work in source code form is that 179 | same work. 180 | 181 | 2. Basic Permissions. 182 | 183 | All rights granted under this License are granted for the term of 184 | copyright on the Program, and are irrevocable provided the stated 185 | conditions are met. This License explicitly affirms your unlimited 186 | permission to run the unmodified Program. The output from running a 187 | covered work is covered by this License only if the output, given its 188 | content, constitutes a covered work. This License acknowledges your 189 | rights of fair use or other equivalent, as provided by copyright law. 190 | 191 | You may make, run and propagate covered works that you do not 192 | convey, without conditions so long as your license otherwise remains 193 | in force. You may convey covered works to others for the sole purpose 194 | of having them make modifications exclusively for you, or provide you 195 | with facilities for running those works, provided that you comply with 196 | the terms of this License in conveying all material for which you do 197 | not control copyright. Those thus making or running the covered works 198 | for you must do so exclusively on your behalf, under your direction 199 | and control, on terms that prohibit them from making any copies of 200 | your copyrighted material outside their relationship with you. 201 | 202 | Conveying under any other circumstances is permitted solely under 203 | the conditions stated below. Sublicensing is not allowed; section 10 204 | makes it unnecessary. 205 | 206 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 207 | 208 | No covered work shall be deemed part of an effective technological 209 | measure under any applicable law fulfilling obligations under article 210 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 211 | similar laws prohibiting or restricting circumvention of such 212 | measures. 213 | 214 | When you convey a covered work, you waive any legal power to forbid 215 | circumvention of technological measures to the extent such circumvention 216 | is effected by exercising rights under this License with respect to 217 | the covered work, and you disclaim any intention to limit operation or 218 | modification of the work as a means of enforcing, against the work's 219 | users, your or third parties' legal rights to forbid circumvention of 220 | technological measures. 221 | 222 | 4. Conveying Verbatim Copies. 223 | 224 | You may convey verbatim copies of the Program's source code as you 225 | receive it, in any medium, provided that you conspicuously and 226 | appropriately publish on each copy an appropriate copyright notice; 227 | keep intact all notices stating that this License and any 228 | non-permissive terms added in accord with section 7 apply to the code; 229 | keep intact all notices of the absence of any warranty; and give all 230 | recipients a copy of this License along with the Program. 231 | 232 | You may charge any price or no price for each copy that you convey, 233 | and you may offer support or warranty protection for a fee. 234 | 235 | 5. Conveying Modified Source Versions. 236 | 237 | You may convey a work based on the Program, or the modifications to 238 | produce it from the Program, in the form of source code under the 239 | terms of section 4, provided that you also meet all of these conditions: 240 | 241 | a) The work must carry prominent notices stating that you modified 242 | it, and giving a relevant date. 243 | 244 | b) The work must carry prominent notices stating that it is 245 | released under this License and any conditions added under section 246 | 7. This requirement modifies the requirement in section 4 to 247 | "keep intact all notices". 248 | 249 | c) You must license the entire work, as a whole, under this 250 | License to anyone who comes into possession of a copy. This 251 | License will therefore apply, along with any applicable section 7 252 | additional terms, to the whole of the work, and all its parts, 253 | regardless of how they are packaged. This License gives no 254 | permission to license the work in any other way, but it does not 255 | invalidate such permission if you have separately received it. 256 | 257 | d) If the work has interactive user interfaces, each must display 258 | Appropriate Legal Notices; however, if the Program has interactive 259 | interfaces that do not display Appropriate Legal Notices, your 260 | work need not make them do so. 261 | 262 | A compilation of a covered work with other separate and independent 263 | works, which are not by their nature extensions of the covered work, 264 | and which are not combined with it such as to form a larger program, 265 | in or on a volume of a storage or distribution medium, is called an 266 | "aggregate" if the compilation and its resulting copyright are not 267 | used to limit the access or legal rights of the compilation's users 268 | beyond what the individual works permit. Inclusion of a covered work 269 | in an aggregate does not cause this License to apply to the other 270 | parts of the aggregate. 271 | 272 | 6. Conveying Non-Source Forms. 273 | 274 | You may convey a covered work in object code form under the terms 275 | of sections 4 and 5, provided that you also convey the 276 | machine-readable Corresponding Source under the terms of this License, 277 | in one of these ways: 278 | 279 | a) Convey the object code in, or embodied in, a physical product 280 | (including a physical distribution medium), accompanied by the 281 | Corresponding Source fixed on a durable physical medium 282 | customarily used for software interchange. 283 | 284 | b) Convey the object code in, or embodied in, a physical product 285 | (including a physical distribution medium), accompanied by a 286 | written offer, valid for at least three years and valid for as 287 | long as you offer spare parts or customer support for that product 288 | model, to give anyone who possesses the object code either (1) a 289 | copy of the Corresponding Source for all the software in the 290 | product that is covered by this License, on a durable physical 291 | medium customarily used for software interchange, for a price no 292 | more than your reasonable cost of physically performing this 293 | conveying of source, or (2) access to copy the 294 | Corresponding Source from a network server at no charge. 295 | 296 | c) Convey individual copies of the object code with a copy of the 297 | written offer to provide the Corresponding Source. This 298 | alternative is allowed only occasionally and noncommercially, and 299 | only if you received the object code with such an offer, in accord 300 | with subsection 6b. 301 | 302 | d) Convey the object code by offering access from a designated 303 | place (gratis or for a charge), and offer equivalent access to the 304 | Corresponding Source in the same way through the same place at no 305 | further charge. You need not require recipients to copy the 306 | Corresponding Source along with the object code. If the place to 307 | copy the object code is a network server, the Corresponding Source 308 | may be on a different server (operated by you or a third party) 309 | that supports equivalent copying facilities, provided you maintain 310 | clear directions next to the object code saying where to find the 311 | Corresponding Source. Regardless of what server hosts the 312 | Corresponding Source, you remain obligated to ensure that it is 313 | available for as long as needed to satisfy these requirements. 314 | 315 | e) Convey the object code using peer-to-peer transmission, provided 316 | you inform other peers where the object code and Corresponding 317 | Source of the work are being offered to the general public at no 318 | charge under subsection 6d. 319 | 320 | A separable portion of the object code, whose source code is excluded 321 | from the Corresponding Source as a System Library, need not be 322 | included in conveying the object code work. 323 | 324 | A "User Product" is either (1) a "consumer product", which means any 325 | tangible personal property which is normally used for personal, family, 326 | or household purposes, or (2) anything designed or sold for incorporation 327 | into a dwelling. In determining whether a product is a consumer product, 328 | doubtful cases shall be resolved in favor of coverage. For a particular 329 | product received by a particular user, "normally used" refers to a 330 | typical or common use of that class of product, regardless of the status 331 | of the particular user or of the way in which the particular user 332 | actually uses, or expects or is expected to use, the product. A product 333 | is a consumer product regardless of whether the product has substantial 334 | commercial, industrial or non-consumer uses, unless such uses represent 335 | the only significant mode of use of the product. 336 | 337 | "Installation Information" for a User Product means any methods, 338 | procedures, authorization keys, or other information required to install 339 | and execute modified versions of a covered work in that User Product from 340 | a modified version of its Corresponding Source. The information must 341 | suffice to ensure that the continued functioning of the modified object 342 | code is in no case prevented or interfered with solely because 343 | modification has been made. 344 | 345 | If you convey an object code work under this section in, or with, or 346 | specifically for use in, a User Product, and the conveying occurs as 347 | part of a transaction in which the right of possession and use of the 348 | User Product is transferred to the recipient in perpetuity or for a 349 | fixed term (regardless of how the transaction is characterized), the 350 | Corresponding Source conveyed under this section must be accompanied 351 | by the Installation Information. But this requirement does not apply 352 | if neither you nor any third party retains the ability to install 353 | modified object code on the User Product (for example, the work has 354 | been installed in ROM). 355 | 356 | The requirement to provide Installation Information does not include a 357 | requirement to continue to provide support service, warranty, or updates 358 | for a work that has been modified or installed by the recipient, or for 359 | the User Product in which it has been modified or installed. Access to a 360 | network may be denied when the modification itself materially and 361 | adversely affects the operation of the network or violates the rules and 362 | protocols for communication across the network. 363 | 364 | Corresponding Source conveyed, and Installation Information provided, 365 | in accord with this section must be in a format that is publicly 366 | documented (and with an implementation available to the public in 367 | source code form), and must require no special password or key for 368 | unpacking, reading or copying. 369 | 370 | 7. Additional Terms. 371 | 372 | "Additional permissions" are terms that supplement the terms of this 373 | License by making exceptions from one or more of its conditions. 374 | Additional permissions that are applicable to the entire Program shall 375 | be treated as though they were included in this License, to the extent 376 | that they are valid under applicable law. If additional permissions 377 | apply only to part of the Program, that part may be used separately 378 | under those permissions, but the entire Program remains governed by 379 | this License without regard to the additional permissions. 380 | 381 | When you convey a copy of a covered work, you may at your option 382 | remove any additional permissions from that copy, or from any part of 383 | it. (Additional permissions may be written to require their own 384 | removal in certain cases when you modify the work.) You may place 385 | additional permissions on material, added by you to a covered work, 386 | for which you have or can give appropriate copyright permission. 387 | 388 | Notwithstanding any other provision of this License, for material you 389 | add to a covered work, you may (if authorized by the copyright holders of 390 | that material) supplement the terms of this License with terms: 391 | 392 | a) Disclaiming warranty or limiting liability differently from the 393 | terms of sections 15 and 16 of this License; or 394 | 395 | b) Requiring preservation of specified reasonable legal notices or 396 | author attributions in that material or in the Appropriate Legal 397 | Notices displayed by works containing it; or 398 | 399 | c) Prohibiting misrepresentation of the origin of that material, or 400 | requiring that modified versions of such material be marked in 401 | reasonable ways as different from the original version; or 402 | 403 | d) Limiting the use for publicity purposes of names of licensors or 404 | authors of the material; or 405 | 406 | e) Declining to grant rights under trademark law for use of some 407 | trade names, trademarks, or service marks; or 408 | 409 | f) Requiring indemnification of licensors and authors of that 410 | material by anyone who conveys the material (or modified versions of 411 | it) with contractual assumptions of liability to the recipient, for 412 | any liability that these contractual assumptions directly impose on 413 | those licensors and authors. 414 | 415 | All other non-permissive additional terms are considered "further 416 | restrictions" within the meaning of section 10. If the Program as you 417 | received it, or any part of it, contains a notice stating that it is 418 | governed by this License along with a term that is a further 419 | restriction, you may remove that term. If a license document contains 420 | a further restriction but permits relicensing or conveying under this 421 | License, you may add to a covered work material governed by the terms 422 | of that license document, provided that the further restriction does 423 | not survive such relicensing or conveying. 424 | 425 | If you add terms to a covered work in accord with this section, you 426 | must place, in the relevant source files, a statement of the 427 | additional terms that apply to those files, or a notice indicating 428 | where to find the applicable terms. 429 | 430 | Additional terms, permissive or non-permissive, may be stated in the 431 | form of a separately written license, or stated as exceptions; 432 | the above requirements apply either way. 433 | 434 | 8. Termination. 435 | 436 | You may not propagate or modify a covered work except as expressly 437 | provided under this License. Any attempt otherwise to propagate or 438 | modify it is void, and will automatically terminate your rights under 439 | this License (including any patent licenses granted under the third 440 | paragraph of section 11). 441 | 442 | However, if you cease all violation of this License, then your 443 | license from a particular copyright holder is reinstated (a) 444 | provisionally, unless and until the copyright holder explicitly and 445 | finally terminates your license, and (b) permanently, if the copyright 446 | holder fails to notify you of the violation by some reasonable means 447 | prior to 60 days after the cessation. 448 | 449 | Moreover, your license from a particular copyright holder is 450 | reinstated permanently if the copyright holder notifies you of the 451 | violation by some reasonable means, this is the first time you have 452 | received notice of violation of this License (for any work) from that 453 | copyright holder, and you cure the violation prior to 30 days after 454 | your receipt of the notice. 455 | 456 | Termination of your rights under this section does not terminate the 457 | licenses of parties who have received copies or rights from you under 458 | this License. If your rights have been terminated and not permanently 459 | reinstated, you do not qualify to receive new licenses for the same 460 | material under section 10. 461 | 462 | 9. Acceptance Not Required for Having Copies. 463 | 464 | You are not required to accept this License in order to receive or 465 | run a copy of the Program. Ancillary propagation of a covered work 466 | occurring solely as a consequence of using peer-to-peer transmission 467 | to receive a copy likewise does not require acceptance. However, 468 | nothing other than this License grants you permission to propagate or 469 | modify any covered work. These actions infringe copyright if you do 470 | not accept this License. Therefore, by modifying or propagating a 471 | covered work, you indicate your acceptance of this License to do so. 472 | 473 | 10. Automatic Licensing of Downstream Recipients. 474 | 475 | Each time you convey a covered work, the recipient automatically 476 | receives a license from the original licensors, to run, modify and 477 | propagate that work, subject to this License. You are not responsible 478 | for enforcing compliance by third parties with this License. 479 | 480 | An "entity transaction" is a transaction transferring control of an 481 | organization, or substantially all assets of one, or subdividing an 482 | organization, or merging organizations. If propagation of a covered 483 | work results from an entity transaction, each party to that 484 | transaction who receives a copy of the work also receives whatever 485 | licenses to the work the party's predecessor in interest had or could 486 | give under the previous paragraph, plus a right to possession of the 487 | Corresponding Source of the work from the predecessor in interest, if 488 | the predecessor has it or can get it with reasonable efforts. 489 | 490 | You may not impose any further restrictions on the exercise of the 491 | rights granted or affirmed under this License. For example, you may 492 | not impose a license fee, royalty, or other charge for exercise of 493 | rights granted under this License, and you may not initiate litigation 494 | (including a cross-claim or counterclaim in a lawsuit) alleging that 495 | any patent claim is infringed by making, using, selling, offering for 496 | sale, or importing the Program or any portion of it. 497 | 498 | 11. Patents. 499 | 500 | A "contributor" is a copyright holder who authorizes use under this 501 | License of the Program or a work on which the Program is based. The 502 | work thus licensed is called the contributor's "contributor version". 503 | 504 | A contributor's "essential patent claims" are all patent claims 505 | owned or controlled by the contributor, whether already acquired or 506 | hereafter acquired, that would be infringed by some manner, permitted 507 | by this License, of making, using, or selling its contributor version, 508 | but do not include claims that would be infringed only as a 509 | consequence of further modification of the contributor version. For 510 | purposes of this definition, "control" includes the right to grant 511 | patent sublicenses in a manner consistent with the requirements of 512 | this License. 513 | 514 | Each contributor grants you a non-exclusive, worldwide, royalty-free 515 | patent license under the contributor's essential patent claims, to 516 | make, use, sell, offer for sale, import and otherwise run, modify and 517 | propagate the contents of its contributor version. 518 | 519 | In the following three paragraphs, a "patent license" is any express 520 | agreement or commitment, however denominated, not to enforce a patent 521 | (such as an express permission to practice a patent or covenant not to 522 | sue for patent infringement). To "grant" such a patent license to a 523 | party means to make such an agreement or commitment not to enforce a 524 | patent against the party. 525 | 526 | If you convey a covered work, knowingly relying on a patent license, 527 | and the Corresponding Source of the work is not available for anyone 528 | to copy, free of charge and under the terms of this License, through a 529 | publicly available network server or other readily accessible means, 530 | then you must either (1) cause the Corresponding Source to be so 531 | available, or (2) arrange to deprive yourself of the benefit of the 532 | patent license for this particular work, or (3) arrange, in a manner 533 | consistent with the requirements of this License, to extend the patent 534 | license to downstream recipients. "Knowingly relying" means you have 535 | actual knowledge that, but for the patent license, your conveying the 536 | covered work in a country, or your recipient's use of the covered work 537 | in a country, would infringe one or more identifiable patents in that 538 | country that you have reason to believe are valid. 539 | 540 | If, pursuant to or in connection with a single transaction or 541 | arrangement, you convey, or propagate by procuring conveyance of, a 542 | covered work, and grant a patent license to some of the parties 543 | receiving the covered work authorizing them to use, propagate, modify 544 | or convey a specific copy of the covered work, then the patent license 545 | you grant is automatically extended to all recipients of the covered 546 | work and works based on it. 547 | 548 | A patent license is "discriminatory" if it does not include within 549 | the scope of its coverage, prohibits the exercise of, or is 550 | conditioned on the non-exercise of one or more of the rights that are 551 | specifically granted under this License. You may not convey a covered 552 | work if you are a party to an arrangement with a third party that is 553 | in the business of distributing software, under which you make payment 554 | to the third party based on the extent of your activity of conveying 555 | the work, and under which the third party grants, to any of the 556 | parties who would receive the covered work from you, a discriminatory 557 | patent license (a) in connection with copies of the covered work 558 | conveyed by you (or copies made from those copies), or (b) primarily 559 | for and in connection with specific products or compilations that 560 | contain the covered work, unless you entered into that arrangement, 561 | or that patent license was granted, prior to 28 March 2007. 562 | 563 | Nothing in this License shall be construed as excluding or limiting 564 | any implied license or other defenses to infringement that may 565 | otherwise be available to you under applicable patent law. 566 | 567 | 12. No Surrender of Others' Freedom. 568 | 569 | If conditions are imposed on you (whether by court order, agreement or 570 | otherwise) that contradict the conditions of this License, they do not 571 | excuse you from the conditions of this License. If you cannot convey a 572 | covered work so as to satisfy simultaneously your obligations under this 573 | License and any other pertinent obligations, then as a consequence you may 574 | not convey it at all. For example, if you agree to terms that obligate you 575 | to collect a royalty for further conveying from those to whom you convey 576 | the Program, the only way you could satisfy both those terms and this 577 | License would be to refrain entirely from conveying the Program. 578 | 579 | 13. Use with the GNU Affero General Public License. 580 | 581 | Notwithstanding any other provision of this License, you have 582 | permission to link or combine any covered work with a work licensed 583 | under version 3 of the GNU Affero General Public License into a single 584 | combined work, and to convey the resulting work. The terms of this 585 | License will continue to apply to the part which is the covered work, 586 | but the special requirements of the GNU Affero General Public License, 587 | section 13, concerning interaction through a network will apply to the 588 | combination as such. 589 | 590 | 14. Revised Versions of this License. 591 | 592 | The Free Software Foundation may publish revised and/or new versions of 593 | the GNU General Public License from time to time. Such new versions will 594 | be similar in spirit to the present version, but may differ in detail to 595 | address new problems or concerns. 596 | 597 | Each version is given a distinguishing version number. If the 598 | Program specifies that a certain numbered version of the GNU General 599 | Public License "or any later version" applies to it, you have the 600 | option of following the terms and conditions either of that numbered 601 | version or of any later version published by the Free Software 602 | Foundation. If the Program does not specify a version number of the 603 | GNU General Public License, you may choose any version ever published 604 | by the Free Software Foundation. 605 | 606 | If the Program specifies that a proxy can decide which future 607 | versions of the GNU General Public License can be used, that proxy's 608 | public statement of acceptance of a version permanently authorizes you 609 | to choose that version for the Program. 610 | 611 | Later license versions may give you additional or different 612 | permissions. However, no additional obligations are imposed on any 613 | author or copyright holder as a result of your choosing to follow a 614 | later version. 615 | 616 | 15. Disclaimer of Warranty. 617 | 618 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 619 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 620 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 621 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 622 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 623 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 624 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 625 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 626 | 627 | 16. Limitation of Liability. 628 | 629 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 630 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 631 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 632 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 633 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 634 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 635 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 636 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 637 | SUCH DAMAGES. 638 | 639 | 17. Interpretation of Sections 15 and 16. 640 | 641 | If the disclaimer of warranty and limitation of liability provided 642 | above cannot be given local legal effect according to their terms, 643 | reviewing courts shall apply local law that most closely approximates 644 | an absolute waiver of all civil liability in connection with the 645 | Program, unless a warranty or assumption of liability accompanies a 646 | copy of the Program in return for a fee. 647 | 648 | END OF TERMS AND CONDITIONS 649 | 650 | How to Apply These Terms to Your New Programs 651 | 652 | If you develop a new program, and you want it to be of the greatest 653 | possible use to the public, the best way to achieve this is to make it 654 | free software which everyone can redistribute and change under these terms. 655 | 656 | To do so, attach the following notices to the program. It is safest 657 | to attach them to the start of each source file to most effectively 658 | state the exclusion of warranty; and each file should have at least 659 | the "copyright" line and a pointer to where the full notice is found. 660 | 661 | 662 | Copyright (C) 663 | 664 | This program is free software: you can redistribute it and/or modify 665 | it under the terms of the GNU General Public License as published by 666 | the Free Software Foundation, either version 3 of the License, or 667 | (at your option) any later version. 668 | 669 | This program is distributed in the hope that it will be useful, 670 | but WITHOUT ANY WARRANTY; without even the implied warranty of 671 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 672 | GNU General Public License for more details. 673 | 674 | You should have received a copy of the GNU General Public License 675 | along with this program. If not, see . 676 | 677 | Also add information on how to contact you by electronic and paper mail. 678 | 679 | If the program does terminal interaction, make it output a short 680 | notice like this when it starts in an interactive mode: 681 | 682 | Copyright (C) 683 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 684 | This is free software, and you are welcome to redistribute it 685 | under certain conditions; type `show c' for details. 686 | 687 | The hypothetical commands `show w' and `show c' should show the appropriate 688 | parts of the General Public License. Of course, your program's commands 689 | might be different; for a GUI interface, you would use an "about box". 690 | 691 | You should also get your employer (if you work as a programmer) or school, 692 | if any, to sign a "copyright disclaimer" for the program, if necessary. 693 | For more information on this, and how to apply and follow the GNU GPL, see 694 | . 695 | 696 | The GNU General Public License does not permit incorporating your program 697 | into proprietary programs. If your program is a subroutine library, you 698 | may consider it more useful to permit linking proprietary applications with 699 | the library. If this is what you want to do, use the GNU Lesser General 700 | Public License instead of this License. But first, please read 701 | . 702 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Discontinued. 2 | -------------------------------------------------------------------------------- /builds/OneeChan.meta.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name OneeChan 3 | // @version 5.0.27 4 | // @namespace OneeChan 5 | // @description Customizable rice and themes for 4chan and 4chan X. 6 | // @license GPLv3; https://github.com/seaweedchan/OneeChan/blob/master/LICENSE 7 | // @match *://www.4chan.org/ 8 | // @match *://boards.4chan.org/* 9 | // @match *://sys.4chan.org/* 10 | // @grant GM_getValue 11 | // @grant GM_setValue 12 | // @grant GM_deleteValue 13 | // @grant GM_openInTab 14 | // @run-at document-start 15 | // @updateURL https://github.com/seaweedchan/OneeChan/raw/stable/builds/OneeChan.meta.js 16 | // @downloadURL https://github.com/seaweedchan/OneeChan/raw/stable/builds/OneeChan.user.js 17 | // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QQcCwEjOhJEZAAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAABEGSURBVGjepZppkF1lmcd/79nv3rf3NXtCliYGSFo2wxKIEVCJRodNUWdkQCxLxHUYHR0/zJROhimVMYql5TgKoyAiSMIqSUiABLORdCB70kkv6e3u2znnfefD7dx0p7tDAu+tU3Xue0+d8/yf5f8s5wrOWF/72tf54Q9/wPwLLp6DMLeWisXo6N+VUth2kGikluHhHnzp8W6WlD65YhZPeggEQgjaozNYXruE7lwvMStCqpQhaAQohdV9q9ev+a+J7iNGf9myZQsdHR3cdNMt0w3RtKtzz/qw0HQMw0DTdJQCXTdxbAfHiXKsaw9ClB8OAiHKt/R9F103xzzI9z103RizZ5o2BTdPOpPA0kwui7VT78QI6Ta60PGUhy50MMQBrcZs//e1Py6eCWDMHTs6Oli16tP10q3dCXp47twryOXTKOnj+R66bjFvapxtezqpiTdRFa3D932k8pGyfBQKGRKpfpT0yeZSgEIIDYUap71SKU9ddSuFYp64CGBpJifzCUKGTZ0Tw5M+CFCemuWEgw3AsbMCuO3Wz2ulfOxx6fuR3XuerwhlGBYAbS2zaW+Lc6xvFtt2PneGlhWaphMOx4mGq6mONxMMxkgm++gf6GIo0YMQAqVOAxFCYzjRQzRSTTSvAWDpFr35ASJmEFs3EEIQMoIUfFebyIXGbGaz3jLQrjzR/VbFT08Jr2k6t18/j61vnaCndx+6blbcp3xoKKVIpQbpOXmI7bueZ/uu5+k5eYhQqIoFcz/AnFkdtLbMxTRspPQrMVUdbaAn3z+iBkXYDJP2ckTNMLrQ8IS/P9WfPP7Al77BWS0gVOTRruOdDA2dQAhtTOBWV9Uwu62anz/Ri2N4Z4bPKK2eigcd33fJZIZJp4dQqhPbjjB75sU0N85ieLiX4z37yOfTOHYQMxqjp3iSWjOOpVtkvCKu9AhZYfqDiW+tefF/PDYyOYAV1996iWWGqwcHy8KXSgUsy6kAaK6LYRmCQjFPSajJ5J+QHsoWMslkhtjTuRHbDtLWOp+FC64mn0+RTg/R1jyXXW9tIKj3UG9WEXDCHMu8SV19K/H6hkuBxyd1occee4xQuP4S18v6Urrlh2qnLeBLxYJpcYZTGeKRIFKq85H/9J4mQEDJLbD/4Fb2dG7A9VwaGqYTiVQjhEZeljhc6GPQcPF1wYn+o2jKXPXhm+6wN2zYMDGAVatWYZvOtFy+r7PsyxJjVID6UjG7rZpQVZSwYxJ0LJQ6m/hqRAFqEhcrx1Qml2Dv25s4fHQXpmFXaFYTAnXqOqEzMNAzralhanDp0qVnDeLAcOLE9jPiusLhU5rqaWysx9QFrfXxMWwyoWmFNg6kEAJNM8Zd292zH4BIuAalFEqpkRhUCCHIZTMkkj03npWFCsXMYCad2iTEOGUCimAgQH1zPQHHYMHMJnwpzzP3KkCgafp4ITSdo127icQaaGlbQDAUQ4y6zvNK+L515aQA1q9fD6R3mpaZA1nxYF8qssUi+YKLUpJofQ3Tmuu4fOEcXG/yEkIpqIk6jFaG77uYhjUuG5+yTL6QQfouQtOprpmKZdqn5fA8DN28cFIAV111FS1Tgy9Go8FNobDj+r6L9EvMn1rNr7/9ab7z9x+kZyCJZposu7qDUDDANZfMpqUugm0JSm6Rkuvi+R5S+fjSJxw0kVJW4kAqRW1NK77vjqHn0aillCMiK0b7n5Q+lmXNmAhARR0//tGa3HXXXX9EJdJfsE3zYYBQNMas981nzqIF7Ny5D8/1uOSyi+g/1sNdK69GSolS8MqON+nqS9A7mGXngRMIYRK0LYQ47QZKSuLxBvoHuiqBLKVfsUjZ90e55ahzpRSuJ42zAgB44YXnVcfiy19Glh4rFtxVpmPRdsEMdF2DcARQhGJRQhdGaZjWQj6bp5TLE6qLY0lFPp3Blz7HTw7TM5Ag4Bxi75EeUjl3VPZVE5KslD5jeGskU5+m5YmJewyA+++/n9WrVx8APnFZx9Jvmqbzb1JKPM+jpbl2jMkDkTCBSBiApplTEUIgpaS/qwfnwBGmtjTQ0T4LXRO8eeAYf3rlIP1DvZNmcF+6GILTrjOKJMrsxTsDWL16deV82oyLl9bUhRkYGmbnm2+zYtmVeL4/7ga6piE0DW8kqOunNFM/pZliLo9bcskMJ7FDIY4NOfx+7bqK+0xE1RVSVBLfLaIbZqXok1L1vSMAgC/ccz8n+5K1vieuaKoXbH5jLwEDpJqYNl/c8DpS+ixe1E4sFqlYyQ4GsAIO4aoorXNn8OMn9uJ5LtooVYoxTKTR1BCh52QOwyviK4mBQKHQNA0hVM87VqMA//3T1UTCsYt27349etdnPsLNK67gg8uuQMrxiUt6kq7D3fznQ7/jd394hmNdPZimgenYDCWS+CMWO36sm4OHugmHY2PpdhQCxzb5zUP3UROzQPnl0puy0jRdp1gq7nlHAM899xwA6XT2S+3zmrF7Fal0FiYwu/IVMuvzqRtu4hf/9AAX1s9m3/YePnPHN7n91q+w9s/r0YWOrmusfWEXjhMaX36M+m6ZBrZlsfCC5rIFLQfXdUfc1EA35N53dKHly5cDcOjw3pv+4Y7lHDrRzcypMyYsG1RJIfOSXLpI0DNpr50CCDq+9FWMsMlgMYHM+wjbYNNrR9E0ifQnT34aimImQyBgoVAYhkWpVByxgEZVVWD7ObnQsmXLLlAKZs1sJTw7drauHHyFny0hcy5uokhpIIs7lMfPuLg5H1mUDA8mKfkOdTFj0jgCMA2Bbepl+lflwzAtlFKYpqXcYnDvOQHIZf2FjmO+rWmCutrqs1VroIMesBCOhWZqCF0HAdL1aKwtF2aJ4TylYoGm2ugE1dFIlpaKObNaiTU20Ns3OJK5fWwrgFIKJxAa8GTBPycAbslrtCxzXXfPALZlTl7vWxqaraEFdIyQgVntYNU6GFUOesRGWAKhC7JFF0vLEAoEx3R5Y57pely//DJ+/ss/8rcdh1AoPN/DtoMoJXECwZ7+gYOlcwKgaRpK+Btfe6MTDGNyALpAD5sYUQMjbmLELcwaGzNuY0QN9ICBFtBwfUlbjY3nq5Ee43Q85XMFcvk8M2c0smfPEX6y5i8Yhl7JC44TQiAwLfPIunVPeucEwJP5Y1PaWg8/99Lf8m4+f/auyxQYMQMrbmHVWpg1Fma1iRmzMGImmq2DENTETCzbxLYDZSZSimBQ49k//QeHdv4f1bEqnnl2G5oQ5UysFEr6WFYAJxDEMLXXJpNhnIoDAfMFhOuEQvaeR//4wiW3fOx6kUplSCTTtLU2js+kQiAcge5op5U7mt8dg1jYIotFKFxDS7XithWXsXhxO8HqKj52+7c5enQA3dAnaEMUkWgN2Uyi85wBbNq0Obtp0+YssKS+7q6PA4/FYhEikRC9fQO0NNUjJ+vGJqgSauMhQvEYZhGWL27kyvmL+OvWTvZ3nWTzjkMc78+OE/7UzYpunlhVLZnc0eOT0+8E6+677y5PKj72ucd3de7v1bTy7Ke5qW5y4SdZ8aowF116IQtaIyxdOAVNN/jlM9v57bodHD2ZQSmF57uVVvLUAYpisYDjBFFaV9d5AVizZk3l/L4HfnTR4FDSBThP2RGaRrFQxOsdoJgvIpUikc0hhEZ5QFEWtJzg1BkHFItZPN/nt49/OnFeAE6tr993LxtfWd/7xNMv32VMaOazCC+ge/9htj23kdRQAqGVK/pcLs+06dMIhkJndMtiXJtZLOZxS0X+/OSmSac4Z5Vq02tbAXh63Us7PBX97tVXXHhWoXXDwC0UOXHgKLte3cbA8RMk/AgFo46k55Cxp6MiM1h27YfYsX0LqVRqpHfxJmz2hYBYtBZ088FNG7fnzymIJ1ubt+zn6XWv8OEPXVmJVqUUvpRIX1LM5dm/s5MTR45jWTbBQICT+gVII0IsVkVI1ys1VVV1mFQmWWE007IpFPI4duCM4UC5mTpycDgKDL1rAEop/eqrVvK1b/+MRx57kelTG0mmc3RMr6M+FiFaFaWUL+D5Hr4ZpRCeiRuIE7NDlYl0+YCLl8yguTWOYaqRmFJl9xGMKxp938c0LLq7ErF3FQOj/NH3PQ8hBDvePMRjf36Ftc9v4dlNnVRFwghfooRGv70Is3kpgXgbph0aM3lQSjFnXhPNrXEAYtEonl9CoZBKYhomUvmoMR9JPp+msW7OivcEACAYdMZMDO6558tcfeOnyJdKaAJOFsJUxRvQhBqnSaVgzrxm5sxtruw1NjaOmS0JoVFyi2ckSkEyNQDKuu49A9B0bd+psYem6fT1dSM0jZIPx5ICu24+ui7GtIynKs1p0+vGCA/Q2tZCLpcdw/1ClHvr0XuJZD+mYc/8yI132O8JgO95T5Y1W05qqWSSeFUtPcN57OZLCQRCEzY+jc1VtC+aMm7/oytv4OWNT2OURxGAwjIsPK80Jh8o5ZNIDkzTtdEu8C4ARKLB3+i6hhDg+5JDhw+QSiVJqmqOHd0/ro5QStHQWMWSS2dN0g9JmpqaePmVZ+h4/yIGB4fIZnN4nofvy5GarmyVROKkkLJw27mO8cetBx54gGfXvuT09w93Gro9/YablvHNb32DVzceIJ/PUldbXxmrnBI+Ggty5dXz0DQxJpiLxSKHDx9m3rx5Y1/4uSVe3fwae3a/xe7dnRzv6iGbzZNJZyjkXaZPn3f0yb88PO2cAKxbt44VK8YFfvDee7/4i2uWLbv14ytv5uiR47z4/E5q4jUYxtjGJxx2uOq6BSOuJ9m+bQeBYIBsLsvcuXOIRCKTzodGr2KxiKHr/OQna3jqic1UxdSUx596tOuTn7yb3/9+zcQArr3ulnbQuPsfVy6YN3fupaZpLgqGgkv2btkdOvL6IbY8tZm5H5hP27VLyCYLVFXVYI+8ihKi7GJNrWFSiQx9fcMUCgWmTG0kHDG5ZMmF51yKnDhxgpaWFj5/11dZv3EbwWAAyzJ9x7K+tXHDH354y6338ugjD5UT2Q033ckzT/+aK5eu2jo0nF7s+z7DQxna29sB+N1P/5dtv3qVZCmJ7dhkdicYnNpPrKUe2wpUXkR0dx+lUCyQzbUQcILk8wXa39fCxZe877zqKM/zyGazfOX+77BlayehUPBU66m7rveDa669JfXoIw/9DED77OfuOyX899PZ/GLPc+lYMo/LL18MwBvrt7Dh4efpzfXRFG7AUx4SyZan1iKVJJ1OkMmkyGRSNDVPIRSMEgoL5l1Yx213Lj8v4VOpBOs3bGLhRSv4yMp7eOGlN9D08TyTTGfWfObOL08FMH71ywe587Nfbti95+A/+16R3Ttf4PvfvYdMJgNA77EeDF9nVtV0ujO9OIbN0dRxaq04h17fwcXXX0sulyWVHkboBf7ujmUEg/Z5/m9Ckk6nuX7FnWSzBWzbASFQ0p9kjqrYd/DYI8DlBsDevUc2Sgn79m7i1BubBx98EIC33trLUHEYX5METAcNjYZgHQeGDjHluEm+kKd94XRmzrkCxzHf1R8/Xn31Verrm3BLHo4TIJnopa/3AKViDqEJ2qYsJBypGVOlFoqlRZddsbLGuOqaT74/mcrOTAx1UyqVK9abb7759JR63gy2uJsJRgMM5ofRhKA73UdQOlxz+7Vcc+NFRCMR3u0aHh7mZH+Ke774PdLpIXpOvEWxkB1zzYF9rzH7gssJR6ordCylCoQjoTs0z/f/RQhNO9l38LSPJZOV84/f/gn0kEFPuo/B3DC9mX40oVE3q4GP3rKSrVu2vGvhU8k8D//8j9z/1e/R+eZfOXLwb+OEP7X2v72ZUqkwZi+Tyf3r/wPNYcrLkd3xFwAAAABJRU5ErkJggg== 18 | // ==/UserScript== -------------------------------------------------------------------------------- /builds/crx/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/builds/crx/icon128.png -------------------------------------------------------------------------------- /builds/crx/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/builds/crx/icon16.png -------------------------------------------------------------------------------- /builds/crx/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/builds/crx/icon48.png -------------------------------------------------------------------------------- /builds/crx/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OneeChan", 3 | "version": "5.0.27", 4 | "manifest_version": 2, 5 | "description": "Customizable rice and themes for 4chan and 4chan X.", 6 | "icons": { 7 | "16": "icon16.png", 8 | "48": "icon48.png", 9 | "128": "icon128.png" 10 | }, 11 | "content_scripts": [{ 12 | "js": ["script.js"], 13 | "matches": ["*://www.4chan.org/","*://boards.4chan.org/*","*://sys.4chan.org/*"], 14 | "all_frames": true, 15 | "run_at": "document_start" 16 | }], 17 | "homepage_url": "http://seaweedchan.github.io/OneeChan/", 18 | "minimum_chrome_version": "26", 19 | "maximum_chrome_version": "29", 20 | "permissions": [ 21 | "storage" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "OneeChan", 3 | "version": "5.0.27", 4 | "description": "Customizable rice and themes for 4chan and 4chan X.", 5 | "meta": { 6 | "name": "OneeChan", 7 | "repo": "https://github.com/seaweedchan/OneeChan/", 8 | "page": "http://seaweedchan.github.io/OneeChan/", 9 | "mainBranch": "master", 10 | "matches": [ 11 | "*://www.4chan.org/", 12 | "*://boards.4chan.org/*", 13 | "*://sys.4chan.org/*" 14 | ], 15 | "files": { 16 | "metajs": "OneeChan.meta.js", 17 | "userjs": "OneeChan.user.js" 18 | } 19 | }, 20 | "devDependencies": { 21 | "grunt": "~0.4.1", 22 | "grunt-bump": "~0.0.2", 23 | "grunt-contrib-clean": "~0.4.1", 24 | "grunt-contrib-concat": "~0.2.0", 25 | "grunt-contrib-compress": "~0.5.0", 26 | "grunt-contrib-cssmin": "~0.6.0", 27 | "grunt-contrib-copy": "~0.4.1", 28 | "grunt-shell": "~0.2.2" 29 | }, 30 | "repository": { 31 | "type": "git", 32 | "url": "https://github.com/seaweedchan/OneeChan.git" 33 | }, 34 | "author": "seaweedchan", 35 | "namespace": "seaweedchan.github.com", 36 | "license": "GPLv3", 37 | "readmeFilename": "README.md", 38 | "engines": { 39 | "node": ">=0.8" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/css/Cleanup.css: -------------------------------------------------------------------------------- 1 | /* Hide things we don't want */ 2 | .mobile, 3 | #delform .mobile.center, 4 | .brackets-wrap:not(.hide-board-list-container)::before, 5 | .brackets-wrap:not(.hide-board-list-container)::after, 6 | .tab-select:not(:checked) + div, 7 | iframe[src='about:blank'], 8 | #absbot, 9 | .stylechanger, 10 | #styleSwitcher, 11 | :root:not(.show-ads) .center, 12 | :root.show-ads.hide-top .topad.center, 13 | :root.show-ads.hide-middle .middlead.center, 14 | :root.show-ads.hide-bottom .bottomad.center, 15 | #delPassword, 16 | .boardBanner>img, 17 | .boardBanner>img~div, 18 | :root.hide-checkboxes #delform .post input[type=checkbox], 19 | :root.hide-checkboxes #delform .post .riceCheck, 20 | :root.hide-checkboxes #qp .post input[type=checkbox], 21 | :root.hide-checkboxes #qp .riceCheck, 22 | :root.hide-checkboxes .deleteform, 23 | :root.hide-board-name .boardTitle, 24 | :root.hide-board-name .boardSubtitle, 25 | :root.hide-text-board .boardSubtitle, 26 | :root.hide-banner .bBanner, 27 | :root.hide-button .qr-link-container, 28 | :root.reply-fit-width .sideArrows, 29 | :root:not(.oneechan) body, 30 | :root:not(.fourchan-x) body::before, 31 | #postForm, 32 | .forwarded, 33 | body>hr, 34 | :root.catalog hr, 35 | :root.thread .navLinks, 36 | .ad-plea, 37 | #mascot img[src=''], 38 | .exif:not([style]) { 39 | display: none; 40 | } 41 | /* Get rid of Chrome input outlines, and link outlines */ 42 | input:focus, 43 | textarea:focus, 44 | a 45 | { 46 | outline:none!important; 47 | } 48 | /* Hide unwanted horizontal lines, while keeping them */ 49 | #delform>hr, 50 | .board>hr:last-of-type { 51 | background: none !important; 52 | } 53 | 54 | -------------------------------------------------------------------------------- /src/css/Colors.css: -------------------------------------------------------------------------------- 1 | /* Text Colors */ 2 | 3 | /* Anything we need transparent */ 4 | div[style='float: right;'] { 5 | color: transparent !important; 6 | } 7 | /* General */ 8 | html, 9 | body, 10 | div.boardBanner, 11 | #menu, 12 | input:not(.jsColor), 13 | textarea, 14 | #qr-filename-container, 15 | #post-preview, 16 | .post-last, 17 | .pln { 18 | color: " + $SS.theme.textColor.hex + " !important; 19 | } 20 | /* Names */ 21 | .nameBlock>.name, 22 | .com, 23 | .post-author, 24 | :root.email-color a.useremail .name { 25 | color: " + $SS.theme.nameColor.hex + " !important; 26 | } 27 | /* Tripcodes */ 28 | .nameBlock>.postertrip, 29 | :root.email-color a.useremail .postertrip, 30 | .post-tripcode, 31 | .tag { 32 | color: " + $SS.theme.tripColor.hex + " !important; 33 | } 34 | 35 | /* Links */ 36 | a, 37 | .typ, 38 | .atn, 39 | :root.catalog .button, 40 | .options-button { 41 | color: " + $SS.theme.linkColor.hex + " !important; 42 | } 43 | a.summary, 44 | .pages strong>a { 45 | color: " + $SS.theme.textColor.hex + " !important; 46 | } 47 | #header-bar #notifications a { 48 | color: #ffffff !important; 49 | } 50 | a:hover, 51 | :root.catalog .button:hover, 52 | .lit, 53 | #header-bar #notifications a:hover { 54 | color: " + $SS.theme.linkHColor.hex + " !important; 55 | } 56 | /* Header */ 57 | #header-bar, a.current { 58 | color: " + $SS.theme.headerColor.hex + " !important; 59 | } 60 | #header-bar a:not(.current) { 61 | color: " + $SS.theme.headerLColor.hex + " !important; 62 | } 63 | #header-bar a:hover { 64 | color: " + $SS.theme.headerLHColor.hex + " !important; 65 | } 66 | /* Greentext */ 67 | .postMessage>.quote, 68 | s:hover .quote, 69 | .str, 70 | .atv, 71 | .new { 72 | color: " + $SS.theme.quoteColor.hex + " !important; 73 | } 74 | /* Subject and Option labels */ 75 | .subject, 76 | .replytitle, 77 | .teaser b, 78 | .post-subject, 79 | .option.header .option-title, 80 | .kwd { 81 | color: " + $SS.theme.titleColor.hex + " !important; 82 | } 83 | /* Board Title */ 84 | .boardTitle { 85 | color: " + $SS.theme.boardColor.hex + " !important; 86 | text-shadow:1px 1px 1px rgba\(" + $SS.theme.boardColor.shiftRGB(-100) + ", 0.6) !important; 87 | } 88 | /* Backlinks */ 89 | .backlink { 90 | color: " + $SS.theme.blinkColor.hex + " !important; 91 | } 92 | /* Code Tags */ 93 | .prettyprint { 94 | background: none repeat scroll 0% 0% rgba(" + $SS.theme.codeBackground + ") !important; 95 | border: 1px solid rgba(" + $SS.theme.codeBorder + ") !important; 96 | } 97 | .pun { 98 | color: rgba(" + $SS.theme.textColor.rgb + ",.4) !important; 99 | } 100 | ::-webkit-input-placeholder { 101 | color:rgba(" + $SS.theme.textColor.rgb + ",.4) !important; 102 | } 103 | #qr .field::-moz-placeholder, 104 | ::-moz-placeholder, 105 | #qr-no-file { 106 | color: rgba(" + $SS.theme.textColor.rgb + ",.4) !important; 107 | } 108 | 109 | /* Backgrounds */ 110 | html, 111 | body { 112 | background: " + $SS.theme.bgImg.get() + $SS.theme.bgColor.hex + " !important; 113 | } 114 | .reply, 115 | :root.catalog .panel, 116 | .dialog, 117 | .tab-label, 118 | #post-preview, 119 | .flashListing tr:nth-of-type(2n+1) { 120 | background: rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")!important; 121 | } 122 | :root.recolor-even .thread>.replyContainer:nth-of-type(even):not(.hidden) .post { 123 | background: rgb\(" + $SS.theme.mainColor.shiftRGB(-10) + ") !important; 124 | } 125 | :root:not(.header-gradient) #header-bar { 126 | background: rgba(" + $SS.theme.headerBGColor.rgb + "," + $SS.theme.navOp + ") !important; 127 | } 128 | :root.header-gradient #header-bar { 129 | background: linear-gradient(rgb\(" + $SS.theme.headerBGColor.shiftRGB(15) + "),rgba(" + $SS.theme.headerBGColor.rgb + "," + $SS.theme.navOp + ")) !important; 130 | } 131 | .options-button, 132 | .qr-link, 133 | .pages strong>a { 134 | background:linear-gradient(rgb\(" + $SS.theme.mainColor.shiftRGB(15) + "),rgb(" + $SS.theme.mainColor.rgb + ")) !important; 135 | } 136 | .options-button:hover, 137 | .import-input:hover + .options-button, 138 | .pages strong>a:hover { 139 | background:rgb\(" + $SS.theme.mainColor.shiftRGB(15) + "); 140 | } 141 | .focused.entry { 142 | background:rgb\(" + $SS.theme.mainColor.shiftRGB(10) + ") !important; 143 | } 144 | .qr-link:hover { 145 | background:rgb\(" + $SS.theme.mainColor.rgb + "); 146 | } 147 | input:not(.jsColor), 148 | textarea, 149 | .riceCheck, 150 | #qr-filename-container { 151 | background: " + $SS.theme.inputColor.hex + " !important; 152 | transition: background .2s; 153 | } 154 | input[type=checkbox], 155 | .riceCheck { 156 | background: rgb\(" + $SS.theme.inputColor.shiftRGB(20) + ") !important; 157 | } 158 | input:not(.jsColor):hover, 159 | .riceCheck:hover, 160 | #qr-filename-container:hover, 161 | textarea:hover { 162 | background: rgb(" + $SS.theme.inputColor.hover + ") !important; 163 | transition: background .2s; 164 | } 165 | hr { 166 | background-image: linear-gradient(to left, rgba(" + $SS.theme.brderColor.rgb + ",0), rgb(" + $SS.theme.brderColor.rgb + "), rgba(" + $SS.theme.brderColor.rgb + ",0)); 167 | } 168 | #unread-line { 169 | background-image: linear-gradient(to left, rgba(" + $SS.theme.unreadColor.rgb + ",0), rgb(" + $SS.theme.unreadColor.rgb + "), rgba(" + $SS.theme.unreadColor.rgb + ",0)); 170 | } 171 | .inline { 172 | background:rgba\(" + $SS.theme.mainColor.shiftRGB(-16) + ",.8)!important; 173 | } 174 | :root.post-info .reply>.postInfo { 175 | background: rgba\(" + $SS.theme.mainColor.shiftRGB(-16) + ",.2); 176 | } 177 | 178 | /* Borders */ 179 | .reply { 180 | border-width: 0px 1px 1px 0px; 181 | border-style: solid; 182 | } 183 | :root.borders-all .reply { 184 | border-width: 1px; 185 | } 186 | :root.borders-none .reply { 187 | border-width: 0px; 188 | } 189 | :root.rounded-corners .reply, 190 | :root.rounded-corners .dialog:not(#header-bar), 191 | :root.rounded-corners .inline { 192 | border-radius: 3px; 193 | } 194 | :root.post-info .reply>.postInfo { 195 | border-bottom:1px solid rgb\(" + $SS.theme.mainColor.shiftRGB(4) + "); 196 | } 197 | :root.post-info.rounded-corners .reply>.postInfo { 198 | border-radius: 3px 3px 0 0; 199 | } 200 | .reply, 201 | .dialog, 202 | .entry, 203 | .inline, 204 | fieldset, 205 | #post-preview, 206 | .flashListing td:not(:last-of-type):not(.postblock) { 207 | border-color: " + $SS.theme.brderColor.hex + " !important; 208 | } 209 | input, 210 | textarea, 211 | .riceCheck, 212 | #qr-filename-container { 213 | border:1px solid " + $SS.theme.inputbColor.hex + " !important; 214 | } 215 | .options-button, 216 | .qr-link, 217 | .pages strong>a { 218 | border-style: solid; 219 | border-width: 1px; 220 | border-color: rgb\(" + $SS.theme.mainColor.shiftRGB(-15) + ") rgb\(" + $SS.theme.mainColor.shiftRGB(-15) + ") rgb\(" + $SS.theme.mainColor.shiftRGB(-30) + ") !important; 221 | } 222 | input:focus, 223 | textarea:focus, 224 | #qr-filename-container:focus { 225 | border:1px solid " + $SS.theme.linkColor.hex + " !important; 226 | } 227 | #header-bar { 228 | border: none !important; 229 | } 230 | .flashListing td:not(:last-of-type):not(.postblock) { 231 | border-width: 1px; 232 | border-style: solid; 233 | } 234 | 235 | /* Outlines */ 236 | .qphl { 237 | outline: 2px solid rgba(" + $SS.theme.linkColor.rgb + ",0.5) !important; 238 | } 239 | -------------------------------------------------------------------------------- /src/css/Fonts.css: -------------------------------------------------------------------------------- 1 | /* Font Size/Family */ 2 | 3 | /* Anything we need 0px */ 4 | .deleteform, 5 | .pages, 6 | .pagelist button, 7 | #full-board-list { 8 | font-size: 0px !important; 9 | } 10 | 11 | /* Anything we need small */ 12 | .fileText, 13 | .summary { 14 | font-size: " + (($SS.conf["Font Size"] < 13) ? 11 : ($SS.conf["Font Size"] - 2)) + "px !important; 15 | } 16 | /* Anything we need !important */ 17 | .qr-link { 18 | font-size: 14px !important; 19 | } 20 | /* Options */ 21 | .tab-label, 22 | .options-button, 23 | .theme-preview, 24 | #oneechan-options input, 25 | #oneechan-options textarea, 26 | .hide-reply-button, 27 | .hide-thread-button { 28 | font-family:sans-serif !important; 29 | font-size:12px !important; 30 | } 31 | /* Board Title */ 32 | .boardBanner .boardTitle { 33 | font-weight: 400 !important; 34 | font-size:28px !important; 35 | } 36 | 37 | /* Code Tags */ 38 | .prettyprint span { 39 | font-family:monospace!important; 40 | font-size:medium!important; 41 | } 42 | 43 | /* Full board list */ 44 | #full-board-list { 45 | font-size: 0px !important; 46 | } 47 | #full-board-list a, 48 | body>#header-bar, 49 | #full-board-list .fourchanx-link { 50 | font-size: " + (($SS.conf["Font Size"] < 13) ? 12 : ($SS.conf["Font Size"] - 1)) + "px !important; 51 | } 52 | 53 | /* Everything else */ 54 | body, 55 | .prev span::after, 56 | .prev form::after, 57 | .next span::after, 58 | .next form::after, 59 | .pages a, 60 | #qr input.field, 61 | #qr textarea.field, 62 | #qr span.field, 63 | #qr [type=submit], 64 | #menu .entry, 65 | .boardBanner .boardTitle { 66 | font-family:" + $SS.formatFont($SS.conf["Font Family"]) + "; 67 | font-size:" + $SS.conf["Font Size"] + "px; 68 | } 69 | #qr .field::-moz-placeholder, 70 | ::-moz-placeholder { 71 | font-family:" + $SS.formatFont($SS.conf["Font Family"]) + " !important; 72 | font-size:" + $SS.conf["Font Size"] + "px !important; 73 | } 74 | #qr .field::webkit-input-placeholder, 75 | ::webkit-input-placeholder { 76 | font-family:" + $SS.formatFont($SS.conf["Font Family"]) + " !important; 77 | font-size:" + $SS.conf["Font Size"] + "px !important; 78 | } 79 | 80 | /* Text decoration */ 81 | :root.underline-disabled a { 82 | text-decoration: none !important; 83 | } 84 | :root.underline-disabled .filtered { 85 | text-decoration: line-through !important; 86 | } 87 | 88 | /* Font weight */ 89 | .name, 90 | .subject, 91 | .option.header .option-title, 92 | a.current { 93 | font-weight: " + ($SS.conf["Bitmap Font"] ? 4 : 7) + "00 !important; 94 | } 95 | .qr-link { 96 | font-weight: normal; 97 | } 98 | 99 | /* Font Style */ 100 | .summary { 101 | font-style: italic; 102 | } 103 | -------------------------------------------------------------------------------- /src/css/General.css: -------------------------------------------------------------------------------- 1 | /* Side Margins */ 2 | body { 3 | margin-left: " + $SS.conf["Margin Left"] + "px; 4 | margin-right: " + $SS.conf["Margin Right"] + "px; 5 | } 6 | 7 | /* Replies */ 8 | .postInfo { 9 | padding:4px 12px 2px; 10 | display: block !important; 11 | } 12 | .fileText { 13 | margin-left: 20px; 14 | margin-right: 10px; 15 | } 16 | .useremail::before { 17 | margin-bottom: -20px; 18 | display: inline-block; 19 | } 20 | .summary { 21 | margin-left: 20px; 22 | } 23 | .expanded-image { 24 | position: relative; 25 | } 26 | .fileThumb img { 27 | border-radius: 2px; 28 | } 29 | :root.expand-cover #qr { 30 | z-index: 8 !important; 31 | } 32 | :root.expand-cover .expanded-image { 33 | z-index: 9 !important; 34 | } 35 | :root.force-op .op::after 36 | { 37 | clear:both; 38 | content:''; 39 | display:block; 40 | } 41 | .thread>.replyContainer, 42 | .threadContainer>.replyContainer { 43 | margin-bottom:" + $SS.conf["Margin Between Replies"] + "px !important; 44 | } 45 | .postInfo + .inline { 46 | margin-left: 20px !important; 47 | } 48 | .inline .op>.postInfo, 49 | #qp .op>.postInfo { 50 | min-width: 600px; 51 | } 52 | .postMessage { 53 | margin: " + $SS.conf["Margin Post Message"] + " !important; 54 | } 55 | /* Fit Width option */ 56 | :root.reply-fit-width .reply.post { 57 | display: block !important; 58 | } 59 | :root.reply-fit-width .stub ~ .reply.post { 60 | display: none !important; 61 | } 62 | .hasInline .inline>.replyContainer:not(.expanded-image):not(.hasInline) .reply.post, 63 | :root.reply-fit-width .reply.post { 64 | overflow: hidden !important; 65 | } 66 | :root.reply-fit-width .hasInline>.reply.post, 67 | :root.reply-fit-width .expanded-image>.reply.post { 68 | overflow: visible !important; 69 | } 70 | :root.reply-fit-width .expanded-image>.post::after, 71 | :root.reply-fit-width .hasInline>.reply.post::after { 72 | clear:both !important; 73 | content:'' !important; 74 | display:block !important; 75 | } 76 | .threadContainer .hide-reply-button { 77 | margin-left: -12px !important; 78 | } 79 | :root.reply-hide .thread>.expanded-image>.reply, 80 | :root.reply-hide .thread>.hasInline>.reply { 81 | margin-left: 12px !important; 82 | } 83 | 84 | /* Quote Threading */ 85 | .threadContainer { 86 | margin-left: 0px !important; 87 | padding-left: 20px!important; 88 | } 89 | :root.reply-hide .thread>.threadContainer { 90 | margin-left: 13px !important; 91 | } 92 | 93 | /* Style Post Info option */ 94 | :root.post-info .reply>.postInfo { 95 | box-shadow: inset rgba(0,0,0,.05) 0px -1px 2px; 96 | padding-top: 2px !important; 97 | } 98 | 99 | /* Backlinks */ 100 | :root.backlink-bottom .post { 101 | position: relative; 102 | padding-bottom: 2px; 103 | } 104 | :root.backlink-bottom .container 105 | { 106 | position:absolute; 107 | bottom:2px; 108 | right:6px; 109 | } 110 | 111 | /* Menu button */ 112 | .reply .menu-button i { 113 | position: relative; 114 | bottom: 1px; 115 | } 116 | :root.reply-fit-width .reply .container { 117 | padding-right: 5px; 118 | } 119 | .container { 120 | margin-left: -2px !important; 121 | } 122 | .reply>.postInfo>.menu-button + .container:not(:empty) { 123 | margin-left: 2px !important; 124 | } 125 | :root:not(.reply-fit-width) .container { 126 | margin-left: 0px !important; 127 | } 128 | :root.reply-fit-width .post .menu-button { 129 | float: right; 130 | margin-left: 0px; 131 | position: relative; 132 | left: 5px; 133 | } 134 | :root.reply-fit-width .post .menu-button { 135 | opacity: 0; 136 | } 137 | :root.reply-fit-width .post:not(:hover) .menu-button { 138 | transition: opacity .3s ease-out 0s !important; 139 | } 140 | :root.reply-fit-width .post:hover .menu-button { 141 | opacity: 1; 142 | transition: opacity .3s ease-in .1s !important; 143 | } 144 | 145 | /* Code Tags */ 146 | .prettyprint { 147 | padding: 5px !important; 148 | display: inline-block; 149 | max-height: 400px; 150 | overflow-x: auto; 151 | max-width: 100%; 152 | vertical-align:middle; 153 | } 154 | 155 | /* Checkboxes */ 156 | input[type=checkbox], 157 | input[type=submit], 158 | .riceCheck { 159 | cursor: pointer; 160 | } 161 | input[type=checkbox], 162 | .riceCheck 163 | { 164 | display: inline-block; 165 | height: 10px !important; 166 | position: relative; 167 | vertical-align: top; 168 | width: 10px!important; 169 | border-radius: 2px!important; 170 | -webkit-appearance: none; 171 | } 172 | .riceCheck { 173 | margin: 2px 3px 0px 0px; 174 | } 175 | input[type=checkbox] { 176 | margin: 3px 3px 0px 0px; 177 | } 178 | #qr .riceCheck, 179 | #qr input[type=checkbox] { 180 | margin: 3px 4px 0px !important; 181 | vertical-align: baseline; 182 | position: relative; 183 | top: 1px; 184 | } 185 | #qr label { 186 | vertical-align: middle; 187 | } 188 | input[type=checkbox]:checked::before, 189 | input[type=checkbox]:checked+.riceCheck::before 190 | { 191 | content: ''; 192 | display: block; 193 | height: 8px; 194 | margin: 1px; 195 | width: 8px; 196 | } 197 | input[type=checkbox]:checked::before, 198 | input[type=checkbox]:checked+.riceCheck::before 199 | { 200 | background: " + $SS.theme.checkMark.get() + " !important; 201 | } 202 | 203 | /* Header */ 204 | #header-bar { 205 | padding: 4px 4px 5px !important; 206 | } 207 | /* Reposition things based on Header position */ 208 | :root:not(.fixed) #header-bar { 209 | position: absolute; 210 | top: 0px; 211 | right: 0px; 212 | left: 0px; 213 | box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15); 214 | border-bottom: 1px solid; 215 | } 216 | :root:not(.fixed) body { 217 | padding-top: 2em; 218 | } 219 | :root.index.bottom:not(.autohide) body { 220 | padding-bottom: 4em !important; 221 | } 222 | :root.autohide body { 223 | padding-top: 0 !important; 224 | padding-bottom: 0 !important; 225 | } 226 | :root:not(.fixed).right-sidebar #header-bar { 227 | right: 300px; 228 | } 229 | :root:not(.fixed).left-sidebar #header-bar { 230 | left: 300px; 231 | } 232 | #full-board-list>a, 233 | .navSmall>a { 234 | margin-left: 2px; 235 | } 236 | 237 | /* Delform */ 238 | :root.fixed:not(.autohide):not(.bottom) #delform { 239 | margin-top: -15px; 240 | } 241 | :root.fixed:not(.autohide):not(.bottom) #globalMessage { 242 | margin-bottom: 20px !important; 243 | } 244 | 245 | /* QR link */ 246 | .qr-link { 247 | border-radius: 3px; 248 | vertical-align: middle; 249 | padding: 7px 12px 6px; 250 | } 251 | 252 | /* Quick Reply */ 253 | #qr .close { 254 | padding: 2px 3px 2px 4px !important; 255 | } 256 | #qr [type='submit'] { 257 | height: 22px !important; 258 | margin-top: 1px; 259 | } 260 | :root.vertical-qr #qr { 261 | position: fixed !important; 262 | right: 0px !important; 263 | bottom: 0px !important; 264 | left: auto !important; 265 | top: auto !important; 266 | } 267 | :root.vertical-qr #qr.autohide:not(:hover):not(.has-focus) { 268 | position: fixed !important; 269 | transform: rotate(-90deg); 270 | transform-origin: bottom right; 271 | -webkit-transform: rotate(-90deg); 272 | -webkit-transform-origin: bottom right; 273 | right: 0px !important; 274 | bottom: 300px !important; 275 | min-width: 240px !important; 276 | width: 240px !important; 277 | } 278 | :root.vertical-qr #qr.autohide:not(:hover):not(.has-focus) select { 279 | max-width: 120px !important; 280 | } 281 | :root.vertical-qr.left-sidebar #qr.autohide:not(:hover):not(.has-focus) { 282 | transform: rotate(90deg); 283 | -webkit-transform: rotate(90deg); 284 | left: -244px !important; 285 | bottom: 50px !important; 286 | right: auto !important; 287 | } 288 | #qr { 289 | 290 | } 291 | :root.left-sidebar #qr { 292 | left: 0px !important; 293 | right: auto !important; 294 | } 295 | :root.right-sidebar #qr { 296 | right: 0px !important; 297 | left: auto !important; 298 | } 299 | :root.fade-qr #qr form { 300 | display: block !important; 301 | } 302 | :root.fade-qr #qr.autohide:not(.has-focus):not(:hover) { 303 | opacity: 0.2 !important; 304 | transition:opacity .2s ease-in-out 1s; 305 | } 306 | :root.expand-inputs .persona .field { 307 | transition: width ease-in-out 1s, max-width ease-in-out 1s; 308 | } 309 | :root.expand-inputs .persona .field:focus { 310 | position: absolute; 311 | right: 2px; 312 | left: 2px; 313 | width: 99% !important; 314 | min-width: 99% !important; 315 | transition: width ease-in-out 1s, max-width ease-in-out 1s; 316 | } 317 | #qr:not(.has-captcha) textarea { 318 | min-height: 190px !important; 319 | } 320 | :root.webkit #qr:not(.has-captcha) textarea { 321 | min-height: 185px !important; 322 | } 323 | :root.webkit #qr.has-captcha textarea.field { 324 | height: 8.6em; 325 | min-height: 0.6em !important; 326 | } 327 | 328 | /* Delete form */ 329 | div[style='float: right;'] { 330 | float: none !important; 331 | margin-left: 10px; 332 | } 333 | .deleteform input[type=checkbox], 334 | .deleteform .riceCheck { 335 | top: 3px; 336 | } 337 | :root.hide-name .secret { 338 | position: absolute; 339 | left: 1px !important; 340 | pointer-events: none; 341 | width: 33.2% !important; 342 | min-width: 33.2% !important; 343 | } 344 | :root.hide-name .field[name=name]:hover + .secret, 345 | :root.hide-name .field[name=name]:focus + .secret, 346 | :root.hide-name .secret:hover { 347 | display: none !important; 348 | } 349 | /* HRs */ 350 | hr { 351 | height: 2px; 352 | width: 600px; 353 | border: none !important; 354 | } 355 | :root.reply-fit-width #unread-line { 356 | margin: auto; 357 | width: 100%; 358 | } 359 | #unread-line { 360 | margin-top: -3px !important; 361 | margin-bottom: -3px !important; 362 | } 363 | 364 | /* Board Title */ 365 | .boardBanner .boardTitle { 366 | cursor:default; 367 | letter-spacing:-2px; 368 | } 369 | 370 | /* Banner */ 371 | .boardBanner { 372 | width: 300px; 373 | margin: auto; 374 | margin-bottom: 20px; 375 | } 376 | .boardBanner>img { 377 | border: none !important; 378 | } 379 | :root.banner-reflect.gecko:not(.hide-banner) .bBanner { 380 | position: relative !important; 381 | } 382 | :root.banner-reflect.gecko:not(.hide-banner) .bBanner::after 383 | { 384 | background-image:-moz-element(#banner); 385 | bottom:-93%; 386 | content:''; 387 | left:0; 388 | mask:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KCTxkZWZzPg0KCQk8bGluZWFyR3JhZGllbnQgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJncmFkaWVudCIgeDI9IjAiIHkyPSIxIj4NCgkJCTxzdG9wIHN0b3Atb2Zmc2V0PSIwIi8+DQoJCQk8c3RvcCBzdG9wLWNvbG9yPSJ3aGl0ZSIgb2Zmc2V0PSIxIi8+DQoJCTwvbGluZWFyR3JhZGllbnQ+DQoJCTxtYXNrIGlkPSJtYXNrIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBtYXNrQ29udGVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+DQoJCQk8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWRpZW50KSIvPg0KCQk8L21hc2s+DQoJPC9kZWZzPg0KPC9zdmc+#mask'); 389 | opacity: .1; 390 | position:absolute; 391 | right:0; 392 | top:97%; 393 | -moz-transform:scaleY(-1); 394 | width: 300px; 395 | margin: auto !important; 396 | pointer-events: none; 397 | } 398 | :root.banner-reflect.webkit:not(.hide-banner) #banner { 399 | -webkit-box-reflect: below 0 -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(.1,transparent),to(rgba(255,255,255,.1))); 400 | } 401 | :root.banner-opacity #banner { 402 | opacity: 0.5; 403 | transition: opacity .3s ease-out 0s; 404 | } 405 | :root.banner-opacity #banner:hover { 406 | opacity: 1.0 !important; 407 | transition: opacity .3s ease-in 0s; 408 | } 409 | 410 | /* Pages */ 411 | .pages strong>a { 412 | border-radius: 3px; 413 | } 414 | .pagelist { 415 | margin: 0px 10px 20px 100px; 416 | } 417 | .pages a { 418 | padding: 5px 10px; 419 | margin-left: -1px; 420 | } 421 | .next { 422 | position: relative; 423 | float: right !important; 424 | width: 10px; 425 | } 426 | .prev { 427 | position: relative; 428 | width: 10px; 429 | } 430 | .prev a { 431 | position: relative; 432 | right: 5px; 433 | } 434 | .prev a::after, .prev a::after { 435 | content: '<'; 436 | position: absolute; 437 | top: 4px; 438 | left: 1px; 439 | pointer-events: none; 440 | } 441 | .next a::after, .next a::after { 442 | content: '>'; 443 | position: absolute; 444 | top: 4px; 445 | right: 2px; 446 | pointer-events: none; 447 | } 448 | .pagelist button, 449 | .pagelist button:hover { 450 | background: none !important; 451 | border: none !important; 452 | pointer-events: none; 453 | box-shadow: none !important; 454 | -moz-appearance: none !important; 455 | -webkit-appearance: none !important; 456 | height: 20px; 457 | width: 20px; 458 | } 459 | .pagelist span { 460 | opacity: 0.2; 461 | } 462 | .cataloglink { 463 | margin-left: -10px; 464 | } 465 | 466 | /* /f/ */ 467 | table.flashListing { 468 | margin: auto !important; 469 | } 470 | table.flashListing .highlightPost { 471 | background: none !important; 472 | } 473 | table.flashListing .highlightPost::after { 474 | content: '●'; 475 | color: rgb(214, 149, 149); 476 | position: relative; 477 | left: 12px; 478 | margin-left: -10px; 479 | } 480 | .flashListing > tbody { 481 | padding-top: 200px; 482 | } 483 | .flashListing td { 484 | padding-left: 4px !important; 485 | padding-right: 4px !important; 486 | text-align: center !important; 487 | } 488 | #delform[action='https://sys.4chan.org/f/up.php'], #delform[action='https://sys.4chan.org/f/up.php'] .postblock { 489 | background: none !important; 490 | border: none !important; 491 | box-shadow: none !important; 492 | } 493 | 494 | /* Mascot */ 495 | #mascot img, #mascotprev img { 496 | position:fixed; 497 | z-index:2; 498 | pointer-events: none; 499 | right: 0px; 500 | bottom: 0px; 501 | } 502 | #mascot img { 503 | margin-bottom:" + $SS.mascot.offset + "px; 504 | margin-right:" + $SS.mascot.hoffset + "px; 505 | height:" + $SS.mascot.height + "; 506 | width:" + $SS.mascot.width + "; 507 | transform: " + $SS.mascot.flip + "; 508 | } 509 | :root.left-sidebar #mascot img, 510 | :root.left-sidebar #mascotprev img { 511 | margin-left:" + $SS.mascot.hoffset + "px; 512 | margin-right: 0px !important; 513 | } 514 | #mascotprev img { 515 | z-index: 900 !important; 516 | } 517 | #mascot.previewing img { 518 | display: none; 519 | } 520 | #delform { 521 | position: relative; 522 | } 523 | :root:not(.left-sidebar):not(.right-sidebar) #delform { 524 | z-index: 3; 525 | } 526 | :root.left-sidebar #mascot img, 527 | :root.left-sidebar #mascotprev img { 528 | left: 0px; 529 | right: auto !important; 530 | } 531 | :root.mascot-opacity #mascot img, 532 | :root.mascot-opacity #mascotprev img { 533 | opacity: 0.5; 534 | pointer-events: auto !important; 535 | transition: opacity .3s ease-out 0s; 536 | } 537 | :root.mascot-opacity #mascot img:hover, 538 | :root.mascot-opacity #mascotprev img:hover { 539 | opacity: 1.0 !important; 540 | transition: opacity .3s ease-in 0s; 541 | } 542 | 543 | /* Scroll Marker */ 544 | :root:not(.autohide) #scroll-marker { 545 | pointer-events: none !important; 546 | } 547 | 548 | /* Ads */ 549 | :root.ad-opacity .center img { 550 | opacity: 0.5; 551 | transition: opacity .3s ease-out 0s; 552 | } 553 | :root.ad-opacity .center img:hover { 554 | opacity: 1.0 !important; 555 | transition: opacity .3s ease-in 0s; 556 | } 557 | 558 | /* Navlinks */ 559 | :root.index div.navLinks { 560 | position: relative; 561 | bottom: 12px; 562 | margin-left: 15px; 563 | margin-top: 10px; 564 | } -------------------------------------------------------------------------------- /src/css/Icons.css: -------------------------------------------------------------------------------- 1 | /* Thread watcher favicon */ 2 | .watch-thread-link { 3 | margin-bottom: -6px; 4 | margin-right: 6px; 5 | top: auto !important; 6 | bottom: 4px !important; 7 | background-image: url(\"data:image/svg+xml," + $SS.theme.icons.heart + "\") !important; 8 | } 9 | /* Backlinks */ 10 | :root.backlink-icon .backlink { 11 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.backlink+"\")!important; 12 | font-size: 0px !important; 13 | padding: 6px !important; 14 | margin-right: 0px !important; 15 | opacity: 0.6 !important; 16 | position: relative; 17 | bottom: 5px; 18 | right: 2px; 19 | } 20 | :root.backlink-icon .reply .backlink { 21 | bottom: 6px !important; 22 | } 23 | :root.backlink-icon .backlink:hover, :root.backlink-icon .backlink.inlined { 24 | opacity: 1 !important; 25 | } 26 | -------------------------------------------------------------------------------- /src/css/Options.css: -------------------------------------------------------------------------------- 1 | /* Dialogs */ 2 | #add-theme, 3 | #oneechan-options { 4 | border:0!important; 5 | border-radius:3px!important; 6 | position: fixed; 7 | margin: auto; 8 | } 9 | #oneechan-options { 10 | width: 900px; 11 | text-align:left!important; 12 | height: 532px; 13 | top: 0px; 14 | bottom: 0px; 15 | left: 0px; 16 | right: 0px; 17 | } 18 | .options-close, 19 | .options-container { 20 | padding:5px; 21 | } 22 | .options-close { 23 | text-align: right !important; 24 | } 25 | #add-mascot { 26 | height: 208px; 27 | top: 0px; 28 | bottom: 0px; 29 | left: 0px; 30 | position: fixed; 31 | margin: auto; 32 | border: 0 !important; 33 | border-radius: 3px !important; 34 | right: 0px; 35 | z-index: 999 !important; 36 | width: 500px; 37 | text-align:right!important; 38 | padding: 5px !important; 39 | box-shadow: 0px 1px 15px rgba(0, 0, 0, 0.3) !important; 40 | } 41 | #add-theme { 42 | text-align:right!important; 43 | padding: 5px 8px 5px 5px !important; 44 | top: 0px; 45 | left: 0px; 46 | right: 0px; 47 | bottom: 0px; 48 | height: 378px; 49 | } 50 | :root.webkit #add-theme { 51 | height: 403px !important; 52 | } 53 | #add-mascot .option-title, 54 | #add-theme .option-title { 55 | float:left; 56 | line-height:22px; 57 | padding-left:5px; 58 | } 59 | #add-mascot>label, 60 | #add-theme>label { 61 | line-height:22px; 62 | } 63 | /* Main */ 64 | #options-container { 65 | border-radius:5px; 66 | } 67 | #options-container, 68 | .options-section { 69 | height:500px; 70 | } 71 | .options-section { 72 | overflow-y:auto; 73 | overflow-x:hidden; 74 | } 75 | #main-section .option { 76 | display:block; 77 | border-top:1px solid rgba(0,0,0,.1); 78 | height:22px; 79 | padding:0 6px; 80 | vertical-align:middle; 81 | } 82 | #main-section>.option:nth-of-type(even) { 83 | background: rgb\(" + $SS.theme.mainColor.shiftRGB(-5) + ") !important 84 | } 85 | #main-section .buttons-container+.option { 86 | border-top: none !important; 87 | } 88 | .option-title { 89 | line-height:20px!important; 90 | } 91 | #main-section .option:first-child { 92 | border-top:0!important; 93 | } 94 | #main-section .option:last-child { 95 | border-bottom:0!important; 96 | } 97 | #main-section input, #main-section select { 98 | float: right !important; 99 | } 100 | #main-section input[type=checkbox], 101 | #main-section .riceCheck { 102 | float: left !important; 103 | margin-right: 5px !important; 104 | } 105 | select[name='Font Family']>option { 106 | max-width:150px; 107 | overflow:hidden; 108 | white-space:nowrap; 109 | text-overflow:ellipsis; 110 | } 111 | .suboption::before { 112 | border-bottom:1px solid rgba(0,0,0,.1); 113 | border-left:1px solid rgba(0,0,0,.1); 114 | content:''; 115 | display:inline-block; 116 | float:left; 117 | margin-right:2px; 118 | height:50%; 119 | width:6px; 120 | } 121 | .suboption { 122 | padding-left:16px !important; 123 | } 124 | .option.header { 125 | cursor: auto !important; 126 | } 127 | /* Themes */ 128 | .theme-preview { 129 | cursor: default; 130 | } 131 | #themes-section .reply { 132 | padding: 2px!important; 133 | position:relative; 134 | text-align:left; 135 | width:99.4%; 136 | border-radius: 0 !important; 137 | } 138 | .theme-buttons-container { 139 | bottom:4px; 140 | right:2px; 141 | margin:0; 142 | opacity:0; 143 | position:absolute; 144 | z-index:3; 145 | } 146 | .theme-preview:hover .theme-buttons-container { 147 | opacity:1; 148 | } 149 | .theme-buttons-container>a { 150 | display:inline-block; 151 | margin:0 2px; 152 | padding:2px 5px; 153 | text-align:center; 154 | width:50px; 155 | border-radius:3px; 156 | } 157 | /* SFW & NSFW Labels */ 158 | .theme-preview .sfw-label { 159 | bottom:-5px; 160 | font-size:32px!important; 161 | margin:0!important; 162 | opacity:0; 163 | position:absolute; 164 | right:300px; 165 | 166 | } 167 | .theme-preview.selected:not(.nsfw) .sfw-label, .theme-preview.nsfw:not(.selected) .sfw-label, .theme-preview.nsfw.selected .both { 168 | transition:opacity .3s, right .3s; 169 | } 170 | .theme-preview.nsfw .notsafe { 171 | opacity:1; 172 | right:3px; 173 | z-index:1; 174 | } 175 | .theme-preview.selected .safe { 176 | opacity:1; 177 | right:3px; 178 | z-index:1; 179 | } 180 | .theme-preview.selected.nsfw .sfw-label:not(.both) { 181 | opacity:0 !important; 182 | right:300px !important; 183 | z-index:0 !important; 184 | } 185 | .theme-preview.selected.nsfw .both { 186 | opacity:1; 187 | right:3px; 188 | z-index:1; 189 | } 190 | :root.catalog blockquote { 191 | margin: 12px 40px !important; 192 | } 193 | /* Add THeme */ 194 | #add-theme 195 | { 196 | text-align:left!important; 197 | width:800px!important; 198 | } 199 | #add-theme>label 200 | { 201 | display:inline-block; 202 | text-align:right; 203 | width:33.3%; 204 | } 205 | #add-theme>label#customCSS 206 | { 207 | width:100%; 208 | } 209 | #add-theme>label#customCSS>textarea 210 | { 211 | height:100px; 212 | resize:vertical; 213 | width:100%; 214 | } 215 | #add-theme>label>input[type=text], 216 | #add-theme>label>select 217 | { 218 | width:100px; 219 | } 220 | #add-theme>div 221 | { 222 | margin-top:.6em; 223 | text-align:right; 224 | } 225 | /* Mascots */ 226 | #mascot-section { 227 | text-align:center; 228 | } 229 | .mascot-preview { 230 | background-position:center !important; 231 | background-repeat:no-repeat!important; 232 | background-size: contain !important; 233 | display:inline-block; 234 | height:257px; 235 | margin:2px; 236 | position:relative; 237 | width:210px; 238 | border-radius:10px; 239 | transition:all .1s; 240 | } 241 | .mascot-preview:not(:hover) a:not(.mascot-name) { 242 | opacity: 0; 243 | } 244 | .mascot-preview.selected { 245 | background-color:rgba(" + $SS.theme.linkColor.rgb + ",.6)!important; 246 | box-shadow:inset rgba(0,0,0,.15) 0 0 15px, rgba(" + $SS.theme.linkColor.rgb + ",.6) 0 0 2px; 247 | } 248 | .mascot-preview a { 249 | color: #ffffff !important; 250 | padding:3px 8px; 251 | cursor: pointer; 252 | border-radius: 2px; 253 | background:rgba(0,0,0,.6); 254 | } 255 | .mascot-preview a:hover { 256 | background:rgba(0,0,0,.8); 257 | } 258 | .mascot-link.edit { 259 | margin-left: 1px; 260 | } 261 | .mascot-buttons { 262 | position: absolute; 263 | left: 0px; 264 | right: 0px; 265 | bottom: 10px; 266 | } 267 | /* Add Mascot */ 268 | 269 | #mascot-buttons-container { 270 | padding:5px; 271 | } 272 | .add-mascot-label { 273 | display:block; 274 | } 275 | .mascot-input, 276 | .mascot-select { 277 | margin-top:1px!important; 278 | width:200px; 279 | } 280 | .mascot-select, 281 | .mascot-input.offset, 282 | .mascot-input.hoffset, 283 | .mascot-input.height, 284 | .mascot-input.width { 285 | width:80px; 286 | } 287 | .add-mascot-label>input[type=checkbox], 288 | .add-mascot-label>.riceCheck { 289 | margin-top:5px; 290 | } 291 | /* Navigation */ 292 | #options-tabs { 293 | list-style:none; 294 | margin:0; 295 | padding:0; 296 | position:absolute; 297 | top:-24px; 298 | left: -1px; 299 | } 300 | .tab-item { 301 | float:left; 302 | margin:0; 303 | padding:0; 304 | } 305 | .tab-label { 306 | display:block; 307 | height:16px; 308 | margin:0 1px; 309 | padding: 5px; 310 | text-align:center; 311 | width:75px; 312 | border-radius:3px 3px 0 0; 313 | transition: all .1s ease-in-out; 314 | } 315 | .tab-label:not(.selected):not(:hover) { 316 | opacity: 0.8; 317 | } 318 | /* Overlays */ 319 | #overlay { 320 | text-align: center; 321 | } 322 | #overlay2 { 323 | background:rgba(0,0,0,.5); 324 | position:fixed; 325 | top:0; 326 | left:0; 327 | height:100%; 328 | width:100%; 329 | text-align:center; 330 | z-index:999!important; 331 | } 332 | #overlay2::before { 333 | content:''; 334 | display:inline-block; 335 | height:100%; 336 | vertical-align:middle; 337 | } 338 | #overlay.previewing { 339 | display: none; 340 | } 341 | #overlay.previewing ~ #overlay2 { 342 | background-color: rgba(0, 0, 0, 0.15) !important; 343 | } 344 | #add-mascot + #overlay2 { 345 | z-index: 800 !important; 346 | } 347 | /* Buttons */ 348 | .buttons-container { 349 | bottom:3px; 350 | left:5px; 351 | position:absolute; 352 | } 353 | .buttons-container { 354 | margin:0; 355 | } 356 | .options-button { 357 | display:inline-block; 358 | line-height:18px; 359 | margin:0 2px; 360 | min-width:40px; 361 | padding:2px 10px; 362 | text-align:center; 363 | cursor: pointer; 364 | border-radius:3px; 365 | } 366 | .options-button-small { 367 | padding:2px 5px; 368 | min-width:30px; 369 | } 370 | #import-link { 371 | height:22px; 372 | line-height:22px; 373 | overflow:hidden; 374 | position:relative; 375 | float:left; 376 | height:24px!important; 377 | margin-top:-2px; 378 | padding-top:2px; 379 | } 380 | #import-settings { 381 | position: relative; 382 | overflow:hidden; 383 | vertical-align: bottom; 384 | } 385 | #import-settings>.import-input { 386 | left: 0px; 387 | } 388 | .import-input { 389 | position:absolute; 390 | opacity: 0; 391 | cursor: pointer; 392 | } 393 | /* Inputs */ 394 | label.option>input[type=checkbox], 395 | label.option>.riceCheck { 396 | margin:4px 2px 0!important; 397 | vertical-align:bottom!important; 398 | } 399 | span.option>select, 400 | .option>input[type=text] { 401 | width:125px; 402 | } 403 | #oneechan-options input[type=text], 404 | #oneechan-options select { 405 | max-height:20px; 406 | margin-top: 1px!important; 407 | padding:1px 3px!important; 408 | } 409 | #oneechan-options select { 410 | padding:1px 1px 1px 0!important; 411 | } 412 | #oneechan-options textarea { 413 | background:transparent!important; 414 | border:0!important; 415 | height:100%!important; 416 | width:100%!important; 417 | resize:none; 418 | } 419 | /* Links */ 420 | #oneechan-version { 421 | opacity:.5; 422 | padding-right:5px; 423 | margin-left: 160px; 424 | } 425 | .link-delim { 426 | opacity:.4; 427 | } 428 | #issues-link { 429 | padding-right:10px; 430 | } -------------------------------------------------------------------------------- /src/css/Original.css: -------------------------------------------------------------------------------- 1 | /* Some original Yotsuba CSS */ 2 | div.post div.file .fileThumb { 3 | float: left; 4 | margin-left: 20px; 5 | margin-right: 20px; 6 | margin-top: 3px; 7 | margin-bottom: 5px; 8 | } 9 | .postContainer { 10 | display: block; 11 | } 12 | div.post { 13 | margin: 4px 0; 14 | } 15 | :root:not(.reply-fit-width) #delform div.reply:not([hidden]) { 16 | display: table !important; 17 | } 18 | :root:not(.reply-fit-width) #delform .stub ~ div.reply:not([hidden]) { 19 | display: none !important; 20 | } 21 | div.thread { 22 | margin: 0px; 23 | clear: both; 24 | } 25 | table.flashListing { 26 | border-spacing: 1px; 27 | margin-left: auto; 28 | margin-right: auto; 29 | } 30 | div.pagelist div.pages { 31 | padding: 4px; 32 | } 33 | div.pagelist, 34 | div.pagelist>div { 35 | float: left; 36 | } 37 | div.pagelist>div span { 38 | padding: 4px; 39 | display: inline-block; 40 | } 41 | s { 42 | text-decoration: none !important; 43 | } 44 | span.spoiler, 45 | s, 46 | s:not(:hover) > a, 47 | s:not(:hover) > .linkify { 48 | color: rgb(0, 0, 0) !important; 49 | background: none repeat scroll 0% 0% rgb(0, 0, 0) !important; 50 | } 51 | span.spoiler:hover, 52 | s:hover, 53 | span.spoiler:focus, 54 | s:focus { 55 | color: rgb(255, 255, 255) !important; 56 | } 57 | #globalMessage, 58 | .boardBanner { 59 | text-align: center; 60 | } 61 | div.sideArrows { 62 | float: left; 63 | margin-right: 2px; 64 | margin-top: 0px; 65 | margin-left: 2px; 66 | opacity: 0.3; 67 | } 68 | hr { 69 | clear: both; 70 | } 71 | #boardNavDesktopFoot { 72 | clear: both; 73 | } 74 | table { 75 | border-spacing: 1px; 76 | margin-left: auto; 77 | margin-right: auto; 78 | } 79 | .center { 80 | text-align: center !important; 81 | } 82 | .middlead, 83 | .topad { 84 | margin-bottom: 20px !important; 85 | } 86 | -------------------------------------------------------------------------------- /src/css/Sidebar.css: -------------------------------------------------------------------------------- 1 | /* Sidebar */ 2 | /* CSS here is only added if Sidebar Position is not 3 (Disabled) */ 3 | :root:not(.fixed) #header-bar { 4 | z-index: 10; 5 | } 6 | :root.left-sidebar.fourchan-x body { 7 | padding-left: 303px; 8 | } 9 | :root.right-sidebar.fourchan-x body { 10 | padding-right: 303px; 11 | } 12 | .boardBanner { 13 | position: fixed; 14 | top: 0px; 15 | } 16 | :root.left-sidebar .boardBanner { 17 | left: 1px; 18 | } 19 | :root.right-sidebar .boardBanner { 20 | right: 1px; 21 | } 22 | :root.fixed:not(.autohide):not(.bottom) .boardBanner { 23 | margin-top: 24px; 24 | } 25 | #banner { 26 | width: 100%; 27 | } 28 | .bBanner { 29 | margin-bottom: 40px; 30 | } 31 | .bBanner::after { 32 | width: 100% !important; 33 | } 34 | .qr-link-container { 35 | margin-top: -15px; 36 | } 37 | #qr { 38 | bottom: 0px !important; 39 | top: auto !important; 40 | min-width: 297px !important; 41 | } 42 | :root.left-sidebar #qr { 43 | left: 0px !important; 44 | right: auto !important; 45 | } 46 | :root.right-sidebar #qr { 47 | right: 0px !important; 48 | left: auto !important; 49 | } 50 | :root.fixed.bottom:not(.autohide) #qr { 51 | margin-bottom: 24px; 52 | } 53 | .captcha-img, 54 | .captcha-img img { 55 | min-width: 100% !important; 56 | height: 56px !important; 57 | } 58 | 59 | /* SS-like Sidebar */ 60 | :root.ss-sidebar body::before { 61 | background:rgba\(" + $SS.theme.mainColor.shiftRGB(-18) + ",." + ($SS.theme.mainColor.isDark ? 9 : 2) + "); 62 | border-left:2px solid rgba(" + $SS.theme.mainColor.rgb + ",.9); 63 | box-shadow:inset " + $SS.theme.brderColor.hex + " 1px 0 0,inset " + $SS.theme.brderColor.hex + " -1px 0 0; 64 | content:''; 65 | height:100%; 66 | width:302px; 67 | position:fixed; 68 | top:0px; 69 | right: 0px; 70 | } 71 | :root.ss-sidebar.left-sidebar body::before { 72 | border-right:2px solid rgba(" + $SS.theme.mainColor.rgb + ",.9); 73 | border-left: none !important; 74 | left: 0px; 75 | right: auto !Important; 76 | } 77 | 78 | /* Mascot overriding */ 79 | :root.fade-qr #mascot img, 80 | :root.fade-qr #mascotprev img { 81 | bottom: 260px !important; 82 | } 83 | .bottom:not(.autohide):not(.fade-qr) #mascot img, 84 | :root:not(.fade-qr):not(.vertical-qr) #mascot img, 85 | .bottom:not(.autohide):not(.fade-qr) #mascotprev img, 86 | :root:not(.fade-qr):not(.vertical-qr) #mascotprev img { 87 | bottom: 22px !important; 88 | } 89 | :root.bottom:not(.autohide):not(.fade-qr):not(.vertical-qr) #mascot img, 90 | :root.bottom:not(.autohide):not(.fade-qr):not(.vertical-qr) #mascotprev img { 91 | bottom: 48px !important; 92 | } -------------------------------------------------------------------------------- /src/img/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/src/img/icon.gif -------------------------------------------------------------------------------- /src/img/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/src/img/icon128.png -------------------------------------------------------------------------------- /src/img/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/src/img/icon16.png -------------------------------------------------------------------------------- /src/img/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seaweedchan/OneeChan/2eba6c89b35b98e26cd620fadca23cc2048ee541/src/img/icon48.png -------------------------------------------------------------------------------- /src/meta/botproc.js: -------------------------------------------------------------------------------- 1 | // Generated by Grunt -------------------------------------------------------------------------------- /src/meta/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%= meta.name %>", 3 | "version": "<%= version %>", 4 | "manifest_version": 2, 5 | "description": "<%= description %>", 6 | "icons": { 7 | "16": "icon16.png", 8 | "48": "icon48.png", 9 | "128": "icon128.png" 10 | }, 11 | "content_scripts": [{ 12 | "js": ["script.js"], 13 | "matches": <%= JSON.stringify(meta.matches) %>, 14 | "all_frames": true, 15 | "run_at": "document_start" 16 | }], 17 | "homepage_url": "<%= meta.page %>", 18 | "minimum_chrome_version": "26", 19 | "maximum_chrome_version": "29", 20 | "permissions": [ 21 | "storage" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/meta/metadata.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name <%= meta.name %> 3 | // @version <%= version %> 4 | // @namespace <%= name %> 5 | // @description <%= description %> 6 | // @license <%= license %>; <%= meta.repo %>blob/<%= meta.mainBranch %>/LICENSE 7 | <%= 8 | meta.matches.map(function(match) { 9 | return '// @match ' + match; 10 | }).join('\n') 11 | %> 12 | // @grant GM_getValue 13 | // @grant GM_setValue 14 | // @grant GM_deleteValue 15 | // @grant GM_openInTab 16 | // @run-at document-start 17 | // @updateURL <%= meta.repo %>raw/stable/builds/<%= meta.files.metajs %> 18 | // @downloadURL <%= meta.repo %>raw/stable/builds/<%= meta.files.userjs %> 19 | // @icon data:image/png;base64,<%= grunt.file.read('src/img/icon48.png', {encoding: 'base64'}) %> 20 | // ==/UserScript== -------------------------------------------------------------------------------- /src/old/styleold.css: -------------------------------------------------------------------------------- 1 | html, body, input, select, textarea, div.boardBanner > div.boardSubtitle, #boardLinks, #qr-filename-container 2 | { 3 | font-family:" + $SS.formatFont($SS.conf["Font Family"]) + "; 4 | font-size:" + $SS.conf["Font Size"] + "px; 5 | } 6 | #themeoptions #toNav li label, .trbtn, #themeoptions #toWrapper > div > p { 7 | font-family:sans-serif !important; 8 | font-size:12px !important; 9 | } 10 | input:focus, textarea:focus, a 11 | { 12 | outline:none!important; 13 | -moz-outline:none!important; 14 | -moz-user-focus:none!important; 15 | } 16 | [draggable] 17 | { 18 | -webkit-user-select:none; 19 | -moz-user-select:none; 20 | -o-user-select:none; 21 | user-select:none; 22 | } 23 | /* Some original Yotsuba CSS */ 24 | div.post div.file .fileThumb { 25 | float: left; 26 | margin-left: 20px; 27 | margin-right: 20px; 28 | margin-top: 3px; 29 | margin-bottom: 5px; 30 | } 31 | .postContainer { 32 | display: block; 33 | } 34 | div.post blockquote.postMessage { 35 | display: block; 36 | } 37 | div.post { 38 | margin: 4px 0; 39 | } 40 | #delform div.reply:not([hidden]), div.image_expanded { 41 | display: table !important; 42 | } 43 | div.thread { 44 | margin: 0px; 45 | clear: both; 46 | } 47 | table.flashListing { 48 | border-spacing: 1px; 49 | margin-left: auto; 50 | margin-right: auto; 51 | } 52 | div.pagelist div.pages { 53 | padding: 4px; 54 | } 55 | .globalMessage { 56 | text-align: center; 57 | margin-top: 40px; 58 | } 59 | .globalMessage strong, .globalMessage h3 { 60 | font-weight: normal; 61 | } 62 | .hide-announcement { 63 | position: absolute; 64 | top: 10px; 65 | left: 10px; 66 | margin-top: 20px; 67 | } 68 | .prettyprint { 69 | padding: 5px !important; 70 | display: inline-block; 71 | max-height: 400px; 72 | overflow-x: auto; 73 | max-width: 600px; 74 | } 75 | span.spoiler { 76 | color: rgb(0, 0, 0) !important; 77 | background: none repeat scroll 0% 0% rgb(0, 0, 0) !important; 78 | } 79 | span.spoiler:hover, span.spoiler:focus { 80 | color: rgb(255, 255, 255) !important; 81 | } 82 | /* End */ 83 | #delform .sideArrows[hidden], #delform div.post[hidden] { 84 | display: none !important; 85 | } 86 | " + (!$SS.conf["Disable Ads"] ? "div.middlead a img { 87 | width: 468px; 88 | height: 60px; 89 | max-width: 100%; 90 | position: relative !important; 91 | top: 30px !important; 92 | margin-bottom: 10px !important; 93 | } 94 | div.center { 95 | margin: auto; 96 | text-align: center; 97 | }" : "") + " 98 | #delform hr:not(#unread-line) 99 | { 100 | margin-bottom: 6px !important; 101 | margin-top: 10px !important; 102 | } 103 | #unread-line { 104 | border-color: " + $SS.theme.jlinkColor.hex + " !important; 105 | border-width: 2px 0px 0px !important; 106 | } 107 | #qr input:focus::-webkit-input-placeholder, #qr textarea:focus::-webkit-input-placeholder 108 | { 109 | color: transparent !important; 110 | } 111 | #qr input:focus:-moz-placeholder, #qr textarea:focus:-moz-placeholder 112 | { 113 | color: transparent !important; 114 | } 115 | input:not([disabled]):active, 116 | input:focus, 117 | #qr-filename-container:focus, 118 | .webkit select:focus, 119 | textarea:focus 120 | { 121 | border:1px solid " + $SS.theme.brderColor.hex + "!important; 122 | outline:1px solid " + $SS.theme.linkColor.hex + "!important; 123 | outline-offset:-2px!important; 124 | } 125 | input::-moz-focus-inner 126 | { 127 | border:0; 128 | padding:0; 129 | } 130 | ::selection 131 | { 132 | background:" + $SS.theme.linkColor.hex + "; 133 | color:#" + ($SS.theme.linkColor.isLight ? "000" : "fff") +"!important; 134 | } 135 | ::-moz-selection 136 | { 137 | background:" + $SS.theme.linkColor.hex + "; 138 | color:#" + ($SS.theme.linkColor.isLight ? "000" : "fff") +"!important; 139 | } 140 | 141 | hr 142 | { 143 | border:0!important; 144 | border-top:1px solid rgba(" + $SS.theme.brderColor.rgb + ",.9)!important; 145 | clear:left; 146 | margin:.3em 0!important; 147 | } 148 | 149 | h1, 150 | h2, 151 | h3, 152 | h4, 153 | h5 154 | { 155 | margin:.4em 0!important; 156 | } 157 | b, 158 | .postInfo .name, 159 | .postInfo .subject 160 | { 161 | font-weight:" + ($SS.conf["Bitmap Font"] ? 4 : 7) + "00!important; 162 | } 163 | a, 164 | span>a.replylink, 165 | #header-bar>a, 166 | blockquote a.quotelink, 167 | span.typ, 168 | span.atn, 169 | .catalog .button 170 | { 171 | " + (!$SS.conf["Underline Links"] ? "text-decoration:none;" : "") + " 172 | color:" + $SS.theme.linkColor.hex + "!important; 173 | font-weight:normal!important; 174 | -webkit-transition:all .1s; 175 | -moz-transition:all .1s; 176 | -o-transition:all .1s; 177 | } 178 | .filtered { 179 | text-decoration:line-through" + ($SS.conf["Underline Links"] ? " underline" : "") + "!important; 180 | } 181 | a:hover, 182 | #header-bar>a:hover, 183 | div.post div.postInfo span~span.postNum a:hover, 184 | .quotelink:hover, 185 | span.lit, 186 | .useremail>.name:hover, 187 | .catalog .button:hover 188 | { 189 | color:" + $SS.theme.linkHColor.hex + "!important; 190 | text-shadow:rgba(" + $SS.theme.linkHColor.rgb + ",.2) 0 0 2px!important; 191 | } 192 | .spoiler a 193 | { 194 | -webkit-transition:none; 195 | -moz-transition:none; 196 | -o-transition:none; 197 | } 198 | .shortcut { 199 | font-size: 0px !important; 200 | } 201 | .shortcut>span, .shortcut>#lastmuSettingsWindowLink { 202 | font-size: 9pt !important; 203 | } 204 | #updater, #thread-stats { 205 | opacity: 0.7; 206 | } 207 | #updater { 208 | margin-right: 4px !important; 209 | } 210 | .expand-all-shortcut::after { 211 | content: ''; 212 | border-left: 1px solid " + $SS.theme.textColor.hex + "; 213 | height: 23px; 214 | position: absolute; 215 | right: 87px; 216 | opacity: 0.1; 217 | } 218 | #header-bar #thread-stats { 219 | margin-right: 8px; 220 | } 221 | #header-bar #updater, #header-bar #thread-stats { 222 | position: relative !important; 223 | top: 4px; 224 | } 225 | .settings-link { 226 | padding: 9px !important; 227 | opacity: .6 !important; 228 | z-index: 5; 229 | font-size: 0 !important; 230 | color: transparent !important; 231 | } 232 | .settings-link:hover { 233 | opacity: 1 !important; 234 | cursor: pointer; 235 | } 236 | a:not([href]), 237 | #playerDiv a, 238 | #playerDiv a:hover, 239 | a[href='javascript:;'], 240 | .settings-link::before 241 | { 242 | color:" + $SS.theme.jlinkColor.hex + "!important; 243 | } 244 | .nameBlock>span.name, 245 | .post-author, 246 | span.com, 247 | #delform[action='https://sys.4chan.org/f/up.php'] .name 248 | { 249 | color:" + $SS.theme.nameColor.hex + "!important; 250 | } 251 | .nameBlock>span.postertrip, 252 | span.tag, 253 | .post-tripcode, 254 | #delform[action='https://sys.4chan.org/f/up.php'] .postertrip 255 | { 256 | color:" + $SS.theme.tripColor.hex + "!important; 257 | } 258 | .postMessage .quote, 259 | span.str, 260 | span.atv 261 | { 262 | color:" + $SS.theme.quoteColor.hex + "!important; 263 | } 264 | a.forwardlink 265 | { 266 | color:" + $SS.theme.linkColor.hex + "!important; 267 | } 268 | .dateTime 269 | { 270 | color:" + $SS.theme.timeColor.hex + "!important; 271 | } 272 | .spoiler:not(:hover), 273 | .spoiler:not(:hover) .quote, 274 | .spoiler:not(:hover) a 275 | { 276 | color:#000!important; 277 | } 278 | .postInfo .subject, 279 | .replytitle, 280 | span.kwd, 281 | #delform[action='https://sys.4chan.org/f/up.php'] .subject 282 | { 283 | color:" + $SS.theme.titleColor.hex + "!important; 284 | } 285 | a.linkmail[href='mailto:sage'], 286 | a.linkmail[href='mailto:sage']:hover, 287 | #qr .warning, 288 | span.lit, 289 | span[style='color:#F00000'], 290 | span[style='color:#FF0000;font-weight:normal'], 291 | #qr #errmsg 292 | { 293 | color:" + $SS.theme.sageColor.hex + "!important; 294 | text-shadow:none!important; 295 | } 296 | .pages strong>a { 297 | color:" + $SS.theme.textColor.hex + "!important; 298 | } 299 | .reply, 300 | .dialog, 301 | .hidden_thread, 302 | #fs_data tr[style], 303 | .stub>a:first-child, 304 | .webkit option, 305 | div[id^=jsMath], 306 | #playerDiv, 307 | #playerListMenu, 308 | #playerListItemMenu, 309 | #playerSettings, 310 | #jsMath_float, 311 | .deleteform, 312 | #qr, 313 | table.flashListing tr:nth-of-type(2n+1), 314 | .catalog .panel 315 | { 316 | background:rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")!important; 317 | } 318 | " + ($SS.conf["Recolor Even Posts"] ? ".replyContainer:nth-of-type(even) > div:not(.qphl):not(.sideArrows):not(.lastmuInfo) {background-color:rgba(" + $SS.theme.mainColor.rgb + ", " + ($SS.theme.mainColor.isLight ? "0.7" : "0.5") + ")!important; 319 | border:1px solid rgba(" + $SS.theme.brderColor.rgb + ", 0.8) !important; 320 | }" : "") + " 321 | .boxcontent, .top-box, .left-box, .box-outer, .yui-skin-sam .yuimenu .bd 322 | { 323 | background:" + $SS.theme.mainColor.hex + "!important; 324 | } 325 | .box-outer, .yui-skin-sam .yuimenu .bd 326 | { 327 | border: 1px solid " + $SS.theme.brderColor.hex + " !important; 328 | } 329 | #ft li, #recent-images li, .boxbar, body:not([class]) .menubutton, .postContainer>.op:target, .closeIcon 330 | { 331 | background: none !important; 332 | border: none !important; 333 | } 334 | #optionsmenu:not([style=='visibility:hidden;']), #filtermenu:not([style='visibility: hidden;']) { 335 | top: 24px !important; 336 | } 337 | table.flashListing .highlightPost 338 | { 339 | background: none !important; 340 | } 341 | table.flashListing .highlightPost::after 342 | { 343 | content: '●'; 344 | color: rgb(214, 149, 149); 345 | position: relative !important; 346 | left: 12px !important; 347 | margin-left: -10px !important; 348 | } 349 | .flashListing > tbody 350 | { 351 | padding-top: 200px !important; 352 | } 353 | .flashListing td:not(:last-of-type):not(.postblock) 354 | { 355 | border-right: 1px solid " + $SS.theme.brderColor.hex + " !important; 356 | } 357 | .flashListing td 358 | { 359 | padding-left: 4px !important; 360 | padding-right: 4px !important; 361 | text-align: center !important; 362 | } 363 | #delform[action='https://sys.4chan.org/f/up.php'], #delform[action='https://sys.4chan.org/f/up.php'] .postblock { 364 | background: none !important; 365 | border: none !important; 366 | box-shadow: none !important; 367 | } 368 | html[xmlns] > body { 369 | margin-top: 100px !important; 370 | } 371 | #shortcuts { 372 | position: relative; 373 | bottom: 2px; 374 | } 375 | .gecko #shortcuts { 376 | bottom: 3px !important; 377 | } 378 | #ft ul { 379 | border-top: none !important; 380 | } 381 | #ft li.first { 382 | border-left: none !important; 383 | } 384 | #ft li.current, #ft li.fill { 385 | background: none !important; 386 | border: none !important; 387 | } 388 | .mOption.header { 389 | cursor: auto !important; 390 | font-size:" + $SS.conf["Small Font Size"] + "px; 391 | font-family:" + $SS.formatFont($SS.conf["Font Family"]) + "!important; 392 | font-weight: bold !important; 393 | } 394 | .mOption.header>span { 395 | margin: auto; 396 | width: 100%; 397 | display: block; 398 | text-align: left; 399 | font-weight: bold !important; 400 | color:" + $SS.theme.titleColor.hex + "!important; 401 | } 402 | .top:not(.autohide) .catalog>#content { 403 | margin-top: 20px !important; 404 | } 405 | .catalog kbd { 406 | box-shadow: none !important; 407 | border-radius: none !important; 408 | } 409 | .closeIcon { 410 | font-size: 13px !important; 411 | font-weight: normal !important; 412 | } 413 | .catalog #backdrop { 414 | z-index: 15; 415 | } 416 | .catalog #theme { 417 | z-index: 16; 418 | top: 30% !important; 419 | } 420 | " + ($SS.conf["Pages Position"] === 2 ? ".pagelist," : "") + " 421 | #header-bar 422 | { 423 | background:rgba(" + $SS.theme.bgColor.rgb + "," + $SS.theme.navOp + ")!important; 424 | border: none !important; 425 | } 426 | #id_css::after { 427 | width: 262px !important; 428 | position: fixed !important; 429 | height: 21px !important; 430 | top: -2px !important; 431 | " + $SS.conf["Sidebar Position String"] + ": 0px !important; 432 | " + $SS.conf["Sidebar Position oString"] + ": auto !important; 433 | background-color:rgba(" + $SS.theme.bgColor.rgb + "," + $SS.theme.navOp + ")!important; 434 | content: ''; 435 | display: block !important; 436 | opacity: 1 !important; 437 | z-index: 1; 438 | } 439 | a, 440 | button, 441 | input[type=checkbox], 442 | input[type=radio], 443 | input[type=button], 444 | input[type=submit], 445 | #themeoptions #tMascot div, 446 | #themeoptions #tThemes>div, 447 | .pointer, 448 | .riceCheck, 449 | .trbtn 450 | { 451 | cursor:pointer; 452 | } 453 | form[name=post] tr:nth-of-type(3)>td:nth-of-type(3), 454 | img[alt=Closed], 455 | img[alt=Sticky], 456 | .deleteform, 457 | .remove, 458 | .mPagelist .pages span, 459 | div.navLinks, 460 | div.navLinks a, 461 | label#prefetch 462 | { 463 | color:transparent!important; 464 | font-size:0!important; 465 | } 466 | input:not([type=submit]), 467 | select, 468 | select option, 469 | textarea, 470 | #navlinks, 471 | #themeoptions label:not(.header), 472 | #themeoptions .mOption:not(.header), 473 | #themeoptions .mOption:not(.header)>span, 474 | #themeoptions #tMascot div a 475 | { 476 | font:" + $SS.conf["Small Font Size"] + "px " + $SS.formatFont($SS.conf["Font Family"]) + "!important; 477 | } 478 | button, 479 | form[name=post] input[name=email]+label, 480 | form[name=post] #com_submit+label, 481 | input[type=button], 482 | input[type=submit], 483 | .deleteform::after, 484 | .preview>label::after, 485 | label#prefetch::after 486 | { 487 | font-size:" + ($SS.conf["Bitmap Font"] ? $SS.conf["Font Size"] : 12) + "px!important; 488 | } 489 | #qr>.move, 490 | #themeoptions #tMascot div a, 491 | #themeoptions #tThemes>div p a, 492 | a.useremail[href='mailto:sage']:last-of-type::before, 493 | .deleteform::before, 494 | .trbtn, 495 | #SSVersion, 496 | #updatelink, 497 | #changeloglink, 498 | .linkdelimiter, 499 | #issueslink 500 | { 501 | font-size:" + ($SS.conf["Bitmap Font"] ? $SS.conf["Font Size"] : 12) + "px!important; 502 | } 503 | " + (!($SS.conf["Show Board Name"]) || ($SS.conf["Sidebar Position"] === 3) ? ".boardBanner .boardTitle," : "") + 504 | (!($SS.conf["Show Text Board"]) || ($SS.conf["Sidebar Position"] === 3) ? ".boardBanner .boardSubtitle," : "") + 505 | ($SS.conf["Post Form"] !== 4 ? "#qr>.move .close," : "") + 506 | ($SS.conf["Post Form"] === 3 ? "#qr>.move #autohide,#qr>.move .riceCheck," : "") + 507 | ($SS.conf["Pages Position"] === 4 ? ".pages," : "" ) + 508 | ($SS.conf["Disable Ads"] ? "div.center, 509 | body > div.center:not(:nth-of-type(2)), 510 | div.topad img, 511 | div.bottomad img, 512 | div.middlead img, 513 | form[action='https://sys.4chan.org/f/post'] ~ div[style='text-align: center'], 514 | form[action='https://sys.4chan.org/f/up.php']>div[style='text-align: center;']," : " 515 | div.center:not(.middlead) img," ) + 516 | (($SS.conf["Pages Position"] === 3) || ($SS.conf["Pages Position"] === 4) ? ".pages:not(.cataloglink)," : "" ) + 517 | ($SS.conf["Menu-Only Mode"] ? ".postInfo>input[type=checkbox],.postInfo>.riceCheck,.deleteform," : "") + " 518 | #imgControls .riceCheck, 519 | [hidden], 520 | .hidden:not(.postContainer), 521 | body>hr, 522 | body>form[name=post], 523 | .navLinksBot, 524 | a[href='#bottom'], 525 | .stylechanger, 526 | #absbot, 527 | #logo, 528 | #copyright, 529 | body>div.closed, 530 | .absBotText, 531 | #navbotr, 532 | .postingMode, 533 | .sideArrows:not(.hide-reply-button), 534 | #delform>hr, 535 | body>.closed>br, 536 | .board>hr:nth-last-child(2), 537 | #imageExpand, 538 | .hidden_thread+div.opContainer, 539 | .stub+div+div.post, 540 | #navtopright, 541 | #first-run, 542 | .mobile" + ($SS.conf["Pages Position"] === 3 ? ":not(.mPagelist)" : "") + ", 543 | .mobileinline, 544 | iframe[src='about:blank'], 545 | #styleSwitcher, 546 | #toggleMsgBtn, 547 | #boardNavDesktopFoot, 548 | .catalog hr, 549 | .menu-button i, 550 | .next span, 551 | .prev span 552 | { 553 | display:none!important; 554 | } 555 | a.summary, 556 | a.summary:hover, 557 | blockquote>.abbr, 558 | .globalMessage>b, 559 | .globalMessage, 560 | .globalMessage strong, 561 | .globalMessage h1, 562 | .globalMessage h2, 563 | .globalMessage h3, 564 | .globalMessage span, 565 | button, 566 | div, 567 | div.autohide>a, 568 | form[name=delform], 569 | form[name=post] input[name=email]+label, 570 | form[name=post] #com_submit+label, 571 | input:not(.jsColor), 572 | #qr-filename-container, 573 | .webkit select, 574 | textarea, 575 | tr, 576 | #qr>.move, 577 | #themeoptions #toNav li label.selected, 578 | #themeoptions #toNav li label:hover, 579 | .deleteform::before, 580 | .deleteform::after, 581 | .summary, 582 | .preview>label::after, 583 | .reply, 584 | .replymode, 585 | #delform[action='https://sys.4chan.org/f/up.php'] .postblock, 586 | .mPagelist .pages span strong, 587 | .catalog #boardLinks>a.selectedBoard[href*='catalog'], 588 | #header-bar a.current, 589 | table.postForm > tbody > tr > td:first-child, 590 | table.exif td, 591 | label#prefetch::after, 592 | strong[style='color:#000'], 593 | div.entry, 594 | label.entry 595 | { 596 | color:" + $SS.theme.textColor.hex + "!important; 597 | } 598 | .notification>.message, .notification a { 599 | color: white !important; 600 | } 601 | body, 602 | input, 603 | select, 604 | textarea, 605 | .replyContainer>.reply, 606 | .hidden_thread, 607 | .postInfo, 608 | .stub>a:first-child, 609 | .thread.stub, 610 | .riceCheck, 611 | .boardBanner .boardTitle, 612 | .ys_playerContainer, 613 | #qr, 614 | #qr>form>.captcha-img>img, 615 | #themeoptions #tMascot div, 616 | #themeoptions #tThemes .reply, 617 | #themeoptions #tNavLinks .navlink .handle 618 | { 619 | box-sizing:border-box; 620 | -moz-box-sizing:border-box; 621 | -webkit-box-sizing:border-box; 622 | } 623 | " + ($SS.conf["Rounded Corners"] ? " 624 | #delform div.reply, 625 | div.reply.highlight, 626 | #qp, 627 | #delform .postContainer, 628 | .inline div.reply, 629 | .box-outer, 630 | #prefetch, 631 | " + ($SS.conf["Post Form"] === 4 ? "#qr," : "") + " 632 | .yui-skin-sam .yuimenu .bd 633 | { 634 | border-radius: 3px !important; 635 | } 636 | " + ($SS.conf["Post Form"] !== 4 ? "#qr" : "") + " 637 | { 638 | border-radius: " + ($SS.conf["Sidebar Position"] === 2 ? "0 3px 0 0px" : "3px 0 0 0") + " !important; 639 | } 640 | .deleteform 641 | { 642 | border-radius: " + ($SS.conf["Sidebar Position"] === 2 ? "0 3px 3px 0px" : "3px 0 0 3px") + " !important; 643 | } 644 | " + (!$SS.conf["Sidebar Position"] === 2 ? " 645 | #id_css::after 646 | { 647 | border-radius: 0px 0px 0px 2px !important; 648 | } 649 | " : "") + " 650 | " : "") + " 651 | 652 | input::-webkit-input-placeholder, 653 | textarea::-webkit-input-placeholder 654 | { 655 | color:rgba(" + $SS.theme.textColor.rgb + ",.4)!important; 656 | } 657 | input:-moz-placeholder, 658 | textarea:-moz-placeholder 659 | { 660 | color:rgba(" + $SS.theme.textColor.rgb + ",.4)!important; 661 | } 662 | html, body { 663 | background:" + $SS.theme.bgImg.get() + $SS.theme.bgColor.hex +"!important; 664 | } 665 | body 666 | { 667 | 668 | margin:2px " + ((!$SS.bHideSidebar && $SS.conf["Sidebar Position"] === 1) ? "261px 0 0 669 | " : (!$SS.bHideSidebar && $SS.conf["Sidebar Position"] !== 3 ? "0 0 261px " + $SS.iSidebarSize + "px" : "0 0 0")) + "!important; 670 | margin-bottom:23px!important; 671 | " + ($SS.conf["Sidebar Position"] == 2 ? "margin-left: 261px !important" : "") + "; 672 | padding:0!important; 673 | } 674 | div[style^='text-align: center'] img 675 | { 676 | margin-top: 30px !important; 677 | } 678 | script + hr + div.center img { 679 | margin-top: -10px !important; 680 | } 681 | .board + div.center img { 682 | margin-top: 10px !important; 683 | } 684 | div.center a 685 | { 686 | opacity: 0.2 !important; 687 | } 688 | div.center img 689 | { 690 | -webkit-transform:scale(.85); 691 | -moz-transform:scale(.85); 692 | -0-transform:scale(.85); 693 | } 694 | div.center a:hover 695 | { 696 | opacity: 1.0 !important; 697 | } 698 | " + (!$SS.bHideSidebar ? (($SS.conf["Sidebar Position"] !== 3) && $SS.conf["SS-like Sidebar"] ? " 699 | body::before { 700 | background:rgba(" + $SS.theme.mainColor.shiftRGB(-18) + ",.8); 701 | border-" + $SS.conf["Sidebar Position oString"] + ":2px solid rgba(" + $SS.theme.mainColor.rgb + ",.9); 702 | box-shadow:" + ($SS.conf["Sidebar Position"] !== 2 ? "inset " : "") + $SS.theme.brderColor.hex + " 1px 0 0," + ($SS.conf["Sidebar Position"] === 2 ? "inset " : "") + $SS.theme.brderColor.hex + " -1px 0 0; 703 | content:''; 704 | height:100%; 705 | width:261px; 706 | position:fixed; 707 | top:-19px!important; 708 | }" : "") + 709 | ($SS.conf["Sidebar Position"] !== 3 || $SS.conf["Show Mascot"] ? " 710 | body::after 711 | { 712 | background:" + $SS.mascot.img.get() + "; 713 | content:''; 714 | height:100%; 715 | width:" + ($SS.mascot.overflow ? "100%" : "26" + ($SS.conf["SS-like Sidebar"] ? 0 : 3) + "px") + "; 716 | " + (!$SS.mascot.small ? "background-size:contain;" : "") + " 717 | bottom: 0px!important; 718 | margin-bottom:" + $SS.mascot.offset + "px; 719 | position:fixed; 720 | z-index:2; 721 | pointer-events: none !important; 722 | " + ($SS.conf["Sidebar Position"] === 2 && $SS.mascot.flip ? " 723 | -webkit-transform:scaleX(-1); 724 | -moz-transform:scaleX(-1); 725 | -o-transform:scaleX(-1);" : "") + " 726 | } 727 | .bottom:not(.autohide) body::after { 728 | bottom: 22px !important; 729 | }" : "") : "") + " 730 | " + ($SS.conf["Sidebar Position"] === 2 && $SS.mascot.flip ? " 731 | label[title='Allows the mascot to be shown outside the sidebar, ignores `Prevent stretching` option']::after { 732 | content: 'Disabled from left sidebar + flip mascot'; 733 | color: red; 734 | font-size: 12px; 735 | } 736 | " : "") + " 737 | body::after, 738 | 739 | " + ($SS.conf["Post Form"] !== 4 ? "#qr," :"") + " 740 | body::before 741 | { 742 | " + $SS.conf["Sidebar Position String"] + ":0!important; 743 | " + $SS.conf["Sidebar Position oString"] + ":auto!important; 744 | } 745 | " + ($SS.conf["Page Layout"] === 2 ? ".op," : "") + " 746 | #jsmath_button, 747 | #jsMath_panel, 748 | #jsMath_float, 749 | #options ul, 750 | #playerDiv, 751 | #playerListMenu, 752 | #playerListItemMenu, 753 | #playerSettings, 754 | #qr, 755 | #themeoptions #toWrapper, 756 | .reply, 757 | .dialog, 758 | .hidden_thread, 759 | .stub>a:first-child, 760 | fieldset 761 | { 762 | border:1px solid " + $SS.theme.brderColor.hex + "!important; 763 | } 764 | .deleteform 765 | { 766 | border-" + $SS.conf["Sidebar Position oString"] + ":1px solid " + $SS.theme.brderColor.hex + "!important; 767 | border-bottom:1px solid " + $SS.theme.brderColor.hex + "!important; 768 | } 769 | " + ($SS.conf["Sidebar Position"] === 3 ? ".globalMessage," : "") + " 770 | #delform 771 | { 772 | margin-top:24px!important; 773 | } 774 | .postingMode ~ #delform { 775 | margin-top:22px!important; 776 | } 777 | " + (!$SS.conf["Pages Position"] === 2 ? ".bottom #delform { 778 | margin-top: -10px !important; 779 | } 780 | " : " 781 | .bottom #delform { 782 | margin-top: 22px !important; 783 | } 784 | .bottom .postingMode ~ #delform { 785 | margin-top: -10px !important; 786 | } 787 | ") + " 788 | .top.autohide #delform { 789 | margin-top: -10px !important; 790 | } 791 | html:not(.fixed) #header-bar { 792 | position: absolute; 793 | left: 0px; 794 | right: 0px; 795 | top: 0px; 796 | z-index: 2; 797 | padding: 2px; 798 | } 799 | .fixed.webkit #header-bar { 800 | padding: 1px 4px 4px !important; 801 | } 802 | #board-list { 803 | vertical-align: middle; 804 | } 805 | .closed~#delform 806 | { 807 | margin-top:0!important; 808 | } 809 | .deleteform, 810 | #fs_data td 811 | { 812 | border-top:1px solid " + $SS.theme.brderColor.hex + "!important; 813 | } 814 | " + ($SS.conf["Reveal All Spoilers"] ? " 815 | div.post > blockquote .spoiler, .teaser s, s 816 | { 817 | color: white !important; 818 | text-decoration: none !important; 819 | background: none repeat scroll 0 0 #000000 !important; 820 | } 821 | div.post > blockquote .spoiler .quote, .teaser s .quote, s .quote 822 | { 823 | color:" + $SS.theme.quoteColor.hex + "!important; 824 | } 825 | div.post > blockquote .spoiler a, .teaser a, s a 826 | { 827 | color:" + $SS.theme.linkColor.hex + "!important; 828 | } 829 | " : " 830 | s, .postMessage s:not(:hover) .quote { 831 | background: none repeat scroll 0 0 #000000 !important; 832 | color: #000000 !important; 833 | text-decoration: none; 834 | } 835 | s:hover, s:focus { 836 | color: #FFFFFF !important; 837 | } 838 | ") + " 839 | #jsmath_button 840 | { 841 | bottom:auto!important; 842 | left:0!important; 843 | top:1px!important; 844 | right:auto!important; 845 | } 846 | #jsMath_panel 847 | { 848 | bottom:auto!important; 849 | left:1em!important; 850 | top:1.75em!important; 851 | right:auto!important; 852 | } 853 | #watcher 854 | { 855 | position: fixed !important; 856 | } 857 | #watcher > div 858 | { 859 | max-width: 249px !important; 860 | width: 249px !important; 861 | overflow: hidden !important; 862 | } 863 | #watcher .move 864 | { 865 | font-size: 0px !important; 866 | height: 0px !important; 867 | } 868 | #watcher::before 869 | { 870 | height: 9px !important; 871 | font-size: 12px !important; 872 | position: fixed !important; 873 | " + $SS.conf["Sidebar Position String"] + ": 65px !important; 874 | " + $SS.conf["Sidebar Position oString"] + ": auto !important; 875 | min-width: 15px !important; 876 | max-width: 15px !important; 877 | opacity: 0.6; 878 | z-index: 5; 879 | " + (!$SS.conf["Auto Hide Thread Watcher"] ? "display: none !important;" : "") + " 880 | } 881 | #watcher 882 | { 883 | z-index: 5; 884 | padding-left: 0px !important; 885 | } 886 | #watcher:hover::before 887 | { 888 | opacity: 1; 889 | cursor: pointer; 890 | } 891 | #watcher 892 | { 893 | position: fixed !important; 894 | " + ($SS.conf["Auto Hide Thread Watcher"] ? " 895 | top: -1000px !important; 896 | bottom: auto !important;" : "") + " 897 | " + ($SS.conf["Sidebar Position"] !== 2 ? " 898 | right: 2px !important; 899 | left: auto !important; 900 | " : " 901 | right: auto !important; 902 | left: 2px !important; 903 | ") + " 904 | width: 25" + ($SS.conf["SS-like Sidebar"] ? 5 : 8) + "px !important; 905 | padding-bottom: 4px !important; 906 | } 907 | #watcher:hover 908 | { 909 | position: fixed !important; 910 | z-index: 99 !important; 911 | } 912 | " + ($SS.conf["Page Layout"] !== 2 ? " 913 | div.postContainer, div.replyContainer 914 | { 915 | position: relative !important; 916 | } 917 | .hide-reply-button span 918 | { 919 | position: static !important; 920 | width: 20px !important; 921 | height: 10px !important; 922 | } 923 | .hide-reply-button 924 | { 925 | width: 20px !important; 926 | padding-top: 1px !important; 927 | } 928 | div.reply .report_button, .hide-reply-button, div.reply .menu-button:not(:hover) 929 | { 930 | opacity: 0 !important; 931 | } 932 | form .replyContainer:hover div.reply .report_button, form .replyContainer:hover div.reply .menu-button:not(:hover), form .replyContainer:hover .hide-reply-button 933 | { 934 | opacity: 0.6 !important; 935 | } 936 | div.reply input:checked 937 | { 938 | opacity: 1 !important; 939 | } 940 | div.reply .report_button, div.reply .menu-button 941 | { 942 | position: absolute !important; 943 | right: 33px !important; 944 | right: 10px !important; 945 | top: 3px !important; 946 | bottom: auto !important; 947 | left: auto !important; 948 | } 949 | .thread > .hide-thread-button:not(.hidden_thread) 950 | { 951 | position: absolute !important; 952 | top: 0px !important; 953 | right: 31px !important; 954 | opacity: 0.6 !important; 955 | } 956 | .thread > .opContainer > .op > .postInfo > .menu-button 957 | { 958 | position: absolute !important; 959 | top: 1px !important; 960 | right: 15px !important; 961 | opacity: 0.6 !important; 962 | bottom: auto !important; 963 | left: auto !important; 964 | } 965 | .hidden_thread { 966 | padding: 4px !important; 967 | padding-bottom: 6px !important; 968 | } 969 | " + ($SS.conf["Sidebar Position"] !== 1 ? ".subMenu { 970 | left: -121% !important; 971 | width: 120px !important; 972 | }" : "") + " 973 | .hidden_thread > .menu-button { 974 | position: absolute !important; 975 | right: 18px !important; 976 | font-size: 0px !important; 977 | top: 7px !important; 978 | } 979 | .hidden_thread > a:not([class]) > span, .stub > a:not([class]) > span { 980 | float: right !important; 981 | margin-right: 25px !important; 982 | font-size: 14px !important; 983 | text-align: center !important; 984 | } 985 | .hide-reply-button 986 | { 987 | position: absolute !important; 988 | right: 27px !important; 989 | top: 5px !important; 990 | } 991 | " + ($SS.conf["Sidebar Position"] === 3 ? " 992 | .thread:first-of-type>.hide-thread-button 993 | { 994 | right: 256px !important; 995 | top: 1px !important; 996 | } 997 | .thread:first-of-type>.opContainer>.op>.postInfo>.menu-button 998 | { 999 | right: 240px !important; 1000 | top: 2px !important; 1001 | } 1002 | .thread:first-of-type>.hidden_thread>.menu-button 1003 | { 1004 | right: 240px !important; 1005 | top: 5px !important; 1006 | } 1007 | .thread:first-of-type>.hidden_thread>a:not([class])>span { 1008 | position: relative !important; 1009 | right: 226px !important; 1010 | bottom: 2px !important; 1011 | } 1012 | .thread:first-of-type>.opContainer>.op>.postInfo { margin-top: 7px !important; }" : "") + " 1013 | " : " 1014 | .sideArrows { 1015 | float: left !important; }") + " 1016 | body:not(.catalog) .thread 1017 | { 1018 | clear:both; 1019 | margin:1px" + ($SS.conf["Page Layout"] === 1 ? ($SS.conf["Sidebar Position"] !== 2 ? " 0 1px 1px" : " 1px 1px 0") : ($SS.conf["Page Layout"] === 2 ? " 0 1px" : "")) + "!important; 1020 | overflow:visible!important; 1021 | padding:0!important; 1022 | " + ($SS.conf["Page Layout"] !== 3 ? "padding-" + $SS.conf["Sidebar Position String"] + ":2px!important;" : "") + " 1023 | position:relative; 1024 | border-radius:" + ($SS.conf["Page Layout"] !== 3 ? ($SS.conf["Sidebar Position"] !== 2 ? "2px 0 0 2px" : "0 2px 2px 0") : "2px") + "; 1025 | } 1026 | #addMascot>label::after, 1027 | #qr>form>div::after, 1028 | " + ($SS.conf["Page Layout"] !== 2 ? ".thread .op::after," : "") + " 1029 | .thread::after 1030 | { 1031 | clear:both; 1032 | content:''; 1033 | display:block; 1034 | } 1035 | .op 1036 | { 1037 | border:0!important; 1038 | position:relative; 1039 | border-radius:" + ($SS.conf["Page Layout"] !== 3 ? ($SS.conf["Sidebar Position"] !== 2 ? "2px 0 0 2px" : "0 2px 2px 0") : "2px") + "; 1040 | } 1041 | .hide-thread-button:not(.hidden_thread) 1042 | { 1043 | float: left !important; 1044 | margin-right: 5px !important; 1045 | margin-left: 5px !important; 1046 | z-index: 2; 1047 | } 1048 | 1049 | " + ($SS.conf["Page Layout"] === 1 ? " 1050 | .thread>a.hide-thread-button>span 1051 | { 1052 | right:2px!important; 1053 | }" : "") + " 1054 | form[name=delform] 1055 | { 1056 | " + ($SS.conf["Page Layout"] !== 2 ? " 1057 | " + ($SS.conf["Page Layout"] === 1 ? "border-" + $SS.conf["Sidebar Position String"] + ":0!important;" : "") : "") + " 1058 | margin:" + ($SS.conf["Page Layout"] !== 3 ? ($SS.conf["Sidebar Position"] !== 2 ? "0 " + ($SS.conf["Sidebar Side Margin"] !== 999 ? ""+ $SS.conf["Sidebar Side Margin"] + "" : "" + $SS.conf["Sidebar Side Custom Margin"] + "") + "px 0 " + ($SS.conf["Non-Sidebar Margin"] !== 999 ? ""+ $SS.conf["Non-Sidebar Margin"] + "" : "" + $SS.conf["Non-Sidebar Custom Margin"] + "") + "px" : " 1059 | 0 " + ($SS.conf["Non-Sidebar Margin"] !== 999 ? ""+ $SS.conf["Non-Sidebar Margin"] + "" : "" + $SS.conf["Non-Sidebar Custom Margin"] + "") + "px 0 " + ($SS.conf["Sidebar Side Margin"] !== 999 ? ""+ $SS.conf["Sidebar Side Margin"] + "" : "" + $SS.conf["Sidebar Side Custom Margin"] + "") + "px") : " 1060 | 0 " + (Math.min($SS.conf["Non-Sidebar Margin"], 40) / 2 * ($SS.conf["Non-Sidebar Margin"] < 10 ? 3 : 1)) + "% 0") + "; 1061 | padding:0!important; 1062 | position:relative; 1063 | border-radius:" + ($SS.conf["Page Layout"] !== 3 ? ($SS.conf["Sidebar Position"] !== 2 ? "4px 0 0 4px" : "0 4px 4px 0") : "4px") + "; 1064 | } 1065 | " + (($SS.conf["Page Layout"] === 3) && !($SS.conf["Show Logo"]) ? ".webkit form[name=delform] { 1066 | z-index: 1; 1067 | }" : "") + " 1068 | .thread>div>.post, .threadContainer>div>.post 1069 | { 1070 | " + ($SS.conf["Page Layout"] !== 2 ? "width:100% !important;" : "") + " 1071 | } 1072 | .thread:last-child>.postContainer:last-child>.reply 1073 | { 1074 | margin-bottom:1px!important; 1075 | } 1076 | " + ($SS.conf["Menu-Only Mode"] ? " 1077 | .postInfo 1078 | { 1079 | padding:0 3px!important; 1080 | }" : "" ) + " 1081 | .sideArrows 1082 | { 1083 | margin-left:0!important; 1084 | margin-right:0!important; 1085 | } 1086 | .postContainer, 1087 | .replyContainer 1088 | { 1089 | margin:1px 0 0!important; 1090 | } 1091 | .replyContainer 1092 | { 1093 | margin-bottom:" + $SS.conf["Margin Between Replies"] + "px !important; 1094 | } 1095 | .threadContainer 1096 | { 1097 | border-left:1px solid rgba(" + $SS.theme.brderColor.shiftRGB(16) + ", .8)!important; 1098 | padding-left: 20px!important; 1099 | margin-left: 1px !important; 1100 | } 1101 | .threadContainer > .replyContainer::before { 1102 | content: '-----'; 1103 | float: left; 1104 | position: relative; 1105 | width: 0px; 1106 | right: 20px; 1107 | top: " + ($SS.conf["Slim Replies"] ? 2 : 3) + "5px; 1108 | color: rgba(" + $SS.theme.brderColor.shiftRGB(16) + ", .8)!important; 1109 | font-size: 12px !important; 1110 | } 1111 | div.post 1112 | { 1113 | margin:2px 0!important; 1114 | } 1115 | .favicon { 1116 | padding-top: 20px !important; 1117 | width: 20px !important; 1118 | height: 0px !important; 1119 | display: inline-block !important; 1120 | margin-right: 0px !important; 1121 | background-repeat: no-repeat !important; 1122 | position: relative !important; 1123 | top: 5px !important; 1124 | margin-top: -5px; 1125 | } 1126 | .favicon[src^='data'] { 1127 | opacity: 0." + ($SS.theme.bgColor.isLight ? 3 : 2) + " !important; 1128 | } 1129 | .favicon[src$='ico'] { 1130 | opacity: 0.8 !important; 1131 | } 1132 | " + ($SS.conf["Page Layout"] !== 2 ? " 1133 | hr 1134 | { 1135 | margin:0!important; 1136 | } 1137 | div.post:not(#qp):not([hidden]):not(#exlinks-options):not(#exdetails); 1138 | { 1139 | margin:0!important; 1140 | width:100% !important; 1141 | }" : "" ) + " 1142 | .identifyIcon 1143 | { 1144 | margin:0!important; 1145 | vertical-align:top; 1146 | } 1147 | .inline .report_button, 1148 | #qp .report_button 1149 | { 1150 | position:static!important; 1151 | vertical-align:middle!important; 1152 | } 1153 | a.hide-thread-button>span, 1154 | #settingsBox, 1155 | .replyContainer>.reply input[type=checkbox], 1156 | .replyContainer>.reply .riceCheck, 1157 | .container, 1158 | .hidden_thread a:first-child>span, 1159 | .hide-reply-button, 1160 | .report_button 1161 | { 1162 | z-index:2!important; 1163 | } 1164 | .inline 1165 | { 1166 | background:none!important; 1167 | border:0!important; 1168 | overflow:visible!important; 1169 | } 1170 | .inline div.post.reply 1171 | { 1172 | background:rgba(" + $SS.theme.mainColor.shiftRGB(-16) + ",.8)!important; 1173 | border:1px solid rgba(" + $SS.theme.brderColor.rgb + ",.4)!important; 1174 | padding:0px!important; 1175 | border-radius:3px!important; 1176 | box-shadow:rgba(" + $SS.theme.mainColor.shiftRGB(16) + ",.9) 0 1px 3px; 1177 | overflow:visible!important; 1178 | position:relative; 1179 | z-index:10!important; 1180 | width:auto!important; 1181 | } 1182 | " + ($SS.conf["Page Layout"] !== 2 ? " 1183 | .stub > a:not([class]) > span { 1184 | position: relative !important; 1185 | bottom: 1px !important; 1186 | }" : " 1187 | .reply { 1188 | position: relative !important; 1189 | } 1190 | ") + " 1191 | .stub>a:first-child>span, 1192 | .hidden_thread a:first-child>span 1193 | { 1194 | vertical-align:middle!important; 1195 | -webkit-transition:all .1s ease-in-out; 1196 | -moz-transition:all .1s ease-in-out; 1197 | -o-transition:all .1s ease-in-out; 1198 | } 1199 | .remove, 1200 | #boardNavDesktop>a 1201 | { 1202 | padding:0!important; 1203 | } 1204 | .remove, 1205 | .hide-reply-button>span, 1206 | a.hide-thread-button>span, 1207 | .hidden_thread a:first-child>span, 1208 | .hidden_thread>span, 1209 | .stub>a:first-child>span 1210 | { 1211 | -moz-transform:scale(.65); 1212 | -webkit-transform:scale(.65); 1213 | } 1214 | .remove 1215 | { 1216 | margin:0!important; 1217 | text-indent:-9999px!important; 1218 | } 1219 | .remove:hover 1220 | { 1221 | opacity:.75; 1222 | } 1223 | .replyContainer>.reply>img 1224 | { 1225 | vertical-align:middle; 1226 | } 1227 | .replyContainer>.reply>span 1228 | { 1229 | line-height:16px!important; 1230 | } 1231 | .replyContainer>.reply, 1232 | .stub>a:first-child, 1233 | .hidden_thread, 1234 | { 1235 | padding:5px!important; 1236 | " + ($SS.conf["Page Layout"] !== 2 ? "width:100% !important;" : ($SS.conf["Sidebar Position"] !== 2 ? "margin-right:1px!important;" : "")) + " 1237 | border-radius:" + ((($SS.conf["Sidebar Position"] === 2) && ($SS.conf["Page Layout"] === 2)) ? ($SS.conf["Sidebar Position"] !== 2 ? "2px 0 0 2px" : "0 2px 2px 0") : "2px") + "; 1238 | } 1239 | .highlightPost, 1240 | .qphl, 1241 | .replyContainer>.post:target, 1242 | html .reply:target, 1243 | html .reply.highlight, 1244 | #post-preview 1245 | { 1246 | background:rgba(" + $SS.theme.mainColor.shiftRGB(4, true) + "," + $SS.theme.replyOp + ")!important; 1247 | border:1px solid " + $SS.theme.linkColor.hex + "!important; 1248 | } 1249 | .threadContainer .reply { 1250 | min-width: 300px !important; 1251 | } 1252 | .op.qphl 1253 | { 1254 | background: none !important; 1255 | border:1px solid " + $SS.theme.linkColor.hex + "!important; 1256 | } 1257 | .op:not(.qphl) { 1258 | border:1px solid transparent !important; 1259 | } 1260 | .stub 1261 | { 1262 | margin:1px 0 0 " + ($SS.conf["Page Layout"] === 2 ? 16 : 0) + "px!important; 1263 | padding:0!important; 1264 | } 1265 | .thread.stub 1266 | { 1267 | margin:1px 0px!important; 1268 | padding:0 " + ($SS.conf["Sidebar Position"] !== 2 ? "0 0 1px" : "1px 0 0") + "!important; 1269 | } 1270 | .hidden_thread, 1271 | .stub>a:first-child 1272 | { 1273 | display:" + ($SS.conf["Page Layout"] === 2 ? "inline-" : "") + "block; 1274 | padding:5px; 1275 | } 1276 | .container 1277 | { 1278 | " + ($SS.conf["Backlinks Position"] !== 1 ? " 1279 | bottom:2px; 1280 | position:absolute; 1281 | right:10px; 1282 | z-index:1;" : "") + " 1283 | } 1284 | #qp .container 1285 | { 1286 | bottom: 0px !important; 1287 | } 1288 | #qp div.reply 1289 | { 1290 | display: table !important; 1291 | } 1292 | input[type=checkbox]:active, 1293 | input[type=checkbox]:focus, 1294 | .qphl 1295 | { 1296 | outline:none!important; 1297 | } 1298 | .qphl { 1299 | box-shadow: none !important; 1300 | } 1301 | #qp 1302 | { 1303 | background:rgb(" + $SS.theme.mainColor.shiftRGB(-8) + ")!important; 1304 | border:1px solid rgba(" + $SS.theme.linkColor.rgb + ",.4)!important; 1305 | margin:0 0px!important; 1306 | max-width:65%; 1307 | padding:0px !important; 1308 | position:fixed!important; 1309 | z-index:15!important; 1310 | border-radius:3px; 1311 | } 1312 | #qp .reply 1313 | { 1314 | background:none!important; 1315 | border:none!important; 1316 | width:auto!important; 1317 | } 1318 | a.summary 1319 | { 1320 | display:inline-block; 1321 | line-height:16px; 1322 | margin:-4px 10px 0!important; 1323 | padding:0 6px; 1324 | border-radius:3px; 1325 | } 1326 | " + (!$SS.conf["Menu-Only Mode"] ? " 1327 | .deleteform 1328 | { 1329 | bottom:0px!important; 1330 | height:21px; 1331 | overflow:hidden; 1332 | padding:2px 2px 0 18px!important; 1333 | position:fixed; 1334 | " + ($SS.conf["Sidebar Position"] === 3 ? " 1335 | right:" + ($SS.conf["Post Form"] === 4 ? 0 : 262) +"px;" : $SS.conf["Sidebar Position String"] + ":260px;") + " 1336 | width:0; 1337 | white-space:nowrap; 1338 | z-index:12!important; 1339 | " + ($SS.conf["Page Layout"] !== 1 ? "border-radius:" + ($SS.conf["Sidebar Position"] !== 2 ? "3px 0 0 0" : "0 3px 0 0") : "") + "; 1340 | -webkit-transition:all .2s ease-in-out; 1341 | -moz-transition:all .2s ease-in-out; 1342 | -o-transition:all .2s ease-in-out; 1343 | border-" + $SS.conf["Sidebar Position String"] + ": none !important; 1344 | } 1345 | .deleteform:hover 1346 | { 1347 | " + ($SS.conf["Sidebar Position"] !== 2 ? "padding-left:2px!important;" + ($SS.conf["Sidebar Position"] === 3 ? "padding-right:4px!important;" : "") : "padding-left:0!important; 1348 | padding-right:3px!important;") + " 1349 | width:238px; 1350 | -webkit-transition:all .2s ease-in-out; 1351 | -moz-transition:all .2s ease-in-out; 1352 | -o-transition:all .2s ease-in-out; 1353 | } 1354 | .deleteform::before 1355 | { 1356 | content:'X'; 1357 | display:inline-block; 1358 | position:absolute; 1359 | left:0; 1360 | top:0; 1361 | width:20px; 1362 | height:24px; 1363 | text-align:center; 1364 | padding-top:1px; 1365 | } 1366 | .deleteform:hover::before 1367 | { 1368 | overflow:hidden; 1369 | white-space:nowrap; 1370 | padding:0; 1371 | width:0; 1372 | } 1373 | .deleteform::after 1374 | { 1375 | content:'File Only'; 1376 | position:absolute; 1377 | bottom:0; 1378 | right: 122px; 1379 | line-height:24px; 1380 | } 1381 | .deleteform input, 1382 | .deleteform .riceCheck 1383 | { 1384 | visibility:visible!important; 1385 | } 1386 | .deleteform input[type=checkbox], 1387 | .deleteform .riceCheck 1388 | { 1389 | margin:2px!important; 1390 | position:absolute; 1391 | right:105px; 1392 | bottom:4px!important; 1393 | top:auto!important; 1394 | } 1395 | .deleteform input:not([type=checkbox]) 1396 | { 1397 | height:20px!important; 1398 | margin:0 1px 0 0!important; 1399 | } 1400 | .deleteform input[type=password] 1401 | { 1402 | margin-left:4px!important; 1403 | width:138px!important; 1404 | } 1405 | .deleteform:hover input[type=password] 1406 | { 1407 | margin-left:0!important; 1408 | } 1409 | " : "") + " 1410 | table, 1411 | td:not(.hide-reply-button):not(.deleteform) 1412 | { 1413 | border:0!important; 1414 | border-spacing:0!important; 1415 | table-layout:fixed!important; 1416 | } 1417 | blockquote 1418 | { 1419 | margin:0!important; 1420 | padding:" + ($SS.conf["Slim Replies"] ? ($SS.conf["Backlinks Position"] !== 1 ? 8 : 4) + "px 16px" : "12px 22px") + "!important; 1421 | } 1422 | blockquote { 1423 | margin-left: 10px !important; 1424 | } 1425 | #qp div.reply { 1426 | padding: 0px !important; 1427 | } 1428 | blockquote>div[style] 1429 | { 1430 | border-color:" + $SS.theme.sageColor.hex + "!important; 1431 | } 1432 | .reply .fileInfo 1433 | { 1434 | font-size: 11px !important; 1435 | margin-left: 20px; 1436 | opacity: 0.8; 1437 | } 1438 | .op, 1439 | .thread.hidden 1440 | { 1441 | display:block!important; 1442 | } 1443 | .expanded-image .fileThumb 1444 | { 1445 | z-index:" + ($SS.conf["Expanded Images Cover QR"] ? 9: 4) + "!important; 1446 | position: relative !important; 1447 | } 1448 | img[alt=Closed], 1449 | img[alt=Sticky], 1450 | .remove 1451 | { 1452 | background-image:" + $SS.theme.dIcons.get() + "!important; 1453 | background-color:transparent!important; 1454 | background-repeat:no-repeat; 1455 | display:inline-block; 1456 | height:0!important; 1457 | padding-top:16px!important; 1458 | vertical-align:bottom; 1459 | width:16px!important; 1460 | } 1461 | .close { 1462 | height:0!important; 1463 | } 1464 | textarea, 1465 | button, 1466 | input:not([type=checkbox]):not([type=radio]):not([value='Next']):not([value='Previous']), 1467 | #qr-filename-container, 1468 | .webkit select, 1469 | " + ($SS.conf["Post Form"] !== 4 ? "#qr>form>.captcha-img>img," : "#qr>form>.captcha-img,") + " 1470 | .catalog kbd 1471 | { 1472 | border:1px solid " + $SS.theme.inputbColor.hex + " !important; 1473 | } 1474 | button, 1475 | input[type=button], 1476 | input[type=file], 1477 | input[type=password], 1478 | input[type=submit], 1479 | input[type=text]:not(.jsColor), 1480 | input#fs_search, 1481 | input.field, 1482 | .webkit select, 1483 | textarea, 1484 | #options input, 1485 | #qr-filename-container, 1486 | .catalog kbd 1487 | { 1488 | background:rgba(" + $SS.theme.inputColor.rgb + "," + $SS.theme.replyOp + ")!important; 1489 | } 1490 | button, 1491 | input:not(.jsColor), 1492 | textarea 1493 | { 1494 | -webkit-transition:background .2s,box-shadow .2s; 1495 | -moz-transition:background .2s,box-shadow .2s; 1496 | -o-transition:background .2s,box-shadow .2s; 1497 | } 1498 | button:hover, 1499 | #qr-filename-container:hover, 1500 | input[type=button]:hover, 1501 | input[type=password]:hover, 1502 | input[type=submit]:hover, 1503 | input[type=text]:not(.jsColor):not([disabled]):hover, 1504 | input#fs_search:hover, 1505 | input.field:hover, 1506 | .webkit select:hover, 1507 | textarea:hover, 1508 | #options input:hover 1509 | { 1510 | background:rgba(" + $SS.theme.inputColor.hover + "," + $SS.theme.replyOp + ")!important; 1511 | } 1512 | input[type=password]:hover, 1513 | input[type=text]:not([disabled]):hover, 1514 | input#fs_search:hover, 1515 | input.field:hover, 1516 | .webkit select:hover, 1517 | textarea:hover, 1518 | #options input:not[type=checkbox]:hover 1519 | { 1520 | box-shadow:inset rgba(0,0,0,.2) 0 1px 2px; 1521 | } 1522 | input[type=password]:focus, 1523 | input[type=text]:focus, 1524 | input#fs_search:focus, 1525 | input.field:focus, 1526 | .webkit select:focus, 1527 | textarea:focus, 1528 | #options input:focus 1529 | { 1530 | box-shadow:inset rgba(0,0,0,.2) 0 1px 2px; 1531 | } 1532 | textarea:focus, 1533 | input[type=text]:not(.jsColor):not([disabled]):focus, 1534 | input[type=password]:focus, 1535 | input#fs_search:focus, 1536 | input.field:focus, 1537 | #options input:focus 1538 | { 1539 | background:rgba(" + $SS.theme.inputColor.hover + "," + $SS.theme.replyOp + ")!important; 1540 | } 1541 | input[type=button] 1542 | { 1543 | height:22px!important; 1544 | padding:0!important; 1545 | text-align:center!important; 1546 | vertical-align:top; 1547 | width:50px; 1548 | } 1549 | input[type=checkbox], 1550 | input[type=radio], 1551 | .riceCheck 1552 | { 1553 | background:rgba(" + $SS.theme.inputColor.rgb + "," + $SS.theme.replyOp + ")!important; 1554 | border:1px solid rgb(" + $SS.theme.inputbColor.rgb + ")!important; 1555 | display:inline-block; 1556 | height:12px!important; 1557 | margin:3px; 1558 | position:relative; 1559 | vertical-align:top; 1560 | width:12px!important; 1561 | border-radius:2px!important; 1562 | -webkit-appearance:none; 1563 | -webkit-transition:background .1s; 1564 | -moz-transition:background .1s; 1565 | -o-transition:background .1s; 1566 | } 1567 | input[type=radio] 1568 | { 1569 | border-radius:10px!important; 1570 | } 1571 | input[type=checkbox], 1572 | .riceCheck 1573 | { 1574 | box-shadow:rgba(" + $SS.theme.mainColor.shiftRGB(32) + ",.3) 0 1px; 1575 | } 1576 | input[type=checkbox]:hover, 1577 | input[type=radio]:hover, 1578 | .riceCheck:hover 1579 | { 1580 | background:rgba(" + $SS.theme.inputColor.hover + "," + $SS.theme.replyOp + ")!important; 1581 | } 1582 | input[type=checkbox]:checked, 1583 | input[type=checkbox]:checked+.riceCheck 1584 | { 1585 | box-shadow:inset rgba(0,0,0,.2) 0 1px 2px,rgba(" + ($SS.theme.mainColor.isLight ? "255,255,255" : "100,100,100") + ",.6) 0 1px; 1586 | } 1587 | input[type=radio]:checked 1588 | { 1589 | background:rgba(" + $SS.theme.inputColor.shiftRGB(40, true) + "," + $SS.theme.replyOp + ")!important; 1590 | box-shadow:inset rgba(" + $SS.theme.inputColor.shiftRGB(100, true) + ",.2) 0 0 1px!important; 1591 | } 1592 | input[type=checkbox]::before, 1593 | input[type=radio]::before, 1594 | input[type=checkbox]+.riceCheck::before 1595 | { 1596 | content:''; 1597 | display:block; 1598 | height:8px; 1599 | margin:1px; 1600 | opacity:0; 1601 | width:8px; 1602 | -webkit-transition:opacity .2s ease-in-out; 1603 | -moz-transition:opacity .2s ease-in-out; 1604 | -o-transition:opacity .2s ease-in-out; 1605 | } 1606 | input[type=checkbox]:checked::before, 1607 | input[type=radio]:checked::before, 1608 | input[type=checkbox]:checked+.riceCheck::before 1609 | { 1610 | opacity:1; 1611 | } 1612 | input[type=checkbox]:checked::before, 1613 | input[type=checkbox]:checked+.riceCheck::before 1614 | { 1615 | background:" + $SS.theme.checkMark.get() + "!important; 1616 | } 1617 | input[type=radio]:checked::before 1618 | { 1619 | background:" + $SS.theme.radioCheck.get() + " transparent!important; 1620 | } 1621 | input[type=checkbox]:active, 1622 | input[type=radio]:active, 1623 | .riceCheck:active 1624 | { 1625 | background:rgba(" + $SS.theme.inputColor.shiftRGB(40, true) + "," + $SS.theme.replyOp + ")!important; 1626 | box-shadow:inset rgba(" + $SS.theme.inputColor.shiftRGB(100, true) + ",.4) 0 0 3px,rgba(" + $SS.theme.mainColor.shiftRGB(64) + ",.6) 0 1px!important; 1627 | } 1628 | .replyContainer>.reply input[type=checkbox], 1629 | .replyContainer>.reply .riceCheck, 1630 | { 1631 | margin-left:0!important; 1632 | position:relative; 1633 | } 1634 | span.filesize~input[type=checkbox], 1635 | span.filesize~.riceCheck 1636 | { 1637 | top:2px; 1638 | } 1639 | textarea, 1640 | .navLinks 1641 | { 1642 | margin:0!important; 1643 | } 1644 | .textarea { 1645 | margin-bottom: -1px !important; 1646 | } 1647 | td.doubledash 1648 | { 1649 | padding:0; 1650 | text-indent:-9999px; 1651 | } 1652 | .boardBanner 1653 | { 1654 | height:0px !important; 1655 | position:fixed; 1656 | " + $SS.conf["Sidebar Position String"] + ":1px; 1657 | text-align:center; 1658 | top:23px; 1659 | " + (!$SS.conf["Sidebar Postion"] === 3 ? "z-index: 3;" : "") + " 1660 | } 1661 | .top.autohide .boardBanner, .bottom .boardBanner { 1662 | top: 0px !important; 1663 | z-index: 4 !important; 1664 | } 1665 | .boardBanner, 1666 | .boardBanner img, 1667 | .boardBanner .boardTitle 1668 | { 1669 | width:" + ($SS.conf["Sidebar Position"] === 3 ? 261 : 259) + "px!important; 1670 | } 1671 | .boardBanner img 1672 | { 1673 | height:auto!important; 1674 | margin:0!important; 1675 | " + (!$SS.conf["Lighter Logo"] ? "" : "opacity:.5;") + " 1676 | position:relative; 1677 | z-index:1; 1678 | } 1679 | .boardBanner #bBanner 1680 | { 1681 | height:86.3333px; 1682 | position:fixed; 1683 | " + ($SS.conf["Sidebar Position"] === 3 ? "pointer-events: none !important;" : "") + " 1684 | } 1685 | " + ($SS.conf["Show Logo Reflection"] ? " 1686 | .boardBanner #bBanner::after 1687 | { 1688 | background-image:-moz-element(#banner); 1689 | bottom:-100%; 1690 | content:''; 1691 | left:0; 1692 | mask:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KCTxkZWZzPg0KCQk8bGluZWFyR3JhZGllbnQgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJncmFkaWVudCIgeDI9IjAiIHkyPSIxIj4NCgkJCTxzdG9wIHN0b3Atb2Zmc2V0PSIwIi8+DQoJCQk8c3RvcCBzdG9wLWNvbG9yPSJ3aGl0ZSIgb2Zmc2V0PSIxIi8+DQoJCTwvbGluZWFyR3JhZGllbnQ+DQoJCTxtYXNrIGlkPSJtYXNrIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBtYXNrQ29udGVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+DQoJCQk8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWRpZW50KSIvPg0KCQk8L21hc2s+DQoJPC9kZWZzPg0KPC9zdmc+#mask'); 1693 | opacity:.2; 1694 | position:absolute; 1695 | right:0; 1696 | top:100%; 1697 | z-index:1; 1698 | -moz-transform:scaleY(-1); 1699 | } 1700 | .boardBanner img 1701 | { 1702 | -webkit-box-reflect:below 0 -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(.1,transparent),to(rgba(255,255,255,.5))); 1703 | }" : "") + " 1704 | " + ($SS.conf["Board Name Position"] == 1 ? ".boardBanner .boardTitle { top: 150px !important; bottom: auto; }" : ".boardBanner .boardTitle { top: auto; bottom: " + (($SS.conf["Post Form"] === 1) || ($SS.conf["Post Form"] === 4) ? 90 : 360) + "px !important;}") + " 1705 | .boardBanner .boardTitle 1706 | { 1707 | position: fixed !important; 1708 | bottom: auto; 1709 | font-size: 30px !important; 1710 | font-weight: 400 !important; 1711 | font-family: sans-serif; 1712 | cursor:default!important; 1713 | display:block; 1714 | font-size:28px!important; 1715 | letter-spacing:-3px; 1716 | padding:0 10px; 1717 | text-align:center; 1718 | text-shadow:" + $SS.theme.mainColor.hex + " -1px -1px," + $SS.theme.mainColor.hex + " 1px -1px," + $SS.theme.mainColor.hex + " -1px 1px," + $SS.theme.mainColor.hex + " 1px 1px,rgba(0,0,0,.6) 0 2px 4px,rgba(0,0,0,.6) 0 0 10px; 1719 | z-index:3; 1720 | " + $SS.conf["Sidebar Position String"] + ": 0px; " + $SS.conf["Sidebar Position oString"] + ": auto; 1721 | } 1722 | .boardBanner .boardTitle::selection 1723 | { 1724 | background:transparent!important; 1725 | } 1726 | .boardBanner .boardTitle::-moz-selection 1727 | { 1728 | background:transparent!important; 1729 | } 1730 | .boardBanner .boardSubtitle 1731 | { 1732 | " + ($SS.conf["Board Name Position"] == 1 ? "top: 185px !important; z-index: 2;" : "z-index: 3; fixed !important; bottom:" + (($SS.conf["Post Form"] !== 1) && ($SS.conf["Post Form"] !== 4) ? 342 : 72) + "px;") + " 1733 | text-shadow:" + $SS.theme.mainColor.hex + " -1px -1px," + $SS.theme.mainColor.hex + " 1px -1px," + $SS.theme.mainColor.hex + " -1px 1px," + $SS.theme.mainColor.hex + " 1px 1px,rgba(0,0,0,.2) 0 0 10px,#000 0 1px 5px,#000 0 -1px 5px; 1734 | width: 256px !important; 1735 | " + $SS.conf["Sidebar Position String"] + ": 0px; " + $SS.conf["Sidebar Position oString"] + ": auto; 1736 | position: fixed !important; 1737 | } 1738 | .boardBanner .boardSubtitle>a 1739 | { 1740 | text-transform:none!important; 1741 | text-shadow:" + $SS.theme.mainColor.hex + " -1px -1px," + $SS.theme.mainColor.hex + " 1px -1px," + $SS.theme.mainColor.hex + " -1px 1px," + $SS.theme.mainColor.hex + " 1px 1px,rgba(0,0,0,.2) 0 0 10px,#000 0 1px 5px,#000 0 -1px 5px!important; 1742 | } 1743 | div.autohide>a[title='Auto-hide dialog box'] 1744 | { 1745 | text-decoration:underline!important; 1746 | } 1747 | .op .filesize 1748 | { 1749 | display:inline-block!important; 1750 | margin:2px " + ($SS.conf["Page Layout"] !== 2 ? 6 : 0) + "px!important; 1751 | } 1752 | body>span[style]~form .op .filesize 1753 | { 1754 | padding-left:6px!important; 1755 | } 1756 | .inline .filesize 1757 | { 1758 | margin:2px 0!important; 1759 | } 1760 | .filesize span:not([class]) 1761 | { 1762 | font-size:0!important; 1763 | visibility:hidden; 1764 | } 1765 | .filesize span:not([class])::after 1766 | { 1767 | content:attr(title); 1768 | visibility:visible; 1769 | } 1770 | input:not([type=checkbox]):not([type=radio]), 1771 | button, 1772 | select, 1773 | textarea 1774 | { 1775 | -webkit-appearance:none; 1776 | -o-appearance:none; 1777 | } 1778 | " + ($SS.conf["Post Form"] !== 4 ? "#qr>.move," : "") + " 1779 | #options .move 1780 | { 1781 | cursor:default!important; 1782 | } 1783 | #fourchanx-settings .tab-selected { 1784 | font-weight: 700 !important; 1785 | color: " + $SS.theme.textColor.hex + " !important; 1786 | } 1787 | #fourchanx-settings > nav a { 1788 | text-decoration: none !important; 1789 | } 1790 | #overlay, 1791 | #overlay2 1792 | { 1793 | background:rgba(0,0,0,.5); 1794 | position:fixed; 1795 | top:0; 1796 | left:0; 1797 | height:100%; 1798 | width:100%; 1799 | text-align:center; 1800 | z-index:999!important; 1801 | } 1802 | #overlay::before, 1803 | #overlay2::before 1804 | { 1805 | content:''; 1806 | display:inline-block; 1807 | height:100%; 1808 | vertical-align:middle; 1809 | } 1810 | 1811 | #addMascot, 1812 | #addTheme, 1813 | #themeoptions 1814 | { 1815 | border:0!important; 1816 | display:inline-block; 1817 | position:relative; 1818 | text-align:right!important; 1819 | width:600px; 1820 | padding:5px !important; 1821 | vertical-align:middle; 1822 | border-radius:5px!important; 1823 | } 1824 | #themeoptions>div 1825 | { 1826 | padding:5px; 1827 | } 1828 | .trbtn 1829 | { 1830 | color:" + $SS.theme.jlinkColor.hex + "; 1831 | display:inline-block; 1832 | line-height:18px; 1833 | margin:0 2px; 1834 | min-width:40px; 1835 | padding:2px 10px; 1836 | text-align:center; 1837 | background:-webkit-linear-gradient(top,rgba(" + $SS.theme.mainColor.shiftRGB(20) + "," + $SS.theme.replyOp + "),rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")); 1838 | background:-moz-linear-gradient(top,rgba(" + $SS.theme.mainColor.shiftRGB(20) + "," + $SS.theme.replyOp + "),rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")); 1839 | background:-o-linear-gradient(top,rgba(" + $SS.theme.mainColor.shiftRGB(20) + "," + $SS.theme.replyOp + "),rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")); 1840 | border-radius:3px; 1841 | box-shadow:rgba(0,0,0,.3) 0 0 2px; 1842 | } 1843 | .trbtn:hover, 1844 | #selectImage>input[type=file]:hover+.trbtn 1845 | { 1846 | background:rgba(60,60,60," + $SS.theme.replyOp + "); 1847 | background:-webkit-linear-gradient(top,rgba(" + $SS.theme.mainColor.shiftRGB(40) + "," + $SS.theme.replyOp + "),rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")); 1848 | background:-moz-linear-gradient(top,rgba(" + $SS.theme.mainColor.shiftRGB(40) + "," + $SS.theme.replyOp + "),rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")); 1849 | background:-o-linear-gradient(top,rgba(" + $SS.theme.mainColor.shiftRGB(40) + "," + $SS.theme.replyOp + "),rgba(" + $SS.theme.mainColor.rgb + "," + $SS.theme.replyOp + ")); 1850 | } 1851 | .trbtn:active, 1852 | #selectImage>input[type=file]:active+.trbtn 1853 | { 1854 | box-shadow:inset rgba(0,0,0,.3) 0 0 2px,rgba(0,0,0,.3) 0 0 2px; 1855 | } 1856 | .trbtn-small 1857 | { 1858 | padding:2px 5px; 1859 | min-width:30px; 1860 | } 1861 | #themeoptions #toNav 1862 | { 1863 | list-style:none; 1864 | margin:0; 1865 | padding:0; 1866 | position:absolute; 1867 | top:-26px; 1868 | } 1869 | #themeoptions #toNav li 1870 | { 1871 | float:left; 1872 | margin:0; 1873 | padding:0; 1874 | } 1875 | #themeoptions #toNav li label 1876 | { 1877 | background:rgba(" + $SS.theme.mainColor.shiftRGB(-10) + "," + $SS.theme.replyOp + "); 1878 | color:#888!important; 1879 | display:block; 1880 | height:16px; 1881 | margin:0 2px; 1882 | padding:5px 10px; 1883 | text-align:center; 1884 | width:75px; 1885 | border-radius:5px 5px 0 0; 1886 | -webkit-transition:all .1s ease-in-out; 1887 | -moz-transition:all .1s ease-in-out; 1888 | -o-transition:all .1s ease-in-out; 1889 | } 1890 | #SSVersion 1891 | { 1892 | opacity:.5; 1893 | padding-right:5px; 1894 | padding-left: 35px; 1895 | } 1896 | .linkdelimiter 1897 | { 1898 | opacity:.4; 1899 | } 1900 | #issueslink { 1901 | padding-right:10px; 1902 | } 1903 | #themeoptions #toWrapper 1904 | { 1905 | background:rgb(" + $SS.theme.mainColor.shiftRGB(-12) + "); 1906 | box-shadow:inset rgba(0,0,0,.3) 0 0 5px,rgba(" + $SS.theme.mainColor.shiftRGB(32) + ",.6) 0 1px 3px; 1907 | border-radius:5px; 1908 | } 1909 | #themeoptions #toWrapper, 1910 | #themeoptions #toWrapper>div 1911 | { 1912 | height:400px; 1913 | } 1914 | #themeoptions #toWrapper>div 1915 | { 1916 | overflow:auto; 1917 | } 1918 | #themeoptions #toWrapper>[name=toTab]:not(:checked)+div 1919 | { 1920 | display:none; 1921 | } 1922 | #themeoptions #tMain .mOption, 1923 | #themeoptions #tNavLinks .navlink 1924 | { 1925 | display:block; 1926 | border-bottom:1px solid rgba(" + $SS.theme.mainColor.rgb + ",.3); 1927 | border-top:1px solid rgba(0,0,0,.1); 1928 | height:20px; 1929 | padding:0 3px; 1930 | vertical-align:top; 1931 | } 1932 | .deleteform::before, 1933 | #themeoptions #tMain .mOption span 1934 | { 1935 | float:left; 1936 | line-height:20px!important; 1937 | } 1938 | #themeoptions #tMain .mOption:first-child 1939 | { 1940 | border-top:0!important; 1941 | } 1942 | #themeoptions #tMain .mOption:last-child 1943 | { 1944 | border-bottom:0!important; 1945 | } 1946 | #themeoptions #tMain select[name='Font Family'] option 1947 | { 1948 | max-width:150px; 1949 | overflow:hidden; 1950 | white-space:nowrap; 1951 | text-overflow:ellipsis; 1952 | } 1953 | #themeoptions #tMain .subOption::before 1954 | { 1955 | border-bottom:1px solid rgba(0,0,0,.1); 1956 | border-left:1px solid rgba(0,0,0,.1); 1957 | content:''; 1958 | display:inline-block; 1959 | float:left; 1960 | margin-right:2px; 1961 | height:50%; 1962 | width:6px; 1963 | } 1964 | #themeoptions #tMain .subOption 1965 | { 1966 | margin-left:16px; 1967 | } 1968 | #themeoptions #tThemes>div 1969 | { 1970 | opacity:.5; 1971 | -webkit-transition:all .1s; 1972 | -moz-transition:all .1s; 1973 | -o-transition:all .1s; 1974 | } 1975 | #themeoptions #tThemes>div:hover, 1976 | #themeoptions #tThemes>div.selected, 1977 | #themeoptions #tThemes>div.nsfw 1978 | { 1979 | opacity:1; 1980 | } 1981 | #themeoptions #tThemes .reply 1982 | { 1983 | margin:2px 0!important; 1984 | padding:2px!important; 1985 | position:relative; 1986 | text-align:left; 1987 | width:100%; 1988 | border-radius:2px!important; 1989 | } 1990 | #themeoptions #tThemes>div p 1991 | { 1992 | bottom:4px; 1993 | right:2px; 1994 | margin:0; 1995 | opacity:0; 1996 | position:absolute; 1997 | z-index:3; 1998 | } 1999 | #themeoptions #tThemes>div:hover p 2000 | { 2001 | opacity:1; 2002 | } 2003 | #themeoptions #tThemes>div p a 2004 | { 2005 | display:inline-block; 2006 | margin:0 2px; 2007 | padding:2px 5px; 2008 | text-align:center; 2009 | width:50px; 2010 | border-radius:3px; 2011 | } 2012 | #themeoptions #tThemes>div h3 2013 | { 2014 | bottom:-5px; 2015 | font-size:32px!important; 2016 | margin:0!important; 2017 | opacity:0; 2018 | position:absolute; 2019 | right:300px; 2020 | -webkit-transition:all .3s; 2021 | -moz-transition:all .3s; 2022 | -o-transition:all .3s; 2023 | } 2024 | #themeoptions #tThemes>div.nsfw .h3nsfw 2025 | { 2026 | opacity:1; 2027 | right:3px; 2028 | z-index:1; 2029 | } 2030 | #themeoptions #tThemes>div.selected .h3sfw 2031 | { 2032 | opacity:1; 2033 | right:3px; 2034 | z-index:1; 2035 | } 2036 | #themeoptions #tThemes>div.selected.nsfw h3:not(.h3both) { 2037 | opacity:0 !important; 2038 | right:300px !important; 2039 | z-index:0 !important; 2040 | } 2041 | #themeoptions #tThemes>div.selected.nsfw .h3both { 2042 | opacity:1; 2043 | right:3px; 2044 | z-index:1; 2045 | } 2046 | #themeoptions #tMascot 2047 | { 2048 | text-align:center; 2049 | } 2050 | #themeoptions #toWrapper>div>p 2051 | { 2052 | bottom:10px; 2053 | left:10px; 2054 | position:absolute; 2055 | } 2056 | #themeoptions #toWrapper>div>p 2057 | { 2058 | margin:0; 2059 | } 2060 | #themeoptions #tMascot div 2061 | { 2062 | background-position:center top!important; 2063 | background-repeat:no-repeat!important; 2064 | background-size:cover!important; 2065 | display:inline-block; 2066 | height:257px; 2067 | margin:2px; 2068 | opacity:.75; 2069 | position:relative; 2070 | width:185px; 2071 | border-radius:10px; 2072 | -webkit-transition:all .1s; 2073 | -moz-transition:all .1s; 2074 | -o-transition:all .1s; 2075 | } 2076 | #themeoptions #tMascot div:hover 2077 | { 2078 | opacity:1; 2079 | } 2080 | #themeoptions #tMascot div.selected, #themeoptions #tMascot div.nsfw 2081 | { 2082 | background-color:rgba(" + $SS.theme.linkColor.rgb + ",.6)!important; 2083 | opacity:1; 2084 | box-shadow:inset rgba(0,0,0,.15) 0 0 15px, rgba(" + $SS.theme.linkColor.rgb + ",.6) 0 0 2px; 2085 | } 2086 | #themeoptions #tMascot div a 2087 | { 2088 | position:absolute; 2089 | top:0; 2090 | padding:5px 8px; 2091 | background:rgba(0,0,0,.3); 2092 | } 2093 | #themeoptions #tMascot div a:not([href]):hover 2094 | { 2095 | background:rgba(0,0,0,.5); 2096 | } 2097 | #themeoptions #tMascot div a[title=Delete], 2098 | #themeoptions #tMascot div a[title=Hide] 2099 | { 2100 | left:0; 2101 | border-radius:10px 0 10px 0; 2102 | } 2103 | #themeoptions #tMascot div a[title=Edit] 2104 | { 2105 | right:0; 2106 | border-radius:0 10px 0 10px; 2107 | } 2108 | #themeoptions #tNavLinks .navlink>div:not(.handle), #themeoptions #tNavLinks .navlink>label, #themeoptions #tNavLinks .navlink>a 2109 | { 2110 | position:relative; 2111 | z-index:1; 2112 | } 2113 | #themeoptions #tNavLinks .navlink 2114 | { 2115 | height:24px; 2116 | padding-top:1px; 2117 | position:relative; 2118 | -webkit-transition:all .2s; 2119 | -moz-transition:all .2s; 2120 | -o-transition:all .2s; 2121 | } 2122 | #themeoptions #tNavLinks .moving 2123 | { 2124 | opacity:.5; 2125 | -webkit-transform:scale(.95); 2126 | -moz-transform:scale(.95); 2127 | -0-transform:scale(.95); 2128 | } 2129 | #themeoptions #tNavLinks .over:not(.moving) 2130 | { 2131 | border-top:4px double " + $SS.theme.brderColor.hex + "; 2132 | } 2133 | #themeoptions #tNavLinks .moving~.over 2134 | { 2135 | border-bottom:4px double " + $SS.theme.brderColor.hex + "; 2136 | border-top:1px solid rgba(0,0,0,.1); 2137 | } 2138 | #themeoptions #tNavLinks .navlink .handle 2139 | { 2140 | border-left:16px solid rgb(" + $SS.theme.brderColor.shiftRGB(8, true) + "); 2141 | cursor:move; 2142 | height:26px; 2143 | left:0; 2144 | position:absolute; 2145 | top:0; 2146 | width:100%; 2147 | z-index:0; 2148 | } 2149 | #themeoptions #tNavLinks label 2150 | { 2151 | margin:0 3px; 2152 | position:relative; 2153 | top:1px; 2154 | } 2155 | #themeoptions #tNavLinks label:first-child 2156 | { 2157 | float:left; 2158 | margin-left:18px; 2159 | } 2160 | #themeoptions #tNavLinks label:first-child>input[type=text] 2161 | { 2162 | width:120px; 2163 | } 2164 | #themeoptions #tNavLinks label>input[type=text] 2165 | { 2166 | width:125px; 2167 | } 2168 | #themeoptions label>input[type=checkbox], 2169 | #themeoptions label>.riceCheck 2170 | { 2171 | margin:4px 2px 0!important; 2172 | vertical-align:bottom!important; 2173 | } 2174 | #themeoptions span>select, 2175 | #themeoptions span>input[type=text] 2176 | { 2177 | width:125px; 2178 | } 2179 | #themeoptions input[type=text], 2180 | #themeoptions select 2181 | { 2182 | max-height:22px; 2183 | margin:0!important; 2184 | padding:1px 3px!important; 2185 | } 2186 | #themeoptions select 2187 | { 2188 | padding:1px 1px 1px 0!important; 2189 | } 2190 | #themeoptions textarea 2191 | { 2192 | background:transparent!important; 2193 | border:0!important; 2194 | height:100%!important; 2195 | width:100%!important; 2196 | resize:none; 2197 | } 2198 | #addMascot 2199 | { 2200 | width:350px!important; 2201 | } 2202 | #addMascot>div 2203 | { 2204 | padding:5px; 2205 | } 2206 | #addMascot>label 2207 | { 2208 | display:block; 2209 | } 2210 | #addMascot>label>span, 2211 | #addTheme>label>span 2212 | { 2213 | float:left; 2214 | line-height:22px; 2215 | padding-left:5px; 2216 | } 2217 | #addMascot>label>input[type=text], 2218 | #addMascot>label>select, 2219 | #addMascot>label>textarea 2220 | { 2221 | margin-top:1px!important; 2222 | width:200px; 2223 | } 2224 | #addMascot select[name=mPosition], 2225 | #addMascot input[name=mOffset][type=text] 2226 | { 2227 | width:80px; 2228 | } 2229 | #addMascot>label>textarea 2230 | { 2231 | height:20px; 2232 | line-height:20px; 2233 | overflow:hidden; 2234 | resize:none; 2235 | } 2236 | #addMascot>label>input[type=checkbox], 2237 | #addMascot>label>.riceCheck 2238 | { 2239 | margin-top:5px; 2240 | } 2241 | #selectImage 2242 | { 2243 | float:left; 2244 | height:24px!important; 2245 | margin-top:-2px; 2246 | padding-top:2px; 2247 | } 2248 | a[name=clearIMG] 2249 | { 2250 | display:none; 2251 | float:left; 2252 | opacity:0; 2253 | -webkit-transition:all .2s ease-in-out; 2254 | -moz-transition:all .2s ease-in-out; 2255 | -o-transition:all .2s ease-in-out; 2256 | } 2257 | input[name=customIMGB64]+a[name=clearIMG] 2258 | { 2259 | display:inline-block; 2260 | opacity:1; 2261 | } 2262 | #addTheme 2263 | { 2264 | text-align:left!important; 2265 | width:500px!important; 2266 | } 2267 | #addTheme>label 2268 | { 2269 | display:inline-block; 2270 | text-align:right; 2271 | width:50%; 2272 | } 2273 | #addTheme>label#customCSS 2274 | { 2275 | width:100%; 2276 | } 2277 | #addTheme>label#customCSS>textarea 2278 | { 2279 | height:100px; 2280 | resize:vertical; 2281 | width:100%; 2282 | } 2283 | #addTheme>label>input[type=text], 2284 | #addTheme>label>select 2285 | { 2286 | width:100px; 2287 | } 2288 | #addTheme>div 2289 | { 2290 | margin-top:.6em; 2291 | text-align:right; 2292 | } 2293 | #themeoptions, 2294 | #options.dialog, 2295 | #themeoptions #toNav li label.selected, 2296 | #themeoptions #toNav li label:hover, 2297 | #addMascot, 2298 | #addTheme 2299 | { 2300 | background:rgba(" + $SS.theme.mainColor.rgb + ",.98)!important; 2301 | text-align:center; 2302 | } 2303 | #options.dialog, 2304 | #themeoptions, 2305 | #addMascot, 2306 | #addTheme 2307 | { 2308 | margin:0 auto!important; 2309 | text-align:left; 2310 | box-shadow:rgba(0,0,0,.6) 0 0 10px; 2311 | border-radius:5px; 2312 | } 2313 | #options 2314 | { 2315 | width:600px!important; 2316 | z-index:1000!important; 2317 | } 2318 | #options hr 2319 | { 2320 | margin:3px 0!important; 2321 | } 2322 | #options button 2323 | { 2324 | vertical-align:baseline!important; 2325 | width:auto!important; 2326 | } 2327 | #options input 2328 | { 2329 | width:150px; 2330 | } 2331 | #options ul 2332 | { 2333 | margin-right:5px; 2334 | padding:2px 5px!important; 2335 | border-radius:5px; 2336 | box-shadow:inset rgba(" + ($SS.theme.mainColor.isLight ? "255,255,255" : "155,155,155") + ",.3) 0 0 5px; 2337 | } 2338 | .expand-all-shortcut, .contract-all-shortcut 2339 | { 2340 | margin-left: 6px !important; 2341 | z-index: 10 !important; 2342 | font-size: 0px !important; 2343 | padding: 9px !important; 2344 | overflow:hidden; 2345 | opacity: 0.6 !important; 2346 | } 2347 | .expand-all-shortcut:hover, .contract-all-shortcut 2348 | { 2349 | opacity: 1 !important; 2350 | } 2351 | .menu-button { 2352 | font-size: 0 !important; 2353 | padding: 7px !important; 2354 | opacity: 0.6 !important; 2355 | border-radius: 0px !important; 2356 | border: none !important; 2357 | } 2358 | #header-bar .menu-button 2359 | { 2360 | font-size: 0 !important; 2361 | z-index: 10 !important; 2362 | display: inline !important; 2363 | margin-right: 2px !important; 2364 | margin-left: 2px !important; 2365 | } 2366 | .menu-button:hover 2367 | { 2368 | opacity: 1 !important; 2369 | } 2370 | .backlink { 2371 | font-size: 0px !important; 2372 | padding: 6px !important; 2373 | margin-right: 0px !important; 2374 | opacity: 0.6 !important; 2375 | position: relative; 2376 | bottom: 5px; 2377 | right: 2px; 2378 | } 2379 | .backlink:hover, .backlink.inlined { 2380 | opacity: 1 !important; 2381 | } 2382 | form[name=post] input[name=email]+label, 2383 | form[name=post] #com_submit+label, 2384 | #imgControls label, 2385 | #navlinks, 2386 | #themeoptions #toNav li label, 2387 | .preview>label::after 2388 | { 2389 | line-height:16px; 2390 | } 2391 | #navlinks 2392 | { 2393 | right: 230px !important; 2394 | top:5px !important; 2395 | height:18px; 2396 | z-index:14!important; 2397 | } 2398 | #ihover 2399 | { 2400 | padding-bottom:21px; 2401 | z-index:15!important; 2402 | } 2403 | body>center:nth-of-type(2) 2404 | { 2405 | position:relative; 2406 | } 2407 | body>.closed 2408 | { 2409 | height:18px; 2410 | line-height:18px; 2411 | padding:0!important; 2412 | } 2413 | 2414 | #OneeChanLink { 2415 | opacity: .6 !important; 2416 | z-index: 5; 2417 | padding: 8px !important; 2418 | font-size: 0 !important; 2419 | } 2420 | #OneeChanLink:hover { 2421 | opacity: 1 !important; 2422 | cursor: pointer; 2423 | } 2424 | 2425 | " + ($SS.conf["Pages Position"] !== 4 ? ($SS.conf["Pages Position"] === 3 ? " 2426 | .mPagelist.mobile 2427 | { 2428 | background:transparent!important; 2429 | bottom:0!important; 2430 | display:block !important; 2431 | height:20px; 2432 | left:0!important; 2433 | margin:0!important; 2434 | padding:0 5px; 2435 | position:fixed!important; 2436 | width:auto!important; 2437 | z-index:15; 2438 | } 2439 | .mPagelist .pages 2440 | { 2441 | display:-webkit-box!important; 2442 | display:-moz-box!important; 2443 | display:box!important; 2444 | height:20px; 2445 | padding:0!important; 2446 | text-align:center; 2447 | -webkit-box-align:center!important; 2448 | -moz-box-align:center!important; 2449 | box-align:center!important; 2450 | margin-bottom: -1px !important; 2451 | } 2452 | .mPagelist .pages span 2453 | { 2454 | padding:2px; 2455 | } 2456 | .mPagelist strong, .mPagelist a { 2457 | font-size: 12px !important; 2458 | } 2459 | .mPagelist strong { 2460 | color: " + $SS.theme.textColor.hex + " !important; 2461 | } 2462 | .mPagelist a { 2463 | color: " + $SS.theme.linkColor.hex + " !important; 2464 | } 2465 | .mPagelist span[style] { 2466 | display: inline-block !important; 2467 | margin-top: 0px !important; 2468 | } 2469 | .prev, .next { 2470 | display: none !important; 2471 | } 2472 | " : " 2473 | 2474 | .pagelist 2475 | { 2476 | width: 100% !important; 2477 | padding: 3px 0px !important; 2478 | border: none !important; 2479 | float: none !important; 2480 | clear:both; 2481 | height: 15px !important; 2482 | z-index: 3; 2483 | " + ($SS.conf["Pages Position"] === 2 ? " 2484 | position: fixed !important; 2485 | bottom: 0px !important;" : " 2486 | position: absolute !important; 2487 | " + $SS.conf["Sidebar Position oString"] + ": 0px !important; 2488 | " + $SS.conf["Sidebar Position String"] + ": " + $SS.iSidebarSize + " !important; ") + " 2489 | text-align: center !important; 2490 | } 2491 | .bottom .pagelist { 2492 | top: 0px !important; 2493 | bottom: auto !important; 2494 | } 2495 | .pages, .prev, .next { 2496 | display: inline-block !important; 2497 | position: relative !important; 2498 | bottom: 10px !important; 2499 | " + ($SS.conf["Post Form"] !== 4 ? "" + ($SS.conf["Pages Position"] === 1 ? $SS.conf["Sidebar Position String"] : "right") + ": 131px !important;" : "") + " 2500 | } 2501 | .prev { 2502 | margin-right: 4px !important; 2503 | } 2504 | .next { 2505 | margin-left: 4px !important; 2506 | } 2507 | .next input, .next input:hover, .prev input, .prev input:hover { 2508 | background: none !important; 2509 | border: none !important; 2510 | box-shadow: none !important; 2511 | } 2512 | .next input, .prev input { 2513 | color: " + $SS.theme.linkColor.hex + " !important; 2514 | } 2515 | .next input:hover, .prev input:hover { 2516 | color: " + $SS.theme.linkHColor.hex + " !important; 2517 | } 2518 | .pages 2519 | { 2520 | text-align: center !important; 2521 | border-spacing: 0 !important; 2522 | margin: auto !important; 2523 | padding-right: 0 !important; 2524 | z-index: 1; 2525 | float: none !important; 2526 | clear:both; 2527 | word-spacing: 10px !important; 2528 | font-size: 0px !important; 2529 | color: transparent !important; 2530 | height: 15px !important; 2531 | } 2532 | .pages a, .pages strong>a 2533 | { 2534 | font-size: 12px !important; 2535 | } 2536 | .mPagelist.mobile { 2537 | display: none !important; 2538 | } 2539 | ") : "") + " 2540 | 2541 | body>div[style='width: 100%;']+form[name=delform] 2542 | { 2543 | display:block!important; 2544 | margin-top:43px!important; 2545 | position:fixed; 2546 | } 2547 | 2548 | body>div[style='width: 100%;']+form[name=delform] { 2549 | display:block!important; 2550 | margin-top:43px!important; 2551 | position:fixed; 2552 | } 2553 | div[style='width: 100%; height: 450px; float: left;'] { 2554 | border-left:0!important; 2555 | border-right:0!important; 2556 | height:100%!important; 2557 | margin:0 auto; 2558 | margin-top: 20px !important; 2559 | width:100%!important; 2560 | } 2561 | div[style='width: 100%; height: 450px; float: left;']>table { 2562 | height:100%!important; 2563 | padding-bottom:20px; 2564 | margin-left: 20px !important; 2565 | width: 97% !important; 2566 | margin-top: 20px !important; 2567 | } 2568 | div[style='width: 100%; height: 450px; float: left;']>table td { 2569 | border-left:1px solid " + $SS.theme.brderColor.hex + "!important; 2570 | height:600px!important; 2571 | } 2572 | div[style='width: 100%; height: 450px; float: left;']>table td:first-child { 2573 | border-left:0!important; 2574 | } 2575 | div[style='width: 100%; height: 450px; float: left;']>table input[type=button] { 2576 | width:100px!important; 2577 | } 2578 | div[style='width: 100%; height: 450px; float: left;']>table table td { 2579 | border:0!important; 2580 | height:auto!important; 2581 | } 2582 | div[style='width: 100%; height: 450px; float: left;']>table table td b[style] { 2583 | background-color:" + $SS.theme.mainColor.hex + "!important; 2584 | } 2585 | div[style='width: 100%; height: 450px; float: left;']>table table, 2586 | div[style='width: 100%; height: 450px; float: left;']>table #fs_search { 2587 | width:100%!important; 2588 | } 2589 | #fs_data tr:first-child td { 2590 | border-top:0!important; 2591 | } 2592 | #fs_status { 2593 | background-color: transparent !important; 2594 | } 2595 | a[href='.././']:hover 2596 | { 2597 | opacity:1; 2598 | } 2599 | #fs_data tr:first-child td 2600 | { 2601 | border-top:0!important; 2602 | } 2603 | .settingsWindowLinkBot, .exlinksOptionsLink { 2604 | position: static !important; 2605 | display: inline-block !important; 2606 | float: " + $SS.conf["Sidebar Position oString"] + " !important; 2607 | } 2608 | .exlinksOptionsLink { 2609 | height: 15px; 2610 | width: 15px; 2611 | opacity: 0.6; 2612 | } 2613 | .exlinksOptionsLink:hover { 2614 | opacity: 1; 2615 | } 2616 | #playerDiv { 2617 | padding:2px; 2618 | } 2619 | #playerStyleSettingsButton { 2620 | left:2px!important; 2621 | } 2622 | #playerClose { 2623 | right:2px!important; 2624 | } 2625 | 2626 | #selectImage 2627 | { 2628 | height:22px; 2629 | line-height:22px; 2630 | overflow:hidden; 2631 | position:relative; 2632 | } 2633 | #selectImage input[type=file] 2634 | { 2635 | cursor:pointer!important; 2636 | position:absolute; 2637 | top:0; 2638 | left:0; 2639 | z-index:1; 2640 | opacity:0; 2641 | width:auto!important; 2642 | -webkit-transform:scale(20) translateX(-30%); 2643 | -moz-transform:scale(20) translateX(-30%); 2644 | -o-transform:scale(20) translateX(-30%); 2645 | } 2646 | ul#Alerts, 2647 | ul#Alerts a:hover 2648 | { 2649 | color:#222!important; 2650 | } 2651 | a[href='.././'] 2652 | { 2653 | width: 15px !important; 2654 | height: 15px !important; 2655 | float: left; 2656 | z-index:15; 2657 | color: transparent !important; 2658 | font-size: 0px !important; 2659 | opacity: .6; 2660 | } 2661 | #header-bar a.current 2662 | { 2663 | font-weight: bold !important; 2664 | } 2665 | #full-board-list { 2666 | font-size: 0px !important; 2667 | } 2668 | #full-board-list a:not(.current) { 2669 | font-size: 12px !important; 2670 | } 2671 | #full-board-list .fourchanx-link::after, 2672 | #full-board-list .fourchanx-link::before { 2673 | font-size: 12px !important; 2674 | } 2675 | #full-board-list a { 2676 | margin-right: 2px; 2677 | } 2678 | #qr 2679 | { 2680 | height:auto!important; 2681 | margin:0 0 0px!important; 2682 | padding:0px 2px !important; 2683 | position:fixed!important; 2684 | " + ($SS.conf["Post Form"] !== 4 ? " 2685 | bottom:0!important; 2686 | border-top:1px solid " + $SS.theme.brderColor.hex + "!important; 2687 | top:auto!important; 2688 | overflow:visible!important; 2689 | " + ($SS.conf["Sidebar Position"] === 3 ? " 2690 | border-right:1px solid " + $SS.theme.mainColor.hex + " !important; 2691 | border-bottom:1px solid " + $SS.theme.mainColor.hex + " !important; 2692 | z-index:11!important; 2693 | width:261px!important;" : " 2694 | max-width:261px!important; 2695 | min-width:261px!important; 2696 | z-index:5!important; 2697 | width:261px!important;") + " 2698 | } 2699 | #qr>.move>label { 2700 | cursor: text !important; 2701 | } 2702 | .bottom:not(.autohide) #qr { 2703 | bottom:23px !important; 2704 | } 2705 | 2706 | 2707 | #qr.autohide 2708 | { 2709 | " + ($SS.conf["Post Form"] === 1 ? " 2710 | bottom:-248px!important; 2711 | -webkit-transition:bottom .2s ease-in-out 1s; 2712 | -moz-transition:bottom .2s ease-in-out 1s; 2713 | -o-transition:bottom .2s ease-in-out 1s;" : ($SS.conf["Post Form"] === 2 ? " 2714 | opacity:.2; 2715 | -webkit-transition:opacity .2s ease-in-out 1s; 2716 | -moz-transition:opacity .2s ease-in-out 1s; 2717 | -o-transition:opacity .2s ease-in-out 1s;" : "")) + " 2718 | } 2719 | " + ($SS.conf["Post Form"] === 1 ? " 2720 | .bottom:not(.autohide) #qr.autohide { 2721 | bottom:-225px !important; 2722 | } 2723 | " : "") + " 2724 | #qr:hover, 2725 | #qr.focus 2726 | { 2727 | bottom:0!important; 2728 | " + ($SS.conf["Post Form"] === 1 ? " 2729 | -webkit-transition:bottom .2s ease-in-out; 2730 | -moz-transition:bottom .2s ease-in-out; 2731 | -o-transition:bottom .2s ease-in-out;" : ($SS.conf["Post Form"] === 2 ? " 2732 | opacity:1!important; 2733 | -webkit-transition:opacity .2s ease-in-out; 2734 | -moz-transition:opacity .2s ease-in-out; 2735 | -o-transition:opacity .2s ease-in-out;" : "")) + " 2736 | } 2737 | .bottom:not(.autohide) #qr:hover, .bottom:not(.autohide) #qr:focus { 2738 | bottom:23px !important; 2739 | } 2740 | #qr.autohide>form 2741 | { 2742 | display:block!important; 2743 | }" : " 2744 | " + ($SS.conf["Post Form"] !== 4 ? "width:263px!important; 2745 | margin-bottom:19px!important; 2746 | " : "min-width:261px!important; 2747 | padding-bottom: 2px !important;") + " 2748 | z-index:11!important; 2749 | } 2750 | #qr .move 2751 | { 2752 | margin-bottom:1px!important; 2753 | } 2754 | #qr.autohide:not(:hover):not(.focus) 2755 | { 2756 | padding:0 3px!important; 2757 | } 2758 | #qr.focus>form 2759 | { 2760 | display:block!important; 2761 | }") + " 2762 | " + ($SS.conf["Post Form"] === 1 ? " 2763 | #delform[action='https://sys.4chan.org/f/up.php'] ~ #qr 2764 | { 2765 | bottom: 0px !important; 2766 | } 2767 | " : "") + " 2768 | #qr>form>.captcha-img>img 2769 | { 2770 | width:100%; 2771 | } 2772 | .captcha-img { 2773 | min-width: 0px !important; 2774 | min-height: 0px !important; 2775 | border: none !important; 2776 | margin-bottom: 0px !important; 2777 | } 2778 | .captcha-input { 2779 | margin-top: 1px !important; 2780 | } 2781 | #qr>form .field:not(textarea) 2782 | { 2783 | margin-bottom:1px !important; 2784 | } 2785 | #qr textarea 2786 | { 2787 | min-height:127px !important; 2788 | position:relative; 2789 | " + $SS.conf["Sidebar Position String"] + ":0px !important; 2790 | " + ($SS.conf["Post Form"] !== 4 ? "resize:none;" : "") + " 2791 | width:255px; 2792 | z-index:1; 2793 | min-width: 255px !important; 2794 | max-width: 255px !important; 2795 | margin-bottom: 0px !important; 2796 | } 2797 | #qr-filename-container { 2798 | margin-top: 0px !important; 2799 | height: 24px !important; 2800 | } 2801 | #qr>.move 2802 | { 2803 | line-height:18px!important; 2804 | min-width:0!important; 2805 | padding:2px 0 0 3px!important; 2806 | padding-top: 4px !important; 2807 | text-align:left!important; 2808 | } 2809 | #qr>.move select, #qr>.move .riceCheck, #qr>.move span 2810 | { 2811 | text-transform:none; 2812 | } 2813 | #qr>.move select 2814 | { 2815 | height:19px!important; 2816 | margin-top: -2px; 2817 | margin-bottom: 1px; 2818 | } 2819 | #qr>form>div 2820 | { 2821 | position:relative; 2822 | } 2823 | #qr>form>.captcha-img>img, 2824 | #qr>form input[type=submit] 2825 | { 2826 | margin-top:0!important; 2827 | } 2828 | #qr>form>div:first-child 2829 | { 2830 | position:relative; 2831 | } 2832 | #dump-button { 2833 | width: 10.4% !important; 2834 | } 2835 | .persona .field 2836 | { 2837 | float:left; 2838 | height:22px; 2839 | padding:3px 4px!important; 2840 | } 2841 | #qr>form>div:first-child+div, 2842 | #qr>form>div#replies+div, 2843 | #qr>form>.captcha-img 2844 | { 2845 | clear:both; 2846 | } 2847 | #qr>form>.captcha-img 2848 | { 2849 | " + ($SS.conf["Post Form"] !== 4 ? "background: none !important;" : "") + " 2850 | outline:none!important; 2851 | } 2852 | #qr>form>.captcha-img+div 2853 | { 2854 | float:left; 2855 | margin-right:1px; 2856 | position:relative; 2857 | z-index:1; 2858 | " + ($SS.conf["Post Form"] !== 4 ? "" : "width: 69% !important;") + " 2859 | } 2860 | #qr>form>.captcha-img+div input 2861 | { 2862 | height:22px; 2863 | " + ($SS.conf["Post Form"] !== 4 ? "width:189px!important;" : "") + " 2864 | } 2865 | #addReply 2866 | { 2867 | font-size:3.5em!important; 2868 | } 2869 | #qr .warning 2870 | { 2871 | z-index: 2 !important; 2872 | padding: 1px 2px; 2873 | text-align:center; 2874 | } 2875 | " + ($SS.conf["Post Form"] !== 4 ? " 2876 | #qr:not(.has-captcha) textarea 2877 | { 2878 | height: 174px !important; 2879 | }" : "") + " 2880 | #menu, 2881 | .subMenu 2882 | { 2883 | border:1px solid " + $SS.theme.brderColor.hex + "!important; 2884 | } 2885 | .hasSubMenu:after 2886 | { 2887 | font-size:12px!important; 2888 | } 2889 | #menu .focused.entry 2890 | { 2891 | background:rgba(" + $SS.theme.mainColor.shiftRGB(16, true) + ", .5)!important; 2892 | } 2893 | .entry { 2894 | border: none !important; 2895 | } 2896 | input[name=name].tripping:not(:hover):not(:focus) 2897 | { 2898 | color:transparent!important; 2899 | } 2900 | a.useremail" + ($SS.conf["Sage Identification"] === 2 ? ":not([href='mailto:sage'])" : "") + ":last-of-type::after 2901 | { 2902 | vertical-align:middle; 2903 | } 2904 | form[name=delform][action$='/f/up.php'] 2905 | { 2906 | border:1px solid " + $SS.theme.brderColor.hex + "!important; 2907 | " + ($SS.conf["Sidebar Position"] !== 3 ? " 2908 | margin-" + $SS.conf["Sidebar Position String"] + ": 261px !important; 2909 | margin-" + $SS.conf["Sidebar Position oString"] + ": " + ($SS.conf["Non-Sidebar Margin"] !== 999 ? ""+ $SS.conf["Non-Sidebar Margin"] + "" : "" + $SS.conf["Non-Sidebar Custom Margin"] + "") + " !important; 2910 | " : " 2911 | margin: 0px 5% !important;") + " 2912 | border-radius:3px!important; 2913 | } 2914 | form[name=delform][action$='/f/up.php']>center 2915 | { 2916 | background:rgba(" + $SS.theme.mainColor.rgb + ", .9)!important; 2917 | display:block!important; 2918 | border-radius:3px!important; 2919 | } 2920 | form[name=delform][action$='/f/up.php']>center>table 2921 | { 2922 | width:100%!important; 2923 | } 2924 | form[name=delform][action$='/f/up.php'] tr 2925 | { 2926 | display:table-row!important; 2927 | } 2928 | .ys_playerContainer 2929 | { 2930 | position:fixed!important; 2931 | bottom:262px!important; 2932 | margin:0!important; 2933 | width:262px!important; 2934 | " + $SS.conf["Sidebar Position String"] + ":0!important; 2935 | z-index:3!important; 2936 | } 2937 | .ys_playerContainer audio 2938 | { 2939 | width:100%!important; 2940 | } 2941 | pre.prettyprint 2942 | { 2943 | background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.2) !important; 2944 | border: 1px solid rgb(204, 204, 204) !important; 2945 | vertical-align:middle; 2946 | } 2947 | span.pun { 2948 | color:rgba(" + $SS.theme.textColor.rgb + ",.4)!important; 2949 | } 2950 | div.post > blockquote .prettyprint span 2951 | { 2952 | font-family:monospace!important; 2953 | font-size:medium!important; 2954 | } 2955 | .prettyprint .pln 2956 | { 2957 | color:" + $SS.theme.textColor.hex + "; 2958 | } 2959 | .hide-reply-button span, .hide-thread-button span { 2960 | font-size: 0px !important; 2961 | } 2962 | .hide-reply-button span::after, .hide-thread-button:not(.hidden_thread) span::after { 2963 | content: " + ($SS.conf["Hide Button Content"].indexOf("http") === 0 ? "url(" + $SS.conf["Hide Button Content"] + ")" : "'" + $SS.conf["Hide Button Content"] + "'") + "; 2964 | font-size: 12px !important; 2965 | } 2966 | .reply { 2967 | padding-top: 0px !important; 2968 | padding-left: 0px !important; 2969 | } 2970 | .replyContainer>.reply>div.postInfo { 2971 | padding: 2px 0px 1px 12px !important; 2972 | marigin-top: -1px !important; 2973 | } 2974 | div.post div.postInfo { 2975 | width: 100% !important; 2976 | display: block !important; 2977 | } 2978 | " + ($SS.conf["Use Post Info Color"] ? " 2979 | .replyContainer>.reply>div.postInfo { 2980 | background: rgba(" + $SS.theme.pinfoColor.rgb + "," + $SS.theme.replyOp + ")!important; 2981 | border-bottom: 1px solid " + $SS.theme.pinfobColor.hex + " !important; 2982 | } 2983 | " + ($SS.conf["Use Post Info Color"] && $SS.conf["Add Shadow?"] ? " 2984 | .replyContainer>.reply>div.postInfo { 2985 | box-shadow: 0px 2px 3px " + ($SS.theme.bgColor.isLight ? "#999" : "#111") + " !important; 2986 | margin-bottom: 3px !important; 2987 | }" : "") + " 2988 | " : " 2989 | .reply { 2990 | padding-top: 2px !important; 2991 | } 2992 | ") + " 2993 | .capcodeAdmin>span.name, .capcodeAdmin>strong.capcode { 2994 | color: red !important; 2995 | } 2996 | .capcodeMod>span.name, .capcodeMod>strong.capcode { 2997 | color: purple !important; 2998 | } 2999 | " + (!$SS.theme.bgColor.isLight ? " 3000 | pre.prettyprint 3001 | { 3002 | background: none repeat scroll 0% 0% rgba(0, 0, 0, 0.2) !important; 3003 | border: 1px solid rgba(204, 204, 204,.1) !important; 3004 | } 3005 | " : "") + " 3006 | /* Icons */ 3007 | .expand-all-shortcut { 3008 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.imgExpand+"\")!important; 3009 | } 3010 | .contract-all-shortcut { 3011 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.imgContract+"\")!important; 3012 | } 3013 | #OneeChanLink 3014 | { 3015 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.OneeChan+"\")!important; 3016 | } 3017 | .settings-link 3018 | { 3019 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons._4chanX+"\")!important; 3020 | } 3021 | .favicon 3022 | { 3023 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.heart+"\")!important; 3024 | } 3025 | .menu-button 3026 | { 3027 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.menuButtonTop+"\")!important; 3028 | } 3029 | .bottom #header-bar .menu-button 3030 | { 3031 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.menuButtonBot+"\")!important; 3032 | } 3033 | .backlink { 3034 | background-image: url(\"data:image/svg+xml,"+$SS.theme.icons.backlink+"\")!important; 3035 | } 3036 | /* Last.mu */ 3037 | #delform div.reply.lastmuInfo 3038 | { 3039 | background: none !important; 3040 | border: none !important; 3041 | padding: 0px !important; 3042 | padding-top: 0px !important; 3043 | padding-left: 0px !important; 3044 | } 3045 | div.reply.lastmuInfo p { 3046 | display: inline-block !important; 3047 | } 3048 | #lastmuSettingsWindowLink 3049 | { 3050 | display: block !important; 3051 | font-size: 0px !important; 3052 | color: transparent !important; 3053 | background-repeat: no-repeat !important; 3054 | height: 12px !important; 3055 | width: 18px !important; 3056 | float: " + $SS.conf["Sidebar Position oString"] + " !important; 3057 | opacity: 0." + ($SS.theme.bgColor.isLight ? 6 : 6) + " !important; 3058 | font-size: 0px !important; 3059 | } 3060 | #lastmuSettingsWindowLink:hover 3061 | { 3062 | opacity: 1.0 !important; 3063 | } 3064 | .opContainer.filter_highlight, 3065 | #delform .filter_highlight>div.reply 3066 | { 3067 | box-shadow:inset 5px 0 rgba(" + $SS.theme.sageColor.rgb + ",.5)!important; 3068 | } 3069 | .opContainer.filter_highlight { 3070 | padding-left: 5px !important; 3071 | } 3072 | " + ($SS.conf["Pages Position"] === 3 ? " 3073 | .mPagelist.mobile 3074 | { 3075 | z-index: 5 !important; 3076 | } 3077 | .pages:not(.cataloglink) 3078 | { 3079 | bottom:auto!important; 3080 | left:auto!important; 3081 | margin:0!important; 3082 | opacity:.75; 3083 | padding:0!important; 3084 | position:fixed; 3085 | right:" + ($SS.conf["Page Layout"] === 3 ? (Math.min($SS.conf["Non-Sidebar Margin"], 40) / 2 * ($SS.conf["Non-Sidebar Margin"] < 10 ? 3 : 1)) + "%" : ($SS.conf["Sidebar Position"] === 3 ? "25" : "263")) + "px !important; 3086 | top:47%; 3087 | width:auto!important; 3088 | z-index:6!important; 3089 | -webkit-transform:rotate(90deg); 3090 | -webkit-transform-origin:bottom right; 3091 | -moz-transform:rotate(90deg); 3092 | -moz-transform-origin:bottom right; 3093 | -o-transform:rotate(90deg); 3094 | -o-transform-origin:bottom right; 3095 | } 3096 | 3097 | " : "") + 3098 | ($SS.conf["Expanding Form Inputs"] ? " 3099 | .field:focus::-webkit-input-placeholder 3100 | { 3101 | color:transparent!important; 3102 | } 3103 | .field:focus:-moz-placeholder 3104 | { 3105 | color:transparent!important; 3106 | } 3107 | .field:focus::-moz-placeholder 3108 | { 3109 | color:transparent!important; 3110 | } 3111 | .persona .field:focus 3112 | { 3113 | background:rgba(" + $SS.theme.inputColor.hover + ",.98)!important; 3114 | left:0px!important; 3115 | position:absolute; 3116 | width:255px!important; 3117 | min-width: 255px !important; 3118 | max-width: 255px !important; 3119 | } 3120 | 3121 | .persona .field:focus 3122 | { 3123 | -webkit-transition:box-shadow .2s,width .2s ease-in-out,max-width .2s ease-in-out,min-width .2s ease-in-out!important; 3124 | -moz-transition:box-shadow .2s,width .2s ease-in-out,max-width .2s ease-in-out,min-width .2s ease-in-out!important; 3125 | -o-transition:box-shadow .2s,width .2s ease-in-out,max-width .2s ease-in-out,min-width .2s ease-in-out!important; 3126 | 3127 | } 3128 | 3129 | #qr.has-captcha #replies+div 3130 | { 3131 | height:128px!important; 3132 | } 3133 | #qr:not(.has-captcha) #replies+div { 3134 | height: 175px !important; 3135 | } 3136 | #qr textarea:focus 3137 | { 3138 | width:415px!important; 3139 | min-width: 415px !important; 3140 | max-width: 415px !important; 3141 | " + ($SS.conf["Sidebar Position"] === 1 ?" 3142 | " + $SS.conf["Sidebar Position String"] + ": 160px!important;" : "") + " 3143 | -webkit-transition:background .2s,box-shadow .2s,width .2s ease-in-out,min-width .2s ease-in-out, max-width .2s ease-in-out, 3144 | " + $SS.conf["Sidebar Position String"] + " .2s ease-in-out!important; 3145 | -moz-transition:background .2s,box-shadow .2s,width .2s ease-in-out,min-width .2s ease-in-out, max-width .2s ease-in-out, 3146 | " + $SS.conf["Sidebar Position String"] + " .2s ease-in-out!important; 3147 | -o-transition:background .2s,box-shadow .2s,width .2s ease-in-out,min-width .2s ease-in-out, max-width .2s ease-in-out, 3148 | " + $SS.conf["Sidebar Position String"] + " .2s ease-in-out!important; 3149 | }" : "") + 3150 | (!$SS.conf["Show Logo"] ? " 3151 | .boardBanner img 3152 | { 3153 | display: none !important; 3154 | }" : "") + 3155 | ($SS.conf["Style Scrollbars"] ? "::-webkit-scrollbar 3156 | { 3157 | width:8px; 3158 | height:8px; 3159 | } 3160 | ::-webkit-scrollbar-track-piece, 3161 | ::-webkit-scrollbar-track 3162 | { 3163 | background:" + $SS.theme.brderColor.hex + "; 3164 | } 3165 | ::-webkit-scrollbar-corner, 3166 | ::-webkit-scrollbar-resizer 3167 | { 3168 | background:" + $SS.theme.brderColor.hex + "; 3169 | } 3170 | ::-webkit-scrollbar-thumb 3171 | { 3172 | background:rgb(" + $SS.theme.brderColor.shiftRGB(32, true) + "); 3173 | border:2px solid " + $SS.theme.brderColor.hex + "; 3174 | border-radius:5px; 3175 | } 3176 | ::-webkit-scrollbar-thumb:hover, 3177 | ::-webkit-scrollbar-thumb:active 3178 | { 3179 | background:rgb(" + $SS.theme.brderColor.shiftRGB(64, true) + "); 3180 | } 3181 | .reply ::-webkit-scrollbar-track, 3182 | .reply ::-webkit-scrollbar-track-piece 3183 | { 3184 | border-radius:5px; 3185 | } 3186 | ": "") + 3187 | ($SS.location.sub === "sys" ? " 3188 | body 3189 | { 3190 | margin:0!important; 3191 | padding:0!important; 3192 | } 3193 | body>form[method='POST'] 3194 | { 3195 | background:rgba(" + $SS.theme.mainColor.rgb + ",.9); 3196 | margin:5px auto; 3197 | max-width:625px!important; 3198 | padding:5px; 3199 | border-radius:5px; 3200 | } 3201 | body>form[action='']>table 3202 | { 3203 | display:table!important; 3204 | } 3205 | body>form[action='']>table fieldset 3206 | { 3207 | text-align:left!important; 3208 | } 3209 | body>form[action=''], 3210 | body>form[action='']>table fieldset, 3211 | body>form[action='']>table #recaptcha_response_field 3212 | { 3213 | border:1px solid " + $SS.theme.brderColor.hex + "!important; 3214 | } 3215 | body>form[action='']>table, 3216 | body>form[action='']>table td[width]+td 3217 | { 3218 | text-align:center; 3219 | } 3220 | body>form[action='']~.rules 3221 | { 3222 | display:block!important; 3223 | margin:0 auto; 3224 | } 3225 | body>form[action='']>table td[width='240px'] 3226 | { 3227 | display:none!important; 3228 | } 3229 | " : "") + $SS.theme.customCSS + " 3230 | -------------------------------------------------------------------------------- /src/style.js: -------------------------------------------------------------------------------- 1 | <%= grunt.file.read('src/css/Original.css') %> 2 | <%= grunt.file.read('src/css/Fonts.css') %> 3 | <%= grunt.file.read('src/css/Cleanup.css') %> 4 | <%= grunt.file.read('src/css/Colors.css') %> 5 | <%= grunt.file.read('src/css/Options.css') %> 6 | <%= grunt.file.read('src/css/General.css') %> 7 | <%= grunt.file.read('src/css/Icons.css') %> 8 | " + ($SS.conf["Sidebar Position"] !== 3 ? "<%= grunt.file.read('src/css/Sidebar.css') %>" : "") + " 9 | " + $SS.theme.customCSS + " --------------------------------------------------------------------------------