Merge pull request #4129 from neovatar/master

13th Age neovatar: Fixes to CSS and HTML to display correctly with Roll20 base CSS changes
This commit is contained in:
Cassie Levett
2018-09-04 08:26:46 -05:00
committed by GitHub
11 changed files with 323 additions and 9071 deletions
+129 -9
View File
@@ -1,4 +1,4 @@
/* version: 1.8.0 */
/* version: 1.8.1 */
.sheet-13thAge {
padding-top: 10px;
@@ -41,11 +41,11 @@
}
.sheet-caps {
font-size: 1.6em;
font-size: 16px;
font-variant: small-caps;
background-color: rgba(0,0,0,0.7);
width: calc(100% - 30px);
padding-bottom: 3px;
padding-bottom: 2px;
padding-top: 2px;
float: left;
}
@@ -53,10 +53,10 @@
.sheet-brush {
background: url("https://neovatar.github.io/roll20-character-sheets/13th_Age-neovatar/img/bgh4.png");
width: 15px;
height: 1.6em;
height: 26px;
float: left;
padding-bottom: 2px;
padding-top: 2px;
padding-bottom: 0px;
padding-top: 0px;
}
.sheet-l1 {
@@ -431,6 +431,46 @@ textarea.sheet-textarea-desc {
/* roll templates */
.sheet-rolltemplate-13thage_generic .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_generic .sheet-rt-table td,
.sheet-rolltemplate-13thage_generic .sheet-rt-table th {
padding: 5px;
border: none;
}
.sheet-rolltemplate-13thage_power .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_power .sheet-rt-table td,
.sheet-rolltemplate-13thage_power .sheet-rt-table th {
padding: 5px;
border: none;
}
.sheet-rolltemplate-13thage_background .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_background .sheet-rt-table td,
.sheet-rolltemplate-13thage_background .sheet-rt-table th {
padding: 5px;
border: none;
}
.sheet-rolltemplate-13thage_block .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_block .sheet-rt-table td,
.sheet-rolltemplate-13thage_block .sheet-rt-table th {
padding: 5px;
border: none;
}
/* generic template */
.sheet-rolltemplate-13thage_generic table {
width:100%;
@@ -445,6 +485,7 @@ textarea.sheet-textarea-desc {
overflow: hidden;
}
.sheet-rolltemplate-13thage_generic .sheet-header {
background-color:#000;
margin: 2px 25px 2px 25px;
@@ -462,9 +503,12 @@ textarea.sheet-textarea-desc {
}
.sheet-rolltemplate-13thage_generic td {
padding:5px;line-height:1.4em;
padding:5px;
line-height:1.4em;
vertical-align:top;
text-align:right
text-align:right;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_generic tr:nth-child(odd) {
background-color:#D3D3D3;
@@ -472,7 +516,9 @@ textarea.sheet-textarea-desc {
.sheet-rolltemplate-13thage_generic td:nth-child(odd) {
text-align:left;
font-weight:bold
font-weight:bold;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_generic .inlinerollresult {
@@ -496,6 +542,80 @@ textarea.sheet-textarea-desc {
background-color: #4A57ED;
}
/* background template */
.sheet-rolltemplate-13thage_background table {
width:100%;
background-color:white;
border:2px solid #000;
border-spacing: 0;
border-collapse: separate;
border-radius: 5px;
-moz-box-shadow: 2px 2px 5px #000;
-webkit-box-shadow: 2px 2px 5px #000;
box-shadow:2px 2px 5px #000;
overflow: hidden;
}
.sheet-rolltemplate-13thage_background .sheet-header {
background-color:#000;
margin: 2px 25px 2px 25px;
border: 1px solid #000;
color:white;
font-family:"Helvetica Neue",Helvetica,sans-serif;
font-size:1em;
font-weight:bold;
text-align: center;
}
.sheet-rolltemplate-13thage_background .sheet-header a{
color:white;
text-decoration: underline;
}
.sheet-rolltemplate-13thage_background td {
padding:5px;
line-height:1.4em;
vertical-align:top;
text-align:right;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_background tr:nth-child(odd) {
background-color:#D3D3D3;
}
.sheet-rolltemplate-13thage_background td:nth-child(odd) {
text-align:left;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_background .sheet-bold {
font-weight:bold;
}
.sheet-rolltemplate-13thage_background .inlinerollresult {
color: white;
background-color: black;
border-color:black;
}
.sheet-rolltemplate-13thage_background .inlinerollresult.fullcrit {
color: white;
background-color: #3FB315
}
.sheet-rolltemplate-13thage_background .inlinerollresult.fullfail {
color: white;
background-color: #B31515
}
.sheet-rolltemplate-13thage_background .inlinerollresult.importantroll {
color: white;
background-color: #4A57ED;
}
/* power template */
.sheet-rolltemplate-13thage_power table {
width:100%;
+29 -6
View File
@@ -1,4 +1,4 @@
<!-- version: 1.8.0 -->
<!-- version: 1.8.1 -->
<div style="display:none;">
<b style="color:red;font-size:150%;">Attention: </b>
@@ -653,7 +653,7 @@
<input style="width:100%;" class="sheet-center" title="@{repeating_background_X_points}" name="attr_points" value="number" type="number" />
</span>
<span style="width:15%" class="sheet-table-data sheet-center">
<button title="Roll background check" class="sheet-round-button" type="roll" value="&{template:13thage_generic} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=Skill check}} {{Background=@{desc}}} ?{Attribute| Strength , &#38;#123;&#38;#123;Attribute=Strength&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{STR-mod}+@{points}]]]]&#38;#125;&#38;#125; | Constitution , &#38;#123;&#38;#123;Attribute=Constitution&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CON-mod}+@{points}]]]]&#38;#125;&#38;#125; | Dexterity , &#38;#123;&#38;#123;Attribute=Dexterity&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{DEX-mod}+@{points}]]]]&#38;#125;&#38;#125; | Intelligence , &#38;#123;&#38;#123;Attribute=Intelligence&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{INT-mod}+@{points}]]]]&#38;#125;&#38;#125; | Wisdom , &#38;#123;&#38;#123;Attribute=Wisdom&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{WIS-mod}+@{points}]]]]&#38;#125;&#38;#125; | Charisma , &#38;#123;&#38;#123;Attribute=Charisma&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CHA-mod}+@{points}]]]]&#38;#125;&#38;#125;}"></button>
<button title="Roll background check" class="sheet-round-button" type="roll" value="&{template:13thage_background} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=Background}} {{background=@{desc}}} ?{Attribute| Strength , &#38;#123;&#38;#123;Attribute=Strength&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{STR-mod}+@{points}]]]]&#38;#125;&#38;#125; | Constitution , &#38;#123;&#38;#123;Attribute=Constitution&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CON-mod}+@{points}]]]]&#38;#125;&#38;#125; | Dexterity , &#38;#123;&#38;#123;Attribute=Dexterity&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{DEX-mod}+@{points}]]]]&#38;#125;&#38;#125; | Intelligence , &#38;#123;&#38;#123;Attribute=Intelligence&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{INT-mod}+@{points}]]]]&#38;#125;&#38;#125; | Wisdom , &#38;#123;&#38;#123;Attribute=Wisdom&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{WIS-mod}+@{points}]]]]&#38;#125;&#38;#125; | Charisma , &#38;#123;&#38;#123;Attribute=Charisma&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CHA-mod}+@{points}]]]]&#38;#125;&#38;#125;}"></button>
</span>
</div>
</div>
@@ -975,13 +975,13 @@
</div>
</div>
</div>
<div style="font-size:8px" class="sheet-right"><br>Sheet Version: 1.8.0</div>
<div style="font-size:8px" class="sheet-right"><br>Sheet Version: 1.8.1</div>
</div>
<!-- roll templates -->
<!-- generic roll template -->
<rolltemplate class="sheet-rolltemplate-13thage_generic">
<table>
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
@@ -999,9 +999,32 @@
</table>
</rolltemplate>
<!-- background roll template -->
<rolltemplate class="sheet-rolltemplate-13thage_background">
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
{{^character_id}}{{character_name}}{{/character_id}}
{{#name}}:{{/name}}
{{/character_name}}
{{#name}}
{{#name_link}}[{{name}}]({{name_link}}){{/name_link}}
{{^name_link}}{{name}}{{/name_link}}
{{/name}}
</td></tr>
{{#background}}
<tr><td colspan="2">{{background}}</td></tr>
{{/background}}
{{#allprops() character_name character_id name_link background}}
<tr><td class="sheet-bold">{{key}}</td><td>{{value}}</td></tr>
{{/allprops() character_name character_id name_link background}}
</table>
</rolltemplate>
<!-- power roll template -->
<rolltemplate class="sheet-rolltemplate-13thage_power">
<table>
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
@@ -1027,7 +1050,7 @@
<!-- block text roll templates -->
<rolltemplate class="sheet-rolltemplate-13thage_block">
<table>
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
+1 -1
View File
@@ -16,7 +16,7 @@ module.exports = function(grunt) {
files: [
{src: 'src/index.html', dest: 'testbed/index.html'},
{src: 'src/13th_Age-neovatar.css', dest: 'testbed/13th_Age-neovatar.css'},
{src: 'src/editor.css', dest: 'testbed/editor.css'},
{src: 'src/app.css', dest: 'testbed/app.css'},
{src: 'src/base.css', dest: 'testbed/base.css'},
]
},
+3
View File
@@ -49,6 +49,9 @@ This will create `13th_Age-neovatar.[css|html]` that you can copy and paste into
### Changelog
**1.8.1:**
* CSS fixes for upstream Roll20 changes
**1.8.0:**
* Added @tier_dmg_mult attribute, calculated by helper
* Use tier ability damage bonus multiplier in basic attacks
+2 -2
View File
@@ -1,7 +1,7 @@
{
"title": "13th Age Roll 20 Character Sheet - neovatar edition",
"version": "1.8.0",
"name": "roll20-13th_Age-neovatar",
"version": "1.8.1",
"name": "roll20-13th_age-neovatar",
"author": {
"name": "Thomas Seliger"
},
+1 -1
View File
@@ -4,5 +4,5 @@
"authors": "Thomas Seliger (neovatar)",
"roll20userid": "388327",
"preview": "13th_Age-neovatar.jpg",
"instructions": "New edition of a 13th Age character sheet with some automation.\n\nVersion: 1.8.0\n\nIf you find bugs or have suggestions, please use the [Github issue tracker](https://github.com/neovatar/roll20-character-sheets/issues) for this sheet.\n\nFor changes in this version, please check the [CHANGELOG](https://github.com/Roll20/roll20-character-sheets/blob/master/13th_Age-neovatar/README.md#changelog) on Roll20.net Github repository."
"instructions": "New edition of a 13th Age character sheet with some automation.\n\nVersion: 1.8.1\n\nIf you find bugs or have suggestions, please use the [Github issue tracker](https://github.com/neovatar/roll20-character-sheets/issues) for this sheet.\n\nFor changes in this version, please check the [CHANGELOG](https://github.com/Roll20/roll20-character-sheets/blob/master/13th_Age-neovatar/README.md#changelog) on Roll20.net Github repository."
}
+128 -8
View File
@@ -41,11 +41,11 @@
}
.sheet-caps {
font-size: 1.6em;
font-size: 16px;
font-variant: small-caps;
background-color: rgba(0,0,0,0.7);
width: calc(100% - 30px);
padding-bottom: 3px;
padding-bottom: 2px;
padding-top: 2px;
float: left;
}
@@ -53,10 +53,10 @@
.sheet-brush {
background: url("@@img_prefix/bgh4.png");
width: 15px;
height: 1.6em;
height: 26px;
float: left;
padding-bottom: 2px;
padding-top: 2px;
padding-bottom: 0px;
padding-top: 0px;
}
.sheet-l1 {
@@ -431,6 +431,46 @@ textarea.sheet-textarea-desc {
/* roll templates */
.sheet-rolltemplate-13thage_generic .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_generic .sheet-rt-table td,
.sheet-rolltemplate-13thage_generic .sheet-rt-table th {
padding: 5px;
border: none;
}
.sheet-rolltemplate-13thage_power .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_power .sheet-rt-table td,
.sheet-rolltemplate-13thage_power .sheet-rt-table th {
padding: 5px;
border: none;
}
.sheet-rolltemplate-13thage_background .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_background .sheet-rt-table td,
.sheet-rolltemplate-13thage_background .sheet-rt-table th {
padding: 5px;
border: none;
}
.sheet-rolltemplate-13thage_block .sheet-rt-table {
margin: 0;
border: none;
}
.sheet-rolltemplate-13thage_block .sheet-rt-table td,
.sheet-rolltemplate-13thage_block .sheet-rt-table th {
padding: 5px;
border: none;
}
/* generic template */
.sheet-rolltemplate-13thage_generic table {
width:100%;
@@ -445,6 +485,7 @@ textarea.sheet-textarea-desc {
overflow: hidden;
}
.sheet-rolltemplate-13thage_generic .sheet-header {
background-color:#000;
margin: 2px 25px 2px 25px;
@@ -462,9 +503,12 @@ textarea.sheet-textarea-desc {
}
.sheet-rolltemplate-13thage_generic td {
padding:5px;line-height:1.4em;
padding:5px;
line-height:1.4em;
vertical-align:top;
text-align:right
text-align:right;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_generic tr:nth-child(odd) {
background-color:#D3D3D3;
@@ -472,7 +516,9 @@ textarea.sheet-textarea-desc {
.sheet-rolltemplate-13thage_generic td:nth-child(odd) {
text-align:left;
font-weight:bold
font-weight:bold;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_generic .inlinerollresult {
@@ -496,6 +542,80 @@ textarea.sheet-textarea-desc {
background-color: #4A57ED;
}
/* background template */
.sheet-rolltemplate-13thage_background table {
width:100%;
background-color:white;
border:2px solid #000;
border-spacing: 0;
border-collapse: separate;
border-radius: 5px;
-moz-box-shadow: 2px 2px 5px #000;
-webkit-box-shadow: 2px 2px 5px #000;
box-shadow:2px 2px 5px #000;
overflow: hidden;
}
.sheet-rolltemplate-13thage_background .sheet-header {
background-color:#000;
margin: 2px 25px 2px 25px;
border: 1px solid #000;
color:white;
font-family:"Helvetica Neue",Helvetica,sans-serif;
font-size:1em;
font-weight:bold;
text-align: center;
}
.sheet-rolltemplate-13thage_background .sheet-header a{
color:white;
text-decoration: underline;
}
.sheet-rolltemplate-13thage_background td {
padding:5px;
line-height:1.4em;
vertical-align:top;
text-align:right;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_background tr:nth-child(odd) {
background-color:#D3D3D3;
}
.sheet-rolltemplate-13thage_background td:nth-child(odd) {
text-align:left;
border: none;
padding: 5px;
}
.sheet-rolltemplate-13thage_background .sheet-bold {
font-weight:bold;
}
.sheet-rolltemplate-13thage_background .inlinerollresult {
color: white;
background-color: black;
border-color:black;
}
.sheet-rolltemplate-13thage_background .inlinerollresult.fullcrit {
color: white;
background-color: #3FB315
}
.sheet-rolltemplate-13thage_background .inlinerollresult.fullfail {
color: white;
background-color: #B31515
}
.sheet-rolltemplate-13thage_background .inlinerollresult.importantroll {
color: white;
background-color: #4A57ED;
}
/* power template */
.sheet-rolltemplate-13thage_power table {
width:100%;
+27 -4
View File
@@ -653,7 +653,7 @@
<input style="width:100%;" class="sheet-center" title="@{repeating_background_X_points}" name="attr_points" value="number" type="number" />
</span>
<span style="width:15%" class="sheet-table-data sheet-center">
<button title="Roll background check" class="sheet-round-button" type="roll" value="&{template:13thage_generic} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=Skill check}} {{Background=@{desc}}} ?{Attribute| Strength , &#38;#123;&#38;#123;Attribute=Strength&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{STR-mod}+@{points}]]]]&#38;#125;&#38;#125; | Constitution , &#38;#123;&#38;#123;Attribute=Constitution&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CON-mod}+@{points}]]]]&#38;#125;&#38;#125; | Dexterity , &#38;#123;&#38;#123;Attribute=Dexterity&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{DEX-mod}+@{points}]]]]&#38;#125;&#38;#125; | Intelligence , &#38;#123;&#38;#123;Attribute=Intelligence&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{INT-mod}+@{points}]]]]&#38;#125;&#38;#125; | Wisdom , &#38;#123;&#38;#123;Attribute=Wisdom&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{WIS-mod}+@{points}]]]]&#38;#125;&#38;#125; | Charisma , &#38;#123;&#38;#123;Attribute=Charisma&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CHA-mod}+@{points}]]]]&#38;#125;&#38;#125;}"></button>
<button title="Roll background check" class="sheet-round-button" type="roll" value="&{template:13thage_background} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=Background}} {{background=@{desc}}} ?{Attribute| Strength , &#38;#123;&#38;#123;Attribute=Strength&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{STR-mod}+@{points}]]]]&#38;#125;&#38;#125; | Constitution , &#38;#123;&#38;#123;Attribute=Constitution&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CON-mod}+@{points}]]]]&#38;#125;&#38;#125; | Dexterity , &#38;#123;&#38;#123;Attribute=Dexterity&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{DEX-mod}+@{points}]]]]&#38;#125;&#38;#125; | Intelligence , &#38;#123;&#38;#123;Attribute=Intelligence&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{INT-mod}+@{points}]]]]&#38;#125;&#38;#125; | Wisdom , &#38;#123;&#38;#123;Attribute=Wisdom&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{WIS-mod}+@{points}]]]]&#38;#125;&#38;#125; | Charisma , &#38;#123;&#38;#123;Attribute=Charisma&#38;#125;&#38;#125; &#38;#123;&#38;#123;Check=[[1d20+[[@{level}+@{CHA-mod}+@{points}]]]]&#38;#125;&#38;#125;}"></button>
</span>
</div>
</div>
@@ -981,7 +981,7 @@
<!-- roll templates -->
<!-- generic roll template -->
<rolltemplate class="sheet-rolltemplate-13thage_generic">
<table>
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
@@ -999,9 +999,32 @@
</table>
</rolltemplate>
<!-- background roll template -->
<rolltemplate class="sheet-rolltemplate-13thage_background">
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
{{^character_id}}{{character_name}}{{/character_id}}
{{#name}}:{{/name}}
{{/character_name}}
{{#name}}
{{#name_link}}[{{name}}]({{name_link}}){{/name_link}}
{{^name_link}}{{name}}{{/name_link}}
{{/name}}
</td></tr>
{{#background}}
<tr><td colspan="2">{{background}}</td></tr>
{{/background}}
{{#allprops() character_name character_id name_link background}}
<tr><td class="sheet-bold">{{key}}</td><td>{{value}}</td></tr>
{{/allprops() character_name character_id name_link background}}
</table>
</rolltemplate>
<!-- power roll template -->
<rolltemplate class="sheet-rolltemplate-13thage_power">
<table>
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
@@ -1027,7 +1050,7 @@
<!-- block text roll templates -->
<rolltemplate class="sheet-rolltemplate-13thage_block">
<table>
<table class="sheet-rt-table">
<tr><td colspan="2" class="sheet-header">
{{#character_name}}
{{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -3,7 +3,7 @@
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
<link href="base.css" rel="stylesheet">
<link href="editor.css" rel="stylesheet">
<link href="app.css" rel="stylesheet">
<link href="13th_Age-neovatar.css" rel="stylesheet">
<title></title>
</head>