@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700&family=Oswald:wght@500;600&display=swap");:root{--void:#020912;--deep:#061521;--panel:rgba(8,30,43,.72);--panel-solid:#0a2230;--cyan:#4de9ff;--cyan-soft:rgba(77,233,255,.14);--green:#71ffb2;--green-soft:rgba(113,255,178,.13);--danger:#ff6978;--ink:#f4fdff;--muted:#a8c8d0;--line:rgba(84,218,240,.2)}*{box-sizing:border-box}html{background:var(--void)}body{margin:0;min-width:320px;color:var(--ink);font-family:Manrope,Arial,sans-serif;background:radial-gradient(circle at 50% -20%,#123a4d 0,transparent 42%),linear-gradient(rgba(48,184,215,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(48,184,215,.035) 1px,transparent 1px),var(--void);background-size:auto,38px 38px,38px 38px,auto}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(120,236,255,.07) 4px)}::selection{background:var(--cyan);color:var(--void)}main{position:relative;max-width:1680px;min-height:100vh;margin:auto;overflow:hidden;background:rgba(1,10,18,.58);border-inline:1px solid rgba(77,233,255,.08);box-shadow:0 0 100px #000}main:after{content:"";position:absolute;top:76px;right:-130px;width:320px;height:320px;border:1px solid rgba(77,233,255,.1);border-radius:50%;box-shadow:inset 0 0 60px rgba(77,233,255,.03),0 0 0 45px rgba(77,233,255,.015),0 0 0 90px rgba(77,233,255,.01);pointer-events:none}header{height:64px;justify-content:space-between;padding:0 26px;background:rgba(3,15,25,.86);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,header{display:flex;align-items:center}.brand{gap:14px}.brand i{width:39px;height:39px;display:grid;place-items:center;color:var(--cyan);font:500 20px DM Mono;font-style:normal;border:1px solid var(--cyan);border-radius:50%;box-shadow:0 0 18px rgba(77,233,255,.28),inset 0 0 12px rgba(77,233,255,.13);text-shadow:0 0 8px var(--cyan)}.brand span{font:500 15px Oswald;letter-spacing:3px;color:#ebfdff}.brand small{display:block;margin-top:3px;color:#4f7e8b;font:8px DM Mono;letter-spacing:2px}.actions{display:flex;align-items:center;gap:10px}.saveDot{margin-right:12px;color:var(--green);font:9px DM Mono;text-shadow:0 0 8px rgba(113,255,178,.65)}.saveDot,button{letter-spacing:.08em}button{border:0;cursor:pointer;font:600 11px Manrope;text-transform:uppercase}.ghost,.gold{padding:10px 16px;color:var(--ink);border-radius:2px;transition:.2s ease}.ghost{background:rgba(77,233,255,.04);border:1px solid rgba(77,233,255,.28)}.gold{color:#001318;background:var(--green);box-shadow:0 0 20px rgba(113,255,178,.16)}.ghost:hover{color:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 0 18px var(--cyan-soft)}.gold:disabled{opacity:.6;cursor:wait}.gold:hover{box-shadow:0 0 24px rgba(113,255,178,.38)}.hero{position:relative;min-height:175px;padding:28px 27px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,rgba(8,33,47,.82),rgba(3,15,26,.4)),radial-gradient(circle at 85% 50%,rgba(77,233,255,.12),transparent 28%);border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;left:0;top:38px;bottom:38px;width:2px;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}.hero p{color:#6d9ba7;font:9px DM Mono;letter-spacing:2px}.hero em{color:var(--green);font-style:normal}.name{display:block;width:min(650px,58vw);padding:0 0 5px;outline:none;color:#effeff;background:transparent;border:0;border-bottom:1px solid transparent;font:600 49px Oswald;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 0 25px rgba(77,233,255,.16)}.name:focus{border-color:var(--cyan)}.hero .subtitle{color:#79a5af;font:12px Manrope;letter-spacing:.04em}.vitals{display:flex;gap:10px;position:relative;z-index:1}.vitals>span{width:110px;padding:14px;color:#6e9ba5;background:linear-gradient(145deg,rgba(14,50,64,.76),rgba(5,25,35,.72));border:1px solid rgba(77,233,255,.18);border-top:1px solid var(--cyan);-webkit-clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);box-shadow:inset 0 0 24px rgba(77,233,255,.04);font:8px DM Mono;letter-spacing:1px}.vitals>span:nth-child(2){border-top-color:var(--green)}.vitals b{margin-top:6px}.vitals small{color:#648995;font-size:12px}nav{height:50px;padding:0 27px;display:flex;background:rgba(4,17,27,.74);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}nav button{position:relative;margin-right:32px;color:#527985;background:transparent}nav button:hover{color:#bcecf2}nav button.active{color:var(--cyan);text-shadow:0 0 12px rgba(77,233,255,.4)}nav button.active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:12px;gap:12px;padding:16px 26px 0}.layout>.card,.layout>aside>.card,.layout>div>.card{margin:0 0 18px}.card{position:relative;padding:16px;margin:16px 26px;background:linear-gradient(145deg,rgba(10,35,48,.76),rgba(4,19,29,.72));border:1px solid var(--line);border-radius:2px;box-shadow:inset 0 1px rgba(180,247,255,.04),0 14px 40px rgba(0,0,0,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))}.card:before{content:"";position:absolute;top:-1px;left:22px;width:42px;height:1px;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.cardTitle{display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;margin-bottom:12px;border-bottom:1px solid rgba(77,233,255,.14)}.cardTitle h2{margin:0;color:#c9f8fd;font:500 16px Oswald;letter-spacing:1.5px;text-transform:uppercase}.cardTitle span{padding:4px 7px;color:var(--green);border:1px solid rgba(113,255,178,.28);font:9px DM Mono;box-shadow:inset 0 0 8px rgba(113,255,178,.05)}.grid2,.grid3,.grid4{display:grid;grid-gap:9px;gap:9px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr);margin-top:13px}.field{display:block;margin-bottom:8px}.field span{display:block;margin-bottom:6px;color:#a7cbd3;font:8px DM Mono;letter-spacing:1px;text-transform:uppercase}.field input,.field textarea,.skill input,.stat>input,.weapon input{width:100%;padding:7px 9px;outline:none;color:#d9faff;background:rgba(1,12,20,.62);border:1px solid rgba(104,194,211,.2);border-radius:2px;font:13px Manrope;transition:.15s ease}.field input:focus,.field textarea:focus,.skill input:focus,.stat>input:focus,.weapon input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(77,233,255,.07),inset 0 0 16px rgba(77,233,255,.04)}.field textarea{min-height:150px;resize:vertical}.abilities{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:9px;gap:9px}.abilities label{padding:11px;text-align:center;background:rgba(2,17,26,.58);border:1px solid rgba(77,233,255,.15)}.abilities span{display:block;color:#7ba3ad;font:10px Oswald;letter-spacing:1px}.abilities input{width:54px;margin:7px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #245363;text-align:center;font:22px Oswald}.abilities b{display:block;color:var(--green);font:13px DM Mono;text-shadow:0 0 8px rgba(113,255,178,.4)}.abilityHead,.abilityRows>div{display:grid;grid-template-columns:1.2fr repeat(4,1fr);grid-gap:9px;gap:9px;align-items:center}.abilityHead{padding:0 8px 8px;color:#a7cbd3;font:8px DM Mono;text-transform:uppercase}.abilityRows>div{padding:7px 8px;border-top:1px solid var(--line)}.abilityRows b{color:#fff;font:16px Oswald}.abilityRows input,.saveFields input{width:100%;padding:8px;color:#fff;background:rgba(1,12,20,.62);border:1px solid rgba(104,194,211,.28);outline:none}.calcFields{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:12px 0 20px}.calcValue{padding:9px;color:var(--cyan);background:rgba(1,12,20,.62);border:1px solid rgba(104,194,211,.2)}.saveTable{--save-columns:minmax(100px,1.3fr) 70px 64px minmax(75px,1fr) repeat(4,minmax(62px,1fr));overflow-x:auto}.saveHead,.saveRow{display:grid;grid-template-columns:var(--save-columns);grid-gap:8px;gap:8px;align-items:center;min-width:650px;padding:8px}.saveHead{color:#a7cbd3;font:8px DM Mono;text-transform:uppercase}.saveRow{border-top:1px solid var(--line)}.saveRow>input,.saveRow>select,.saveTotal>input{min-width:0;width:100%;padding:8px;color:#fff;background:rgba(1,12,20,.62);border:1px solid rgba(104,194,211,.28);outline:none}.saveRow>b{color:var(--green);text-align:center}.saveName{font:600 13px Manrope}.saveTotal{display:grid;grid-gap:5px;gap:5px;min-width:0}.saveTotal>input{width:100%}.saveTotalHeading{color:var(--cyan);text-align:center}.saveOverrideHeading{text-align:center}.saveOverride{display:flex;justify-content:center}.saveOverride input{width:16px;height:16px;margin:0;accent-color:var(--cyan)}.stat{min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) 54px 86px 65px;grid-gap:12px;gap:12px;align-items:center;border-bottom:1px solid rgba(77,233,255,.1)}.stat span{font:600 13px Manrope}.stat small{display:block;margin-top:3px;color:#537b86;font:8px DM Mono}.override{color:#648793;font:8px DM Mono}.stat>input{padding:6px}.hint{color:var(--muted);font-size:12px}.visibilityControls{margin:16px 26px;padding:12px 16px;border:1px solid var(--line);background:var(--panel)}.visibilityControls .hint{margin:10px 0 0;line-height:1.6}.visibilityControls button{max-width:100%;line-height:1.6}.forceFeatChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line)}.forceFeatChoices legend{padding:0 6px;color:var(--muted);font-size:12px}.forceFeatChoices label{display:flex;align-items:center;gap:9px;min-height:32px;font-size:13px;cursor:pointer}.forceFeatChoices input{width:18px;height:18px;margin:0;accent-color:var(--cyan);flex-shrink:0}.powerPrerequisites{margin:14px 12px 7px;color:var(--muted);font-size:11px;line-height:1.6}.metFeats{color:var(--green)}.missingFeats{color:var(--danger)}.skillSections{margin-bottom:24px}.skill,.skillHead{display:grid;grid-template-columns:minmax(230px,1fr) 90px 70px 76px 70px 70px 90px;grid-gap:10px;gap:10px;align-items:center}.skillHead{padding:8px 12px;color:#567f89;font:8px DM Mono;text-transform:uppercase}.skill{position:relative;padding:7px 12px;border-top:1px solid rgba(77,233,255,.09)}.powerDescription{margin:0 12px 12px;padding:10px 12px;border-left:2px solid var(--line);background:rgba(1,12,20,.35)}.powerDescription summary{color:var(--cyan);cursor:pointer;font-size:12px;overflow-wrap:anywhere}.powerDescription summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.descriptionOverride{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;line-height:1.5}.descriptionOverride input{width:16px;height:16px;accent-color:var(--cyan);flex-shrink:0}.powerDescription .field{margin:14px 0 0}.powerDescription textarea{min-height:180px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.powerMarkdown{margin-top:16px;padding:18px;color:var(--ink);background:rgba(1,12,20,.5);border:1px solid var(--line);font-size:13px;line-height:1.75;overflow-x:auto;overflow-wrap:anywhere}.powerMarkdown h1,.powerMarkdown h2,.powerMarkdown h3,.powerMarkdown h4{margin:22px 0 8px;color:var(--cyan);font:500 17px Oswald;letter-spacing:.05em}.powerMarkdown .powerRuleTitle{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:23px}.powerMarkdown p{margin:10px 0;white-space:pre-wrap}.powerMarkdown strong{color:#e5fbff}.powerMarkdown table{width:100%;margin:14px 0;border-collapse:collapse;font-size:12px}.powerMarkdown td,.powerMarkdown th{padding:9px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.powerMarkdown th{color:var(--cyan);background:var(--cyan-soft);font-weight:600}.powerMarkdown tr:nth-child(2n){background:rgba(77,233,255,.035)}.powerMarkdown ol,.powerMarkdown ul{padding-left:24px}.powerMarkdown li{margin:6px 0}.powerMarkdown blockquote{margin:14px 0;padding-left:14px;border-left:2px solid var(--cyan);color:var(--muted)}.powerMarkdown pre{overflow-x:auto}.skill:hover{background:rgba(77,233,255,.025)}.skill select{width:100%;padding:7px 5px;color:#d9faff;background:rgba(1,12,20,.62);border:1px solid rgba(104,194,211,.2);border-radius:2px}.skill .totalValue,.totalValue,input.totalValue{display:block;min-width:0;padding:6px 4px;color:var(--cyan);background:var(--cyan-soft);border:1px solid var(--cyan);border-radius:2px;text-align:center;font:600 18px Oswald;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skillTotalCell{display:grid;grid-gap:5px;gap:5px;min-width:0}.skillOverride{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);font:8px Manrope;cursor:pointer}.skillOverride input{width:12px;height:12px;padding:0;margin:0;accent-color:var(--cyan);flex-shrink:0}.skillTotalHeading{color:var(--cyan);text-align:center}.skillName{position:relative;display:flex;align-items:center}.skillName>input{padding-right:34px}.untrainedMark{color:var(--cyan);font:18px/1 sans-serif;text-shadow:0 0 8px rgba(77,233,255,.5)}.skillName .untrainedMark{position:absolute;right:9px}.hint .untrainedMark{margin-right:4px;vertical-align:-2px}.crossClass{display:flex;justify-content:center}.crossClass input{width:16px;height:16px;accent-color:var(--cyan)}.rankField{position:relative}.rankField>input{width:100%}.rankTooltip{position:absolute;z-index:4;left:50%;bottom:calc(100% + 8px);width:210px;padding:8px 10px;transform:translateX(-50%);color:#e7fbff;background:#102f3a;border:1px solid var(--cyan);box-shadow:0 8px 24px #000;font:10px/1.4 Manrope;text-align:center}.addSkill{margin:14px 12px 2px;padding:10px 14px;color:var(--cyan);background:var(--cyan-soft);border:1px solid rgba(77,233,255,.35)}.weapon,.weaponHead{display:grid;grid-template-columns:1.4fr repeat(5,1fr) 1.7fr;grid-gap:8px;gap:8px}.weaponHead{padding:0 5px 7px;color:#567f89;font:8px DM Mono;text-transform:uppercase}.weapon input{min-width:0;margin-bottom:7px;padding:8px}.movementGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 10px;gap:0 10px}.loadTable{margin:8px 0 16px;border:1px solid var(--line)}.loadTable>div{display:grid;grid-template-columns:.8fr 1.5fr repeat(3,.7fr);align-items:center;min-height:34px;border-bottom:1px solid var(--line);text-align:center}.loadTable>div:last-child{border:0}.loadTable b{color:#638c97;font:7px DM Mono;text-transform:uppercase}.loadTable span{font-size:10px}.gearRow input,.loadTable input{min-width:0;height:34px;padding:7px;color:var(--ink);background:rgba(1,12,20,.62);border:0;border-inline:1px solid var(--line);outline:0}.lifting{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px}.lifting span{color:#638c97;font:7px DM Mono;text-align:center;text-transform:uppercase}.lifting b{margin-bottom:5px}.gearSummary{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px;align-items:center}.gearSummary>div{padding:8px;border:1px solid var(--line)}.gearSummary small{display:block;color:#638c97;font:7px DM Mono;text-transform:uppercase}.gearSummary b{margin-top:5px}.gearHead,.gearList{--gear-columns:minmax(120px,1fr) 100px 55px}.gearHead{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 0;color:#567f89;font:8px DM Mono;text-transform:uppercase}.gearHeadGroup,.gearRow{display:grid;grid-template-columns:var(--gear-columns)}.gearHeadGroup>span{padding-inline:7px}.gearHeadGroup:first-child{border-right:1px solid transparent}.gearList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);margin-bottom:16px}.gearRow{border-bottom:1px solid var(--line)}.gearRow:nth-child(odd){border-right:1px solid var(--line)}.addGear,.gearRow input:focus{background:var(--cyan-soft)}.addGear{margin:0 0 18px;padding:10px 14px;color:var(--cyan);border:1px solid rgba(77,233,255,.35)}.wide{margin:16px 26px}.wide .card{margin:0}.wide textarea{min-height:250px}footer{display:flex;align-items:center;gap:25px;margin-top:24px;padding:18px 26px;color:#4d7480;background:rgba(2,13,22,.94);border-top:1px solid var(--line);font:8px DM Mono;letter-spacing:1px}footer span{color:var(--cyan)}footer p{flex:1 1}footer button{color:#668c96;background:transparent;text-decoration:underline}@media (max-width:800px){.visibilityControls{margin:18px}header{padding:0 18px}.saveDot{display:none}.hero{padding:30px 20px;display:block}.name{width:100%;font-size:36px}.vitals{margin-top:24px}.vitals>span{flex:1 1}.layout{display:block;padding:18px}.card{margin:18px;padding:16px}.grid3,.grid4{grid-template-columns:repeat(2,1fr)}.abilities{grid-template-columns:repeat(3,1fr)}nav{padding:0 18px;overflow:auto}nav button{margin-right:22px;white-space:nowrap}.skill,.skillHead{min-width:780px}.card:has(.skill){overflow-x:auto}.weaponHead{display:none}.weapon{grid-template-columns:repeat(2,1fr);padding:10px 0;border-bottom:1px solid var(--cyan)}.wide{margin:18px}.actions .pdfImport{display:none}.gearHead,.gearList{grid-template-columns:1fr}.gearHeadGroup:nth-child(2){display:none}.gearRow:nth-child(odd){border-right:0}.gearSummary{grid-template-columns:1fr 1fr}}@media (max-width:500px){.brand small{display:none}.brand span{font-size:13px}.actions{gap:5px}.ghost,.gold{padding-inline:8px;font-size:9px}.hero{min-height:0}.vitals>span{width:auto;padding:10px}.grid2,.grid3,.grid4{grid-template-columns:1fr}footer{padding-inline:18px}footer p{display:none}}